def SubModuleDoFst(): AfaLoggerFunc.tradeInfo("回执个性化处理(本地操作) 进入") #=====校验变量的有效性==== AfaLoggerFunc.tradeInfo("检验变量的有效性") if not TradeContext.existVariable("TRCDAT"): return AfaFlowControl.ExitThisFlow('A099','没有委托日期') if not TradeContext.existVariable("TRCNO"): return AfaFlowControl.ExitThisFlow('A099','没有交易流水号') if not TradeContext.existVariable("SNDBNKCO"): return AfaFlowControl.ExitThisFlow('A099','没有发起行行号') #=====检查是否有对应的请求报文==== AfaLoggerFunc.tradeInfo("检查是否有对应的请求报文") balbka_where_dict = {'TRCDAT':TradeContext.ORMFN[10:18],'TRCNO':TradeContext.ORMFN[18:],'SNDMBRCO':TradeContext.ORMFN[:10]} res = rccpsDBTrcc_balbka.selectu(balbka_where_dict) if( res == None ): return AfaFlowControl.ExitThisFlow('A099','检查对应的请求报文失败') if( len(res) == 0 ): return AfaFlowControl.ExitThisFlow('A099','没有对应的请求报文') #=====组织更新字典==== AfaLoggerFunc.tradeInfo("开始组织更新字典") update_dict = {} update_dict['AVLBAL'] = TradeContext.AVLBAL update_dict['ACCBAL'] = TradeContext.ACCBAL update_dict['PRCCO'] = TradeContext.PRCCO #update_dict['PRCINFO'] = "AFE发送成功,已收到应答报文" update_dict['STRINFO'] = TradeContext.STRINFO where_dict = {} where_dict['TRCDAT'] = TradeContext.TRCDAT where_dict['TRCNO'] = TradeContext.TRCNO where_dict['SNDBNKCO'] = TradeContext.SNDBNKCO #=====更新余额查询登记簿==== AfaLoggerFunc.tradeInfo("更新余额查询登记簿") res = rccpsDBTrcc_balbka.updateCmt(update_dict,where_dict) if( res == -1 ): return AfaFlowControl.ExitThisFlow('A009','更新余额查询登记簿失败') TradeContext.errorCode = '0000' TradeContext.errorMsg = '交易成功' AfaLoggerFunc.tradeInfo("回执个性化处理(本地操作) 退出") return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统:往账.回执类操作(1.回执操作).通存通兑业务回执报文接收[TRC004_1147]进入***' ) #=================初始化返回信息============================================ if AfaUtilTools.trim(TradeContext.STRINFO) == "": TradeContext.STRINFO = rccpsDBFunc.getErrInfo(TradeContext.PRCCO) AfaLoggerFunc.tradeDebug("TradeContext.STRINFO=" + TradeContext.STRINFO) #=================匹配原交易信息=========================================== wtrbka_where_dict = {} wtrbka_where_dict['MSGFLGNO'] = TradeContext.ORMFN wtrbka_dict = {} wtrbka_dict = rccpsDBTrcc_wtrbka.selectu(wtrbka_where_dict) if wtrbka_dict == None: return AfaFlowControl.ExitThisFlow('S999', "查询通存通兑业务信息登记簿异常") if len(wtrbka_dict) > 0: TradeContext.BJEDTE = wtrbka_dict['BJEDTE'] TradeContext.BSPSQN = wtrbka_dict['BSPSQN'] TradeContext.TRCCO = wtrbka_dict['TRCCO'] TradeContext.BESBNO = wtrbka_dict['BESBNO'] TradeContext.BETELR = wtrbka_dict['BETELR'] TradeContext.OCCAMT = str(wtrbka_dict['OCCAMT']) TradeContext.CHRGTYP = wtrbka_dict['CHRGTYP'] TradeContext.LOCCUSCHRG = str(wtrbka_dict['CUSCHRG']) TradeContext.PYETYP = wtrbka_dict['PYETYP'] TradeContext.PYEACC = wtrbka_dict['PYEACC'] TradeContext.PYENAM = wtrbka_dict['PYENAM'] TradeContext.PYRTYP = wtrbka_dict['PYRTYP'] TradeContext.PYRACC = wtrbka_dict['PYRACC'] TradeContext.PYRNAM = wtrbka_dict['PYRNAM'] TradeContext.CERTTYPE = wtrbka_dict['CERTTYPE'] TradeContext.CERTNO = wtrbka_dict['CERTNO'] TradeContext.TERMID = wtrbka_dict['TERMID'] TradeContext.WARNTNO = wtrbka_dict['BNKBKNO'] #============设置原交易状态为拒绝====================================== AfaLoggerFunc.tradeInfo(">>>开始设置原交易业务状态为拒绝处理中") if not rccpsState.newTransState(TradeContext.BJEDTE,TradeContext.BSPSQN,PL_BCSTAT_MFERFE,PL_BDWFLG_WAIT): return AfaFlowControl.ExitThisFlow('S999',"设置业务状态为拒绝处理中异常") AfaLoggerFunc.tradeInfo(">>>结束设置原交易业务状态为拒绝处理中") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") AfaLoggerFunc.tradeInfo(">>>Commit成功") AfaLoggerFunc.tradeInfo(">>>开始设置原交易业务状态为拒绝成功") stat_dict = {} stat_dict['BJEDTE'] = TradeContext.BJEDTE stat_dict['BSPSQN'] = TradeContext.BSPSQN stat_dict['BCSTAT'] = PL_BCSTAT_MFERFE stat_dict['BDWFLG'] = PL_BDWFLG_SUCC stat_dict['PRCCO'] = TradeContext.PRCCO stat_dict['STRINFO'] = TradeContext.STRINFO if not rccpsState.setTransState(stat_dict): return AfaFlowControl.ExitThisFlow('S999', "设置业务状态为拒绝成功异常") AfaLoggerFunc.tradeInfo(">>>结束设置原交易业务状态为拒绝成功") else: AfaLoggerFunc.tradeInfo(">>>通存通兑业务登记簿中未找到原请求交易信息,开始查询原存款确认信息") wtrbka_where_dict = {} wtrbka_where_dict['COMSGFLGNO'] = TradeContext.ORMFN wtrbka_dict = {} wtrbka_dict = rccpsDBTrcc_wtrbka.selectu(wtrbka_where_dict) if wtrbka_dict == None: return AfaFlowControl.ExitThisFlow('S999', "查询通存通兑业务信息登记簿异常") if len(wtrbka_dict) > 0: TradeContext.BJEDTE = wtrbka_dict['BJEDTE'] TradeContext.BSPSQN = wtrbka_dict['BSPSQN'] TradeContext.TRCCO = wtrbka_dict['TRCCO'] TradeContext.BESBNO = wtrbka_dict['BESBNO'] TradeContext.BETELR = wtrbka_dict['BETELR'] TradeContext.OCCAMT = str(wtrbka_dict['OCCAMT']) TradeContext.CHRGTYP = wtrbka_dict['CHRGTYP'] TradeContext.LOCCUSCHRG = str(wtrbka_dict['CUSCHRG']) TradeContext.PYETYP = wtrbka_dict['PYETYP'] TradeContext.PYEACC = wtrbka_dict['PYEACC'] TradeContext.PYENAM = wtrbka_dict['PYENAM'] TradeContext.PYRTYP = wtrbka_dict['PYRTYP'] TradeContext.PYRACC = wtrbka_dict['PYRACC'] TradeContext.PYRNAM = wtrbka_dict['PYRNAM'] TradeContext.CERTTYPE = wtrbka_dict['CERTTYPE'] TradeContext.CERTNO = wtrbka_dict['CERTNO'] TradeContext.TERMID = wtrbka_dict['TERMID'] TradeContext.WARNTNO = wtrbka_dict['BNKBKNO'] #============设置原交易状态为拒绝====================================== AfaLoggerFunc.tradeInfo(">>>开始设置原交易业务状态为拒绝处理中") if not rccpsState.newTransState(TradeContext.BJEDTE,TradeContext.BSPSQN,PL_BCSTAT_MFERFE,PL_BDWFLG_WAIT): return AfaFlowControl.ExitThisFlow('S999',"设置业务状态为拒绝处理中异常") AfaLoggerFunc.tradeInfo(">>>结束设置原交易业务状态为拒绝处理中") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") AfaLoggerFunc.tradeInfo(">>>Commit成功") AfaLoggerFunc.tradeInfo(">>>开始设置原交易业务状态为拒绝成功") stat_dict = {} stat_dict['BJEDTE'] = TradeContext.BJEDTE stat_dict['BSPSQN'] = TradeContext.BSPSQN stat_dict['BESBNO'] = TradeContext.BESBNO stat_dict['BETELR'] = TradeContext.BETELR stat_dict['BCSTAT'] = PL_BCSTAT_MFERFE stat_dict['BDWFLG'] = PL_BDWFLG_SUCC stat_dict['PRCCO'] = TradeContext.PRCCO stat_dict['STRINFO'] = TradeContext.STRINFO if not rccpsState.setTransState(stat_dict): return AfaFlowControl.ExitThisFlow('S999', "设置业务状态为拒绝成功异常") AfaLoggerFunc.tradeInfo(">>>结束设置原交易业务状态为拒绝成功") else: AfaLoggerFunc.tradeInfo(">>>通存通兑业务登记簿中未找到原存款确认信息,开始查询余额查询登记簿") balbka_where_dict = {} balbka_where_dict['MSGFLGNO'] = TradeContext.ORMFN balbka_dict = {} balbka_dict = rccpsDBTrcc_balbka.selectu(balbka_where_dict) if balbka_dict == None: return AfaFlowControl.ExitThisFlow('S999', "查询余额查询登记簿异常") if len(balbka_dict) > 0: TradeContext.TRCCO = balbka_dict['TRCCO'] #=====更新原余额查询交易返回码================================= AfaLoggerFunc.tradeInfo(">>>开始更新原余额查询交易返回码") balbka_update_dict = {} balbka_update_dict['PRCCO'] = TradeContext.PRCCO balbka_update_dict['STRINFO'] = TradeContext.STRINFO ret = rccpsDBTrcc_balbka.update(balbka_update_dict,balbka_where_dict) if ret <= 0: return AfaFlowControl.ExitThisFlow('S999', "更新原余额查询交易返回码异常") AfaLoggerFunc.tradeInfo(">>>结束更新原余额查询交易返回码") else: AfaLoggerFunc.tradeInfo(">>>余额查询登记簿中未找到原交易信息,开始查询自动冲正登记簿") atcbka_where_dict = {} atcbka_where_dict['MSGFLGNO'] = TradeContext.ORMFN atcbka_dict = {} atcbka_dict = rccpsDBTrcc_atcbka.selectu(atcbka_where_dict) if atcbka_dict == None: return AfaFlowControl.ExitThisFlow('S999', "查询自动冲正登记簿异常") if len(atcbka_dict) > 0: TradeContext.BOJEDT = atcbka_dict['BOJEDT'] TradeContext.BOSPSQ = atcbka_dict['BOSPSQ'] TradeContext.TRCCO = atcbka_dict['TRCCO'] #====更新自动冲正交易返回码================================ AfaLoggerFunc.tradeInfo(">>>开始更新原自动冲正交易返回码") atcbka_update_dict = {} atcbka_update_dict['PRCCO'] = TradeContext.PRCCO atcbka_update_dict['STRINFO'] = TradeContext.STRINFO ret = rccpsDBTrcc_atcbka.update(atcbka_update_dict,atcbka_where_dict) if ret<= 0: return AfaFlowControl.ExitThisFlow('S999', "更新原冲正交易返回码异常") AfaLoggerFunc.tradeInfo(">>>结束更新原自动冲正交易返回码") #====设置原被冲正交易业务状态为冲正失败================ #AfaLoggerFunc.tradeInfo(">>>开始设置原被冲正交易业务状态为冲正失败") # #stat_dict = {} #stat_dict['BJEDTE'] = TradeContext.BOJEDT #stat_dict['BSPSQN'] = TradeContext.BOSPSQ #stat_dict['BCSTAT'] = PL_BCSTAT_CANC #stat_dict['BDWFLG'] = PL_BDWFLG_FAIL #stat_dict['PRCCO'] = TradeContext.PRCCO #stat_dict['STRINFO'] = TradeContext.STRINFO # #if not rccpsState.setTransState(stat_dict): # return AfaFlowControl.ExitThisFlow('S999', "设置业务状态为冲正失败异常") # #AfaLoggerFunc.tradeInfo(">>>结束设置原被冲正交易业务状态为冲正失败") else: AfaLoggerFunc.tradeInfo(">>>自动冲正登记簿中未找到原交易信息,开始查询柜面冲销登记簿") mpcbka_where_dict = {} mpcbka_where_dict['MSGFLGNO'] = TradeContext.ORMFN mpcbka_dict = {} mpcbka_dict = rccpsDBTrcc_mpcbka.selectu(mpcbka_where_dict) if mpcbka_dict == None: return AfaFlowControl.ExitThisFlow('S999', "查询柜面冲销登记簿异常") if len(mpcbka_dict) > 0: TradeContext.BOJEDT = mpcbka_dict['BOJEDT'] TradeContext.BOSPSQ = mpcbka_dict['BOSPSQ'] TradeContext.TRCCO = mpcbka_dict['TRCCO'] TradeContext.ORTRCCO = mpcbka_dict['ORTRCCO'] TradeContext.BESBNO = mpcbka_dict['BESBNO'] TradeContext.BETELR = mpcbka_dict['BETELR'] TradeContext.TERMID = mpcbka_dict['TERMID'] #====更新柜台冲销交易返回码================================ AfaLoggerFunc.tradeInfo(">>>开始更新原柜台冲销交易返回码") mpcbka_update_dict = {} mpcbka_update_dict['PRCCO'] = TradeContext.PRCCO mpcbka_update_dict['STRINFO'] = TradeContext.STRINFO ret = rccpsDBTrcc_mpcbka.update(mpcbka_update_dict,mpcbka_where_dict) if ret <=0: return AfaFlowControl.ExitThisFlow('S999', "更新原柜面冲销交易返回码异常") AfaLoggerFunc.tradeInfo(">>>结束更新原柜面冲销交易返回码") #====设置原被冲销交易业务状态为冲销失败================ #AfaLoggerFunc.tradeInfo(">>>开始设置原被冲销交易业务状态为冲销处理中") # #if not rccpsState.newTransState(TradeContext.BOJEDT,TradeContext.BOSPSQ,PL_BCSTAT_CANC,PL_BDWFLG_WAIT): # return AfaFlowControl.ExitThisFlow('S999', "设置业务状态为冲销失败异常") # #AfaLoggerFunc.tradeInfo(">>>结束设置原被冲销交易业务状态为冲销处理中") # #if not AfaDBFunc.CommitSql( ): # AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) # return AfaFlowControl.ExitThisFlow("S999","Commit异常") #AfaLoggerFunc.tradeInfo(">>>Commit成功") # #AfaLoggerFunc.tradeInfo(">>>开始设置原被冲销交易业务状态为冲销失败") # #stat_dict = {} # #stat_dict['BJEDTE'] = TradeContext.BJEDTE #stat_dict['BSPSQN'] = TradeContext.BSPSQN #stat_dict['PRCCO'] = TradeContext.PRCCO #stat_dict['STRINFO'] = TradeContext.STRINFO #stat_dict['BCSTAT'] = PL_BCSTAT_CANC #stat_dict['BDWFLG'] = PL_BDWFLG_FAIL # #AfaLoggerFunc.tradeInfo(">>>结束设置原被冲销交易业务状态为冲销失败") else: return AfaFlowControl.ExitThisFlow('S999', "未找到原交易信息,丢弃报文") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") AfaLoggerFunc.tradeInfo(">>>Commit成功") #=================若原交易为通存交易,开始自动抹账========================== if TradeContext.TRCCO == '3000002' or TradeContext.TRCCO == '3000003' or TradeContext.TRCCO == '3000004' or TradeContext.TRCCO == '3000005': #=====特殊处理 关彬捷 20081127 调8813抹账,需产生新的前置流水号进行记账==== if rccpsGetFunc.GetRBSQ(PL_BRSFLG_SND) == -1 : return AfaFlowControl.ExisThisFlow('S999',"产生新的前置流水号异常") else: AfaLoggerFunc.tradeInfo(">>>成功产生新的前置流水号") #为抹账赋值会计分录 entries_dict = {} entries_dict['FEDT'] = TradeContext.BJEDTE entries_dict['RBSQ'] = TradeContext.BSPSQN entries_dict['PYRACC'] = TradeContext.PYRACC entries_dict['PYRNAM'] = TradeContext.PYRNAM entries_dict['PYEACC'] = TradeContext.PYEACC entries_dict['PYENAM'] = TradeContext.PYENAM entries_dict['OCCAMT'] = TradeContext.OCCAMT entries_dict['CHRGTYP'] = TradeContext.CHRGTYP entries_dict['CUSCHRG'] = TradeContext.LOCCUSCHRG entries_dict['RCCSMCD'] = PL_RCCSMCD_CX TradeContext.BRSFLG = PL_BRSFLG_SND if TradeContext.TRCCO == '3000002' or TradeContext.TRCCO == '3000004': rccpsEntries.KZTCWZMZ(entries_dict) if TradeContext.TRCCO == '3000003' or TradeContext.TRCCO == '3000005': rccpsEntries.KZBZYWZMZ(entries_dict) #=============设置原交易业务状态为抹账处理中=========================== AfaLoggerFunc.tradeInfo(">>>开始设置原交易业务状态为抹账处理中") #====设置业务状态为抹账处理中==== if not rccpsState.newTransState(TradeContext.BJEDTE,TradeContext.BSPSQN,PL_BCSTAT_HCAC,PL_BDWFLG_WAIT): return AfaFlowControl.ExitThisFlow('S999','设置业务状态为抹账处理中异常') AfaLoggerFunc.tradeInfo(">>>结束设置原交易业务状态为抹账处理中") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") #=============开始发起主机抹账========================================= AfaLoggerFunc.tradeInfo(">>>开始主机抹账") #=====调起抹账主机接口==== rccpsHostFunc.CommHost( TradeContext.HostCode ) AfaLoggerFunc.tradeInfo(">>>结束主机抹账") AfaLoggerFunc.tradeInfo("TradeContext.errorCode = [" + TradeContext.errorCode + "]") stat_dict = {} stat_dict['BJEDTE'] = TradeContext.BJEDTE stat_dict['BSPSQN'] = TradeContext.BSPSQN stat_dict['MGID'] = TradeContext.errorCode stat_dict['STRINFO'] = TradeContext.errorMsg if TradeContext.errorCode == '0000': #=========设置原交易业务状态为抹账成功============================= AfaLoggerFunc.tradeInfo(">>>开始设置业务状态为抹账成功") stat_dict['BCSTAT'] = PL_BCSTAT_HCAC stat_dict['BDWFLG'] = PL_BDWFLG_SUCC stat_dict['TRDT'] = TradeContext.TRDT stat_dict['TLSQ'] = TradeContext.TLSQ stat_dict['PRTCNT'] = 1 if not rccpsState.setTransState(stat_dict): return AfaFlowControl.ExitThisFlow('S999','设置业务状态抹账成功异常') AfaLoggerFunc.tradeInfo(">>>结束设置业务状态为抹账成功") else: #=========设置原交易业务状态为抹账失败============================= AfaLoggerFunc.tradeInfo(">>>开始设置业务状态为抹账失败") stat_dict['BCSTAT'] = PL_BCSTAT_HCAC stat_dict['BDWFLG'] = PL_BDWFLG_FAIL if not rccpsState.setTransState(stat_dict): return AfaFlowControl.ExitThisFlow('S999','设置业务状态抹账成功异常') AfaLoggerFunc.tradeInfo(">>>结束设置业务状态为抹账失败") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") AfaLoggerFunc.tradeInfo( '***农信银系统:往账.回执类操作(1.回执操作).通存通兑业务回执报文接收[TRC004_1147]退出***' ) return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo("'***农信银系统:通存通兑来账接收交易.卡 余额查询[1133] 进入") #=================初始化返回信息============================================ if AfaUtilTools.trim(TradeContext.STRINFO) == "": TradeContext.STRINFO = rccpsDBFunc.getErrInfo(TradeContext.PRCCO) AfaLoggerFunc.tradeDebug("TradeContext.STRINFO=" + TradeContext.STRINFO) AfaLoggerFunc.tradeInfo("交易前处理(登记流水,主机前处理)") #=====判断是否存在重复交易==== AfaLoggerFunc.tradeInfo("判断是否存在重复交易") balbka_dict = {'TRCDAT':TradeContext.TRCDAT,'TRCNO':TradeContext.TRCNO,'SNDBNKCO':TradeContext.SNDBNKCO} record_balbka = rccpsDBTrcc_balbka.selectu(balbka_dict) if( record_balbka == None ): return AfaFlowControl.ExitThisFlow('A009','判断重复交易时查询余额登记簿失败') if( len(record_balbka) > 0 ): #存在重复交易 AfaLoggerFunc.tradeInfo("存在重复交易") #====组织应答报文==== Rcvmbrco = TradeContext.SNDMBRCO Sndmbrco = TradeContext.RCVMBRCO Ormfn = TradeContext.MSGFLGNO #=====报文头==== TradeContext.MSGTYPCO = 'SET010' #报文类代码 TradeContext.RCVMBRCO = Rcvmbrco #接受方成员行号 TradeContext.SNDMBRCO = Sndmbrco #发送方成员行号 TradeContext.SNDBRHCO = TradeContext.BESBNO #发起行网点号 TradeContext.SNDCLKNO = TradeContext.BETELR #发起行柜员号 TradeContext.SNDTRDAT = TradeContext.BJEDTE #发起行交易日期 TradeContext.SNDTRTIM = TradeContext.BJETIM #发起行交易时间 TradeContext.MSGFLGNO = Rcvmbrco+TradeContext.BJEDTE + TradeContext.SerialNo #报文标示号 TradeContext.ORMFN = Ormfn #参考报文标示号 TradeContext.NCCWKDAT = TradeContext.NCCworkDate #中心工作日期 TradeContext.OPRTYPNO = '30' #业务类型 TradeContext.ROPRTPNO = '30' #参考业务类型 TradeContext.TRANTYP = '0' #传输类型 #=====业务要素集==== TradeContext.CURPIN = "" #异地客户密码 TradeContext.PRCCO = "RCCS1105" #返回码 TradeContext.STRINFO = "重复报文" #附言 TradeContext.AVLBAL = record_balbka['AVLBAL'] #可用余额 TradeContext.ACCBAL = record_balbka['ACCBAL'] #账面余额 #=====直接向AFE发送通讯回执==== AfaLoggerFunc.tradeInfo("直接向AFE发送通讯回执") AfaAfeFunc.CommAfe() AfaLoggerFunc.tradeInfo("重复报文,做丢弃处理") return AfaFlowControl.ExitThisFlow('A009','重复报文做丢弃处理') ##############非重复交易################################################################# AfaLoggerFunc.tradeInfo("非重复交易") #=====组织登记余额查询查询登记簿的插入字典==== AfaLoggerFunc.tradeInfo("组织登记余额查询查询登记簿的插入字典") insert_dict = {} insert_dict['BJEDTE'] = TradeContext.BJEDTE insert_dict['BSPSQN'] = TradeContext.BSPSQN insert_dict['BRSFLG'] = PL_BRSFLG_RCV insert_dict['BESBNO'] = TradeContext.BESBNO insert_dict['BEACSB'] = "" #账务机构号 insert_dict['BETELR'] = TradeContext.BETELR insert_dict['BEAUUS'] = "" #授权柜员号 insert_dict['BEAUPS'] = "" #授权柜员密码 insert_dict['TERMID'] = "" #终端号 insert_dict['OPRNO'] = TradeContext.OPRTYPNO #业务类型 insert_dict['OPRATTNO'] = "" #业务属性 insert_dict['NCCWKDAT'] = TradeContext.NCCWKDAT #中心工作日期 insert_dict['TRCCO'] = TradeContext.TRCCO #交易代码 insert_dict['TRCDAT'] = TradeContext.TRCDAT #委托日期 insert_dict['TRCNO'] = TradeContext.TRCNO #交易流水号 insert_dict['MSGFLGNO'] = TradeContext.MSGFLGNO #报文标示号 insert_dict['SNDMBRCO'] = TradeContext.SNDMBRCO #发送方成员行号 insert_dict['RCVMBRCO'] = TradeContext.RCVMBRCO #接受方成员行号 insert_dict['SNDBNKCO'] = TradeContext.SNDBNKCO #发送方行号 insert_dict['SNDBNKNM'] = TradeContext.SNDBNKNM #发送方行名 insert_dict['RCVBNKCO'] = TradeContext.RCVBNKCO #接受方行号 insert_dict['RCVBNKNM'] = TradeContext.RCVBNKNM #接受方行名 insert_dict['CUR'] = '01' #币种 insert_dict['CHRGTYP'] = "" #手续费收取方式 insert_dict['LOCCUSCHRG'] = "" #本地客户手续费 insert_dict['CUSCHRG'] = TradeContext.CUSCHRG #异地客户手续费 insert_dict['PYRACC'] = TradeContext.PYRACC #付款人账号 insert_dict['PYEACC'] = TradeContext.PYEACC #收款人账号 insert_dict['STRINFO'] = TradeContext.STRINFO #附言 insert_dict['CERTTYPE'] = "" #证件类型 insert_dict['CERTNO'] = "" #证件号码 insert_dict['BNKBKNO'] = "" #存折号码 insert_dict['AVLBAL'] = "" #可用余额 insert_dict['ACCBAL'] = "" #账面余额 insert_dict['PRCCO'] = "" #返回码 #insert_dict['PRCINFO'] = "" #返回信息 #=====登记查询登记簿==== AfaLoggerFunc.tradeInfo("开始登记余额查询登记簿") res = rccpsDBTrcc_balbka.insertCmt(insert_dict) if( res == -1 ): return AfaFlowControl.ExitThisFlow('A009','登记余额查询登记簿失败') #解密客户密码 MIMA = ' ' PIN = TradeContext.CURPIN ACC = TradeContext.PYEACC AfaLoggerFunc.tradeDebug('密码[' + PIN + ']') AfaLoggerFunc.tradeDebug('账号[' + ACC + ']') ret = jiami.secDecryptPin(PIN,ACC,MIMA) if ret != 0: AfaLoggerFunc.tradeDebug("ret=[" + str(ret) + "]") AfaLoggerFunc.tradeDebug('调用加密服务器失败') else: TradeContext.CURPIN = MIMA AfaLoggerFunc.tradeDebug('密码new[' + TradeContext.CURPIN + ']') #=====调用主机交易,组织调用主机交易所需要的参数==== AfaLoggerFunc.tradeInfo("为主机交易赋参数") TradeContext.HostCode = '8810' TradeContext.ACCNO = TradeContext.PYEACC TradeContext.PASSWD = TradeContext.CURPIN TradeContext.CFFG = '1' TradeContext.WARNTNO = TradeContext.PYEACC[6:18] AfaLoggerFunc.tradeInfo("交易前处理(登记流水,主机前处理) 结束") return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统:往账.本地类操作(1.本地操作).余额查询登记簿查询[TRCC001_8575]进入***' ) #=====判断输入接口是否存在==== if( not TradeContext.existVariable( "BJEDTE" ) ): return AfaFlowControl.ExitThisFlow('A099', '报单日期[BJEDTE]不存在') if( not TradeContext.existVariable( "BSPSQN" ) ): return AfaFlowControl.ExitThisFlow('A099', '报单序号[BSPSQN]不存在') #=====组织查询字典==== AfaLoggerFunc.tradeInfo(">>>开始组织查询字典") wheresql_dic={} wheresql_dic['BJEDTE']=TradeContext.BJEDTE wheresql_dic['BESBNO']=TradeContext.BESBNO if(len(TradeContext.BSPSQN) != 0): wheresql_dic['BSPSQN']=TradeContext.BSPSQN #=====开始查询数据库==== records=rccpsDBTrcc_balbka.selectu(wheresql_dic) AfaLoggerFunc.tradeDebug('>>>记录['+str(records)+']') if(records==None): return AfaFlowControl.ExitThisFlow('A099','查询失败' ) elif(len(records)==0): return AfaFlowControl.ExitThisFlow('A099','没有查找到数据') else: pass # =====判断返回码==== # if records['PRCCO']!='RCCI0000': # #=====输出接口赋值==== # AfaLoggerFunc.tradeInfo(">>>输出接口赋值") # TradeContext.errorMsg = records['PRCCO'] +' '+ records['PRCINFO'] # if len(TradeContext.errorMsg) != 1: # TradeContext.errorCode = 'A099' # else: # #=====前台判断为此交易码继续轮询==== # TradeContext.errorCode = '9999' # TradeContext.errorMsg = '回车后再次查询结果,请稍候...' # AfaLoggerFunc.tradeDebug(">>>errorMsg["+str(TradeContext.errorMsg)+']') # AfaLoggerFunc.tradeDebug(">>>errorCode["+str(TradeContext.errorCode)+']') # else: # AfaLoggerFunc.tradeInfo(">>>输出接口赋值") # TradeContext.errorCode = '0000' # TradeContext.errorMsg = '成功' # TradeContext.BJEDTE = records['BJEDTE'] # TradeContext.BSPSQN = records['BSPSQN'] # TradeContext.AVLBAL = str(records['AVLBAL']) # TradeContext.ACCBAL = str(records['ACCBAL']) # AfaLoggerFunc.tradeInfo(">>>输出接口赋值") TradeContext.errorCode = '0000' TradeContext.errorMsg = '成功' TradeContext.PRCCO = records['PRCCO'] TradeContext.STRINFO= records['STRINFO'] TradeContext.BJEDTE = records['BJEDTE'] TradeContext.BSPSQN = records['BSPSQN'] TradeContext.AVLBAL = str(records['AVLBAL']) TradeContext.ACCBAL = str(records['ACCBAL']) AfaLoggerFunc.tradeInfo( '***农信银系统:往账.本地类操作(1.本地操作)余额查询登记簿查询[TRCC001_8575]退出***') return True