if not rccpsFtpFunc.getRccps(file_path): rccpsCronFunc.cronExit("S999","下载汇兑对账汇总文件[" + file_path + "]异常") file_path = "settlefile/HDMXCNY1340000008" + NCCWKDAT if not rccpsFtpFunc.getRccps(file_path): rccpsCronFunc.cronExit("S999","下载汇兑对账明细文件[" + file_path + "]异常") AfaLoggerFunc.tradeInfo(">>>结束下载汇兑对账文件") #================关闭汇兑对账文件下载系统调度,打开导入汇兑对账文件系统调度== AfaLoggerFunc.tradeInfo(">>>开始关闭汇兑对账文件下载系统调度,打开导入汇兑对账文件系统调度") if not rccpsCronFunc.closeCron("00031"): rccpsCronFunc.cronExit("S999","关闭汇兑对账文件下载系统调度异常") if not rccpsCronFunc.openCron("00034"): rccpsCronFunc.cronExit("S999","打开汇兑对账明细文件导入系统调度异常") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeInfo( AfaDBFunc.sqlErrMsg ) rccpsCronFunc.cronExit("S999","Commit异常") AfaLoggerFunc.tradeInfo(">>>Commit成功") AfaLoggerFunc.tradeInfo(">>>结束关闭汇兑对账文件下载系统调度,打开导入汇兑对账文件系统调度") AfaLoggerFunc.tradeInfo("***农信银系统: 系统调度类.汇兑对账文件下载[rccpsHDDZGetFile]退出***") except Exception, e: #所有异常
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统:来账.中心类操作(1.本地操作).系统状态变更报文接收[RCC00R6_1121]进入***' ) #=================查询本地相关业务状态的系统状态============================ mbrifa_where_dict = {} mbrifa_where_dict['OPRTYPNO'] = TradeContext.RELOPRTYPNO mbrifa_dict = rccpsDBTrcc_mbrifa.selectu(mbrifa_where_dict) if mbrifa_dict == None: return AfaFlowControl.ExitThisFlow("S999","查询本地系统状态信息异常") if len(mbrifa_dict) <= 0: return AfaFlowControl.ExitThisFlow("S999","无相关业务类型本地系统状态信息") #=================校验报文新工作日期============================================ if int(TradeContext.NWWKDAT) < int(mbrifa_dict['NWWKDAT']): AfaLoggerFunc.tradeInfo("报文新工作日期[" + TradeContext.NWWKDAT + "]在本地新工作日期[" + mbrifa_dict['NWWKDAT'] + "]之前,丢弃此报文,进入下一流程,发送表示成功的通讯回执") #======为通讯回执报文赋值=================================================== out_context_dict = {} out_context_dict['sysType'] = 'rccpst' out_context_dict['TRCCO'] = '9900503' out_context_dict['MSGTYPCO'] = 'SET008' out_context_dict['RCVMBRCO'] = TradeContext.SNDMBRCO out_context_dict['SNDMBRCO'] = TradeContext.RCVMBRCO out_context_dict['SNDBRHCO'] = TradeContext.BESBNO out_context_dict['SNDCLKNO'] = TradeContext.BETELR #out_context_dict['SNDTRDAT'] = TradeContext.BJEDTE #out_context_dict['SNDTRTIM'] = TradeContext.BJETIM #out_context_dict['MSGFLGNO'] = out_context_dict['SNDMBRCO'] + TradeContext.BJEDTE + TradeContext.SerialNo out_context_dict['ORMFN'] = TradeContext.MSGFLGNO out_context_dict['NCCWKDAT'] = TradeContext.NCCworkDate out_context_dict['OPRTYPNO'] = '99' out_context_dict['ROPRTPNO'] = TradeContext.OPRTYPNO out_context_dict['TRANTYP'] = '0' out_context_dict['ORTRCCO'] = TradeContext.TRCCO out_context_dict['PRCCO'] = 'RCCI0000' out_context_dict['STRINFO'] = '过期报文' rccpsMap0000Dout_context2CTradeContext.map(out_context_dict) return True elif int(TradeContext.NWWKDAT) == int(mbrifa_dict['NWWKDAT']): #============报文新工作日期与本地新工作日期相同,校验报文新工作状态====== if int(TradeContext.NWSYSST) <= int(mbrifa_dict['NWSYSST']): AfaLoggerFunc.tradeInfo("报文新工作状态[" + TradeContext.NWSYSST + "]不在本地新工作状态[" + mbrifa_dict['NWSYSST'] + "]之后,丢弃此报文,进入下一流程,发送表示成功的通讯回执") #======为通讯回执报文赋值=================================================== out_context_dict = {} out_context_dict['sysType'] = 'rccpst' out_context_dict['TRCCO'] = '9900503' out_context_dict['MSGTYPCO'] = 'SET008' out_context_dict['RCVMBRCO'] = TradeContext.SNDMBRCO out_context_dict['SNDMBRCO'] = TradeContext.RCVMBRCO out_context_dict['SNDBRHCO'] = TradeContext.BESBNO out_context_dict['SNDCLKNO'] = TradeContext.BETELR out_context_dict['SNDTRDAT'] = TradeContext.BJEDTE out_context_dict['SNDTRTIM'] = TradeContext.BJETIM out_context_dict['MSGFLGNO'] = out_context_dict['SNDMBRCO'] + TradeContext.BJEDTE + TradeContext.SerialNo out_context_dict['ORMFN'] = TradeContext.MSGFLGNO out_context_dict['NCCWKDAT'] = TradeContext.NCCworkDate out_context_dict['OPRTYPNO'] = '99' out_context_dict['ROPRTPNO'] = TradeContext.OPRTYPNO out_context_dict['TRANTYP'] = '0' out_context_dict['ORTRCCO'] = TradeContext.TRCCO out_context_dict['PRCCO'] = 'RCCI0000' out_context_dict['STRINFO'] = '过期报文' rccpsMap0000Dout_context2CTradeContext.map(out_context_dict) return True #增加日切报文后发先至情况的处理 #通存通兑顺序10-20-30-10 if TradeContext.RELOPRTYPNO == "30": if mbrifa_dict['NWSYSST'] == '10' and TradeContext.NWSYSST != '20': return AfaFlowControl.ExitThisFlow("S999","[" + TradeContext.RELOPRTYPNO + "]业务当前业务状态为日间开始[10],但日切报文中变更状态非业务截止准备[20],停止处理") if mbrifa_dict['NWSYSST'] == '20' and TradeContext.NWSYSST != '30': return AfaFlowControl.ExitThisFlow("S999","[" + TradeContext.RELOPRTYPNO + "]业务当前业务状态为业务截止准备[20],但日切报文中变更状态非业务截止[30],停止处理") if mbrifa_dict['NWSYSST'] == '30' and TradeContext.NWSYSST != '10': return AfaFlowControl.ExitThisFlow("S999","[" + TradeContext.RELOPRTYPNO + "]业务当前业务状态为业务截止[30],但日切报文中变更状态非日间开始[10],停止处理") #汇兑汇票顺序10-30-10 else: if mbrifa_dict['NWSYSST'] == '10' and TradeContext.NWSYSST != '30': return AfaFlowControl.ExitThisFlow("S999","[" + TradeContext.RELOPRTYPNO + "]业务当前业务状态为日间开始[10],但日切报文中变更状态非业务截止[30],停止处理") if mbrifa_dict['NWSYSST'] == '30' and TradeContext.NWSYSST != '10': return AfaFlowControl.ExitThisFlow("S999","[" + TradeContext.RELOPRTYPNO + "]业务当前业务状态为业务截止[30],但日切报文中变更状态非日间开始[10],停止处理") mbrifa_update_dict = {} mbrifa_update_dict['ORWKDAT'] = mbrifa_dict['NWWKDAT'] mbrifa_update_dict['ORSYSST'] = mbrifa_dict['NWSYSST'] mbrifa_update_dict['NWWKDAT'] = TradeContext.NWWKDAT mbrifa_update_dict['NWSYSST'] = TradeContext.NWSYSST mbrifa_update_dict['HOLFLG'] = TradeContext.HOLFLG mbrifa_update_dict['NOTE1'] = mbrifa_dict['NWWKDAT'] ret = rccpsDBTrcc_mbrifa.update(mbrifa_update_dict,mbrifa_where_dict) if ret <= 0: if not AfaDBFunc.RollbackSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) AfaLoggerFunc.tradeError(">>>Rollback异常") AfaLoggerFunc.tradeInfo(">>>Rollback成功") return AfaFlowControl.ExitThisFlow("S999","更新系统状态异常") #======若新系统状态为业务截止,则打开对账系统调度============================ if TradeContext.NWSYSST == '30' and TradeContext.HOLFLG == '2': if TradeContext.RELOPRTYPNO == '20': #====打开汇兑对账系统调度======================================= AfaLoggerFunc.tradeInfo(">>>开始打开汇兑对账系统调度") if not rccpsCronFunc.openCron("00031"): if not AfaDBFunc.RollbackSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) AfaLoggerFunc.tradeError(">>>Rollback异常") AfaLoggerFunc.tradeInfo(">>>Rollback成功") return AfaFlowControl.ExitThisFlow("S999","打开汇兑对账系统调度异常") AfaLoggerFunc.tradeInfo(">>>结束打开汇兑对账系统调度") #====打开汇票对账系统调度======================================= AfaLoggerFunc.tradeInfo(">>>开始打开汇票对账系统调度") if not rccpsCronFunc.openCron("00041"): if not AfaDBFunc.RollbackSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) AfaLoggerFunc.tradeError(">>>Rollback异常") AfaLoggerFunc.tradeInfo(">>>Rollback成功") return AfaFlowControl.ExitThisFlow("S999","打开汇票对账系统调度异常") AfaLoggerFunc.tradeInfo(">>>结束打开汇票对账系统调度") elif TradeContext.RELOPRTYPNO == '30': #====打开通存通兑对账系统调度=================================== AfaLoggerFunc.tradeInfo(">>>开始打开通存通兑对账系统调度") if not rccpsCronFunc.openCron("00061"): if not AfaDBFunc.RollbackSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) AfaLoggerFunc.tradeError(">>>Rollback异常") AfaLoggerFunc.tradeInfo(">>>Rollback成功") return AfaFlowControl.ExitThisFlow("S999","打开通存通兑对账系统调度异常") AfaLoggerFunc.tradeInfo(">>>结束打开通存通兑对账系统调度") #====打开信息类业务量统计系统调度====================== AfaLoggerFunc.tradeInfo(">>>开始打开信息类业务量统计系统调度") # if not rccpsCronFunc.openCron("00067"): # if not AfaDBFunc.RollbackSql( ): # AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) # AfaLoggerFunc.tradeError(">>>Rollback异常") # AfaLoggerFunc.tradeInfo(">>>Rollback成功") # return AfaFlowControl.ExitThisFlow("S999","打开信息类业务量统计系统调度异常") # AfaLoggerFunc.tradeInfo(">>>结束打开信息类业务量统计系统调度") #======若通存通兑新系统状态为日间开始,则打开行名行号生效系统调度=================== if TradeContext.NWSYSST == '10' and TradeContext.RELOPRTYPNO == '30': #====开始打开行名行号生效系统调度======================================= AfaLoggerFunc.tradeInfo(">>>开始打开行名行号生效系统调度") if not rccpsCronFunc.openCron("00050"): if not AfaDBFunc.RollbackSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) AfaLoggerFunc.tradeError(">>>Rollback异常") AfaLoggerFunc.tradeInfo(">>>Rollback成功") return AfaFlowControl.ExitThisFlow("S999","打开行名行号生效系统调度异常") AfaLoggerFunc.tradeInfo(">>>结束打开行名行号生效系统调度") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") AfaLoggerFunc.tradeInfo(">>>Commit成功") #======为通讯回执报文赋值=================================================== out_context_dict = {} out_context_dict['sysType'] = 'rccpst' out_context_dict['TRCCO'] = '9900503' out_context_dict['MSGTYPCO'] = 'SET008' out_context_dict['RCVMBRCO'] = TradeContext.SNDMBRCO out_context_dict['SNDMBRCO'] = TradeContext.RCVMBRCO out_context_dict['SNDBRHCO'] = TradeContext.BESBNO out_context_dict['SNDCLKNO'] = TradeContext.BETELR out_context_dict['SNDTRDAT'] = TradeContext.BJEDTE out_context_dict['SNDTRTIM'] = TradeContext.BJETIM out_context_dict['MSGFLGNO'] = out_context_dict['SNDMBRCO'] + TradeContext.BJEDTE + TradeContext.SerialNo out_context_dict['ORMFN'] = TradeContext.MSGFLGNO out_context_dict['NCCWKDAT'] = TradeContext.NCCworkDate out_context_dict['OPRTYPNO'] = '99' out_context_dict['ROPRTPNO'] = TradeContext.OPRTYPNO out_context_dict['TRANTYP'] = '0' out_context_dict['ORTRCCO'] = TradeContext.TRCCO out_context_dict['PRCCO'] = 'RCCI0000' out_context_dict['STRINFO'] = '成功' rccpsMap0000Dout_context2CTradeContext.map(out_context_dict) AfaLoggerFunc.tradeInfo( '***农信银系统:来账.中心类操作(1.本地操作).系统状态变更报文接收[RCC00R6_1121]退出***' ) return True
ret = AfaDBFunc.InsertSql(temp_sql) if ret < 0: AfaLoggerFunc.tradeInfo(AfaDBFunc.sqlErrMsg) rccpsCronFunc.cronExit("S999","对账来账行内未清算,中心清算类型异常") AfaLoggerFunc.tradeInfo(">>>结束对账来账行内未清算,中心清算类型") #================关闭汇票对账明细账勾兑系统调度,打开汇票对账错账处理系统调度== AfaLoggerFunc.tradeInfo(">>>开始关闭汇票对账明细账勾兑系统调度,打开汇票对账错账处理系统调度") if not rccpsCronFunc.closeCron("00043"): AfaLoggerFunc.tradeInfo( AfaDBFunc.sqlErrMsg ) rccpsCronFunc.cronExit("S999","关闭汇票对账明细账勾兑系统调度异常") if not rccpsCronFunc.openCron("00040"): AfaLoggerFunc.tradeInfo( AfaDBFunc.sqlErrMsg ) rccpsCronFunc.cronExit("S999","打开汇票对账错账处理系统调度异常") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeInfo( AfaDBFunc.sqlErrMsg ) rccpsCronFunc.cronExit("S999","Commit异常") AfaLoggerFunc.tradeInfo(">>>Commit成功") AfaLoggerFunc.tradeInfo(">>>结束关闭汇票对账明细账勾兑系统调度,打开汇票对账错账处理系统调度") AfaLoggerFunc.tradeInfo("***农信银系统: 系统调度类.汇票对账明细账勾兑[rccpsHPDZMXCompare]退出***") except Exception, e: #所有异常
#================主机对帐文件转码====================================== AfaLoggerFunc.tradeInfo(">>>开始转码主机对账文件") dFileName = 'rccpsdz' + NCCWKDAT sFileName = 'NXSCA' fldName = 'nxsca.fld' if( not rccpsCronFunc.FormatFile('0', fldName, sFileName, dFileName)): rccpsCronFunc.cronExit('A099', '转换主机对账文件编码异常') AfaLoggerFunc.tradeInfo(">>>结束转码主机对账文件") #================关闭通存通兑主机对账明细账下载系统调度,打开通存通兑主机对账文件导入系统调度== AfaLoggerFunc.tradeInfo(">>>开始关闭通存通兑主机对账明细账下载系统调度,打开通存通兑主机对账文件导入系统调度") if not rccpsCronFunc.closeCron("00068"): AfaLoggerFunc.tradeInfo( AfaDBFunc.sqlErrMsg ) rccpsCronFunc.cronExit("S999","关闭通存通兑对账明细账下载系统调度异常") if not rccpsCronFunc.openCron("00069"): AfaLoggerFunc.tradeInfo( AfaDBFunc.sqlErrMsg ) rccpsCronFunc.cronExit("S999","打开通存通兑对账文件导入系统调度异常") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeInfo( AfaDBFunc.sqlErrMsg ) rccpsCronFunc.cronExit("S999","Commit异常") AfaLoggerFunc.tradeInfo(">>>Commit成功") AfaLoggerFunc.tradeInfo(">>>结束关闭通存通兑主机对账明细账下载系统调度,打开通存通兑主机对账文件导入系统调度") AfaLoggerFunc.tradeInfo("***农信银系统: 系统调度类.通存通兑对账明细账勾兑[rccpsTDDZMXCompare]退出***") except Exception, e: #所有异常
ret = AfaDBFunc.InsertSql(temp_sql) if ret < 0: rccpsCronFunc.cronExit("S999","对账来账,通存业务,中心未确认异常") AfaLoggerFunc.tradeInfo(">>>结束对账来账,通存业务,中心未确认") #================关闭通存通兑对账明细账勾兑系统调度,打开通存通兑对账差错文件上传系统调度== AfaLoggerFunc.tradeInfo(">>>开始关闭通存通兑对账明细账勾兑系统调度,打开通存通兑对账错账处理系统调度") if not rccpsCronFunc.closeCron("00063"): AfaLoggerFunc.tradeInfo( AfaDBFunc.sqlErrMsg ) rccpsCronFunc.cronExit("S999","关闭通存通兑对账明细账勾兑系统调度异常") if not rccpsCronFunc.openCron("00060"): AfaLoggerFunc.tradeInfo( AfaDBFunc.sqlErrMsg ) rccpsCronFunc.cronExit("S999","打开通存通兑对账差错文件上传系统调度异常") if not rccpsCronFunc.openCron("00065"): rccpsCronFunc.cronExit("S999","打开通存通兑结转文件生成及发送到主机调度异常") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeInfo( AfaDBFunc.sqlErrMsg ) rccpsCronFunc.cronExit("S999","Commit异常") AfaLoggerFunc.tradeInfo(">>>Commit成功") AfaLoggerFunc.tradeInfo(">>>结束关闭通存通兑对账明细账勾兑系统调度,打开通存通兑对账差错文件上传系统调度") AfaLoggerFunc.tradeInfo("***农信银系统: 系统调度类.通存通兑对账明细账勾兑[rccpsTDDZMXCompare]退出***")
# # ret = AfaDBFunc.InsertSql(temp_sql) # # if ret < 0: # rccpsCronFunc.cronExit("S999","对账金额不符异常") # # AfaLoggerFunc.tradeInfo(">>>结束对账金额不符") #================关闭通存通兑主机明细账勾兑系统调度,打开通存通兑主机错账处理系统调度== AfaLoggerFunc.tradeInfo(">>>开始关闭通存通兑主机明细账勾兑系统调度,打开通存通兑主机错账处理系统调度") if not rccpsCronFunc.closeCron("00070"): AfaLoggerFunc.tradeInfo( AfaDBFunc.sqlErrMsg ) rccpsCronFunc.cronExit("S999","关闭通存通兑主机明细账勾兑系统调度异常") if not rccpsCronFunc.openCron("00071"): AfaLoggerFunc.tradeInfo( AfaDBFunc.sqlErrMsg ) rccpsCronFunc.cronExit("S999","打开通存通兑主机错账处理系统调度异常") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeInfo( AfaDBFunc.sqlErrMsg ) rccpsCronFunc.cronExit("S999","Commit异常") AfaLoggerFunc.tradeInfo(">>>Commit成功") AfaLoggerFunc.tradeInfo(">>>结束关闭通存通兑主机明细账勾兑系统调度,打开通存通兑主机错账处理系统调度") AfaLoggerFunc.tradeInfo("***农信银系统: 系统调度类.通存通兑主机明细账勾兑[rccpsTDZJDZCompare]退出***") except Exception, e: #所有异常