def GetSerialno( BRSFLG, seqName="RCCPS_SEQ" ): AfaLoggerFunc.tradeDebug( '>>>获取平台流水号' ) #=====是否为往账业务==== if BRSFLG == PL_BRSFLG_SND: #=====判断机构号是否存在==== if( not TradeContext.existVariable( "BESBNO" ) ): raise AfaFlowControl.ExitThisFlow('M999','无机构号,处理失败' ) #=====往账机构号取第3-6位==== TradeContext.Serialno = TradeContext.BESBNO[2:6] AfaLoggerFunc.tradeInfo('>>>开始判断交易代码') #====判断交易代码是否存在(中心7位代码)==== if( not TradeContext.existVariable( "TRCCO" ) ): raise AfaFlowControl.ExitThisFlow('M999','交易代码[TRCCO]字段值不存在' ) #=====判断业务类型,根据交易取不同类型==== AfaLoggerFunc.tradeInfo('>>>开始判断业务类型') if not GetTRCCO(): raise AfaFlowControl.ExitThisFlow('M999','取业务类型失败' ) #=====生成流水号==== AfaLoggerFunc.tradeInfo('>>>开始生成交易流水号') sqlStr = "SELECT NEXTVAL FOR " + seqName + " FROM SYSIBM.SYSDUMMY1" records = AfaDBFunc.SelectSql( sqlStr ) if records == None : raise AfaFlowControl.ExitThisFlow('A0025', AfaDBFun.sqlErrMsg ) #左补"0"(6位) #=====流水号规则:4位机构号+1位业务类型+1位往来账标志+6位顺序号 TradeContext.BSPSQN=TradeContext.Serialno+BRSFLG+str(records[0][0]).rjust(6,'0' ) AfaLoggerFunc.tradeInfo( '平台流水号' + TradeContext.BSPSQN ) return str( records[0][0] )
def selectu( where_dict ): if not chk(where_dict): return None wheresql = "" for where_item in where_dict.keys(): if table_dict[where_item] == 'S': wheresql = wheresql + where_item + " LIKE '" + where_dict[where_item] + "' and " else: wheresql = wheresql + where_item + " = " + str(where_dict[where_item]) + " and " sql = "SELECT BJEDTE,BSPSQN,BCURSQ,BCSTAT,BDWFLG,NOTE1,NOTE2,NOTE3,NOTE4 FROM rcc_spbsta WHERE " + wheresql[0:-5] AfaLoggerFunc.tradeDebug(sql) records = AfaDBFunc.SelectSql( sql ) if (records == None): return None elif (len(records) > 1): AfaLoggerFunc.tradeError("查询结果非唯一,请检查查询条件[" + wheresql[0:-5] + "]") return None elif (len(records) == 0): AfaLoggerFunc.tradeError("查询结果为空,查询条件[" + wheresql[0:-5] + "]") tmp_dict = {} return tmp_dict else: tmp_dict = {} for i in xrange(0,len(table_tuple)): if len(str(records[0][i])) == 0: tmp_dict[table_tuple[i]] = "" else: tmp_dict[table_tuple[i]] = records[0][i] #AfaLoggerFunc.tradeInfo("return return_dict:" + str(tmp_dict)) return tmp_dict
def SubModuleDoSnd(): AfaLoggerFunc.tradeDebug('>>>开始处理AFE返回结果') #=====开始判断afe返回结果==== if TradeContext.errorCode != '0000': return AfaFlowControl.ExitThisFlow('M999','发送农信银中心失败') return True
def selectu( where_dict ): if not chk(where_dict): return None wheresql = "" for where_item in where_dict.keys(): if table_dict[where_item] == 'S': wheresql = wheresql + where_item + " LIKE '" + where_dict[where_item] + "' and " else: wheresql = wheresql + where_item + " = " + str(where_dict[where_item]) + " and " sql = "SELECT BJEDTE,BSPSQN,BCURSQ,BESBNO,BEACSB,BETELR,BEAUUS,FEDT,RBSQ,TRDT,TLSQ,SBAC,ACNM,RBAC,OTNM,DASQ,MGID,PRCCO,STRINFO,BCSTAT,BDWFLG,PRTCNT,BJETIM,NOTE1,NOTE2,NOTE3,NOTE4 FROM rcc_sstlog WHERE " + wheresql[0:-5] AfaLoggerFunc.tradeDebug(sql) records = AfaDBFunc.SelectSql( sql ) if (records == None): return None elif (len(records) > 1): AfaLoggerFunc.tradeError("查询结果非唯一,请检查查询条件[" + wheresql[0:-5] + "]") return None elif (len(records) == 0): AfaLoggerFunc.tradeError("查询结果为空,查询条件[" + wheresql[0:-5] + "]") tmp_dict = {} return tmp_dict else: tmp_dict = {} for i in xrange(0,len(table_tuple)): if len(str(records[0][i])) == 0: tmp_dict[table_tuple[i]] = "" else: tmp_dict[table_tuple[i]] = records[0][i] #AfaLoggerFunc.tradeInfo("return return_dict:" + str(tmp_dict)) return tmp_dict
def SubModuleMainFst( ): try: AfaLoggerFunc.tradeInfo( '进入变更开户行行号[T'+TradeContext.TemplateCode+'_'+TradeContext.TransCode+']' ) #检查原开户行行号是否与数据库中登记的开户行行号一致 sqlStr = "" sqlStr = sqlStr + "SELECT PAYOPBKCODE FROM TIPS_CUSTINFO WHERE TAXORGCODE = '" + TradeContext.taxOrgCode + "'" sqlStr = sqlStr + " AND PAYACCT ='" + TradeContext.payAcct + "'" #sqlStr = sqlStr + " AND PAYOPBKCODE ='" + TradeContext.payBkCode+ "'" sqlStr = sqlStr + " AND PROTOCOLNO ='" +TradeContext.protocolNo+"'" AfaLoggerFunc.tradeInfo(sqlStr) records = AfaDBFunc.SelectSql( sqlStr ) if( records == None ): return TipsFunc.ExitThisFlow( 'A0027', '表操作异常:'+AfaDBFunc.sqlErrMsg ) elif( len( records )==0 ): return TipsFunc.ExitThisFlow( 'A0027', '没有满足条件的数据记录!' ) else: AfaLoggerFunc.tradeDebug("原开户行行号为:" +records[0][0]) if(records[0][0] !=TradeContext.payBkCode): TradeContext.errorCode,TradeContext.errorMsg = "A0001","原开户行行号不正确!" return False #====================更新开户行行号==================== AfaLoggerFunc.tradeInfo(">>>更改开户行行号") update_sql = "" update_sql = "UPDATE TIPS_CUSTINFO SET PAYOPBKCODE = '" + TradeContext.payBkCode1 + "'" update_sql = update_sql + "WHERE TAXORGCODE = '" + TradeContext.taxOrgCode + "'" update_sql = update_sql + " AND PAYACCT ='" + TradeContext.payAcct + "'" update_sql = update_sql + " AND PAYOPBKCODE ='" + TradeContext.payBkCode+ "'" update_sql = update_sql + " AND PROTOCOLNO ='" +TradeContext.protocolNo+"'" AfaLoggerFunc.tradeInfo(update_sql) if AfaDBFunc.UpdateSqlCmt(update_sql)<0: return AfaFlowControl.ExitThisFlow("A0027","更新开户行行号失败!") TradeContext.errorCode,TradeContext.errorMsg = "0000","交易成功" AfaLoggerFunc.tradeInfo( '退出变更开户行行号[T'+TradeContext.TemplateCode+'_'+TradeContext.TransCode+']' ) return True except Exception, e: AfaFlowControl.exitMainFlow(str(e))
def SubModuleDoSnd( ): AfaLoggerFunc.tradeInfo("农信银系统:来账.中心类操作(2.中心回执).柜台冲正来账接收[TRCC006_1144]进入") AfaLoggerFunc.tradeDebug(">>>errorCode[" + TradeContext.errorCode + "]") #=====判断afe返回结果==== if TradeContext.errorCode == '0000': AfaLoggerFunc.tradeInfo('>>>发送回执报文成功') else: AfaLoggerFunc.tradeInfo('>>>发送回执报文失败') AfaLoggerFunc.tradeInfo("农信银系统:来账.中心类操作(2.中心回执).柜台冲正来账接收[TRCC006_1144]进入") return True
def getTransStateCur(BJEDTE,BSPSQN,stat_dict): AfaLoggerFunc.tradeDebug(">>>进入getTransStateCur") #==========获取spbsta当前状态信息及编号===================================== spbsta_where_dict = {} spbsta_where_dict["BJEDTE"] = BJEDTE spbsta_where_dict["BSPSQN"] = BSPSQN spbsta_dict = rccpsDBTrcc_spbsta.selectu(spbsta_where_dict) if spbsta_dict == None: AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) AfaLoggerFunc.tradeFatal("获取交易[" + BJEDTE + "][" + BSPSQN + "]当前状态异常") return AfaFlowControl.ExitThisFlow( 'S999', '获取交易当前状态异常' ) elif len(spbsta_dict) <= 0: AfaLoggerFunc.tradeFatal("当前状态登记簿中无此交易[" + BJEDTE + "][" + BSPSQN + "]状态") return AfaFlowControl.ExitThisFlow( 'S999', '当前状态登记簿中无此交易状态' ) return False #===========获取sstlog对应状态及信息======================================== sstlog_where_dict = {} sstlog_where_dict["BJEDTE"] = spbsta_dict["BJEDTE"] sstlog_where_dict["BSPSQN"] = spbsta_dict["BSPSQN"] sstlog_where_dict["BCURSQ"] = str(spbsta_dict["BCURSQ"]) sstlog_dict = rccpsDBTrcc_sstlog.selectu(sstlog_where_dict) if sstlog_dict == None: AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) AfaLoggerFunc.tradeFatal("获取交易[" + BJEDTE + "][" + BSPSQN + "]当前状态详细信息异常") return AfaFlowControl.ExitThisFlow( 'S999', '获取交易当前状态详细信息异常' ) if len(sstlog_dict) <= 0: AfaLoggerFunc.tradeFatal("流水状态登记簿中无此交易[" + BJEDTE + "][" + BSPSQN + "]当前状态详细信息") return AfaFlowControl.ExitThisFlow( 'S999', '流水状态登记簿中无此交易当前状态详细信息' ) if not rccpsMap0000Dsstlog2Dstat_dict.map(sstlog_dict,stat_dict): AfaLoggerFunc.tradeFatal("将查询出的交易[" + BJEDTE + "][" + BSPSQN + "]业务状态详细信息赋值到输出字典异常") return AfaFlowControl.ExitThisFlow( 'S999', '将查询出的业务状态详细信息赋值到输出字典异常' ) AfaLoggerFunc.tradeDebug(">>>结束getTransStateCur") return True
def GetRccSerialno( seqName="RCC_SEQ" ): AfaLoggerFunc.tradeDebug( '>>>开始生成交易流水号' ) #=====判断交易代码是否存在==== if not TradeContext.existVariable("TRCCO"): return AfaFlowControl.ExitThisFlow('M999', '交易代码不存在') elif (TradeContext.TRCCO=='2000009' or TradeContext.TRCCO=='9900522' or TradeContext.TRCCO=='9900523' or TradeContext.TRCCO=='9900524'): #=====生成4位的流水号==== sqlStr = "SELECT NEXTVAL FOR TYHD_SEQ FROM SYSIBM.SYSDUMMY1" records = AfaDBFunc.SelectSql( sqlStr ) if records == None : raise AfaFlowControl.ExitThisFlow('A0025', AfaDBFun.sqlErrMsg ) TradeContext.SerialNo=str( records[0][0] ).rjust( 8, '0' ) else: #=====生成流水号==== sqlStr = "SELECT NEXTVAL FOR " + seqName + " FROM SYSIBM.SYSDUMMY1" records = AfaDBFunc.SelectSql( sqlStr ) if records == None : raise AfaFlowControl.ExitThisFlow('A0025', AfaDBFun.sqlErrMsg ) TradeContext.SerialNo=str( records[0][0] ).rjust( 8, '0' ) AfaLoggerFunc.tradeInfo( '交易流水号' + TradeContext.SerialNo ) return TradeContext.SerialNo
def stop(): try: AfaLoggerFunc.tradeInfo('RunSign='+TradeContext.RunSign+' 停运调度') if( TradeContext.existVariable( "StopRunTime" ) and len(TradeContext.StopRunTime)<=0 ): return TipsFunc.ExitThisFlow( 'A0001', '[StopRunTime]值不存在!' ) year=(TradeContext.StopRunTime)[0:4] month=(TradeContext.StopRunTime)[4:6] day=(TradeContext.StopRunTime)[6:8] hour=(TradeContext.StopRunTime)[8:10] minute=(TradeContext.StopRunTime)[10:12] sql="UPDATE AFA_CRONADM " sql=sql+" SET YEAR = '"+year+"', " sql=sql+" MONTH = '"+month+"', " sql=sql+" DAY = '"+day+"', " sql=sql+" HOUR = '"+hour+"', " sql=sql+" MINUTE = '"+minute+"', " sql=sql+" STATUS = '1' " sql=sql+" WHERE TASKID = '00051' " AfaLoggerFunc.tradeDebug(sql) records = AfaDBFunc.UpdateSqlCmt(sql) if( records <=0 ): AfaLoggerFunc.tradeFatal(sql) return AfaFlowControl.ExitThisFlow( 'A0027', '未发现调度信息:'+AfaDBFunc.sqlErrMsg ) if( records == None ): AfaLoggerFunc.tradeFatal(sql) return AfaFlowControl.ExitThisFlow( 'A0002', '数据库操作异常:'+AfaDBFunc.sqlErrMsg ) return True except Exception, e: AfaLoggerFunc.tradeInfo(e) return AfaFlowControl.ExitThisFlow('9999', '程序处理异常'+str(e))
def HostParseRet( hostType ): AfaLoggerFunc.tradeInfo(HostContext.O1MGID) if (HostContext.host_Error == True): #主机通讯错误 AfaLoggerFunc.tradeInfo('4') TradeContext.__status__='2' TradeContext.errorCode, TradeContext.errorMsg = 'A9998', '主机通讯错误' TradeContext.MGID = HostContext.host_ErrorType #通讯错误代码 return False if( HostContext.O1MGID == 'AAAAAAA' ): #成功 TradeContext.__status__='0' TradeContext.errorCode, TradeContext.errorMsg = '0000', '主机成功' TradeContext.MGID = HostContext.O1MGID #主机返回代码 #=====根据交易码不同选择不同的信息返回==== if TradeContext.HostCode == '8813': TradeContext.TRDT = HostContext.O1TRDT #主机日期 TradeContext.TLSQ = HostContext.O1TLSQ #主机流水号 TradeContext.DASQ = str(HostContext.O2DASQ[0]) #代销帐序号 AfaLoggerFunc.tradeInfo('销账序号[' + TradeContext.DASQ +']') elif TradeContext.HostCode == '8820': TradeContext.TRDT = HostContext.O1TRDT #主机日期 TradeContext.TLSQ = HostContext.O1TLSQ #主机流水号 elif TradeContext.HostCode == '8810': TradeContext.ACCNM = UtilTools.trim(HostContext.O1CUNM) #账号名称 TradeContext.ACCSO = HostContext.O1OPNT #开户机构 TradeContext.ACCST = HostContext.O1ACST #账户状态 TradeContext.ACCCD = HostContext.O1ITCD #业务代号 TradeContext.ACCEM = HostContext.O1ITEM #科目代号 TradeContext.ACITY = HostContext.O1IDTY #证件类型 TradeContext.ACINO = HostContext.O1IDNO #证件号码 elif TradeContext.HostCode == '8811': TradeContext.HPAYTYP = HostContext.O1WDTP TradeContext.ACCSTCD = HostContext.O1STCD #凭证状态 AfaLoggerFunc.tradeDebug('>>>查询凭证信息完成') #===========关彬捷 20080725 增加8820接口返回信息解析=================== elif TradeContext.HostCode == '8820': TradeContext.TRDT = HostContext.O1TRDT #主机日期 TradeContext.TLSQ = HostContext.O1TLSQ #主机流水号 else: AfaLoggerFunc.tradeDebug('>>>主机记账完成') AfaLoggerFunc.tradeDebug('>>>主机成功返回') return True else: #失败 TradeContext.__status__='1' AfaLoggerFunc.tradeInfo('8') TradeContext.errorCode, TradeContext.errorMsg = HostContext.O1MGID, HostContext.O1INFO return False
def SubModuleDoSnd(): AfaLoggerFunc.tradeDebug('>>>开始处理AFE返回结果') status = {} status['BSPSQN'] = TradeContext.BSPSQN #报单序号 status['BJEDTE'] = TradeContext.BJEDTE #交易日期 status['BCSTAT'] = PL_BCSTAT_SND #发送 status['STRINFO'] = TradeContext.errorMsg #=====开始判断afe返回结果==== if TradeContext.errorCode != '0000': status['BDWFLG'] = PL_BDWFLG_FAIL #失败 else: status['BDWFLG'] = PL_BDWFLG_SUCC #成功 #=====修改退汇记录的状态==== if not rccpsState.setTransState(status): #=====RollBack操作==== AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow(TradeContext.errorCode, TradeContext.errorMsg) else: #=====commit操作==== AfaDBFunc.CommitSql() AfaLoggerFunc.tradeDebug('>>>通讯回执处理成功') #=====发送退汇报文2000004==== TradeContext.sysType = 'rccpst' TradeContext.TRCCO = '2000004' TradeContext.MSGTYPCO = 'SET005' TradeContext.OPRTYPNO = '20' #汇兑 TradeContext.STRINFO = '收到紧急止付,系统自动退汇' #=====接收行号与发送行号互换==== TradeContext.TEMP = TradeContext.RCVBNKCO TradeContext.RCVBNKCO = TradeContext.SNDBNKCO TradeContext.SNDBNKCO = TradeContext.TEMP #=====接收行名与发送行名互换==== TradeContext.NAME = TradeContext.RCVBNKNM TradeContext.RCVBNKNM = TradeContext.SNDBNKNM TradeContext.SNDBNKNM = TradeContext.NAME #=====发送afe==== AfaAfeFunc.CommAfe() #=====开始判断afe返回结果==== if TradeContext.errorCode != '0000': return AfaFlowControl.ExitThisFlow(TradeContext.errorCode, TradeContext.errorMsg) else: AfaLoggerFunc.tradeDebug('>>>发送退汇成功') return True
def getTransWtr(BJEDTE,BSPSQN,wtr_dict): AfaLoggerFunc.tradeDebug( ">>>开始查询通存通兑业务登记簿[" + BJEDTE + "][" + BSPSQN + "]交易信息" ) #==========组织查询条件===================================================== wtrbka_where_dict = {'BJEDTE':BJEDTE,'BSPSQN':BSPSQN} #==========查询汇兑登记簿相关业务信息======================================= wtrbka_dict = rccpsDBTrcc_wtrbka.selectu(wtrbka_where_dict) if wtrbka_dict == None: AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow( 'S999', '查询通存通兑业务登记簿交易信息异常' ) if len(wtrbka_dict) <= 0: return AfaFlowControl.ExitThisFlow( 'S999', '通存通兑业务登记簿中无此交易信息' ) #==========将查询出的通存通兑登记簿相关业务信息赋值到输出字典============== if not rccpsMap0000Dwtrbka2Dwtr_dict.map(wtrbka_dict,wtr_dict): return AfaFlowControl.ExitThisFlow( 'S999', '将查询出的通存通兑登记簿相关业务信息赋值到输出字典异常' ) #==========查询当前业务状态================================================ AfaLoggerFunc.tradeDebug( ">>>开始查询交易[" + BJEDTE + "][" + BSPSQN + "]当前状态" ) stat_dict = {} if not rccpsState.getTransStateCur(BJEDTE,BSPSQN,stat_dict): return False AfaLoggerFunc.tradeDebug( ">>>结束查询交易[" + BJEDTE + "][" + BSPSQN + "]当前状态" ) #==========将查询出的业务状态详细信息赋值到输出字典======================== if not rccpsMap0000Dstat_dict2Dwtr_dict.map(stat_dict,wtr_dict): return AfaFlowControl.ExitThisFlow( 'S999', '将查询出的业务状态详细信息赋值到输出字典异常' ) AfaLoggerFunc.tradeDebug( ">>>结束查询通存通兑业务登记簿[" + BJEDTE + "][" + BSPSQN + "]交易信息" ) return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统:往账.本地类操作(1.本地操作).个人现金通兑_折应答[TRCC004_1157]进入***' ) #=================初始化返回信息============================================ if AfaUtilTools.trim(TradeContext.STRINFO) == "": TradeContext.STRINFO = rccpsDBFunc.getErrInfo(TradeContext.PRCCO) AfaLoggerFunc.tradeDebug("TradeContext.STRINFO=" + TradeContext.STRINFO) #=====根据参考报文标识号查找原交易==== TradeContext.ORSNDBNKCO = TradeContext.ORMFN[:10] #原发送行号 TradeContext.BOJEDT = TradeContext.ORMFN[10:18] #原交易日期 TradeContext.ORTRCNO = TradeContext.ORMFN[18:] #原交易流水号 wtr_dict = {} if not rccpsDBFunc.getTransWtrAK(TradeContext.ORSNDBNKCO,TradeContext.BOJEDT,TradeContext.ORTRCNO,wtr_dict): #=====查询原交易失败,等待前台超时发起冲正,抛弃此报文==== return AfaFlowControl.ExitThisFlow('S999','等待前台发起冲正,抛弃报文') AfaLoggerFunc.tradeInfo( '>>>查询原交易结束' ) #=================若应答报文回复拒绝,则设置状态为拒绝,停止处理============= if TradeContext.PRCCO != 'RCCI0000': AfaLoggerFunc.tradeInfo(">>>对方返回拒绝应答") #=============设置业务状态为拒绝处理中================================= if not rccpsState.newTransState(wtr_dict['BJEDTE'],wtr_dict['BSPSQN'],PL_BCSTAT_MFERFE,PL_BDWFLG_WAIT): return AfaFlowControl.ExitThisFlow('S999',"设置业务状态为拒绝成功异常") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") #=============设置业务状态为拒绝成功=================================== stat_dict = {} stat_dict['BJEDTE'] = wtr_dict['BJEDTE'] stat_dict['BSPSQN'] = wtr_dict['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', "设置业务状态为拒绝成功异常") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") return AfaFlowControl.ExitThisFlow('S999',"对方拒绝,交易终止") #====查找自动冲正登记簿是否存在本交易的冲正==== wheresql = '' wheresql = wheresql + "BOJEDT = '" + wtr_dict['BJEDTE'] + "'" #报单日期 wheresql = wheresql + "AND BOSPSQ = '" + wtr_dict['BSPSQN'] + "'" #报单序号 ret = rccpsDBTrcc_atcbka.count(wheresql) if ret == -1: return AfaFlowControl.ExitThisFlow('S999','查找自动冲正登记簿异常') elif ret > 0: #=====原交易已自动冲正,抛弃报文==== return AfaFlowControl.ExitThisFlow('S999','原交易已冲正,抛弃报文') AfaLoggerFunc.tradeInfo( '>>>查询冲正登记簿结束' ) #=====主机记账前处理==== TradeContext.BESBNO = wtr_dict['BESBNO'] #机构号 TradeContext.BETELR = wtr_dict['BETELR'] #柜员号 TradeContext.BEAUUS = wtr_dict['BEAUUS'] #授权柜员 TradeContext.BEAUPS = wtr_dict['BEAUPS'] #授权密码 TradeContext.TERMID = wtr_dict['TERMID'] #终端号 TradeContext.BJEDTE = wtr_dict['BJEDTE'] #交易日期 TradeContext.BSPSQN = wtr_dict['BSPSQN'] #报单序号 TradeContext.BRSFLG = wtr_dict['BRSFLG'] #往来账标志 TradeContext.HostCode= '8813' #主机交易码 AfaLoggerFunc.tradeInfo( '>>>主机前处理赋值结束' ) #=====开始更新原交易,新增状态记账-处理中==== if not rccpsState.newTransState(wtr_dict['BJEDTE'],wtr_dict['BSPSQN'],PL_BCSTAT_ACC,PL_BDWFLG_WAIT): #=====RollBack操作==== AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow('M999', '设置状态失败,系统自动回滚') else: #=====commit操作==== AfaDBFunc.CommitSql() AfaLoggerFunc.tradeInfo( '>>>设置状态记账-处理中结束' ) #=====根据原记录中的手续费收取方式,判断账务处理模式==== if wtr_dict['CHRGTYP'] == '1': #=====转账==== TradeContext.ACUR = '3' #记账次数 #=========交易金额+手续费=================== TradeContext.RCCSMCD = PL_RCCSMCD_XJTDWZ #摘要代码 TradeContext.SBAC = TradeContext.BESBNO + PL_ACC_NXYDQSWZ #借方账号 TradeContext.SBAC = rccpsHostFunc.CrtAcc(TradeContext.SBAC,25) TradeContext.ACNM = '农信银往账' #借方户名 TradeContext.RBAC = TradeContext.BESBNO + PL_ACC_NXYDJLS #贷方账号 TradeContext.RBAC = rccpsHostFunc.CrtAcc(TradeContext.RBAC,25) TradeContext.OTNM = '应解汇款' #贷方户名 TradeContext.OCCAMT = str(wtr_dict['OCCAMT'] + wtr_dict['CUSCHRG']) #发生额 TradeContext.PKFG = 'T' #存折支票标志 TradeContext.CTFG = '9' TradeContext.WARNTNO = '' TradeContext.CERTTYPE = '' TradeContext.CERTNO = '' AfaLoggerFunc.tradeInfo( '>>>交易金额+手续费:借方账号' + TradeContext.SBAC ) AfaLoggerFunc.tradeInfo( '>>>交易金额+手续费:贷方账号' + TradeContext.RBAC ) #=========交易金额============ TradeContext.I2SMCD = PL_RCCSMCD_XJTDWZ #摘要代码 TradeContext.I2SBAC = TradeContext.BESBNO + PL_ACC_NXYDJLS #借方账号 TradeContext.I2SBAC = rccpsHostFunc.CrtAcc(TradeContext.I2SBAC,25) TradeContext.I2ACNM = '应解汇款' #借方户名 TradeContext.I2RBAC = '' #贷方账号 TradeContext.I2OTNM = '' #贷方户名 TradeContext.I2TRAM = str(wtr_dict['OCCAMT']) #发生额 TradeContext.I2CTFG = '7' #结转标志 0 结转 1 不结转 TradeContext.I2PKFG = 'T' #存折支票标志 #TradeContext.I2WARNTNO = '' #TradeContext.I2CERTTYPE = '' #TradeContext.I2CERTNO = '' TradeContext.I2CATR = '0' #现转标志 AfaLoggerFunc.tradeInfo( '>>>交易金额:借方账号' + TradeContext.I2SBAC ) AfaLoggerFunc.tradeInfo( '>>>交易金额:贷方账号' + TradeContext.I2RBAC ) #=========结算手续费收入户=========== TradeContext.I3SMCD = PL_RCCSMCD_SXF #摘要代码 TradeContext.I3SBAC = TradeContext.BESBNO + PL_ACC_NXYDJLS #借方账号 TradeContext.I3SBAC = rccpsHostFunc.CrtAcc(TradeContext.I3SBAC,25) TradeContext.I3ACNM = '应解汇款' #借方户名 TradeContext.I3RBAC = TradeContext.BESBNO + PL_ACC_TCTDSXF #贷方账号 TradeContext.I3RBAC = rccpsHostFunc.CrtAcc(TradeContext.I3RBAC,25) TradeContext.I3OTNM = '结算手续费' #贷方户名 TradeContext.I3TRAM = str(wtr_dict['CUSCHRG']) #发生额 TradeContext.I3CTFG = '8' #结转标志 0 结转 1 不结转 TradeContext.I3PKFG = 'T' #存折支票标志 AfaLoggerFunc.tradeInfo( '>>>结算手续费收入户:借方账号' + TradeContext.I3SBAC ) AfaLoggerFunc.tradeInfo( '>>>结算手续费收入户:贷方账号' + TradeContext.I3RBAC ) elif wtr_dict['CHRGTYP'] == '0': #=====本金==== TradeContext.ACUR = '2' #记账次数 TradeContext.RCCSMCD = PL_RCCSMCD_XJTDWZ #摘要代码 TradeContext.SBAC = TradeContext.BESBNO + PL_ACC_NXYDQSWZ #借方账号 TradeContext.SBAC = rccpsHostFunc.CrtAcc(TradeContext.SBAC,25) TradeContext.ACNM = '农信银往账' #借方户名 TradeContext.RBAC = '' #贷方账号 TradeContext.OTNM = '' #贷方户名 TradeContext.OCCAMT = str(wtr_dict['OCCAMT']) #金额 TradeContext.CTFG = '7' TradeContext.PKFG = 'T' TradeContext.WARNTNO = '' TradeContext.CERTTYPE = '' TradeContext.CERTNO = '' TradeContext.CATR = '0' #现转标志 AfaLoggerFunc.tradeInfo( '>>>交易金额:借方账号' + TradeContext.SBAC ) AfaLoggerFunc.tradeInfo( '>>>交易金额:贷方账号' + TradeContext.RBAC ) #=====手续费记账赋值==== TradeContext.I2SMCD = PL_RCCSMCD_SXF #摘要代码 TradeContext.I2SBAC = '' #借方账号 TradeContext.I2RBAC = TradeContext.BESBNO + PL_ACC_TCTDSXF #贷方账号 TradeContext.I2RBAC = rccpsHostFunc.CrtAcc(TradeContext.I2RBAC,25) TradeContext.I2OTNM = '手续费科目' #贷方户名 TradeContext.I2TRAM = str(wtr_dict['CUSCHRG']) #金额 TradeContext.I2CTFG = '8' TradeContext.I2PKFG = 'T' TradeContext.I2CATR = '0' #现转标志 AfaLoggerFunc.tradeInfo( '>>>交易金额:借方账号' + TradeContext.I2SBAC ) AfaLoggerFunc.tradeInfo( '>>>交易金额:贷方账号' + TradeContext.I2RBAC ) elif wtr_dict['CHRGTYP'] == '2': #=====不收费==== TradeContext.ACUR = '1' #记账次数 TradeContext.RCCSMCD = PL_RCCSMCD_XJTDWZ #摘要代码 TradeContext.SBAC = TradeContext.BESBNO + PL_ACC_NXYDQSWZ #借方账号 TradeContext.SBAC = rccpsHostFunc.CrtAcc(TradeContext.SBAC,25) TradeContext.RBAC = '' #贷方账号 TradeContext.OTNM = '' #贷方户名 TradeContext.OCCAMT = str(wtr_dict['OCCAMT']) #金额 TradeContext.CTFG = '7' TradeContext.PKFG = 'T' TradeContext.WARNTNO = '' TradeContext.CERTTYPE = '' TradeContext.CERTNO = '' TradeContext.CATR = '0' #现转标志 else: #=====出错==== return AfaFlowControl.ExitThisFlow('S999','手续费收费方式错,抛弃报文') AfaLoggerFunc.tradeInfo( '>>>根据手续费收取方式记账赋值处理结束' ) #=====主机记账处理==== rccpsHostFunc.CommHost(TradeContext.HostCode) #=====主机后处理==== set_dict = {} set_dict['BSPSQN'] = TradeContext.BSPSQN set_dict['BJEDTE'] = TradeContext.BJEDTE set_dict['BCSTAT'] = PL_BCSTAT_ACC set_dict["SBAC"] = TradeContext.SBAC #借方账号 set_dict["RBAC"] = TradeContext.RBAC #贷方账号 set_dict["OTNM"] = TradeContext.OTNM #贷方户名 set_dict['MGID'] = TradeContext.errorCode #主机返回码 set_dict["STRINFO"]= TradeContext.errorMsg #主机返回信息 if TradeContext.errorCode == '0000': #=====主机记账成功==== set_dict['BDWFLG'] = PL_BDWFLG_SUCC set_dict['TRDT'] = TradeContext.TRDT set_dict['TLSQ'] = TradeContext.TLSQ else: set_dict['BDWFLG'] = PL_BDWFLG_FAIL if not rccpsState.setTransState(set_dict): return AfaFlowControl.ExitThisFlow(TradeContext.errorCode, TradeContext.errorMsg) else: #=====commit操作==== AfaDBFunc.CommitSql() AfaLoggerFunc.tradeInfo('>>>设置主机返回状态成功') if TradeContext.errorCode == '0000': #=====开始更新原交易,新增状态清算成功==== if not rccpsState.newTransState(wtr_dict['BJEDTE'],wtr_dict['BSPSQN'],PL_BCSTAT_MFESTL,PL_BDWFLG_SUCC): #=====RollBack操作==== AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow('M999', '设置状态失败,系统自动回滚') else: #=====commit操作==== AfaDBFunc.CommitSql() AfaLoggerFunc.tradeInfo( '***农信银系统:往账.本地类操作(1.本地操作).个人现金通兑_折应答[TRCC004_1157]退出***' ) return True
def setTransState(stat_dict): AfaLoggerFunc.tradeInfo(">>>进入setTransState") AfaLoggerFunc.tradeDebug("stat_dict = " + str(stat_dict)) #==========检查表spbsta中是否存在此业务状态================================= spbsta_where_dict = {} if stat_dict.has_key("BJEDTE"): spbsta_where_dict["BJEDTE"] = stat_dict["BJEDTE"] if stat_dict.has_key("BSPSQN"): spbsta_where_dict["BSPSQN"] = stat_dict["BSPSQN"] spbsta_dict = rccpsDBTrcc_spbsta.selectu(spbsta_where_dict) if spbsta_dict == None: AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) AfaLoggerFunc.tradeFatal("获取交易[" + stat_dict['BJEDTE'] + "][" + stat_dict['BSPSQN'] + "]当前状态异常") return AfaFlowControl.ExitThisFlow( 'S999', '获取交易当前状态异常' ) elif len(spbsta_dict) <= 0: AfaLoggerFunc.tradeFatal("当前状态登记簿中无交易[" + stat_dict['BJEDTE'] + "][" + stat_dict['BSPSQN'] + "]状态信息") return AfaFlowControl.ExitThisFlow( 'S999', '当前状态登记簿中无此交易状态' ) #===========检查表sstlog中是否存在此业务状态================================ sstlog_where_dict = {} if spbsta_dict.has_key("BJEDTE"): sstlog_where_dict["BJEDTE"] = spbsta_dict["BJEDTE"] if spbsta_dict.has_key("BSPSQN"): sstlog_where_dict["BSPSQN"] = spbsta_dict["BSPSQN"] if spbsta_dict.has_key("BCURSQ"): sstlog_where_dict["BCURSQ"] = str(spbsta_dict["BCURSQ"]) sstlog_dict = rccpsDBTrcc_sstlog.selectu(sstlog_where_dict) if sstlog_dict == None: AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) AfaLoggerFunc.tradeFatal("获取交易[" + stat_dict['BJEDTE'] + "][" + stat_dict['BSPSQN'] + "]当前状态详细信息异常") return AfaFlowControl.ExitThisFlow( 'S999', '获取交易当前状态详细信息异常' ) elif len(sstlog_dict) == 0: AfaLoggerFunc.tradeFatal("流水状态登记簿中无交易[" + stat_dict['BJEDTE'] + "][" + stat_dict['BSPSQN'] + "]当前状态详细信息") return AfaFlowControl.ExitThisFlow( 'S999', '流水状态登记簿中无此交易当前状态详细信息' ) #============设置默认值===================================================== stat_dict["PRTCNT"] = 0 stat_dict["NOTE2"] = AfaUtilTools.GetSysDate() + AfaUtilTools.GetSysTime() #AfaLoggerFunc.tradeInfo(stat_dict["NOTE2"]) #============更新表sstlog=================================================== sstlog_update_dict = {} if not rccpsMap0000Dstat_dict2Dsstlog.map(stat_dict,sstlog_update_dict): return AfaFlowControl.ExitThisFlow( 'S999', '为交易当前状态详细信息赋值异常' ) sstlog_where_dict = {} if spbsta_dict.has_key("BJEDTE"): sstlog_where_dict["BJEDTE"] = spbsta_dict["BJEDTE"] if spbsta_dict.has_key("BSPSQN"): sstlog_where_dict["BSPSQN"] = spbsta_dict["BSPSQN"] if spbsta_dict.has_key("BCURSQ"): sstlog_where_dict["BCURSQ"] = str(spbsta_dict["BCURSQ"]) #AfaLoggerFunc.tradeInfo("update_dict = " + str(sstlog_update_dict)) #AfaLoggerFunc.tradeInfo("where_dict = " + str(sstlog_where_dict)) ret = rccpsDBTrcc_sstlog.update(sstlog_update_dict,sstlog_where_dict) if ret <= 0: AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) AfaLoggerFunc.tradeFatal("登记交易[" + stat_dict['BJEDTE'] + "][" + stat_dict['BSPSQN'] + "]") return AfaFlowControl.ExitThisFlow( 'S999', '登记交易当前状态详细信息异常' ) #============更新表spbsta=================================================== spbsta_update_dict = {} if not rccpsMap0000Dstat_dict2Dspbsta.map(stat_dict,spbsta_update_dict): return AfaFlowControl.ExitThisFlow( 'S999', '为交易当前状态赋值异常' ) spbsta_where_dict = {} if stat_dict.has_key("BJEDTE"): spbsta_where_dict["BJEDTE"] = stat_dict["BJEDTE"] if stat_dict.has_key("BSPSQN"): spbsta_where_dict["BSPSQN"] = stat_dict["BSPSQN"] ret = rccpsDBTrcc_spbsta.update(spbsta_update_dict,spbsta_where_dict) if (ret <= 0): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) AfaLoggerFunc.tradeFatal("登记交易[" + stat_dict['BJEDTE'] + "][" + stat_dict['BSPSQN'] + "]当前状态异常") return AfaFlowControl.ExitThisFlow( 'S999', '登记交易当前状态异常' ) AfaLoggerFunc.tradeInfo(">>>结束setTransState") return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统:往账.本地类操作交易[TRC001_8532]进入***' ) #=====判断输入接口值是否存在==== if( not TradeContext.existVariable( "STRDAT" ) ): return AfaFlowControl.ExitThisFlow('A099', '起始日期[STRDAT]不存在') if( not TradeContext.existVariable( "ENDDAT" ) ): return AfaFlowControl.ExitThisFlow('A099', '结束日期[ENDDAT]不存在') if( not TradeContext.existVariable( "RECSTRNO" ) ): return AfaFlowControl.ExitThisFlow('A099', '起始笔数[RECSTRNO]不存在') if(len(TradeContext.PRTTYPE)==0): return AfaFlowControl.ExitThisFlow("S999", "打印标志[PRTTYPE]不允许为空") #=====组织sql语句==== wheresql="" wheresql = wheresql + "BESBNO='" + TradeContext.BESBNO + "' " wheresql=wheresql+" and BJEDTE>='"+TradeContext.STRDAT+"'" wheresql=wheresql+" AND BJEDTE<='"+TradeContext.ENDDAT+"'" #=====判断查复标识是否为空或为9-全部==== if(TradeContext.ISDEAL != "" and TradeContext.ISDEAL != "9"): wheresql=wheresql+" AND ISDEAL='"+TradeContext.ISDEAL+"'" #=====判断往来标识是否为空==== if(TradeContext.BRSFLG!=""): wheresql=wheresql+" AND BRSFLG='"+TradeContext.BRSFLG+"'" #=====判断交易代码是否为空==== if(TradeContext.TRCCO !="" ): wheresql=wheresql+" AND TRCCO='"+TradeContext.TRCCO+"'" #业务类型(交易代码) start_no=TradeContext.RECSTRNO #起始笔数 sel_size=10 #=====查询机构名==== subbra_dict={'BESBNO':TradeContext.BESBNO} sub=rccpsDBTrcc_subbra.selectu(subbra_dict) if(sub==None): return AfaFlowControl.ExitThisFlow('A099','查询机构名失败' ) if(len(sub)==0): return AfaFlowControl.ExitThisFlow('A099','机构名称无满足条件记录' ) #=====判断打印类型 0 不打印==== if(TradeContext.PRTTYPE=='0'): AfaLoggerFunc.tradeInfo(">>>进入不打印处理") #=====判断查询查复书号是否为空==== if(TradeContext.BSPSQN!="" ): wheresql=wheresql+" AND BSPSQN='"+TradeContext.BSPSQN+"'" #=====查询总记录数==== allcount=rccpsDBTrcc_pjcbka.count(wheresql) if(allcount==-1): return AfaFlowControl.ExitThisFlow('A099','查找总记录数失败' ) #=====查询数据库==== ordersql=" order by BJEDTE DESC,BSPSQN DESC" records=rccpsDBTrcc_pjcbka.selectm(start_no,sel_size,wheresql,ordersql) if records==None: return AfaFlowControl.ExitThisFlow('A099','查询失败' ) if len(records)<=0: return AfaFlowControl.ExitThisFlow('A099','没有查找到数据' ) else: #=====生成文件==== filename="rccps_"+TradeContext.BETELR+"_"+AfaUtilTools.GetHostDate()+"_"+TradeContext.TransCode fpath=os.environ["AFAP_HOME"]+"/tmp/" try: f=open(fpath+filename,"w") except : AfaLoggerFunc.tradeInfo(">>>打开文件失败") return AfaFlowControl.ExitThisFlow('A099','打开文件失败' ) filecontext="" #=====写文件操作==== for i in range(0,len(records)): #=====生成文件内容==== AfaLoggerFunc.tradeDebug( "生成文件内容 ") filecontext=records[i]['BJEDTE'] + "|" \ +records[i]['BSPSQN'] + "|" \ +records[i]['BRSFLG'] + "|" \ +records[i]['BESBNO'] + "|" \ +records[i]['BETELR'] + "|" \ +records[i]['BEAUUS'] + "|" \ +records[i]['NCCWKDAT'] + "|" \ +records[i]['TRCCO'] + "|" \ +records[i]['TRCDAT'] + "|" \ +records[i]['TRCNO'] + "|" \ +records[i]['SNDBNKCO'] + "|" \ +records[i]['SNDBNKNM'] + "|" \ +records[i]['RCVBNKCO'] + "|" \ +records[i]['RCVBNKNM'] + "|" \ +records[i]['BOJEDT'] + "|" \ +records[i]['BOSPSQ'] + "|" \ +records[i]['ORTRCCO'] + "|" \ +records[i]['CONT'] + "|" \ +records[i]['ISDEAL'] + "|" \ +records[i]['BILDAT'] + "|" \ +records[i]['BILNO'] + "|" \ +records[i]['BILPNAM'] + "|" \ +records[i]['BILENDDT'] + "|" \ +str(records[i]['BILAMT'])+ "|" \ +records[i]['PYENAM'] + "|" \ +records[i]['HONBNKNM'] + "|" \ +records[i]['PRCCO'] + "|" \ +records[i]['STRINFO'] + "|" f.write(filecontext+"\n") f.close() #=====输出接口赋值==== TradeContext.PBDAFILE=filename #文件名 TradeContext.RECCOUNT=str(len(records)) #查询笔数 TradeContext.RECALLCOUNT=str(allcount) #总笔数 #=====打印处理 1 打印==== elif(TradeContext.PRTTYPE=='1'): AfaLoggerFunc.tradeInfo(">>>进入打印处理") #=====判断查询查复书号是否为空==== if(TradeContext.BSPSQN!="" ): wheresql=wheresql+" AND BSPSQN='"+TradeContext.BSPSQN+"'" else: return AfaFlowControl.ExitThisFlow('A099','查询查复书号[BSPSQN]不允许为空' ) #=====查询数据库==== records = rccpsDBTrcc_pjcbka.selectm(TradeContext.RECSTRNO,10,wheresql,"") if(records==None): return AfaFlowControl.ExitThisFlow('A099','查询失败' ) elif( len(records)<=0 ): return AfaFlowControl.ExitThisFlow('A099','未查找到数据' ) else: #=====票据查询书==== if(TradeContext.TRCCO=='9900520'): AfaLoggerFunc.tradeInfo(">>>业务类型为票据查询书") #=====票据查询书打印格式==== txt = """\ %(BESBNM)s票据查询书 |-----------------------------------------------------------------------------| | 查询日期: | %(BJEDTE)s | |-----------------------------------------------------------------------------| | 票据查询书号: | %(BSPSQN)s | |-----------------------------------------------------------------------------| | 发起行行号: | %(SNDBNKCO)s | |-----------------------------------------------------------------------------| | 接收行行号: | %(RCVBNKCO)s | |-----------------------------------------------------------------------------| | 票据日期: | %(BILDAT)s | |-----------------------------------------------------------------------------| | 票据到期日: | %(BILENDDT)s | |-----------------------------------------------------------------------------| | 票据号码: | %(BILNO)s | |-----------------------------------------------------------------------------| | 出票人名称: | %(BILPNAM)s| |-----------------------------------------------------------------------------| | 付款行名称: | %(HONBNKNM)s| |-----------------------------------------------------------------------------| | 查询内容: | | |-----------------------------------------------------------------------------| | | | %(CONT1)s | | | | %(CONT2)s | | | | %(CONT3)s | | | | %(CONT4)s | | | |-----------------------------------------------------------------------------| 打印日期: %(BJEDTE)s 授权: 记账: """ #====写文件操作==== file_name = 'rccps_' + records[0]['BJEDTE'] + '_' + TradeContext.BSPSQN + '_8532' out_file = open(os.environ['AFAP_HOME'] + '/tmp/' + file_name,"wb") if out_file == None: return AfaFlowControl.ExitThisFlow("S999", "生成打印文件异常") print >> out_file,txt % {'BESBNM':(sub['BESBNM']).ljust(10,' '),\ 'BJEDTE':(records[0]['BJEDTE']).ljust(8,' '),\ 'BSPSQN':(TradeContext.BSPSQN).ljust(12,' '),\ 'SNDBNKCO':(records[0]['SNDBNKCO']).ljust(10,' '),\ 'RCVBNKCO':(records[0]['RCVBNKCO']).ljust(10,' '),\ 'BILDAT':(records[0]['BILDAT']).ljust(8,' '),\ 'BILENDDT':(records[0]['BILENDDT']).ljust(8,' '),\ 'BILNO':(records[0]['BILNO']).ljust(16,' '),\ 'BILPNAM':(records[0]['BILPNAM']).ljust(60,' '),\ 'HONBNKNM':(records[0]['HONBNKNM']).ljust(60,' '),\ 'CONT1':(records[0]['CONT'][:68]).ljust(68,' '),\ 'CONT2':(records[0]['CONT'][68:138]).ljust(70,' '),\ 'CONT3':(records[0]['CONT'][138:208]).ljust(70,' '),\ 'CONT4':(records[0]['CONT'][208:]).ljust(70,' ')} out_file.close() TradeContext.PBDAFILE = file_name #文件名 AfaLoggerFunc.tradeDebug("结束生成打印文本") #=====票据查复书==== elif(TradeContext.TRCCO=='9900521'): AfaLoggerFunc.tradeInfo(">>>业务类型为票据查复书") #=====查询原交易信息==== where_dict={'BJEDTE':records[0]['BOJEDT'],'BSPSQN':records[0]['BOSPSQ']} ret=rccpsDBTrcc_pjcbka.selectu(where_dict) if(ret==None): return AfaFlowControl.ExitThisFlow('A099','查询原信息失败' ) if(len(ret)==0): return AfaFlowControl.ExitThisFlow('A099','未查找原信息' ) #=====票据查复书打印格式==== txt = """\ %(BESBNM)s票据查复书 |---------------------------------------------------------------------------------------| | 查复日期: | %(BJEDTE)s | |---------------------------------------------------------------------------------------| | 票据查复书号: | %(BSPSQN)s | |---------------------------------------------------------------------------------------| | 发起行行号: | %(SNDBNKCO)s | |---------------------------------------------------------------------------------------| | 接收行行号: | %(RCVBNKCO)s | |---------------------------------------------------------------------------------------| | 票据日期: | %(BILDAT)s | |---------------------------------------------------------------------------------------| | 票据到期日: | %(BILENDDT)s | |---------------------------------------------------------------------------------------| | 票据号码: | %(BILNO)s | |---------------------------------------------------------------------------------------| | 出票人名称: | %(BILPNAM)s| |---------------------------------------------------------------------------------------| | 收款人名称: | %(PYENAM)s| |---------------------------------------------------------------------------------------| | 付款行名称: | %(HONBNKNM)s| |---------------------------------------------------------------------------------------| | 原票据查询日期: | %(BOJEDT)s | |---------------------------------------------------------------------------------------| | 原票据查询发起行行号: | %(ORSNDBNKCO)s | |---------------------------------------------------------------------------------------| | 原票据查询书号: | %(BOSPSQ)s | |---------------------------------------------------------------------------------------| | 查复内容: | | |---------------------------------------------------------------------------------------| | | | %(CONT1)s | | | | %(CONT2)s | | | | %(CONT3)s | | | | %(CONT4)s | | | |---------------------------------------------------------------------------------------| 打印日期: %(BJEDTE)s 授权: 记账: """ #====写文件操作==== file_name = 'rccps_' + records[0]['BJEDTE'] + '_' + TradeContext.BSPSQN + '_8532' out_file = open(os.environ['AFAP_HOME'] + '/tmp/' + file_name,"wb") if out_file == None: return AfaFlowControl.ExitThisFlow("S999", "生成打印文件异常") print >> out_file,txt % {'BESBNM':(sub['BESBNM']).ljust(10,' '),\ 'BJEDTE':(records[0]['BJEDTE']).ljust(8,' '),\ 'BSPSQN':(TradeContext.BSPSQN).ljust(12,' '),\ 'SNDBNKCO':(records[0]['SNDBNKCO']).ljust(10,' '),\ 'RCVBNKCO':(records[0]['RCVBNKCO']).ljust(10,' '),\ 'BILDAT':(records[0]['BILDAT']).ljust(8,' '),\ 'BILENDDT':(records[0]['BILENDDT']).ljust(8,' '),\ 'BILNO':(records[0]['BILNO']).ljust(16,' '),\ 'BILPNAM':(records[0]['BILPNAM']).ljust(60,' '),\ 'PYENAM':(records[0]['PYENAM']).ljust(60,' '),\ 'HONBNKNM':(records[0]['HONBNKNM']).ljust(60,' '),\ 'BOJEDT':(records[0]['BOJEDT']).ljust(8,' '),\ 'ORSNDBNKCO':(ret['SNDBNKCO']).ljust(10,' '),\ 'BOSPSQ':(records[0]['BOSPSQ']).ljust(12,' '),\ 'CONT1':(records[0]['CONT'][:68]).ljust(68,' '),\ 'CONT2':(records[0]['CONT'][68:138]).ljust(70,' '),\ 'CONT3':(records[0]['CONT'][138:208]).ljust(70,' '),\ 'CONT4':(records[0]['CONT'][208:]).ljust(70,' ')} out_file.close() TradeContext.PBDAFILE = file_name #文件名 AfaLoggerFunc.tradeDebug("结束生成打印文本") else: return AfaFlowControl.ExitThisFlow("S999", "业务类型非法") TradeContext.RECCOUNT='1' #查询笔数 TradeContext.RECALLCOUNT='1' #总笔数 TradeContext.errorCode="0000" TradeContext.errorMsg="查询成功" else: return AfaFlowControl.ExitThisFlow("S999", "打印标志非法") TradeContext.errorCode="0000" TradeContext.errorMsg="查询成功" AfaLoggerFunc.tradeInfo( '***农信银系统:往账.本地类操作交易[TRC001_8532]退出***' ) return True
def map(from_dict): if from_dict.has_key('BJETIM'): TradeContext.BJETIM = from_dict['BJETIM'] AfaLoggerFunc.tradeDebug('TradeContext.BJETIM = ' + str(TradeContext.BJETIM)) else: AfaLoggerFunc.tradeDebug("trcbka['BJETIM']不存在") if from_dict.has_key('TRCCO'): TradeContext.TRCCO = from_dict['TRCCO'] AfaLoggerFunc.tradeDebug('TradeContext.TRCCO = ' + str(TradeContext.TRCCO)) else: AfaLoggerFunc.tradeDebug("trcbka['TRCCO']不存在") if from_dict.has_key('OPRATTNO'): TradeContext.OPRATTNO = from_dict['OPRATTNO'] AfaLoggerFunc.tradeDebug('TradeContext.OPRATTNO = ' + str(TradeContext.OPRATTNO)) else: AfaLoggerFunc.tradeDebug("trcbka['OPRATTNO']不存在") if from_dict.has_key('BBSSRC'): TradeContext.BBSSRC = from_dict['BBSSRC'] AfaLoggerFunc.tradeDebug('TradeContext.BBSSRC = ' + str(TradeContext.BBSSRC)) else: AfaLoggerFunc.tradeDebug("trcbka['BBSSRC']不存在") if from_dict.has_key('DASQ'): TradeContext.DASQ = from_dict['DASQ'] AfaLoggerFunc.tradeDebug('TradeContext.DASQ = ' + str(TradeContext.DASQ)) else: AfaLoggerFunc.tradeDebug("trcbka['DASQ']不存在") if from_dict.has_key('PYRACC'): TradeContext.PYRACC = from_dict['PYRACC'] AfaLoggerFunc.tradeDebug('TradeContext.PYRACC = ' + str(TradeContext.PYRACC)) else: AfaLoggerFunc.tradeDebug("trcbka['PYRACC']不存在") if from_dict.has_key('PYRNAM'): TradeContext.PYRNAM = from_dict['PYRNAM'] AfaLoggerFunc.tradeDebug('TradeContext.PYRNAM = ' + str(TradeContext.PYRNAM)) else: AfaLoggerFunc.tradeDebug("trcbka['PYRNAM']不存在") if from_dict.has_key('PYRADDR'): TradeContext.PYRADDR = from_dict['PYRADDR'] AfaLoggerFunc.tradeDebug('TradeContext.PYRADDR = ' + str(TradeContext.PYRADDR)) else: AfaLoggerFunc.tradeDebug("trcbka['PYRADDR']不存在") if from_dict.has_key('CUR'): TradeContext.CUR = from_dict['CUR'] AfaLoggerFunc.tradeDebug('TradeContext.CUR = ' + str(TradeContext.CUR)) else: AfaLoggerFunc.tradeDebug("trcbka['CUR']不存在") if from_dict.has_key('OCCAMT'): TradeContext.OCCAMT = from_dict['OCCAMT'] AfaLoggerFunc.tradeDebug('TradeContext.OCCAMT = ' + str(TradeContext.OCCAMT)) else: AfaLoggerFunc.tradeDebug("trcbka['OCCAMT']不存在") #====张恒增加于20091228==== if from_dict.has_key('LOCCUSCHRG'): TradeContext.LOCCUSCHRG = from_dict['LOCCUSCHRG'] AfaLoggerFunc.tradeDebug('TradeContext.LOCCUSCHRG = ' + str(TradeContext.LOCCUSCHRG)) else: AfaLoggerFunc.tradeDebug("trcbka['OCCAMT']不存在") #====张恒增加于20091230==== if from_dict.has_key('NOTE2'): TradeContext.NOTE2 = from_dict['NOTE2'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE2 = ' + str(TradeContext.NOTE2)) else: AfaLoggerFunc.tradeDebug("trcbka['OCCAMT']不存在") if from_dict.has_key('SNDBNKCO'): TradeContext.SNDBNKCO = from_dict['SNDBNKCO'] AfaLoggerFunc.tradeDebug('TradeContext.SNDBNKCO = ' + str(TradeContext.SNDBNKCO)) else: AfaLoggerFunc.tradeDebug("trcbka['SNDBNKCO']不存在") if from_dict.has_key('SNDBNKNM'): TradeContext.SNDBNKNM = from_dict['SNDBNKNM'] AfaLoggerFunc.tradeDebug('TradeContext.SNDBNKNM = ' + str(TradeContext.SNDBNKNM)) else: AfaLoggerFunc.tradeDebug("trcbka['SNDBNKNM']不存在") if from_dict.has_key('RCVBNKCO'): TradeContext.RCVBNKCO = from_dict['RCVBNKCO'] AfaLoggerFunc.tradeDebug('TradeContext.RCVBNKCO = ' + str(TradeContext.RCVBNKCO)) else: AfaLoggerFunc.tradeDebug("trcbka['RCVBNKCO']不存在") if from_dict.has_key('RCVBNKNM'): TradeContext.RCVBNKNM = from_dict['RCVBNKNM'] AfaLoggerFunc.tradeDebug('TradeContext.RCVBNKNM = ' + str(TradeContext.RCVBNKNM)) else: AfaLoggerFunc.tradeDebug("trcbka['RCVBNKNM']不存在") if from_dict.has_key('PYEACC'): TradeContext.PYEACC = from_dict['PYEACC'] AfaLoggerFunc.tradeDebug('TradeContext.PYEACC = ' + str(TradeContext.PYEACC)) else: AfaLoggerFunc.tradeDebug("trcbka['PYEACC']不存在") if from_dict.has_key('PYENAM'): TradeContext.PYENAM = from_dict['PYENAM'] AfaLoggerFunc.tradeDebug('TradeContext.PYENAM = ' + str(TradeContext.PYENAM)) else: AfaLoggerFunc.tradeDebug("trcbka['PYENAM']不存在") if from_dict.has_key('PYEADDR'): TradeContext.PYEADDR = from_dict['PYEADDR'] AfaLoggerFunc.tradeDebug('TradeContext.PYEADDR = ' + str(TradeContext.PYEADDR)) else: AfaLoggerFunc.tradeDebug("trcbka['PYEADDR']不存在") if from_dict.has_key('BILTYP'): TradeContext.BILTYP = from_dict['BILTYP'] AfaLoggerFunc.tradeDebug('TradeContext.BILTYP = ' + str(TradeContext.BILTYP)) else: AfaLoggerFunc.tradeDebug("trcbka['BILTYP']不存在") if from_dict.has_key('BILDAT'): TradeContext.BILDAT = from_dict['BILDAT'] AfaLoggerFunc.tradeDebug('TradeContext.BILDAT = ' + str(TradeContext.BILDAT)) else: AfaLoggerFunc.tradeDebug("trcbka['BILDAT']不存在") if from_dict.has_key('BILNO'): TradeContext.BILNO = from_dict['BILNO'] AfaLoggerFunc.tradeDebug('TradeContext.BILNO = ' + str(TradeContext.BILNO)) else: AfaLoggerFunc.tradeDebug("trcbka['BILNO']不存在") if from_dict.has_key('COMAMT'): TradeContext.COMAMT = from_dict['COMAMT'] AfaLoggerFunc.tradeDebug('TradeContext.COMAMT = ' + str(TradeContext.COMAMT)) else: AfaLoggerFunc.tradeDebug("trcbka['COMAMT']不存在") if from_dict.has_key('OVPAYAMT'): TradeContext.OVPAYAMT = from_dict['OVPAYAMT'] AfaLoggerFunc.tradeDebug('TradeContext.OVPAYAMT = ' + str(TradeContext.OVPAYAMT)) else: AfaLoggerFunc.tradeDebug("trcbka['OVPAYAMT']不存在") if from_dict.has_key('CPSAMT'): TradeContext.CPSAMT = from_dict['CPSAMT'] AfaLoggerFunc.tradeDebug('TradeContext.CPSAMT = ' + str(TradeContext.CPSAMT)) else: AfaLoggerFunc.tradeDebug("trcbka['CPSAMT']不存在") if from_dict.has_key('RFUAMT'): TradeContext.RFUAMT = from_dict['RFUAMT'] AfaLoggerFunc.tradeDebug('TradeContext.RFUAMT = ' + str(TradeContext.RFUAMT)) else: AfaLoggerFunc.tradeDebug("trcbka['RFUAMT']不存在") if from_dict.has_key('USE'): TradeContext.USE = from_dict['USE'] AfaLoggerFunc.tradeDebug('TradeContext.USE = ' + str(TradeContext.USE)) else: AfaLoggerFunc.tradeDebug("trcbka['USE']不存在") if from_dict.has_key('REMARK'): TradeContext.REMARK = from_dict['REMARK'] AfaLoggerFunc.tradeDebug('TradeContext.REMARK = ' + str(TradeContext.REMARK)) else: AfaLoggerFunc.tradeDebug("trcbka['REMARK']不存在") if from_dict.has_key('OPRNO'): TradeContext.OPRNO = from_dict['OPRNO'] AfaLoggerFunc.tradeDebug('TradeContext.OPRNO = ' + str(TradeContext.OPRNO)) else: AfaLoggerFunc.tradeDebug("trcbka['OPRNO']不存在") if from_dict.has_key('BRSFLG'): TradeContext.BRSFLG = from_dict['BRSFLG'] AfaLoggerFunc.tradeDebug('TradeContext.BRSFLG = ' + str(TradeContext.BRSFLG)) else: AfaLoggerFunc.tradeDebug("trcbka['BRSFLG']不存在") if from_dict.has_key('BCSTAT'): TradeContext.BCSTAT = from_dict['BCSTAT'] AfaLoggerFunc.tradeDebug('TradeContext.BCSTAT = ' + str(TradeContext.BCSTAT)) else: AfaLoggerFunc.tradeDebug("trcbka['BCSTAT']不存在") if from_dict.has_key('BDWFLG'): TradeContext.BDWFLG = from_dict['BDWFLG'] AfaLoggerFunc.tradeDebug('TradeContext.BDWFLG = ' + str(TradeContext.BDWFLG)) else: AfaLoggerFunc.tradeDebug("trcbka['BDWFLG']不存在") return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统: 往账.本地类操作交易[RCC001_8524]进入***' ) #=====判断输入接口值是否存在==== if( not TradeContext.existVariable( "STRDAT" ) ): return AfaFlowControl.ExitThisFlow('A099','起始日期[STRDAT]不存在' ) if( not TradeContext.existVariable( "ENDDAT" ) ): return AfaFlowControl.ExitThisFlow('A099','终止日期[ENDDAT]不存在' ) if( not TradeContext.existVariable( "BRSFLG" ) ): return AfaFlowControl.ExitThisFlow('A099','往来标志[BRSFLG]不存在' ) #=====组织查询sql语句==== AfaLoggerFunc.tradeInfo( "组织查询语句") if(TradeContext.BESBNO == "3400008889" and TradeContext.RCVBNKCO != ""): sql= "BJEDTE >='"+TradeContext.STRDAT+"' and BJEDTE <='" sql= sql + TradeContext.ENDDAT + "'" else: sql= "BESBNO='" + TradeContext.BESBNO + "' " sql= sql + "and BJEDTE >='"+TradeContext.STRDAT+"' and BJEDTE <='" sql= sql + TradeContext.ENDDAT + "'" if(TradeContext.BRSFLG != ""): sql= sql + " and BRSFLG='"+TradeContext.BRSFLG+"'" AfaLoggerFunc.tradeDebug( "1.sql=" + sql ) #=====判断其它查询条件是否存在==== if(TradeContext.OPRNO != ""): #业务属性 sql = sql + " and OPRNO='" + TradeContext.OPRNO + "'" if(TradeContext.OPRATTNO != ""): #业务属性 sql = sql + " and OPRATTNO='" + TradeContext.OPRATTNO + "'" if(TradeContext.BSPSQN != ""): #报单序号 sql = sql + " and BSPSQN='" + TradeContext.BSPSQN + "'" if(float(TradeContext.OCCAMT) != 0.0): #交易金额 sql = sql + " and OCCAMT=" + TradeContext.OCCAMT if(TradeContext.RCVBNKCO != ""): #接收行号 sql = sql + " and RCVBNKCO='" + TradeContext.RCVBNKCO + "'" if(TradeContext.BCSTAT != ""): #交易状态 if(TradeContext.BDWFLG!= ""): #流转标志 sql = sql + " and exists (select * from RCC_SPBSTA where " sql = sql + " BJEDTE = RCC_TRCBKA.BJEDTE" sql = sql + " and BSPSQN = RCC_TRCBKA.BSPSQN" sql = sql + " and BCSTAT = '" + TradeContext.BCSTAT + "'" sql = sql + " and BDWFLG='" + TradeContext.BDWFLG + "')" else: sql = sql + " and exists (select * from RCC_SPBSTA tab2 where " sql = sql + " BJEDTE = RCC_TRCBKA.BJEDTE" sql = sql + " and BSPSQN = RCC_TRCBKA.BSPSQN" sql = sql + " and BCSTAT = '" + TradeContext.BCSTAT + "')" AfaLoggerFunc.tradeDebug( "sql=" + sql ) #=====开始查询总笔数==== TradeContext.RECALLCOUNT=str(rccpsDBTrcc_trcbka.count(sql)) #总记录笔数 AfaLoggerFunc.tradeDebug( '>>>总笔数=' + TradeContext.RECALLCOUNT ) #=====查询数据库==== ordersql=" order by BJEDTE DESC,BSPSQN DESC" #组织按降序排列排序 AfaLoggerFunc.tradeInfo("查询条件为:"+sql) records=rccpsDBTrcc_trcbka.selectm(TradeContext.RECSTRNO,10,sql,ordersql) if(records==None): return AfaFlowControl.ExitThisFlow('A099','查询失败' ) elif(len(records)==0): return AfaFlowControl.ExitThisFlow('A099','没有查找到记录' ) else: try: #=====打开文件==== AfaLoggerFunc.tradeInfo(">>>生成文件") filename="rccps_"+TradeContext.BETELR+"_"+AfaUtilTools.GetHostDate()+"_"+TradeContext.TransCode fpath=os.environ["AFAP_HOME"]+"/tmp/" f=open(fpath+filename,"w") #=====PL_HDOPRNO_TH 09 退汇==== if(TradeContext.OPRNO==PL_HDOPRNO_TH): AfaLoggerFunc.tradeInfo(">>>进入退汇处理") #=====得到文件内容,生成文件==== for i in range(0,len(records)): #=====得到业务状态BCSTAT==== state_dict={} ret=rccpsState.getTransStateCur(records[i]['BJEDTE'],records[i]['BSPSQN'],state_dict) if(ret==False): return AfaFlowControl.ExitThisFlow( 'S999', '当前状态登记簿中无此交易状态' ) #=====写文件操作==== filecontext = records[i]['BJEDTE'] + "|" \ + records[i]['BSPSQN'] + "|" \ + records[i]['BRSFLG'] + "|" \ + records[i]['BESBNO'] + "|" \ + records[i]['BEACSB'] + "|" \ + records[i]['BETELR'] + "|" \ + records[i]['BEAUUS'] + "|" \ + records[i]['TRCCO'] + "|" \ + records[i]['OPRNO'] + "|" \ + records[i]['OPRATTNO'] + "|" \ + records[i]['TRCDAT'] + "|" \ + records[i]['TRCNO'] + "|" \ + records[i]['SNDBNKCO'] + "|" \ + records[i]['SNDBNKNM'] + "|" \ + records[i]['RCVBNKCO'] + "|" \ + records[i]['RCVBNKNM'] + "|" \ + records[i]['CUR'] + "|" \ + str(records[i]['OCCAMT']) + "|" \ + records[i]['PYRACC'] + "|" \ + records[i]['PYRNAM'] + "|" \ + records[i]['PYRADDR'] + "|" \ + records[i]['PYEACC'] + "|" \ + records[i]['PYENAM'] + "|" \ + records[i]['PYEADDR'] + "|" \ + records[i]['USE'] + "|" \ + records[i]['REMARK'] + "|" \ + records[i]['BILTYP'] + "|" \ + records[i]['BILDAT'] + "|" \ + records[i]['BILNO'] + "|" \ + str(records[i]['COMAMT']) + "|" \ + str(records[i]['OVPAYAMT']) + "|" \ + str(records[i]['CPSAMT']) + "|" \ + str(records[i]['RFUAMT']) + "|" \ + records[i]['CERTTYPE'] + "|" \ + records[i]['CERTNO'] + "|" \ + records[i]['ORTRCCO'] + "|" \ + records[i]['ORTRCDAT'] + "|" \ + records[i]['ORTRCNO'] + "|" \ + records[i]['ORSNDBNK'] + "|" \ + records[i]['ORRCVBNK'] + "|" \ + records[i]['PYRACC'] + "|" \ + records[i]['PYRNAM'] + "|" \ + records[i]['PYEACC'] + "|" \ + records[i]['PYENAM'] + "|" \ + records[i]['STRINFO'] + "|" \ + state_dict['BCSTAT'] + "|" \ + state_dict['BDWFLG'] + "|" \ + records[i]['BOJEDT'] + "|" \ + records[i]['BOSPSQ'] + "|" \ + records[i]['CHRGTYP'] + "|" \ + str(records[i]['LOCCUSCHRG']) + "|" f.write(filecontext+"\n") #=====非退汇==== else: AfaLoggerFunc.tradeInfo(">>>进入非退汇处理") for i in range(len(records)): #=====得到业务状态BCSTAT==== state_dict={} ret=rccpsState.getTransStateCur(records[i]['BJEDTE'],records[i]['BSPSQN'],state_dict) if(state_dict==False): return AfaFlowControl.ExitThisFlow( 'S999', '当前状态登记簿中无此交易状态' ) #=====写文件操作==== filecontext = records[i]['BJEDTE'] + "|" \ + records[i]['BSPSQN'] + "|" \ + records[i]['BRSFLG'] + "|" \ + records[i]['BESBNO'] + "|" \ + records[i]['BEACSB'] + "|" \ + records[i]['BETELR'] + "|" \ + records[i]['BEAUUS'] + "|" \ + records[i]['TRCCO'] + "|" \ + records[i]['OPRNO'] + "|" \ + records[i]['OPRATTNO'] + "|" \ + records[i]['TRCDAT'] + "|" \ + records[i]['TRCNO'] + "|" \ + records[i]['SNDBNKCO'] + "|" \ + records[i]['SNDBNKNM'] + "|" \ + records[i]['RCVBNKCO'] + "|" \ + records[i]['RCVBNKNM'] + "|" \ + records[i]['CUR'] + "|" \ + str(records[i]['OCCAMT'])+ "|" \ + records[i]['PYRACC'] + "|" \ + records[i]['PYRNAM'] + "|" \ + records[i]['PYRADDR'] + "|" \ + records[i]['PYEACC'] + "|" \ + records[i]['PYENAM'] + "|" \ + records[i]['PYEADDR'] + "|" \ + records[i]['USE'] + "|" \ + records[i]['REMARK'] + "|" \ + records[i]['BILTYP'] + "|" \ + records[i]['BILDAT'] + "|" \ + records[i]['BILNO'] + "|" \ + str(records[i]['COMAMT'])+ "|" \ + str(records[i]['OVPAYAMT'])+"|" \ + str(records[i]['CPSAMT'])+ "|" \ + str(records[i]['RFUAMT'])+ "|" \ + records[i]['CERTTYPE'] + "|" \ + records[i]['CERTNO'] + "|" \ + records[i]['ORTRCCO'] + "|" \ + records[i]['ORTRCDAT'] + "|" \ + records[i]['ORTRCNO'] + "|" \ + records[i]['ORSNDBNK'] + "|" \ + records[i]['ORRCVBNK'] + "|" \ + "" + "|" + "" + "|" + "" + "|" + "" + "|" \ + records[i]['STRINFO'] + "|" \ + state_dict['BCSTAT'] + "|" \ + state_dict['BDWFLG'] + "|" \ + records[i]['BOJEDT'] + "|" \ + records[i]['BOSPSQ'] + "|" \ + records[i]['CHRGTYP'] + "|" \ + str(records[i]['LOCCUSCHRG']) + "|" f.write(filecontext+"\n") f.close() AfaLoggerFunc.tradeInfo(">>>生成文件结束") except Exception, e: #=====关闭文件==== f.close() return AfaFlowControl.ExitThisFlow('A099','写入返回文件失败' ) #=====输出接口赋值==== TradeContext.RECCOUNT=str(len(records)) #查询笔数 TradeContext.errorCode="0000" #返回码 TradeContext.errorMsg="成功" #返回信息 TradeContext.PBDAFILE=filename #文件名
def InitGLHostReq( ): #公共部分 HostContext.I1TRCD = TradeContext.HostCode #主机码 HostContext.I1SBNO = TradeContext.BESBNO #网点号 HostContext.I1USID = TradeContext.BETELR #柜员号 if TradeContext.existVariable ( 'BEAUUS') and TradeContext.BEAUUS != '' and TradeContext.existVariable('BEAUPS') and TradeContext.BEAUPS != '': HostContext.I1AUUS = TradeContext.BEAUUS #授权柜员 HostContext.I1AUPS = TradeContext.BEAUPS #授权密码 else: HostContext.I1AUUS = '' HostContext.I1AUPS = '' if TradeContext.existVariable('TERMID') and TradeContext.TERMID != '': HostContext.I1WSNO = TradeContext.TERMID #终端号 else: HostContext.I1WSNO = '1234567890' #终端号 #私有部分 #关彬捷 20081105 移动8810输入接口初始化程序至InitHostReq函数中 #if (TradeContext.HostCode == '8810'): # #查询帐户信息 # HostContext.I1ACNO = TradeContext.ACCNO #帐号 # HostContext.I1CYNO = '01' #币种 # HostContext.I1CFFG = '1' #密码校验标志 # HostContext.I1PSWD = '' #密码 # HostContext.I1CETY = '' #凭证种类 # HostContext.I1CCSQ = '' #凭证号码 # HostContext.I1CTFG = '0' #钞汇标志 # return True if (TradeContext.HostCode == '8811'): #查询凭证信息 AfaLoggerFunc.tradeDebug('>>>开始查询凭证信息') HostContext.I1ACCN = TradeContext.ACCNO #帐号 HostContext.I1CETY = TradeContext.WARNTNO[0:2] #凭证种类 HostContext.I1CCSQ = TradeContext.WARNTNO[2:] #凭证号码 return True if (TradeContext.HostCode == '8812'): #外联关联帐户登记交易 HostContext.I1TRFG = '' #处理标志(0-登记 1-取消) HostContext.I1ACCN = '' #帐号 HostContext.I1PRCD = '' #代理标志 return True if (TradeContext.HostCode == '8814'): #批量申请 HostContext.I1CLDT = '' #批量委托日期 HostContext.I1UNSQ = '' #批量委托号 HostContext.I1NBBH = '' #代理业务号 HostContext.I1OPFG = '2' #事务标志 HostContext.I1TRFG = '1' #处理标志 HostContext.I1RPTF = '0' #重复标志 HostContext.I1STDT = '' #批量起始日期 HostContext.I1ENDT = '' #批量截止日期 HostContext.I1COUT = '' #委托总笔数 HostContext.I1TOAM = '' #委托总金额 HostContext.I1FINA = '' #上送文件名称 return True if (TradeContext.HostCode == '8815'): #批量查询 HostContext.I1NBBH = 'RCC' #代理业务号 HostContext.I1CLDT = '' #批量委托日期 HostContext.I1UNSQ = '' #批量委托号 HostContext.I1FINA = '' #下传文件名 HostContext.I1DWFG = '2' #下传标志 return True #=====刘雨龙 20081129 新增8816查询主机账务==== if (TradeContext.HostCode == '8816'): #主机账务查询 if TradeContext.existVariable('OPFG') and TradeContext.OPFG != '': HostContext.I1OPFG = TradeContext.OPFG else: HostContext.I1OPFG = '1' #查询类型 if TradeContext.existVariable('NBBH') and TradeContext.NBBH != '': HostContext.I1NBBH = TradeContext.NBBH else: HostContext.I1NBBH = 'RCC' #代理业务号 HostContext.I1FEDT = TradeContext.FEDT #原前置日期 HostContext.I1RBSQ = TradeContext.RBSQ #原前置流水 if TradeContext.existVariable('DATE') and TradeContext.DATE != '': HostContext.I1DATE = TradeContext.DATE else: HostContext.I1DATE = '' #原主机日期 if TradeContext.existVariable('I1TLSQ'): HostContext.I1TLSQ = TradeContext.I1TLSQ else: HostContext.I1TLSQ = '' #原主机日期 if TradeContext.existVariable('I1TRDT'): HostContext.I1TRDT = TradeContext.I1TRDT else: HostContext.I1TRDT = '' #原创建日期 if TradeContext.existVariable('I1RGSQ'): HostContext.I1RGSQ = TradeContext.I1RGSQ else: HostContext.I1RGSQ = '' #创建流水 if TradeContext.existVariable('DAFG'): HostContext.I1DAFG = TradeContext.DAFG else: HostContext.I1DAFG = '1' #抹/记账标志 return True if (TradeContext.HostCode == '8818'): #对帐明细申请 HostContext.I1CLDT = '' #批量委托日期 HostContext.I1UNSQ = '' #批量委托号 HostContext.I1NBBH = '' #代理业务号 HostContext.I1DATE = '' #外系统日期 HostContext.I1FINA = '' #下传文件名称 return True if (TradeContext.HostCode == '8819'): #检查文件是否生成 HostContext.I1NBBH = '' #代理业务号 HostContext.I1CLDT = '' #原批量日期 HostContext.I1UNSQ = '' #原批量委托号 HostContext.I1FILE = '' #删除文件名 HostContext.I1OPFG = '' #操作标志(0-查询 1-删除上传文件 2-删除下传文件) return True if (TradeContext.HostCode == '8847'): #检查文件是否生成 HostContext.I1ACCN = '' #对公活期帐号 HostContext.I1STDT = '' #起始日期 HostContext.I1EDDT = '' #终止日期 HostContext.I1FINA = '' #文件名称 return True #=====刘雨龙 20081205 新增下载主机对账文件==== if (TradeContext.HostCode == '8825'): if TradeContext.existVariable('STRDAT'): HostContext.I1STDT = TradeContext.STRDAT else: HostContext.I1STDT = '' if TradeContext.existVariable('ENDDAT'): HostContext.I1EDDT = TradeContext.ENDDAT else: HostContext.I1EDDT = '' return True if (TradeContext.HostCode == '8826'): #对账请求 if TradeContext.existVariable('NBBH'): HostContext.I1NBBH = TradeContext.NBBH #代理标识 else: HostContext.I1NBBH = '' #代理标识 if TradeContext.existVariable('COUT'): HostContext.I1COUT = TradeContext.COUT #总笔数 else: HostContext.I1COUT = '' #总笔数 if TradeContext.existVariable('TOAM'): HostContext.I1TOAM = TradeContext.TOAM #总金额 else: HostContext.I1TOAM = '' #总金额 if TradeContext.existVariable('FINA'): HostContext.I1FINA = TradeContext.FINA #上传文件名称 else: HostContext.I1FINA = '' #上传文件名称 return True #=====刘雨龙 20081128 新增关于手续费清单文件上传==== if (TradeContext.HostCode == '8823'): #手续费请求 if TradeContext.existVariable('CONT'): HostContext.I1COUT = TradeContext.CONT #总笔数 else: HostContext.I1COUT = '' #总金额 if TradeContext.existVariable('OCCAMT'): HostContext.I1TOAM = TradeContext.OCCAMT #总金额 else: HostContext.I1TOAM = '' #总金额 if TradeContext.existVariable('fileName'): HostContext.I1FINA = TradeContext.fileName #上传文件名称 else: HostContext.I1FINA = '' #上传文件名称 return True #曾照泰 20110520 新增关于错帐控制和解控交易==== if (TradeContext.HostCode == '0061'): #错帐控制解控标识位请求 if TradeContext.existVariable('kjflag'): HostContext.I1CLFG = TradeContext.kjflag #控制解控标识位 else: HostContext.I1CLFG = '' AfaLoggerFunc.tradeInfo(">>>>>>"+"test1") if TradeContext.existVariable('ACCNO'): #被控制或解控的账号 AfaLoggerFunc.tradeInfo(">>>>>>"+"test2") AfaLoggerFunc.tradeInfo(">>>>>>"+"test((((("+TradeContext.ACCNO) AfaLoggerFunc.tradeInfo(len(TradeContext.ACCNO.strip())) AfaLoggerFunc.tradeInfo((TradeContext.ACCNO)[0:1]) AfaLoggerFunc.tradeInfo(">>>>>>"+"test3") if (len(TradeContext.ACCNO.strip())==19 and ((TradeContext.ACCNO)[0:1]=='6')): #卡 HostContext.I1CCTY ='1' #客户类别 对私 HostContext.I1CARD = (TradeContext.ACCNO)[6:18] #卡号 else: AfaLoggerFunc.tradeInfo(">>>>>>"+"test4") HostContext.I1CARD = '' #卡号 if (len(TradeContext.ACCNO.strip())==19 and (TradeContext.ACCNO)[0:1]!='6'): #旧账号 HostContext.I1CCTY ='1' #客户类别 对私 旧账号全是对私 HostContext.I1OLAC =TradeContext.ACCNO #旧账号 else: HostContext.I1OLAC ='' if (len(TradeContext.ACCNO.strip())==23 and (TradeContext.ACCNO)[0:1]=='1'): #对私账号 HostContext.I1CCTY ='1' #客户类别 1对私 2对公 HostContext.I1SVAC = TradeContext.ACCNO #对私账号 else: HostContext.I1SVAC = '' if (len(TradeContext.ACCNO.strip())==23 and (TradeContext.ACCNO)[0:1]=='2'): #对公账号 HostContext.I1CCTY ='2' #客户类别 1对私 2对公 HostContext.I1ACCN = TradeContext.ACCNO #客户账号 else: HostContext.I1ACCN ='' HostContext.I1CYNO = '01' #币种 HostContext.I1SBSQ = '' #顺序号 if TradeContext.existVariable('ERRCONBAL'): #控制金额 HostContext.I1NGAM = TradeContext.ERRCONBAL else: HostContext.I1NGAM= '' HostContext.I1YSQM = '' #预授权码 return True
def map(to_dict): if TradeContext.existVariable('BJEDTE'): to_dict['BJEDTE'] = TradeContext.BJEDTE AfaLoggerFunc.tradeDebug('wtrbka_dict[BJEDTE] = ' + str(to_dict['BJEDTE'])) else: AfaLoggerFunc.tradeWarn("报单日期不能为空") return False if TradeContext.existVariable('BSPSQN'): to_dict['BSPSQN'] = TradeContext.BSPSQN AfaLoggerFunc.tradeDebug('wtrbka_dict[BSPSQN] = ' + str(to_dict['BSPSQN'])) else: AfaLoggerFunc.tradeWarn("报单序号不能为空") return False if TradeContext.existVariable('BRSFLG'): to_dict['BRSFLG'] = TradeContext.BRSFLG AfaLoggerFunc.tradeDebug('wtrbka_dict[BRSFLG] = ' + str(to_dict['BRSFLG'])) else: AfaLoggerFunc.tradeWarn("往来标识不能为空") return False if TradeContext.existVariable('BESBNO'): to_dict['BESBNO'] = TradeContext.BESBNO AfaLoggerFunc.tradeDebug('wtrbka_dict[BESBNO] = ' + str(to_dict['BESBNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BESBNO不存在") if TradeContext.existVariable('BEACSB'): to_dict['BEACSB'] = TradeContext.BEACSB AfaLoggerFunc.tradeDebug('wtrbka_dict[BEACSB] = ' + str(to_dict['BEACSB'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BEACSB不存在") if TradeContext.existVariable('BETELR'): to_dict['BETELR'] = TradeContext.BETELR AfaLoggerFunc.tradeDebug('wtrbka_dict[BETELR] = ' + str(to_dict['BETELR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BETELR不存在") if TradeContext.existVariable('BEAUUS'): to_dict['BEAUUS'] = TradeContext.BEAUUS AfaLoggerFunc.tradeDebug('wtrbka_dict[BEAUUS] = ' + str(to_dict['BEAUUS'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BEAUUS不存在") if TradeContext.existVariable('BEAUPS'): to_dict['BEAUPS'] = TradeContext.BEAUPS AfaLoggerFunc.tradeDebug('wtrbka_dict[BEAUPS] = ' + str(to_dict['BEAUPS'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BEAUPS不存在") if TradeContext.existVariable('TERMID'): to_dict['TERMID'] = TradeContext.TERMID AfaLoggerFunc.tradeDebug('wtrbka_dict[TERMID] = ' + str(to_dict['TERMID'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TERMID不存在") if TradeContext.existVariable('BBSSRC'): to_dict['BBSSRC'] = TradeContext.BBSSRC AfaLoggerFunc.tradeDebug('wtrbka_dict[BBSSRC] = ' + str(to_dict['BBSSRC'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BBSSRC不存在") if TradeContext.existVariable('DASQ'): to_dict['DASQ'] = TradeContext.DASQ AfaLoggerFunc.tradeDebug('wtrbka_dict[DASQ] = ' + str(to_dict['DASQ'])) else: AfaLoggerFunc.tradeDebug("TradeContext.DASQ不存在") if TradeContext.existVariable('DCFLG'): to_dict['DCFLG'] = TradeContext.DCFLG AfaLoggerFunc.tradeDebug('wtrbka_dict[DCFLG] = ' + str(to_dict['DCFLG'])) else: AfaLoggerFunc.tradeDebug("TradeContext.DCFLG不存在") if TradeContext.existVariable('OPRNO'): to_dict['OPRNO'] = TradeContext.OPRNO AfaLoggerFunc.tradeDebug('wtrbka_dict[OPRNO] = ' + str(to_dict['OPRNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.OPRNO不存在") if TradeContext.existVariable('OPRATTNO'): to_dict['OPRATTNO'] = TradeContext.OPRATTNO AfaLoggerFunc.tradeDebug('wtrbka_dict[OPRATTNO] = ' + str(to_dict['OPRATTNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.OPRATTNO不存在") if TradeContext.existVariable('NCCWKDAT'): to_dict['NCCWKDAT'] = TradeContext.NCCWKDAT AfaLoggerFunc.tradeDebug('wtrbka_dict[NCCWKDAT] = ' + str(to_dict['NCCWKDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NCCWKDAT不存在") if TradeContext.existVariable('TRCCO'): to_dict['TRCCO'] = TradeContext.TRCCO AfaLoggerFunc.tradeDebug('wtrbka_dict[TRCCO] = ' + str(to_dict['TRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCCO不存在") if TradeContext.existVariable('TRCDAT'): to_dict['TRCDAT'] = TradeContext.TRCDAT AfaLoggerFunc.tradeDebug('wtrbka_dict[TRCDAT] = ' + str(to_dict['TRCDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCDAT不存在") if TradeContext.existVariable('TRCNO'): to_dict['TRCNO'] = TradeContext.TRCNO AfaLoggerFunc.tradeDebug('wtrbka_dict[TRCNO] = ' + str(to_dict['TRCNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCNO不存在") if TradeContext.existVariable('MSGFLGNO'): to_dict['MSGFLGNO'] = TradeContext.MSGFLGNO AfaLoggerFunc.tradeDebug('wtrbka_dict[MSGFLGNO] = ' + str(to_dict['MSGFLGNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.MSGFLGNO不存在") if TradeContext.existVariable('COTRCDAT'): to_dict['COTRCDAT'] = TradeContext.COTRCDAT AfaLoggerFunc.tradeDebug('wtrbka_dict[COTRCDAT] = ' + str(to_dict['COTRCDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.COTRCDAT不存在") if TradeContext.existVariable('COTRCNO'): to_dict['COTRCNO'] = TradeContext.COTRCNO AfaLoggerFunc.tradeDebug('wtrbka_dict[COTRCNO] = ' + str(to_dict['COTRCNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.COTRCNO不存在") if TradeContext.existVariable('COMSGFLGNO'): to_dict['COMSGFLGNO'] = TradeContext.COMSGFLGNO AfaLoggerFunc.tradeDebug('wtrbka_dict[COMSGFLGNO] = ' + str(to_dict['COMSGFLGNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.COMSGFLGNO不存在") if TradeContext.existVariable('SNDMBRCO'): to_dict['SNDMBRCO'] = TradeContext.SNDMBRCO AfaLoggerFunc.tradeDebug('wtrbka_dict[SNDMBRCO] = ' + str(to_dict['SNDMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDMBRCO不存在") if TradeContext.existVariable('RCVMBRCO'): to_dict['RCVMBRCO'] = TradeContext.RCVMBRCO AfaLoggerFunc.tradeDebug('wtrbka_dict[RCVMBRCO] = ' + str(to_dict['RCVMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVMBRCO不存在") if TradeContext.existVariable('SNDBNKCO'): to_dict['SNDBNKCO'] = TradeContext.SNDBNKCO AfaLoggerFunc.tradeDebug('wtrbka_dict[SNDBNKCO] = ' + str(to_dict['SNDBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKCO不存在") if TradeContext.existVariable('SNDBNKNM'): to_dict['SNDBNKNM'] = TradeContext.SNDBNKNM AfaLoggerFunc.tradeDebug('wtrbka_dict[SNDBNKNM] = ' + str(to_dict['SNDBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKNM不存在") if TradeContext.existVariable('RCVBNKCO'): to_dict['RCVBNKCO'] = TradeContext.RCVBNKCO AfaLoggerFunc.tradeDebug('wtrbka_dict[RCVBNKCO] = ' + str(to_dict['RCVBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKCO不存在") if TradeContext.existVariable('RCVBNKNM'): to_dict['RCVBNKNM'] = TradeContext.RCVBNKNM AfaLoggerFunc.tradeDebug('wtrbka_dict[RCVBNKNM] = ' + str(to_dict['RCVBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKNM不存在") if TradeContext.existVariable('CUR'): to_dict['CUR'] = TradeContext.CUR AfaLoggerFunc.tradeDebug('wtrbka_dict[CUR] = ' + str(to_dict['CUR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CUR不存在") if TradeContext.existVariable('OCCAMT'): to_dict['OCCAMT'] = TradeContext.OCCAMT AfaLoggerFunc.tradeDebug('wtrbka_dict[OCCAMT] = ' + str(to_dict['OCCAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.OCCAMT不存在") if TradeContext.existVariable('CHRGTYP'): to_dict['CHRGTYP'] = TradeContext.CHRGTYP AfaLoggerFunc.tradeDebug('wtrbka_dict[CHRGTYP] = ' + str(to_dict['CHRGTYP'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CHRGTYP不存在") if TradeContext.existVariable('LOCCUSCHRG'): to_dict['LOCCUSCHRG'] = TradeContext.LOCCUSCHRG AfaLoggerFunc.tradeDebug('wtrbka_dict[LOCCUSCHRG] = ' + str(to_dict['LOCCUSCHRG'])) else: AfaLoggerFunc.tradeDebug("TradeContext.LOCCUSCHRG不存在") if TradeContext.existVariable('CUSCHRG'): to_dict['CUSCHRG'] = TradeContext.CUSCHRG AfaLoggerFunc.tradeDebug('wtrbka_dict[CUSCHRG] = ' + str(to_dict['CUSCHRG'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CUSCHRG不存在") if TradeContext.existVariable('PYRTYP'): to_dict['PYRTYP'] = TradeContext.PYRTYP AfaLoggerFunc.tradeDebug('wtrbka_dict[PYRTYP] = ' + str(to_dict['PYRTYP'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYRTYP不存在") if TradeContext.existVariable('PYRACC'): to_dict['PYRACC'] = TradeContext.PYRACC AfaLoggerFunc.tradeDebug('wtrbka_dict[PYRACC] = ' + str(to_dict['PYRACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYRACC不存在") if TradeContext.existVariable('PYRNAM'): to_dict['PYRNAM'] = TradeContext.PYRNAM AfaLoggerFunc.tradeDebug('wtrbka_dict[PYRNAM] = ' + str(to_dict['PYRNAM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYRNAM不存在") if TradeContext.existVariable('PYRADDR'): to_dict['PYRADDR'] = TradeContext.PYRADDR AfaLoggerFunc.tradeDebug('wtrbka_dict[PYRADDR] = ' + str(to_dict['PYRADDR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYRADDR不存在") if TradeContext.existVariable('PYETYP'): to_dict['PYETYP'] = TradeContext.PYETYP AfaLoggerFunc.tradeDebug('wtrbka_dict[PYETYP] = ' + str(to_dict['PYETYP'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYETYP不存在") if TradeContext.existVariable('PYEACC'): to_dict['PYEACC'] = TradeContext.PYEACC AfaLoggerFunc.tradeDebug('wtrbka_dict[PYEACC] = ' + str(to_dict['PYEACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYEACC不存在") if TradeContext.existVariable('PYENAM'): to_dict['PYENAM'] = TradeContext.PYENAM AfaLoggerFunc.tradeDebug('wtrbka_dict[PYENAM] = ' + str(to_dict['PYENAM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYENAM不存在") if TradeContext.existVariable('PYEADDR'): to_dict['PYEADDR'] = TradeContext.PYEADDR AfaLoggerFunc.tradeDebug('wtrbka_dict[PYEADDR] = ' + str(to_dict['PYEADDR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYEADDR不存在") if TradeContext.existVariable('STRINFO'): to_dict['STRINFO'] = TradeContext.STRINFO AfaLoggerFunc.tradeDebug('wtrbka_dict[STRINFO] = ' + str(to_dict['STRINFO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.STRINFO不存在") if TradeContext.existVariable('CERTTYPE'): to_dict['CERTTYPE'] = TradeContext.CERTTYPE AfaLoggerFunc.tradeDebug('wtrbka_dict[CERTTYPE] = ' + str(to_dict['CERTTYPE'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CERTTYPE不存在") if TradeContext.existVariable('CERTNO'): to_dict['CERTNO'] = TradeContext.CERTNO AfaLoggerFunc.tradeDebug('wtrbka_dict[CERTNO] = ' + str(to_dict['CERTNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CERTNO不存在") if TradeContext.existVariable('BNKBKNO'): to_dict['BNKBKNO'] = TradeContext.BNKBKNO AfaLoggerFunc.tradeDebug('wtrbka_dict[BNKBKNO] = ' + str(to_dict['BNKBKNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BNKBKNO不存在") if TradeContext.existVariable('BNKBKBAL'): to_dict['BNKBKBAL'] = TradeContext.BNKBKBAL AfaLoggerFunc.tradeDebug('wtrbka_dict[BNKBKBAL] = ' + str(to_dict['BNKBKBAL'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BNKBKBAL不存在") if TradeContext.existVariable('NOTE1'): to_dict['NOTE1'] = TradeContext.NOTE1 AfaLoggerFunc.tradeDebug('wtrbka_dict[NOTE1] = ' + str(to_dict['NOTE1'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE1不存在") if TradeContext.existVariable('NOTE2'): to_dict['NOTE2'] = TradeContext.NOTE2 AfaLoggerFunc.tradeDebug('wtrbka_dict[NOTE2] = ' + str(to_dict['NOTE2'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE2不存在") if TradeContext.existVariable('NOTE3'): to_dict['NOTE3'] = TradeContext.NOTE3 AfaLoggerFunc.tradeDebug('wtrbka_dict[NOTE3] = ' + str(to_dict['NOTE3'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE3不存在") if TradeContext.existVariable('NOTE4'): to_dict['NOTE4'] = TradeContext.NOTE4 AfaLoggerFunc.tradeDebug('wtrbka_dict[NOTE4] = ' + str(to_dict['NOTE4'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE4不存在") return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统:往账.本地类操作交易[TRC001_8526]进入***' ) #=====得到起始笔数==== start_no=TradeContext.RECSTRNO #=====组织sql语句==== wheresql="" wheresql = wheresql + "NOTE3='" + TradeContext.BESBNO + "' and " #=====判断起始时间是否为空==== if (TradeContext.STRDAT != "00000000"): wheresql = wheresql + "BILDAT>='"+TradeContext.STRDAT+"' and " #=====判断终止时间是否为空==== if (TradeContext.ENDDAT != "00000000"): wheresql=wheresql+" BILDAT<='"+TradeContext.ENDDAT+"' and " #=====判断汇票类别是否为空==== if (TradeContext.BILTYP != ""): wheresql=wheresql+" BILTYP='"+TradeContext.BILTYP+"' and " #=====判断汇票状态是否为空==== if (TradeContext.HPSTAT != ""): wheresql=wheresql+" HPSTAT='"+TradeContext.HPSTAT+"' and " #=====判断兑付方式是否为空==== if (TradeContext.PAYWAY != ""): wheresql=wheresql+" PAYWAY='"+TradeContext.PAYWAY+"' and " #=====判断汇票本行他行标识是否为空==== if(TradeContext.BILRS !="" ): wheresql=wheresql+" BILRS='"+TradeContext.BILRS+"' and " #=====判断汇票版本号是否为空==== if(TradeContext.BILVER!="" ): wheresql=wheresql+" BILVER='"+TradeContext.BILVER+"' and " #=====判断汇票号码是否为空==== if(TradeContext.BILNO!="" ): wheresql=wheresql+" BILNO='"+TradeContext.BILNO+"' and " #=====判断出票金额是否为0==== if((TradeContext.BILAMT).strip() != '0.00' ): wheresql = wheresql + " BILAMT=" + str(TradeContext.BILAMT) + ' and ' #=====去除sql查询语句最后4位"end "==== wheresql = wheresql[:-4] #=====开始查询总笔数==== allcount=rccpsDBTrcc_bilinf.count(wheresql) if(allcount<0): return AfaFlowControl.ExitThisFlow('A099','查找总记录数失败' ) #=====开始查询明细==== ordersql = " order by BILNO DESC" records=rccpsDBTrcc_bilinf.selectm(start_no,10,wheresql,ordersql) if(records==None): return AfaFlowControl.ExitThisFlow('A099','查询异常' ) elif(len(records)==0): return AfaFlowControl.ExitThisFlow('S999','无对应记录' ) else: #=====生成文件==== filename = "rccps_" + TradeContext.BETELR + "_" + AfaUtilTools.GetHostDate() + "_" + TradeContext.TransCode fpath=os.environ["AFAP_HOME"]+"/tmp/" f=open(fpath+filename,"w") if f == None: return AfaFlowControl.ExitThisFlow('S999','打开文件失败') for i in range(0,len(records)): #=====生成文件内容==== AfaLoggerFunc.tradeDebug ("生成文件内容 ") filecontext = "" filecontext = filecontext + records[i]['BILVER'] + "|" #汇票版本号 filecontext = filecontext + records[i]['BILNO'] + "|" #汇票号码 filecontext = filecontext + records[i]['BILRS'] + "|" #汇票本行他行标识 filecontext = filecontext + records[i]['BILTYP'] + "|" #汇票类别 filecontext = filecontext + records[i]['BILDAT'] + "|" #汇票日期 filecontext = filecontext + records[i]['PAYWAY'] + "|" #兑付方式 filecontext = filecontext + records[i]['REMBNKCO'] + "|" #出票行行号 filecontext = filecontext + records[i]['REMBNKNM'] + "|" #出票行行名 filecontext = filecontext + records[i]['PAYBNKCO'] + "|" #代理付款行行号 filecontext = filecontext + records[i]['PAYBNKNM'] + "|" #代理付款行行名 filecontext = filecontext + records[i]['PYRACC'] + "|" #出票人账号 filecontext = filecontext + records[i]['PYRNAM'] + "|" #出票人户名 filecontext = filecontext + records[i]['PYRADDR'] + "|" #出票人地址 filecontext = filecontext + records[i]['PYEACC'] + "|" #收款人账号 filecontext = filecontext + records[i]['PYENAM'] + "|" #收款人户名 filecontext = filecontext + records[i]['PYEADDR'] + "|" #收款人地址 filecontext = filecontext + records[i]['PYHACC'] + "|" #持票人账号 filecontext = filecontext + records[i]['PYHNAM'] + "|" #持票人户名 filecontext = filecontext + records[i]['PYHADDR'] + "|" #持票人地址 filecontext = filecontext + records[i]['PYITYP'] + "|" #入账账户类型 filecontext = filecontext + records[i]['PYIACC'] + "|" #入账账户账号 filecontext = filecontext + records[i]['PYINAM'] + "|" #入账账户户名 filecontext = filecontext + records[i]['CUR'] + "|" #币种 filecontext = filecontext + str(records[i]['BILAMT']) + "|" #出票金额 filecontext = filecontext + str(records[i]['OCCAMT']) + "|" #实际结算金额 filecontext = filecontext + str(records[i]['RMNAMT']) + "|" #结余金额 filecontext = filecontext + records[i]['SEAL'] + "|" #密押 filecontext = filecontext + records[i]['USE'] + "|" #用途 filecontext = filecontext + records[i]['REMARK'] + "|" #备注 filecontext = filecontext + records[i]['HPSTAT'] + "|" #汇票状态 f.write(filecontext+"\n") f.close() #=====输出接口==== TradeContext.PBDAFILE=filename #文件名 TradeContext.RECCOUNT=str(len(records)) #查询笔数 TradeContext.RECALLCOUNT=str(allcount) #总笔数 TradeContext.errorCode="0000" TradeContext.errorMsg="查询成功" AfaLoggerFunc.tradeInfo( '***农信银系统:往账.本地类操作交易[TRC001_8526]退出***' ) return True
def map(to_dict): if TradeContext.existVariable('BILVER'): to_dict['BILVER'] = TradeContext.BILVER AfaLoggerFunc.tradeDebug('bilinf[BILVER] = ' + str(to_dict['BILVER'])) else: AfaLoggerFunc.tradeWarn("汇票版本号不能为空") return False if TradeContext.existVariable('BILNO'): to_dict['BILNO'] = TradeContext.BILNO AfaLoggerFunc.tradeDebug('bilinf[BILNO] = ' + str(to_dict['BILNO'])) else: AfaLoggerFunc.tradeWarn("汇票号码不能为空") return False if TradeContext.existVariable('BILRS'): to_dict['BILRS'] = TradeContext.BILRS AfaLoggerFunc.tradeDebug('bilinf[BILRS] = ' + str(to_dict['BILRS'])) else: AfaLoggerFunc.tradeWarn("汇票往来标识不能为空") return False if TradeContext.existVariable('BILTYP'): to_dict['BILTYP'] = TradeContext.BILTYP AfaLoggerFunc.tradeDebug('bilinf[BILTYP] = ' + str(to_dict['BILTYP'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BILTYP不存在") if TradeContext.existVariable('BILDAT'): to_dict['BILDAT'] = TradeContext.BILDAT AfaLoggerFunc.tradeDebug('bilinf[BILDAT] = ' + str(to_dict['BILDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BILDAT不存在") if TradeContext.existVariable('PAYWAY'): to_dict['PAYWAY'] = TradeContext.PAYWAY AfaLoggerFunc.tradeDebug('bilinf[PAYWAY] = ' + str(to_dict['PAYWAY'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PAYWAY不存在") if TradeContext.existVariable('REMBNKCO'): to_dict['REMBNKCO'] = TradeContext.REMBNKCO AfaLoggerFunc.tradeDebug('bilinf[REMBNKCO] = ' + str(to_dict['REMBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.REMBNKCO不存在") if TradeContext.existVariable('REMBNKNM'): to_dict['REMBNKNM'] = TradeContext.REMBNKNM AfaLoggerFunc.tradeDebug('bilinf[REMBNKNM] = ' + str(to_dict['REMBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.REMBNKNM不存在") if TradeContext.existVariable('PAYBNKCO'): to_dict['PAYBNKCO'] = TradeContext.PAYBNKCO AfaLoggerFunc.tradeDebug('bilinf[PAYBNKCO] = ' + str(to_dict['PAYBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PAYBNKCO不存在") if TradeContext.existVariable('PAYBNKNM'): to_dict['PAYBNKNM'] = TradeContext.PAYBNKNM AfaLoggerFunc.tradeDebug('bilinf[PAYBNKNM] = ' + str(to_dict['PAYBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PAYBNKNM不存在") if TradeContext.existVariable('PYRACC'): to_dict['PYRACC'] = TradeContext.PYRACC AfaLoggerFunc.tradeDebug('bilinf[PYRACC] = ' + str(to_dict['PYRACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYRACC不存在") if TradeContext.existVariable('PYRNAM'): to_dict['PYRNAM'] = TradeContext.PYRNAM AfaLoggerFunc.tradeDebug('bilinf[PYRNAM] = ' + str(to_dict['PYRNAM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYRNAM不存在") if TradeContext.existVariable('PYRADDR'): to_dict['PYRADDR'] = TradeContext.PYRADDR AfaLoggerFunc.tradeDebug('bilinf[PYRADDR] = ' + str(to_dict['PYRADDR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYRADDR不存在") if TradeContext.existVariable('PYEACC'): to_dict['PYEACC'] = TradeContext.PYEACC AfaLoggerFunc.tradeDebug('bilinf[PYEACC] = ' + str(to_dict['PYEACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYEACC不存在") if TradeContext.existVariable('PYENAM'): to_dict['PYENAM'] = TradeContext.PYENAM AfaLoggerFunc.tradeDebug('bilinf[PYENAM] = ' + str(to_dict['PYENAM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYENAM不存在") if TradeContext.existVariable('PYEADDR'): to_dict['PYEADDR'] = TradeContext.PYEADDR AfaLoggerFunc.tradeDebug('bilinf[PYEADDR] = ' + str(to_dict['PYEADDR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYEADDR不存在") if TradeContext.existVariable('PYHACC'): to_dict['PYHACC'] = TradeContext.PYHACC AfaLoggerFunc.tradeDebug('bilinf[PYHACC] = ' + str(to_dict['PYHACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYHACC不存在") if TradeContext.existVariable('PYHNAM'): to_dict['PYHNAM'] = TradeContext.PYHNAM AfaLoggerFunc.tradeDebug('bilinf[PYHNAM] = ' + str(to_dict['PYHNAM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYHNAM不存在") if TradeContext.existVariable('PYHADDR'): to_dict['PYHADDR'] = TradeContext.PYHADDR AfaLoggerFunc.tradeDebug('bilinf[PYHADDR] = ' + str(to_dict['PYHADDR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYHADDR不存在") if TradeContext.existVariable('PYITYP'): to_dict['PYITYP'] = TradeContext.PYITYP AfaLoggerFunc.tradeDebug('bilinf[PYITYP] = ' + str(to_dict['PYITYP'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYITYP不存在") if TradeContext.existVariable('PYIACC'): to_dict['PYIACC'] = TradeContext.PYIACC AfaLoggerFunc.tradeDebug('bilinf[PYIACC] = ' + str(to_dict['PYIACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYIACC不存在") if TradeContext.existVariable('PYINAM'): to_dict['PYINAM'] = TradeContext.PYINAM AfaLoggerFunc.tradeDebug('bilinf[PYINAM] = ' + str(to_dict['PYINAM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYINAM不存在") if TradeContext.existVariable('BILAMT'): to_dict['BILAMT'] = TradeContext.BILAMT AfaLoggerFunc.tradeDebug('bilinf[BILAMT] = ' + str(to_dict['BILAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BILAMT不存在") if TradeContext.existVariable('OCCAMT'): to_dict['OCCAMT'] = TradeContext.OCCAMT AfaLoggerFunc.tradeDebug('bilinf[OCCAMT] = ' + str(to_dict['OCCAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.OCCAMT不存在") if TradeContext.existVariable('RMNAMT'): to_dict['RMNAMT'] = TradeContext.RMNAMT AfaLoggerFunc.tradeDebug('bilinf[RMNAMT] = ' + str(to_dict['RMNAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RMNAMT不存在") if TradeContext.existVariable('CUR'): to_dict['CUR'] = TradeContext.CUR AfaLoggerFunc.tradeDebug('bilinf[CUR] = ' + str(to_dict['CUR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CUR不存在") if TradeContext.existVariable('SEAL'): to_dict['SEAL'] = TradeContext.SEAL AfaLoggerFunc.tradeDebug('bilinf[SEAL] = ' + str(to_dict['SEAL'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SEAL不存在") if TradeContext.existVariable('USE'): to_dict['USE'] = TradeContext.USE AfaLoggerFunc.tradeDebug('bilinf[USE] = ' + str(to_dict['USE'])) else: AfaLoggerFunc.tradeDebug("TradeContext.USE不存在") if TradeContext.existVariable('REMARK'): to_dict['REMARK'] = TradeContext.REMARK AfaLoggerFunc.tradeDebug('bilinf[REMARK] = ' + str(to_dict['REMARK'])) else: AfaLoggerFunc.tradeDebug("TradeContext.REMARK不存在") if TradeContext.existVariable('HPCUSQ'): to_dict['HPCUSQ'] = TradeContext.HPCUSQ AfaLoggerFunc.tradeDebug('bilinf[HPCUSQ] = ' + str(to_dict['HPCUSQ'])) else: AfaLoggerFunc.tradeDebug("TradeContext.HPCUSQ不存在") if TradeContext.existVariable('HPSTAT'): to_dict['HPSTAT'] = TradeContext.HPSTAT AfaLoggerFunc.tradeDebug('bilinf[HPSTAT] = ' + str(to_dict['HPSTAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.HPSTAT不存在") if TradeContext.existVariable('NOTE1'): to_dict['NOTE1'] = TradeContext.NOTE1 AfaLoggerFunc.tradeDebug('bilinf[NOTE1] = ' + str(to_dict['NOTE1'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE1不存在") if TradeContext.existVariable('NOTE2'): to_dict['NOTE2'] = TradeContext.NOTE2 AfaLoggerFunc.tradeDebug('bilinf[NOTE2] = ' + str(to_dict['NOTE2'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE2不存在") if TradeContext.existVariable('NOTE3'): to_dict['NOTE3'] = TradeContext.NOTE3 AfaLoggerFunc.tradeDebug('bilinf[NOTE3] = ' + str(to_dict['NOTE3'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE3不存在") if TradeContext.existVariable('NOTE4'): to_dict['NOTE4'] = TradeContext.NOTE4 AfaLoggerFunc.tradeDebug('bilinf[NOTE4] = ' + str(to_dict['NOTE4'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE4不存在") return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统:往账.本地类操作(1.本地操作).通存通兑主机错帐查询[TRCC001_8588]进入***' ) #=====必要性检查==== AfaLoggerFunc.tradeInfo(">>>开始必要性检查") if( not TradeContext.existVariable( "RECSTRNO" ) ): return AfaFlowControl.ExitThisFlow('A099', '起始笔数[RECSTRNO]不存在') AfaLoggerFunc.tradeInfo(">>>必要性检查结束") #=====组织sql语句==== AfaLoggerFunc.tradeInfo(">>>开始组织查询sql语句") wheresql = "" wheresql = wheresql + "NCCWKDAT='" + TradeContext.NCCWKDAT + "' " ordersql = " order by NCCWKDAT DESC " start_no = TradeContext.RECSTRNO #起始笔数 sel_size = 10 #查询笔数 ##=====判断报单序号是否为空==== #if(TradeContext.BSPSQN != ""): # wheresql = wheresql + " AND BSPSQN='" + TradeContext.BSPSQN + "' " #=====判断处理标识是否为空==== if(TradeContext.ISDEAL == "0"): wheresql = wheresql + "AND ISDEAL='0'" elif(TradeContext.ISDEAL == "1"): wheresql = wheresql + "AND ISDEAL='1'" else: pass AfaLoggerFunc.tradeDebug(">>>结束组织查询sql语句") #=====查询总记录数==== allcount=rccpsDBTrcc_tdzjcz.count(wheresql) if(allcount<0): return AfaFlowControl.ExitThisFlow('A099','查询总笔数失败' ) #=====查询数据库==== AfaLoggerFunc.tradeInfo("wheresql=" + wheresql) records = rccpsDBTrcc_tdzjcz.selectm(start_no,sel_size,wheresql,ordersql) if(records == None): return AfaFlowControl.ExitThisFlow('A099','查询失败' ) if len(records) <= 0: return AfaFlowControl.ExitThisFlow('A099','未查找到数据' ) else: #=====生成文件==== try: filename = "rccps_" + TradeContext.BETELR+"_" + AfaUtilTools.GetHostDate() + "_" + TradeContext.TransCode fpath = os.environ["AFAP_HOME"] + "/tmp/" f = open(fpath + filename,"w") except IOError: return AfaFlowControl.ExitThisFlow('S099','打开文件失败') #=====写文件操作==== try: filecontext="" AfaLoggerFunc.tradeInfo ("生成文件内容 ") for i in range(0,len(records)): #AfaLoggerFunc.tradeDebug("写入第"+str(i)+"笔记录开始") filecontext= records[i]['NCCWKDAT'] + "|" \ + records[i]['SCFEDT'] + "|" \ + records[i]['SCRBSQ'] + "|" \ + records[i]['RCFEDT'] + "|" \ + records[i]['RCRBSQ'] + "|" \ + str(records[i]['SCTRAM']) + "|" \ + str(records[i]['RCTRAM']) + "|" \ + records[i]['SCTRDT'] + "|" \ + records[i]['SCTLSQ'] + "|" \ + records[i]['ERRTYP'] + "|" \ + records[i]['ERRINF'] + "|" \ + records[i]['ISDEAL'] + "|" f.write(filecontext+"\n") #AfaLoggerFunc.tradeDebug("写入第"+str(i)+"笔记录结束") except Exception,e: f.close() return AfaFlowControl.ExitThisFlow('S099','写文件失败') AfaLoggerFunc.tradeInfo ("生成文件内容结束 ")
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统:往账.回执类操作(1.回执操作).通存通兑冲正应答报文接收[TRC004_1161]进入***' ) #=================初始化返回信息============================================ if AfaUtilTools.trim(TradeContext.STRINFO) == "": TradeContext.STRINFO = rccpsDBFunc.getErrInfo(TradeContext.PRCCO) AfaLoggerFunc.tradeDebug("TradeContext.STRINFO=" + TradeContext.STRINFO) #=================初始化返回信息============================================ if AfaUtilTools.trim(TradeContext.STRINFO) == "": TradeContext.STRINFO = rccpsDBFunc.getErrInfo(TradeContext.PRCCO) AfaLoggerFunc.tradeDebug("TradeContext.STRINFO=" + TradeContext.STRINFO) #查询原冲正交易信息 atcbka_dict = {} atcbka_where_dict = {} atcbka_where_dict['MSGFLGNO'] = TradeContext.ORMFN atcbka_dict = rccpsDBTrcc_atcbka.selectu(atcbka_where_dict) if atcbka_dict == None: return AfaFlowControl.ExitThisFlow("S999","查询原冲正交易信息异常") if len(atcbka_dict) <= 0: return AfaFlowControl.ExitThisFlow("S999","未找到原冲正交易信息,丢弃报文") #查询原被冲正交易是否已开始被冲销 mpcbka_dict = {} mpcbka_where_dict = {} mpcbka_where_dict['ORMFN'] = atcbka_dict['ORMFN'] mpcbka_dict = rccpsDBTrcc_mpcbka.selectu(mpcbka_where_dict) if mpcbka_dict == None: return AfaFlowControl.ExitThisFlow("S999","查询原冲正交易信息异常") if len(mpcbka_dict) > 0: return AfaFlowControl.ExitThisFlow("S999","原交易已开始冲销,停止处理本冲正应答") #=====给机构号和柜员号赋值==== TradeContext.BETELR = atcbka_dict['BETELR'] TradeContext.BESBNO = atcbka_dict['BESBNO'] #更新冲正登记簿中心返回信息 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(">>>结束更新冲正登记簿中心返回信息") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") if atcbka_dict['ORTRCCO'] != '3000504': AfaLoggerFunc.tradeInfo(">>>原被冲正交易为通存或通兑账务类交易") #查询原被冲正交易信息 wtr_dict = {} if not rccpsDBFunc.getTransWtr(atcbka_dict['BOJEDT'],atcbka_dict['BOSPSQ'],wtr_dict): return AfaFlowControl.ExitThisFlow("S999","查询原被冲正交易信息异常") #如果原被冲正交易当前状态已为冲正,表示已收到冲正应答,停止处理 if wtr_dict['BCSTAT'] == PL_BCSTAT_CANCEL: return AfaFlowControl.ExitThisFlow("S999","已收到冲正应答,丢弃报文") TradeContext.TERMID = wtr_dict['TERMID'] TradeContext.BRSFLG = wtr_dict['BRSFLG'] #若原被冲正交易为通存类交易,应抹账 if wtr_dict['TRCCO'] in ('3000002','3000003','3000004','3000005'): AfaLoggerFunc.tradeInfo(">>>开始发起主机抹账") #为抹账赋值会计分录 entries_dict = {} entries_dict['FEDT'] = wtr_dict['BJEDTE'] entries_dict['RBSQ'] = wtr_dict['BSPSQN'] entries_dict['PYRACC'] = wtr_dict['PYRACC'] entries_dict['PYRNAM'] = wtr_dict['PYRNAM'] entries_dict['PYEACC'] = wtr_dict['PYEACC'] entries_dict['PYENAM'] = wtr_dict['PYENAM'] entries_dict['OCCAMT'] = wtr_dict['OCCAMT'] entries_dict['CHRGTYP'] = wtr_dict['CHRGTYP'] entries_dict['CUSCHRG'] = wtr_dict['CUSCHRG'] entries_dict['RCCSMCD'] = PL_RCCSMCD_CX TradeContext.BRSFLG = wtr_dict['BRSFLG'] if TradeContext.ORTRCCO == '3000002' or TradeContext.ORTRCCO == '3000004': rccpsEntries.KZTCWZMZ(entries_dict) if TradeContext.ORTRCCO == '3000003' or TradeContext.ORTRCCO == '3000005': rccpsEntries.KZBZYWZMZ(entries_dict) #=====生成新的前置日期和前置流水号==== if rccpsGetFunc.GetRBSQ(PL_BRSFLG_SND) == -1 : return AfaFlowControl.ExisThisFlow('S999',"产生新的前置流水号异常") #设置原交易状态为冲正处理中 AfaLoggerFunc.tradeInfo('>>>开始设置原交易状态为冲正处理中') if not rccpsState.newTransState(wtr_dict['BJEDTE'],wtr_dict['BSPSQN'],PL_BCSTAT_CANCEL,PL_BDWFLG_WAIT): return AfaFlowControl.ExitThisFlow('S999',"设置业务状态为冲正处理中异常") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") AfaLoggerFunc.tradeInfo('>>>结束设置原交易状态为冲正处理中') #=====调起主机接口===== rccpsHostFunc.CommHost( TradeContext.HostCode ) AfaLoggerFunc.tradeInfo(">>>结束发起主机记账") else: AfaLoggerFunc.tradeInfo(">>>原交易未记账,冲正不抹账") #设置原交易状态为冲正处理中 AfaLoggerFunc.tradeInfo('>>>开始设置原交易状态为冲正处理中') if not rccpsState.newTransState(wtr_dict['BJEDTE'],wtr_dict['BSPSQN'],PL_BCSTAT_CANCEL,PL_BDWFLG_WAIT): return AfaFlowControl.ExitThisFlow('S999',"设置业务状态为冲正处理中异常") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") AfaLoggerFunc.tradeInfo('>>>结束设置原交易状态为冲正处理中') TradeContext.errorCode = "0000" TradeContext.errorMsg = "冲正前未记账,冲正不抹账" #根据主机返回信息,设置交易状态 stat_dict = {} stat_dict['BJEDTE'] = wtr_dict['BJEDTE'] stat_dict['BSPSQN'] = wtr_dict['BSPSQN'] stat_dict['MGID'] = TradeContext.errorCode stat_dict['STRINFO'] = TradeContext.errorMsg AfaLoggerFunc.tradeInfo("TradeContext.errorCode = [" + TradeContext.errorCode + "]") if TradeContext.errorCode == '0000': #设置原交易状态为冲正成功 AfaLoggerFunc.tradeInfo("<<<<<<<开始更改原交易状态为冲正成功") stat_dict['BCSTAT'] = PL_BCSTAT_CANCEL stat_dict['BDWFLG'] = PL_BDWFLG_SUCC if TradeContext.existVariable('TRDT'): stat_dict['TRDT'] = TradeContext.TRDT if TradeContext.existVariable('TLSQ'): stat_dict['TLSQ'] = TradeContext.TLSQ if not rccpsState.setTransState(stat_dict): return AfaFlowControl.ExitThisFlow('S999','设置业务状态为冲正成功异常') AfaLoggerFunc.tradeInfo("<<<<<<<结束更改原交易状态为冲正成功") else: #设置原交易状态为冲正失败 AfaLoggerFunc.tradeInfo("<<<<<<<开始更改原交易状态为冲正失败") stat_dict['BCSTAT'] = PL_BCSTAT_CANCEL 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异常") else: AfaLoggerFunc.tradeInfo(">>>原被冲正交易为冲销交易") #查询原冲销交易详细信息 AfaLoggerFunc.tradeInfo(">>>冲销交易报单日期[" + atcbka_dict['BOJEDT'] + "]报单序号[" + atcbka_dict['BOSPSQ'] + "]") AfaLoggerFunc.tradeInfo(">>>开始查询原冲销交易详细信息") mpc_dict = {} if not rccpsDBFunc.getTransMpc(atcbka_dict['BOJEDT'],atcbka_dict['BOSPSQ'],mpc_dict): return AfaFlowControl.ExitThisFlow("S999","查询原冲销交易详细信息异常") AfaLoggerFunc.tradeInfo(">>>结束查询原冲销交易详细信息") #查询原被冲销交易详细信息 AfaLoggerFunc.tradeInfo(">>>被冲销交易报单日期[" + mpc_dict['BOJEDT'] + "]报单序号[" + mpc_dict['BOSPSQ'] + "]") AfaLoggerFunc.tradeInfo(">>>开始查询原被冲销交易详细信息") wtr_dict = {} if not rccpsDBFunc.getTransWtr(mpc_dict['BOJEDT'],mpc_dict['BOSPSQ'],wtr_dict): return AfaFlowControl.ExitThisFlow("S999","查询原被冲销交易详细信息异常") AfaLoggerFunc.tradeInfo(">>>结束查询原被冲销交易详细信息") #更新冲销登记簿 AfaLoggerFunc.tradeInfo(">>>开始更新冲销登记簿") mpcbka_update_dict = {} mpcbka_update_dict['PRCCO'] = "RCCI1000" mpcbka_update_dict['STRINFO'] = "冲销交易被成功冲正" mpcbka_where_dict = {} mpcbka_where_dict['BJEDTE'] = mpc_dict['BJEDTE'] mpcbka_where_dict['BSPSQN'] = mpc_dict['BSPSQN'] ret = rccpsDBTrcc_mpcbka.update(mpcbka_update_dict,mpcbka_where_dict) if ret <= 0: return AfaFlowControl.ExitThisFlow("更新冲销登记簿返回码和返回信息异常") AfaLoggerFunc.tradeInfo(">>>结束更新冲销登记簿") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") AfaLoggerFunc.tradeInfo( '***农信银系统:往账.回执类操作(1.回执操作).通存通兑冲正应答报文接收[TRC004_1161]退出***' ) return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统:来账.中心类操作(1.本地操作).折本转异请求报文接收[TRCC006_1138]进入***' ) #判断是否重复交易 AfaLoggerFunc.tradeInfo(">>>开始判断是否重复报文") sel_dict = {'TRCNO':TradeContext.TRCNO,'TRCDAT':TradeContext.TRCDAT,'SNDBNKCO':TradeContext.SNDBNKCO} record = rccpsDBTrcc_wtrbka.selectu(sel_dict) if record == None: return AfaFlowControl.ExitThisFlow('S999','判断是否重复报文,查询通存通兑业务登记簿相同报文异常') elif len(record) > 0: AfaLoggerFunc.tradeInfo('通存通兑业务登记簿中存在相同数据,重复报文,返回拒绝应答报文') #=====为应答报文赋值==== TradeContext.sysType = 'rccpst' TradeContext.MSGTYPCO = 'SET006' TradeContext.RCVSTLBIN = TradeContext.SNDMBRCO TradeContext.SNDSTLBIN = TradeContext.RCVMBRCO TradeContext.SNDBRHCO = TradeContext.BESBNO TradeContext.SNDCLKNO = TradeContext.BETELR #TradeContext.SNDTRDAT = TradeContext.BJEDTE #TradeContext.SNDTRTIM = TradeContext.BJETIM TradeContext.ORMFN = TradeContext.MSGFLGNO #TradeContext.MSGFLGNO = TradeContext.SNDMBRCO + TradeContext.BJEDTE + TradeContext.SerialNo #TradeContext.NCCWKDAT = TradeContext.NCCworkDate TradeContext.OPRTYPNO = '30' TradeContext.ROPRTPNO = TradeContext.OPRTYPNO TradeContext.TRANTYP = '0' TradeContext.TRCCO = '3000002' TradeContext.CUR = 'CNY' TradeContext.PRCCO = 'NN1IM101' TradeContext.STRINFO = "重复报文" #=====发送afe==== AfaAfeFunc.CommAfe() return AfaFlowControl.ExitThisFlow('S999','重复报文,退出处理流程') AfaLoggerFunc.tradeInfo(">>>结束判断是否重复报文") #登记通存通兑登记簿 AfaLoggerFunc.tradeInfo(">>>开始登记通存通兑业务登记簿") #=====币种转换==== if TradeContext.CUR == 'CNY': TradeContext.CUR = '01' #=====手续费收取方式===== if float(TradeContext.CUSCHRG) > 0.001: TradeContext.CHRGTYP = '1' else: TradeContext.CHRGTYP = '0' #====开始向字典赋值==== wtrbka_dict = {} if not rccpsMap1138CTradeContext2Dwtrbka_dict.map(wtrbka_dict): return AfaFlowControl.ExitThisFlow('M999', '字典赋值出错') wtrbka_dict['DCFLG'] = PL_DCFLG_CRE #借贷标识 wtrbka_dict['OPRNO'] = PL_TDOPRNO_BZY #业务种类 #=====开始插入数据库==== if not rccpsDBFunc.insTransWtr(wtrbka_dict): return AfaFlowControl.ExitThisFlow('S999', '登记通存通兑业务登记簿异常') if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") AfaLoggerFunc.tradeInfo(">>>结束登记通存通兑业务登记簿") #设置业务状态为行内收妥成功 AfaLoggerFunc.tradeInfo(">>>开始设置业务状态为收妥成功") stat_dict = {} stat_dict['BSPSQN'] = TradeContext.BSPSQN stat_dict['BJEDTE'] = TradeContext.BJEDTE stat_dict['BCSTAT'] = PL_BCSTAT_BNKRCV stat_dict['BDWFLG'] = PL_BDWFLG_SUCC if not rccpsState.setTransState(stat_dict): return AfaFlowControl.ExitThisFlow('S999','设置业务状态收妥成功异常') if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") AfaLoggerFunc.tradeInfo(">>>结束设置业务状态为收妥成功") #设置业务状态为确认入账处理中 AfaLoggerFunc.tradeInfo(">>>开始设置业务状态为确认入账处理中") if not rccpsState.newTransState(TradeContext.BJEDTE,TradeContext.BSPSQN,PL_BCSTAT_CONFACC,PL_BDWFLG_WAIT): return AfaFlowControl.ExitThisFlow('S999','设置业务状态为确认入账处理中异常') if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") AfaLoggerFunc.tradeInfo(">>>开始设置业务状态为确认入账处理中") #初始化返回码 TradeContext.PRCCO = 'RCCI0000' TradeContext.STRINFO = "成功" TradeContext.BCSTAT = PL_BCSTAT_CONFACC #状态:确认付款 TradeContext.BCSTATNM = "确认付款" #进行必要性检查,若校验通过,则返回成功应答报文,若校验未通过,则返回拒绝应答报文 AfaLoggerFunc.tradeInfo(">>>开始必要性检查") #检查冲正登记簿中是否有此笔业务的冲正业务,存在则返回拒绝应答报文,并设置业务状态为冲正处理中 if TradeContext.PRCCO == 'RCCI0000': atcbka_where_dict = {} atcbka_where_dict['ORMFN'] = TradeContext.MSGFLGNO atcbka_dict = rccpsDBTrcc_atcbka.selectu(atcbka_where_dict) if atcbka_dict == None: #return AfaFlowControl.ExitThisFlow('S999', "查询冲正登记簿异常") AfaLoggerFunc.tradeInfo(">>>查询冲正登记簿异常") TradeContext.PRCCO = 'NN1ID003' TradeContext.STRINFO = "系统错误,查询冲正登记簿异常" TradeContext.BCSTAT = PL_BCSTAT_MFERFE else: if len(atcbka_dict) <= 0: AfaLoggerFunc.tradeInfo(">>>此交易未被冲正,继续校验") else: AfaLoggerFunc.tradeInfo(">>>此交易已被冲正,返回拒绝应答报文") TradeContext.PRCCO = 'NN1IO307' TradeContext.STRINFO = "此交易已被冲正" TradeContext.BCSTAT = PL_BCSTAT_CANC #唐斌新增# sql = "SELECT ischkactname,ischklate FROM rcc_chlabt where transcode='"+TradeContext.TransCode+"' and channelno= '"+(TradeContext.SNDCLKNO)[6:8]+"'" AfaLoggerFunc.tradeInfo(sql) records = AfaDBFunc.SelectSql( sql) if (records == None): return False elif (len(records) == 0): AfaLoggerFunc.tradeDebug("查询结果为空,查询条件[" + sql + "]") return False AfaLoggerFunc.tradeDebug(str(records)) #校验账户状态是否正常和账号户名是否相符 if TradeContext.PRCCO == 'RCCI0000': #调用主机接口查询账户信息 TradeContext.HostCode = '8810' TradeContext.ACCNO = TradeContext.PYEACC AfaLoggerFunc.tradeDebug("ACCNO :" + TradeContext.ACCNO) rccpsHostFunc.CommHost( TradeContext.HostCode ) if TradeContext.errorCode != '0000': #return AfaFlowControl.ExitThisFlow(TradeContext.errorCode,TradeContext.errorMsg) AfaLoggerFunc.tradeInfo("查询账户信息异常,主机返回码[" + TradeContext.errorCode + "],主机返回信息[" + TradeContext.errorMsg +"]") TradeContext.PRCCO = rccpsDBFunc.HostErr2RccErr(TradeContext.errorCode) TradeContext.STRINFO = "查询主机账户信息失败 " + TradeContext.errorMsg TradeContext.BCSTAT = PL_BCSTAT_MFERFE else: AfaLoggerFunc.tradeInfo(">>>查询主机账户成功") #if TradeContext.BESBNO != PL_BESBNO_BCLRSB: # AfaLoggerFunc.tradeInfo(">>>" + TradeContext.BESBNO + ">>>" + TradeContext.ACCSO) # if( TradeContext.BESBNO[:6] != TradeContext.ACCSO[:6] ): # AfaLoggerFunc.tradeInfo(">>>不许跨法人做此交易") # TradeContext.PRCCO = 'NN1IO999' # TradeContext.STRINFO = "接收行与账户开户行不属于同一法人" # TradeContext.BCSTAT = PL_BCSTAT_MFERFE # TradeContext.BCSTATNM = "拒绝" #检查本机构是否有通存通兑业务权限 if not rccpsDBFunc.chkTDBESAuth(TradeContext.ACCSO): TradeContext.PRCCO = 'NN1IO999' TradeContext.STRINFO = "本账户开户机构无通存通兑业务权限" TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" if TradeContext.PRCCO == 'RCCI0000': AfaLoggerFunc.tradeInfo(">>>开始更新机构号为开户机构") TradeContext.BESBNO = TradeContext.ACCSO wtrbka_update_dict = {'BESBNO':TradeContext.ACCSO} wtrbka_where_dict = {'BJEDTE':TradeContext.BJEDTE,'BSPSQN':TradeContext.BSPSQN} ret = rccpsDBTrcc_wtrbka.updateCmt(wtrbka_update_dict,wtrbka_where_dict) if ret <= 0: AfaLoggerFunc.tradeInfo(">>>更新机构号为开户机构异常") TradeContext.PRCCO = 'NN1ID006' TradeContext.STRINFO = "系统错误,更新账务机构号异常" TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" else: AfaLoggerFunc.tradeInfo(">>>更新机构号为开户机构成功") AfaLoggerFunc.tradeDebug("主机返回户名ACCNM :[" + TradeContext.ACCNM + "]") AfaLoggerFunc.tradeDebug("报文接收户名PYRNAM:[" + TradeContext.PYENAM + "]") AfaLoggerFunc.tradeDebug("主机返回账户状态ACCST:[" + TradeContext.ACCST + "]") if TradeContext.ACCNM != TradeContext.PYENAM: #唐斌新增# if(records[0][0]=='1'): AfaLoggerFunc.tradeInfo(">>>账号户名不符") TradeContext.PRCCO = 'NN1IA102' TradeContext.STRINFO = '账号户名不符' TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" elif TradeContext.ACCST != '0' and TradeContext.ACCST != '2': AfaLoggerFunc.tradeInfo(">>>账户状态不正常") TradeContext.PRCCO = 'NN1IA999' TradeContext.STRINFO = '账户状态不正常' TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" elif not (TradeContext.ACCCD == '0428' and TradeContext.ACCEM == '21111'): AfaLoggerFunc.tradeInfo(">>>此账户非个人结算户") TradeContext.PRCCO = 'NN1IA999' TradeContext.STRINFO = '此账户非个人结算户' TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" #校验凭证状态是否正常 #if TradeContext.PRCCO == 'RCCI0000': # #调用主机接口查询凭证信息 # TradeContext.HostCode = '8811' # # TradeContext.ACCNO = TradeContext.PYEACC # TradeContext.WARNTNO = TradeContext.ACITY + TradeContext.ACINO # # AfaLoggerFunc.tradeDebug("ACCNO :" + TradeContext.ACCNO) # AfaLoggerFunc.tradeDebug("WARNTNO :" + TradeContext.WARNTNO) # # rccpsHostFunc.CommHost( TradeContext.HostCode ) # # if TradeContext.errorCode != '0000': # #return AfaFlowControl.ExitThisFlow(TradeContext.errorCode,TradeContext.errorMsg) # AfaLoggerFunc.tradeInfo("查询凭证信息异常,主机返回码[" + TradeContext.errorCode + "],主机返回信息[" + TradeContext.errorMsg +"]") # TradeContext.PRCCO = 'RCCI1000' # TradeContext.STRINFO = "查询主机凭证信息失败 " + TradeContext.errorMsg # TradeContext.BCSTAT = PL_BCSTAT_MFERFE # TradeContext.BCSTATNM = "拒绝" # # else: # #查询成功 # AfaLoggerFunc.tradeInfo(">>>查询主机凭证信息成功") # AfaLoggerFunc.tradeInfo(">>>凭证信息ACCSTCD:[" + TradeContext.ACCSTCD + "]") # # if TradeContext.ACCSTCD != '0': # TradeContext.PRCCO = 'RCCI1000' # TradeContext.STRINFO = '账户凭证状态不正常' # TradeContext.BCSTAT = PL_BCSTAT_MFERFE # TradeContext.BCSTATNM = "拒绝" AfaLoggerFunc.tradeInfo(">>>结束必要性检查") #为应答报文赋值 TradeContext.sysType = 'rccpst' TradeContext.MSGTYPCO = 'SET006' TradeContext.RCVSTLBIN = TradeContext.SNDMBRCO TradeContext.SNDSTLBIN = TradeContext.RCVMBRCO TradeContext.SNDBRHCO = TradeContext.BESBNO TradeContext.SNDCLKNO = TradeContext.BETELR #TradeContext.SNDTRDAT = TradeContext.BJEDTE #TradeContext.SNDTRTIM = TradeContext.BJETIM TradeContext.ORMFN = TradeContext.MSGFLGNO #TradeContext.MSGFLGNO = TradeContext.SNDMBRCO + TradeContext.BJEDTE + TradeContext.SerialNo #TradeContext.NCCWKDAT = TradeContext.NCCworkDate TradeContext.OPRTYPNO = '30' TradeContext.ROPRTPNO = TradeContext.OPRTYPNO TradeContext.TRANTYP = '0' TradeContext.CUR = 'CNY' AfaLoggerFunc.tradeInfo( '***农信银系统:来账.中心类操作(1.本地操作).折本转异请求报文接收[TRCC006_1138]退出***' ) return True
def ChkUnitInfo( BRSFLG ): if BRSFLG == PL_BRSFLG_SND: AfaLoggerFunc.tradeInfo( '>>>开始通过机构号取行号' ) #=====通存通兑业务直接使用清算中心行号==== if TradeContext.existVariable('TRCCO') and TradeContext.TRCCO[:2] == '30': subbra = {'BESBNO':PL_BESBNO_BCLRSB} else: #=====开始向字典赋值==== subbra = {'BESBNO':TradeContext.BESBNO} #=====查询发送行号==== sub = rccpsDBTrcc_subbra.selectu(subbra) if sub == None: return AfaFlowControl.ExitThisFlow('M999','数据库错误') if len(sub) <= 0: #return AfaFlowControl.ExitThisFlow('M999','机构号取发送行号无对应记录') return AfaFlowControl.ExitThisFlow('M999','非法机构') else: AfaLoggerFunc.tradeDebug('>>>BTOPSB['+sub['BTOPSB']+']') #=====刘雨龙 2008-07-25 新增代理机构查询==== if sub['SUBFLG'] == PL_SUBFLG_SUB : #被代理,'0' 张恒20091201 替换0 sel_sub = {'BESBNO':sub['BTOPSB']} sel = rccpsDBTrcc_subbra.selectu(sel_sub) if sel == None: return AfaFlowControl.ExitThisFlow('M999','数据库错误') if len(sel) <= 0: return AfaFlowControl.ExitThisFlow('M999','非法机构') else: TradeContext.SNDBNKCO = sel['BANKBIN'] else: TradeContext.SNDBNKCO = sub['BANKBIN'] AfaLoggerFunc.tradeInfo( '发送行号[SNDBNKCO]:' + TradeContext.SNDBNKCO ) #====通过发送行号取行名==== paybnk = {'BANKBIN':TradeContext.SNDBNKCO} pyb = rccpsDBTrcc_paybnk.selectu(paybnk) if pyb == None: return AfaFlowControl.ExitThisFlow('M999','数据库操作错误') if len(pyb) <= 0: #return AfaFlowControl.ExitThisFlow('M999','行号取发送行名无相应记录') return AfaFlowControl.ExitThisFlow('M999','非法机构') else: #if( (TradeContext.BJEDTE < pyb['EFCTDAT'] or pyb['BANKSTATUS'] != '1') and len(TradeContext.SNDBNKCO) == 10 ): #关彬捷 20081222 修改行号生效失效判断 if( pyb['NOTE1'] != '1' ): return AfaFlowControl.ExitThisFlow('M999','发送行号未生效') else: TradeContext.SNDBNKNM = pyb['BANKNAM'] TradeContext.SNDSTLBIN = pyb['STLBANKBIN'] AfaLoggerFunc.tradeDebug( '发送行名[SNDBNKNM]:' + TradeContext.SNDBNKNM ) AfaLoggerFunc.tradeDebug( '发送成员行号[SNDSTLBIN]:' + TradeContext.SNDSTLBIN ) #=====通过接收行号取接收行成员行号==== if (TradeContext.existVariable("RCVBNKCO") and len(TradeContext.RCVBNKCO) == 10): #if len(TradeContext.RCVBNKCO) == 10: AfaLoggerFunc.tradeDebug('>>>普通汇兑行号') rcvstl = {'BANKBIN':TradeContext.RCVBNKCO} rcvpyb = rccpsDBTrcc_paybnk.selectu(rcvstl) if rcvpyb == None: return AfaFlowControl.ExitThisFlow('M999','数据库操作错误') if len(rcvpyb) <= 0: return AfaFlowControl.ExitThisFlow('M999','接收行号取接收成员行号无相应记录') else: TradeContext.RCVSTLBIN = rcvpyb['STLBANKBIN'] TradeContext.RCVBNKNM = rcvpyb['BANKNAM'] AfaLoggerFunc.tradeDebug('>>>接收行名['+TradeContext.RCVBNKNM+']') AfaLoggerFunc.tradeDebug('>>>接收成员行号['+TradeContext.RCVSTLBIN+']') #=====通过OPRTYPNO判断发起行权限和接收行权限==== if TradeContext.TRCCO[0:2] == '20': #=====判断接收行号==== if rcvpyb['PRIVILEGE'][0:1] != '1': return AfaFlowControl.ExitThisFlow('M999','此接收行号尚未开汇兑业务') elif TradeContext.TRCCO[0:2] == '21': #=====判断接收行号==== if rcvpyb['PRIVILEGE'][1:2] != '1': return AfaFlowControl.ExitThisFlow('M999','此接收行号尚未开通汇票业务') elif TradeContext.TRCCO[0:2] == '30': #=====判断接收行号==== if rcvpyb['PRIVILEGE'][2:3] != '1': return AfaFlowControl.ExitThisFlow('M999','此接收行号尚未开通通存通兑业务') AfaLoggerFunc.tradeDebug('>>>接收成员行号权限判断完成') #elif len(TradeContext.RCVBNKCO) < 10: else: if not TradeContext.existVariable('RCVBNKCO'): TradeContext.RCVBNKCO = '1000000000' #=====通过行号找行名==== paybnk_dict = {'BANKBIN':TradeContext.RCVBNKCO} pyba = rccpsDBTrcc_paybnk.selectu(paybnk_dict) if pyba == None: return AfaFlowControl.ExitThisFlow('M999','数据库操作错误') if len(pyba) <= 0: return AfaFlowControl.ExitThisFlow('M999','行号取发送行名无相应记录') else: TradeContext.RCVBNKNM = pyba['BANKNAM'] AfaLoggerFunc.tradeInfo( '接收行名[RCVBNKNM]:' + TradeContext.RCVBNKNM ) if len(str(pyba['STLBANKBIN'])) == 0: TradeContext.RCVSTLBIN = '9999999997' else: TradeContext.RCVSTLBIN = pyba['STLBANKBIN'] AfaLoggerFunc.tradeInfo( '接收成员行号[RCVSTLBIN]:' + TradeContext.RCVSTLBIN ) elif len(TradeContext.RCVBNKCO) == 0: TradeContext.RCVBNKCO = ' ' elif len(TradeContext.RCVBNKCO) == 7: #=====通过行号找行名==== paybnk_dict = {'BANKBIN':TradeContext.RCVBNKCO} pyba = rccpsDBTrcc_paybnk.selectu(paybnk_dict) if pyba == None: return AfaFlowControl.ExitThisFlow('M999','数据库操作错误') if len(pyba) <= 0: return AfaFlowControl.ExitThisFlow('M999','行号取发送行名无相应记录') else: TradeContext.RCVBNKNM = pyba['BANKNAM'] AfaLoggerFunc.tradeInfo( '接收行名[RCVBNKNM]:' + TradeContext.RCVBNKNM ) if len(str(pyba['STLBANKBIN'])) == 0: TradeContext.RCVSTLBIN = '9999999997' else: TradeContext.RCVSTLBIN = pyba['STLBANKBIN'] AfaLoggerFunc.tradeInfo( '接收成员行号[RCVSTLBIN]:' + TradeContext.RCVSTLBIN ) #=====通过OPRTYPNO判断发起行权限和接收行权限==== if TradeContext.TRCCO[0:2] == '20': #=====判断发起行号==== if pyb['PRIVILEGE'][0:1] != '1': return AfaFlowControl.ExitThisFlow('M999','此发送行号尚未开通汇兑业务') #=====刘雨龙 20081013 新增“汇票解付”同汇兑业务权限==== elif (TradeContext.TRCCO[0:2] == '21' and TradeContext.TRCCO != '2100100'): #=====判断发起行号==== if pyb['PRIVILEGE'][1:2] != '1': return AfaFlowControl.ExitThisFlow('M999','此发送行号尚未开通汇票业务') elif TradeContext.TRCCO[0:2] == '30': #=====判断发起行号==== if pyb['PRIVILEGE'][2:3] != '1': return AfaFlowControl.ExitThisFlow('M999','此发送行号尚未开通通存通兑业务') AfaLoggerFunc.tradeDebug('>>>发起成员行号权限判断完成') elif BRSFLG == PL_BRSFLG_RCV: AfaLoggerFunc.tradeInfo( '>>>开始通过行号取机构号' ) #=====判断接收行号是否存在==== if not TradeContext.existVariable( "RCVBNKCO" ): TradeContext.BESBNO = PL_BESBNO_BCLRSB TradeContext.BETELR = PL_BETELR_AUTO AfaLoggerFunc.tradeInfo( '机构号[BESBNO]:' + TradeContext.BESBNO ) return True #====开始向字典赋值==== suba = {'BANKBIN':TradeContext.RCVBNKCO} suba['SUBFLG'] = PL_SUBFLG_AGE #代理 subd = rccpsDBTrcc_subbra.selectu(suba) if subd == None: return AfaFlowControl.ExitThisFlow('M999','数据库操作错误') if len(subd) <= 0: TradeContext.BESBNO = PL_BESBNO_BCLRSB TradeContext.BETELR = PL_BETELR_AUTO AfaLoggerFunc.tradeInfo( '机构号[BESBNO]:' + TradeContext.BESBNO ) else: TradeContext.BESBNO = subd['BESBNO'] TradeContext.BETELR = PL_BETELR_AUTO AfaLoggerFunc.tradeInfo( '机构号[BESBNO]:' + TradeContext.BESBNO ) else: return AfaFlowControl.ExitThisFlow('M999','机构参数错误') AfaLoggerFunc.tradeInfo('>>>函数结束') return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统:往账.本地类操作(1.本地操作).通存通兑主机错帐查询[TRCC001_8589]进入***' ) #=====必要性检查==== AfaLoggerFunc.tradeInfo(">>>开始必要性检查") if( not TradeContext.existVariable( "TRCCO" ) ): return AfaFlowControl.ExitThisFlow('A099', '交易代码[TRCCO]不存在') if( not TradeContext.existVariable( "RECSTRNO" ) ): return AfaFlowControl.ExitThisFlow('A099', '起始笔数[RECSTRNO]不存在') AfaLoggerFunc.tradeInfo(">>>必要性检查结束") #=====组织sql语句==== AfaLoggerFunc.tradeInfo(">>>开始组织查询sql语句") wheresql = "" wheresql = wheresql + "NOTDAT='" + TradeContext.NOTDAT + "' " wheresql = wheresql + " AND BESBNO='" + TradeContext.BESBNO + "' " ordersql = " order by NOTDAT DESC" start_no = TradeContext.RECSTRNO #起始笔数 sel_size = 10 #查询笔数 AfaLoggerFunc.tradeDebug(">>>结束组织查询sql语句") #=====查询总记录数==== allcount=rccpsDBTrcc_notbka.count(wheresql) if(allcount<0): return AfaFlowControl.ExitThisFlow('A099','查询总笔数失败' ) #=====查询数据库==== AfaLoggerFunc.tradeInfo("wheresql=" + wheresql) records = rccpsDBTrcc_notbka.selectm(start_no,sel_size,wheresql,ordersql) if(records == None): return AfaFlowControl.ExitThisFlow('A099','查询失败' ) if len(records) <= 0: return AfaFlowControl.ExitThisFlow('A099','未查找到数据' ) else: #=====生成文件==== try: filename = "rccps_" + TradeContext.BETELR+"_" + AfaUtilTools.GetHostDate() + "_" + TradeContext.TransCode fpath = os.environ["AFAP_HOME"] + "/tmp/" f = open(fpath + filename,"w") except IOError: return AfaFlowControl.ExitThisFlow('S099','打开文件失败') #=====写文件操作==== try: filecontext="" AfaLoggerFunc.tradeInfo ("生成文件内容 ") for i in range(0,len(records)): #AfaLoggerFunc.tradeDebug("写入第"+str(i)+"笔记录开始") filecontext= records[i]['NOTDAT'] + "|" \ + records[i]['BESBNO'] + "|" \ + records[i]['STRINFO'] + "|" f.write(filecontext+"\n") #AfaLoggerFunc.tradeDebug("写入第"+str(i)+"笔记录结束") except Exception,e: f.close() return AfaFlowControl.ExitThisFlow('S099','写文件失败') AfaLoggerFunc.tradeInfo ("生成文件内容结束 ")
def SubModuleDoFst( ): #begin 20091120 蔡永贵 增加 #校验保险公司代码和凭证种类是否合法 if not AfaAhAdb.ADBCheckCert( ): return False #end AfaLoggerFunc.tradeInfo( '初始化交易变量' ) TradeContext.note1,TradeContext.note2,TradeContext.note4 = "","","" #交易代码 TradeContext.tradeCode = TradeContext.TransCode # 贷款合同编号+贷款凭证编号 if( TradeContext.existVariable( "CreBarNo" ) ): TradeContext.note4 = TradeContext.note4 + TradeContext.CreBarNo +"|" if ( TradeContext.existVariable( "CreVouNo" ) ): TradeContext.note4 = TradeContext.note4 + TradeContext.CreVouNo #借款日期+借款到期日 if( TradeContext.existVariable( "LoanDate" ) ): TradeContext.note2 = TradeContext.note2 + TradeContext.LoanDate +"|" if ( TradeContext.existVariable( "LoanEndDate" ) ): TradeContext.note2 = TradeContext.note2 + TradeContext.LoanEndDate #单证号 if( TradeContext.existVariable( "CpciPNo" ) ): TradeContext.note1 = TradeContext.note1 + TradeContext.CpciPNo #用户编号(投保单号) if( not TradeContext.existVariable( "CpicNo" ) and len(TradeContext.CpicNo.strip()) > 0 ): return AfaFlowControl.ExitThisFlow( 'A0001', '用户编号投保单号[CpicNo]值不存在!' ) else: TradeContext.userno = TradeContext.CpicNo #缴费金额 if( not TradeContext.existVariable( "Amount" ) and len(TradeContext.Amount.strip()) > 0): return AfaFlowControl.ExitThisFlow( 'A0001', '缴费金额[Amount]值不存在!' ) else: TradeContext.amount = TradeContext.Amount #用户姓名 if( TradeContext.existVariable( "UserName" ) and len(TradeContext.UserName.strip()) > 0 ): TradeContext.userName = TradeContext.UserName #终端标识 if( TradeContext.existVariable( "termid" ) and len(TradeContext.termid.strip()) > 0 ): TradeContext.termId = TradeContext.termid #保单单证号 if( TradeContext.existVariable( "CpciPNo" ) and len(TradeContext.CpciPNo.strip()) > 0 ): TradeContext.CpciPNo = TradeContext.CpciPNo[2:15] #账户类型 if TradeContext.AccType == "0": TradeContext.accType = "000" else: TradeContext.accno = TradeContext.AccNo if TradeContext.PyiTp == "0": TradeContext.accType = "003" else: TradeContext.accType = "001" #支付条件 if TradeContext.TradeType == '0': #凭密码 TradeContext.accPwd = TradeContext.PassWd TradeContext.vouhType = TradeContext.iCreno[:2] TradeContext.vouhNo = TradeContext.iCreno[2:] elif TradeContext.TradeType == '1': #凭证件 TradeContext.idType = TradeContext.GovtIDTC TradeContext.idno = TradeContext.GovtID TradeContext.vouhType = TradeContext.iCreno[:2] TradeContext.vouhNo = TradeContext.iCreno[2:] elif TradeContext.TradeType == "2": #凭单折 TradeContext.vouhType = TradeContext.iCreno[:2] TradeContext.vouhNo = TradeContext.iCreno[2:] #关彬捷 20091124 根据单位编码获取保险公司信息 AfaAhAdb.ADBGetInfoByUnitno() ##险种代码 #if( TradeContext.existVariable( "ProCode" ) and len(TradeContext.ProCode.strip()) > 0 ): # if ( TradeContext.ProCode == "1"): # TradeContext.ProCodeStr = "EL5612" # TradeContext.PlanName = "安贷宝B" # elif ( TradeContext.ProCode == "2"): # TradeContext.ProCodeStr = "211610" # TradeContext.PlanName = "华夏借款人意外伤害保险" AfaLoggerFunc.tradeDebug("TradeContext.accType = [" + TradeContext.accType + "]") AfaLoggerFunc.tradeInfo( 'TradeContext.note1 = [' + str(TradeContext.note1) + ']') AfaLoggerFunc.tradeInfo( 'TradeContext.note2 = [' + str(TradeContext.note2) + ']') AfaLoggerFunc.tradeInfo( 'TradeContext.note4 = [' + str(TradeContext.note4) + ']') return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统: 往账.本地类操作交易[RCC001_8530]进入***' ) #=====判断输入接口值是否存在==== if( not TradeContext.existVariable( "STRDAT" ) ): return AfaFlowControl.ExitThisFlow('A099', '起始日期[STRDAT]不存在') if( not TradeContext.existVariable( "ENDDAT" ) ): return AfaFlowControl.ExitThisFlow('A099', '终止日期[ENDDAT]不存在') if( not TradeContext.existVariable( "BRSFLG" ) ): return AfaFlowControl.ExitThisFlow('A099', '往来标志[BRSFLG]不存在') if( not TradeContext.existVariable( "RECSTRNO" ) ): return AfaFlowControl.ExitThisFlow('A099', '起始笔数[RECSTRNO]不存在') start_no = TradeContext.RECSTRNO #起始笔数 sel_size = 10 #查询笔数 #=====生成查询语句==== wheresql = "" wheresql = wheresql + "BESBNO='" + TradeContext.BESBNO + "' " wheresql = wheresql + " AND BJEDTE>='" + TradeContext.STRDAT + "'" wheresql = wheresql + " AND BJEDTE<='" + TradeContext.ENDDAT + "'" #=====判断往来标志是否为空==== if(TradeContext.BRSFLG != ""): wheresql = wheresql +" AND BRSFLG='" + TradeContext.BRSFLG + "'" #=====判断报单序号是否为空==== if(TradeContext.BSPSQN != ""): wheresql = wheresql + " AND BSPSQN='" + TradeContext.BSPSQN + "'" #=====判断原交易日期是否为空==== if(TradeContext.BOJEDT != "00000000"): wheresql = wheresql + " AND BOJEDT='" + TradeContext.BOJEDT + "'" #=====判断原表单序号是否为空==== if(TradeContext.BOSPSQ != ""): wheresql = wheresql + " AND BOSPSQ='" + TradeContext.BOSPSQ + "'" #=====判断复查标志是否为空==== if(TradeContext.ISDEAL != ""): wheresql = wheresql + " AND ISDEAL='" + TradeContext.ISDEAL + "'" AfaLoggerFunc.tradeInfo( "查询条件: "+wheresql) #=====查询总记录数==== allcount = rccpsDBTrcc_ztcbka.count(wheresql) if(allcount < 0): return AfaFlowControl.ExitThisFlow('A099', '查询总记录数失败') AfaLoggerFunc.tradeDebug("查询总记录数完成") #=====查询数据库==== ordersql = " order by BJEDTE DESC,BSPSQN DESC" records = rccpsDBTrcc_ztcbka.selectm(start_no,sel_size,wheresql,ordersql) if(records == None): return AfaFlowControl.ExitThisFlow('A099','查询失败' ) if len(records) <= 0: return AfaFlowControl.ExitThisFlow('A099','未查找到数据' ) else: #=====生成文件==== filename = "rccps_" + TradeContext.BETELR+"_" + AfaUtilTools.GetHostDate() + "_" + TradeContext.TransCode fpath = os.environ["AFAP_HOME"] + "/tmp/" f = open(fpath + filename,"w") if f == None: return AfaLoggerFunc.tradeInfo("S999","打开文件异常") filecontext = "" #=====写文件操作==== for i in range(0,len(records)): filecontext = records[i]['BJEDTE'] + "|" \ + records[i]['BSPSQN'] + "|" \ + records[i]['BRSFLG'] + "|" \ + records[i]['TRCDAT'] + "|" \ + records[i]['TRCNO'] + "|" \ + records[i]['SNDBNKCO'] + "|" \ + records[i]['SNDBNKNM'] + "|" \ + records[i]['RCVBNKCO'] + "|" \ + records[i]['RCVBNKNM'] + "|" \ + records[i]['BOJEDT'] + "|" \ + records[i]['BOSPSQ'] + "|" \ + records[i]['ORTRCCO'] + "|" \ + records[i]['CUR'] + "|" \ + str(records[i]['OCCAMT']) + "|" \ + records[i]['CONT'] + "|" \ + records[i]['NCCTRCST'] + "|" \ + records[i]['MBRTRCST'] + "|" \ + records[i]['PRCCO'] + "|" \ + records[i]['STRINFO'] + "|" f.write(filecontext+"\n") f.close() AfaLoggerFunc.tradeInfo("生成文件结束") #=====输出接口赋值==== TradeContext.RECSTRNO=start_no #起始笔数 TradeContext.RECCOUNT=str(len(records)) #查询笔数 TradeContext.RECALLCOUNT=str(allcount) #总笔数 TradeContext.errorCode="0000" TradeContext.errorMsg="查询成功" TradeContext.PBDAFILE=filename #文件名 AfaLoggerFunc.tradeInfo( '***农信银系统: 往账.本地类操作交易[RCC001_8530]退出***' ) return True
def map(to_dict): if TradeContext.existVariable('BJEDTE'): to_dict['BJEDTE'] = TradeContext.BJEDTE AfaLoggerFunc.tradeDebug('hdcbka[BJEDTE] = ' + str(to_dict['BJEDTE'])) else: AfaLoggerFunc.tradeDebug("TradeContext['BJEDTE']不存在") return False if TradeContext.existVariable('BSPSQN'): to_dict['BSPSQN'] = TradeContext.BSPSQN AfaLoggerFunc.tradeDebug('hdcbka[BSPSQN] = ' + str(to_dict['BSPSQN'])) else: AfaLoggerFunc.tradeDebug("TradeContext['BSPSQN']不存在") return False if TradeContext.existVariable('BRSFLG'): to_dict['BRSFLG'] = TradeContext.BRSFLG AfaLoggerFunc.tradeDebug('hdcbka[BRSFLG] = ' + str(to_dict['BRSFLG'])) else: AfaLoggerFunc.tradeDebug("TradeContext['BRSFLG']不存在") return False if TradeContext.existVariable('BESBNO'): to_dict['BESBNO'] = TradeContext.BESBNO AfaLoggerFunc.tradeDebug('hdcbka[BESBNO] = ' + str(to_dict['BESBNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext['BESBNO']不存在") if TradeContext.existVariable('BETELR'): to_dict['BETELR'] = TradeContext.BETELR AfaLoggerFunc.tradeDebug('hdcbka[BETELR] = ' + str(to_dict['BETELR'])) else: AfaLoggerFunc.tradeDebug("TradeContext['BETELR']不存在") if TradeContext.existVariable('BEAUUS'): to_dict['BEAUUS'] = TradeContext.BEAUUS AfaLoggerFunc.tradeDebug('hdcbka[BEAUUS] = ' + str(to_dict['BEAUUS'])) else: AfaLoggerFunc.tradeDebug("TradeContext['BEAUUS']不存在") if TradeContext.existVariable('NCCWKDAT'): to_dict['NCCWKDAT'] = TradeContext.NCCWKDAT AfaLoggerFunc.tradeDebug('hdcbka[NCCWKDAT] = ' + str(to_dict['NCCWKDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext['NCCWKDAT']不存在") if TradeContext.existVariable('TRCCO'): to_dict['TRCCO'] = TradeContext.TRCCO AfaLoggerFunc.tradeDebug('hdcbka[TRCCO] = ' + str(to_dict['TRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext['TRCCO']不存在") if TradeContext.existVariable('TRCDAT'): to_dict['TRCDAT'] = TradeContext.TRCDAT AfaLoggerFunc.tradeDebug('hdcbka[TRCDAT] = ' + str(to_dict['TRCDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext['TRCDAT']不存在") if TradeContext.existVariable('TRCNO'): to_dict['TRCNO'] = TradeContext.TRCNO AfaLoggerFunc.tradeDebug('hdcbka[TRCNO] = ' + str(to_dict['TRCNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext['TRCNO']不存在") if TradeContext.existVariable('SNDSTLBIN'): to_dict['SNDMBRCO'] = TradeContext.SNDSTLBIN AfaLoggerFunc.tradeDebug('hdcbka[SNDMBRCO] = ' + str(to_dict['SNDMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext['SNDSTLBIN']不存在") if TradeContext.existVariable('RCVSTLBIN'): to_dict['RCVMBRCO'] = TradeContext.RCVSTLBIN AfaLoggerFunc.tradeDebug('hdcbka[RCVMBRCO] = ' + str(to_dict['RCVMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext['RCVSTLBIN']不存在") if TradeContext.existVariable('SNDBNKCO'): to_dict['SNDBNKCO'] = TradeContext.SNDBNKCO AfaLoggerFunc.tradeDebug('hdcbka[SNDBNKCO] = ' + str(to_dict['SNDBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext['SNDBNKCO']不存在") if TradeContext.existVariable('SNDBNKNM'): to_dict['SNDBNKNM'] = TradeContext.SNDBNKNM AfaLoggerFunc.tradeDebug('hdcbka[SNDBNKNM] = ' + str(to_dict['SNDBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext['SNDBNKNM']不存在") if TradeContext.existVariable('RCVBNKCO'): to_dict['RCVBNKCO'] = TradeContext.RCVBNKCO AfaLoggerFunc.tradeDebug('hdcbka[RCVBNKCO] = ' + str(to_dict['RCVBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext['RCVBNKCO']不存在") if TradeContext.existVariable('RCVBNKNM'): to_dict['RCVBNKNM'] = TradeContext.RCVBNKNM AfaLoggerFunc.tradeDebug('hdcbka[RCVBNKNM] = ' + str(to_dict['RCVBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext['RCVBNKNM']不存在") if TradeContext.existVariable('BOJEDT'): to_dict['BOJEDT'] = TradeContext.BOJEDT AfaLoggerFunc.tradeDebug('hdcbka[BOJEDT] = ' + str(to_dict['BOJEDT'])) else: AfaLoggerFunc.tradeDebug("TradeContext['BOJEDT']不存在") if TradeContext.existVariable('BOSPSQ'): to_dict['BOSPSQ'] = TradeContext.BOSPSQ AfaLoggerFunc.tradeDebug('hdcbka[BOSPSQ] = ' + str(to_dict['BOSPSQ'])) else: AfaLoggerFunc.tradeDebug("TradeContext['BOSPSQ']不存在") if TradeContext.existVariable('ORTRCCO'): to_dict['ORTRCCO'] = TradeContext.ORTRCCO AfaLoggerFunc.tradeDebug('hdcbka[ORTRCCO] = ' + str(to_dict['ORTRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext['ORTRCCO']不存在") if TradeContext.existVariable('CUR'): to_dict['CUR'] = TradeContext.CUR AfaLoggerFunc.tradeDebug('hdcbka[CUR] = ' + str(to_dict['CUR'])) else: AfaLoggerFunc.tradeDebug("TradeContext['CUR']不存在") if TradeContext.existVariable('OCCAMT'): to_dict['OCCAMT'] = TradeContext.OCCAMT AfaLoggerFunc.tradeDebug('hdcbka[OCCAMT] = ' + str(to_dict['OCCAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext['OCCAMT']不存在") if TradeContext.existVariable('CONT'): to_dict['CONT'] = TradeContext.CONT AfaLoggerFunc.tradeDebug('hdcbka[CONT] = ' + str(to_dict['CONT'])) else: AfaLoggerFunc.tradeDebug("TradeContext['CONT']不存在") if TradeContext.existVariable('PYRACC'): to_dict['PYRACC'] = TradeContext.PYRACC AfaLoggerFunc.tradeDebug('hdcbka[PYRACC] = ' + str(to_dict['PYRACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext['PYRACC']不存在") if TradeContext.existVariable('PYEACC'): to_dict['PYEACC'] = TradeContext.PYEACC AfaLoggerFunc.tradeDebug('hdcbka[PYEACC] = ' + str(to_dict['PYEACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext['PYEACC']不存在") if TradeContext.existVariable('ISDEAL'): to_dict['ISDEAL'] = TradeContext.ISDEAL AfaLoggerFunc.tradeDebug('hdcbka[ISDEAL] = ' + str(to_dict['ISDEAL'])) else: AfaLoggerFunc.tradeDebug("TradeContext['ISDEAL']不存在") if TradeContext.existVariable('PRCCO'): to_dict['PRCCO'] = TradeContext.PRCCO AfaLoggerFunc.tradeDebug('hdcbka[PRCCO] = ' + str(to_dict['PRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext['PRCCO']不存在") if TradeContext.existVariable('NOTE1'): to_dict['NOTE1'] = TradeContext.NOTE1 AfaLoggerFunc.tradeDebug('hdcbka[NOTE1] = ' + str(to_dict['NOTE1'])) else: AfaLoggerFunc.tradeDebug("TradeContext['NOTE1']不存在") if TradeContext.existVariable('NOTE2'): to_dict['NOTE2'] = TradeContext.NOTE2 AfaLoggerFunc.tradeDebug('hdcbka[NOTE2] = ' + str(to_dict['NOTE2'])) else: AfaLoggerFunc.tradeDebug("TradeContext['NOTE2']不存在") if TradeContext.existVariable('NOTE3'): to_dict['NOTE3'] = TradeContext.NOTE3 AfaLoggerFunc.tradeDebug('hdcbka[NOTE3] = ' + str(to_dict['NOTE3'])) else: AfaLoggerFunc.tradeDebug("TradeContext['NOTE3']不存在") if TradeContext.existVariable('NOTE4'): to_dict['NOTE4'] = TradeContext.NOTE4 AfaLoggerFunc.tradeDebug('hdcbka[NOTE4] = ' + str(to_dict['NOTE4'])) else: AfaLoggerFunc.tradeDebug("TradeContext['NOTE4']不存在") return True
def map(from_dict): if from_dict.has_key('BILVER'): TradeContext.BILVER = from_dict['BILVER'] AfaLoggerFunc.tradeDebug('TradeContext.BILVER = ' + str(TradeContext.BILVER)) else: AfaLoggerFunc.tradeDebug("bilinf['BILVER']不存在") if from_dict.has_key('BILNO'): TradeContext.BILNO = from_dict['BILNO'] AfaLoggerFunc.tradeDebug('TradeContext.BILNO = ' + str(TradeContext.BILNO)) else: AfaLoggerFunc.tradeDebug("bilinf['BILNO']不存在") if from_dict.has_key('BILRS'): TradeContext.BILRS = from_dict['BILRS'] AfaLoggerFunc.tradeDebug('TradeContext.BILRS = ' + str(TradeContext.BILRS)) else: AfaLoggerFunc.tradeDebug("bilinf['BILRS']不存在") if from_dict.has_key('BILTYP'): TradeContext.BILTYP = from_dict['BILTYP'] AfaLoggerFunc.tradeDebug('TradeContext.BILTYP = ' + str(TradeContext.BILTYP)) else: AfaLoggerFunc.tradeDebug("bilinf['BILTYP']不存在") if from_dict.has_key('BILDAT'): TradeContext.BILDAT = from_dict['BILDAT'] AfaLoggerFunc.tradeDebug('TradeContext.BILDAT = ' + str(TradeContext.BILDAT)) else: AfaLoggerFunc.tradeDebug("bilinf['BILDAT']不存在") if from_dict.has_key('PAYWAY'): TradeContext.PAYWAY = from_dict['PAYWAY'] AfaLoggerFunc.tradeDebug('TradeContext.PAYWAY = ' + str(TradeContext.PAYWAY)) else: AfaLoggerFunc.tradeDebug("bilinf['PAYWAY']不存在") if from_dict.has_key('REMBNKCO'): TradeContext.REMBNKCO = from_dict['REMBNKCO'] AfaLoggerFunc.tradeDebug('TradeContext.REMBNKCO = ' + str(TradeContext.REMBNKCO)) else: AfaLoggerFunc.tradeDebug("bilinf['REMBNKCO']不存在") if from_dict.has_key('REMBNKNM'): TradeContext.REMBNKNM = from_dict['REMBNKNM'] AfaLoggerFunc.tradeDebug('TradeContext.REMBNKNM = ' + str(TradeContext.REMBNKNM)) else: AfaLoggerFunc.tradeDebug("bilinf['REMBNKNM']不存在") if from_dict.has_key('PAYBNKCO'): TradeContext.PAYBNKCO = from_dict['PAYBNKCO'] AfaLoggerFunc.tradeDebug('TradeContext.PAYBNKCO = ' + str(TradeContext.PAYBNKCO)) else: AfaLoggerFunc.tradeDebug("bilinf['PAYBNKCO']不存在") if from_dict.has_key('PAYBNKNM'): TradeContext.PAYBNKNM = from_dict['PAYBNKNM'] AfaLoggerFunc.tradeDebug('TradeContext.PAYBNKNM = ' + str(TradeContext.PAYBNKNM)) else: AfaLoggerFunc.tradeDebug("bilinf['PAYBNKNM']不存在") if from_dict.has_key('PYRACC'): TradeContext.PYRACC = from_dict['PYRACC'] AfaLoggerFunc.tradeDebug('TradeContext.PYRACC = ' + str(TradeContext.PYRACC)) else: AfaLoggerFunc.tradeDebug("bilinf['PYRACC']不存在") if from_dict.has_key('PYRNAM'): TradeContext.PYRNAM = from_dict['PYRNAM'] AfaLoggerFunc.tradeDebug('TradeContext.PYRNAM = ' + str(TradeContext.PYRNAM)) else: AfaLoggerFunc.tradeDebug("bilinf['PYRNAM']不存在") if from_dict.has_key('PYRADDR'): TradeContext.PYRADDR = from_dict['PYRADDR'] AfaLoggerFunc.tradeDebug('TradeContext.PYRADDR = ' + str(TradeContext.PYRADDR)) else: AfaLoggerFunc.tradeDebug("bilinf['PYRADDR']不存在") if from_dict.has_key('PYEACC'): TradeContext.PYEACC = from_dict['PYEACC'] AfaLoggerFunc.tradeDebug('TradeContext.PYEACC = ' + str(TradeContext.PYEACC)) else: AfaLoggerFunc.tradeDebug("bilinf['PYEACC']不存在") if from_dict.has_key('PYENAM'): TradeContext.PYENAM = from_dict['PYENAM'] AfaLoggerFunc.tradeDebug('TradeContext.PYENAM = ' + str(TradeContext.PYENAM)) else: AfaLoggerFunc.tradeDebug("bilinf['PYENAM']不存在") if from_dict.has_key('PYEADDR'): TradeContext.PYEADDR = from_dict['PYEADDR'] AfaLoggerFunc.tradeDebug('TradeContext.PYEADDR = ' + str(TradeContext.PYEADDR)) else: AfaLoggerFunc.tradeDebug("bilinf['PYEADDR']不存在") if from_dict.has_key('PYHACC'): TradeContext.PYHACC = from_dict['PYHACC'] AfaLoggerFunc.tradeDebug('TradeContext.PYHACC = ' + str(TradeContext.PYHACC)) else: AfaLoggerFunc.tradeDebug("bilinf['PYHACC']不存在") if from_dict.has_key('PYHNAM'): TradeContext.PYHNAM = from_dict['PYHNAM'] AfaLoggerFunc.tradeDebug('TradeContext.PYHNAM = ' + str(TradeContext.PYHNAM)) else: AfaLoggerFunc.tradeDebug("bilinf['PYHNAM']不存在") if from_dict.has_key('PYHADDR'): TradeContext.PYHADDR = from_dict['PYHADDR'] AfaLoggerFunc.tradeDebug('TradeContext.PYHADDR = ' + str(TradeContext.PYHADDR)) else: AfaLoggerFunc.tradeDebug("bilinf['PYHADDR']不存在") if from_dict.has_key('PYITYP'): TradeContext.PYITYP = from_dict['PYITYP'] AfaLoggerFunc.tradeDebug('TradeContext.PYITYP = ' + str(TradeContext.PYITYP)) else: AfaLoggerFunc.tradeDebug("bilinf['PYITYP']不存在") if from_dict.has_key('PYIACC'): TradeContext.PYIACC = from_dict['PYIACC'] AfaLoggerFunc.tradeDebug('TradeContext.PYIACC = ' + str(TradeContext.PYIACC)) else: AfaLoggerFunc.tradeDebug("bilinf['PYIACC']不存在") if from_dict.has_key('PYINAM'): TradeContext.PYINAM = from_dict['PYINAM'] AfaLoggerFunc.tradeDebug('TradeContext.PYINAM = ' + str(TradeContext.PYINAM)) else: AfaLoggerFunc.tradeDebug("bilinf['PYINAM']不存在") if from_dict.has_key('BILAMT'): TradeContext.BILAMT = from_dict['BILAMT'] AfaLoggerFunc.tradeDebug('TradeContext.BILAMT = ' + str(TradeContext.BILAMT)) else: AfaLoggerFunc.tradeDebug("bilinf['BILAMT']不存在") if from_dict.has_key('OCCAMT'): TradeContext.OCCAMT = from_dict['OCCAMT'] AfaLoggerFunc.tradeDebug('TradeContext.OCCAMT = ' + str(TradeContext.OCCAMT)) else: AfaLoggerFunc.tradeDebug("bilinf['OCCAMT']不存在") if from_dict.has_key('RMNAMT'): TradeContext.RMNAMT = from_dict['RMNAMT'] AfaLoggerFunc.tradeDebug('TradeContext.RMNAMT = ' + str(TradeContext.RMNAMT)) else: AfaLoggerFunc.tradeDebug("bilinf['RMNAMT']不存在") if from_dict.has_key('CUR'): TradeContext.CUR = from_dict['CUR'] AfaLoggerFunc.tradeDebug('TradeContext.CUR = ' + str(TradeContext.CUR)) else: AfaLoggerFunc.tradeDebug("bilinf['CUR']不存在") if from_dict.has_key('SEAL'): TradeContext.SEAL = from_dict['SEAL'] AfaLoggerFunc.tradeDebug('TradeContext.SEAL = ' + str(TradeContext.SEAL)) else: AfaLoggerFunc.tradeDebug("bilinf['SEAL']不存在") if from_dict.has_key('USE'): TradeContext.USE = from_dict['USE'] AfaLoggerFunc.tradeDebug('TradeContext.USE = ' + str(TradeContext.USE)) else: AfaLoggerFunc.tradeDebug("bilinf['USE']不存在") if from_dict.has_key('REMARK'): TradeContext.REMARK = from_dict['REMARK'] AfaLoggerFunc.tradeDebug('TradeContext.REMARK = ' + str(TradeContext.REMARK)) else: AfaLoggerFunc.tradeDebug("bilinf['REMARK']不存在") if from_dict.has_key('HPCUSQ'): TradeContext.HPCUSQ = from_dict['HPCUSQ'] AfaLoggerFunc.tradeDebug('TradeContext.HPCUSQ = ' + str(TradeContext.HPCUSQ)) else: AfaLoggerFunc.tradeDebug("bilinf['HPCUSQ']不存在") if from_dict.has_key('HPSTAT'): TradeContext.HPSTAT = from_dict['HPSTAT'] AfaLoggerFunc.tradeDebug('TradeContext.HPSTAT = ' + str(TradeContext.HPSTAT)) else: AfaLoggerFunc.tradeDebug("bilinf['HPSTAT']不存在") if from_dict.has_key('NOTE1'): TradeContext.NOTE1 = from_dict['NOTE1'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE1 = ' + str(TradeContext.NOTE1)) else: AfaLoggerFunc.tradeDebug("bilinf['NOTE1']不存在") if from_dict.has_key('NOTE2'): TradeContext.NOTE2 = from_dict['NOTE2'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE2 = ' + str(TradeContext.NOTE2)) else: AfaLoggerFunc.tradeDebug("bilinf['NOTE2']不存在") if from_dict.has_key('NOTE3'): TradeContext.NOTE3 = from_dict['NOTE3'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE3 = ' + str(TradeContext.NOTE3)) else: AfaLoggerFunc.tradeDebug("bilinf['NOTE3']不存在") if from_dict.has_key('NOTE4'): TradeContext.NOTE4 = from_dict['NOTE4'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE4 = ' + str(TradeContext.NOTE4)) else: AfaLoggerFunc.tradeDebug("bilinf['NOTE4']不存在") return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统: 通存通兑.本地类操作交易[RCC003_8562]进入***' ) #检查本机构是否有通存通兑业务权限 if not rccpsDBFunc.chkTDBESAuth(TradeContext.BESBNO): return AfaFlowControl.ExitThisFlow("S999","本机构无通存通兑业务权限") #=====接收行判断==== if TradeContext.SNDSTLBIN == TradeContext.RCVSTLBIN: return AfaFlowControl.ExitThisFlow('S999','同一清算行不允许做此业务') #=====账户类型判断==== if not TradeContext.existVariable('PYRTYP'): return AfaFlowControl.ExitThisFlow('S999','账户类型不存在[PYRTYP]') if TradeContext.PYRTYP == '0': #=====银行卡==== if len(TradeContext.PYRNAM) == 0: return AfaFlowControl.ExitThisFlow('S999','付款人名称[PYRNAM]不允许为空') if len(TradeContext.SCTRKINF) == 0: return AfaFlowControl.ExitThisFlow('S999','二磁道[SCTRKINF]信息不允许为空') #if len(TradeContext.THTRKINF) == 0: # return AfaFlowControl.ExitThisFlow('S999','三磁道[THTRKINF]信息不允许为空') if len(TradeContext.SCTRKINF) > 37: return AfaFlowControl.ExitThisFlow('S999','磁道信息非法') #if len(TradeContext.THTRKINF) > 104: # return AfaFlowControl.ExitThisFlow('S999','磁道信息非法') elif TradeContext.PYRTYP == '1': #=====存折==== if len(TradeContext.BNKBKNO) == 0: return AfaFlowControl.ExitThisFlow('S999','存折号码[BNKBKNO]不允许为空') if float(TradeContext.BNKBKBAL) == 0.0: return AfaFlowControl.ExitThisFlow('S999','存折余额[BNKBKBAL]不允许为空') TradeContext.SCTRKINF = ''.rjust(37,'0') TradeContext.THTRKINF = ''.rjust(37,'0') else: return AfaFlowControl.ExitThisFlow('S999','账户类型错误') #=====交易金额判断==== sel_dict = {} sel_dict['BPARAD'] = 'TD001' #通存通兑凭证金额校验 dict = rccpsDBTrcc_pamtbl.selectu(sel_dict) AfaLoggerFunc.tradeInfo('dict='+str(dict)) if dict == None: return AfaFlowControl.ExitThisFlow('S999','校验交易金额失败') if len(dict) == 0: return AfaFlowControl.ExitThisFlow('S999','查询PAMTBL校验交易金额表记录错误') #=====判断农信银中心规定校验凭证上线==== if float(TradeContext.OCCAMT) >= float(dict['BPADAT']): #=====交易金额大于农信银中心规定金额,需要输入证件==== if TradeContext.existVariable('CERTTYPE') and len(TradeContext.CERTTYPE) == 0: return AfaFlowControl.ExitThisFlow('S999','请选择证件类型!') if TradeContext.existVariable('CERTNO') and len(TradeContext.CERTNO) == 0: return AfaFlowControl.ExitThisFlow('S999','请输入证件号码!') #加密客户密码 MIMA = ' ' #PIN = '888888' #ACC = '12311111111111111111111111111111' PIN = TradeContext.CURPIN ACC = TradeContext.PYRACC AfaLoggerFunc.tradeDebug('密码[' + PIN + ']') AfaLoggerFunc.tradeDebug('账号[' + ACC + ']') ret = jiami.secEncryptPin(PIN,ACC,MIMA) if ret != 0: AfaLoggerFunc.tradeDebug("ret=[" + str(ret) + "]") return AfaFlowControl.ExitThisFlow('M9999','调用加密服务器失败') else: TradeContext.CURPIN = MIMA AfaLoggerFunc.tradeDebug('密码new[' + TradeContext.CURPIN + ']') #=====字段赋值==== TradeContext.OPRNO = PL_TDOPRNO_TD #业务种类 TradeContext.DCFLG = PL_DCFLG_DEB #借贷标识 #=====字典赋值,插入数据库==== wtrbka_dict = {} if not rccpsMap8562CTradeContext2Dwtrbka_dict.map(wtrbka_dict): return AfaFlowControl.ExitThisFlow('S999','字典赋值错误!') wtrbka_dict['MSGFLGNO'] = TradeContext.SNDSTLBIN + TradeContext.TRCDAT + TradeContext.SerialNo #报文标识号 #=====插入数据库表==== if not rccpsDBFunc.insTransWtr(wtrbka_dict): return AfaFlowControl.ExitThisFlow('S999','登记通存通兑业务登记簿异常') AfaDBFunc.CommitSql( ) #=====设置业务状态为发送处理中==== AfaLoggerFunc.tradeInfo(">>>开始设置业务状态为发送处理中") stat_dict = {} stat_dict['BJEDTE'] = TradeContext.BJEDTE #交易日期 stat_dict['BSPSQN'] = TradeContext.BSPSQN #报单序号 stat_dict['BCSTAT'] = PL_BCSTAT_SND #PL_BCSTAT_SND 发送 stat_dict['BDWFLG'] = PL_BDWFLG_WAIT #PL_BDWFLG_WAIT 处理中 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(">>>结束设置业务状态为发送处理中") #=====发送农信银中心==== AfaLoggerFunc.tradeInfo(">>>开始发送农信银中心处理") TradeContext.MSGTYPCO = 'SET004' #报文类代码 TradeContext.OPRTYPNO = '30' #通存通兑 #=====根据手续费收取方式判断是否发送农信银中心==== TradeContext.sCuschrg = TradeContext.CUSCHRG if TradeContext.CHRGTYP != PL_CHRG_TYPE: #PL_CHRG_TYPE 1 转账 #=====转账收取手续费==== TradeContext.CUSCHRG = '0.0' AfaLoggerFunc.tradeDebug(">>>结束发送农信银中心处理") AfaLoggerFunc.tradeInfo( '***农信银系统: 通存通兑.本地类操作交易[RCC003_8562]退出***' ) return True
def map(to_dict): if TradeContext.existVariable('BJEDTE'): to_dict['BJEDTE'] = TradeContext.BJEDTE AfaLoggerFunc.tradeDebug('hpcbka[BJEDTE] = ' + str(to_dict['BJEDTE'])) else: AfaLoggerFunc.tradeWarn("交易日期不能为空") return False if TradeContext.existVariable('BSPSQN'): to_dict['BSPSQN'] = TradeContext.BSPSQN AfaLoggerFunc.tradeDebug('hpcbka[BSPSQN] = ' + str(to_dict['BSPSQN'])) else: AfaLoggerFunc.tradeWarn("报单序号不能为空") return False if TradeContext.existVariable('BRSFLG'): to_dict['BRSFLG'] = TradeContext.BRSFLG AfaLoggerFunc.tradeDebug('hpcbka[BRSFLG] = ' + str(to_dict['BRSFLG'])) else: AfaLoggerFunc.tradeWarn("往来标识不能为空") return False if TradeContext.existVariable('BESBNO'): to_dict['BESBNO'] = TradeContext.BESBNO AfaLoggerFunc.tradeDebug('hpcbka[BESBNO] = ' + str(to_dict['BESBNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BESBNO不存在") if TradeContext.existVariable('BETELR'): to_dict['BETELR'] = TradeContext.BETELR AfaLoggerFunc.tradeDebug('hpcbka[BETELR] = ' + str(to_dict['BETELR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BETELR不存在") if TradeContext.existVariable('BEAUUS'): to_dict['BEAUUS'] = TradeContext.BEAUUS AfaLoggerFunc.tradeDebug('hpcbka[BEAUUS] = ' + str(to_dict['BEAUUS'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BEAUUS不存在") if TradeContext.existVariable('NCCWKDAT'): to_dict['NCCWKDAT'] = TradeContext.NCCWKDAT AfaLoggerFunc.tradeDebug('hpcbka[NCCWKDAT] = ' + str(to_dict['NCCWKDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NCCWKDAT不存在") if TradeContext.existVariable('TRCCO'): to_dict['TRCCO'] = TradeContext.TRCCO AfaLoggerFunc.tradeDebug('hpcbka[TRCCO] = ' + str(to_dict['TRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCCO不存在") if TradeContext.existVariable('TRCDAT'): to_dict['TRCDAT'] = TradeContext.TRCDAT AfaLoggerFunc.tradeDebug('hpcbka[TRCDAT] = ' + str(to_dict['TRCDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCDAT不存在") if TradeContext.existVariable('TRCNO'): to_dict['TRCNO'] = TradeContext.TRCNO AfaLoggerFunc.tradeDebug('hpcbka[TRCNO] = ' + str(to_dict['TRCNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCNO不存在") if TradeContext.existVariable('SNDMBRCO'): to_dict['SNDMBRCO'] = TradeContext.SNDMBRCO AfaLoggerFunc.tradeDebug('hpcbka[SNDMBRCO] = ' + str(to_dict['SNDMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDMBRCO不存在") if TradeContext.existVariable('RCVMBRCO'): to_dict['RCVMBRCO'] = TradeContext.RCVMBRCO AfaLoggerFunc.tradeDebug('hpcbka[RCVMBRCO] = ' + str(to_dict['RCVMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVMBRCO不存在") if TradeContext.existVariable('SNDBNKCO'): to_dict['SNDBNKCO'] = TradeContext.SNDBNKCO AfaLoggerFunc.tradeDebug('hpcbka[SNDBNKCO] = ' + str(to_dict['SNDBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKCO不存在") if TradeContext.existVariable('SNDBNKNM'): to_dict['SNDBNKNM'] = TradeContext.SNDBNKNM AfaLoggerFunc.tradeDebug('hpcbka[SNDBNKNM] = ' + str(to_dict['SNDBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKNM不存在") if TradeContext.existVariable('RCVBNKCO'): to_dict['RCVBNKCO'] = TradeContext.RCVBNKCO AfaLoggerFunc.tradeDebug('hpcbka[RCVBNKCO] = ' + str(to_dict['RCVBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKCO不存在") if TradeContext.existVariable('RCVBNKNM'): to_dict['RCVBNKNM'] = TradeContext.RCVBNKNM AfaLoggerFunc.tradeDebug('hpcbka[RCVBNKNM] = ' + str(to_dict['RCVBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKNM不存在") if TradeContext.existVariable('BOJEDT'): to_dict['BOJEDT'] = TradeContext.BOJEDT AfaLoggerFunc.tradeDebug('hpcbka[BOJEDT] = ' + str(to_dict['BOJEDT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BOJEDT不存在") if TradeContext.existVariable('BOSPSQ'): to_dict['BOSPSQ'] = TradeContext.BOSPSQ AfaLoggerFunc.tradeDebug('hpcbka[BOSPSQ] = ' + str(to_dict['BOSPSQ'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BOSPSQ不存在") if TradeContext.existVariable('ORTRCCO'): to_dict['ORTRCCO'] = TradeContext.ORTRCCO AfaLoggerFunc.tradeDebug('hpcbka[ORTRCCO] = ' + str(to_dict['ORTRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.ORTRCCO不存在") if TradeContext.existVariable('BILVER'): to_dict['BILVER'] = TradeContext.BILVER AfaLoggerFunc.tradeDebug('hpcbka[BILVER] = ' + str(to_dict['BILVER'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BILVER不存在") if TradeContext.existVariable('BILNO'): to_dict['BILNO'] = TradeContext.BILNO AfaLoggerFunc.tradeDebug('hpcbka[BILNO] = ' + str(to_dict['BILNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BILNO不存在") if TradeContext.existVariable('BILDAT'): to_dict['BILDAT'] = TradeContext.BILDAT AfaLoggerFunc.tradeDebug('hpcbka[BILDAT] = ' + str(to_dict['BILDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BILDAT不存在") if TradeContext.existVariable('PAYWAY'): to_dict['PAYWAY'] = TradeContext.PAYWAY AfaLoggerFunc.tradeDebug('hpcbka[PAYWAY] = ' + str(to_dict['PAYWAY'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PAYWAY不存在") if TradeContext.existVariable('CUR'): to_dict['CUR'] = TradeContext.CUR AfaLoggerFunc.tradeDebug('hpcbka[CUR] = ' + str(to_dict['CUR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CUR不存在") if TradeContext.existVariable('BILAMT'): to_dict['BILAMT'] = TradeContext.BILAMT AfaLoggerFunc.tradeDebug('hpcbka[BILAMT] = ' + str(to_dict['BILAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BILAMT不存在") if TradeContext.existVariable('PYRACC'): to_dict['PYRACC'] = TradeContext.PYRACC AfaLoggerFunc.tradeDebug('hpcbka[PYRACC] = ' + str(to_dict['PYRACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYRACC不存在") if TradeContext.existVariable('PYRNAM'): to_dict['PYRNAM'] = TradeContext.PYRNAM AfaLoggerFunc.tradeDebug('hpcbka[PYRNAM] = ' + str(to_dict['PYRNAM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYRNAM不存在") if TradeContext.existVariable('PYEACC'): to_dict['PYEACC'] = TradeContext.PYEACC AfaLoggerFunc.tradeDebug('hpcbka[PYEACC] = ' + str(to_dict['PYEACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYEACC不存在") if TradeContext.existVariable('PYENAM'): to_dict['PYENAM'] = TradeContext.PYENAM AfaLoggerFunc.tradeDebug('hpcbka[PYENAM] = ' + str(to_dict['PYENAM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYENAM不存在") if TradeContext.existVariable('CONT'): to_dict['CONT'] = TradeContext.CONT AfaLoggerFunc.tradeDebug('hpcbka[CONT] = ' + str(to_dict['CONT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CONT不存在") if TradeContext.existVariable('ISDEAL'): to_dict['ISDEAL'] = TradeContext.ISDEAL AfaLoggerFunc.tradeDebug('hpcbka[ISDEAL] = ' + str(to_dict['ISDEAL'])) else: AfaLoggerFunc.tradeDebug("TradeContext.ISDEAL不存在") if TradeContext.existVariable('PRCCO'): to_dict['PRCCO'] = TradeContext.PRCCO AfaLoggerFunc.tradeDebug('hpcbka[PRCCO] = ' + str(to_dict['PRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PRCCO不存在") if TradeContext.existVariable('NOTE1'): to_dict['NOTE1'] = TradeContext.NOTE1 AfaLoggerFunc.tradeDebug('hpcbka[NOTE1] = ' + str(to_dict['NOTE1'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE1不存在") if TradeContext.existVariable('NOTE2'): to_dict['NOTE2'] = TradeContext.NOTE2 AfaLoggerFunc.tradeDebug('hpcbka[NOTE2] = ' + str(to_dict['NOTE2'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE2不存在") if TradeContext.existVariable('NOTE3'): to_dict['NOTE3'] = TradeContext.NOTE3 AfaLoggerFunc.tradeDebug('hpcbka[NOTE3] = ' + str(to_dict['NOTE3'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE3不存在") if TradeContext.existVariable('NOTE4'): to_dict['NOTE4'] = TradeContext.NOTE4 AfaLoggerFunc.tradeDebug('hpcbka[NOTE4] = ' + str(to_dict['NOTE4'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE4不存在") return True
def InitHostReq(hostType ): #初始化函数返回值变量 AfaLoggerFunc.tradeInfo('初始化map文件信息[InitHostReq]') #关彬捷 20081105 移动InitHostReq函数中初始化8810主机接口相关程序至此处 if (hostType == '8810'): AfaLoggerFunc.tradeInfo('>>>查询账户信息') HostContext.I1TRCD = TradeContext.HostCode #主机码 HostContext.I1SBNO = TradeContext.BESBNO #网点号 HostContext.I1USID = TradeContext.BETELR #柜员号 if TradeContext.existVariable ( 'BEAUUS') and TradeContext.BEAUUS != '' and TradeContext.existVariable('BEAUPS') and TradeContext.BEAUPS != '': HostContext.I1AUUS = TradeContext.BEAUUS #授权柜员 HostContext.I1AUPS = TradeContext.BEAUPS #授权密码 else: HostContext.I1AUUS = '' HostContext.I1AUPS = '' if TradeContext.existVariable('TERMID') and TradeContext.TERMID != '': HostContext.I1WSNO = TradeContext.TERMID #终端号 else: HostContext.I1WSNO = '1234567890' #终端号 HostContext.I1ACNO = TradeContext.ACCNO #帐号 HostContext.I1CYNO = '01' #币种 if TradeContext.existVariable('PASSWD') and TradeContext.PASSWD != '': HostContext.I1CFFG = '0' HostContext.I1PSWD = TradeContext.PASSWD else: HostContext.I1CFFG = '1' #密码校验标志 HostContext.I1PSWD = '' #密码 if TradeContext.existVariable('WARNTNO') and TradeContext.WARNTNO != '': #凭证种类 HostContext.I1CETY = TradeContext.WARNTNO[0:2] HostContext.I1CCSQ = TradeContext.WARNTNO[2:] else: HostContext.I1CETY = '' #凭证种类 HostContext.I1CCSQ = '' #凭证号码 AfaLoggerFunc.tradeInfo("I1CETY=[" + HostContext.I1CETY + "]") AfaLoggerFunc.tradeInfo("I1CCSQ=[" + HostContext.I1CCSQ + "]") HostContext.I1CTFG = '0' #钞汇标志 #关彬捷 20081215 新增校验磁道信息 if (hostType == '0652'): AfaLoggerFunc.tradeInfo('>>>验证磁道信息') HostContext.I1TRCD = TradeContext.HostCode #主机码 HostContext.I1SBNO = TradeContext.BESBNO #网点号 HostContext.I1USID = TradeContext.BETELR #柜员号 if TradeContext.existVariable ( 'BEAUUS') and TradeContext.BEAUUS != '' and TradeContext.existVariable('BEAUPS') and TradeContext.BEAUPS != '': HostContext.I1AUUS = TradeContext.BEAUUS #授权柜员 HostContext.I1AUPS = TradeContext.BEAUPS #授权密码 else: HostContext.I1AUUS = '' HostContext.I1AUPS = '' if TradeContext.existVariable('TERMID') and TradeContext.TERMID != '': HostContext.I1WSNO = TradeContext.TERMID #终端号 else: HostContext.I1WSNO = '1234567890' #终端号 if TradeContext.existVariable('WARNTNO') and TradeContext.WARNTNO != '': #凭证种类 HostContext.I1CARD = TradeContext.WARNTNO else: HostContext.I1CARD = '' #凭证种类 if TradeContext.existVariable('SCTRKINF') and TradeContext.SCTRKINF != '': #二磁道信息 HostContext.I1AMTT = TradeContext.SCTRKINF else: HostContext.I1AMTT = TradeContext.SCTRKINF if TradeContext.existVariable('THTRKINF') and TradeContext.THTRKINF != '': #三磁道信息 HostContext.I1AMST = TradeContext.THTRKINF else: HostContext.I1AMST = TradeContext.THTRKINF if (hostType =='8813'): # 正交易 AfaLoggerFunc.tradeInfo('>>>正交易') HostContext.I1TRCD = '8813' HostContext.I1SBNO = TradeContext.BESBNO HostContext.I1USID = TradeContext.BETELR if TradeContext.existVariable ( 'BEAUUS') and TradeContext.BEAUUS != '' and TradeContext.existVariable('BEAUPS') and TradeContext.BEAUPS != '': HostContext.I1AUUS = TradeContext.BEAUUS #授权柜员 HostContext.I1AUPS = TradeContext.BEAUPS #授权密码 else: HostContext.I1AUUS = '' HostContext.I1AUPS = '' if TradeContext.existVariable('TERMID') and TradeContext.TERMID != '': HostContext.I1WSNO = TradeContext.TERMID #终端号 else: HostContext.I1WSNO = '1234567890' #=====刘雨龙 20080804 新增重复次数==== if TradeContext.existVariable('ACUR') and TradeContext.ACUR != '': HostContext.I1ACUR = TradeContext.ACUR else: HostContext.I1ACUR = '1' HostContext.I2NBBH = [] #代理业务号 HostContext.I2NBBH.append('RCC') #关彬捷 20081230 增加CLDT,UNSQ存放原前置日期和前置流水号 HostContext.I2CLDT = [] #批量委托日期 if TradeContext.existVariable('CLDT') and TradeContext.CLDT != '': HostContext.I2CLDT.append(TradeContext.CLDT) else: HostContext.I2CLDT.append('') HostContext.I2UNSQ = [] #批量委托号 if TradeContext.existVariable('UNSQ') and TradeContext.UNSQ != '': HostContext.I2UNSQ.append(TradeContext.UNSQ) else: HostContext.I2UNSQ.append('') HostContext.I2FEDT = [] #前置日期 if TradeContext.existVariable('FEDT') and TradeContext.FEDT != '': HostContext.I2FEDT.append(TradeContext.FEDT) else: HostContext.I2FEDT.append(TradeContext.BJEDTE) HostContext.I2RBSQ = [] #前置流水号 if TradeContext.existVariable('RBSQ') and TradeContext.RBSQ != '': HostContext.I2RBSQ.append(TradeContext.RBSQ) else: HostContext.I2RBSQ.append(TradeContext.BSPSQN) HostContext.I2DATE = [] #外系统帐务日期 HostContext.I2DATE.append(TradeContext.NCCworkDate) HostContext.I2RVFG = [] #蓝红字标志 if TradeContext.existVariable( 'RVFG' ) and TradeContext.RVFG != '': HostContext.I2RVFG.append(TradeContext.RVFG) else: HostContext.I2RVFG.append('') HostContext.I2SBNO = [] #交易机构 HostContext.I2SBNO.append(TradeContext.BESBNO) HostContext.I2TELR = [] #交易柜员 HostContext.I2TELR.append(TradeContext.BETELR) HostContext.I2TRSQ = [] #组号 HostContext.I2TRSQ.append('1') HostContext.I2TINO = [] #组内序号 HostContext.I2TINO.append('1') HostContext.I2CYNO = [] #币种 HostContext.I2CYNO.append('01') HostContext.I2WLBZ = [] #往来帐标志 HostContext.I2WLBZ.append(TradeContext.BRSFLG) HostContext.I2TRAM = [] #发生额 HostContext.I2TRAM.append(TradeContext.OCCAMT) HostContext.I2SMCD = [] #摘要代码 if TradeContext.existVariable ('RCCSMCD') and TradeContext.RCCSMCD != '': HostContext.I2SMCD.append(TradeContext.RCCSMCD) else: HostContext.I2SMCD.append('') HostContext.I2NMFG = [] #户名校验标志 if TradeContext.existVariable ('NMCKFG') and TradeContext.NMCKFG != '': HostContext.I2NMFG.append(TradeContext.NMCKFG) else: HostContext.I2NMFG.append('0') #=====新增销账序号 刘雨龙 20080609==== HostContext.I2DASQ = [] if TradeContext.existVariable( 'DASQ' ) and TradeContext.DASQ != '': HostContext.I2DASQ.append(TradeContext.DASQ) else: HostContext.I2DASQ.append('') HostContext.I2APX1 = [] #附加信息1(单位编码) HostContext.I2APX1.append('') HostContext.I2RBAC = [] #贷方账号 if TradeContext.existVariable( 'RBAC' ) and TradeContext.RBAC != '': HostContext.I2RBAC.append(TradeContext.RBAC) else: HostContext.I2RBAC.append('') HostContext.I2OTNM = [] #贷方户名 if TradeContext.existVariable( 'OTNM' ) and TradeContext.OTNM != '': HostContext.I2OTNM.append(TradeContext.OTNM) else: HostContext.I2OTNM.append('') HostContext.I2SBAC = [] #借方账号 if TradeContext.existVariable('SBAC') and TradeContext.SBAC != '': HostContext.I2SBAC.append(TradeContext.SBAC) else: HostContext.I2SBAC.append('') HostContext.I2ACNM = [] #借方户名 if TradeContext.existVariable('ACNM') and TradeContext.ACNM != '': HostContext.I2ACNM.append(TradeContext.ACNM) else: HostContext.I2ACNM.append('') HostContext.I2REAC = [] #挂账账号 if TradeContext.existVariable('REAC') and TradeContext.REAC != '': HostContext.I2REAC.append(TradeContext.REAC) else: HostContext.I2REAC.append('') if TradeContext.existVariable('PASSWD') and TradeContext.PASSWD != '': HostContext.I2CFFG = [] HostContext.I2CFFG.append('Y') #密码校验方式 AfaLoggerFunc.tradeDebug('>>>密码校验方式:'+str(HostContext.I2CFFG)) HostContext.I2PSWD = [] HostContext.I2PSWD.append(TradeContext.PASSWD) AfaLoggerFunc.tradeDebug('>>>密码:'+str(TradeContext.PASSWD)) else: HostContext.I2CFFG = [] HostContext.I2CFFG.append('N') #密码校验方式 HostContext.I2PSWD = [] HostContext.I2PSWD.append('') AfaLoggerFunc.tradeDebug('>>>密码['+str(HostContext.I2PSWD)+']') if TradeContext.existVariable('CERTTYPE') and TradeContext.CERTTYPE != '' and TradeContext.existVariable('CERTNO') and TradeContext.CERTNO != '': HostContext.I2OPTY = [] #证件校验标志 HostContext.I2OPTY.append('1') HostContext.I2IDTY = [] #证件种类 HostContext.I2IDTY.append(TradeContext.CERTTYPE) HostContext.I2IDNO = [] #证件号码 HostContext.I2IDNO.append(TradeContext.CERTNO) else: HostContext.I2OPTY = [] #证件校验标志 HostContext.I2OPTY.append('0') HostContext.I2IDTY = [] #证件种类 HostContext.I2IDTY.append('') HostContext.I2IDNO = [] #证件号码 HostContext.I2IDNO.append('') if TradeContext.existVariable('WARNTNO') and TradeContext.WARNTNO != '': #凭证种类 HostContext.I2CETY = [] HostContext.I2CETY.append(TradeContext.WARNTNO[0:2]) HostContext.I2CCSQ = [] HostContext.I2CCSQ.append(TradeContext.WARNTNO[2:]) #=====刘雨龙 20080805 上移==== HostContext.I2TRFG = []#凭证处理标志 HostContext.I2TRFG.append('9') if (TradeContext.existVariable('BBSSRC') and TradeContext.BBSSRC=='2' ): #资金来源为 2-对公活期 HostContext.I2CFFG = [] HostContext.I2CFFG.append('N') #密码校验方式:支票不校验密码 HostContext.I2TRFG = []#凭证处理标志 HostContext.I2TRFG.append('0') else: HostContext.I2CETY = [] #凭证类型 HostContext.I2CETY.append('') HostContext.I2CCSQ = [] #凭证号码 HostContext.I2CCSQ.append('') HostContext.I2TRFG = [] #凭证处理标志 HostContext.I2TRFG.append('9') HostContext.I2CATR = [] if TradeContext.existVariable('CATR') and TradeContext.CATR != '': #现转标志 HostContext.I2CATR.append(TradeContext.CATR) else: HostContext.I2CATR.append('1') AfaLoggerFunc.tradeDebug('>>>现转标志['+str(HostContext.I2CATR)+']') HostContext.I2PKFG = [] if TradeContext.existVariable('PKFG') and TradeContext.PKFG != '': #通存通兑标识 HostContext.I2PKFG.append(TradeContext.PKFG) else: HostContext.I2PKFG.append('') HostContext.I2CTFG = [] if TradeContext.existVariable('CTFG') and TradeContext.CTFG != '': #通存通兑本金标志 HostContext.I2CTFG.append(TradeContext.CTFG) else: HostContext.I2CTFG.append('') #=====刘雨龙 20080804 新增汇票签发关于凭证的处理==== if int(HostContext.I1ACUR) >=2: AfaLoggerFunc.tradeDebug('>>>开始添加第二条记录') if TradeContext.existVariable('PKFG') and TradeContext.PKFG != '': #通存通兑标识 HostContext.I2PKFG.append(TradeContext.PKFG) else: HostContext.I2PKFG.append('') #=====代理业务号 RCC-农信银==== HostContext.I2NBBH.append('RCC') #关彬捷 20081230 增加CLDT,UNSQ存放原前置日期和前置流水号 #=====批量委托日期===== if TradeContext.existVariable('CLDT') and TradeContext.CLDT != '': HostContext.I2CLDT.append(TradeContext.CLDT) else: HostContext.I2CLDT.append('') #=====批量委托号===== if TradeContext.existVariable('UNSQ') and TradeContext.UNSQ != '': HostContext.I2UNSQ.append(TradeContext.UNSQ) else: HostContext.I2UNSQ.append('') #=====前置日期==== if TradeContext.existVariable('FEDT') and TradeContext.FEDT != '': HostContext.I2FEDT.append(TradeContext.FEDT) else: HostContext.I2FEDT.append(TradeContext.BJEDTE) #=====前置流水号==== if TradeContext.existVariable('RBSQ') and TradeContext.RBSQ != '': HostContext.I2RBSQ.append(TradeContext.RBSQ) else: HostContext.I2RBSQ.append(TradeContext.BSPSQN) #HostContext.I2RBSQ.append(TradeContext.BSPSQN) HostContext.I2DATE.append(TradeContext.NCCworkDate) #=====红蓝字标志==== if TradeContext.existVariable('I2RVFG') and TradeContext.I2RVFG != '': HostContext.I2RVFG.append(TradeContext.I2RVFG) else: HostContext.I2RVFG.append('') #=====交易机构==== HostContext.I2SBNO.append(TradeContext.BESBNO) #=====交易柜员==== HostContext.I2TELR.append(TradeContext.BETELR) #=====组号==== HostContext.I2TRSQ.append('1') #=====组内序号==== HostContext.I2TINO.append('2') #=====币种==== HostContext.I2CYNO.append('01') #=====往来账标志==== HostContext.I2WLBZ.append(TradeContext.BRSFLG) #=====销账序号==== HostContext.I2DASQ.append('') #=====附加信息1==== HostContext.I2APX1.append('') #=====户名校验标志==== if TradeContext.existVariable('I2NMFG') and TradeContext.I2NMFG != '': HostContext.I2NMFG.append(TradeContext.I2NMFG) else: HostContext.I2NMFG.append('0') #=====贷方账号==== if TradeContext.existVariable('I2RBAC') and TradeContext.I2RBAC != '': HostContext.I2RBAC.append(TradeContext.I2RBAC) else: HostContext.I2RBAC.append('') #=====贷方户名==== if TradeContext.existVariable('I2OTNM') and TradeContext.I2OTNM != '': HostContext.I2OTNM.append(TradeContext.I2OTNM) else: HostContext.I2OTNM.append('') #=====借方账号==== if TradeContext.existVariable('I2SBAC') and TradeContext.I2SBAC != '': HostContext.I2SBAC.append(TradeContext.I2SBAC) else: HostContext.I2SBAC.append('') #=====借方户名==== if TradeContext.existVariable('I2ACNM') and TradeContext.I2ACNM != '': HostContext.I2ACNM.append(TradeContext.I2ACNM) else: HostContext.I2ACNM.append('') #=====挂账账号==== if TradeContext.existVariable('I2REAC') and TradeContext.I2REAC != '': HostContext.I2REAC.append(TradeContext.I2REAC) else: HostContext.I2REAC.append('') if TradeContext.existVariable('I2PSWD') and TradeContext.I2PSWD != '': #=====密码校验方式==== HostContext.I2CFFG.append('Y') #密码校验方式 #=====密码==== HostContext.I2PSWD.append(TradeContext.I2PSWD) else: #=====密码校验方式==== HostContext.I2CFFG.append('N') #密码校验方式 #=====密码==== HostContext.I2PSWD.append('') #关彬捷 20081117 修改第二笔分录证件校验相关处理 #=====证件校验标志==== #HostContext.I2OPTY.append('') #=====证件种类==== #HostContext.I2IDTY.append('') #HostContext.I2IDTY.append('') #=====证件号码==== #HostContext.I2IDNO.append('') if TradeContext.existVariable('I2IDTY') and TradeContext.I2IDTY != '' and TradeContext.existVariable('I2IDNO') and TradeContext.I2IDNO != '': HostContext.I2OPTY.append('1') HostContext.I2IDTY.append(TradeContext.I2IDTY) HostContext.I2IDNO.append(TradeContext.I2IDNO) else: HostContext.I2OPTY.append('0') HostContext.I2IDTY.append('') HostContext.I2IDNO.append('') #=====现转标志==== if TradeContext.existVariable('I2CATR') and TradeContext.I2CATR != '': HostContext.I2CATR.append(TradeContext.I2CATR) else: HostContext.I2CATR.append('1') if TradeContext.existVariable('I2CTFG') and TradeContext.I2CTFG != '': #通存通兑本金标志 HostContext.I2CTFG.append(TradeContext.I2CTFG) else: HostContext.I2CTFG.append('') if TradeContext.existVariable('PKFG') and TradeContext.PKFG in ('T','E','W'): #通存通兑标识:T-通存通兑,W-手工结转,E-错账补记 #通存通兑第二笔分录特殊处理 关彬捷 if TradeContext.existVariable('I2WARNTNO') and TradeContext.I2WARNTNO != '': #=====凭证处理标志==== HostContext.I2TRFG.append('9') #=====凭证种类==== HostContext.I2CETY.append(TradeContext.I2WARNTNO[0:2]) #=====凭证号码==== HostContext.I2CCSQ.append(TradeContext.I2WARNTNO[2:]) else: HostContext.I2TRFG.append('9') HostContext.I2CETY.append('') HostContext.I2CCSQ.append('') #=====发生额==== HostContext.I2TRAM.append(TradeContext.I2TRAM) #=====摘要代码==== if TradeContext.existVariable('I2SMCD') and TradeContext.I2SMCD != '': HostContext.I2SMCD.append(TradeContext.I2SMCD) else: HostContext.I2SMCD.append('') elif TradeContext.existVariable('TRCTYP') and TradeContext.TRCTYP == '20': #汇兑标识 #关彬捷 20091123 汇兑第二笔分录特殊处理 if TradeContext.existVariable('I2WARNTNO') and TradeContext.I2WARNTNO != '': #=====凭证处理标志==== HostContext.I2TRFG.append('9') #=====凭证种类==== HostContext.I2CETY.append(TradeContext.I2WARNTNO[0:2]) #=====凭证号码==== HostContext.I2CCSQ.append(TradeContext.I2WARNTNO[2:]) else: HostContext.I2TRFG.append('9') HostContext.I2CETY.append('') HostContext.I2CCSQ.append('') #=====发生额==== HostContext.I2TRAM.append(TradeContext.I2TRAM) #=====摘要代码==== if TradeContext.existVariable('I2SMCD') and TradeContext.I2SMCD != '': HostContext.I2SMCD.append(TradeContext.I2SMCD) else: HostContext.I2SMCD.append('') else: #汇票第二笔分录特殊处理 #=====凭证处理标志==== if TradeContext.existVariable('TRFG') and TradeContext.TRFG != '': HostContext.I2TRFG.append(TradeContext.TRFG) else: HostContext.I2TRFG.append('9') #=====凭证种类==== #=====汇票解付来账时种类为空==== if TradeContext.existVariable('I2CETY'): HostContext.I2CETY.append(TradeContext.I2CETY) else: HostContext.I2CETY.append('68') #=====凭证号码==== #=====汇票解付来账时号码为空==== #=====begin 蔡永贵 20110215 修改===== #if TradeContext.existVariable('BILNO'): # HostContext.I2CCSQ.append(TradeContext.BILNO) #else: # HostContext.I2CCSQ.append('') if TradeContext.existVariable('BILNO'): if len(TradeContext.BILNO) == 16: HostContext.I2CCSQ.append(TradeContext.BILNO[-8:]) HostContext.I2AMTT = [] HostContext.I2AMTT.append('') HostContext.I2AMTT.append(TradeContext.BILNO) else: HostContext.I2CCSQ.append(TradeContext.BILNO) else: HostContext.I2CCSQ.append('') #===========end============ #=====发生额==== if TradeContext.existVariable('I2TRAM') and TradeContext.I2TRAM != '': HostContext.I2TRAM.append(TradeContext.I2TRAM) else: HostContext.I2TRAM.append('1.00') #=====摘要代码==== if TradeContext.existVariable('I2SMCD') and TradeContext.I2SMCD != '': HostContext.I2SMCD.append(TradeContext.I2SMCD) else: HostContext.I2SMCD.append('610') #=====刘雨龙 20081105 新增通存通兑记账的处理==== if int(HostContext.I1ACUR) >= 3: AfaLoggerFunc.tradeDebug('>>>开始添加第三条记录') if TradeContext.existVariable('PKFG') and TradeContext.PKFG != '': #通存通兑标识 HostContext.I2PKFG.append(TradeContext.PKFG) else: HostContext.I2PKFG.append('') if TradeContext.existVariable('I3WARNTNO') and TradeContext.I3WARNTNO != '': #=====凭证处理标志==== HostContext.I2TRFG.append('9') #=====凭证种类==== HostContext.I2CETY.append(TradeContext.I2WARNTNO) #=====凭证号码==== HostContext.I2CCSQ.append(TradeContext.I2WARNTNO) else: HostContext.I2TRFG.append('9') HostContext.I2CETY.append('') HostContext.I2CCSQ.append('') #=====发生额==== HostContext.I2TRAM.append(TradeContext.I3TRAM) #=====代理业务号 RCC-农信银==== HostContext.I2NBBH.append('RCC') #关彬捷 增加CLDT,UNSQ存放原前置日期前置流水号 #=====批量委托日期===== if TradeContext.existVariable('CLDT') and TradeContext.CLDT != '': HostContext.I2CLDT.append(TradeContext.CLDT) else: HostContext.I2CLDT.append('') #=====批量委托流水号===== if TradeContext.existVariable('UNSQ') and TradeContext.UNSQ != '': HostContext.I2UNSQ.append(TradeContext.UNSQ) else: HostContext.I2UNSQ.append('') #=====前置日期==== if TradeContext.existVariable('FEDT') and TradeContext.FEDT != '': HostContext.I2FEDT.append(TradeContext.FEDT) else: HostContext.I2FEDT.append(TradeContext.BJEDTE) #=====前置流水号==== if TradeContext.existVariable('RBSQ') and TradeContext.RBSQ != '': HostContext.I2RBSQ.append(TradeContext.RBSQ) else: HostContext.I2RBSQ.append(TradeContext.BSPSQN) #HostContext.I2RBSQ.append(TradeContext.BSPSQN) HostContext.I2DATE.append(TradeContext.NCCworkDate) #=====红蓝字标志==== if TradeContext.existVariable('I3RVFG') and TradeContext.I3RVFG != '': HostContext.I2RVFG.append(TradeContext.I3RVFG) else: HostContext.I2RVFG.append('') #=====交易机构==== HostContext.I2SBNO.append(TradeContext.BESBNO) #=====交易柜员==== HostContext.I2TELR.append(TradeContext.BETELR) #=====组号==== HostContext.I2TRSQ.append('1') #=====组内序号==== HostContext.I2TINO.append('3') #=====币种==== HostContext.I2CYNO.append('01') #=====往来账标志==== HostContext.I2WLBZ.append(TradeContext.BRSFLG) #=====摘要代码==== if TradeContext.existVariable('I3SMCD') and TradeContext.I3SMCD != '': HostContext.I2SMCD.append(TradeContext.I3SMCD) else: HostContext.I2SMCD.append('') #=====户名校验标志==== HostContext.I2NMFG.append('0') #=====销账序号==== HostContext.I2DASQ.append('') #=====附加信息1==== HostContext.I2APX1.append('') #=====贷方账号==== if TradeContext.existVariable('I3RBAC') and TradeContext.I3RBAC != '': HostContext.I2RBAC.append(TradeContext.I3RBAC) else: HostContext.I2RBAC.append('') #=====贷方户名==== if TradeContext.existVariable('I3OTNM') and TradeContext.I3OTNM != '': HostContext.I2OTNM.append(TradeContext.I3OTNM) else: HostContext.I2OTNM.append('') #=====借方账号==== if TradeContext.existVariable('I3SBAC') and TradeContext.I3SBAC != '': HostContext.I2SBAC.append(TradeContext.I3SBAC) else: HostContext.I2SBAC.append('') #=====借方户名==== if TradeContext.existVariable('I3ACNM') and TradeContext.I3ACNM != '': HostContext.I2ACNM.append(TradeContext.I3ACNM) else: HostContext.I2ACNM.append('') #=====挂账账号==== if TradeContext.existVariable('I3REAC') and TradeContext.I3REAC != '': HostContext.I2REAC.append(TradeContext.I3REAC) else: HostContext.I2REAC.append('') #=====密码校验方式==== if TradeContext.existVariable('I3PSWD') and TradeContext.I3PSWD != '': HostContext.I2CFFG.append('Y') #密码校验方式 #=====密码==== HostContext.I2PSWD.append(TradeContext.I3PSWD) else: HostContext.I2CFFG.append('N') #=====密码==== HostContext.I2PSWD.append('') #关彬捷 20081117 修改第三笔分录证件校验相关处理 #=====证件校验标志==== #HostContext.I2OPTY.append('') #=====证件种类==== #HostContext.I2IDTY.append('') #HostContext.I2IDTY.append('') #=====证件号码==== #HostContext.I2IDNO.append('') if TradeContext.existVariable('I3IDTY') and TradeContext.I3IDTY != '' and TradeContext.existVariable('I3IDNO') and TradeContext.I3IDNO != '': HostContext.I2OPTY.append('1') HostContext.I2IDTY.append(TradeContext.I3IDTY) HostContext.I2IDNO.append(TradeContext.I3IDNO) else: HostContext.I2OPTY.append('0') HostContext.I2IDTY.append('') HostContext.I2IDNO.append('') #=====现转标志==== if TradeContext.existVariable('I3CATR') and TradeContext.I3CATR != '': HostContext.I2CATR.append(TradeContext.I3CATR) else: HostContext.I2CATR.append('1') if TradeContext.existVariable('I3CTFG') and TradeContext.I3CTFG != '': #通存通兑本金标志 HostContext.I2CTFG.append(TradeContext.I3CTFG) else: HostContext.I2CTFG.append('') elif (hostType =='8820'): #反交易 AfaLoggerFunc.tradeInfo('>>>反交易') HostContext.I1TRCD = '8820' HostContext.I1SBNO = TradeContext.BESBNO HostContext.I1USID = TradeContext.BETELR if TradeContext.existVariable ( 'BEAUUS') and TradeContext.BEAUUS != '' and TradeContext.existVariable('BEAUPS') and TradeContext.BEAUPS != '': HostContext.I1AUUS = TradeContext.BEAUUS HostContext.I1AUPS = TradeContext.BEAUPS else: HostContext.I1AUUS = '' HostContext.I1AUPS = '' if TradeContext.existVariable ( 'TERMID' ) and TradeContext.TERMID != '': HostContext.I1WSNO = TradeContext.TERMID else: HostContext.I1WSNO = '' HostContext.I1NBBH = 'RCC' HostContext.I1FEDT = TradeContext.BOJEDT HostContext.I1DATE = TradeContext.BOJEDT HostContext.I1RBSQ = TradeContext.BOSPSQ HostContext.I1TRDT = TradeContext.BOJEDT HostContext.I1UNSQ = TradeContext.BOSPSQ HostContext.I1OPTY = '' HostContext.I1OPFG = '0' #(0.当日,1.隔日) HostContext.I1RVSB = '0' #(0不回补-NO, 1 回补-YES) AfaLoggerFunc.tradeInfo('初始化map文件信息[InitHostReq]完成') return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统:往账.主机类操作(1.本地操作).往账发送[TRCC002_8506]进入***' ) #====begin 蔡永贵 20110215 增加==== #新票据号是16位,需要取后8位,版本号为02,同时要兼容老票据号8位,版本号为01 if len(TradeContext.BILNO) == 16: TradeContext.TMP_BILNO = TradeContext.BILNO[-8:] else: TradeContext.TMP_BILNO = TradeContext.BILNO #============end============ AfaLoggerFunc.tradeInfo('>>>RCVSTLBIN: '+TradeContext.RCVSTLBIN) AfaLoggerFunc.tradeInfo('>>>SNDSTLBIN: '+TradeContext.SNDSTLBIN) #=====判断是否为同一成员行内==== if TradeContext.RCVSTLBIN == TradeContext.SNDSTLBIN: return AfaFlowControl.ExitThisFlow('M999','同一成员行内禁止做此业务') ##===== 张恒 增加条件,如网银支付则不校验重复次数. 将手续费标志及金额字段赋值 20091109 ========## if (TradeContext.existVariable( "CHSHTP" ) and len(TradeContext.CHSHTP) != 0): #手续费收取方式 TradeContext.CHRGTYP = TradeContext.CHSHTP else: TradeContext.CHRGTYP = '2' #默认为不收 if (TradeContext.existVariable( "CUSCHRG" ) and len(TradeContext.CUSCHRG) != 0): #手续费金额 TradeContext.LOCCUSCHRG = TradeContext.CUSCHRG else : TradeContext.LOCCUSCHRG = '0.00' #默认为0.00 TradeContext.CUSCHRG = '0.00' #异地手续费清0 if str(TradeContext.OPRATTNO) != '12': #网银支付 ##=====END=====================================================================================## #=====检查数据库是否有相同交易==== sql = "BJEDTE = '" + TradeContext.BJEDTE + "'" #日期 sql = sql + " and BESBNO ='" + TradeContext.BESBNO + "'" #机构号 if (TradeContext.existVariable( "PYRACC" ) and len(TradeContext.PYRACC) != 0): #付款人账号 sql = sql + " and PYRACC ='" + TradeContext.PYRACC + "'" if (TradeContext.existVariable( "RCVBNKCO" ) and len(TradeContext.RCVBNKCO) != 0): #收款行行号 sql = sql + " and RCVBNKCO = '" + TradeContext.RCVBNKCO + "'" if (TradeContext.existVariable( "PYEACC" ) and len(TradeContext.PYEACC) != 0): #收款人账号 sql = sql + " and PYEACC ='" + TradeContext.PYEACC + "'" if (TradeContext.existVariable( "OCCAMT" ) and len(TradeContext.OCCAMT) != 0): #金额 sql = sql + " and OCCAMT =" + TradeContext.OCCAMT + "" if (TradeContext.existVariable( "OPRNO" ) and len(TradeContext.OPRNO) != 0): #业务种类 sql = sql + " and OPRNO ='" + TradeContext.OPRNO + "'" if (TradeContext.existVariable( "OPRATTNO" ) and len(TradeContext.OPRATTNO) != 0): #业务属性 sql = sql + " and OPRATTNO ='" + TradeContext.OPRATTNO + "'" if (TradeContext.existVariable( "BBSSRC" ) and len(TradeContext.BBSSRC) != 0): #资金来源 sql = sql + " and BBSSRC ='" + TradeContext.BBSSRC + "'" if (TradeContext.existVariable( "DASQ" ) and len(TradeContext.DASQ) != 0): #销账序号 sql = sql + " and DASQ ='" + TradeContext.DASQ + "'" if (TradeContext.existVariable( "BILTYP" ) and len(TradeContext.BILTYP) != 0): #票据种类 sql = sql + " and BILTYP = '" + TradeContext.BILTYP + "'" if (TradeContext.existVariable( "BILDAT" ) and len(TradeContext.BILDAT) != 0): #票据日期 sql = sql + " and BILDAT = '" + TradeContext.BILDAT + "'" if (TradeContext.existVariable( "BILNO" ) and len(TradeContext.BILNO) != 0): #票据号码 sql = sql + " and BILNO = '" + TradeContext.BILNO + "'" if (TradeContext.existVariable( "NOTE1" ) and len(TradeContext.NOTE1) != 0): #备注1 sql = sql + " and NOTE1 = '" + TradeContext.NOTE1 + "'" #=====调用函数进行多笔查询==== AfaLoggerFunc.tradeInfo( '>>>判断必要的字段是否重复,重复返回错误') record = rccpsDBTrcc_trcbka.selectm(1,10,sql,"") if record == None: return AfaFlowControl.ExitThisFlow('D000','数据库操作失败') if len(record) > 0: #====判断必要的字段是否重复,重复返回错误==== for next in range(0, len(record)): spbsta = {'BJEDTE':TradeContext.BJEDTE,'BSPSQN':record[next]['BSPSQN']} rep = rccpsDBTrcc_spbsta.selectu(spbsta) if rep == None: return AfaFlowControl.ExitThisFlow('D000', '数据库操作错误') elif len(rep) <= 0: return AfaFlowControl.ExitThisFlow('D001', '数据库查询相同业务错误') else: if rep['BDWFLG'] != PL_BDWFLG_FAIL: return AfaFlowControl.ExitThisFlow('S000', '相同业务已录入,不允许重复提交') AfaLoggerFunc.tradeInfo( '>>>开始处理此笔业务' ) #=====资金来源为1-个人结算户时,需要调用8811校验支付条件==== if TradeContext.BBSSRC == '1': TradeContext.HostCode = '8811' TradeContext.ACCNO = TradeContext.PYRACC #付款人账户 rccpsHostFunc.CommHost( '8811' ) if TradeContext.errorCode != '0000': return AfaFlowControl.ExitThisFlow('S999','查询凭证信息出错') else: if TradeContext.PAYTYP != TradeContext.HPAYTYP: return AfaFlowControl.ExitThisFlow('S999','支付条件错误') #=====开始调用密押服务器==== SEAL = ' ' SNDBANKCO = TradeContext.SNDBNKCO RCVBANKCO = TradeContext.RCVBNKCO SNDBANKCO = SNDBANKCO.rjust(12,'0') RCVBANKCO = RCVBANKCO.rjust(12,'0') AMOUNT = TradeContext.OCCAMT.split('.')[0] + TradeContext.OCCAMT.split('.')[1] AMOUNT = AMOUNT.rjust(15,'0') AfaLoggerFunc.tradeDebug('AMOUNT=' + str(AMOUNT) ) AfaLoggerFunc.tradeDebug('SNDBANKCO=' + str(SNDBANKCO) ) AfaLoggerFunc.tradeDebug('RCVBANKCO=' + str(RCVBANKCO) ) AfaLoggerFunc.tradeDebug('类型:' + str(PL_SEAL_ENC) ) AfaLoggerFunc.tradeDebug('业务类型:' + str(PL_TYPE_DZHD) ) AfaLoggerFunc.tradeDebug('日期' + TradeContext.TRCDAT ) AfaLoggerFunc.tradeDebug('流水' + TradeContext.SerialNo ) AfaLoggerFunc.tradeDebug('密押o[' + SEAL + ']') ret = miya.DraftEncrypt(PL_SEAL_ENC,PL_TYPE_DZHD,TradeContext.TRCDAT,TradeContext.SerialNo,AMOUNT,SNDBANKCO,RCVBANKCO,'',SEAL) AfaLoggerFunc.tradeDebug("ret[" + str(ret) + "]") AfaLoggerFunc.tradeDebug('密押[' + SEAL + ']') if ret != 0: return AfaFlowControl.ExitThisFlow('M9999','调用密押服务器失败') else: TradeContext.SEAL = SEAL AfaLoggerFunc.tradeDebug('密押new[' + TradeContext.SEAL + ']') #=====开始向字典赋值==== TradeContext.DCFLG = PL_DCFLG_CRE dict = {} if not rccpsMap8506CTradeContext2Ddict.map(dict): return AfaFlowControl.ExitThisFlow('M999', '字典赋值出错') #=====开始插入数据库==== if not rccpsDBFunc.insTransTrc(dict): #=====RollBack操作==== AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow('D002', '插入数据库出错,RollBack成功') #=====commit操作==== if not AfaDBFunc.CommitSql(): #=====RollBack操作==== AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow('D011', '数据库Commit失败') else: AfaLoggerFunc.tradeDebug('COMMIT成功') #====送往主机字段增加收款人名称字段 === if (TradeContext.existVariable( "PYRNAM" ) and len(TradeContext.PYRNAM) != 0): #付款人名称 TradeContext.ACNM = TradeContext.PYRNAM else: TradeContext.ACNM = '' if (TradeContext.existVariable( "PYENAM" ) and len(TradeContext.PYENAM) != 0): #收款人名称 TradeContext.OTNM = TradeContext.PYENAM else: TradeContext.OTNM = '' #汇兑往帐记帐字典赋值 input_dict = {} input_dict['CHRGTYP'] = TradeContext.CHRGTYP #手续费收取方式 input_dict['LOCCUSCHRG'] = TradeContext.LOCCUSCHRG #手续费金额 input_dict['PYRACC'] = TradeContext.PYRACC #付款人账号 input_dict['BBSSRC'] = TradeContext.BBSSRC #资金来源 input_dict['OCCAMT'] = TradeContext.OCCAMT #交易金额 input_dict['ACNM'] = TradeContext.ACNM #付款人名称 input_dict['OTNM'] = TradeContext.OTNM #收款人名称 input_dict['BESBNO'] = TradeContext.BESBNO #调用汇兑记账接口 rccpsEntries.HDWZJZ(input_dict) AfaLoggerFunc.tradeInfo( '***农信银系统:往账.主机类操作(1.本地操作).往账发送[TRCC002_8506]退出***' ) return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统: 往账.本地类操作交易[RCC004_1163]进入***' ) #=====判断是否存在自动冲正报文==== AfaLoggerFunc.tradeDebug('>>>判断是否存在自动冲正报文') atcbka_where={'ORMFN':TradeContext.MSGFLGNO} atcbka_dict = rccpsDBTrcc_atcbka.selectu(atcbka_where) if( len(atcbka_dict) > 0 ): #=====冲销业务存在自动冲正报文,更新表数据为冲销失败,回复冲销失败报文==== AfaLoggerFunc.tradeDebug('>>>已存在自动冲正报文,抛弃报文') return AfaFlowControl.ExitThisFlow('S999','存在自动冲正报文,抛弃报文') else: AfaLoggerFunc.tradeDebug('>>>未查找到针对补正报文的自动冲正报文,流程继续') #=====判断原补正交易是否存在==== AfaLoggerFunc.tradeDebug('>>>判断是否存在原补正报文') wtrbka_where={'MSGFLGNO':TradeContext.ORMFN} wtrbka_dict = rccpsDBTrcc_wtrbka.selectu(wtrbka_where) wtrbka_temp_dict = wtrbka_dict if len(wtrbka_dict) <= 0: AfaLoggerFunc.tradeDebug('>>>未找到原补正报文,抛弃报文,不做任何处理') return AfaFlowControl.ExitThisFlow('S999','未找到原补正报文,抛弃报文,不做任何处理') else: AfaLoggerFunc.tradeDebug('>>>找到原补正报文,继续流程处理') #=====查找原业务==== AfaLoggerFunc.tradeDebug('>>>查询原业务') wtrbka_where={'BJEDTE':wtrbka_dict['NOTE1'],'BSPSQN':wtrbka_dict['NOTE2']} wtrbka_dict = rccpsDBTrcc_wtrbka.selectu(wtrbka_where) if len(wtrbka_dict) <= 0: AfaLoggerFunc.tradeDebug('>>>未找到原业务,抛弃报文,不做任何处理') return AfaFlowControl.ExitThisFlow('S999','未找到原业务,抛弃报文,不做任何处理') else: AfaLoggerFunc.tradeDebug('>>>找到原业务,继续流程处理') #=====查找原业务状态==== AfaLoggerFunc.tradeDebug('>>>查找原业务状态') spb_where = {'BJEDTE':wtrbka_dict['BJEDTE'],'BSPSQN':wtrbka_dict['BSPSQN']} spb_dict = rccpsDBTrcc_spbsta.selectu(spb_where) if len(spb_dict) <= 0: AfaLoggerFunc.tradeDebug('>>>查找原业务状态失败,抛弃报文,不做任何处理') return AfaFlowControl.ExitThisFlow('S999','查找原业务状态失败,抛弃报文,不做任何处理') else: AfaLoggerFunc.tradeDebug('>>>查找原业务状态成功,继续流程处理') #=====判断原业务状态是否允许进行补正账务补录==== if spb_dict['BCSTAT'] != PL_BCSTAT_CANC and spb_dict['BDWFLG'] != PL_BDWFLG_SUCC: AfaLoggerFunc.tradeDebug('>>>原业务状态['+str(spbsta_dict['BCSTAT'])+'不允许补正,抛弃报文,不做任何处理') return AfaFlowControl.ExitThisFlow('S999','原业务不允许补正,抛弃报文,不做任何处理') else: AfaLoggerFunc.tradeDebug('>>>原业务进入补正账务流程处理') #=================若应答报文回复拒绝,则设置状态为拒绝,停止处理============= if TradeContext.PRCCO != 'RCCI0000': AfaLoggerFunc.tradeInfo(">>>对方返回拒绝应答") #=============设置业务状态为拒绝处理中================================= if not rccpsState.newTransState(wtrbka_temp_dict['BJEDTE'],wtrbka_temp_dict['BSPSQN'],PL_BCSTAT_MFERFE,PL_BDWFLG_SUCC): return AfaFlowControl.ExitThisFlow('S999',"设置业务状态为拒绝处理中异常") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") return AfaFlowControl.ExitThisFlow("S999","对方拒绝,停止处理") else: AfaLoggerFunc.tradeInfo(">>>对方返回成功应答") #=====记账接口8813I1赋值操作==== TradeContext.HostCode = '8813' TradeContext.BESBNO = wtrbka_dict['BESBNO'] #机构号 TradeContext.BETELR = wtrbka_dict['BETELR'] #柜员号 TradeContext.TERMID = wtrbka_dict['TERMID'] #终端号 TradeContext.BJEDTE = wtrbka_dict['BJEDTE'] #交易日期 TradeContext.BSPSQN = wtrbka_dict['BSPSQN'] #报单序号 #=====判断交易代码,进行账务补正==== if TradeContext.ORTRCCO in ('3000002','3000004'): #=====通存==== AfaLoggerFunc.tradeDebug('>>>通存业务补正') elif TradeContext.ORTRCCO in ('3000102','3000104'): #=====通兑==== AfaLoggerFunc.tradeDebug('>>>通兑业务补正') if( wtrbka_dict['CHRGTYP'] != '1'): TradeContext.RCCSMCD = PL_RCCSMCD_XJTDWZ #主机摘要代码 TradeContext.RBAC = '' #借方账户:付款人账户 TradeContext.RBNM = '现金' #借方户名 付款人户名 TradeContext.SBAC = TradeContext.BESBNO + PL_ACC_NXYDQSWZ #贷方账户:农信银待清算来账 TradeContext.SBAC = rccpsHostFunc.CrtAcc(TradeContext.SBAC, 25) TradeContext.ACNM = '农信银待清算来账' #贷方户名: TradeContext.CTFG = '7' #本金 手续费标识 7 本金 8手续费 9 本金+手续费 TradeContext.PKFG = 'T' #通存通兑标识 TradeContext.CATR = '0' #现金 AfaLoggerFunc.tradeInfo( '借方账号:' + TradeContext.SBAC ) AfaLoggerFunc.tradeInfo( '贷方账号:' + TradeContext.RBAC ) else: #=====转账==== TradeContext.ACUR = '3' #记账次数 TradeContext.I3TRAM = str(TradeContext.CUSCHRG) #发生额 TradeContext.I2TRAM = str(TradeContext.OCCAMT) #发生额 TradeContext.OCCAMT = rccpsUtilTools.AddDot(TradeContext.OCCAMT,TradeContext.CUSCHRG) #发生额 #=========交易金额+手续费=================== TradeContext.RCCSMCD = PL_RCCSMCD_XJTDWZ #摘要代码 TradeContext.SBAC = TradeContext.BESBNO + PL_ACC_NXYDQSWZ #借方账号 TradeContext.SBAC = rccpsHostFunc.CrtAcc(TradeContext.SBAC,25) TradeContext.ACNM = '待解临时款项' #借方户名 TradeContext.RBAC = TradeContext.BESBNO + PL_ACC_NXYDJLS #贷方账号 TradeContext.RBAC = rccpsHostFunc.CrtAcc(TradeContext.RBAC,25) TradeContext.OTNM = '农信银来账' #贷方户名 TradeContext.CTFG = '9' #本金 手续费标识 7 本金 8手续费 9 本金+手续费 TradeContext.PKFG = 'T' #通存通兑标识 AfaLoggerFunc.tradeInfo( '>>>交易金额+手续费:借方账号' + TradeContext.SBAC ) AfaLoggerFunc.tradeInfo( '>>>交易金额+手续费:贷方账号' + TradeContext.RBAC ) #=========交易金额============ TradeContext.I2SMCD = PL_RCCSMCD_XJTDWZ #摘要代码 TradeContext.I2RBAC = '' #借方账号 TradeContext.I2ACNM = TradeContext.PYRNAM #借方户名 TradeContext.I2SBAC = TradeContext.BESBNO + PL_ACC_NXYDJLS #贷方账号 TradeContext.I2SBAC = rccpsHostFunc.CrtAcc(TradeContext.I2SBAC,25) TradeContext.I2CTFG = '7' #本金 手续费标识 7 本金 8手续费 9 本金+手续费 TradeContext.I2PKFG = 'T' #通存通兑标识 TradeContext.I2CATR = '0' #现金 AfaLoggerFunc.tradeInfo( '>>>交易金额:借方账号' + TradeContext.I2SBAC ) AfaLoggerFunc.tradeInfo( '>>>交易金额:贷方账号' + TradeContext.I2RBAC ) #=========结算手续费收入户=========== TradeContext.I3SMCD = PL_RCCSMCD_SXF #摘要代码 TradeContext.I3SBAC = TradeContext.BESBNO + PL_ACC_NXYDJLS #借方账号 TradeContext.I3ACNM = TradeContext.PYRNAM #借方户名 TradeContext.I3RBAC = TradeContext.BESBNO + PL_ACC_TCTDSXF #贷方账号 TradeContext.I3RBAC = rccpsHostFunc.CrtAcc(TradeContext.I3RBAC,25) TradeContext.I3SBAC = rccpsHostFunc.CrtAcc(TradeContext.I3SBAC,25) TradeContext.I3OTNM = '待解临时款项' #贷方户名 TradeContext.I3CTFG = '8' #本金 手续费标识 7 本金 8手续费 9 本金+手续费 TradeContext.I3PKFG = 'T' #通存通兑标识 AfaLoggerFunc.tradeInfo( '>>>结算手续费收入户:借方账号' + TradeContext.I3SBAC ) AfaLoggerFunc.tradeInfo( '>>>结算手续费收入户:贷方账号' + TradeContext.I3RBAC ) elif TradeContext.ORTRCCO in ('3000003','3000005'): #=====本转异==== AfaLoggerFunc.tradeDebug('>>>本转异业务补正') elif TradeContext.ORTRCCO in ('3000103','3000105'): #=====异转本==== AfaLoggerFunc.tradeDebug('>>>异转本业务补正') #=====判断手续费收取方式==== if wtrbka_dict['CHRGTYP'] == '1': #=====转账==== TradeContext.ACUR = '3' #记账次数 TradeContext.I3TRAM = str(TradeContext.CUSCHRG) #发生额 手续费 TradeContext.I2TRAM = str(TradeContext.OCCAMT) #发生额 本金 TradeContext.OCCAMT = str(float(TradeContext.OCCAMT) + float(TradeContext.CUSCHRG)) #发生额 #=========交易金额+手续费=================== TradeContext.RCCSMCD = PL_RCCSMCD_YZBWZ #摘要代码 PL_RCCSMCD_YZBWZ 异转本 TradeContext.SBAC = TradeContext.BESBNO + PL_ACC_NXYDQSWZ #借方账号 TradeContext.SBAC = rccpsHostFunc.CrtAcc(TradeContext.SBAC,25) TradeContext.ACNM = '农信银往账' #借方户名 TradeContext.RBAC = TradeContext.BESBNO + PL_ACC_NXYDJLS #贷方账号 TradeContext.RBAC = rccpsHostFunc.CrtAcc(TradeContext.RBAC,25) TradeContext.OTNM = '应解汇款' #贷方户名 TradeContext.CTFG = '9' #本金 手续费标识 7 本金 8手续费 9 本金+手续费 TradeContext.PKFG = 'T' #通存通兑标识 AfaLoggerFunc.tradeInfo( '>>>交易金额+手续费:借方账号' + TradeContext.SBAC ) AfaLoggerFunc.tradeInfo( '>>>交易金额+手续费:贷方账号' + TradeContext.RBAC ) #=========交易金额============ TradeContext.I2SMCD = PL_RCCSMCD_YZBWZ #摘要代码 TradeContext.I2SBAC = TradeContext.BESBNO + PL_ACC_NXYDJLS #借方账号 TradeContext.I2SBAC = rccpsHostFunc.CrtAcc(TradeContext.I2SBAC,25) TradeContext.I2ACNM = '应解汇款' #借方户名 TradeContext.I2RBAC = TradeContext.PYEACC #贷方账号 TradeContext.I2OTNM = TradeContext.PYENAM #贷方户名 TradeContext.I2CTFG = '7' #本金 手续费标识 7 本金 8手续费 9 本金+手续费 TradeContext.I2PKFG = 'T' #通存通兑标识 AfaLoggerFunc.tradeInfo( '>>>交易金额:借方账号' + TradeContext.I2SBAC ) AfaLoggerFunc.tradeInfo( '>>>交易金额:贷方账号' + TradeContext.I2RBAC ) #=========结算手续费收入户=========== TradeContext.I3SMCD = PL_RCCSMCD_SXF #摘要代码 TradeContext.I3SBAC = TradeContext.BESBNO + PL_ACC_NXYDJLS #借方账号 TradeContext.I3SBAC = rccpsHostFunc.CrtAcc(TradeContext.I3SBAC,25) TradeContext.I3ACNM = '应解汇款' #借方户名 TradeContext.I3RBAC = TradeContext.BESBNO + PL_ACC_TCTDSXF #贷方账号 TradeContext.I3RBAC = rccpsHostFunc.CrtAcc(TradeContext.I3RBAC,25) TradeContext.I3OTNM = '结算手续费' #贷方户名 TradeContext.I3CTFG = '8' #本金 手续费标识 7 本金 8手续费 9 本金+手续费 TradeContext.I3PKFG = 'T' #通存通兑标识 else: #=====不收费或者现金==== TradeContext.ACUR = '1' #记账次数 TradeContext.RCCSMCD = PL_RCCSMCD_YZBWZ #摘要代码 TradeContext.SBAC = TradeContext.BESBNO + PL_ACC_NXYDQSWZ #借方账号 TradeContext.SBAC = rccpsHostFunc.CrtAcc(TradeContext.SBAC,25) TradeContext.RBAC = TradeContext.PYEACC #贷方账号 TradeContext.OTNM = TradeContext.PYENAM #贷方户名 TradeContext.CTFG = '7' #本金 手续费标识 7 本金 8手续费 9 本金+手续费 TradeContext.PKFG = 'T' #通存通兑标识 else: #=====原交易代码错,抛弃报文==== AfaLoggerFunc.tradeDebug('>>>原交易代码错,抛弃报文') return AfaFlowControl.ExitThisFlow('S999','原交易代码错,抛弃报文') #=====重新生成前置流水号==== if rccpsGetFunc.GetRBSQ(PL_BRSFLG_SND) == -1 : return AfaFlowControl.ExitThisFlow('S999','重新生成前置流水号失败,抛弃报文') #=====modify by pgt 12-8==== if wtrbka_temp_dict['DCFLG'] == PL_DCFLG_DEB: # if TradeContext.ORTRCCO in ('3000102','3000104','3000103','3000105'): #=====通兑、异转本==== if not rccpsState.newTransState(TradeContext.BJEDTE,TradeContext.BSPSQN,PL_BCSTAT_AUTOPAY,PL_BDWFLG_WAIT): AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow('S999','新增自动扣款-处理中失败,抛弃报文') else: AfaDBFunc.CommitSql() #=====向主机发起记账==== rccpsHostFunc.CommHost( TradeContext.HostCode ) #=====判断主机返回==== sstlog_dict={} sstlog_dict['BJEDTE'] = TradeContext.BJEDTE sstlog_dict['BSPSQN'] = TradeContext.BSPSQN sstlog_dict['BCSTAT'] = PL_BCSTAT_AUTOPAY if TradeContext.errorCode == '0000': sstlog_dict['BDWFLG'] = PL_BDWFLG_SUCC sstlog_dict['RBSQ'] = TradeContext.RBSQ sstlog_dict['TLSQ'] = TradeContext.TLSQ sstlog_dict['TRDT'] = TradeContext.TRDT sstlog_dict['MGID'] = TradeContext.errorCode sstlog_dict['STRINFO']= '主机补正记账成功' AfaLoggerFunc.tradeInfo('>>>补正记账成功') else: sstlog_dict['BDWFLG'] = PL_BDWFLG_FAIL sstlog_dict['MGID'] = TradeContext.errorCode sstlog_dict['STRINFO']= TradeContext.errorMsg AfaLoggerFunc.tradeInfo('>>>补正记账失败') if not rccpsState.setTransState(sstlog_dict): AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow('S999','修改自动扣款-成功中失败,抛弃报文') else: AfaDBFunc.CommitSql() else: #====通存、本转异==== AfaLoggerFunc.tradeDebug('>>>新增确认付款-处理中') if not rccpsState.newTransState(TradeContext.BJEDTE,TradeContext.BSPSQN,PL_BCSTAT_CONFACC,PL_BDWFLG_SUCC): AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow('S999','新增确认付款-处理中失败,抛弃报文') else: AfaDBFunc.CommitSql() #=================为存款确认请求报文做准备================================= AfaLoggerFunc.tradeInfo(">>>开始为存款确认请求报文做准备") #=====================获取中心流水号==================================== if rccpsGetFunc.GetRccSerialno( ) == -1 : raise AfaFlowControl.flowException( ) TradeContext.MSGTYPCO = 'SET009' TradeContext.SNDSTLBIN = TradeContext.RCVMBRCO TradeContext.RCVSTLBIN = TradeContext.SNDMBRCO TradeContext.SNDBRHCO = TradeContext.BESBNO TradeContext.SNDCLKNO = TradeContext.BETELR TradeContext.ORMFN = TradeContext.ORMFN TradeContext.OPRTYPNO = '30' TradeContext.ROPRTPNO = '30' TradeContext.TRANTYP = '0' TradeContext.ORTRCCO = '3000505' TradeContext.ORTRCNO = TradeContext.TRCNO TradeContext.TRCCO = '3000503' TradeContext.TRCNO = TradeContext.SerialNo TradeContext.CURPIN = "" TradeContext.STRINFO = '收到补正应答,自动发送存款确认' AfaLoggerFunc.tradeInfo(">>>交易代码["+str(TradeContext.TRCCO)+"]") AfaLoggerFunc.tradeInfo(">>>结束为存款确认请求报文做准备") #=====更新原记录的存款确认字段==== #=====modify by pgt 12-8==== wtr_up_where = {'BJEDTE':wtrbka_temp_dict['BJEDTE'],'BSPSQN':wtrbka_temp_dict['BSPSQN']} # wtr_up_where = {'BJEDTE':TradeContext.BJEDTE,'BSPSQN':TradeContext.BSPSQN} wtr_end_dict = {} wtr_end_dict['COTRCDAT'] = TradeContext.TRCDAT wtr_end_dict['COTRCNO'] = TradeContext.TRCNO wtr_end_dict['TRCNO'] = TradeContext.ORTRCNO wtr_end_dict['COMSGFLGNO']= TradeContext.SNDBNKCO+TradeContext.TRCDAT+TradeContext.TRCNO wtr_end_dict['MSGFLGNO'] = TradeContext.MSGFLGNO rccpsDBTrcc_wtrbka.update(wtr_end_dict,wtr_up_where) AfaDBFunc.CommitSql() AfaAfeFunc.CommAfe() if TradeContext.errorCode == '0000': AfaLoggerFunc.tradeInfo('>>>发送成功') else: AfaLoggerFunc.tradeInfo('>>>发送失败') return True
def map(from_dict,to_dict): if from_dict.has_key('workDate'): to_dict['BJEDTE'] = from_dict['workDate'] AfaLoggerFunc.tradeDebug('hdcbka_dict[BJEDTE] = ' + str(to_dict['BJEDTE'])) else: AfaLoggerFunc.tradeDebug("TradeContext['workDate']不存在") return False if from_dict.has_key('BSPSQN'): to_dict['BSPSQN'] = from_dict['BSPSQN'] AfaLoggerFunc.tradeDebug('hdcbka_dict[BSPSQN] = ' + str(to_dict['BSPSQN'])) else: AfaLoggerFunc.tradeDebug("TradeContext['BSPSQN']不存在") return False if from_dict.has_key('BRSFLG'): to_dict['BRSFLG'] = from_dict['BRSFLG'] AfaLoggerFunc.tradeDebug('hdcbka_dict[BRSFLG] = ' + str(to_dict['BRSFLG'])) else: AfaLoggerFunc.tradeDebug("TradeContext['BRSFLG']不存在") return False if from_dict.has_key('BESBNO'): to_dict['BESBNO'] = from_dict['BESBNO'] AfaLoggerFunc.tradeDebug('hdcbka_dict[BESBNO] = ' + str(to_dict['BESBNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext['BESBNO']不存在") if from_dict.has_key('BETELR'): to_dict['BETELR'] = from_dict['BETELR'] AfaLoggerFunc.tradeDebug('hdcbka_dict[BETELR] = ' + str(to_dict['BETELR'])) else: AfaLoggerFunc.tradeDebug("TradeContext['BETELR']不存在") if from_dict.has_key('BEAUUS'): to_dict['BEAUUS'] = from_dict['BEAUUS'] AfaLoggerFunc.tradeDebug('hdcbka_dict[BEAUUS] = ' + str(to_dict['BEAUUS'])) else: AfaLoggerFunc.tradeDebug("TradeContext['BEAUUS']不存在") if from_dict.has_key('NCCworkDate'): to_dict['NCCWKDAT'] = from_dict['NCCworkDate'] AfaLoggerFunc.tradeDebug('hdcbka_dict[NCCWKDAT] = ' + str(to_dict['NCCWKDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext['NCCworkDate']不存在") if from_dict.has_key('TRCCO'): to_dict['TRCCO'] = from_dict['TRCCO'] AfaLoggerFunc.tradeDebug('hdcbka_dict[TRCCO] = ' + str(to_dict['TRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext['TRCCO']不存在") if from_dict.has_key('TRCDAT'): to_dict['TRCDAT'] = from_dict['TRCDAT'] AfaLoggerFunc.tradeDebug('hdcbka_dict[TRCDAT] = ' + str(to_dict['TRCDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext['TRCDAT']不存在") if from_dict.has_key('TRCNO'): to_dict['TRCNO'] = from_dict['TRCNO'] AfaLoggerFunc.tradeDebug('hdcbka_dict[TRCNO] = ' + str(to_dict['TRCNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext['TRCNO']不存在") if from_dict.has_key('SNDBNKCO'): to_dict['SNDBNKCO'] = from_dict['SNDBNKCO'] AfaLoggerFunc.tradeDebug('hdcbka_dict[SNDBNKCO] = ' + str(to_dict['SNDBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext['SNDBNKCO']不存在") if from_dict.has_key('SNDBNKNM'): to_dict['SNDBNKNM'] = from_dict['SNDBNKNM'] AfaLoggerFunc.tradeDebug('hdcbka_dict[SNDBNKNM] = ' + str(to_dict['SNDBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext['SNDBNKNM']不存在") if from_dict.has_key('RCVBNKCO'): to_dict['RCVBNKCO'] = from_dict['RCVBNKCO'] AfaLoggerFunc.tradeDebug('hdcbka_dict[RCVBNKCO] = ' + str(to_dict['RCVBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext['RCVBNKCO']不存在") if from_dict.has_key('RCVBNKNM'): to_dict['RCVBNKNM'] = from_dict['RCVBNKNM'] AfaLoggerFunc.tradeDebug('hdcbka_dict[RCVBNKNM] = ' + str(to_dict['RCVBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext['RCVBNKNM']不存在") if from_dict.has_key('BOJEDT'): to_dict['BOJEDT'] = from_dict['BOJEDT'] AfaLoggerFunc.tradeDebug('hdcbka_dict[BOJEDT] = ' + str(to_dict['BOJEDT'])) else: AfaLoggerFunc.tradeDebug("TradeContext['BOJEDT']不存在") if from_dict.has_key('BOSPSQ'): to_dict['BOSPSQ'] = from_dict['BOSPSQ'] AfaLoggerFunc.tradeDebug('hdcbka_dict[BOSPSQ] = ' + str(to_dict['BOSPSQ'])) else: AfaLoggerFunc.tradeDebug("TradeContext['BOSPSQ']不存在") if from_dict.has_key('ORTRCCO'): to_dict['ORTRCCO'] = from_dict['ORTRCCO'] AfaLoggerFunc.tradeDebug('hdcbka_dict[ORTRCCO] = ' + str(to_dict['ORTRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext['ORTRCCO']不存在") if from_dict.has_key('CUR'): to_dict['CUR'] = from_dict['CUR'] AfaLoggerFunc.tradeDebug('hdcbka_dict[CUR] = ' + str(to_dict['CUR'])) else: AfaLoggerFunc.tradeDebug("TradeContext['CUR']不存在") if from_dict.has_key('OCCAMT'): to_dict['OCCAMT'] = from_dict['OCCAMT'] AfaLoggerFunc.tradeDebug('hdcbka_dict[OCCAMT] = ' + str(to_dict['OCCAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext['OCCAMT']不存在") if from_dict.has_key('CONT'): to_dict['CONT'] = from_dict['CONT'] AfaLoggerFunc.tradeDebug('hdcbka_dict[CONT] = ' + str(to_dict['CONT'])) else: AfaLoggerFunc.tradeDebug("TradeContext['CONT']不存在") if from_dict.has_key('PYRACC'): to_dict['PYRACC'] = from_dict['PYRACC'] AfaLoggerFunc.tradeDebug('hdcbka_dict[PYRACC] = ' + str(to_dict['PYRACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext['PYRACC']不存在") if from_dict.has_key('PYEACC'): to_dict['PYEACC'] = from_dict['PYEACC'] AfaLoggerFunc.tradeDebug('hdcbka_dict[PYEACC] = ' + str(to_dict['PYEACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext['PYEACC']不存在") if from_dict.has_key('ISDEAL'): to_dict['ISDEAL'] = from_dict['ISDEAL'] AfaLoggerFunc.tradeDebug('hdcbka_dict[ISDEAL] = ' + str(to_dict['ISDEAL'])) else: AfaLoggerFunc.tradeDebug("TradeContext['ISDEAL']不存在") return False return True
def map(to_dict): if TradeContext.existVariable('BJEDTE'): to_dict['BJEDTE'] = TradeContext.BJEDTE AfaLoggerFunc.tradeDebug('existp[BJEDTE] = ' + str(to_dict['BJEDTE'])) else: AfaLoggerFunc.tradeWarn("交易日期不允许为空") return False if TradeContext.existVariable('BSPSQN'): to_dict['BSPSQN'] = TradeContext.BSPSQN AfaLoggerFunc.tradeDebug('existp[BSPSQN] = ' + str(to_dict['BSPSQN'])) else: AfaLoggerFunc.tradeWarn("报单序号不允许为空") return False if TradeContext.existVariable('BRSFLG'): to_dict['BRSFLG'] = TradeContext.BRSFLG AfaLoggerFunc.tradeDebug('existp[BRSFLG] = ' + str(to_dict['BRSFLG'])) else: AfaLoggerFunc.tradeWarn("往来标志不允许为空") return False if TradeContext.existVariable('BESBNO'): to_dict['BESBNO'] = TradeContext.BESBNO AfaLoggerFunc.tradeDebug('existp[BESBNO] = ' + str(to_dict['BESBNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BESBNO不存在") if TradeContext.existVariable('BETELR'): to_dict['BETELR'] = TradeContext.BETELR AfaLoggerFunc.tradeDebug('existp[BETELR] = ' + str(to_dict['BETELR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BETELR不存在") if TradeContext.existVariable('BEAUUS'): to_dict['BEAUUS'] = TradeContext.BEAUUS AfaLoggerFunc.tradeDebug('existp[BEAUUS] = ' + str(to_dict['BEAUUS'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BEAUUS不存在") if TradeContext.existVariable('NCCworkDate'): to_dict['NCCWKDAT'] = TradeContext.NCCworkDate AfaLoggerFunc.tradeDebug('existp[NCCWKDAT] = ' + str(to_dict['NCCWKDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NCCworkDate不存在") if TradeContext.existVariable('TRCCO'): to_dict['TRCCO'] = TradeContext.TRCCO AfaLoggerFunc.tradeDebug('existp[TRCCO] = ' + str(to_dict['TRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCCO不存在") if TradeContext.existVariable('TRCDAT'): to_dict['TRCDAT'] = TradeContext.TRCDAT AfaLoggerFunc.tradeDebug('existp[TRCDAT] = ' + str(to_dict['TRCDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCDAT不存在") if TradeContext.existVariable('TRCNO'): to_dict['TRCNO'] = TradeContext.TRCNO AfaLoggerFunc.tradeDebug('existp[TRCNO] = ' + str(to_dict['TRCNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCNO不存在") if TradeContext.existVariable('SNDMBRCO'): to_dict['SNDMBRCO'] = TradeContext.SNDMBRCO AfaLoggerFunc.tradeDebug('existp[SNDMBRCO] = ' + str(to_dict['SNDMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDMBRCO不存在") if TradeContext.existVariable('RCVMBRCO'): to_dict['RCVMBRCO'] = TradeContext.RCVMBRCO AfaLoggerFunc.tradeDebug('existp[RCVMBRCO] = ' + str(to_dict['RCVMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVMBRCO不存在") if TradeContext.existVariable('SNDBNKCO'): to_dict['SNDBNKCO'] = TradeContext.SNDBNKCO AfaLoggerFunc.tradeDebug('existp[SNDBNKCO] = ' + str(to_dict['SNDBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKCO不存在") if TradeContext.existVariable('SNDBNKNM'): to_dict['SNDBNKNM'] = TradeContext.SNDBNKNM AfaLoggerFunc.tradeDebug('existp[SNDBNKNM] = ' + str(to_dict['SNDBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKNM不存在") if TradeContext.existVariable('RCVBNKCO'): to_dict['RCVBNKCO'] = TradeContext.RCVBNKCO AfaLoggerFunc.tradeDebug('existp[RCVBNKCO] = ' + str(to_dict['RCVBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKCO不存在") if TradeContext.existVariable('RCVBNKNM'): to_dict['RCVBNKNM'] = TradeContext.RCVBNKNM AfaLoggerFunc.tradeDebug('existp[RCVBNKNM] = ' + str(to_dict['RCVBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKNM不存在") if TradeContext.existVariable('BOJEDT'): to_dict['BOJEDT'] = TradeContext.BOJEDT AfaLoggerFunc.tradeDebug('existp[BOJEDT] = ' + str(to_dict['BOJEDT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BOJEDT不存在") if TradeContext.existVariable('BOSPSQ'): to_dict['BOSPSQ'] = TradeContext.BOSPSQ AfaLoggerFunc.tradeDebug('existp[BOSPSQ] = ' + str(to_dict['BOSPSQ'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BOSPSQ不存在") if TradeContext.existVariable('ORTRCCO'): to_dict['ORTRCCO'] = TradeContext.ORTRCCO AfaLoggerFunc.tradeDebug('existp[ORTRCCO] = ' + str(to_dict['ORTRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.ORTRCCO不存在") if TradeContext.existVariable('ORCUR'): to_dict['CUR'] = TradeContext.ORCUR AfaLoggerFunc.tradeDebug('existp[CUR] = ' + str(to_dict['CUR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.ORCUR不存在") if TradeContext.existVariable('OROCCAMT'): to_dict['OCCAMT'] = TradeContext.OROCCAMT AfaLoggerFunc.tradeDebug('existp[OCCAMT] = ' + str(to_dict['OCCAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.OROCCAMT不存在") if TradeContext.existVariable('CONT'): to_dict['CONT'] = TradeContext.CONT AfaLoggerFunc.tradeDebug('existp[CONT] = ' + str(to_dict['CONT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CONT不存在") if TradeContext.existVariable('PRCCO'): to_dict['PRCCO'] = TradeContext.PRCCO AfaLoggerFunc.tradeDebug('existp[PRCCO] = ' + str(to_dict['PRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PRCCO不存在") if TradeContext.existVariable('STRINFO'): to_dict['STRINFO'] = TradeContext.STRINFO AfaLoggerFunc.tradeDebug('existp[STRINFO] = ' + str(to_dict['STRINFO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.STRINFO不存在") if TradeContext.existVariable('NOTE1'): to_dict['NOTE1'] = TradeContext.NOTE1 AfaLoggerFunc.tradeDebug('existp[NOTE1] = ' + str(to_dict['NOTE1'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE1不存在") if TradeContext.existVariable('NOTE2'): to_dict['NOTE2'] = TradeContext.NOTE2 AfaLoggerFunc.tradeDebug('existp[NOTE2] = ' + str(to_dict['NOTE2'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE2不存在") if TradeContext.existVariable('NOTE3'): to_dict['NOTE3'] = TradeContext.NOTE3 AfaLoggerFunc.tradeDebug('existp[NOTE3] = ' + str(to_dict['NOTE3'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE3不存在") if TradeContext.existVariable('NOTE4'): to_dict['NOTE4'] = TradeContext.NOTE4 AfaLoggerFunc.tradeDebug('existp[NOTE4] = ' + str(to_dict['NOTE4'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE4不存在") return True
def map(to_dict): if TradeContext.existVariable('BJEDTE'): to_dict['BJEDTE'] = TradeContext.BJEDTE AfaLoggerFunc.tradeDebug('hdcbka[BJEDTE] = ' + str(to_dict['BJEDTE'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BJEDTE不存在") return False if TradeContext.existVariable('BSPSQN'): to_dict['BSPSQN'] = TradeContext.BSPSQN AfaLoggerFunc.tradeDebug('hdcbka[BSPSQN] = ' + str(to_dict['BSPSQN'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BSPSQN不存在") return False if TradeContext.existVariable('BRSFLG'): to_dict['BRSFLG'] = TradeContext.BRSFLG AfaLoggerFunc.tradeDebug('hdcbka[BRSFLG] = ' + str(to_dict['BRSFLG'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BRSFLG不存在") return False if TradeContext.existVariable('BESBNO'): to_dict['BESBNO'] = TradeContext.BESBNO AfaLoggerFunc.tradeDebug('hdcbka[BESBNO] = ' + str(to_dict['BESBNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BESBNO不存在") if TradeContext.existVariable('BETELR'): to_dict['BETELR'] = TradeContext.BETELR AfaLoggerFunc.tradeDebug('hdcbka[BETELR] = ' + str(to_dict['BETELR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BETELR不存在") if TradeContext.existVariable('BEAUUS'): to_dict['BEAUUS'] = TradeContext.BEAUUS AfaLoggerFunc.tradeDebug('hdcbka[BEAUUS] = ' + str(to_dict['BEAUUS'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BEAUUS不存在") if TradeContext.existVariable('NCCworkDate'): to_dict['NCCWKDAT'] = TradeContext.NCCworkDate AfaLoggerFunc.tradeDebug('hdcbka[NCCWKDAT] = ' + str(to_dict['NCCWKDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NCCworkDate不存在") if TradeContext.existVariable('TRCCO'): to_dict['TRCCO'] = TradeContext.TRCCO AfaLoggerFunc.tradeDebug('hdcbka[TRCCO] = ' + str(to_dict['TRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCCO不存在") if TradeContext.existVariable('TRCDAT'): to_dict['TRCDAT'] = TradeContext.TRCDAT AfaLoggerFunc.tradeDebug('hdcbka[TRCDAT] = ' + str(to_dict['TRCDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCDAT不存在") if TradeContext.existVariable('SerialNo'): to_dict['TRCNO'] = TradeContext.SerialNo AfaLoggerFunc.tradeDebug('hdcbka[TRCNO] = ' + str(to_dict['TRCNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SerialNo不存在") if TradeContext.existVariable('SNDSTLBIN'): to_dict['SNDMBRCO'] = TradeContext.SNDSTLBIN AfaLoggerFunc.tradeDebug('hdcbka[SNDMBRCO] = ' + str(to_dict['SNDMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDSTLBIN不存在") if TradeContext.existVariable('RCVSTLBIN'): to_dict['RCVMBRCO'] = TradeContext.RCVSTLBIN AfaLoggerFunc.tradeDebug('hdcbka[RCVMBRCO] = ' + str(to_dict['RCVMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVSTLBIN不存在") if TradeContext.existVariable('SNDBNKCO'): to_dict['SNDBNKCO'] = TradeContext.SNDBNKCO AfaLoggerFunc.tradeDebug('hdcbka[SNDBNKCO] = ' + str(to_dict['SNDBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKCO不存在") if TradeContext.existVariable('SNDBNKNM'): to_dict['SNDBNKNM'] = TradeContext.SNDBNKNM AfaLoggerFunc.tradeDebug('hdcbka[SNDBNKNM] = ' + str(to_dict['SNDBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKNM不存在") if TradeContext.existVariable('RCVBNKCO'): to_dict['RCVBNKCO'] = TradeContext.RCVBNKCO AfaLoggerFunc.tradeDebug('hdcbka[RCVBNKCO] = ' + str(to_dict['RCVBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKCO不存在") if TradeContext.existVariable('RCVBNKNM'): to_dict['RCVBNKNM'] = TradeContext.RCVBNKNM AfaLoggerFunc.tradeDebug('hdcbka[RCVBNKNM] = ' + str(to_dict['RCVBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKNM不存在") if TradeContext.existVariable('ORQYDAT'): to_dict['BOJEDT'] = TradeContext.ORQYDAT AfaLoggerFunc.tradeDebug('hdcbka[BOJEDT] = ' + str(to_dict['BOJEDT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.ORQYDAT不存在") if TradeContext.existVariable('OQTNO'): to_dict['BOSPSQ'] = TradeContext.OQTNO AfaLoggerFunc.tradeDebug('hdcbka[BOSPSQ] = ' + str(to_dict['BOSPSQ'])) else: AfaLoggerFunc.tradeDebug("TradeContext.OQTNO不存在") if TradeContext.existVariable('ORTRCCO'): to_dict['ORTRCCO'] = TradeContext.ORTRCCO AfaLoggerFunc.tradeDebug('hdcbka[ORTRCCO] = ' + str(to_dict['ORTRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.ORTRCCO不存在") if TradeContext.existVariable('CUR'): to_dict['CUR'] = TradeContext.CUR AfaLoggerFunc.tradeDebug('hdcbka[CUR] = ' + str(to_dict['CUR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CUR不存在") if TradeContext.existVariable('OCCAMT'): to_dict['OCCAMT'] = TradeContext.OCCAMT AfaLoggerFunc.tradeDebug('hdcbka[OCCAMT] = ' + str(to_dict['OCCAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.OCCAMT不存在") if TradeContext.existVariable('CONT'): to_dict['CONT'] = TradeContext.CONT AfaLoggerFunc.tradeDebug('hdcbka[CONT] = ' + str(to_dict['CONT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CONT不存在") if TradeContext.existVariable('PYRACC'): to_dict['PYRACC'] = TradeContext.PYRACC AfaLoggerFunc.tradeDebug('hdcbka[PYRACC] = ' + str(to_dict['PYRACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYRACC不存在") if TradeContext.existVariable('PYRNAM'): to_dict['PYRNAM'] = TradeContext.PYRNAM AfaLoggerFunc.tradeDebug('hdcbka[PYRNAM] = ' + str(to_dict['PYRNAM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYRNAM不存在") if TradeContext.existVariable('PYEACC'): to_dict['PYEACC'] = TradeContext.PYEACC AfaLoggerFunc.tradeDebug('hdcbka[PYEACC] = ' + str(to_dict['PYEACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYEACC不存在") if TradeContext.existVariable('PYENAM'): to_dict['PYENAM'] = TradeContext.PYENAM AfaLoggerFunc.tradeDebug('hdcbka[PYENAM] = ' + str(to_dict['PYENAM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYENAM不存在") if TradeContext.existVariable('ISDEAL'): to_dict['ISDEAL'] = TradeContext.ISDEAL AfaLoggerFunc.tradeDebug('hdcbka[ISDEAL] = ' + str(to_dict['ISDEAL'])) else: AfaLoggerFunc.tradeDebug("TradeContext.ISDEAL不存在") if TradeContext.existVariable('PRCCO'): to_dict['PRCCO'] = TradeContext.PRCCO AfaLoggerFunc.tradeDebug('hdcbka[PRCCO] = ' + str(to_dict['PRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PRCCO不存在") if TradeContext.existVariable('NOTE1'): to_dict['NOTE1'] = TradeContext.NOTE1 AfaLoggerFunc.tradeDebug('hdcbka[NOTE1] = ' + str(to_dict['NOTE1'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE1不存在") if TradeContext.existVariable('NOTE2'): to_dict['NOTE2'] = TradeContext.NOTE2 AfaLoggerFunc.tradeDebug('hdcbka[NOTE2] = ' + str(to_dict['NOTE2'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE2不存在") if TradeContext.existVariable('NOTE3'): to_dict['NOTE3'] = TradeContext.NOTE3 AfaLoggerFunc.tradeDebug('hdcbka[NOTE3] = ' + str(to_dict['NOTE3'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE3不存在") if TradeContext.existVariable('NOTE4'): to_dict['NOTE4'] = TradeContext.NOTE4 AfaLoggerFunc.tradeDebug('hdcbka[NOTE4] = ' + str(to_dict['NOTE4'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE4不存在") return True
def map(from_dict,to_dict): if from_dict.has_key('BJEDTE'): to_dict['BJEDTE'] = from_dict['BJEDTE'] AfaLoggerFunc.tradeDebug('wtr_dict[BJEDTE] = ' + str(to_dict['BJEDTE'])) else: AfaLoggerFunc.tradeWarn("报单日期不能为空") return False if from_dict.has_key('BSPSQN'): to_dict['BSPSQN'] = from_dict['BSPSQN'] AfaLoggerFunc.tradeDebug('wtr_dict[BSPSQN] = ' + str(to_dict['BSPSQN'])) else: AfaLoggerFunc.tradeWarn("报单序号不能为空") return False if from_dict.has_key('BRSFLG'): to_dict['BRSFLG'] = from_dict['BRSFLG'] AfaLoggerFunc.tradeDebug('wtr_dict[BRSFLG] = ' + str(to_dict['BRSFLG'])) else: AfaLoggerFunc.tradeWarn("往来标识不能为空") return False if from_dict.has_key('BESBNO'): to_dict['BESBNO'] = from_dict['BESBNO'] AfaLoggerFunc.tradeDebug('wtr_dict[BESBNO] = ' + str(to_dict['BESBNO'])) else: AfaLoggerFunc.tradeDebug("wtrbka['BESBNO']不存在") if from_dict.has_key('BEACSB'): to_dict['BEACSB'] = from_dict['BEACSB'] AfaLoggerFunc.tradeDebug('wtr_dict[BEACSB] = ' + str(to_dict['BEACSB'])) else: AfaLoggerFunc.tradeDebug("wtrbka['BEACSB']不存在") if from_dict.has_key('BETELR'): to_dict['BETELR'] = from_dict['BETELR'] AfaLoggerFunc.tradeDebug('wtr_dict[BETELR] = ' + str(to_dict['BETELR'])) else: AfaLoggerFunc.tradeDebug("wtrbka['BETELR']不存在") if from_dict.has_key('BEAUUS'): to_dict['BEAUUS'] = from_dict['BEAUUS'] AfaLoggerFunc.tradeDebug('wtr_dict[BEAUUS] = ' + str(to_dict['BEAUUS'])) else: AfaLoggerFunc.tradeDebug("wtrbka['BEAUUS']不存在") if from_dict.has_key('BEAUPS'): to_dict['BEAUPS'] = from_dict['BEAUPS'] AfaLoggerFunc.tradeDebug('wtr_dict[BEAUPS] = ' + str(to_dict['BEAUPS'])) else: AfaLoggerFunc.tradeDebug("wtrbka['BEAUPS']不存在") if from_dict.has_key('TERMID'): to_dict['TERMID'] = from_dict['TERMID'] AfaLoggerFunc.tradeDebug('wtr_dict[TERMID] = ' + str(to_dict['TERMID'])) else: AfaLoggerFunc.tradeDebug("wtrbka['TERMID']不存在") if from_dict.has_key('BBSSRC'): to_dict['BBSSRC'] = from_dict['BBSSRC'] AfaLoggerFunc.tradeDebug('wtr_dict[BBSSRC] = ' + str(to_dict['BBSSRC'])) else: AfaLoggerFunc.tradeDebug("wtrbka['BBSSRC']不存在") if from_dict.has_key('DASQ'): to_dict['DASQ'] = from_dict['DASQ'] AfaLoggerFunc.tradeDebug('wtr_dict[DASQ] = ' + str(to_dict['DASQ'])) else: AfaLoggerFunc.tradeDebug("wtrbka['DASQ']不存在") if from_dict.has_key('DCFLG'): to_dict['DCFLG'] = from_dict['DCFLG'] AfaLoggerFunc.tradeDebug('wtr_dict[DCFLG] = ' + str(to_dict['DCFLG'])) else: AfaLoggerFunc.tradeDebug("wtrbka['DCFLG']不存在") if from_dict.has_key('OPRNO'): to_dict['OPRNO'] = from_dict['OPRNO'] AfaLoggerFunc.tradeDebug('wtr_dict[OPRNO] = ' + str(to_dict['OPRNO'])) else: AfaLoggerFunc.tradeDebug("wtrbka['OPRNO']不存在") if from_dict.has_key('OPRATTNO'): to_dict['OPRATTNO'] = from_dict['OPRATTNO'] AfaLoggerFunc.tradeDebug('wtr_dict[OPRATTNO] = ' + str(to_dict['OPRATTNO'])) else: AfaLoggerFunc.tradeDebug("wtrbka['OPRATTNO']不存在") if from_dict.has_key('NCCWKDAT'): to_dict['NCCWKDAT'] = from_dict['NCCWKDAT'] AfaLoggerFunc.tradeDebug('wtr_dict[NCCWKDAT] = ' + str(to_dict['NCCWKDAT'])) else: AfaLoggerFunc.tradeDebug("wtrbka['NCCWKDAT']不存在") if from_dict.has_key('TRCCO'): to_dict['TRCCO'] = from_dict['TRCCO'] AfaLoggerFunc.tradeDebug('wtr_dict[TRCCO] = ' + str(to_dict['TRCCO'])) else: AfaLoggerFunc.tradeDebug("wtrbka['TRCCO']不存在") if from_dict.has_key('TRCDAT'): to_dict['TRCDAT'] = from_dict['TRCDAT'] AfaLoggerFunc.tradeDebug('wtr_dict[TRCDAT] = ' + str(to_dict['TRCDAT'])) else: AfaLoggerFunc.tradeDebug("wtrbka['TRCDAT']不存在") if from_dict.has_key('TRCNO'): to_dict['TRCNO'] = from_dict['TRCNO'] AfaLoggerFunc.tradeDebug('wtr_dict[TRCNO] = ' + str(to_dict['TRCNO'])) else: AfaLoggerFunc.tradeDebug("wtrbka['TRCNO']不存在") if from_dict.has_key('MSGFLGNO'): to_dict['MSGFLGNO'] = from_dict['MSGFLGNO'] AfaLoggerFunc.tradeDebug('wtr_dict[MSGFLGNO] = ' + str(to_dict['MSGFLGNO'])) else: AfaLoggerFunc.tradeDebug("wtrbka['MSGFLGNO']不存在") if from_dict.has_key('COTRCDAT'): to_dict['COTRCDAT'] = from_dict['COTRCDAT'] AfaLoggerFunc.tradeDebug('wtr_dict[COTRCDAT] = ' + str(to_dict['COTRCDAT'])) else: AfaLoggerFunc.tradeDebug("wtrbka['COTRCDAT']不存在") if from_dict.has_key('COTRCNO'): to_dict['COTRCNO'] = from_dict['COTRCNO'] AfaLoggerFunc.tradeDebug('wtr_dict[COTRCNO] = ' + str(to_dict['COTRCNO'])) else: AfaLoggerFunc.tradeDebug("wtrbka['COTRCNO']不存在") if from_dict.has_key('COMSGFLGNO'): to_dict['COMSGFLGNO'] = from_dict['COMSGFLGNO'] AfaLoggerFunc.tradeDebug('wtr_dict[COMSGFLGNO] = ' + str(to_dict['COMSGFLGNO'])) else: AfaLoggerFunc.tradeDebug("wtrbka['COMSGFLGNO']不存在") if from_dict.has_key('SNDMBRCO'): to_dict['SNDMBRCO'] = from_dict['SNDMBRCO'] AfaLoggerFunc.tradeDebug('wtr_dict[SNDMBRCO] = ' + str(to_dict['SNDMBRCO'])) else: AfaLoggerFunc.tradeDebug("wtrbka['SNDMBRCO']不存在") if from_dict.has_key('RCVMBRCO'): to_dict['RCVMBRCO'] = from_dict['RCVMBRCO'] AfaLoggerFunc.tradeDebug('wtr_dict[RCVMBRCO] = ' + str(to_dict['RCVMBRCO'])) else: AfaLoggerFunc.tradeDebug("wtrbka['RCVMBRCO']不存在") if from_dict.has_key('SNDBNKCO'): to_dict['SNDBNKCO'] = from_dict['SNDBNKCO'] AfaLoggerFunc.tradeDebug('wtr_dict[SNDBNKCO] = ' + str(to_dict['SNDBNKCO'])) else: AfaLoggerFunc.tradeDebug("wtrbka['SNDBNKCO']不存在") if from_dict.has_key('SNDBNKNM'): to_dict['SNDBNKNM'] = from_dict['SNDBNKNM'] AfaLoggerFunc.tradeDebug('wtr_dict[SNDBNKNM] = ' + str(to_dict['SNDBNKNM'])) else: AfaLoggerFunc.tradeDebug("wtrbka['SNDBNKNM']不存在") if from_dict.has_key('RCVBNKCO'): to_dict['RCVBNKCO'] = from_dict['RCVBNKCO'] AfaLoggerFunc.tradeDebug('wtr_dict[RCVBNKCO] = ' + str(to_dict['RCVBNKCO'])) else: AfaLoggerFunc.tradeDebug("wtrbka['RCVBNKCO']不存在") if from_dict.has_key('RCVBNKNM'): to_dict['RCVBNKNM'] = from_dict['RCVBNKNM'] AfaLoggerFunc.tradeDebug('wtr_dict[RCVBNKNM] = ' + str(to_dict['RCVBNKNM'])) else: AfaLoggerFunc.tradeDebug("wtrbka['RCVBNKNM']不存在") if from_dict.has_key('CUR'): to_dict['CUR'] = from_dict['CUR'] AfaLoggerFunc.tradeDebug('wtr_dict[CUR] = ' + str(to_dict['CUR'])) else: AfaLoggerFunc.tradeDebug("wtrbka['CUR']不存在") if from_dict.has_key('OCCAMT'): to_dict['OCCAMT'] = from_dict['OCCAMT'] AfaLoggerFunc.tradeDebug('wtr_dict[OCCAMT] = ' + str(to_dict['OCCAMT'])) else: AfaLoggerFunc.tradeDebug("wtrbka['OCCAMT']不存在") if from_dict.has_key('CHRGTYP'): to_dict['CHRGTYP'] = from_dict['CHRGTYP'] AfaLoggerFunc.tradeDebug('wtr_dict[CHRGTYP] = ' + str(to_dict['CHRGTYP'])) else: AfaLoggerFunc.tradeDebug("wtrbka['CHRGTYP']不存在") if from_dict.has_key('LOCCUSCHRG'): to_dict['LOCCUSCHRG'] = from_dict['LOCCUSCHRG'] AfaLoggerFunc.tradeDebug('wtr_dict[LOCCUSCHRG] = ' + str(to_dict['LOCCUSCHRG'])) else: AfaLoggerFunc.tradeDebug("wtrbka['LOCCUSCHRG']不存在") if from_dict.has_key('CUSCHRG'): to_dict['CUSCHRG'] = from_dict['CUSCHRG'] AfaLoggerFunc.tradeDebug('wtr_dict[CUSCHRG] = ' + str(to_dict['CUSCHRG'])) else: AfaLoggerFunc.tradeDebug("wtrbka['CUSCHRG']不存在") if from_dict.has_key('PYRTYP'): to_dict['PYRTYP'] = from_dict['PYRTYP'] AfaLoggerFunc.tradeDebug('wtr_dict[PYRTYP] = ' + str(to_dict['PYRTYP'])) else: AfaLoggerFunc.tradeDebug("wtrbka['PYRTYP']不存在") if from_dict.has_key('PYRACC'): to_dict['PYRACC'] = from_dict['PYRACC'] AfaLoggerFunc.tradeDebug('wtr_dict[PYRACC] = ' + str(to_dict['PYRACC'])) else: AfaLoggerFunc.tradeDebug("wtrbka['PYRACC']不存在") if from_dict.has_key('PYRNAM'): to_dict['PYRNAM'] = from_dict['PYRNAM'] AfaLoggerFunc.tradeDebug('wtr_dict[PYRNAM] = ' + str(to_dict['PYRNAM'])) else: AfaLoggerFunc.tradeDebug("wtrbka['PYRNAM']不存在") if from_dict.has_key('PYRADDR'): to_dict['PYRADDR'] = from_dict['PYRADDR'] AfaLoggerFunc.tradeDebug('wtr_dict[PYRADDR] = ' + str(to_dict['PYRADDR'])) else: AfaLoggerFunc.tradeDebug("wtrbka['PYRADDR']不存在") if from_dict.has_key('PYETYP'): to_dict['PYETYP'] = from_dict['PYETYP'] AfaLoggerFunc.tradeDebug('wtr_dict[PYETYP] = ' + str(to_dict['PYETYP'])) else: AfaLoggerFunc.tradeDebug("wtrbka['PYETYP']不存在") if from_dict.has_key('PYEACC'): to_dict['PYEACC'] = from_dict['PYEACC'] AfaLoggerFunc.tradeDebug('wtr_dict[PYEACC] = ' + str(to_dict['PYEACC'])) else: AfaLoggerFunc.tradeDebug("wtrbka['PYEACC']不存在") if from_dict.has_key('PYENAM'): to_dict['PYENAM'] = from_dict['PYENAM'] AfaLoggerFunc.tradeDebug('wtr_dict[PYENAM] = ' + str(to_dict['PYENAM'])) else: AfaLoggerFunc.tradeDebug("wtrbka['PYENAM']不存在") if from_dict.has_key('PYEADDR'): to_dict['PYEADDR'] = from_dict['PYEADDR'] AfaLoggerFunc.tradeDebug('wtr_dict[PYEADDR] = ' + str(to_dict['PYEADDR'])) else: AfaLoggerFunc.tradeDebug("wtrbka['PYEADDR']不存在") if from_dict.has_key('STRINFO'): to_dict['STRINFO'] = from_dict['STRINFO'] AfaLoggerFunc.tradeDebug('wtr_dict[STRINFO] = ' + str(to_dict['STRINFO'])) else: AfaLoggerFunc.tradeDebug("wtrbka['STRINFO']不存在") if from_dict.has_key('CERTTYPE'): to_dict['CERTTYPE'] = from_dict['CERTTYPE'] AfaLoggerFunc.tradeDebug('wtr_dict[CERTTYPE] = ' + str(to_dict['CERTTYPE'])) else: AfaLoggerFunc.tradeDebug("wtrbka['CERTTYPE']不存在") if from_dict.has_key('CERTNO'): to_dict['CERTNO'] = from_dict['CERTNO'] AfaLoggerFunc.tradeDebug('wtr_dict[CERTNO] = ' + str(to_dict['CERTNO'])) else: AfaLoggerFunc.tradeDebug("wtrbka['CERTNO']不存在") if from_dict.has_key('BNKBKNO'): to_dict['BNKBKNO'] = from_dict['BNKBKNO'] AfaLoggerFunc.tradeDebug('wtr_dict[BNKBKNO] = ' + str(to_dict['BNKBKNO'])) else: AfaLoggerFunc.tradeDebug("wtrbka['BNKBKNO']不存在") if from_dict.has_key('BNKBKBAL'): to_dict['BNKBKBAL'] = from_dict['BNKBKBAL'] AfaLoggerFunc.tradeDebug('wtr_dict[BNKBKBAL] = ' + str(to_dict['BNKBKBAL'])) else: AfaLoggerFunc.tradeDebug("wtrbka['BNKBKBAL']不存在") if from_dict.has_key('NOTE1'): to_dict['NOTE1'] = from_dict['NOTE1'] AfaLoggerFunc.tradeDebug('wtr_dict[NOTE1] = ' + str(to_dict['NOTE1'])) else: AfaLoggerFunc.tradeDebug("wtrbka['NOTE1']不存在") if from_dict.has_key('NOTE2'): to_dict['NOTE2'] = from_dict['NOTE2'] AfaLoggerFunc.tradeDebug('wtr_dict[NOTE2] = ' + str(to_dict['NOTE2'])) else: AfaLoggerFunc.tradeDebug("wtrbka['NOTE2']不存在") if from_dict.has_key('NOTE3'): to_dict['NOTE3'] = from_dict['NOTE3'] AfaLoggerFunc.tradeDebug('wtr_dict[NOTE3] = ' + str(to_dict['NOTE3'])) else: AfaLoggerFunc.tradeDebug("wtrbka['NOTE3']不存在") if from_dict.has_key('NOTE4'): to_dict['NOTE4'] = from_dict['NOTE4'] AfaLoggerFunc.tradeDebug('wtr_dict[NOTE4] = ' + str(to_dict['NOTE4'])) else: AfaLoggerFunc.tradeDebug("wtrbka['NOTE4']不存在") return True
elif TradeContext.paytype == '1': #凭证件 TradeContext.idType = TradeContext.zjtype #证件种类 TradeContext.idno = TradeContext.zjno #证件号码 TradeContext.vouhType = TradeContext.vouchtype #凭证种类 TradeContext.vouhNo = TradeContext.vouchno #凭证号码 elif TradeContext.paytype == "2": #凭单折 TradeContext.vouhType = TradeContext.vouchtype #凭证种类 TradeContext.vouhNo = TradeContext.vouchno #凭证号码 AfaLoggerFunc.tradeInfo("TradeContext.vouhNo:"+TradeContext.vouhNo) except Exception, e: AfaLoggerFunc.tradeInfo( str(e) ) AfaFlowControl.flowException( ) #输出缴费介质代码 AfaLoggerFunc.tradeDebug("TradeContext.accType = [" + TradeContext.accType + "]") return True def SubModuleDoSnd( ): return True def SubModuleDoTrd( ): AfaLoggerFunc.tradeInfo('进入缴费交易[T'+TradeContext.TemplateCode+'_'+TradeContext.TransCode+']与第三方通讯后处理' ) names = Party3Context.getNames( ) for name in names: value = getattr( Party3Context, name ) #AfaLoggerFunc.tradeInfo(str(name) + ":" + str(value)) if ( not name.startswith( '__' ) and type(value) is StringType or type(value) is ListType) :
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( "====开始汇兑来账接收处理====" ) #=====判断是否重复交易==== sel_dict = {'TRCNO':TradeContext.TRCNO,'TRCDAT':TradeContext.TRCDAT,'SNDBNKCO':TradeContext.SNDBNKCO} record = rccpsDBTrcc_trcbka.selectu(sel_dict) if record == None: return AfaFlowControl.ExitThisFlow('S999','判断是否重复报文,查询汇兑业务登记簿相同报文异常') elif len(record) > 0: AfaLoggerFunc.tradeInfo('汇兑业务登记簿中存在相同数据,重复报文,进入下一流程') #=====为通讯回执报文赋值==== 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['ORMFN'] = TradeContext.MSGFLGNO out_context_dict['MSGFLGNO'] = out_context_dict['SNDMBRCO'] + TradeContext.BJEDTE + TradeContext.SerialNo 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) #=====发送afe==== AfaAfeFunc.CommAfe() return AfaFlowControl.ExitThisFlow('S999','重复报文,退出处理流程') AfaLoggerFunc.tradeInfo(">>>结束判断是否重复报文") #=====币种转换==== if TradeContext.CUR == 'CNY': TradeContext.CUR = '01' #====开始向字典赋值==== trcbka_dict = {} if not rccpsMap1101CTradeContext2Dtrcbka_dict.map(trcbka_dict): return AfaFlowControl.ExitThisFlow('M999', '字典赋值出错') trcbka_dict['DCFLG'] = PL_DCFLG_CRE #借贷标识 trcbka_dict['OPRNO'] = '01' #业务属性 #=====开始插入数据库==== if not rccpsDBFunc.insTransTrc(trcbka_dict): #=====RollBack操作==== AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow('D002', '插入数据库出错,RollBack成功') else: #=====commit操作==== AfaDBFunc.CommitSql() AfaLoggerFunc.tradeInfo('插入汇兑业务登记簿,COMMIT成功') #=====设置状态为收妥==== sstlog = {} sstlog['BSPSQN'] = TradeContext.BSPSQN sstlog['BJEDTE'] = TradeContext.BJEDTE sstlog['BCSTAT'] = PL_BCSTAT_BNKRCV sstlog['BDWFLG'] = PL_BDWFLG_SUCC #=====设置状态为 收妥-成功 ==== if not rccpsState.setTransState(sstlog): #=====RollBack操作==== AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow(TradeContext.errorCode, TradeContext.errorMsg) else: #=====commit操作==== AfaDBFunc.CommitSql() AfaLoggerFunc.tradeInfo('>>>commit成功') ##========================= START 张恒 增加于20091011 来帐落机构及入帐挂账处理 =====================## #初始化记挂账标识,记账.0,挂账.1,默认记账 accflag = 0 #接收机构暂存 TradeContext.BESBNOFIRST = TradeContext.BESBNO if accflag == 0: AfaLoggerFunc.tradeInfo(">>>开始校验密押") #=====开始调用密押服务器进行核押==== SNDBANKCO = TradeContext.SNDBNKCO RCVBANKCO = TradeContext.RCVBNKCO SNDBANKCO = SNDBANKCO.rjust(12,'0') RCVBANKCO = RCVBANKCO.rjust(12,'0') AMOUNT = TradeContext.OCCAMT.split('.')[0] + TradeContext.OCCAMT.split('.')[1] AMOUNT = AMOUNT.rjust(15,'0') AfaLoggerFunc.tradeDebug('AMOUNT=' + str(AMOUNT) ) AfaLoggerFunc.tradeDebug('SNDBANKCO=' + str(SNDBANKCO) ) AfaLoggerFunc.tradeDebug('RCVBANKCO=' + str(RCVBANKCO) ) ret = miya.DraftEncrypt(PL_SEAL_DEC,PL_TYPE_DZHD,TradeContext.TRCDAT,TradeContext.TRCNO,AMOUNT,SNDBANKCO,RCVBANKCO,'',TradeContext.SEAL) if ret != 0: #密押错,挂账 AfaLoggerFunc.tradeInfo("密押校验未通过,ret=[" + str(ret) + "]") accflag = 1 TradeContext.NOTE3 = "密押错,挂账!" else: #密押校验通过 AfaLoggerFunc.tradeInfo("密押校验通过") AfaLoggerFunc.tradeInfo(">>>结束校验密押") #校验账号是否非法 if accflag == 0: AfaLoggerFunc.tradeInfo("开始校验账号是否非法") if (len(TradeContext.PYEACC) != 23) and (len(TradeContext.PYEACC) != 19) : accflag = 1 TradeContext.NOTE3 = '此账号不是对公或对私账号,挂账!' AfaLoggerFunc.tradeInfo("结束校验账号是否非法") #调用主机接口查询账户信息 if accflag == 0: #调用8810查询账户信息 AfaLoggerFunc.tradeInfo("开始查询账户信息") TradeContext.ACCNO = TradeContext.PYEACC TradeContext.HostCode = '8810' rccpsHostFunc.CommHost( '8810' ) if TradeContext.errorCode != '0000': accflag = 1 TradeContext.NOTE3 = '查询收款人信息失败,挂账!' elif TradeContext.errorCode == '0000' and len(TradeContext.ACCSO) == 0 : accflag = 1 TradeContext.NOTE3 = '查询收款人开户机构失败,挂账!' AfaLoggerFunc.tradeInfo("结束查询账户信息") #校验账户状态是否正常 if accflag == 0: AfaLoggerFunc.tradeInfo("开始校验是否跨法人") if TradeContext.ACCSO[0:6] != TradeContext.BESBNO[0:6] : accflag = 1 TradeContext.NOTE3 = '接收行与账户开户行跨法人,挂账!' AfaLoggerFunc.tradeInfo("结束校验是否跨法人") #校验开户机构是否建立代理关系 if accflag == 0: AfaLoggerFunc.tradeInfo("开始校验接收行与开户机构是否为同一机构") if TradeContext.ACCSO != TradeContext.BESBNOFIRST: khjg = {} khjg['BESBNO'] = TradeContext.ACCSO khjg['BTOPSB'] = TradeContext.BESBNOFIRST khjg['SUBFLG'] = PL_SUBFLG_SUB rec = rccpsDBTrcc_subbra.selectu(khjg) if rec == None: accflag = 1 TradeContext.NOTE3 = '查询账户代理关系失败,挂账!' elif len(rec) <= 0: accflag = 1 TradeContext.NOTE3 = '账户未建立代理关系,挂账!' else: #接收机构与开户机构存在代理关系,设置机构号为开户机构号 TradeContext.BESBNO = TradeContext.ACCSO AfaLoggerFunc.tradeInfo("结束校验接收行与开户机构是否为同一机构") #校验账号状态是否正常 if accflag == 0: AfaLoggerFunc.tradeInfo("开始校验账号状态是否正常") if TradeContext.ACCST != '0' and TradeContext.ACCST != '2': accflag = 1 TradeContext.NOTE3 = '账户状态不正常,挂账!' #在建立代理关系的情况下,账户状态不正常,同样挂账 TradeContext.BESBNO = TradeContext.BESBNOFIRST AfaLoggerFunc.tradeInfo("结束校验账号状态是否正常") #校验收款人户名是否一致 if accflag == 0: AfaLoggerFunc.tradeInfo("开始校验收款人户名是否一致") if TradeContext.ACCNM != TradeContext.PYENAM : accflag = 1 TradeContext.NOTE3 = '收款人户名不符,挂账!' #在建立代理关系的情况下,账户状态不正常,同样挂账 TradeContext.BESBNO = TradeContext.BESBNOFIRST AfaLoggerFunc.tradeInfo("结束校验收款人户名是否一致") if (TradeContext.existVariable( "PYEACC" ) and len(TradeContext.PYEACC) != 0): #收款人名称 TradeContext.PYEACC = TradeContext.PYEACC else: TradeContext.PYEACC = '' if (TradeContext.existVariable( "PYENAM" ) and len(TradeContext.PYENAM) != 0): #收款人名称 TradeContext.OTNM = TradeContext.PYENAM else: TradeContext.OTNM = '' #汇兑往帐记帐字典赋值 input_dict = {} if (TradeContext.existVariable( "PYRNAM" ) and len(TradeContext.PYRNAM) != 0): #付款人户名 TradeContext.SBACACNM = TradeContext.PYRNAM input_dict['accflag'] = str(accflag) #记挂标志 input_dict['OCCAMT'] = TradeContext.OCCAMT #交易金额 input_dict['PYEACC'] = TradeContext.PYEACC #收款人账号 input_dict['OTNM'] = TradeContext.OTNM #收款人名称 input_dict['BESBNO'] = TradeContext.BESBNO #调用汇兑记账接口 rccpsEntries.HDLZJZ(input_dict) TradeContext.accflag = accflag #代理标志 #=====开始调函数拼贷方账号第25位校验位==== TradeContext.HostCode = '8813' #调用8813主机接口 TradeContext.RCCSMCD = PL_RCCSMCD_HDLZ #主机摘要代码:汇兑来账 TradeContext.ACUR = '1' ##========================= END 张恒 增加于20091011 来帐落机构及入帐挂账处理 =====================## #=====新增sstlog表状态记录==== if not rccpsState.newTransState(TradeContext.BJEDTE,TradeContext.BSPSQN,TradeContext.BCSTAT,TradeContext.BDWFLG): #=====RollBack操作==== AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow('M999', '设置状态['+TradeContext.BCSTAT+']['+TradeContext.BDWFLG+']失败,系统自动回滚') else: #=====commit操作==== AfaDBFunc.CommitSql() return True
def map(from_dict): if from_dict.has_key('BESBNO'): TradeContext.BRNO = from_dict['BESBNO'] AfaLoggerFunc.tradeDebug('TradeContext.BRNO = ' + str(TradeContext.BRNO)) else: AfaLoggerFunc.tradeDebug("subbra['BESBNO']不存在") if from_dict.has_key('BESBNM'): TradeContext.BRNM = from_dict['BESBNM'] AfaLoggerFunc.tradeDebug('TradeContext.BRNM = ' + str(TradeContext.BRNM)) else: AfaLoggerFunc.tradeDebug("subbra['BESBNM']不存在") if from_dict.has_key('BESBTP'): TradeContext.BESBTP = from_dict['BESBTP'] AfaLoggerFunc.tradeDebug('TradeContext.BESBTP = ' + str(TradeContext.BESBTP)) else: AfaLoggerFunc.tradeDebug("subbra['BESBTP']不存在") if from_dict.has_key('BTOPSB'): TradeContext.BTOPSB = from_dict['BTOPSB'] AfaLoggerFunc.tradeDebug('TradeContext.BTOPSB = ' + str(TradeContext.BTOPSB)) else: AfaLoggerFunc.tradeDebug("subbra['BTOPSB']不存在") if from_dict.has_key('BEACSB'): TradeContext.BEACSB = from_dict['BEACSB'] AfaLoggerFunc.tradeDebug('TradeContext.BEACSB = ' + str(TradeContext.BEACSB)) else: AfaLoggerFunc.tradeDebug("subbra['BEACSB']不存在") if from_dict.has_key('BANKBIN'): TradeContext.BANKBIN = from_dict['BANKBIN'] AfaLoggerFunc.tradeDebug('TradeContext.BANKBIN = ' + str(TradeContext.BANKBIN)) else: AfaLoggerFunc.tradeDebug("subbra['BANKBIN']不存在") if from_dict.has_key('STRINFO'): TradeContext.STRINFO = from_dict['STRINFO'] AfaLoggerFunc.tradeDebug('TradeContext.STRINFO = ' + str(TradeContext.STRINFO)) else: AfaLoggerFunc.tradeDebug("subbra['STRINFO']不存在") if from_dict.has_key('SUBFLG'): TradeContext.SUBFLG = from_dict['SUBFLG'] AfaLoggerFunc.tradeDebug('TradeContext.SUBFLG = ' + str(TradeContext.SUBFLG)) else: AfaLoggerFunc.tradeDebug("subbra['SUBFLG']不存在") if from_dict.has_key('NOTE1'): TradeContext.NOTE1 = from_dict['NOTE1'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE1 = ' + str(TradeContext.NOTE1)) else: AfaLoggerFunc.tradeDebug("subbra['NOTE1']不存在") if from_dict.has_key('NOTE2'): TradeContext.NOTE2 = from_dict['NOTE2'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE2 = ' + str(TradeContext.NOTE2)) else: AfaLoggerFunc.tradeDebug("subbra['NOTE2']不存在") if from_dict.has_key('NOTE3'): TradeContext.NOTE3 = from_dict['NOTE3'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE3 = ' + str(TradeContext.NOTE3)) else: AfaLoggerFunc.tradeDebug("subbra['NOTE3']不存在") if from_dict.has_key('NOTE4'): TradeContext.NOTE4 = from_dict['NOTE4'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE4 = ' + str(TradeContext.NOTE4)) else: AfaLoggerFunc.tradeDebug("subbra['NOTE4']不存在") return True
def SubModuleDoSnd(): AfaLoggerFunc.tradeInfo('>>>主机记账后处理') #=====开始向字典赋值==== sst_dict = {} sst_dict['BSPSQN'] = TradeContext.BSPSQN #报单序号 sst_dict['BJEDTE'] = TradeContext.BJEDTE #交易日期 sst_dict['SBAC'] = TradeContext.SBAC #借方账号 sst_dict['BESBNO'] = TradeContext.BESBNO #机构号 if (TradeContext.existVariable( "NOTE3" ) and len(TradeContext.NOTE3) != 0): sst_dict['NOTE3'] = TradeContext.NOTE3 #备注3 AfaLoggerFunc.tradeDebug('>>>test NOTE3 =['+TradeContext.NOTE3 +']') sst_dict['BJETIM'] = TradeContext.BJETIM #交易时间 sst_dict['MGID'] = TradeContext.errorCode #主机返回代码 sst_dict['STRINFO'] = TradeContext.errorMsg #主机返回信息 sst_dict['BETELR'] = TradeContext.BETELR #柜员号 #=====开始判断主机返回结果==== out_context_dict = {} if TradeContext.errorCode == '0000' : AfaLoggerFunc.tradeDebug('>>>主机通讯成功,更新表状态开始') trcbka_jgh = {} trcbka_where = {} trcbka_jgh['BESBNO'] = TradeContext.BESBNO trcbka_where['BSPSQN'] = TradeContext.BSPSQN trcbka_where['BJEDTE'] = TradeContext.BJEDTE if not rccpsDBTrcc_trcbka.updateCmt( trcbka_jgh,trcbka_where ): #=====RollBack操作==== AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow('D002', '更新数据库出错,RollBack成功') else: #=====commit操作==== AfaDBFunc.CommitSql() AfaLoggerFunc.tradeInfo('更新登记簿,COMMIT成功') if (TradeContext.existVariable( "RBAC" ) and len(TradeContext.RBAC) != 0): sst_dict['RBAC'] = TradeContext.RBAC AfaLoggerFunc.tradeDebug('>>>test RBAC =['+TradeContext.RBAC +']') if (TradeContext.existVariable( "REAC" ) and len(TradeContext.REAC) != 0): sst_dict['REAC'] = TradeContext.REAC AfaLoggerFunc.tradeDebug('>>>test REAC =['+TradeContext.REAC +']') #自动挂账 if TradeContext.accflag == 1 : sst_dict['BCSTAT'] = PL_BCSTAT_HANG #自动挂账 AfaLoggerFunc.tradeDebug('>>>test BCSTAT=['+str(sst_dict['BCSTAT']) +']') #自动入账 elif TradeContext.accflag == 0 : sst_dict['BCSTAT'] = PL_BCSTAT_AUTO #自动入账 AfaLoggerFunc.tradeDebug('>>>test BCSTAT=['+str(sst_dict['BCSTAT']) +']') if (TradeContext.existVariable( "DASQ" ) and len(TradeContext.DASQ) != 0): sst_dict['DASQ'] = TradeContext.DASQ #销账序号 AfaLoggerFunc.tradeDebug('>>>test DASQ =['+TradeContext.DASQ +']') sst_dict['BDWFLG'] = PL_BDWFLG_SUCC #成功 AfaLoggerFunc.tradeDebug('>>>test BDWFLG=['+str(sst_dict['BDWFLG']) +']') sst_dict['TRDT'] = TradeContext.TRDT #主机日期 AfaLoggerFunc.tradeDebug('>>>test TRDT =['+TradeContext.TRDT +']') sst_dict['TLSQ'] = TradeContext.TLSQ #主机流水 AfaLoggerFunc.tradeDebug('>>>test TLSQ =['+TradeContext.TLSQ +']') AfaLoggerFunc.tradeDebug('>>>主机通讯成功,更新表状态结束') out_context_dict['PRCCO'] = 'RCCI0000' out_context_dict['STRINFO'] = '成功' else : if TradeContext.accflag == 1 : sst_dict['BCSTAT'] = PL_BCSTAT_HANG #自动挂账 sst_dict['BDWFLG'] = PL_BDWFLG_FAIL #处理失败 out_context_dict['PRCCO'] = 'RCCI1056' out_context_dict['STRINFO'] = '挂账失败,交易失败' elif TradeContext.accflag == 0 : #记账失败,挂代理机构账 TradeContext.BESBNO = TradeContext.BESBNOFIRST #汇兑来帐挂帐字典赋值 input_dict = {} input_dict['accflag'] = str(TradeContext.accflag) #记挂标志 input_dict['OCCAMT'] = TradeContext.OCCAMT #交易金额 input_dict['BESBNO'] = TradeContext.BESBNOFIRST #调用汇兑记账接口 rccpsEntries.HDLZGZ(input_dict) rccpsHostFunc.CommHost( '8813' ) sst_dict = {} sst_dict['BSPSQN'] = TradeContext.BSPSQN #报单序号 AfaLoggerFunc.tradeDebug('>>>test BSPSQN=['+TradeContext.BSPSQN+']') sst_dict['BJEDTE'] = TradeContext.BJEDTE #交易日期 AfaLoggerFunc.tradeDebug('>>>test BJEDTE=['+TradeContext.BJEDTE+']') sst_dict['SBAC'] = TradeContext.SBAC #借方账号 AfaLoggerFunc.tradeDebug('>>>test SBAC=['+TradeContext.SBAC+']') sst_dict['BESBNO'] = TradeContext.BESBNO #机构号 AfaLoggerFunc.tradeDebug('>>>test BESBNO=['+TradeContext.BESBNO+']') if (TradeContext.existVariable( "NOTE3" ) and len(TradeContext.NOTE3) != 0): sst_dict['NOTE3'] = TradeContext.NOTE3 #备注3 AfaLoggerFunc.tradeDebug('>>>test NOTE3 =['+TradeContext.NOTE3 +']') sst_dict['BJETIM'] = TradeContext.BJETIM #交易时间 AfaLoggerFunc.tradeDebug('>>>test BJETIM=['+TradeContext.BJETIM+']') sst_dict['MGID'] = TradeContext.errorCode #主机返回代码 sst_dict['STRINFO'] = TradeContext.errorMsg #主机返回信息 sst_dict['BETELR'] = TradeContext.BETELR #柜员号 if TradeContext.errorCode == '0000': AfaLoggerFunc.tradeDebug(">>>SubModuleDoSnd--挂帐成功") sst_dict['BCSTAT'] = PL_BCSTAT_HANG sst_dict['BDWFLG'] = PL_BDWFLG_SUCC out_context_dict['PRCCO'] = 'RCCI0000' out_context_dict['STRINFO'] = '成功' else: AfaLoggerFunc.tradeDebug(">>>SubModuleDoSnd--挂帐失败") sst_dict['BCSTAT'] = PL_BCSTAT_HANG sst_dict['BDWFLG'] = PL_BDWFLG_FAIL out_context_dict['PRCCO'] = 'RCCI1056' out_context_dict['STRINFO'] = '挂账失败,交易失败' AfaLoggerFunc.tradeDebug('>>>当前业务状态[' + str(sst_dict['BCSTAT']) + ']') AfaLoggerFunc.tradeDebug('>>>当前流转标志[' + str(sst_dict['BDWFLG']) + ']') #=====设置状态为 记账/挂账-成功 ==== if not rccpsState.setTransState(sst_dict): #=====RollBack操作==== AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow(TradeContext.errorCode, TradeContext.errorMsg) else: #=====commit操作==== AfaDBFunc.CommitSql() AfaLoggerFunc.tradeDebug('>>>commit成功') #=====开始设置通讯回执报文信息==== AfaLoggerFunc.tradeInfo('>>>开始组织通讯回执报文') 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 rccpsMap0000Dout_context2CTradeContext.map(out_context_dict) return True
def map(to_dict): if TradeContext.existVariable('BJEDTE'): to_dict['BJEDTE'] = TradeContext.BJEDTE AfaLoggerFunc.tradeDebug('mrqtbl[BJEDTE] = ' + str(to_dict['BJEDTE'])) else: AfaLoggerFunc.tradeWarn("交易日期不能为空") return False if TradeContext.existVariable('BSPSQN'): to_dict['BSPSQN'] = TradeContext.BSPSQN AfaLoggerFunc.tradeDebug('mrqtbl[BSPSQN] = ' + str(to_dict['BSPSQN'])) else: AfaLoggerFunc.tradeWarn("报单序号不能为空") return False if TradeContext.existVariable('TRCCO'): to_dict['TRCCO'] = TradeContext.TRCCO AfaLoggerFunc.tradeDebug('mrqtbl[TRCCO] = ' + str(to_dict['TRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCCO不存在") if TradeContext.existVariable('SNDMBRCO'): to_dict['SNDMBRCO'] = TradeContext.SNDMBRCO AfaLoggerFunc.tradeDebug('mrqtbl[SNDMBRCO] = ' + str(to_dict['SNDMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDMBRCO不存在") if TradeContext.existVariable('RCVMBRCO'): to_dict['RCVMBRCO'] = TradeContext.RCVMBRCO AfaLoggerFunc.tradeDebug('mrqtbl[RCVMBRCO] = ' + str(to_dict['RCVMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVMBRCO不存在") if TradeContext.existVariable('SNDBNKCO'): to_dict['SNDBNKCO'] = TradeContext.SNDBNKCO AfaLoggerFunc.tradeDebug('mrqtbl[SNDBNKCO] = ' + str(to_dict['SNDBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKCO不存在") if TradeContext.existVariable('SNDBNKNM'): to_dict['SNDBNKNM'] = TradeContext.SNDBNKNM AfaLoggerFunc.tradeDebug('mrqtbl[SNDBNKNM] = ' + str(to_dict['SNDBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKNM不存在") if TradeContext.existVariable('RCVBNKCO'): to_dict['RCVBNKCO'] = TradeContext.RCVBNKCO AfaLoggerFunc.tradeDebug('mrqtbl[RCVBNKCO] = ' + str(to_dict['RCVBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKCO不存在") if TradeContext.existVariable('RCVBNKNM'): to_dict['RCVBNKNM'] = TradeContext.RCVBNKNM AfaLoggerFunc.tradeDebug('mrqtbl[RCVBNKNM] = ' + str(to_dict['RCVBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKNM不存在") if TradeContext.existVariable('TRCDAT'): to_dict['TRCDAT'] = TradeContext.TRCDAT AfaLoggerFunc.tradeDebug('mrqtbl[TRCDAT] = ' + str(to_dict['TRCDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCDAT不存在") if TradeContext.existVariable('TRCNO'): to_dict['TRCNO'] = TradeContext.TRCNO AfaLoggerFunc.tradeDebug('mrqtbl[TRCNO] = ' + str(to_dict['TRCNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCNO不存在") if TradeContext.existVariable('NPCBKID'): to_dict['NPCBKID'] = TradeContext.NPCBKID AfaLoggerFunc.tradeDebug('mrqtbl[NPCBKID] = ' + str(to_dict['NPCBKID'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NPCBKID不存在") if TradeContext.existVariable('NPCBKNM'): to_dict['NPCBKNM'] = TradeContext.NPCBKNM AfaLoggerFunc.tradeDebug('mrqtbl[NPCBKNM] = ' + str(to_dict['NPCBKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NPCBKNM不存在") if TradeContext.existVariable('NPCACNT'): to_dict['NPCACNT'] = TradeContext.NPCACNT AfaLoggerFunc.tradeDebug('mrqtbl[NPCACNT] = ' + str(to_dict['NPCACNT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NPCACNT不存在") if TradeContext.existVariable('OCCAMT'): to_dict['OCCAMT'] = TradeContext.OCCAMT AfaLoggerFunc.tradeDebug('mrqtbl[OCCAMT] = ' + str(to_dict['OCCAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.OCCAMT不存在") if TradeContext.existVariable('REMARK'): to_dict['REMARK'] = TradeContext.REMARK AfaLoggerFunc.tradeDebug('mrqtbl[REMARK] = ' + str(to_dict['REMARK'])) else: AfaLoggerFunc.tradeDebug("TradeContext.REMARK不存在") if TradeContext.existVariable('PRCCO'): to_dict['PRCCO'] = TradeContext.PRCCO AfaLoggerFunc.tradeDebug('mrqtbl[PRCCO] = ' + str(to_dict['PRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PRCCO不存在") if TradeContext.existVariable('STRINFO'): to_dict['STRINFO'] = TradeContext.STRINFO AfaLoggerFunc.tradeDebug('mrqtbl[STRINFO] = ' + str(to_dict['STRINFO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.STRINFO不存在") if TradeContext.existVariable('NOTE1'): to_dict['NOTE1'] = TradeContext.NOTE1 AfaLoggerFunc.tradeDebug('mrqtbl[NOTE1] = ' + str(to_dict['NOTE1'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE1不存在") if TradeContext.existVariable('NOTE2'): to_dict['NOTE2'] = TradeContext.NOTE2 AfaLoggerFunc.tradeDebug('mrqtbl[NOTE2] = ' + str(to_dict['NOTE2'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE2不存在") if TradeContext.existVariable('NOTE4'): to_dict['NOTE4'] = TradeContext.NOTE4 AfaLoggerFunc.tradeDebug('mrqtbl[NOTE4] = ' + str(to_dict['NOTE4'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE4不存在") if TradeContext.existVariable('NOTE3'): to_dict['NOTE3'] = TradeContext.NOTE3 AfaLoggerFunc.tradeDebug('mrqtbl[NOTE3] = ' + str(to_dict['NOTE3'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE3不存在") return True
def map(from_dict): if from_dict.has_key('SNDBNKCO'): TradeContext.SNDBNKCO = from_dict['SNDBNKCO'] AfaLoggerFunc.tradeDebug('TradeContext.SNDBNKCO = ' + str(TradeContext.SNDBNKCO)) else: AfaLoggerFunc.tradeDebug("hddzmx['SNDBNKCO']不存在") if from_dict.has_key('TRCDAT'): TradeContext.TRCDAT = from_dict['TRCDAT'] AfaLoggerFunc.tradeDebug('TradeContext.TRCDAT = ' + str(TradeContext.TRCDAT)) else: AfaLoggerFunc.tradeDebug("hddzmx['TRCDAT']不存在") if from_dict.has_key('TRCNO'): TradeContext.TRCNO = from_dict['TRCNO'] AfaLoggerFunc.tradeDebug('TradeContext.TRCNO = ' + str(TradeContext.TRCNO)) else: AfaLoggerFunc.tradeDebug("hddzmx['TRCNO']不存在") if from_dict.has_key('NCCWKDAT'): TradeContext.NCCWKDAT = from_dict['NCCWKDAT'] AfaLoggerFunc.tradeDebug('TradeContext.NCCWKDAT = ' + str(TradeContext.NCCWKDAT)) else: AfaLoggerFunc.tradeDebug("hddzmx['NCCWKDAT']不存在") if from_dict.has_key('MSGTYPCO'): TradeContext.MSGTYPCO = from_dict['MSGTYPCO'] AfaLoggerFunc.tradeDebug('TradeContext.MSGTYPCO = ' + str(TradeContext.MSGTYPCO)) else: AfaLoggerFunc.tradeDebug("hddzmx['MSGTYPCO']不存在") if from_dict.has_key('RCVMBRCO'): TradeContext.RCVMBRCO = from_dict['RCVMBRCO'] AfaLoggerFunc.tradeDebug('TradeContext.RCVMBRCO = ' + str(TradeContext.RCVMBRCO)) else: AfaLoggerFunc.tradeDebug("hddzmx['RCVMBRCO']不存在") if from_dict.has_key('SNDMBRCO'): TradeContext.SNDMBRCO = from_dict['SNDMBRCO'] AfaLoggerFunc.tradeDebug('TradeContext.SNDMBRCO = ' + str(TradeContext.SNDMBRCO)) else: AfaLoggerFunc.tradeDebug("hddzmx['SNDMBRCO']不存在") if from_dict.has_key('TRCCO'): TradeContext.TRCCO = from_dict['TRCCO'] AfaLoggerFunc.tradeDebug('TradeContext.TRCCO = ' + str(TradeContext.TRCCO)) else: AfaLoggerFunc.tradeDebug("hddzmx['TRCCO']不存在") if from_dict.has_key('SNDBRHCO'): TradeContext.SNDBRHCO = from_dict['SNDBRHCO'] AfaLoggerFunc.tradeDebug('TradeContext.SNDBRHCO = ' + str(TradeContext.SNDBRHCO)) else: AfaLoggerFunc.tradeDebug("hddzmx['SNDBRHCO']不存在") if from_dict.has_key('SNDCLKNO'): TradeContext.SNDCLKNO = from_dict['SNDCLKNO'] AfaLoggerFunc.tradeDebug('TradeContext.SNDCLKNO = ' + str(TradeContext.SNDCLKNO)) else: AfaLoggerFunc.tradeDebug("hddzmx['SNDCLKNO']不存在") if from_dict.has_key('SNDTRDAT'): TradeContext.SNDTRDAT = from_dict['SNDTRDAT'] AfaLoggerFunc.tradeDebug('TradeContext.SNDTRDAT = ' + str(TradeContext.SNDTRDAT)) else: AfaLoggerFunc.tradeDebug("hddzmx['SNDTRDAT']不存在") if from_dict.has_key('SNDTRTIM'): TradeContext.SNDTRTIM = from_dict['SNDTRTIM'] AfaLoggerFunc.tradeDebug('TradeContext.SNDTRTIM = ' + str(TradeContext.SNDTRTIM)) else: AfaLoggerFunc.tradeDebug("hddzmx['SNDTRTIM']不存在") if from_dict.has_key('MSGFLGNO'): TradeContext.MSGFLGNO = from_dict['MSGFLGNO'] AfaLoggerFunc.tradeDebug('TradeContext.MSGFLGNO = ' + str(TradeContext.MSGFLGNO)) else: AfaLoggerFunc.tradeDebug("hddzmx['MSGFLGNO']不存在") if from_dict.has_key('ORMFN'): TradeContext.ORMFN = from_dict['ORMFN'] AfaLoggerFunc.tradeDebug('TradeContext.ORMFN = ' + str(TradeContext.ORMFN)) else: AfaLoggerFunc.tradeDebug("hddzmx['ORMFN']不存在") if from_dict.has_key('OPRTYPNO'): TradeContext.OPRTYPNO = from_dict['OPRTYPNO'] AfaLoggerFunc.tradeDebug('TradeContext.OPRTYPNO = ' + str(TradeContext.OPRTYPNO)) else: AfaLoggerFunc.tradeDebug("hddzmx['OPRTYPNO']不存在") if from_dict.has_key('ROPRTPNO'): TradeContext.ROPRTPNO = from_dict['ROPRTPNO'] AfaLoggerFunc.tradeDebug('TradeContext.ROPRTPNO = ' + str(TradeContext.ROPRTPNO)) else: AfaLoggerFunc.tradeDebug("hddzmx['ROPRTPNO']不存在") if from_dict.has_key('OPRSTNO'): TradeContext.OPRSTNO = from_dict['OPRSTNO'] AfaLoggerFunc.tradeDebug('TradeContext.OPRSTNO = ' + str(TradeContext.OPRSTNO)) else: AfaLoggerFunc.tradeDebug("hddzmx['OPRSTNO']不存在") if from_dict.has_key('SNDBNKNM'): TradeContext.SNDBNKNM = from_dict['SNDBNKNM'] AfaLoggerFunc.tradeDebug('TradeContext.SNDBNKNM = ' + str(TradeContext.SNDBNKNM)) else: AfaLoggerFunc.tradeDebug("hddzmx['SNDBNKNM']不存在") if from_dict.has_key('RCVBNKCO'): TradeContext.RCVBNKCO = from_dict['RCVBNKCO'] AfaLoggerFunc.tradeDebug('TradeContext.RCVBNKCO = ' + str(TradeContext.RCVBNKCO)) else: AfaLoggerFunc.tradeDebug("hddzmx['RCVBNKCO']不存在") if from_dict.has_key('RCVBNKNM'): TradeContext.RCVBNKNM = from_dict['RCVBNKNM'] AfaLoggerFunc.tradeDebug('TradeContext.RCVBNKNM = ' + str(TradeContext.RCVBNKNM)) else: AfaLoggerFunc.tradeDebug("hddzmx['RCVBNKNM']不存在") if from_dict.has_key('CUR'): TradeContext.CUR = from_dict['CUR'] AfaLoggerFunc.tradeDebug('TradeContext.CUR = ' + str(TradeContext.CUR)) else: AfaLoggerFunc.tradeDebug("hddzmx['CUR']不存在") if from_dict.has_key('OCCAMT'): TradeContext.OCCAMT = from_dict['OCCAMT'] AfaLoggerFunc.tradeDebug('TradeContext.OCCAMT = ' + str(TradeContext.OCCAMT)) else: AfaLoggerFunc.tradeDebug("hddzmx['OCCAMT']不存在") if from_dict.has_key('PYRACC'): TradeContext.PYRACC = from_dict['PYRACC'] AfaLoggerFunc.tradeDebug('TradeContext.PYRACC = ' + str(TradeContext.PYRACC)) else: AfaLoggerFunc.tradeDebug("hddzmx['PYRACC']不存在") if from_dict.has_key('PYRNAM'): TradeContext.PYRNAM = from_dict['PYRNAM'] AfaLoggerFunc.tradeDebug('TradeContext.PYRNAM = ' + str(TradeContext.PYRNAM)) else: AfaLoggerFunc.tradeDebug("hddzmx['PYRNAM']不存在") if from_dict.has_key('PYRADDR'): TradeContext.PYRADDR = from_dict['PYRADDR'] AfaLoggerFunc.tradeDebug('TradeContext.PYRADDR = ' + str(TradeContext.PYRADDR)) else: AfaLoggerFunc.tradeDebug("hddzmx['PYRADDR']不存在") if from_dict.has_key('PYEACC'): TradeContext.PYEACC = from_dict['PYEACC'] AfaLoggerFunc.tradeDebug('TradeContext.PYEACC = ' + str(TradeContext.PYEACC)) else: AfaLoggerFunc.tradeDebug("hddzmx['PYEACC']不存在") if from_dict.has_key('PYENAM'): TradeContext.PYENAM = from_dict['PYENAM'] AfaLoggerFunc.tradeDebug('TradeContext.PYENAM = ' + str(TradeContext.PYENAM)) else: AfaLoggerFunc.tradeDebug("hddzmx['PYENAM']不存在") if from_dict.has_key('PYEADDR'): TradeContext.PYEADDR = from_dict['PYEADDR'] AfaLoggerFunc.tradeDebug('TradeContext.PYEADDR = ' + str(TradeContext.PYEADDR)) else: AfaLoggerFunc.tradeDebug("hddzmx['PYEADDR']不存在") if from_dict.has_key('OPRATTNO'): TradeContext.OPRATTNO = from_dict['OPRATTNO'] AfaLoggerFunc.tradeDebug('TradeContext.OPRATTNO = ' + str(TradeContext.OPRATTNO)) else: AfaLoggerFunc.tradeDebug("hddzmx['OPRATTNO']不存在") if from_dict.has_key('SEAL'): TradeContext.SEAL = from_dict['SEAL'] AfaLoggerFunc.tradeDebug('TradeContext.SEAL = ' + str(TradeContext.SEAL)) else: AfaLoggerFunc.tradeDebug("hddzmx['SEAL']不存在") if from_dict.has_key('ORTRCCO'): TradeContext.ORTRCCO = from_dict['ORTRCCO'] AfaLoggerFunc.tradeDebug('TradeContext.ORTRCCO = ' + str(TradeContext.ORTRCCO)) else: AfaLoggerFunc.tradeDebug("hddzmx['ORTRCCO']不存在") if from_dict.has_key('ORSNDBNK'): TradeContext.ORSNDBNK = from_dict['ORSNDBNK'] AfaLoggerFunc.tradeDebug('TradeContext.ORSNDBNK = ' + str(TradeContext.ORSNDBNK)) else: AfaLoggerFunc.tradeDebug("hddzmx['ORSNDBNK']不存在") if from_dict.has_key('ORRCVBNK'): TradeContext.ORRCVBNK = from_dict['ORRCVBNK'] AfaLoggerFunc.tradeDebug('TradeContext.ORRCVBNK = ' + str(TradeContext.ORRCVBNK)) else: AfaLoggerFunc.tradeDebug("hddzmx['ORRCVBNK']不存在") if from_dict.has_key('ORTRCDAT'): TradeContext.ORTRCDAT = from_dict['ORTRCDAT'] AfaLoggerFunc.tradeDebug('TradeContext.ORTRCDAT = ' + str(TradeContext.ORTRCDAT)) else: AfaLoggerFunc.tradeDebug("hddzmx['ORTRCDAT']不存在") if from_dict.has_key('ORTRCNO'): TradeContext.ORTRCNO = from_dict['ORTRCNO'] AfaLoggerFunc.tradeDebug('TradeContext.ORTRCNO = ' + str(TradeContext.ORTRCNO)) else: AfaLoggerFunc.tradeDebug("hddzmx['ORTRCNO']不存在") if from_dict.has_key('REMARK'): TradeContext.REMARK = from_dict['REMARK'] AfaLoggerFunc.tradeDebug('TradeContext.REMARK = ' + str(TradeContext.REMARK)) else: AfaLoggerFunc.tradeDebug("hddzmx['REMARK']不存在") if from_dict.has_key('BILDAT'): TradeContext.BILDAT = from_dict['BILDAT'] AfaLoggerFunc.tradeDebug('TradeContext.BILDAT = ' + str(TradeContext.BILDAT)) else: AfaLoggerFunc.tradeDebug("hddzmx['BILDAT']不存在") if from_dict.has_key('BILNO'): TradeContext.BILNO = from_dict['BILNO'] AfaLoggerFunc.tradeDebug('TradeContext.BILNO = ' + str(TradeContext.BILNO)) else: AfaLoggerFunc.tradeDebug("hddzmx['BILNO']不存在") if from_dict.has_key('BILTYP'): TradeContext.BILTYP = from_dict['BILTYP'] AfaLoggerFunc.tradeDebug('TradeContext.BILTYP = ' + str(TradeContext.BILTYP)) else: AfaLoggerFunc.tradeDebug("hddzmx['BILTYP']不存在") if from_dict.has_key('CPSAMT'): TradeContext.CPSAMT = from_dict['CPSAMT'] AfaLoggerFunc.tradeDebug('TradeContext.CPSAMT = ' + str(TradeContext.CPSAMT)) else: AfaLoggerFunc.tradeDebug("hddzmx['CPSAMT']不存在") if from_dict.has_key('RFUAMT'): TradeContext.RFUAMT = from_dict['RFUAMT'] AfaLoggerFunc.tradeDebug('TradeContext.RFUAMT = ' + str(TradeContext.RFUAMT)) else: AfaLoggerFunc.tradeDebug("hddzmx['RFUAMT']不存在") if from_dict.has_key('STRINFO'): TradeContext.STRINFO = from_dict['STRINFO'] AfaLoggerFunc.tradeDebug('TradeContext.STRINFO = ' + str(TradeContext.STRINFO)) else: AfaLoggerFunc.tradeDebug("hddzmx['STRINFO']不存在") if from_dict.has_key('USE'): TradeContext.USE = from_dict['USE'] AfaLoggerFunc.tradeDebug('TradeContext.USE = ' + str(TradeContext.USE)) else: AfaLoggerFunc.tradeDebug("hddzmx['USE']不存在") if from_dict.has_key('BJEDTE'): TradeContext.BJEDTE = from_dict['BJEDTE'] AfaLoggerFunc.tradeDebug('TradeContext.BJEDTE = ' + str(TradeContext.BJEDTE)) else: AfaLoggerFunc.tradeDebug("hddzmx['BJEDTE']不存在") if from_dict.has_key('BSPSQN'): TradeContext.BSPSQN = from_dict['BSPSQN'] AfaLoggerFunc.tradeDebug('TradeContext.BSPSQN = ' + str(TradeContext.BSPSQN)) else: AfaLoggerFunc.tradeDebug("hddzmx['BSPSQN']不存在") if from_dict.has_key('BCSTAT'): TradeContext.BCSTAT = from_dict['BCSTAT'] AfaLoggerFunc.tradeDebug('TradeContext.BCSTAT = ' + str(TradeContext.BCSTAT)) else: AfaLoggerFunc.tradeDebug("hddzmx['BCSTAT']不存在") if from_dict.has_key('BDWFLG'): TradeContext.BDWFLG = from_dict['BDWFLG'] AfaLoggerFunc.tradeDebug('TradeContext.BDWFLG = ' + str(TradeContext.BDWFLG)) else: AfaLoggerFunc.tradeDebug("hddzmx['BDWFLG']不存在") if from_dict.has_key('EACTYP'): TradeContext.EACTYP = from_dict['EACTYP'] AfaLoggerFunc.tradeDebug('TradeContext.EACTYP = ' + str(TradeContext.EACTYP)) else: AfaLoggerFunc.tradeDebug("hddzmx['EACTYP']不存在") if from_dict.has_key('NOTE1'): TradeContext.NOTE1 = from_dict['NOTE1'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE1 = ' + str(TradeContext.NOTE1)) else: AfaLoggerFunc.tradeDebug("hddzmx['NOTE1']不存在") if from_dict.has_key('NOTE2'): TradeContext.NOTE2 = from_dict['NOTE2'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE2 = ' + str(TradeContext.NOTE2)) else: AfaLoggerFunc.tradeDebug("hddzmx['NOTE2']不存在") if from_dict.has_key('NOTE3'): TradeContext.NOTE3 = from_dict['NOTE3'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE3 = ' + str(TradeContext.NOTE3)) else: AfaLoggerFunc.tradeDebug("hddzmx['NOTE3']不存在") if from_dict.has_key('NOTE4'): TradeContext.NOTE4 = from_dict['NOTE4'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE4 = ' + str(TradeContext.NOTE4)) else: AfaLoggerFunc.tradeDebug("hddzmx['NOTE4']不存在") return True
def SubModuleDoTrd(): AfaLoggerFunc.tradeInfo( '***农信银系统:往账.主机类操作(3.中心记账).往账发送[TRCC002_8506]进入***' ) AfaLoggerFunc.tradeInfo( '>>>判断发送农信银中心返回结果' ) #=====设置记账函数接口==== sstlog_dict = {} sstlog_dict["BJEDTE"] = TradeContext.BJEDTE #交易日期 sstlog_dict["BSPSQN"] = TradeContext.BSPSQN #报单序号 #=====判断第三方返回值,返回成功时==== if TradeContext.errorCode == '0000': sstlog_dict['BCSTAT'] = PL_BCSTAT_SND sstlog_dict['BDWFLG'] = PL_BDWFLG_SUCC #=====设置状态为发送成功==== if not rccpsState.setTransState(sstlog_dict): #=====RollBack操作==== AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow(TradeContext.errorCode, TradeContext.errorMsg) else: #=====commit操作==== AfaDBFunc.CommitSql() TradeContext.errorCode = '0000' TradeContext.errorMsg = '发送农信银中心成功' #=====判断第三方返回值,返回失败时==== else: sstlog_dict['BCSTAT'] = PL_BCSTAT_SND sstlog_dict['BDWFLG'] = PL_BDWFLG_FAIL #=====设置状态为发送失败==== if not rccpsState.setTransState(sstlog_dict): #=====RollBack操作==== AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow(TradeContext.errorCode, TradeContext.errorMsg) else: #=====commit操作==== AfaDBFunc.CommitSql() AfaLoggerFunc.tradeDebug( '>>>commit send succ' ) #=====调用主机函数进行抹账==== AfaLoggerFunc.tradeInfo('>>>开始抹账处理') #=====设置sstlog表中状态为:抹账-处理中==== TradeContext.BOSPSQ = TradeContext.BSPSQN TradeContext.BOJEDT = TradeContext.BJEDTE TradeContext.BCSTAT = PL_BCSTAT_HCAC TradeContext.BDWFLG = PL_BDWFLG_WAIT if not rccpsState.newTransState(TradeContext.BJEDTE,TradeContext.BSPSQN,TradeContext.BCSTAT,TradeContext.BDWFLG): #=====RollBack操作==== if not AfaDBFunc.RollbackSql(): return AfaFlowControl.ExitThisFlow('M999', '发送农信银中心失败,设置状态失败,系统自动回滚') else: #=====commit操作==== if not AfaDBFunc.CommitSql(): AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow('M999', '发送农信银中心失败,设置状态失败,系统自动回滚') #=====字典赋值==== sstlog_new = {} sstlog_new["BJEDTE"] = TradeContext.BJEDTE #交易日期 sstlog_new["BSPSQN"] = TradeContext.BSPSQN #报单序号 #汇兑往帐抹帐字典赋值 input_dict = {} input_dict['BJEDTE'] = TradeContext.BJEDTE input_dict['BSPSQN'] = TradeContext.BSPSQN input_dict['PYRACC'] = TradeContext.PYRACC #付款人账号 input_dict['OCCAMT'] = str(TradeContext.OCCAMT) input_dict['BBSSRC'] = TradeContext.BBSSRC input_dict['BESBNO'] = TradeContext.BESBNO #调用汇兑往帐抹帐 rccpsEntries.HDWZMZ(input_dict) #=====设置记账函数接口==== rccpsHostFunc.CommHost( TradeContext.HostCode ) if TradeContext.errorCode == '0000': sstlog_new['DASQ'] = TradeContext.DASQ sstlog_new['PRTCNT'] = 1 #打印次数 sstlog_new['BCSTAT'] = PL_BCSTAT_HCAC sstlog_new['BDWFLG'] = PL_BDWFLG_SUCC sstlog_new['SBAC'] = TradeContext.SBAC sstlog_new['RBAC'] = TradeContext.RBAC sstlog_new["MGID"] = TradeContext.errorCode #主机返回码 sstlog_new["STRINFO"]= TradeContext.errorMsg #主机返回信息 sstlog_new["TRDT"] = TradeContext.TRDT #主机日期 sstlog_new["TLSQ"] = TradeContext.TLSQ #主机流水号 TradeContext.errorCode = 'D011' #赋值返回错误 TradeContext.errorMsg = '发送农信银中心失败,系统自动冲正成功' else: sstlog_new['BCSTAT'] = PL_BCSTAT_HCAC sstlog_new['BDWFLG'] = PL_BDWFLG_FAIL TradeContext.errorCode = 'D011' #赋值返回错误 TradeContext.errorMsg = '发送农信银中心失败,系统自动冲正失败' #=====修改sstlog表中记录状态为:抹账-成功/失败==== if not rccpsState.setTransState(sstlog_new): return AfaFlowControl.ExitThisFlow(TradeContext.errorCode, TradeContext.errorMsg) else: #=====commit操作==== AfaDBFunc.CommitSql() AfaLoggerFunc.tradeInfo( '***农信银系统:往账.主机类操作(3.中心记账).往账发送[TRCC002_8506]退出***' ) return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统:往账.回执类操作(1.回执操作).通存通兑冲销应答报文接收[TRC004_1162]进入***' ) #=================初始化返回信息============================================ if AfaUtilTools.trim(TradeContext.STRINFO) == "": TradeContext.STRINFO = rccpsDBFunc.getErrInfo(TradeContext.PRCCO) AfaLoggerFunc.tradeDebug("TradeContext.STRINFO=" + TradeContext.STRINFO) #=================初始化返回信息============================================ if AfaUtilTools.trim(TradeContext.STRINFO) == "": TradeContext.STRINFO = rccpsDBFunc.getErrInfo(TradeContext.PRCCO) AfaLoggerFunc.tradeDebug("TradeContext.STRINFO=" + TradeContext.STRINFO) #查询冲正登记簿中是否有对此冲销交易的冲正 AfaLoggerFunc.tradeInfo(">>>开始检查此冲销交易是否已被冲正") where_sql = "ORMFN = '" + TradeContext.ORMFN + "'" ret = rccpsDBTrcc_atcbka.count(where_sql) if ret < 0: return AfaFlowControl.ExitThisFlow("S999","查询冲正登记簿异常,退出主流程") if ret > 0: return AfaFlowControl.ExitThisFlow("S999","冲正登记簿中存在对此冲销交易的冲正,退出主流程") AfaLoggerFunc.tradeInfo(">>>结束检查此冲销交易是否已被冲正") #=====更改柜员号和机构号为发起柜员号、发起机构号==== AfaLoggerFunc.tradeInfo("<<<<<<开始更改柜员号,机构号") #=====查找冲销交易的信息===== mpcbka_where_dict = {} mpcbka_where_dict['MSGFLGNO'] = TradeContext.ORMFN mpcbka_record = rccpsDBTrcc_mpcbka.selectu(mpcbka_where_dict) if(mpcbka_record == None): return AfaFlowControl.ExitThisFlow("S999","查询原冲销交易信息异常") if(len(mpcbka_record) <= 0): return AfaFlowControl.ExitThisFlow("S999","未找到原冲销交易信息,丢弃报文") #=====给机构号和柜员号赋值==== TradeContext.BETELR = mpcbka_record['BETELR'] TradeContext.BESBNO = mpcbka_record['BESBNO'] AfaLoggerFunc.tradeInfo("<<<<<<更改柜员号,机构号结束") #更新冲销登记簿中心返回信息 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(">>>结束更新冲销登记簿中心返回信息") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") #=====查询被冲销交易信息==== AfaLoggerFunc.tradeInfo("<<<<<<开始查询被冲销的交易的信息") wtrbka_record = {} if not rccpsDBFunc.getTransWtr(mpcbka_record['BOJEDT'],mpcbka_record['BOSPSQ'],wtrbka_record): return AfaFlowControl.ExitThisFlow("S999","查询被冲销原交易详细信息异常") AfaLoggerFunc.tradeInfo("<<<<<<结束查询被冲销的交易的信息") #====为终端号和往来标识赋值==== TradeContext.TERMID = wtrbka_record['TERMID'] TradeContext.BRSFLG = wtrbka_record['BRSFLG'] #=====判断对方行冲销是否成功===== AfaLoggerFunc.tradeInfo("<<<<<<判断对方行冲销是否成功PRCCO=[" + TradeContext.PRCCO + "]") if(TradeContext.PRCCO == 'RCCI0000' or TradeContext.PRCCO == 'RCCO1106'): AfaLoggerFunc.tradeInfo("<<<<<<对方行冲销成功") #=====发起主机记账==== AfaLoggerFunc.tradeInfo("<<<<<<开始发起主机记账") #=====取最后一个记账成功状态的前置日期和前置流水号==== stat_list = [] if rccpsState.getTransStateSetm(wtrbka_record['BJEDTE'],wtrbka_record['BSPSQN'],PL_BCSTAT_ACC,PL_BDWFLG_SUCC,stat_list): entries_dict = {} entries_dict['FEDT'] = stat_list[0]['FEDT'] entries_dict['RBSQ'] = stat_list[0]['RBSQ'] entries_dict['PYRACC'] = wtrbka_record['PYRACC'] entries_dict['PYRNAM'] = wtrbka_record['PYRNAM'] entries_dict['PYEACC'] = wtrbka_record['PYEACC'] entries_dict['PYENAM'] = wtrbka_record['PYENAM'] entries_dict['OCCAMT'] = wtrbka_record['OCCAMT'] entries_dict['CHRGTYP'] = wtrbka_record['CHRGTYP'] entries_dict['CUSCHRG'] = wtrbka_record['CUSCHRG'] entries_dict['RCCSMCD'] = PL_RCCSMCD_CX TradeContext.BRSFLG = wtrbka_record['BRSFLG'] #卡折通存往账抹账会计分录赋值 if wtrbka_record['TRCCO'] == '3000002' or wtrbka_record['TRCCO'] == '3000004': rccpsEntries.KZTCWZMZ(entries_dict) #卡折本转异往账抹账会计分录赋值 if wtrbka_record['TRCCO'] == '3000003' or wtrbka_record['TRCCO'] == '3000005': rccpsEntries.KZBZYWZMZ(entries_dict) #卡折通兑往账抹账会计分录赋值 if wtrbka_record['TRCCO'] == '3000102' or wtrbka_record['TRCCO'] == '3000104': rccpsEntries.KZTDWZMZ(entries_dict) #卡折异转本往账抹账会计分录赋值 if wtrbka_record['TRCCO'] == '3000103' or wtrbka_record['TRCCO'] == '3000105': rccpsEntries.KZYZBWZMZ(entries_dict) #=====生成新的前置日期和前置流水号,并且更新到数据库中==== if rccpsGetFunc.GetRBSQ(PL_BRSFLG_SND) == -1 : return AfaFlowControl.ExisThisFlow('S999',"产生新的前置流水号异常") #设置原交易状态为冲销处理中 AfaLoggerFunc.tradeInfo('>>>开始设置原交易状态为冲销处理中') if not rccpsState.newTransState(mpcbka_record['BOJEDT'],mpcbka_record['BOSPSQ'],PL_BCSTAT_CANC,PL_BDWFLG_WAIT): return AfaFlowControl.ExitThisFlow('S999',"设置业务状态为冲销处理中异常") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") AfaLoggerFunc.tradeInfo('>>>结束设置原交易状态为冲销处理中') #=====调用主机接口函数===== rccpsHostFunc.CommHost( TradeContext.HostCode ) AfaLoggerFunc.tradeInfo("<<<<<<发起主机抹账结束") else: AfaLoggerFunc.tradeInfo(">>>原交易未记账,冲销不抹账") #设置原交易状态为冲销处理中 AfaLoggerFunc.tradeInfo('>>>开始设置原交易状态为冲销处理中') if not rccpsState.newTransState(mpcbka_record['BOJEDT'],mpcbka_record['BOSPSQ'],PL_BCSTAT_CANC,PL_BDWFLG_WAIT): return AfaFlowControl.ExitThisFlow('S999',"设置业务状态为冲销处理中异常") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") AfaLoggerFunc.tradeInfo('>>>结束设置原交易状态为冲销处理中') TradeContext.errorCode = '0000' TradeContext.errorMsg = '原交易未记账,冲销不抹账' #根据主机返回信息,设置交易状态 stat_dict = {} stat_dict['BJEDTE'] = wtrbka_record['BJEDTE'] stat_dict['BSPSQN'] = wtrbka_record['BSPSQN'] stat_dict['MGID'] = TradeContext.errorCode stat_dict['STRINFO']= TradeContext.errorMsg AfaLoggerFunc.tradeInfo("TradeContext.errorCode = [" + TradeContext.errorCode + "]") if(TradeContext.errorCode == '0000'): #=====设置原交易状态为冲销成功==== AfaLoggerFunc.tradeInfo("<<<<<<<开始更改原交易状态为冲销成功") stat_dict['BCSTAT'] = PL_BCSTAT_CANC stat_dict['BDWFLG'] = PL_BDWFLG_SUCC if TradeContext.existVariable('TRDT'): stat_dict['TRDT'] = TradeContext.TRDT if TradeContext.existVariable('TLSQ'): stat_dict['TLSQ'] = TradeContext.TLSQ if not rccpsState.setTransState(stat_dict): return AfaFlowControl.ExitThisFlow('S999','设置业务状态冲销成功异常') AfaLoggerFunc.tradeInfo("<<<<<<<结束更改原交易状态为冲销成功") else: #=====设置原交易状态为冲销失败==== AfaLoggerFunc.tradeInfo("<<<<<<<开始更改原交易状态为冲销失败") stat_dict['BCSTAT'] = PL_BCSTAT_CANC stat_dict['BDWFLG'] = PL_BDWFLG_FAIL if not rccpsState.setTransState(stat_dict): return AfaFlowControl.ExitThisFlow('S999','设置业务状态冲销失败异常') AfaLoggerFunc.tradeInfo("<<<<<<<结束更改原交易状态为冲销失败") else: AfaLoggerFunc.tradeInfo("<<<<<<对方行冲销拒绝应答,不设置原交易状态") ##设置原交易状态为冲销处理中 #AfaLoggerFunc.tradeInfo('>>>开始设置原交易状态为冲销处理中') # #if not rccpsState.newTransState(wtrbka_record['BJEDTE'],wtrbka_record['BSPSQN'],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("<<<<<<<开始更改原交易状态为冲销失败") # #stat_dict = {} #stat_dict['BJEDTE'] = wtrbka_record['BJEDTE'] #stat_dict['BSPSQN'] = wtrbka_record['BSPSQN'] #stat_dict['PRCCO'] = TradeContext.PRCCO #stat_dict['STRINFO']= TradeContext.STRINFO #stat_dict['BCSTAT'] = PL_BCSTAT_CANC #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_1162]退出***' ) return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统:来账.中心类操作(1.本地操作).折通兑来帐请求报文接收[TRCC006_1140]进入***' ) #初始化返回码 TradeContext.PRCCO = 'RCCI0000' TradeContext.STRINFO = "成功" #判断是否重复报文 AfaLoggerFunc.tradeInfo(">>>开始判断是否重复报文") sel_dict = {'COTRCNO':TradeContext.TRCNO,'COTRCDAT':TradeContext.TRCDAT,'SNDBNKCO':TradeContext.SNDBNKCO} record = rccpsDBTrcc_wtrbka.selectu(sel_dict) if record == None: AfaLoggerFunc.tradeDebug('>>>判断是否重复扣款确认报文,查询通存通兑业务登记簿相同报文异常') TradeContext.PRCCO = "NN1ID999" TradeContext.STRINFO = "数据库其他错误" elif len(record) > 0: AfaLoggerFunc.tradeInfo('通存通兑业务登记簿中存在相同数据,重复报文,返回拒绝应答报文') TradeContext.PRCCO = 'NN1ISO999' TradeContext.STRINFO = "重复报文" AfaLoggerFunc.tradeInfo(">>>结束判断是否重复报文") #登记通存通兑登记簿 AfaLoggerFunc.tradeInfo(">>>开始登记通存通兑业务登记簿") #=====币种转换==== if TradeContext.CUR == 'CNY': TradeContext.CUR = '01' #=====手续费收取方式===== if float(TradeContext.CUSCHRG) > 0.001: TradeContext.CHRGTYP = '1' else: TradeContext.CHRGTYP = '0' #====开始向字典赋值==== if TradeContext.PRCCO == 'RCCI0000': wtrbka_dict = {} if not rccpsMap1140CTradeContext2Dwtrbka_dict.map(wtrbka_dict): AfaLoggerFunc.tradeDebug('>>>字典赋值出错') TradeContext.PRCCO = "NN1ID999" TradeContext.STRINFO = "数据库其他错误" wtrbka_dict['DCFLG'] = PL_DCFLG_DEB #借贷标识 wtrbka_dict['OPRNO'] = PL_TDOPRNO_TD #业务种类 #=====开始插入数据库==== if TradeContext.PRCCO == 'RCCI0000': if not rccpsDBFunc.insTransWtr(wtrbka_dict): AfaLoggerFunc.tradeDebug('>>>登记通存通兑业务登记簿异常') TradeContext.PRCCO = "NN1ID999" TradeContext.STRINFO = "数据库其他错误" if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) TradeContext.PRCCO = "NN1ID999" TradeContext.STRINFO = "数据库其他错误" AfaLoggerFunc.tradeInfo(">>>结束登记通存通兑业务登记簿") #设置业务状态为行内收妥成功 AfaLoggerFunc.tradeInfo(">>>开始设置业务状态为收妥成功") stat_dict = {} stat_dict['BSPSQN'] = TradeContext.BSPSQN stat_dict['BJEDTE'] = TradeContext.BJEDTE stat_dict['BCSTAT'] = PL_BCSTAT_BNKRCV stat_dict['BDWFLG'] = PL_BDWFLG_SUCC if TradeContext.PRCCO == 'RCCI0000': if not rccpsState.setTransState(stat_dict): AfaLoggerFunc.tradeDebug('>>>设置业务状态收妥成功异常') TradeContext.PRCCO = "NN1ID999" TradeContext.STRINFO = "数据库其他错误" if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) TradeContext.PRCCO = "NN1ID999" TradeContext.STRINFO = "数据库其他错误" AfaLoggerFunc.tradeInfo(">>>结束设置业务状态为收妥成功") #设置业务状态为自动扣款处理中 AfaLoggerFunc.tradeInfo(">>>开始设置业务状态为自动扣款处理中") if TradeContext.PRCCO == 'RCCI0000': if not rccpsState.newTransState(TradeContext.BJEDTE,TradeContext.BSPSQN,PL_BCSTAT_AUTOPAY,PL_BDWFLG_WAIT): AfaLoggerFunc.tradeDebug('>>>设置业务状态为自动扣款处理中异常') TradeContext.PRCCO = "NN1ID999" TradeContext.STRINFO = "数据库其他错误" if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) TradeContext.PRCCO = "NN1ID999" TradeContext.STRINFO = "数据库其他错误" AfaLoggerFunc.tradeInfo(">>>开始设置业务状态为自动扣款处理中") TradeContext.BCSTAT = PL_BCSTAT_AUTOPAY #状态:自动扣款 TradeContext.BCSTATNM = "自动扣款" #进行必要性检查,若校验通过,则返回成功应答报文,若校验未通过,则返回拒绝应答报文 AfaLoggerFunc.tradeInfo(">>>开始必要性检查") #检查冲正登记簿中是否有此笔业务的冲正业务,存在则返回拒绝应答报文,并设置业务状态为冲正处理中 if TradeContext.PRCCO == 'RCCI0000': atcbka_where_dict = {} atcbka_where_dict['ORMFN'] = TradeContext.MSGFLGNO atcbka_dict = rccpsDBTrcc_atcbka.selectu(atcbka_where_dict) if atcbka_dict == None: AfaLoggerFunc.tradeInfo(">>>查询冲正登记簿异常") TradeContext.PRCCO = 'NN1ID999' TradeContext.STRINFO = "查询冲正登记簿异常" TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" else: if len(atcbka_dict) <= 0: AfaLoggerFunc.tradeInfo(">>>此交易未被冲正,继续校验") else: AfaLoggerFunc.tradeInfo(">>>此交易已被冲正,返回拒绝应答报文") TradeContext.PRCCO = 'NN1IO307' TradeContext.STRINFO = "此交易已被冲正" TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" #解密客户密码 if TradeContext.PRCCO == 'RCCI0000': MIMA = ' ' PIN = TradeContext.CURPIN ACC = TradeContext.PYRACC AfaLoggerFunc.tradeDebug('密码[' + PIN + ']') AfaLoggerFunc.tradeDebug('账号[' + ACC + ']') ret = jiami.secDecryptPin(PIN,ACC,MIMA) if ret != 0: AfaLoggerFunc.tradeDebug("ret=[" + str(ret) + "]") AfaLoggerFunc.tradeDebug('调用加密服务器失败') TradeContext.PRCCO = 'NN1IS999' TradeContext.STRINFO = "解密密码失败" TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" else: TradeContext.CURPIN = MIMA AfaLoggerFunc.tradeDebug('密码new[' + TradeContext.CURPIN + ']') #唐斌新增# sql = "SELECT ischkactname,ischklate FROM rcc_chlabt where transcode='"+TradeContext.TransCode+"' and channelno= '"+(TradeContext.SNDCLKNO)[6:8]+"'" AfaLoggerFunc.tradeInfo(sql) records = AfaDBFunc.SelectSql( sql) if (records == None): return False elif (len(records) == 0): AfaLoggerFunc.tradeDebug("查询结果为空,查询条件[" + sql + "]") return False AfaLoggerFunc.tradeDebug(str(records)) #校验账户状态是否正常和账号户名是否相符 if TradeContext.PRCCO == 'RCCI0000': #调用主机接口查询账户信息 TradeContext.HostCode = '8810' TradeContext.ACCNO = TradeContext.PYRACC AfaLoggerFunc.tradeDebug("gbj test :" + TradeContext.ACCNO) rccpsHostFunc.CommHost( TradeContext.HostCode ) if TradeContext.errorCode != '0000': #return AfaFlowControl.ExitThisFlow(TradeContext.errorCode,TradeContext.errorMsg) AfaLoggerFunc.tradeInfo("查询账户信息异常,主机返回码[" + TradeContext.errorCode + "],主机返回信息[" + TradeContext.errorMsg +"]") #TradeContext.PRCCO = 'NN1IA999' TradeContext.PRCCO = rccpsDBFunc.HostErr2RccErr(TradeContext.errorCode) TradeContext.STRINFO = TradeContext.errorMsg TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" else: #查询成功,更新通存通兑登记簿账务机构号 AfaLoggerFunc.tradeInfo(">>>查询主机账户成功") #if( TradeContext.BESBNO != PL_BESBNO_BCLRSB ): # AfaLoggerFunc.tradeInfo(">>>" + TradeContext.BESBNO + ">>>" + TradeContext.ACCSO) # if( TradeContext.BESBNO[:6] != TradeContext.ACCSO[:6] ): # AfaLoggerFunc.tradeInfo(">>>不许跨法人做此交易") # TradeContext.PRCCO = 'NN1IO999' # TradeContext.STRINFO = "接收行与账户开户行不属于同一法人" # TradeContext.BCSTAT = PL_BCSTAT_MFERFE # TradeContext.BCSTATNM = "拒绝" #检查本机构是否有通存通兑业务权限 if not rccpsDBFunc.chkTDBESAuth(TradeContext.ACCSO): TradeContext.PRCCO = 'NN1IO999' TradeContext.STRINFO = "本账户开户机构无通存通兑业务权限" TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" AfaLoggerFunc.tradeInfo(">>>开始更新机构号为开户机构") TradeContext.BESBNO = TradeContext.ACCSO wtrbka_update_dict = {'BESBNO':TradeContext.ACCSO} wtrbka_where_dict = {'BJEDTE':TradeContext.BJEDTE,'BSPSQN':TradeContext.BSPSQN} ret = rccpsDBTrcc_wtrbka.updateCmt(wtrbka_update_dict,wtrbka_where_dict) if ret <= 0: AfaLoggerFunc.tradeInfo(">>>更新机构号为开户机构异常") TradeContext.PRCCO = 'NN1ID006' TradeContext.STRINFO = "更新账务机构号异常" TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" else: AfaLoggerFunc.tradeInfo(">>>更新机构号为开户机构成功") AfaLoggerFunc.tradeDebug("主机返回户名ACCNM :[" + TradeContext.ACCNM + "]") AfaLoggerFunc.tradeDebug("报文接收户名PYRNAM:[" + TradeContext.PYRNAM + "]") AfaLoggerFunc.tradeDebug("主机返回账户状态ACCST:[" + TradeContext.ACCST + "]") AfaLoggerFunc.tradeDebug("证件类型ACITY:[" + TradeContext.ACITY + "]") AfaLoggerFunc.tradeDebug("证件号码ACINO:[" + TradeContext.ACINO + "]") if TradeContext.ACCNM != TradeContext.PYRNAM: #唐斌新增# if(records[0][0]=='1'): AfaLoggerFunc.tradeInfo(">>>账号户名不符") TradeContext.PRCCO = 'NN1IA102' TradeContext.STRINFO = '账号户名不符' TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" elif TradeContext.ACCST != '0' and TradeContext.ACCST != '2': AfaLoggerFunc.tradeInfo(">>>账户状态不正常") TradeContext.PRCCO = 'NN1IA999' TradeContext.STRINFO = '账户状态不正常' TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" elif not (TradeContext.ACCCD == '0428' and TradeContext.ACCEM == '21111'): AfaLoggerFunc.tradeInfo(">>>此账户非个人结算户") TradeContext.PRCCO = 'NN1IA999' TradeContext.STRINFO = '此账户非个人结算户' TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" #=====交易金额判断==== chk_dict = {} chk_dict['BPARAD'] = 'TD001' #通存通兑凭证金额校验 dict = rccpsDBTrcc_pamtbl.selectu(chk_dict) AfaLoggerFunc.tradeInfo('dict='+str(dict)) if dict == None: AfaLoggerFunc.tradeInfo(">>>校验交易金额失败") TradeContext.PRCCO = 'NN1ID003' TradeContext.STRINFO = '校验交易金额失败' TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" if len(dict) == 0: AfaLoggerFunc.tradeInfo(">>>查询PAMTBL校验交易金额表记录错误") TradeContext.PRCCO = 'NN1ID010' TradeContext.STRINFO = '查询PAMTBL校验交易金额表记录错误' TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" #=====判断农信银中心规定校验凭证上线==== if float(TradeContext.OCCAMT) > float(dict['BPADAT']): #=====交易金额大于农信银中心规定金额,需要输入证件==== if TradeContext.existVariable('CERTTYPE') and len(TradeContext.CERTTYPE) == 0: AfaLoggerFunc.tradeInfo(">>>请选择证件类型") TradeContext.PRCCO = 'NN1IA999' TradeContext.STRINFO = '请选择证件类型' TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" elif(TradeContext.CERTTYPE == '06'): if( TradeContext.ACITY != '06' and TradeContext.ACITY != '07' and TradeContext.ACITY != '08' and TradeContext.ACITY != '09'): AfaLoggerFunc.tradeInfo(">>>证件类型错误") TradeContext.PRCCO = 'NN1IA999' TradeContext.STRINFO = '证件类型错误' TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" elif( TradeContext.CERTTYPE != TradeContext.ACITY ): AfaLoggerFunc.tradeInfo(">>>证件类型错误") TradeContext.PRCCO = 'NN1IA999' TradeContext.STRINFO = '证件类型错误' TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" if TradeContext.existVariable('CERTNO') and len(TradeContext.CERTNO) == 0: AfaLoggerFunc.tradeInfo(">>>请输入证件号码") TradeContext.PRCCO = 'NN1IA999' TradeContext.STRINFO = '请输入证件号码' TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" elif( TradeContext.CERTNO != TradeContext.ACINO ): AfaLoggerFunc.tradeInfo(">>>证件号码错误") TradeContext.PRCCO = 'NN1IA999' TradeContext.STRINFO = '证件号码错误' TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" #校验交易金额是否超当日限额 if not rccpsDBFunc.chkLimited(TradeContext.BJEDTE,TradeContext.PYRACC,TradeContext.OCCAMT): AfaLoggerFunc.tradeInfo(">>>交易金额超限") TradeContext.PRCCO = 'NN1IA999' TradeContext.STRINFO = '交易金额超限' TradeContext.BCSTAT = PL_BCSTAT_MFERFE TradeContext.BCSTATNM = "拒绝" AfaLoggerFunc.tradeInfo(">>>结束必要性检查") #发起主机记账 AfaLoggerFunc.tradeInfo(">>>开始发起主机记账") TradeContext.sCertType = TradeContext.CERTTYPE TradeContext.sCertNo = TradeContext.CERTNO TradeContext.sOccamt = TradeContext.OCCAMT TradeContext.sCuschrg = TradeContext.CUSCHRG AfaLoggerFunc.tradeInfo(">>>" + TradeContext.PRCCO) if TradeContext.PRCCO == 'RCCI0000': TradeContext.HostCode = '8813' #调用8813主机接口 #TradeContext.PASSWD = TradeContext.CURPIN #来账对方现金收取手续费 if( TradeContext.CHRGTYP != '1' ): TradeContext.RCCSMCD = PL_RCCSMCD_XJTDLZ #主机摘要代码 TradeContext.SBAC = TradeContext.PYRACC #借方账户:付款人账户 TradeContext.ACNM = TradeContext.PYRNAM #借方户名 付款人户名 TradeContext.RBAC = TradeContext.BESBNO + PL_ACC_NXYDQSLZ #贷方账户:农信银待清算来账 TradeContext.RBAC = rccpsHostFunc.CrtAcc(TradeContext.RBAC, 25) TradeContext.OTNM = '农信银待清算来账' #贷方户名: TradeContext.CTFG = '7' #本金 手续费标识 7 本金 8手续费 9 本金+手续费 TradeContext.PKFG = 'T' #通存通兑标识 TradeContext.WARNTNO = '49' + TradeContext.BNKBKNO TradeContext.CERTTYPE = '' TradeContext.CERTNO = '' TradeContext.PASSWD = TradeContext.CURPIN #密码 AfaLoggerFunc.tradeInfo( '借方账号:' + TradeContext.SBAC ) AfaLoggerFunc.tradeInfo( '贷方账号:' + TradeContext.RBAC ) AfaLoggerFunc.tradeInfo( '凭证号码:' + TradeContext.WARNTNO ) else: #对方转账收取手续费时s TradeContext.ACUR = '3' #记账次数 #=========交易金额============ TradeContext.RCCSMCD = PL_RCCSMCD_XJTDLZ #摘要代码 TradeContext.SBAC = TradeContext.PYRACC #借方账号 TradeContext.ACNM = TradeContext.PYRNAM #借方户名 TradeContext.RBAC = TradeContext.BESBNO + PL_ACC_NXYDJLS #贷方账号 TradeContext.RBAC = rccpsHostFunc.CrtAcc(TradeContext.RBAC,25) TradeContext.OTNM = '待解临时款项' #贷方户名 TradeContext.OCCAMT = str(TradeContext.sOccamt) #发生额 TradeContext.CTFG = '7' #本金 手续费标识 7 本金 8手续费 9 本金+手续费 TradeContext.PKFG = 'T' #通存通兑标识 TradeContext.WARNTNO = '49' + TradeContext.BNKBKNO TradeContext.PASSWD = TradeContext.CURPIN #密码 TradeContext.sCertType = TradeContext.CERTTYPE TradeContext.sCertNo = TradeContext.CERTNO TradeContext.CERTTYPE = '' TradeContext.CERTNO = '' AfaLoggerFunc.tradeInfo( '>>>交易金额:借方账号' + TradeContext.SBAC ) AfaLoggerFunc.tradeInfo( '>>>交易金额:贷方账号' + TradeContext.RBAC ) AfaLoggerFunc.tradeInfo( '凭证号码:' + TradeContext.WARNTNO ) #=========结算手续费收入户=========== TradeContext.I2SMCD = PL_RCCSMCD_SXF #摘要代码 TradeContext.I2SBAC = TradeContext.PYRACC #借方账号 TradeContext.I2ACNM = TradeContext.PYRNAM #借方户名 TradeContext.I2RBAC = TradeContext.BESBNO + PL_ACC_NXYDJLS #贷方账号 TradeContext.I2RBAC = rccpsHostFunc.CrtAcc(TradeContext.I2RBAC,25) TradeContext.I2OTNM = '待解临时款项' #贷方户名 TradeContext.I2TRAM = str(TradeContext.sCuschrg) #发生额 TradeContext.I2CTFG = '8' #本金 手续费标识 7 本金 8手续费 9 本金+手续费 TradeContext.I2PKFG = 'T' #通存通兑标识 TradeContext.I2WARNTNO = '49' + TradeContext.BNKBKNO TradeContext.I2PASSWD = TradeContext.CURPIN #密码 AfaLoggerFunc.tradeInfo( '>>>结算手续费收入户:借方账号' + TradeContext.I2SBAC ) AfaLoggerFunc.tradeInfo( '>>>结算手续费收入户:贷方账号' + TradeContext.I2RBAC ) AfaLoggerFunc.tradeInfo( '凭证号码:' + TradeContext.I2WARNTNO ) #=========交易金额+手续费=================== TradeContext.I3SMCD = PL_RCCSMCD_XJTDLZ #摘要代码 TradeContext.I3SBAC = TradeContext.BESBNO + PL_ACC_NXYDJLS #借方账号 TradeContext.I3SBAC = rccpsHostFunc.CrtAcc(TradeContext.I3SBAC,25) TradeContext.I3ACNM = '待解临时款项' #借方户名 TradeContext.I3RBAC = TradeContext.BESBNO + PL_ACC_NXYDQSLZ #贷方账号 TradeContext.I3RBAC = rccpsHostFunc.CrtAcc(TradeContext.I3RBAC,25) TradeContext.I3OTNM = '农信银来账' #贷方户名 TradeContext.I3TRAM = rccpsUtilTools.AddDot(TradeContext.OCCAMT,TradeContext.CUSCHRG) #发生额 TradeContext.I3CTFG = '9' #本金 手续费标识 7 本金 8手续费 9 本金+手续费 TradeContext.I3PKFG = 'T' #通存通兑标识 AfaLoggerFunc.tradeInfo( '>>>交易金额+手续费:借方账号' + TradeContext.I3SBAC ) AfaLoggerFunc.tradeInfo( '>>>交易金额+手续费:贷方账号' + TradeContext.I3RBAC ) rccpsHostFunc.CommHost( TradeContext.HostCode ) AfaLoggerFunc.tradeInfo(">>>结束发起主机记账") #TradeContext.errorCode, TradeContext.errorMsg = '0000', '主机成功' #根据主机返回码,设置业务状态为自动入账成功或失败 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['SBAC'] = TradeContext.SBAC stat_dict['ACNM'] = TradeContext.ACNM stat_dict['RBAC'] = TradeContext.RBAC stat_dict['OTNM'] = TradeContext.OTNM #=====modify by pgt 1129==== stat_dict['MGID'] = TradeContext.errorCode if TradeContext.existVariable('TRDT'): stat_dict['TRDT'] = TradeContext.TRDT if TradeContext.existVariable('TLSQ'): stat_dict['TLSQ'] = TradeContext.TLSQ stat_dict['STRINFO'] = TradeContext.errorMsg AfaLoggerFunc.tradeInfo("主机返回码[" + TradeContext.errorCode + "],主机返回信息[" + TradeContext.errorMsg +"]") if TradeContext.errorCode == '0000': #=====发送农信银成功,设置状态为自动入账成功==== stat_dict['BCSTAT'] = PL_BCSTAT_AUTOPAY stat_dict['BDWFLG'] = PL_BDWFLG_SUCC TradeContext.PRCCO = 'RCCI0000' TradeContext.STRINFO = '成功' if not rccpsState.setTransState(stat_dict): return AfaFlowControl.ExitThisFlow('S999', "设置业务状态为自动入账成功异常") AfaLoggerFunc.tradeInfo(">>>设置业务状态为自动扣款成功完成") else: #=====发送农信银失败,设置状态为拒绝成功==== stat_dict['BCSTAT'] = PL_BCSTAT_MFERFE stat_dict['BDWFLG'] = PL_BDWFLG_SUCC #TradeContext.PRCCO = 'NN1CA999' TradeContext.PRCCO = rccpsDBFunc.HostErr2RccErr(TradeContext.errorCode) AfaLoggerFunc.tradeInfo(">>>>>>>>>>>>>>>>>>>>" + TradeContext.PRCCO) TradeContext.STRINFO = TradeContext.errorMsg if not rccpsState.setTransState(stat_dict): AfaLoggerFunc.tradeFatal( '设置业务状态为拒绝成功异常' ) TradeContext.PRCCO = "NN1ID999" TradeContext.STRINFO = "数据库其他错误" AfaLoggerFunc.tradeInfo(">>>设置业务状态为拒绝成功完成") else: stat_dict = {} stat_dict['BJEDTE'] = TradeContext.BJEDTE stat_dict['BSPSQN'] = TradeContext.BSPSQN stat_dict['BESBNO'] = TradeContext.BESBNO stat_dict['BETELR'] = TradeContext.BETELR stat_dict['PRCCO'] = TradeContext.PRCCO stat_dict['STRINFO'] = TradeContext.STRINFO stat_dict['BCSTAT'] = PL_BCSTAT_MFERFE stat_dict['BDWFLG'] = PL_BDWFLG_SUCC if not rccpsState.setTransState(stat_dict): AfaLoggerFunc.tradeFatal( '设置业务状态为拒绝成功异常' ) TradeContext.PRCCO = "NN1ID999" TradeContext.STRINFO = "数据库其他错误" AfaLoggerFunc.tradeInfo(">>>设置业务状态为拒绝成功完成") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) TradeContext.PRCCO = "NN1ID999" TradeContext.STRINFO = "数据库其他错误" AfaLoggerFunc.tradeInfo(">>>开始根据主机放回码,设置业务状态为自动入账成功或失败") #为自动扣款应答报文赋值 TradeContext.sysType = 'rccpst' TradeContext.MSGTYPCO = 'SET007' #报文类代码 #TradeContext.RCVMBRCO = TradeContext.SNDMBRCO #接收方成员行号 TradeContext.RCVSTLBIN = TradeContext.SNDMBRCO #收款方成员行号 TradeContext.SNDSTLBIN = TradeContext.RCVMBRCO #付款方成员行号 TradeContext.SNDBRHCO = TradeContext.BESBNO #发起行网点号 TradeContext.SNDCLKNO = TradeContext.BETELR #发起行柜员号 TradeContext.SNDTRDAT = TradeContext.BJEDTE #发起行交易日期 TradeContext.SNDTRTIM = TradeContext.BJETIM #发起行交易时间 TradeContext.ORMFN = TradeContext.MSGFLGNO #参考报文标识号 TradeContext.MSGFLGNO = TradeContext.SNDMBRCO + TradeContext.BJEDTE + TradeContext.SerialNo #报文标识号 TradeContext.NCCWKDAT = TradeContext.NCCworkDate #中心工作日期 TradeContext.OPRTYPNO = '30' #业务类型 TradeContext.ROPRTPNO = TradeContext.OPRTYPNO #参考业务类型 TradeContext.TRANTYP = '0' #传输类型 TradeContext.CERTTYPE = TradeContext.sCertType TradeContext.CERTNO = TradeContext.sCertNo TradeContext.OCCAMT = TradeContext.sOccamt TradeContext.CUSCHRG = TradeContext.sCuschrg TradeContext.CUR = 'CNY' #货币符号 AfaLoggerFunc.tradeInfo( '***农信银系统:来账.中心类操作(1.本地操作).折通兑来帐请求报文接收[TRCC006_1140]退出***' ) return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo("'***农信银系统:通存通兑往账交易.差错抹账[8571] 进入") AfaLoggerFunc.tradeInfo("<<<<<<<个性化处理(本地操作) 进入") #=====校验变量的合法性==== AfaLoggerFunc.tradeInfo("<<<<<<校验变量的合法性") if not TradeContext.existVariable("TRCDAT"): return AfaFlowControl.ExitThisFlow('A099','没有委托日期') if not TradeContext.existVariable("SNDBNKCO"): return AfaFlowControl.ExitThisFlow('A099','没有发送行号') if not TradeContext.existVariable("TRCNO"): return AfaFlowControl.ExitThisFlow('A099','没有交易流水号') AfaLoggerFunc.tradeInfo("<<<<<<校验变量的合法性结束") #=====产生FEDT,RBSQ,NCCworkDate,BJEDTE==== TradeContext.BJEDTE = AfaUtilTools.GetHostDate( ) #BJEDTE TradeContext.FEDT=AfaUtilTools.GetHostDate( ) #FEDT if not rccpsFunc.GetNCCDate( ) : #NCCworkDate raise AfaFlowControl.flowException( ) if rccpsGetFunc.GetRBSQ(PL_BRSFLG_SND) == -1 : #RBSQ return AfaFlowControl.ExitThisFlow('A099','产生前置流水号失败') #=====查询交易信息==== AfaLoggerFunc.tradeInfo("<<<<<<开始查询通存通兑业务登记簿") where_dict = {} where_dict = {'TRCNO':TradeContext.TRCNO,'SNDBNKCO':TradeContext.SNDBNKCO,'TRCDAT':TradeContext.TRCDAT} wtrbka_record_dict = rccpsDBTrcc_wtrbka.selectu(where_dict) if(wtrbka_record_dict == None): return AfaFlowControl.ExitThisFlow('A099','查询通存通兑业务登记簿失败') elif(len(wtrbka_record_dict) == 0): return AfaFlowControl.ExitThisFlow('A099','查询通存通兑业务登记簿结果为空') else: AfaLoggerFunc.tradeInfo("<<<<<<查询通存通兑业务登记簿成功") #=====查询错账登记簿====== AfaLoggerFunc.tradeInfo("<<<<<<开始查询错账登记簿") where_dict = {} where_dict = {'TRCNO':TradeContext.TRCNO,'SNDBNKCO':TradeContext.SNDBNKCO,'TRCDAT':TradeContext.TRCDAT} tddzcz_record_dict = rccpsDBTrcc_tddzcz.selectu(where_dict) if(tddzcz_record_dict == None): return AfaFlowControl.ExitThisFlow('A099','查询错账登记簿失败') elif(len(tddzcz_record_dict) == 0): AfaLoggerFunc.tradeInfo("<<<<<<查询错账登记簿为空,应向其中补记一笔") insert_dict = {} insert_dict['NCCWKDAT'] = wtrbka_record_dict['NCCWKDAT'] insert_dict['SNDBNKCO'] = wtrbka_record_dict['SNDBNKCO'] insert_dict['TRCDAT'] = wtrbka_record_dict['TRCDAT'] insert_dict['TRCNO'] = wtrbka_record_dict['TRCNO'] insert_dict['RCVBNKCO'] = wtrbka_record_dict['RCVBNKCO'] insert_dict['SNDMBRCO'] = wtrbka_record_dict['SNDMBRCO'] insert_dict['RCVMBRCO'] = wtrbka_record_dict['RCVMBRCO'] insert_dict['TRCCO'] = wtrbka_record_dict['TRCCO'] insert_dict['DCFLG'] = wtrbka_record_dict['DCFLG'] insert_dict['PYRACC'] = wtrbka_record_dict['PYRACC'] insert_dict['PYEACC'] = wtrbka_record_dict['PYEACC'] insert_dict['CUR'] = 'CNY' insert_dict['OCCAMT'] = wtrbka_record_dict['OCCAMT'] insert_dict['LOCOCCAMT'] = wtrbka_record_dict['OCCAMT'] if(wtrbka_record_dict['TRCCO'] in ('3000102','3000103','3000104','3000105') and wtrbka_record_dict['CHRGTYP'] == '1'): insert_dict['CUSCHRG'] = wtrbka_record_dict['CUSCHRG'] insert_dict['LOCCUSCHRG'] = wtrbka_record_dict['CUSCHRG'] else: insert_dict['CUSCHRG'] = 0.00 insert_dict['LOCCUSCHRG'] = 0.00 insert_dict['ORTRCNO'] = "" insert_dict['BJEDTE'] = wtrbka_record_dict['BJEDTE'] insert_dict['BSPSQN'] = wtrbka_record_dict['BSPSQN'] insert_dict['EACTYP'] = "" insert_dict['EACINF'] = "" insert_dict['LOCEACTYP'] = "" insert_dict['LOCEACINF'] = "" insert_dict['ISDEAL'] = "0" insert_dict['NOTE1'] = "" insert_dict['NOTE2'] = "" insert_dict['NOTE3'] = "" insert_dict['NOTE4'] = "" #=====向错账登记簿中补记此笔交易==== if not rccpsDBTrcc_tddzcz.insertCmt(insert_dict): return AfaFlowControl.ExitThisFlow('A099','向错账登记簿中补记交易失败') #=====补查错账登记簿,将刚插入的数据查出来==== AfaLoggerFunc.tradeInfo("<<<<<<补查错账登记簿") where_dict = {} where_dict = {'SNDBNKCO':TradeContext.SNDBNKCO,'TRCDAT':TradeContext.TRCDAT,'TRCNO':TradeContext.TRCNO} tddzcz_record_dict = rccpsDBTrcc_tddzcz.selectu(where_dict) if(tddzcz_record_dict == None): return AfaFlowControl.ExitThisFlow('A099','查询错账登记簿失败') elif(len(tddzcz_record_dict) == 0): return AfaFlowControl.ExitThisFlow('A099','查询通错账登记簿结果为空') else: AfaLoggerFunc.tradeInfo("<<<<<<补查错账登记簿成功") else: AfaLoggerFunc.tradeInfo("<<<<<<查询错账登记簿成功") #=====判断此笔业务是否已经处理==== if(tddzcz_record_dict['ISDEAL'] == PL_ISDEAL_ISDO): return AfaFlowControl.ExitThisFlow('A099','此笔账务已经处理过') #=====开始行内抹账==== AfaLoggerFunc.tradeInfo("<<<<<<开始行内抹账") input_dict = {} input_dict['PYRACC'] = wtrbka_record_dict['PYRACC'] input_dict['PYRNAM'] = wtrbka_record_dict['PYRNAM'] input_dict['PYEACC'] = wtrbka_record_dict['PYEACC'] input_dict['PYENAM'] = wtrbka_record_dict['PYENAM'] input_dict['CHRGTYP'] = wtrbka_record_dict['CHRGTYP'] input_dict['OCCAMT'] = wtrbka_record_dict['OCCAMT'] input_dict['CUSCHRG'] = wtrbka_record_dict['CUSCHRG'] input_dict['RCCSMCD'] = PL_RCCSMCD_CX TradeContext.NCCworkDate = wtrbka_record_dict['NCCWKDAT'] TradeContext.BESBNO = wtrbka_record_dict['BESBNO'] TradeContext.BETELR = PL_BETELR_AUTO TradeContext.TERMID = wtrbka_record_dict['TERMID'] #=====判断原交易的往来标示==== AfaLoggerFunc.tradeInfo("<<<<<<判断原交易是来账还是往账") if(wtrbka_record_dict['BRSFLG'] == PL_BRSFLG_SND): AfaLoggerFunc.tradeInfo("<<<<<原业务为往账") TradeContext.BRSFLG = PL_BRSFLG_SND if(wtrbka_record_dict['TRCCO'] in ('3000002','3000004')): AfaLoggerFunc.tradeDebug("<<<<<<卡折现金通存往账抹账") rccpsEntriesErr.KZTCWZMZ(input_dict) elif(wtrbka_record_dict['TRCCO'] in ('3000003','3000005')): AfaLoggerFunc.tradeDebug("<<<<<<卡折本转异往账抹账") rccpsEntriesErr.KZBZYWZMZ(input_dict) elif(wtrbka_record_dict['TRCCO'] in ('3000102','3000104')): AfaLoggerFunc.tradeDebug("<<<<<<卡折现金通兑往账抹账") rccpsEntriesErr.KZTDWZMZ(input_dict) elif(wtrbka_record_dict['TRCCO'] in ('3000103','3000105')): AfaLoggerFunc.tradeDebug("<<<<<<卡折异转本往账抹账") rccpsEntriesErr.KZYZBWZMZ(input_dict) else: return AfaFlowControl.ExitThisFlow('S999','非法交易代码') else: AfaLoggerFunc.tradeInfo("<<<<<原业务为来账") TradeContext.BRSFLG = PL_BRSFLG_RCV if(wtrbka_record_dict['TRCCO'] in ('3000002','3000004')): AfaLoggerFunc.tradeDebug("<<<<<<卡折现金通存来账抹账") rccpsEntriesErr.KZTCLZMZ(input_dict) elif(wtrbka_record_dict['TRCCO'] in ('3000003','3000005')): AfaLoggerFunc.tradeDebug("<<<<<<卡折本转异来账抹账") rccpsEntriesErr.KZBZYLZMZ(input_dict) elif(wtrbka_record_dict['TRCCO'] in ('3000102','3000104')): AfaLoggerFunc.tradeDebug("<<<<<<卡折现金通兑来账抹账") rccpsEntriesErr.KZTDLZMZ(input_dict) elif(wtrbka_record_dict['TRCCO'] in ('3000103','3000105')): AfaLoggerFunc.tradeDebug("<<<<<<卡折异转本来账抹账") rccpsEntriesErr.KZYZBLZMZ(input_dict) else: return AfaFlowControl.ExitThisFlow('S999','非法交易代码') #=====判断当前状态是否允许抹账==== # AfaLoggerFunc.tradeInfo("<<<<<<判断交易当前状态是否允许抹账") # stat_dict = {} # res = rccpsState.getTransStateCur(wtrbka_record_dict['BJEDTE'],wtrbka_record_dict['BSPSQN'],stat_dict) # if(res == False): # return AfaFlowControl.ExitThisFlow('A099','查询业务的当前状态失败') # else: # AfaLoggerFunc.tradeInfo("查询业务当前状态成功") # # if(stat_dict['BCSTAT'] in (PL_BCSTAT_HCAC,PL_BCSTAT_CANC,PL_BCSTAT_CANCEL) and stat_dict['BDWFLG'] == PL_BDWFLG_SUCC): # return AfaFlowControl.ExitThisFlow('S999','原业务当前状态不需要抹账,请手工更改处理标识') acc = 0 autopay = 0 auto = 0 hcac = 0 canc = 0 cancel = 0 #=====查询是否有记账成功的状态==== sstlog_list = [] if rccpsState.getTransStateSetm(wtrbka_record_dict['BJEDTE'],wtrbka_record_dict['BSPSQN'],PL_BCSTAT_ACC,PL_BDWFLG_SUCC,sstlog_list): acc = len(sstlog_list) sstlog_list = [] if rccpsState.getTransStateSetm(wtrbka_record_dict['BJEDTE'],wtrbka_record_dict['BSPSQN'],PL_BCSTAT_AUTOPAY,PL_BDWFLG_SUCC,sstlog_list): autopay = len(sstlog_list) sstlog_list = [] if rccpsState.getTransStateSetm(wtrbka_record_dict['BJEDTE'],wtrbka_record_dict['BSPSQN'],PL_BCSTAT_AUTO,PL_BDWFLG_SUCC,sstlog_list): auto = len(sstlog_list) #=====查询是否有抹账的状态==== sstlog_list = [] if rccpsState.getTransStateSetm(wtrbka_record_dict['BJEDTE'],wtrbka_record_dict['BSPSQN'],PL_BCSTAT_HCAC,PL_BDWFLG_SUCC,sstlog_list): hcac = len(sstlog_list) #=====查询是否有冲销的状态==== sstlog_list = [] if rccpsState.getTransStateSetm(wtrbka_record_dict['BJEDTE'],wtrbka_record_dict['BSPSQN'],PL_BCSTAT_CANC,PL_BDWFLG_SUCC,sstlog_list): canc = len(sstlog_list) #=====查询是否有冲正的状态==== ssltog_list = [] if rccpsState.getTransStateSetm(wtrbka_record_dict['BJEDTE'],wtrbka_record_dict['BSPSQN'],PL_BCSTAT_CANCEL,PL_BDWFLG_SUCC,sstlog_list): cancel = len(sstlog_list) if((acc + autopay + auto) - (hcac + canc + cancel) <= 0): return AfaFlowControl.ExitThisFlow('S999','此交易未记账或已抹账,禁止提交') AfaLoggerFunc.tradeInfo("<<<<<<结束判断交易当前状态是否允许抹账") #=====在上主机前设置原交易的状态==== AfaLoggerFunc.tradeInfo("<<<<<<在上主机前设置原交易的状态") if not rccpsState.newTransState(wtrbka_record_dict['BJEDTE'],wtrbka_record_dict['BSPSQN'],PL_BCSTAT_HCAC,PL_BDWFLG_WAIT): return AfaFlowControl.ExitThisFlow('S999','设置业务状态为抹账处理中异常') else: AfaDBFunc.CommitSql() #=====开始调用主机交易==== AfaLoggerFunc.tradeInfo("<<<<<<开始调用主机交易") rccpsHostFunc.CommHost( TradeContext.HostCode ) AfaLoggerFunc.tradeInfo("<<<<<<结束调用主机交易") AfaLoggerFunc.tradeInfo("<<<<<<行内抹账结束") #=====给状态字典赋值==== state_dict = {} state_dict['BJEDTE'] = wtrbka_record_dict['BJEDTE'] state_dict['BSPSQN'] = wtrbka_record_dict['BSPSQN'] state_dict['BCSTAT'] = PL_BCSTAT_HCAC state_dict['MGID'] = TradeContext.errorCode state_dict['STRINFO']= TradeContext.errorMsg if TradeContext.existVariable('TRDT'): state_dict['TRDT'] = TradeContext.TRDT if TradeContext.existVariable('TLSQ'): state_dict['TLSQ'] = TradeContext.TLSQ if TradeContext.existVariable('RBSQ'): state_dict['RBSQ'] = TradeContext.RBSQ if TradeContext.existVariable('FEDT'): state_dict['FEDT'] = TradeContext.FEDT #=====判断主机抹账是否成功==== AfaLoggerFunc.tradeInfo("<<<<<<判断主机抹账是否成功") AfaLoggerFunc.tradeDebug("<<<<<<errorCode=" + TradeContext.errorCode) if(TradeContext.errorCode != '0000'): AfaLoggerFunc.tradeDebug("主机抹账失败") #=====主机后更改原交易为失败==== AfaLoggerFunc.tradeInfo("<<<<<<主机后更改原交易为抹失败") state_dict['BDWFLG'] = PL_BDWFLG_FAIL state_dict['STRINFO'] = TradeContext.errorMsg if not rccpsState.setTransState(state_dict): return AfaFlowControl.ExitThisFlow('S999','设置业务为失败异常') else: AfaDBFunc.CommitSql() return AfaFlowControl.ExitThisFlow('S999','主机抹账失败') else: AfaLoggerFunc.tradeInfo("<<<<<<主机抹账成功") #=====主机后更改原交易状态===== AfaLoggerFunc.tradeInfo("<<<<<<主机后更改原交易为成功") state_dict['BDWFLG'] = PL_BDWFLG_SUCC state_dict['STRINFO'] = '主机成功' if not rccpsState.setTransState(state_dict): return AfaFlowControl.ExitThisFlow('S999','设置业务为成功异常') else: AfaDBFunc.CommitSql() #=====更改错账登记簿中的处理标示==== AfaLoggerFunc.tradeInfo("<<<<<<更改错账登记簿中的处理标示") where_dict = {} where_dict = {'BJEDTE':tddzcz_record_dict['BJEDTE'],'BSPSQN':tddzcz_record_dict['BSPSQN']} update_dict = {} update_dict['ISDEAL'] = PL_ISDEAL_ISDO update_dict['NOTE3'] = '此笔错账已抹账' res = rccpsDBTrcc_tddzcz.updateCmt(update_dict,where_dict) if(res == -1): return AfaFlowControl.ExitThisFlow('S999','主机抹账成功,但更新错账处理标示失败,请手工更新错账处理标示') else: AfaLoggerFunc.tradeInfo("<<<<<<更改错账登记簿中的处理标示成功") #=====向下发的通知表中插入数据==== AfaLoggerFunc.tradeInfo("<<<<<<向通知表中插入数据") insert_dict = {} insert_dict['NOTDAT'] = TradeContext.BJEDTE insert_dict['BESBNO'] = wtrbka_record_dict['BESBNO'] if(wtrbka_record_dict['BRSFLG'] == PL_BRSFLG_RCV): insert_dict['STRINFO'] = "此笔错账["+wtrbka_record_dict['BSPSQN']+"]["+wtrbka_record_dict['BJEDTE']+"]已做抹账处理" else: insert_dict['STRINFO'] = "此笔错账["+wtrbka_record_dict['BSPSQN']+"]["+wtrbka_record_dict['BJEDTE']+"]已做抹账处理 请用8522补打往账凭证" if not rccpsDBTrcc_notbka.insertCmt(insert_dict): return AfaFlowControl.ExitThisFlow('S999','向下发的通知表中插入数据失败') AfaLoggerFunc.tradeInfo("<<<<<<向通知表中插入数据成功") #=====给输出接口赋值===== AfaLoggerFunc.tradeInfo("<<<<<<开始给输出接口赋值") TradeContext.BOSPSQ = wtrbka_record_dict['BSPSQN'] TradeContext.BOJEDT = wtrbka_record_dict['BJEDTE'] TradeContext.TLSQ = TradeContext.TLSQ TradeContext.BRSFLG = wtrbka_record_dict['BRSFLG'] TradeContext.TRCCO = wtrbka_record_dict['TRCCO'] TradeContext.BEACSB = wtrbka_record_dict['BESBNO'] TradeContext.OROCCAMT = str(wtrbka_record_dict['OCCAMT']) TradeContext.ORCUR = wtrbka_record_dict['CUR'] TradeContext.ORSNDBNK = wtrbka_record_dict['SNDBNKCO'] TradeContext.ORSNDBNKNM = wtrbka_record_dict['SNDBNKNM'] TradeContext.ORRCVBNK = wtrbka_record_dict['RCVBNKCO'] TradeContext.ORRCVBNKNM = wtrbka_record_dict['RCVBNKNM'] TradeContext.ORPYRACC = wtrbka_record_dict['PYRACC'] TradeContext.ORPYRNAM = wtrbka_record_dict['PYRNAM'] TradeContext.ORPYEACC = wtrbka_record_dict['PYEACC'] TradeContext.ORPYENAM = wtrbka_record_dict['PYENAM'] # TradeContext.SBAC = # TradeContext.RBAC = AfaLoggerFunc.tradeDebug("<<<<<<OROCCAMT="+str(TradeContext.OROCCAMT)) AfaLoggerFunc.tradeInfo("<<<<<<结束给输出接口赋值") AfaLoggerFunc.tradeInfo("<<<<<<<个性化处理(本地操作) 退出") AfaLoggerFunc.tradeInfo("'***农信银系统:通存通兑往账交易.差错抹账[8571] 退出") return True
def main( ): AfaLoggerFunc.tradeInfo( '凭证柜员交接['+TradeContext.TemplateCode+']进入' ) #=============前台上送数据=================================== #TradeContext.sBesbNo 机构号 #TradeContext.sBesbSty 机构类型 #TradeContext.sCur 货币代码 #TradeContext.sTellerNo 柜员号 #TradeContext.sRivTeller 对方柜员 #TradeContext.sLstTrxDay 最后交易日期 #TradeContext.sLstTrxTime 最后交易时间 try: #=============获取柜员级别========================== HostContext.I1TELR = TradeContext.sTellerNo #柜员号 HostContext.I1SBNO = TradeContext.sBesbNo #机构号 HostContext.I1USID = TradeContext.sTellerNo #柜员号 HostContext.I1WSNO = TradeContext.sWSNO #终端号 if(not VouhHostFunc.CommHost('8809')): tradeExit(TradeContext.errorCode, TradeContext.errorMsg) raise AfaFlowControl.flowException( ) if(TradeContext.errorCode == '0000'): TELLER = HostContext.O1TLRK AfaLoggerFunc.tradeInfo( TELLER ) #=============初始化返回报文变量======================== TradeContext.tradeResponse = [] TradeContext.sRivTeller = TradeContext.sInTellerNo #=============生成流水号======================== TradeContext.sVouhSerial = VouhFunc.GetVouhSerial( ) #=============获取当前系统时间========================== TradeContext.sLstTrxDay = AfaUtilTools.GetSysDate( ) TradeContext.sLstTrxTime = AfaUtilTools.GetSysTime( ) TradeContext.sTransType = '凭证柜员交接' #================判断对方柜员是否有凭证================================== if(len(TradeContext.sInTellerNo) == 0): VouhFunc.tradeExit('A005061', '对方柜员不能为空!') raise AfaFlowControl.flowException( ) #if(TELLER == '01' or TELLER == '02' or TELLER == '03'): # VouhFunc.tradeExit('A005061', '该柜员不能进行此操作!') # raise AfaFlowControl.flowException( ) sqlStr = "select * from VOUH_REGISTER where TELLERNO = '" + TradeContext.sInTellerNo + "' and VOUHSTATUS = '3'" records = AfaDBFunc.SelectSql( sqlStr ) AfaLoggerFunc.tradeDebug(sqlStr) if records==-1 : VouhFunc.tradeExit( 'A005057', '查询[凭证登记表]信息异常!' ) raise AfaFlowControl.flowException( ) elif len(records) > 0 : VouhFunc.tradeExit( 'A005058', '['+TradeContext.sInTellerNo+']柜员不能交接!' ) raise AfaFlowControl.flowException( ) #================判断柜员是否有凭证================================== #if((TradeContext.sTellerNo)[4:] == '01' or (TradeContext.sTellerNo)[4:] == '02' or (TradeContext.sTellerNo)[4:] == '03'): # VouhFunc.tradeExit('A005061', '该柜员不能进行此操作!') # raise AfaFlowControl.flowException( ) sqlStr = "select * from VOUH_REGISTER where TELLERNO = '" + TradeContext.sTellerNo + "' and VOUHSTATUS = '3'" records = AfaDBFunc.SelectSql( sqlStr ) AfaLoggerFunc.tradeDebug(sqlStr) if records==-1 : VouhFunc.tradeExit( 'A005057', '查询[凭证登记表]信息异常!' ) raise AfaFlowControl.flowException( ) elif records==0 : VouhFunc.tradeExit( 'A005058', '无凭证!' ) raise AfaFlowControl.flowException( ) #======================柜员交接===================================== sqlStr = "update VOUH_REGISTER set TELLERNO = '" + TradeContext.sInTellerNo + "' where TELLERNO = '" + TradeContext.sTellerNo + "' and VOUHSTATUS = '3'" records = AfaDBFunc.UpdateSqlCmt( sqlStr ) AfaLoggerFunc.tradeDebug(sqlStr) if records==-1 : VouhFunc.tradeExit( 'A005057', '更新[凭证登记表]信息异常!' ) raise AfaFlowControl.flowException( ) elif records==0 : VouhFunc.tradeExit( 'A005058', '修改[凭证登记表]基本信息失败!' ) raise AfaFlowControl.flowException( ) #更新凭证变更登记表 VouhFunc.VouhModify() #数据库提交 AfaDBFunc.CommitSql( ) #==================查询交接凭证明细================================== #=====李亚杰 20080812 修改凭证查询条件,增加凭证状态为'3'的情况==== #sqlStr = "select distinct t.VOUHTYPE,t1.VOUHNAME,t.STARTNO,t.ENDNO,t.VOUHNUM FROM VOUH_REGISTER t,VOUH_PARAMETER t1 \ # where t.VOUHTYPE = t1.VOUHTYPE AND substr(t.BESBNO,1,6) = substr(t1.BESBNO,1,6) \ # AND t.TELLERNO = '" + TradeContext.sInTellerNo + "'" sqlStr = "select distinct t.VOUHTYPE,t1.VOUHNAME,t.STARTNO,t.ENDNO,t.VOUHNUM FROM VOUH_REGISTER t,VOUH_PARAMETER t1 \ where t.VOUHTYPE = t1.VOUHTYPE AND substr(t.BESBNO,1,6) = substr(t1.BESBNO,1,6) \ AND t.VOUHSTATUS = '3' AND t.TELLERNO = '" + TradeContext.sInTellerNo + "'" AfaLoggerFunc.tradeDebug(sqlStr); #查询数据库并将返回的结果压至对应变量中 records = AfaDBFunc.SelectSql( sqlStr ) if( records == None ): VouhFunc.tradeExit('A005067', '查询[凭证表]操作异常!') raise AfaFlowControl.flowException( ) elif( len( records ) == 0 ): VouhFunc.tradeExit('A005068', '凭证不存在!' ) raise AfaFlowControl.flowException( ) else : record=AfaUtilTools.ListFilterNone( records ) total=len( records ) sVouhType = '' sVouhName = '' sStartNo = '' sEndNo = '' sVouhNum = '' for i in range( 0, total ): if( i <> 0): strSplit = '|' else: strSplit = '' sVouhType = sVouhType + strSplit + records[i][0] sVouhName = sVouhName + strSplit + records[i][1] sStartNo = sStartNo + strSplit + records[i][2] sEndNo = sEndNo + strSplit + records[i][3] sVouhNum = sVouhNum + strSplit + records[i][4] TradeContext.tradeResponse.append( ['sVouhType',sVouhType] ) TradeContext.tradeResponse.append( ['sVouhName',sVouhName] ) TradeContext.tradeResponse.append( ['sTellerNo',TradeContext.sTellerNo] ) TradeContext.tradeResponse.append( ['sInTellerNo',TradeContext.sInTellerNo] ) TradeContext.tradeResponse.append( ['sStartNo',sStartNo] ) TradeContext.tradeResponse.append( ['sEndNo',sEndNo] ) TradeContext.tradeResponse.append( ['sVouhNum',sVouhNum] ) TradeContext.tradeResponse.append( ['sNum',str(total)] ) TradeContext.tradeResponse.append( ['sVouhSerial',TradeContext.sVouhSerial] ) TradeContext.tradeResponse.append( ['sLstTrxDay',TradeContext.sLstTrxDay] ) TradeContext.tradeResponse.append( ['sLstTrxTime',TradeContext.sLstTrxTime] ) TradeContext.tradeResponse.append( ['errorCode','0000'] ) TradeContext.tradeResponse.append( ['errorMsg','交易成功'] ) #自动打包 AfaFunc.autoPackData() #=============程序退出==================== AfaLoggerFunc.tradeInfo( '凭证柜员交接['+TradeContext.TemplateCode+']退出' ) except AfaFlowControl.flowException, e: AfaFlowControl.exitMainFlow( )
def map(from_dict): if from_dict.has_key('MSGTYPCO'): TradeContext.MSGTYPCO = from_dict['MSGTYPCO'] AfaLoggerFunc.tradeDebug('TradeContext.MSGTYPCO = ' + str(TradeContext.MSGTYPCO)) else: AfaLoggerFunc.tradeDebug("out_context['MSGTYPCO']不存在") return False if from_dict.has_key('RCVMBRCO'): TradeContext.RCVMBRCO = from_dict['RCVMBRCO'] AfaLoggerFunc.tradeDebug('TradeContext.RCVMBRCO = ' + str(TradeContext.RCVMBRCO)) else: AfaLoggerFunc.tradeDebug("out_context['RCVMBRCO']不存在") return False if from_dict.has_key('SNDMBRCO'): TradeContext.SNDMBRCO = from_dict['SNDMBRCO'] AfaLoggerFunc.tradeDebug('TradeContext.SNDMBRCO = ' + str(TradeContext.SNDMBRCO)) else: AfaLoggerFunc.tradeDebug("out_context['SNDMBRCO']不存在") return False if from_dict.has_key('SNDBRHCO'): TradeContext.SNDBRHCO = from_dict['SNDBRHCO'] AfaLoggerFunc.tradeDebug('TradeContext.SNDBRHCO = ' + str(TradeContext.SNDBRHCO)) else: AfaLoggerFunc.tradeDebug("out_context['SNDBRHCO']不存在") return False if from_dict.has_key('SNDCLKNO'): TradeContext.SNDCLKNO = from_dict['SNDCLKNO'] AfaLoggerFunc.tradeDebug('TradeContext.SNDCLKNO = ' + str(TradeContext.SNDCLKNO)) else: AfaLoggerFunc.tradeDebug("out_context['SNDCLKNO']不存在") return False if from_dict.has_key('SNDTRDAT'): TradeContext.SNDTRDAT = from_dict['SNDTRDAT'] AfaLoggerFunc.tradeDebug('TradeContext.SNDTRDAT = ' + str(TradeContext.SNDTRDAT)) else: AfaLoggerFunc.tradeDebug("out_context['SNDTRDAT']不存在") return False if from_dict.has_key('SNDTRTIM'): TradeContext.SNDTRTIM = from_dict['SNDTRTIM'] AfaLoggerFunc.tradeDebug('TradeContext.SNDTRTIM = ' + str(TradeContext.SNDTRTIM)) else: AfaLoggerFunc.tradeDebug("out_context['SNDTRTIM']不存在") return False if from_dict.has_key('MSGFLGNO'): TradeContext.MSGFLGNO = from_dict['MSGFLGNO'] AfaLoggerFunc.tradeDebug('TradeContext.MSGFLGNO = ' + str(TradeContext.MSGFLGNO)) else: AfaLoggerFunc.tradeDebug("out_context['MSGFLGNO']不存在") return False if from_dict.has_key('ORMFN'): TradeContext.ORMFN = from_dict['ORMFN'] AfaLoggerFunc.tradeDebug('TradeContext.ORMFN = ' + str(TradeContext.ORMFN)) else: AfaLoggerFunc.tradeDebug("out_context['ORMFN']不存在") return False if from_dict.has_key('NCCWKDAT'): TradeContext.NCCWKDAT = from_dict['NCCWKDAT'] AfaLoggerFunc.tradeDebug('TradeContext.NCCWKDAT = ' + str(TradeContext.NCCWKDAT)) else: AfaLoggerFunc.tradeDebug("out_context['NCCWKDAT']不存在") return False if from_dict.has_key('OPRTYPNO'): TradeContext.OPRTYPNO = from_dict['OPRTYPNO'] AfaLoggerFunc.tradeDebug('TradeContext.OPRTYPNO = ' + str(TradeContext.OPRTYPNO)) else: AfaLoggerFunc.tradeDebug("out_context['OPRTYPNO']不存在") return False if from_dict.has_key('ROPRTPNO'): TradeContext.ROPRTPNO = from_dict['ROPRTPNO'] AfaLoggerFunc.tradeDebug('TradeContext.ROPRTPNO = ' + str(TradeContext.ROPRTPNO)) else: AfaLoggerFunc.tradeDebug("out_context['ROPRTPNO']不存在") return False if from_dict.has_key('TRANTYP'): TradeContext.TRANTYP = from_dict['TRANTYP'] AfaLoggerFunc.tradeDebug('TradeContext.TRANTYP = ' + str(TradeContext.TRANTYP)) else: AfaLoggerFunc.tradeDebug("out_context['TRANTYP']不存在") return False return True
def SubModuleDoFst(): #====开始取流水号对应信息==== trcbka_dict = {} dict = rccpsDBFunc.getTransTrc(TradeContext.BOJEDT,TradeContext.BOSPSQ,trcbka_dict) if dict == False: return AfaFlowControl.ExitThisFlow('M999','取交易信息失败') #=====判断撤销信息==== if TradeContext.BESBNO != trcbka_dict["BESBNO"]: return AfaFlowControl.ExitThisFlow('M999','不允许跨机构撤销') if TradeContext.BETELR != trcbka_dict["BETELR"]: return AfaFlowControl.ExitThisFlow('M999','不允许换柜员操作') if TradeContext.BJEDTE != trcbka_dict["BJEDTE"]: return AfaFlowControl.ExitThisFlow('M999','不允许隔日撤销') if trcbka_dict["BCSTAT"] != PL_BCSTAT_MFEQUE: #41 排队状态 1 成功 return AfaFlowControl.ExitThisFlow('M999','当前业务状态为['+trcbka_dict["BCSTAT"]+']不允许撤销' ) if trcbka_dict["BRSFLG"] != PL_BRSFLG_SND: #往帐 return AfaFlowControl.ExitThisFlow('M999','当前业务状态为来账业务不允许撤销' ) #=====开始插入数据库==== trccan_dict = {} if not rccpsMap8507Dtrcbka_dict2Dtrccan_dict.map(trcbka_dict,trccan_dict): return AfaFlowControl.ExitThisFlow('M999','字典赋值错误') trccan_dict["CONT"] = TradeContext.CONT trccan_dict["TRCCO"] = TradeContext.TRCCO trccan_dict["BJEDTE"] = TradeContext.BJEDTE trccan_dict["BSPSQN"] = TradeContext.BSPSQN trccan_dict['CLRESPN'] = PL_ISDEAL_UNDO trccan_dict['RCVBNKCO'] = PL_RCV_CENTER trccan_dict['RCVBNKNM'] = PL_RCV_CENNAM trccan_dict['RCVMBRCO'] = PL_RCV_CENTER trccan_dict['SNDMBRCO'] = TradeContext.SNDSTLBIN trccan_dict['TRCNO'] = TradeContext.SerialNo AfaLoggerFunc.tradeInfo( '字典trccan_dict:' + str(trccan_dict) ) #=====开始插入撤销业务登记簿==== ret = rccpsDBTrcc_trccan.insert(trccan_dict) if ret <= 0: #=====RollBack操作==== AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow('D011','数据库ROLLBAKC失败') #=====commit操作==== AfaDBFunc.CommitSql() AfaLoggerFunc.tradeInfo('>>>commit succ') #=====从字典向TradeContext赋值==== if not rccpsMap8507Dtrccan_dict2CTradeContext.map(trccan_dict): return AfaFlowControl.ExitThisFlow('M999','字典赋值错误') #====手工赋值一些字段==== TradeContext.OROCCAMT = str(TradeContext.OCCAMT) #原交易金额 AfaLoggerFunc.tradeDebug('>>>原交易金额' + str(TradeContext.OROCCAMT)) TradeContext.ROPRTPNO = trcbka_dict['TRCCO'][:2] #参考业务类型 AfaLoggerFunc.tradeDebug('>>>参考业务类型' + TradeContext.ROPRTPNO) TradeContext.OPRTYPNO = '99' AfaLoggerFunc.tradeDebug('>>>业务类型' + TradeContext.OPRTYPNO) TradeContext.ORMFN = str(trcbka_dict['SNDMBRCO']) + str(trcbka_dict['TRCDAT']) + str(trcbka_dict['TRCNO']) #参考报文标识号 AfaLoggerFunc.tradeDebug('>>>参考类型' + TradeContext.ORMFN) TradeContext.ORRCVBNK = trcbka_dict['RCVBNKCO'] TradeContext.RCVBNKCO = PL_RCV_CENTER TradeContext.RCVBNKNM = PL_RCV_CENNAM TradeContext.RCVSTLBIN = PL_RCV_CENTER TradeContext.ORTRCNO = trcbka_dict['TRCNO'] TradeContext.ORSNDBNKCO=trccan_dict['SNDBNKCO'] AfaLoggerFunc.tradeInfo("TradeContext.ORSNDBNKCO:"+TradeContext.ORSNDBNKCO) AfaLoggerFunc.tradeInfo("TradeContext.BOSPSQ:"+TradeContext.BOSPSQ) return True
def map(to_dict): if TradeContext.existVariable('BJEDTE'): to_dict['BJEDTE'] = TradeContext.BJEDTE AfaLoggerFunc.tradeDebug('hpcbka_dict[BJEDTE] = ' + str(to_dict['BJEDTE'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BJEDTE不存在") if TradeContext.existVariable('BSPSQN'): to_dict['BSPSQN'] = TradeContext.BSPSQN AfaLoggerFunc.tradeDebug('hpcbka_dict[BSPSQN] = ' + str(to_dict['BSPSQN'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BSPSQN不存在") if TradeContext.existVariable('BRSFLG'): to_dict['BRSFLG'] = TradeContext.BRSFLG AfaLoggerFunc.tradeDebug('hpcbka_dict[BRSFLG] = ' + str(to_dict['BRSFLG'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BRSFLG不存在") if TradeContext.existVariable('BESBNO'): to_dict['BESBNO'] = TradeContext.BESBNO AfaLoggerFunc.tradeDebug('hpcbka_dict[BESBNO] = ' + str(to_dict['BESBNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BESBNO不存在") if TradeContext.existVariable('BETELR'): to_dict['BETELR'] = TradeContext.BETELR AfaLoggerFunc.tradeDebug('hpcbka_dict[BETELR] = ' + str(to_dict['BETELR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BETELR不存在") if TradeContext.existVariable('BEAUUS'): to_dict['BEAUUS'] = TradeContext.BEAUUS AfaLoggerFunc.tradeDebug('hpcbka_dict[BEAUUS] = ' + str(to_dict['BEAUUS'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BEAUUS不存在") if TradeContext.existVariable('NCCWKDAT'): to_dict['NCCWKDAT'] = TradeContext.NCCWKDAT AfaLoggerFunc.tradeDebug('hpcbka_dict[NCCWKDAT] = ' + str(to_dict['NCCWKDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NCCWKDAT不存在") if TradeContext.existVariable('TRCCO'): to_dict['TRCCO'] = TradeContext.TRCCO AfaLoggerFunc.tradeDebug('hpcbka_dict[TRCCO] = ' + str(to_dict['TRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCCO不存在") if TradeContext.existVariable('TRCDAT'): to_dict['TRCDAT'] = TradeContext.TRCDAT AfaLoggerFunc.tradeDebug('hpcbka_dict[TRCDAT] = ' + str(to_dict['TRCDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCDAT不存在") if TradeContext.existVariable('TRCNO'): to_dict['TRCNO'] = TradeContext.TRCNO AfaLoggerFunc.tradeDebug('hpcbka_dict[TRCNO] = ' + str(to_dict['TRCNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCNO不存在") if TradeContext.existVariable('SNDMBRCO'): to_dict['SNDMBRCO'] = TradeContext.SNDMBRCO AfaLoggerFunc.tradeDebug('hpcbka_dict[SNDMBRCO] = ' + str(to_dict['SNDMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDMBRCO不存在") if TradeContext.existVariable('RCVMBRCO'): to_dict['RCVMBRCO'] = TradeContext.RCVMBRCO AfaLoggerFunc.tradeDebug('hpcbka_dict[RCVMBRCO] = ' + str(to_dict['RCVMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVMBRCO不存在") if TradeContext.existVariable('SNDBNKCO'): to_dict['SNDBNKCO'] = TradeContext.SNDBNKCO AfaLoggerFunc.tradeDebug('hpcbka_dict[SNDBNKCO] = ' + str(to_dict['SNDBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKCO不存在") if TradeContext.existVariable('SNDBNKNM'): to_dict['SNDBNKNM'] = TradeContext.SNDBNKNM AfaLoggerFunc.tradeDebug('hpcbka_dict[SNDBNKNM] = ' + str(to_dict['SNDBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKNM不存在") if TradeContext.existVariable('RCVBNKCO'): to_dict['RCVBNKCO'] = TradeContext.RCVBNKCO AfaLoggerFunc.tradeDebug('hpcbka_dict[RCVBNKCO] = ' + str(to_dict['RCVBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKCO不存在") if TradeContext.existVariable('RCVBNKNM'): to_dict['RCVBNKNM'] = TradeContext.RCVBNKNM AfaLoggerFunc.tradeDebug('hpcbka_dict[RCVBNKNM] = ' + str(to_dict['RCVBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKNM不存在") if TradeContext.existVariable('BOJEDT'): to_dict['BOJEDT'] = TradeContext.BOJEDT AfaLoggerFunc.tradeDebug('hpcbka_dict[BOJEDT] = ' + str(to_dict['BOJEDT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BOJEDT不存在") if TradeContext.existVariable('BOSPSQ'): to_dict['BOSPSQ'] = TradeContext.BOSPSQ AfaLoggerFunc.tradeDebug('hpcbka_dict[BOSPSQ] = ' + str(to_dict['BOSPSQ'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BOSPSQ不存在") if TradeContext.existVariable('ORTRCCO'): to_dict['ORTRCCO'] = TradeContext.ORTRCCO AfaLoggerFunc.tradeDebug('hpcbka_dict[ORTRCCO] = ' + str(to_dict['ORTRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.ORTRCCO不存在") if TradeContext.existVariable('BILVER'): to_dict['BILVER'] = TradeContext.BILVER AfaLoggerFunc.tradeDebug('hpcbka_dict[BILVER] = ' + str(to_dict['BILVER'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BILVER不存在") if TradeContext.existVariable('BILNO'): to_dict['BILNO'] = TradeContext.BILNO AfaLoggerFunc.tradeDebug('hpcbka_dict[BILNO] = ' + str(to_dict['BILNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BILNO不存在") if TradeContext.existVariable('BILDAT'): to_dict['BILDAT'] = TradeContext.BILDAT AfaLoggerFunc.tradeDebug('hpcbka_dict[BILDAT] = ' + str(to_dict['BILDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BILDAT不存在") if TradeContext.existVariable('PAYWAY'): to_dict['PAYWAY'] = TradeContext.PAYWAY AfaLoggerFunc.tradeDebug('hpcbka_dict[PAYWAY] = ' + str(to_dict['PAYWAY'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PAYWAY不存在") if TradeContext.existVariable('CUR'): to_dict['CUR'] = TradeContext.CUR AfaLoggerFunc.tradeDebug('hpcbka_dict[CUR] = ' + str(to_dict['CUR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CUR不存在") if TradeContext.existVariable('BILAMT'): to_dict['BILAMT'] = TradeContext.BILAMT AfaLoggerFunc.tradeDebug('hpcbka_dict[BILAMT] = ' + str(to_dict['BILAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BILAMT不存在") if TradeContext.existVariable('PYRACC'): to_dict['PYRACC'] = TradeContext.PYRACC AfaLoggerFunc.tradeDebug('hpcbka_dict[PYRACC] = ' + str(to_dict['PYRACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYRACC不存在") if TradeContext.existVariable('PYRNAM'): to_dict['PYRNAM'] = TradeContext.PYRNAM AfaLoggerFunc.tradeDebug('hpcbka_dict[PYRNAM] = ' + str(to_dict['PYRNAM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYRNAM不存在") if TradeContext.existVariable('PYEACC'): to_dict['PYEACC'] = TradeContext.PYEACC AfaLoggerFunc.tradeDebug('hpcbka_dict[PYEACC] = ' + str(to_dict['PYEACC'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYEACC不存在") if TradeContext.existVariable('PYENAM'): to_dict['PYENAM'] = TradeContext.PYENAM AfaLoggerFunc.tradeDebug('hpcbka_dict[PYENAM] = ' + str(to_dict['PYENAM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PYENAM不存在") if TradeContext.existVariable('CONT'): to_dict['CONT'] = TradeContext.CONT AfaLoggerFunc.tradeDebug('hpcbka_dict[CONT] = ' + str(to_dict['CONT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CONT不存在") if TradeContext.existVariable('ISDEAL'): to_dict['ISDEAL'] = TradeContext.ISDEAL AfaLoggerFunc.tradeDebug('hpcbka_dict[ISDEAL] = ' + str(to_dict['ISDEAL'])) else: AfaLoggerFunc.tradeDebug("TradeContext.ISDEAL不存在") if TradeContext.existVariable('PRCCO'): to_dict['PRCCO'] = TradeContext.PRCCO AfaLoggerFunc.tradeDebug('hpcbka_dict[PRCCO] = ' + str(to_dict['PRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PRCCO不存在") if TradeContext.existVariable('STRINFO'): to_dict['STRINFO'] = TradeContext.STRINFO AfaLoggerFunc.tradeDebug('hpcbka_dict[STRINFO] = ' + str(to_dict['STRINFO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.STRINFO不存在") if TradeContext.existVariable('NOTE1'): to_dict['NOTE1'] = TradeContext.NOTE1 AfaLoggerFunc.tradeDebug('hpcbka_dict[NOTE1] = ' + str(to_dict['NOTE1'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE1不存在") if TradeContext.existVariable('NOTE2'): to_dict['NOTE2'] = TradeContext.NOTE2 AfaLoggerFunc.tradeDebug('hpcbka_dict[NOTE2] = ' + str(to_dict['NOTE2'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE2不存在") if TradeContext.existVariable('NOTE3'): to_dict['NOTE3'] = TradeContext.NOTE3 AfaLoggerFunc.tradeDebug('hpcbka_dict[NOTE3] = ' + str(to_dict['NOTE3'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE3不存在") if TradeContext.existVariable('NOTE4'): to_dict['NOTE4'] = TradeContext.NOTE4 AfaLoggerFunc.tradeDebug('hpcbka_dict[NOTE4] = ' + str(to_dict['NOTE4'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE4不存在") return True
def map(from_dict): if from_dict.has_key('BJEDTE'): TradeContext.BJEDTE = from_dict['BJEDTE'] AfaLoggerFunc.tradeDebug('TradeContext.BJEDTE = ' + str(TradeContext.BJEDTE)) else: AfaLoggerFunc.tradeDebug("trcbka['BJEDTE']不存在") if from_dict.has_key('BSPSQN'): TradeContext.BSPSQN = from_dict['BSPSQN'] AfaLoggerFunc.tradeDebug('TradeContext.BSPSQN = ' + str(TradeContext.BSPSQN)) else: AfaLoggerFunc.tradeDebug("trcbka['BSPSQN']不存在") if from_dict.has_key('BRSFLG'): TradeContext.BRSFLG = from_dict['BRSFLG'] AfaLoggerFunc.tradeDebug('TradeContext.BRSFLG = ' + str(TradeContext.BRSFLG)) else: AfaLoggerFunc.tradeDebug("trcbka['BRSFLG']不存在") if from_dict.has_key('BESBNO'): TradeContext.BESBNO = from_dict['BESBNO'] AfaLoggerFunc.tradeDebug('TradeContext.BESBNO = ' + str(TradeContext.BESBNO)) else: AfaLoggerFunc.tradeDebug("trcbka['BESBNO']不存在") if from_dict.has_key('BEACSB'): TradeContext.BEACSB = from_dict['BEACSB'] AfaLoggerFunc.tradeDebug('TradeContext.BEACSB = ' + str(TradeContext.BEACSB)) else: AfaLoggerFunc.tradeDebug("trcbka['BEACSB']不存在") if from_dict.has_key('BETELR'): TradeContext.BETELR = from_dict['BETELR'] AfaLoggerFunc.tradeDebug('TradeContext.BETELR = ' + str(TradeContext.BETELR)) else: AfaLoggerFunc.tradeDebug("trcbka['BETELR']不存在") if from_dict.has_key('BEAUUS'): TradeContext.BEAUUS = from_dict['BEAUUS'] AfaLoggerFunc.tradeDebug('TradeContext.BEAUUS = ' + str(TradeContext.BEAUUS)) else: AfaLoggerFunc.tradeDebug("trcbka['BEAUUS']不存在") if from_dict.has_key('TERMID'): TradeContext.TERMID = from_dict['TERMID'] AfaLoggerFunc.tradeDebug('TradeContext.TERMID = ' + str(TradeContext.TERMID)) else: AfaLoggerFunc.tradeDebug("trcbka['TERMID']不存在") if from_dict.has_key('BBSSRC'): TradeContext.BBSSRC = from_dict['BBSSRC'] AfaLoggerFunc.tradeDebug('TradeContext.BBSSRC = ' + str(TradeContext.BBSSRC)) else: AfaLoggerFunc.tradeDebug("trcbka['BBSSRC']不存在") if from_dict.has_key('DASQ'): TradeContext.DASQ = from_dict['DASQ'] AfaLoggerFunc.tradeDebug('TradeContext.DASQ = ' + str(TradeContext.DASQ)) else: AfaLoggerFunc.tradeDebug("trcbka['DASQ']不存在") if from_dict.has_key('DCFLG'): TradeContext.DCFLG = from_dict['DCFLG'] AfaLoggerFunc.tradeDebug('TradeContext.DCFLG = ' + str(TradeContext.DCFLG)) else: AfaLoggerFunc.tradeDebug("trcbka['DCFLG']不存在") if from_dict.has_key('OPRNO'): TradeContext.OPRNO = from_dict['OPRNO'] AfaLoggerFunc.tradeDebug('TradeContext.OPRNO = ' + str(TradeContext.OPRNO)) else: AfaLoggerFunc.tradeDebug("trcbka['OPRNO']不存在") if from_dict.has_key('OPRATTNO'): TradeContext.OPRATTNO = from_dict['OPRATTNO'] AfaLoggerFunc.tradeDebug('TradeContext.OPRATTNO = ' + str(TradeContext.OPRATTNO)) else: AfaLoggerFunc.tradeDebug("trcbka['OPRATTNO']不存在") if from_dict.has_key('NCCWKDAT'): TradeContext.NCCWKDAT = from_dict['NCCWKDAT'] AfaLoggerFunc.tradeDebug('TradeContext.NCCWKDAT = ' + str(TradeContext.NCCWKDAT)) else: AfaLoggerFunc.tradeDebug("trcbka['NCCWKDAT']不存在") if from_dict.has_key('TRCCO'): TradeContext.TRCCO = from_dict['TRCCO'] AfaLoggerFunc.tradeDebug('TradeContext.TRCCO = ' + str(TradeContext.TRCCO)) else: AfaLoggerFunc.tradeDebug("trcbka['TRCCO']不存在") if from_dict.has_key('TRCDAT'): TradeContext.TRCDAT = from_dict['TRCDAT'] AfaLoggerFunc.tradeDebug('TradeContext.TRCDAT = ' + str(TradeContext.TRCDAT)) else: AfaLoggerFunc.tradeDebug("trcbka['TRCDAT']不存在") if from_dict.has_key('TRCNO'): TradeContext.TRCNO = from_dict['TRCNO'] AfaLoggerFunc.tradeDebug('TradeContext.TRCNO = ' + str(TradeContext.TRCNO)) else: AfaLoggerFunc.tradeDebug("trcbka['TRCNO']不存在") if from_dict.has_key('SNDMBRCO'): TradeContext.SNDMBRCO = from_dict['SNDMBRCO'] AfaLoggerFunc.tradeDebug('TradeContext.SNDMBRCO = ' + str(TradeContext.SNDMBRCO)) else: AfaLoggerFunc.tradeDebug("trcbka['SNDMBRCO']不存在") if from_dict.has_key('RCVMBRCO'): TradeContext.RCVMBRCO = from_dict['RCVMBRCO'] AfaLoggerFunc.tradeDebug('TradeContext.RCVMBRCO = ' + str(TradeContext.RCVMBRCO)) else: AfaLoggerFunc.tradeDebug("trcbka['RCVMBRCO']不存在") if from_dict.has_key('SNDBNKCO'): TradeContext.SNDBNKCO = from_dict['SNDBNKCO'] AfaLoggerFunc.tradeDebug('TradeContext.SNDBNKCO = ' + str(TradeContext.SNDBNKCO)) else: AfaLoggerFunc.tradeDebug("trcbka['SNDBNKCO']不存在") if from_dict.has_key('SNDBNKNM'): TradeContext.SNDBNKNM = from_dict['SNDBNKNM'] AfaLoggerFunc.tradeDebug('TradeContext.SNDBNKNM = ' + str(TradeContext.SNDBNKNM)) else: AfaLoggerFunc.tradeDebug("trcbka['SNDBNKNM']不存在") if from_dict.has_key('RCVBNKCO'): TradeContext.RCVBNKCO = from_dict['RCVBNKCO'] AfaLoggerFunc.tradeDebug('TradeContext.RCVBNKCO = ' + str(TradeContext.RCVBNKCO)) else: AfaLoggerFunc.tradeDebug("trcbka['RCVBNKCO']不存在") if from_dict.has_key('RCVBNKNM'): TradeContext.RCVBNKNM = from_dict['RCVBNKNM'] AfaLoggerFunc.tradeDebug('TradeContext.RCVBNKNM = ' + str(TradeContext.RCVBNKNM)) else: AfaLoggerFunc.tradeDebug("trcbka['RCVBNKNM']不存在") if from_dict.has_key('CUR'): TradeContext.CUR = from_dict['CUR'] AfaLoggerFunc.tradeDebug('TradeContext.CUR = ' + str(TradeContext.CUR)) else: AfaLoggerFunc.tradeDebug("trcbka['CUR']不存在") if from_dict.has_key('OCCAMT'): TradeContext.OCCAMT = from_dict['OCCAMT'] AfaLoggerFunc.tradeDebug('TradeContext.OCCAMT = ' + str(TradeContext.OCCAMT)) else: AfaLoggerFunc.tradeDebug("trcbka['OCCAMT']不存在") if from_dict.has_key('CHRGTYP'): TradeContext.CHRGTYP = from_dict['CHRGTYP'] AfaLoggerFunc.tradeDebug('TradeContext.CHRGTYP = ' + str(TradeContext.CHRGTYP)) else: AfaLoggerFunc.tradeDebug("trcbka['CHRGTYP']不存在") if from_dict.has_key('LOCCUSCHRG'): TradeContext.LOCCUSCHRG = from_dict['LOCCUSCHRG'] AfaLoggerFunc.tradeDebug('TradeContext.LOCCUSCHRG = ' + str(TradeContext.LOCCUSCHRG)) else: AfaLoggerFunc.tradeDebug("trcbka['LOCCUSCHRG']不存在") if from_dict.has_key('CUSCHRG'): TradeContext.CUSCHRG = from_dict['CUSCHRG'] AfaLoggerFunc.tradeDebug('TradeContext.CUSCHRG = ' + str(TradeContext.CUSCHRG)) else: AfaLoggerFunc.tradeDebug("trcbka['CUSCHRG']不存在") if from_dict.has_key('PYRACC'): TradeContext.PYRACC = from_dict['PYRACC'] AfaLoggerFunc.tradeDebug('TradeContext.PYRACC = ' + str(TradeContext.PYRACC)) else: AfaLoggerFunc.tradeDebug("trcbka['PYRACC']不存在") if from_dict.has_key('PYRNAM'): TradeContext.PYRNAM = from_dict['PYRNAM'] AfaLoggerFunc.tradeDebug('TradeContext.PYRNAM = ' + str(TradeContext.PYRNAM)) else: AfaLoggerFunc.tradeDebug("trcbka['PYRNAM']不存在") if from_dict.has_key('PYRADDR'): TradeContext.PYRADDR = from_dict['PYRADDR'] AfaLoggerFunc.tradeDebug('TradeContext.PYRADDR = ' + str(TradeContext.PYRADDR)) else: AfaLoggerFunc.tradeDebug("trcbka['PYRADDR']不存在") if from_dict.has_key('PYEACC'): TradeContext.PYEACC = from_dict['PYEACC'] AfaLoggerFunc.tradeDebug('TradeContext.PYEACC = ' + str(TradeContext.PYEACC)) else: AfaLoggerFunc.tradeDebug("trcbka['PYEACC']不存在") if from_dict.has_key('PYENAM'): TradeContext.PYENAM = from_dict['PYENAM'] AfaLoggerFunc.tradeDebug('TradeContext.PYENAM = ' + str(TradeContext.PYENAM)) else: AfaLoggerFunc.tradeDebug("trcbka['PYENAM']不存在") if from_dict.has_key('PYEADDR'): TradeContext.PYEADDR = from_dict['PYEADDR'] AfaLoggerFunc.tradeDebug('TradeContext.PYEADDR = ' + str(TradeContext.PYEADDR)) else: AfaLoggerFunc.tradeDebug("trcbka['PYEADDR']不存在") if from_dict.has_key('SEAL'): TradeContext.SEAL = from_dict['SEAL'] AfaLoggerFunc.tradeDebug('TradeContext.SEAL = ' + str(TradeContext.SEAL)) else: AfaLoggerFunc.tradeDebug("trcbka['SEAL']不存在") if from_dict.has_key('USE'): TradeContext.USE = from_dict['USE'] AfaLoggerFunc.tradeDebug('TradeContext.USE = ' + str(TradeContext.USE)) else: AfaLoggerFunc.tradeDebug("trcbka['USE']不存在") if from_dict.has_key('REMARK'): TradeContext.REMARK = from_dict['REMARK'] AfaLoggerFunc.tradeDebug('TradeContext.REMARK = ' + str(TradeContext.REMARK)) else: AfaLoggerFunc.tradeDebug("trcbka['REMARK']不存在") if from_dict.has_key('BILTYP'): TradeContext.BILTYP = from_dict['BILTYP'] AfaLoggerFunc.tradeDebug('TradeContext.BILTYP = ' + str(TradeContext.BILTYP)) else: AfaLoggerFunc.tradeDebug("trcbka['BILTYP']不存在") if from_dict.has_key('BILDAT'): TradeContext.BILDAT = from_dict['BILDAT'] AfaLoggerFunc.tradeDebug('TradeContext.BILDAT = ' + str(TradeContext.BILDAT)) else: AfaLoggerFunc.tradeDebug("trcbka['BILDAT']不存在") if from_dict.has_key('BILNO'): TradeContext.BILNO = from_dict['BILNO'] AfaLoggerFunc.tradeDebug('TradeContext.BILNO = ' + str(TradeContext.BILNO)) else: AfaLoggerFunc.tradeDebug("trcbka['BILNO']不存在") if from_dict.has_key('COMAMT'): TradeContext.COMAMT = from_dict['COMAMT'] AfaLoggerFunc.tradeDebug('TradeContext.COMAMT = ' + str(TradeContext.COMAMT)) else: AfaLoggerFunc.tradeDebug("trcbka['COMAMT']不存在") if from_dict.has_key('OVPAYAMT'): TradeContext.OVPAYAMT = from_dict['OVPAYAMT'] AfaLoggerFunc.tradeDebug('TradeContext.OVPAYAMT = ' + str(TradeContext.OVPAYAMT)) else: AfaLoggerFunc.tradeDebug("trcbka['OVPAYAMT']不存在") if from_dict.has_key('CPSAMT'): TradeContext.CPSAMT = from_dict['CPSAMT'] AfaLoggerFunc.tradeDebug('TradeContext.CPSAMT = ' + str(TradeContext.CPSAMT)) else: AfaLoggerFunc.tradeDebug("trcbka['CPSAMT']不存在") if from_dict.has_key('RFUAMT'): TradeContext.RFUAMT = from_dict['RFUAMT'] AfaLoggerFunc.tradeDebug('TradeContext.RFUAMT = ' + str(TradeContext.RFUAMT)) else: AfaLoggerFunc.tradeDebug("trcbka['RFUAMT']不存在") if from_dict.has_key('CERTTYPE'): TradeContext.CERTTYPE = from_dict['CERTTYPE'] AfaLoggerFunc.tradeDebug('TradeContext.CERTTYPE = ' + str(TradeContext.CERTTYPE)) else: AfaLoggerFunc.tradeDebug("trcbka['CERTTYPE']不存在") if from_dict.has_key('CERTNO'): TradeContext.CERTNO = from_dict['CERTNO'] AfaLoggerFunc.tradeDebug('TradeContext.CERTNO = ' + str(TradeContext.CERTNO)) else: AfaLoggerFunc.tradeDebug("trcbka['CERTNO']不存在") if from_dict.has_key('BOJEDT'): TradeContext.BOJEDT = from_dict['BOJEDT'] AfaLoggerFunc.tradeDebug('TradeContext.BOJEDT = ' + str(TradeContext.BOJEDT)) else: AfaLoggerFunc.tradeDebug("trcbka['BOJEDT']不存在") if from_dict.has_key('BOSPSQ'): TradeContext.BOSPSQ = from_dict['BOSPSQ'] AfaLoggerFunc.tradeDebug('TradeContext.BOSPSQ = ' + str(TradeContext.BOSPSQ)) else: AfaLoggerFunc.tradeDebug("trcbka['BOSPSQ']不存在") if from_dict.has_key('ORTRCDAT'): TradeContext.ORTRCDAT = from_dict['ORTRCDAT'] AfaLoggerFunc.tradeDebug('TradeContext.ORTRCDAT = ' + str(TradeContext.ORTRCDAT)) else: AfaLoggerFunc.tradeDebug("trcbka['ORTRCDAT']不存在") if from_dict.has_key('ORTRCCO'): TradeContext.ORTRCCO = from_dict['ORTRCCO'] AfaLoggerFunc.tradeDebug('TradeContext.ORTRCCO = ' + str(TradeContext.ORTRCCO)) else: AfaLoggerFunc.tradeDebug("trcbka['ORTRCCO']不存在") if from_dict.has_key('ORTRCNO'): TradeContext.ORTRCNO = from_dict['ORTRCNO'] AfaLoggerFunc.tradeDebug('TradeContext.ORTRCNO = ' + str(TradeContext.ORTRCNO)) else: AfaLoggerFunc.tradeDebug("trcbka['ORTRCNO']不存在") if from_dict.has_key('ORSNDBNK'): TradeContext.ORSNDBNK = from_dict['ORSNDBNK'] AfaLoggerFunc.tradeDebug('TradeContext.ORSNDBNK = ' + str(TradeContext.ORSNDBNK)) else: AfaLoggerFunc.tradeDebug("trcbka['ORSNDBNK']不存在") if from_dict.has_key('ORRCVBNK'): TradeContext.ORRCVBNK = from_dict['ORRCVBNK'] AfaLoggerFunc.tradeDebug('TradeContext.ORRCVBNK = ' + str(TradeContext.ORRCVBNK)) else: AfaLoggerFunc.tradeDebug("trcbka['ORRCVBNK']不存在") if from_dict.has_key('STRINFO'): TradeContext.STRINFO = from_dict['STRINFO'] AfaLoggerFunc.tradeDebug('TradeContext.STRINFO = ' + str(TradeContext.STRINFO)) else: AfaLoggerFunc.tradeDebug("trcbka['STRINFO']不存在") if from_dict.has_key('NOTE1'): TradeContext.NOTE1 = from_dict['NOTE1'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE1 = ' + str(TradeContext.NOTE1)) else: AfaLoggerFunc.tradeDebug("trcbka['NOTE1']不存在") if from_dict.has_key('NOTE2'): TradeContext.NOTE2 = from_dict['NOTE2'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE2 = ' + str(TradeContext.NOTE2)) else: AfaLoggerFunc.tradeDebug("trcbka['NOTE2']不存在") if from_dict.has_key('NOTE3'): TradeContext.NOTE3 = from_dict['NOTE3'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE3 = ' + str(TradeContext.NOTE3)) else: AfaLoggerFunc.tradeDebug("trcbka['NOTE3']不存在") if from_dict.has_key('NOTE4'): TradeContext.NOTE4 = from_dict['NOTE4'] AfaLoggerFunc.tradeDebug('TradeContext.NOTE4 = ' + str(TradeContext.NOTE4)) else: AfaLoggerFunc.tradeDebug("trcbka['NOTE4']不存在") return True
def map(to_dict): if TradeContext.existVariable('SNDBNKCO'): to_dict['SNDBNKCO'] = TradeContext.SNDBNKCO AfaLoggerFunc.tradeDebug('atrchk_dict[SNDBNKCO] = ' + str(to_dict['SNDBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKCO不存在") if TradeContext.existVariable('TRCDAT'): to_dict['TRCDAT'] = TradeContext.TRCDAT AfaLoggerFunc.tradeDebug('atrchk_dict[TRCDAT] = ' + str(to_dict['TRCDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCDAT不存在") return False if TradeContext.existVariable('TRCNO'): to_dict['TRCNO'] = TradeContext.TRCNO AfaLoggerFunc.tradeDebug('atrchk_dict[TRCNO] = ' + str(to_dict['TRCNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCNO不存在") if TradeContext.existVariable('ROPRTYPNO'): to_dict['ROPRTYPNO'] = TradeContext.ROPRTYPNO AfaLoggerFunc.tradeDebug('atrchk_dict[ROPRTYPNO] = ' + str(to_dict['ROPRTYPNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.ROPRTYPNO不存在") if TradeContext.existVariable('TRCCO'): to_dict['TRCCO'] = TradeContext.TRCCO AfaLoggerFunc.tradeDebug('atrchk_dict[TRCCO] = ' + str(to_dict['TRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCCO不存在") if TradeContext.existVariable('RCVBNKCO'): to_dict['RCVBNKCO'] = TradeContext.RCVBNKCO AfaLoggerFunc.tradeDebug('atrchk_dict[RCVBNKCO] = ' + str(to_dict['RCVBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKCO不存在") if TradeContext.existVariable('CUR'): to_dict['CUR'] = TradeContext.CUR AfaLoggerFunc.tradeDebug('atrchk_dict[CUR] = ' + str(to_dict['CUR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CUR不存在") if TradeContext.existVariable('RDTCNT'): to_dict['RDTCNT'] = TradeContext.RDTCNT AfaLoggerFunc.tradeDebug('atrchk_dict[RDTCNT] = ' + str(to_dict['RDTCNT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RDTCNT不存在") if TradeContext.existVariable('RDTAMT'): to_dict['RDTAMT'] = TradeContext.RDTAMT AfaLoggerFunc.tradeDebug('atrchk_dict[RDTAMT] = ' + str(to_dict['RDTAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RDTAMT不存在") if TradeContext.existVariable('RCTCNT'): to_dict['RCTCNT'] = TradeContext.RCTCNT AfaLoggerFunc.tradeDebug('atrchk_dict[RCTCNT] = ' + str(to_dict['RCTCNT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCTCNT不存在") if TradeContext.existVariable('RCTAMT'): to_dict['RCTAMT'] = TradeContext.RCTAMT AfaLoggerFunc.tradeDebug('atrchk_dict[RCTAMT] = ' + str(to_dict['RCTAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCTAMT不存在") if TradeContext.existVariable('SCTCNT'): to_dict['SCTCNT'] = TradeContext.SCTCNT AfaLoggerFunc.tradeDebug('atrchk_dict[SCTCNT] = ' + str(to_dict['SCTCNT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SCTCNT不存在") if TradeContext.existVariable('SCTAMT'): to_dict['SCTAMT'] = TradeContext.SCTAMT AfaLoggerFunc.tradeDebug('atrchk_dict[SCTAMT] = ' + str(to_dict['SCTAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SCTAMT不存在") if TradeContext.existVariable('SDTCNT'): to_dict['SDTCNT'] = TradeContext.SDTCNT AfaLoggerFunc.tradeDebug('atrchk_dict[SDTCNT] = ' + str(to_dict['SDTCNT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SDTCNT不存在") if TradeContext.existVariable('SDTAMT'): to_dict['SDTAMT'] = TradeContext.SDTAMT AfaLoggerFunc.tradeDebug('atrchk_dict[SDTAMT] = ' + str(to_dict['SDTAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SDTAMT不存在") if TradeContext.existVariable('NOTE1'): to_dict['NOTE1'] = TradeContext.NOTE1 AfaLoggerFunc.tradeDebug('atrchk_dict[NOTE1] = ' + str(to_dict['NOTE1'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE1不存在") if TradeContext.existVariable('NOTE2'): to_dict['NOTE2'] = TradeContext.NOTE2 AfaLoggerFunc.tradeDebug('atrchk_dict[NOTE2] = ' + str(to_dict['NOTE2'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE2不存在") if TradeContext.existVariable('NOTE3'): to_dict['NOTE3'] = TradeContext.NOTE3 AfaLoggerFunc.tradeDebug('atrchk_dict[NOTE3] = ' + str(to_dict['NOTE3'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE3不存在") if TradeContext.existVariable('NOTE4'): to_dict['NOTE4'] = TradeContext.NOTE4 AfaLoggerFunc.tradeDebug('atrchk_dict[NOTE4] = ' + str(to_dict['NOTE4'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE4不存在") return True
def map(to_dict): if TradeContext.existVariable('BJEDTE'): to_dict['BJEDTE'] = TradeContext.BJEDTE AfaLoggerFunc.tradeDebug('trccan_dict[BJEDTE] = ' + str(to_dict['BJEDTE'])) else: AfaLoggerFunc.tradeWarn("交易日期不能为空") return False if TradeContext.existVariable('BSPSQN'): to_dict['BSPSQN'] = TradeContext.BSPSQN AfaLoggerFunc.tradeDebug('trccan_dict[BSPSQN] = ' + str(to_dict['BSPSQN'])) else: AfaLoggerFunc.tradeWarn("报单序号不能为空") return False if TradeContext.existVariable('BRSFLG'): to_dict['BRSFLG'] = TradeContext.BRSFLG AfaLoggerFunc.tradeDebug('trccan_dict[BRSFLG] = ' + str(to_dict['BRSFLG'])) else: AfaLoggerFunc.tradeWarn("往来标志不能为空") return False if TradeContext.existVariable('BESBNO'): to_dict['BESBNO'] = TradeContext.BESBNO AfaLoggerFunc.tradeDebug('trccan_dict[BESBNO] = ' + str(to_dict['BESBNO'])) else: AfaLoggerFunc.tradeWarn("机构号不能为空") return False if TradeContext.existVariable('BEACSB'): to_dict['BEACSB'] = TradeContext.BEACSB AfaLoggerFunc.tradeDebug('trccan_dict[BEACSB] = ' + str(to_dict['BEACSB'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BEACSB不存在") if TradeContext.existVariable('BETELR'): to_dict['BETELR'] = TradeContext.BETELR AfaLoggerFunc.tradeDebug('trccan_dict[BETELR] = ' + str(to_dict['BETELR'])) else: AfaLoggerFunc.tradeWarn("柜员号不能为空") return False if TradeContext.existVariable('BEAUUS'): to_dict['BEAUUS'] = TradeContext.BEAUUS AfaLoggerFunc.tradeDebug('trccan_dict[BEAUUS] = ' + str(to_dict['BEAUUS'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BEAUUS不存在") if TradeContext.existVariable('NCCworkDate'): to_dict['NCCWKDAT'] = TradeContext.NCCworkDate AfaLoggerFunc.tradeDebug('trccan_dict[NCCWKDAT] = ' + str(to_dict['NCCWKDAT'])) else: AfaLoggerFunc.tradeWarn("中心日期不能为空") return False if TradeContext.existVariable('TRCCO'): to_dict['TRCCO'] = TradeContext.TRCCO AfaLoggerFunc.tradeDebug('trccan_dict[TRCCO] = ' + str(to_dict['TRCCO'])) else: AfaLoggerFunc.tradeWarn("交易码不能为空") return False if TradeContext.existVariable('TRCDAT'): to_dict['TRCDAT'] = TradeContext.TRCDAT AfaLoggerFunc.tradeDebug('trccan_dict[TRCDAT] = ' + str(to_dict['TRCDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCDAT不存在") if TradeContext.existVariable('SerialNo'): to_dict['TRCNO'] = TradeContext.SerialNo AfaLoggerFunc.tradeDebug('trccan_dict[TRCNO] = ' + str(to_dict['TRCNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SerialNo不存在") if TradeContext.existVariable('SNDMBRCO'): to_dict['SNDMBRCO'] = TradeContext.SNDMBRCO AfaLoggerFunc.tradeDebug('trccan_dict[SNDMBRCO] = ' + str(to_dict['SNDMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDMBRCO不存在") if TradeContext.existVariable('RCVMBRCO'): to_dict['RCVMBRCO'] = TradeContext.RCVMBRCO AfaLoggerFunc.tradeDebug('trccan_dict[RCVMBRCO] = ' + str(to_dict['RCVMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVMBRCO不存在") if TradeContext.existVariable('SNDBNKCO'): to_dict['SNDBNKCO'] = TradeContext.SNDBNKCO AfaLoggerFunc.tradeDebug('trccan_dict[SNDBNKCO] = ' + str(to_dict['SNDBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKCO不存在") if TradeContext.existVariable('SNDBNKNM'): to_dict['SNDBNKNM'] = TradeContext.SNDBNKNM AfaLoggerFunc.tradeDebug('trccan_dict[SNDBNKNM] = ' + str(to_dict['SNDBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKNM不存在") if TradeContext.existVariable('RCVBNKCO'): to_dict['RCVBNKCO'] = TradeContext.RCVBNKCO AfaLoggerFunc.tradeDebug('trccan_dict[RCVBNKCO] = ' + str(to_dict['RCVBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKCO不存在") if TradeContext.existVariable('RCVBNKNM'): to_dict['RCVBNKNM'] = TradeContext.RCVBNKNM AfaLoggerFunc.tradeDebug('trccan_dict[RCVBNKNM] = ' + str(to_dict['RCVBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKNM不存在") if TradeContext.existVariable('BOJEDT'): to_dict['BOJEDT'] = TradeContext.BOJEDT AfaLoggerFunc.tradeDebug('trccan_dict[BOJEDT] = ' + str(to_dict['BOJEDT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BOJEDT不存在") if TradeContext.existVariable('BOSPSQ'): to_dict['BOSPSQ'] = TradeContext.BOSPSQ AfaLoggerFunc.tradeDebug('trccan_dict[BOSPSQ] = ' + str(to_dict['BOSPSQ'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BOSPSQ不存在") if TradeContext.existVariable('ORTRCCO'): to_dict['ORTRCCO'] = TradeContext.ORTRCCO AfaLoggerFunc.tradeDebug('trccan_dict[ORTRCCO] = ' + str(to_dict['ORTRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.ORTRCCO不存在") if TradeContext.existVariable('CUR'): to_dict['CUR'] = TradeContext.CUR AfaLoggerFunc.tradeDebug('trccan_dict[CUR] = ' + str(to_dict['CUR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CUR不存在") if TradeContext.existVariable('OCCAMT'): to_dict['OCCAMT'] = TradeContext.OCCAMT AfaLoggerFunc.tradeDebug('trccan_dict[OCCAMT] = ' + str(to_dict['OCCAMT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.OCCAMT不存在") if TradeContext.existVariable('CLRESPN'): to_dict['CLRESPN'] = TradeContext.CLRESPN AfaLoggerFunc.tradeDebug('trccan_dict[CLRESPN] = ' + str(to_dict['CLRESPN'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CLRESPN不存在") if TradeContext.existVariable('PRCCO'): to_dict['PRCCO'] = TradeContext.PRCCO AfaLoggerFunc.tradeDebug('trccan_dict[PRCCO] = ' + str(to_dict['PRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.PRCCO不存在") if TradeContext.existVariable('CONT'): to_dict['STRINFO'] = TradeContext.CONT AfaLoggerFunc.tradeDebug('trccan_dict[STRINFO] = ' + str(to_dict['STRINFO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CONT不存在") if TradeContext.existVariable('NOTE1'): to_dict['NOTE1'] = TradeContext.NOTE1 AfaLoggerFunc.tradeDebug('trccan_dict[NOTE1] = ' + str(to_dict['NOTE1'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE1不存在") if TradeContext.existVariable('NOTE2'): to_dict['NOTE2'] = TradeContext.NOTE2 AfaLoggerFunc.tradeDebug('trccan_dict[NOTE2] = ' + str(to_dict['NOTE2'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE2不存在") if TradeContext.existVariable('NOTE3'): to_dict['NOTE3'] = TradeContext.NOTE3 AfaLoggerFunc.tradeDebug('trccan_dict[NOTE3] = ' + str(to_dict['NOTE3'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE3不存在") if TradeContext.existVariable('NOTE4'): to_dict['NOTE4'] = TradeContext.NOTE4 AfaLoggerFunc.tradeDebug('trccan_dict[NOTE4] = ' + str(to_dict['NOTE4'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE4不存在") return True
def map(to_dict): if TradeContext.existVariable('BJEDTE'): to_dict['BJEDTE'] = TradeContext.BJEDTE AfaLoggerFunc.tradeDebug('bilbka[BJEDTE] = ' + str(to_dict['BJEDTE'])) else: AfaLoggerFunc.tradeWarn("报单日期") return False if TradeContext.existVariable('BSPSQN'): to_dict['BSPSQN'] = TradeContext.BSPSQN AfaLoggerFunc.tradeDebug('bilbka[BSPSQN] = ' + str(to_dict['BSPSQN'])) else: AfaLoggerFunc.tradeWarn("报单序号") return False if TradeContext.existVariable('BRSFLG'): to_dict['BRSFLG'] = TradeContext.BRSFLG AfaLoggerFunc.tradeDebug('bilbka[BRSFLG] = ' + str(to_dict['BRSFLG'])) else: AfaLoggerFunc.tradeWarn("往来标识") return False if TradeContext.existVariable('BESBNO'): to_dict['BESBNO'] = TradeContext.BESBNO AfaLoggerFunc.tradeDebug('bilbka[BESBNO] = ' + str(to_dict['BESBNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BESBNO不存在") if TradeContext.existVariable('BEACSB'): to_dict['BEACSB'] = TradeContext.BEACSB AfaLoggerFunc.tradeDebug('bilbka[BEACSB] = ' + str(to_dict['BEACSB'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BEACSB不存在") if TradeContext.existVariable('BETELR'): to_dict['BETELR'] = TradeContext.BETELR AfaLoggerFunc.tradeDebug('bilbka[BETELR] = ' + str(to_dict['BETELR'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BETELR不存在") if TradeContext.existVariable('BEAUUS'): to_dict['BEAUUS'] = TradeContext.BEAUUS AfaLoggerFunc.tradeDebug('bilbka[BEAUUS] = ' + str(to_dict['BEAUUS'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BEAUUS不存在") if TradeContext.existVariable('BEAUPS'): to_dict['BEAUPS'] = TradeContext.BEAUPS AfaLoggerFunc.tradeDebug('bilbka[BEAUPS] = ' + str(to_dict['BEAUPS'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BEAUPS不存在") if TradeContext.existVariable('TERMID'): to_dict['TERMID'] = TradeContext.TERMID AfaLoggerFunc.tradeDebug('bilbka[TERMID] = ' + str(to_dict['TERMID'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TERMID不存在") if TradeContext.existVariable('BBSSRC'): to_dict['BBSSRC'] = TradeContext.BBSSRC AfaLoggerFunc.tradeDebug('bilbka[BBSSRC] = ' + str(to_dict['BBSSRC'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BBSSRC不存在") if TradeContext.existVariable('DASQ'): to_dict['DASQ'] = TradeContext.DASQ AfaLoggerFunc.tradeDebug('bilbka[DASQ] = ' + str(to_dict['DASQ'])) else: AfaLoggerFunc.tradeDebug("TradeContext.DASQ不存在") if TradeContext.existVariable('DCFLG'): to_dict['DCFLG'] = TradeContext.DCFLG AfaLoggerFunc.tradeDebug('bilbka[DCFLG] = ' + str(to_dict['DCFLG'])) else: AfaLoggerFunc.tradeDebug("TradeContext.DCFLG不存在") if TradeContext.existVariable('OPRNO'): to_dict['OPRNO'] = TradeContext.OPRNO AfaLoggerFunc.tradeDebug('bilbka[OPRNO] = ' + str(to_dict['OPRNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.OPRNO不存在") if TradeContext.existVariable('OPRATTNO'): to_dict['OPRATTNO'] = TradeContext.OPRATTNO AfaLoggerFunc.tradeDebug('bilbka[OPRATTNO] = ' + str(to_dict['OPRATTNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.OPRATTNO不存在") if TradeContext.existVariable('NCCWKDAT'): to_dict['NCCWKDAT'] = TradeContext.NCCWKDAT AfaLoggerFunc.tradeDebug('bilbka[NCCWKDAT] = ' + str(to_dict['NCCWKDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NCCWKDAT不存在") if TradeContext.existVariable('TRCCO'): to_dict['TRCCO'] = TradeContext.TRCCO AfaLoggerFunc.tradeDebug('bilbka[TRCCO] = ' + str(to_dict['TRCCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCCO不存在") if TradeContext.existVariable('TRCDAT'): to_dict['TRCDAT'] = TradeContext.TRCDAT AfaLoggerFunc.tradeDebug('bilbka[TRCDAT] = ' + str(to_dict['TRCDAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCDAT不存在") if TradeContext.existVariable('TRCNO'): to_dict['TRCNO'] = TradeContext.TRCNO AfaLoggerFunc.tradeDebug('bilbka[TRCNO] = ' + str(to_dict['TRCNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.TRCNO不存在") if TradeContext.existVariable('SNDMBRCO'): to_dict['SNDMBRCO'] = TradeContext.SNDMBRCO AfaLoggerFunc.tradeDebug('bilbka[SNDMBRCO] = ' + str(to_dict['SNDMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDMBRCO不存在") if TradeContext.existVariable('RCVMBRCO'): to_dict['RCVMBRCO'] = TradeContext.RCVMBRCO AfaLoggerFunc.tradeDebug('bilbka[RCVMBRCO] = ' + str(to_dict['RCVMBRCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVMBRCO不存在") if TradeContext.existVariable('SNDBNKCO'): to_dict['SNDBNKCO'] = TradeContext.SNDBNKCO AfaLoggerFunc.tradeDebug('bilbka[SNDBNKCO] = ' + str(to_dict['SNDBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKCO不存在") if TradeContext.existVariable('SNDBNKNM'): to_dict['SNDBNKNM'] = TradeContext.SNDBNKNM AfaLoggerFunc.tradeDebug('bilbka[SNDBNKNM] = ' + str(to_dict['SNDBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.SNDBNKNM不存在") if TradeContext.existVariable('RCVBNKCO'): to_dict['RCVBNKCO'] = TradeContext.RCVBNKCO AfaLoggerFunc.tradeDebug('bilbka[RCVBNKCO] = ' + str(to_dict['RCVBNKCO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKCO不存在") if TradeContext.existVariable('RCVBNKNM'): to_dict['RCVBNKNM'] = TradeContext.RCVBNKNM AfaLoggerFunc.tradeDebug('bilbka[RCVBNKNM] = ' + str(to_dict['RCVBNKNM'])) else: AfaLoggerFunc.tradeDebug("TradeContext.RCVBNKNM不存在") if TradeContext.existVariable('BILVER'): to_dict['BILVER'] = TradeContext.BILVER AfaLoggerFunc.tradeDebug('bilbka[BILVER] = ' + str(to_dict['BILVER'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BILVER不存在") return False if TradeContext.existVariable('BILNO'): to_dict['BILNO'] = TradeContext.BILNO AfaLoggerFunc.tradeDebug('bilbka[BILNO] = ' + str(to_dict['BILNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BILNO不存在") return False if TradeContext.existVariable('CHRGTYP'): to_dict['CHRGTYP'] = TradeContext.CHRGTYP AfaLoggerFunc.tradeDebug('bilbka[CHRGTYP] = ' + str(to_dict['CHRGTYP'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CHRGTYP不存在") if TradeContext.existVariable('LOCCUSCHRG'): to_dict['LOCCUSCHRG'] = TradeContext.LOCCUSCHRG AfaLoggerFunc.tradeDebug('bilbka[LOCCUSCHRG] = ' + str(to_dict['LOCCUSCHRG'])) else: AfaLoggerFunc.tradeDebug("TradeContext.LOCCUSCHRG不存在") if TradeContext.existVariable('BILRS'): to_dict['BILRS'] = TradeContext.BILRS AfaLoggerFunc.tradeDebug('bilbka[BILRS] = ' + str(to_dict['BILRS'])) else: AfaLoggerFunc.tradeDebug("TradeContext.BILRS不存在") return False if TradeContext.existVariable('HPCUSQ'): to_dict['HPCUSQ'] = TradeContext.HPCUSQ AfaLoggerFunc.tradeDebug('bilbka[HPCUSQ] = ' + str(to_dict['HPCUSQ'])) else: AfaLoggerFunc.tradeDebug("TradeContext.HPCUSQ不存在") if TradeContext.existVariable('HPSTAT'): to_dict['HPSTAT'] = TradeContext.HPSTAT AfaLoggerFunc.tradeDebug('bilbka[HPSTAT] = ' + str(to_dict['HPSTAT'])) else: AfaLoggerFunc.tradeDebug("TradeContext.HPSTAT不存在") if TradeContext.existVariable('CERTTYPE'): to_dict['CERTTYPE'] = TradeContext.CERTTYPE AfaLoggerFunc.tradeDebug('bilbka[CERTTYPE] = ' + str(to_dict['CERTTYPE'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CERTTYPE不存在") if TradeContext.existVariable('CERTNO'): to_dict['CERTNO'] = TradeContext.CERTNO AfaLoggerFunc.tradeDebug('bilbka[CERTNO] = ' + str(to_dict['CERTNO'])) else: AfaLoggerFunc.tradeDebug("TradeContext.CERTNO不存在") if TradeContext.existVariable('NOTE1'): to_dict['NOTE1'] = TradeContext.NOTE1 AfaLoggerFunc.tradeDebug('bilbka[NOTE1] = ' + str(to_dict['NOTE1'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE1不存在") if TradeContext.existVariable('NOTE2'): to_dict['NOTE2'] = TradeContext.NOTE2 AfaLoggerFunc.tradeDebug('bilbka[NOTE2] = ' + str(to_dict['NOTE2'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE2不存在") if TradeContext.existVariable('NOTE3'): to_dict['NOTE3'] = TradeContext.NOTE3 AfaLoggerFunc.tradeDebug('bilbka[NOTE3] = ' + str(to_dict['NOTE3'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE3不存在") if TradeContext.existVariable('NOTE4'): to_dict['NOTE4'] = TradeContext.NOTE4 AfaLoggerFunc.tradeDebug('bilbka[NOTE4] = ' + str(to_dict['NOTE4'])) else: AfaLoggerFunc.tradeDebug("TradeContext.NOTE4不存在") return True
def SubModuleDoFst(): AfaLoggerFunc.tradeInfo( '***农信银系统:往账.本地类操作(1.本地操作).异转本_卡应答[TRCC004_1158]进入***' ) #=================初始化返回信息============================================ if AfaUtilTools.trim(TradeContext.STRINFO) == "": TradeContext.STRINFO = rccpsDBFunc.getErrInfo(TradeContext.PRCCO) AfaLoggerFunc.tradeDebug("TradeContext.STRINFO=" + TradeContext.STRINFO) #=====根据参考报文标识号查找原交易==== TradeContext.ORSNDBNKCO = TradeContext.ORMFN[:10] #原发送行号 TradeContext.BOJEDT = TradeContext.ORMFN[10:18] #原交易日期 TradeContext.ORTRCNO = TradeContext.ORMFN[18:] #原交易流水号 wtr_dict = {} if not rccpsDBFunc.getTransWtrAK(TradeContext.ORSNDBNKCO,TradeContext.BOJEDT,TradeContext.ORTRCNO,wtr_dict): #=====查询原交易失败,等待前台超时发起冲正,抛弃此报文==== return AfaFlowControl.ExitThisFlow('S999','等待前台发起冲正,抛弃报文') AfaLoggerFunc.tradeInfo( '>>>查询原交易结束' ) #=================若应答报文回复拒绝,则设置状态为拒绝,停止处理============= if TradeContext.PRCCO != 'RCCI0000': AfaLoggerFunc.tradeInfo(">>>对方返回拒绝应答") #=============设置业务状态为拒绝处理中================================= if not rccpsState.newTransState(wtr_dict['BJEDTE'],wtr_dict['BSPSQN'],PL_BCSTAT_MFERFE,PL_BDWFLG_WAIT): return AfaFlowControl.ExitThisFlow('S999',"设置业务状态为拒绝成功异常") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") #=============设置业务状态为拒绝成功=================================== stat_dict = {} stat_dict['BJEDTE'] = wtr_dict['BJEDTE'] stat_dict['BSPSQN'] = wtr_dict['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', "设置业务状态为拒绝成功异常") if not AfaDBFunc.CommitSql( ): AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg ) return AfaFlowControl.ExitThisFlow("S999","Commit异常") return AfaFlowControl.ExitThisFlow('S999',"对方拒绝,交易终止") #====查找自动冲正登记簿是否存在本交易的冲正==== #====查找自动冲正登记簿是否存在本交易的冲正==== wheresql = '' wheresql = wheresql + "BOJEDT = '" + wtr_dict['BJEDTE'] + "'" #报单日期 wheresql = wheresql + "AND BOSPSQ = '" + wtr_dict['BSPSQN'] + "'" #报单序号 ret = rccpsDBTrcc_atcbka.count(wheresql) if ret == -1: return AfaFlowControl.ExitThisFlow('S999','查找自动冲正登记簿异常') elif ret > 0: #=====原交易已自动冲正,抛弃报文==== return AfaFlowControl.ExitThisFlow('S999','原交易已冲正,抛弃报文') AfaLoggerFunc.tradeInfo( '>>>查询冲正登记簿结束' ) #=====主机记账前处理==== TradeContext.BESBNO = wtr_dict['BESBNO'] #机构号 TradeContext.BETELR = wtr_dict['BETELR'] #柜员号 TradeContext.BEAUUS = wtr_dict['BEAUUS'] #授权柜员 TradeContext.BEAUPS = wtr_dict['BEAUPS'] #授权密码 TradeContext.TERMID = wtr_dict['TERMID'] #终端号 TradeContext.BJEDTE = wtr_dict['BJEDTE'] #交易日期 TradeContext.BSPSQN = wtr_dict['BSPSQN'] #报单序号 TradeContext.BRSFLG = wtr_dict['BRSFLG'] #往来账标志 TradeContext.HostCode= '8813' #主机交易码 AfaLoggerFunc.tradeInfo( '>>>主机前处理赋值结束' ) #=====开始更新原交易,新增状态记账-处理中==== if not rccpsState.newTransState(wtr_dict['BJEDTE'],wtr_dict['BSPSQN'],PL_BCSTAT_ACC,PL_BDWFLG_WAIT): #=====RollBack操作==== AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow('M999', '设置状态失败,系统自动回滚') else: #=====commit操作==== AfaDBFunc.CommitSql() AfaLoggerFunc.tradeInfo( '>>>设置状态记账-处理中结束' ) #=====根据原记录中的手续费收取方式,判断账务处理模式==== if wtr_dict['CHRGTYP'] == '1': #=====转账==== TradeContext.ACUR = '3' #记账次数 #=========交易金额+手续费=================== TradeContext.RCCSMCD = PL_RCCSMCD_YZBWZ #摘要代码 PL_RCCSMCD_YZBWZ 异转本 TradeContext.SBAC = TradeContext.BESBNO + PL_ACC_NXYDQSWZ #借方账号 TradeContext.SBAC = rccpsHostFunc.CrtAcc(TradeContext.SBAC,25) TradeContext.ACNM = '农信银往账' #借方户名 TradeContext.RBAC = TradeContext.BESBNO + PL_ACC_NXYDJLS #贷方账号 TradeContext.RBAC = rccpsHostFunc.CrtAcc(TradeContext.RBAC,25) TradeContext.OTNM = '应解汇款' #贷方户名 TradeContext.OCCAMT = str(wtr_dict['OCCAMT'] + wtr_dict['CUSCHRG']) #发生额 TradeContext.PKFG = 'T' TradeContext.CTFG = '9' TradeContext.WARNTNO = '' TradeContext.CERTTYPE = '' TradeContext.CERTNO = '' AfaLoggerFunc.tradeInfo( '>>>交易金额+手续费:借方账号' + TradeContext.SBAC ) AfaLoggerFunc.tradeInfo( '>>>交易金额+手续费:贷方账号' + TradeContext.RBAC ) #=========交易金额============ TradeContext.I2SMCD = PL_RCCSMCD_YZBWZ #摘要代码 TradeContext.I2SBAC = TradeContext.BESBNO + PL_ACC_NXYDJLS #借方账号 TradeContext.I2SBAC = rccpsHostFunc.CrtAcc(TradeContext.I2SBAC,25) TradeContext.I2ACNM = '应解汇款' #借方户名 TradeContext.I2RBAC = TradeContext.PYEACC #贷方账号 TradeContext.I2OTNM = TradeContext.PYENAM #贷方户名 TradeContext.I2TRAM = str(wtr_dict['OCCAMT']) #发生额 TradeContext.I2CTFG = '7' TradeContext.I2PKFG = 'T' #TradeContext.I2WARNTNO = '' #TradeContext.I2CERTTYPE = '' #TradeContext.I2CERTNO = '' AfaLoggerFunc.tradeInfo( '>>>交易金额:借方账号' + TradeContext.I2SBAC ) AfaLoggerFunc.tradeInfo( '>>>交易金额:贷方账号' + TradeContext.I2RBAC ) #=========结算手续费收入户=========== TradeContext.I3SMCD = PL_RCCSMCD_SXF #摘要代码 TradeContext.I3SBAC = TradeContext.BESBNO + PL_ACC_NXYDJLS #借方账号 TradeContext.I3SBAC = rccpsHostFunc.CrtAcc(TradeContext.I3SBAC,25) TradeContext.I3ACNM = '应解汇款' #借方户名 TradeContext.I3RBAC = TradeContext.BESBNO + PL_ACC_TCTDSXF #贷方账号 TradeContext.I3RBAC = rccpsHostFunc.CrtAcc(TradeContext.I3RBAC,25) TradeContext.I3OTNM = '结算手续费' #贷方户名 TradeContext.I3TRAM = str(wtr_dict['CUSCHRG']) #发生额 TradeContext.I3CTFG = '8' TradeContext.I3PKFG = 'T' AfaLoggerFunc.tradeInfo( '>>>结算手续费收入户:借方账号' + TradeContext.I3SBAC ) AfaLoggerFunc.tradeInfo( '>>>结算手续费收入户:贷方账号' + TradeContext.I3RBAC ) elif wtr_dict['CHRGTYP'] == '0': #=====本金==== TradeContext.ACUR = '2' #记账次数 TradeContext.RCCSMCD = PL_RCCSMCD_YZBWZ #摘要代码 TradeContext.SBAC = TradeContext.BESBNO + PL_ACC_NXYDQSWZ #借方账号 TradeContext.SBAC = rccpsHostFunc.CrtAcc(TradeContext.SBAC,25) TradeContext.ACNM = '农信银往账' #借方户名 TradeContext.RBAC = TradeContext.PYEACC #贷方账号 TradeContext.OTNM = TradeContext.PYENAM #贷方户名 TradeContext.OCCAMT = str(wtr_dict['OCCAMT']) #金额 TradeContext.CTFG = '7' TradeContext.PKFG = 'T' TradeContext.WARNTNO = '' TradeContext.CERTTYPE = '' TradeContext.CERTNO = '' #=====手续费记账赋值==== TradeContext.I2SMCD = PL_RCCSMCD_SXF #摘要代码 TradeContext.I2SBAC = '' #借方账号 TradeContext.I2RBAC = TradeContext.BESBNO + PL_ACC_TCTDSXF #贷方账号 TradeContext.I2RBAC = rccpsHostFunc.CrtAcc(TradeContext.I2RBAC,25) TradeContext.I2OTNM = '手续费科目' #贷方户名 TradeContext.I2TRAM = str(wtr_dict['CUSCHRG']) #金额 TradeContext.I2CTFG = '8' TradeContext.I2PKFG = 'T' TradeContext.I2CATR = '0' #现转标志 elif wtr_dict['CHRGTYP'] == '2': #=====不收费==== TradeContext.ACUR = '1' #记账次数 TradeContext.RCCSMCD = PL_RCCSMCD_YZBWZ #摘要代码 TradeContext.SBAC = TradeContext.BESBNO + PL_ACC_NXYDQSWZ #借方账号 TradeContext.SBAC = rccpsHostFunc.CrtAcc(TradeContext.SBAC,25) TradeContext.RBAC = TradeContext.PYEACC #贷方账号 TradeContext.OTNM = TradeContext.PYENAM #贷方户名 TradeContext.OCCAMT = str(wtr_dict['OCCAMT']) #金额 TradeContext.CTFG = '7' TradeContext.PKFG = 'T' TradeContext.WARNTNO = '' TradeContext.CERTTYPE = '' TradeContext.CERTNO = '' else: #=====出错==== return AfaFlowControl.ExitThisFlow('S999','手续费收费方式错,抛弃报文') AfaLoggerFunc.tradeInfo( '>>>根据手续费收取方式记账赋值处理结束' ) #=====主机记账处理==== rccpsHostFunc.CommHost(TradeContext.HostCode) #=====主机后处理==== set_dict = {} set_dict['BSPSQN'] = TradeContext.BSPSQN set_dict['BJEDTE'] = TradeContext.BJEDTE set_dict['BCSTAT'] = PL_BCSTAT_ACC set_dict["SBAC"] = TradeContext.SBAC #借方账号 set_dict["RBAC"] = TradeContext.RBAC #贷方账号 set_dict["OTNM"] = TradeContext.OTNM #贷方户名 set_dict['MGID'] = TradeContext.errorCode #主机返回码 set_dict["STRINFO"]= TradeContext.errorMsg #主机返回信息 if TradeContext.errorCode == '0000': #=====主机记账成功==== set_dict['BDWFLG'] = PL_BDWFLG_SUCC set_dict['TRDT'] = TradeContext.TRDT set_dict['TLSQ'] = TradeContext.TLSQ else: set_dict['BDWFLG'] = PL_BDWFLG_FAIL if not rccpsState.setTransState(set_dict): return AfaFlowControl.ExitThisFlow(TradeContext.errorCode, TradeContext.errorMsg) else: #=====commit操作==== AfaDBFunc.CommitSql() AfaLoggerFunc.tradeInfo('>>>设置主机返回状态成功') if TradeContext.errorCode == '0000': #=====开始更新原交易,新增状态清算成功==== if not rccpsState.newTransState(wtr_dict['BJEDTE'],wtr_dict['BSPSQN'],PL_BCSTAT_MFESTL,PL_BDWFLG_SUCC): #=====RollBack操作==== AfaDBFunc.RollbackSql() return AfaFlowControl.ExitThisFlow('M999', '设置状态失败,系统自动回滚') else: #=====commit操作==== AfaDBFunc.CommitSql() AfaLoggerFunc.tradeInfo( '***农信银系统:往账.本地类操作(1.本地操作).异转本_卡应答[TRCC004_1158]退出***' ) return True
def map(from_dict,to_dict): if from_dict.has_key('FEDT'): to_dict['FEDT'] = from_dict['FEDT'] AfaLoggerFunc.tradeDebug('bil_dict[FEDT] = ' + str(to_dict['FEDT'])) else: AfaLoggerFunc.tradeDebug("stat_dict['FEDT']不存在") if from_dict.has_key('RBSQ'): to_dict['RBSQ'] = from_dict['RBSQ'] AfaLoggerFunc.tradeDebug('bil_dict[RBSQ] = ' + str(to_dict['RBSQ'])) else: AfaLoggerFunc.tradeDebug("stat_dict['RBSQ']不存在") if from_dict.has_key('TRDT'): to_dict['TRDT'] = from_dict['TRDT'] AfaLoggerFunc.tradeDebug('bil_dict[TRDT] = ' + str(to_dict['TRDT'])) else: AfaLoggerFunc.tradeDebug("stat_dict['TRDT']不存在") if from_dict.has_key('TLSQ'): to_dict['TLSQ'] = from_dict['TLSQ'] AfaLoggerFunc.tradeDebug('bil_dict[TLSQ] = ' + str(to_dict['TLSQ'])) else: AfaLoggerFunc.tradeDebug("stat_dict['TLSQ']不存在") if from_dict.has_key('SBAC'): to_dict['SBAC'] = from_dict['SBAC'] AfaLoggerFunc.tradeDebug('bil_dict[SBAC] = ' + str(to_dict['SBAC'])) else: AfaLoggerFunc.tradeDebug("stat_dict['SBAC']不存在") if from_dict.has_key('ACNM'): to_dict['ACNM'] = from_dict['ACNM'] AfaLoggerFunc.tradeDebug('bil_dict[ACNM] = ' + str(to_dict['ACNM'])) else: AfaLoggerFunc.tradeDebug("stat_dict['ACNM']不存在") if from_dict.has_key('RBAC'): to_dict['RBAC'] = from_dict['RBAC'] AfaLoggerFunc.tradeDebug('bil_dict[RBAC] = ' + str(to_dict['RBAC'])) else: AfaLoggerFunc.tradeDebug("stat_dict['RBAC']不存在") if from_dict.has_key('OTNM'): to_dict['OTNM'] = from_dict['OTNM'] AfaLoggerFunc.tradeDebug('bil_dict[OTNM] = ' + str(to_dict['OTNM'])) else: AfaLoggerFunc.tradeDebug("stat_dict['OTNM']不存在") if from_dict.has_key('DASQ'): to_dict['DASQ'] = from_dict['DASQ'] AfaLoggerFunc.tradeDebug('bil_dict[DASQ] = ' + str(to_dict['DASQ'])) else: AfaLoggerFunc.tradeDebug("stat_dict['DASQ']不存在") if from_dict.has_key('MGID'): to_dict['MGID'] = from_dict['MGID'] AfaLoggerFunc.tradeDebug('bil_dict[MGID] = ' + str(to_dict['MGID'])) else: AfaLoggerFunc.tradeDebug("stat_dict['MGID']不存在") if from_dict.has_key('PRCCO'): to_dict['PRCCO'] = from_dict['PRCCO'] AfaLoggerFunc.tradeDebug('bil_dict[PRCCO] = ' + str(to_dict['PRCCO'])) else: AfaLoggerFunc.tradeDebug("stat_dict['PRCCO']不存在") if from_dict.has_key('STRINFO'): to_dict['STRINFO'] = from_dict['STRINFO'] AfaLoggerFunc.tradeDebug('bil_dict[STRINFO] = ' + str(to_dict['STRINFO'])) else: AfaLoggerFunc.tradeDebug("stat_dict['STRINFO']不存在") if from_dict.has_key('BCSTAT'): to_dict['BCSTAT'] = from_dict['BCSTAT'] AfaLoggerFunc.tradeDebug('bil_dict[BCSTAT] = ' + str(to_dict['BCSTAT'])) else: AfaLoggerFunc.tradeDebug("stat_dict['BCSTAT']不存在") if from_dict.has_key('BDWFLG'): to_dict['BDWFLG'] = from_dict['BDWFLG'] AfaLoggerFunc.tradeDebug('bil_dict[BDWFLG] = ' + str(to_dict['BDWFLG'])) else: AfaLoggerFunc.tradeDebug("stat_dict['BDWFLG']不存在") if from_dict.has_key('PRTCNT'): to_dict['PRTCNT'] = from_dict['PRTCNT'] AfaLoggerFunc.tradeDebug('bil_dict[PRTCNT] = ' + str(to_dict['PRTCNT'])) else: AfaLoggerFunc.tradeDebug("stat_dict['PRTCNT']不存在") if from_dict.has_key('BJETIM'): to_dict['BJETIM'] = from_dict['BJETIM'] AfaLoggerFunc.tradeDebug('bil_dict[BJETIM] = ' + str(to_dict['BJETIM'])) else: AfaLoggerFunc.tradeDebug("stat_dict['BJETIM']不存在") return True