Beispiel #1
0
def GetRBSQ( 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.tradeDebug('>>>开始判断交易代码')
    #====判断交易代码是否存在(中心7位代码)====
    if( not TradeContext.existVariable( "TRCCO" ) ):
        raise AfaFlowControl.ExitThisFlow('M999','交易代码[TRCCO]字段值不存在' )
    #=====判断业务类型,根据交易取不同类型====
    AfaLoggerFunc.tradeDebug('>>>开始判断业务类型')
    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.RBSQ=TradeContext.Serialno+BRSFLG+str(records[0][0]).rjust(6,'0' )

    AfaLoggerFunc.tradeInfo( '>>>前置流水号' + TradeContext.RBSQ )

    return str( records[0][0] )
Beispiel #2
0
def SubModuleMainFst( ):
    AfaLoggerFunc.tradeInfo('状态变更通知交易前处理[T'+TradeContext.TemplateCode+'_'+TradeContext.TransCode+']' )
    try:
        if( not TradeContext.existVariable( "nextWorkDate" ) ):
            return TipsFunc.ExitThisFlow( '93002', 'TIPS工作日期[nextWorkDate]值不存在!' )
        if(  len(TradeContext.nextWorkDate)!=8 ):
            return TipsFunc.ExitThisFlow( '93001', 'TIPS工作日期[nextWorkDate]值不合法!' )
        if( not TradeContext.existVariable( "SysStat" ) ):
            return TipsFunc.ExitThisFlow( '93002', 'TIPS[SysStat]值不存在!' )
        
        if TradeContext.SysStat=='0':#日间
            #应用运行状态为:运行
            if(not TipsFunc.UpdAppStatus('1')):                                  
                return TipsFunc.ExitThisFlow( 'A0001', '修改应用运行状态失败!' )
            #修改应用工作日期
            if(not TipsFunc.UpdAppWorkDate(TradeContext.nextWorkDate)):
                return TipsFunc.ExitThisFlow( 'A0001', '修改应用工作日期失败!' )
        if TradeContext.SysStat=='1':#日切窗口
            #修改应用工作日期
            if(not TipsFunc.UpdAppWorkDate(TradeContext.nextWorkDate)):
                return TipsFunc.ExitThisFlow( 'A0001', '修改应用工作日期失败!' )
        if TradeContext.SysStat=='2':#系统维护状态
            #应用运行状态为:暂停
            if(not TipsFunc.UpdAppStatus('2')):                                  
                return TipsFunc.ExitThisFlow( 'A0001', '修改应用运行状态失败!' )

        TradeContext.errorCode = '0000'
        TradeContext.errorMsg = '交易成功' 
        #=============自动打包====================
        AfaLoggerFunc.tradeInfo('状态变更通知前处理结束[T'+TradeContext.TemplateCode+'_'+TradeContext.TransCode+']' )
        return True
    except Exception, e:
        return TipsFunc.exitMainFlow(str(e))
Beispiel #3
0
def Insert():
    try:
        if( TradeContext.existVariable( "PAYEEBANKNO" ) and len(TradeContext.PAYEEBANKNO)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[清算国库支付系统行号]:不能为空')
        if( TradeContext.existVariable( "TRECODE" ) and len(TradeContext.TRECODE)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[清算国库代码]:不能为空')
        if( TradeContext.existVariable( "TRENAME" ) and len(TradeContext.TRENAME)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[清算国库名称]:不能为空')
        if( TradeContext.existVariable( "PAYEEACCT" ) and len(TradeContext.PAYEEACCT)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[清算国库收款账号]:不能为空')
        if( TradeContext.existVariable( "PAYEEACCTNAME" ) and len(TradeContext.PAYEEACCTNAME)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[清算国库收款账户名称]:不能为空')
        if( TradeContext.existVariable( "PAYBKCODE" ) and len(TradeContext.PAYBKCODE)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[国库关联行行号]:不能为空')
        if( TradeContext.existVariable( "PAYBKNAME" ) and len(TradeContext.PAYBKNAME)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[国库关联行名称]:不能为空')
        if( TradeContext.existVariable( "LIQUIDATEMODE" ) and len(TradeContext.LIQUIDATEMODE)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[清算模式]:不能为空')
        if( TradeContext.existVariable( "BRNO" ) and len(TradeContext.BRNO)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[机构代码]:不能为空')
        if( TradeContext.existVariable( "TELLERNO" ) and len(TradeContext.TELLERNO)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[交易柜员]:不能为空')

        sql="SELECT PAYEEBANKNO,TRECODE,TRENAME,PAYEEACCT,PAYEEACCTNAME,PAYBKCODE,PAYBKNAME,LIQUIDATEMODE,STATUS,BRNO,TELLERNO,NOTE1,NOTE2,NOTE3,NOTE4,NOTE5 "
        sql=sql+" FROM TIPS_LIQUIDATE_ADM WHERE 1=1 "
        sql=sql+"AND PAYEEBANKNO='"+ TradeContext.PAYEEBANKNO+"'"
        sql=sql+"AND PAYBKCODE='"+ TradeContext.PAYBKCODE+"'"
        AfaLoggerFunc.tradeInfo(sql)
        records = AfaDBFunc.SelectSql(sql)
        if( records == None ):
            AfaLoggerFunc.tradeFatal(sql)
            return AfaFlowControl.ExitThisFlow( 'A0002', '数据库操作异常:'+AfaDBFunc.sqlErrMsg )
        elif( len(records) > 0 ):
            return AfaFlowControl.ExitThisFlow( 'A0027', '已存在此清算信息' )

            
        sql="INSERT INTO  TIPS_LIQUIDATE_ADM(PAYEEBANKNO,TRECODE,TRENAME,PAYEEACCT,PAYEEACCTNAME,PAYBKCODE,PAYBKNAME,LIQUIDATEMODE,STATUS,BRNO,TELLERNO) "
        sql=sql+" VALUES "
        sql=sql+"('"+ TradeContext.PAYEEBANKNO  +"'"
        sql=sql+",'"+ TradeContext.TRECODE      +"'"
        sql=sql+",'"+ TradeContext.TRENAME      +"'"
        sql=sql+",'"+ TradeContext.PAYEEACCT    +"'"
        sql=sql+",'"+ TradeContext.PAYEEACCTNAME+"'"
        sql=sql+",'"+ TradeContext.PAYBKCODE    +"'"
        sql=sql+",'"+ TradeContext.PAYBKNAME    +"'"
        sql=sql+",'"+ TradeContext.LIQUIDATEMODE+"'"
        sql=sql+",'"+ '1'                       +"'"
        sql=sql+",'"+ TradeContext.BRNO         +"'"
        sql=sql+",'"+ TradeContext.TELLERNO     +"'"
        sql=sql+" ) "              
        AfaLoggerFunc.tradeInfo(sql)
        records = AfaDBFunc.InsertSqlCmt(sql)
        
        if( records == None or records <=0  ):
            AfaLoggerFunc.tradeFatal(sql)
            return AfaFlowControl.ExitThisFlow( 'A0002', '数据库操作异常:'+AfaDBFunc.sqlErrMsg )
        return True
    except Exception, e:
        AfaLoggerFunc.tradeInfo(e)
        return AfaFlowControl.ExitThisFlow('9999', '程序处理异常'+str(e))
Beispiel #4
0
def SubModuleDoFst( ):
    
    AfaLoggerFunc.tradeInfo( '初始化汇总查询交易变量' )
    
    if( not (TradeContext.existVariable( "insuid" ) ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '机构号[insuid]值不存在!' )

    if( not (TradeContext.existVariable( "productid" ) ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '险种[productid]值不存在!' )

    if( not (TradeContext.existVariable( "instno" ) ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '机构号[instno]值不存在!' )

    if( not (TradeContext.existVariable( "salerno" ) ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '销售员工工号[salerno]值不存在!' )

    if( not (TradeContext.existVariable( "startdate" ) and TradeContext.startdate != '00000000') ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '起始日期[startdate]值不存在!' )

    if( not (TradeContext.existVariable( "enddate" ) and TradeContext.enddate != '00000000' ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '截止日期[enddate]值不存在!' )

    if( not TradeContext.existVariable( "channelCode" ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '渠道代码[channelCode]值不存在!' )

    if( TradeContext.channelCode == '005' ):
        
        if( not TradeContext.existVariable( "tellerno" ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '柜员号[tellerno]值不存在!' )
        if( not TradeContext.existVariable( "brno" ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '网点号[brno]值不存在!' )
        if( not TradeContext.existVariable( "termid" ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '柜员号[termid]值不存在!' )
   
    return True
Beispiel #5
0
def ADBUpdateQueDtl( ):
    sqlupdate = ""
    AfaLoggerFunc.tradeInfo( '>>>>>>>新报试算更新原交易流水<<<<<<<')
    sqlupdate = sqlupdate + "update afa_adbinfo set "
    sqlupdate = sqlupdate + " note8 = '"+TradeContext.errorMsg.strip()+"' "
    if( TradeContext.errorCode.strip() == "0000"):
        sqlupdate = sqlupdate + ", dtlstatus = '0' "
        sqlupdate = sqlupdate + ", amount = '"+TradeContext.PaymentAmt.strip()+"' "
    #太保业务员号码
    if( TradeContext.existVariable( "CpicTeller" ) and len(TradeContext.CpicTeller.strip()) > 0):
        sqlupdate = sqlupdate + ", CpicTeller = '"+TradeContext.CpicTeller.strip()+"'"
    #被保人姓名
    if( TradeContext.existVariable( "FullNameB" ) and len(TradeContext.FullNameB.strip()) > 0):
        sqlupdate = sqlupdate + ", UserNameB = '"+TradeContext.FullNameB.strip()+"'"
    #被保人证件号码
    if( TradeContext.existVariable( "GovtIDB" ) and len(TradeContext.GovtIDB.strip()) > 0):
        sqlupdate = sqlupdate + ", IdCodeB = '"+TradeContext.GovtIDB.strip()+"'"
    sqlupdate = sqlupdate + " where sysid = '"+TradeContext.sysId+"' and agentserialno = '"+TradeContext.agentSerialno+"'"
    AfaLoggerFunc.tradeInfo( 'sqlupdate = ' + str(sqlupdate))
    record=AfaDBFunc.UpdateSqlCmt( sqlupdate )
    if( record > 0 ):
        AfaLoggerFunc.tradeInfo( '>>>>>>>更新新报试算原交易流水成功<<<<<<<')
        return True
    if( record == 0 ):
        AfaLoggerFunc.tradeInfo( '>>>>>>>更新新报试算原交易流水失败<<<<<<<')
        TradeContext.errorCode,TradeContext.errorMsg='A0100','未发现原始交易'
        return False
    else :
        AfaLoggerFunc.tradeInfo( '>>>>>>>更新新报试算原交易流水失败<<<<<<<')
        TradeContext.errorCode, TradeContext.errorMsg='A0100', '更新原交易状态失败' + AfaDBFunc.sqlErrMsg
        return False
Beispiel #6
0
def Delete():
    try:
        if( TradeContext.existVariable( "BRNO" ) and len(TradeContext.BRNO)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[分行行号]:不能为空')

        sql="SELECT BRNO,PAYBKCODE,BANKNO,BANKACCT,BANKNAME,PAYEEBANKNO,STATUS,ACCNO,NOTE1,NOTE2,NOTE3,NOTE4,NOTE5 "
        sql=sql+" FROM TIPS_BRANCH_ADM WHERE 1=1 "
        sql=sql+"AND BRNO='"+ TradeContext.BRNO+"'"
        AfaLoggerFunc.tradeInfo(sql)
        records = AfaDBFunc.SelectSql(sql)
        if( records == None ):
            AfaLoggerFunc.tradeFatal(sql)
            return AfaFlowControl.ExitThisFlow( 'A0002', '数据库操作异常:'+AfaDBFunc.sqlErrMsg )
        elif( len( records ) == 0 ):
            return AfaFlowControl.ExitThisFlow( 'A0027', '不存在此上线行信息' )

            
        sql="DELETE "
        sql=sql+" FROM TIPS_BRANCH_ADM WHERE 1=1 "
        if( TradeContext.existVariable( "BRNO" ) and len(TradeContext.BRNO)>0):
            sql=sql+"AND BRNO='"+ TradeContext.BRNO+"'"
        AfaLoggerFunc.tradeInfo(sql)
        records = AfaDBFunc.DeleteSqlCmt(sql)
        if( records == None or records <=0 ):
            AfaLoggerFunc.tradeFatal(sql)
            return AfaFlowControl.ExitThisFlow( 'A0002', '数据库操作异常:'+AfaDBFunc.sqlErrMsg )
        return True
    except Exception, e:
        AfaLoggerFunc.tradeInfo(e)
        return AfaFlowControl.ExitThisFlow('9999', '程序处理异常'+str(e))
Beispiel #7
0
def SubModuleDoFst( ):
     
    AfaLoggerFunc.tradeInfo( '反交易变量值的有效性校验' )
   
    #交易代码
    TradeContext.tradeCode = TradeContext.TransCode
    
    if( not TradeContext.existVariable( "PreSerialno" ) ):
        return AfaFlowControl.ExitThisFlow( 'A0001', '原交易流水号[PreSerialno]值不存在!' )
   
    if( not TradeContext.existVariable( "channelCode" ) ):
        return AfaFlowControl.ExitThisFlow( 'A0001', '渠道代码[channelCode]值不存在!' )
    
    if( TradeContext.channelCode == '005' ):
        
        if( not TradeContext.existVariable( "tellerno" ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '柜员号[tellerno]值不存在!' )
        
        if( not TradeContext.existVariable( "brno" ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '网点号[brno]值不存在!' )
        
        if( not TradeContext.existVariable( "termid" ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '柜员号[termid]值不存在!' )
    
    return True
Beispiel #8
0
def TrxMain( ):
    
    try:
        AfaLoggerFunc.tradeInfo('---------安徽省批量状态查询进入------------')
       
        #业务编号
        if not( TradeContext.existVariable( "I1APPNO" ) and len(TradeContext.I1APPNO.strip()) > 0):
            TradeContext.errorCode,TradeContext.errorMsg = 'E9999', "不存在业务编号"
            raise AfaFlowControl.flowException( )
       
        #单位编号
        if not( TradeContext.existVariable( "I1BUSINO" ) and len(TradeContext.I1BUSINO.strip()) > 0):
            TradeContext.errorCode,TradeContext.errorMsg = 'E9999', "不存在单位编号"
            raise AfaFlowControl.flowException( )   
       
        #申请日期
        if not( TradeContext.existVariable( "I1WORKDATE" ) and len(TradeContext.I1WORKDATE.strip()) > 0):
            TradeContext.errorCode,TradeContext.errorMsg = 'E9999', "不存在申请日期"
            raise AfaFlowControl.flowException( )   
         
        
        #批次号
        if not( TradeContext.existVariable( "I1BATCHNO" ) and len(TradeContext.I1BATCHNO.strip()) > 0):
            TradeContext.errorCode,TradeContext.errorMsg = 'E9999', "不存在批次号"
            raise AfaFlowControl.flowException( )
            
        sql = ''
        sql = "select procmsg from ahnx_file"
        sql = sql + " where workdate = '"+ TradeContext.I1WORKDATE + "' "  
        sql = sql + " and   batchno  = '"+ TradeContext.I1BATCHNO  + "' "   
        if TradeContext.I1APPNO != "NBKH":
            sql = sql + " and appno  = '"+ TradeContext.I1APPNO    +"' "  
            sql = sql + " and busino = '"+ TradeContext.I1BUSINO   + "' " 
        
        
        AfaLoggerFunc.tradeInfo('>>>>>>>开始查询原交易:'+ str(sql))
        records = AfaDBFunc.SelectSql( sql ) 
                  
        if records==None:
            TradeContext.errorCode,TradeContext.errorMsg = "0001" ,"查询AHNX_FILE表失败"
            AfaLoggerFunc.tradeInfo('>>>>>>>:'+ TradeContext.errorMsg)
            return False
            
        if(len(records) == 0):
            TradeContext.errorCode,TradeContext.errorMsg = "0001","无此信息"
            AfaLoggerFunc.tradeInfo('>>>>>>>:'+ TradeContext.errorMsg)
            return False   
        
        else:
            TradeContext.O1DESCRIBE = records[0][0]
            TradeContext.errorCode='0000'
        AfaLoggerFunc.tradeInfo('---------安徽省批量状态查询退出------------')
        return True
    
    except Exception, e:
        AfaLoggerFunc.tradeInfo( str(e) )
        return False
Beispiel #9
0
def SubModuleDoFst():
    
    #====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============
    
    #=================查询原交易信息============================================
    
    if not TradeContext.existVariable('BJEDTE'):
        return AfaFlowControl.ExitThisFlow("S999", "查询日期不能为空")
    
    if not TradeContext.existVariable('RCVBNKCO'):
        return AfaFlowControl.ExitThisFlow("S999", "接收行行号不能为空")
        
    #=================登记查询书信息============================================
    AfaLoggerFunc.tradeInfo(">>>开始登记票据业务查询书信息")
    
    TradeContext.NCCWKDAT = TradeContext.NCCworkDate
    TradeContext.ISDEAL   = PL_ISDEAL_UNDO            #查复标识为未查复
    
    pjcbka_insert_dict = {}
    if not rccpsMap8514CTradeContext2Dpjcbka.map(pjcbka_insert_dict):
        return AfaFlowControl.ExitThisFlow("S999", "为票据业务查询查复登记簿赋值异常")
        
    ret = rccpsDBTrcc_pjcbka.insertCmt(pjcbka_insert_dict)
    
    if ret <= 0:
        return AfaFlowControl.ExitThisFlow("S999", "登记票据业务查询书信息异常")
    
    AfaLoggerFunc.tradeInfo(">>>结束登记票据业务查询书信息")
    
    #=================为票据查询书报文赋值======================================
    AfaLoggerFunc.tradeInfo(">>>开始为票据查询书报文赋值")
    
    TradeContext.MSGTYPCO   = 'SET008'
    TradeContext.SNDBRHCO   = TradeContext.BESBNO
    TradeContext.SNDCLKNO   = TradeContext.BETELR
    TradeContext.SNDTRDAT   = TradeContext.BJEDTE
    TradeContext.SNDTRTIM   = TradeContext.BJETIM
    TradeContext.MSGFLGNO   = TradeContext.SNDSTLBIN + TradeContext.TRCDAT + TradeContext.SerialNo
    TradeContext.NCCWKDAT   = TradeContext.NCCworkDate
    TradeContext.OPRTYPNO   = '99'
    TradeContext.ROPRTPNO   = '20'
    TradeContext.TRANTYP    = '0'
    #TradeContext.TRCDAT     = TradeContext.BJEDTE
    TradeContext.TRCNO      = TradeContext.SerialNo
    #TradeContext.BILPNAM    = TradeContext.PYENAM
    #TradeContext.BILAMT   = str(TradeContext.BILAMT)
    
    AfaLoggerFunc.tradeInfo(">>>结束为票据查询书报文赋值")
    
    
    return True
Beispiel #10
0
def SubTransDtlProc( action ):

    AfaLoggerFunc.tradeInfo( '>>>增加交易流水从表信息' )

    #新增
    if ( action == '1' ):
        sql = "INSERT INTO AFA_SUBTRANSDTL(AGENTSERIALNO,WORKDATE,RECSEQNO,DATA1,DATA2) VALUES("    
        sql = sql + "'"  +  TradeContext.agentSerialno  + "'"
        sql = sql + ",'" +  TradeContext.workDate       + "'"
        sql = sql + ",'" +  '1'                         + "'"

        if( TradeContext.existVariable( "appendData1" ) ):
            sql = sql + ",'" +  TradeContext.appendData1   + "'"
        else:
            sql = sql + ",'" + ""                          + "'"

        if( TradeContext.existVariable( "appendData2" ) ):
            sql = sql + ",'" +  TradeContext.appendData2   + "'"
        else:
            sql = sql + ",'" + ""                          + "'"

        sql = sql + ")"

        AfaLoggerFunc.tradeInfo( sql )
    
        subresult = AfaDBFunc.InsertSqlCmt( sql )

        if( subresult < 1 ):
            TradeContext.errorCode, TradeContext.errorMsg='A0044', '插入流水从表失败'+AfaDBFunc.sqlErrMsg
            return False


    #修改
    if ( action == '2' ):
        sql = "UPDATE AFA_SUBTRANSDTL SET "

        if( TradeContext.existVariable( "afe_appendData1" ) ):
            sql = sql + "DATA1='"  +  TradeContext.afe_appendData1   + "'"

        if( TradeContext.existVariable( "afe_appendData2" ) ):
            sql = sql + ",DATA2='" +  TradeContext.afe_appendData2   + "'"

        sql = sql + " WHERE "

        sql = sql + "AGENTSERIALNO='" +  TradeContext.agentSerialno + "' AND "
        sql = sql + "WORKDATE='"      +  TradeContext.workDate      + "'"

        AfaLoggerFunc.tradeInfo( sql )

        subresult = AfaDBFunc.UpdateSqlCmt( sql )

        if( subresult < 1 ):
            TradeContext.errorCode, TradeContext.errorMsg='A0044', '插入流水从表失败'+AfaDBFunc.sqlErrMsg
            return False

    return True
Beispiel #11
0
def SubModuleDoFst():
    AfaLoggerFunc.tradeInfo('>>>开始清算账户余额回执发送交易')

    #=====判断字段值是否存在====
    if not TradeContext.existVariable('CHKDAT'):
        return AfaFlowControl.ExitThisFlow('S999','对账日期不可为空')
    if not TradeContext.existVariable('OCCAMT'):
        return AfaFlowControl.ExitThisFlow('S999','本日余额不可为空')
    if not TradeContext.existVariable('CHKRST'):
        return AfaFlowControl.ExitThisFlow('S999','对账结果不可为空')

    #=====进入查询rekbal====
    rek_sel = {}
    rek_sel['NCCWKDAT']  =  TradeContext.CHKDAT
    rek_sel['BRSFLG']    =  PL_BRSFLG_RCV

    record = rccpsDBTrcc_rekbal.selectu(rek_sel)
    if record == None:
        return AfaFlowControl.ExitThisFlow('S999','查询清算账户余额通知登记簿异常')
    elif len(record) <= 0:
        return AfaFlowControl.ExitThisFlow('S999','查询清算账户余额通知登记簿无记录')
    else:
        TradeContext.BOJEDT  =  record['BJEDTE']
        TradeContext.BOSPSQ  =  record['BSPSQN']
        TradeContext.TODAYBAL=  record['TODAYBAL']
        TradeContext.LSTDTBAL=  record['LSTDTBAL']
        TradeContext.LBDCFLG =  record['LBDCFLG']
        TradeContext.NTTDCFLG=  record['NTTDCFLG']
        TradeContext.NTTBAL  =  record['NTTBAL']
        TradeContext.BALDCFLG=  record['BALDCFLG']
        TradeContext.AVLBAL  =  record['AVLBAL']
        

    #=====TradeContext向字典赋值====
    TradeContext.NTODAYBAL   =  TradeContext.OCCAMT
    TradeContext.SNDMBRCO    =  record['RCVMBRCO']
    TradeContext.RCVMBRCO    =  record['SNDMBRCO']

    rekbal_dict = {}
    if not rccpsMap8557CTradeContext2Drekbal_dict.map(rekbal_dict):
        return AfaFlowControl.ExitThisFlow('S999','字典赋值错误')
    
    ret = rccpsDBTrcc_rekbal.insertCmt(rekbal_dict)
    if ret <= 0:
        return AfaFlowControl.ExitThisFlow('S999','登记清算账户余额通知登记簿异常')

    #=====赋值发送农信银中心====
    TradeContext.ORTRCDAT  =  record['TRCDAT']
    TradeContext.ORTRCNO   =  record['TRCNO']
    TradeContext.TODAYBAL  =  TradeContext.OCCAMT
    TradeContext.OPRTYPNO  =  '99'
    TradeContext.ROPRTPNO  =  '99'
    TradeContext.ORMFN     =  record['SNDMBRCO'] + TradeContext.ORTRCDAT + TradeContext.ORTRCNO 
    
    return True
Beispiel #12
0
def TrxMain( ):
    AfaLoggerFunc.tradeInfo('---------新农保柜面业务进入------------')
    
    #业务编号
    if ( not (TradeContext.existVariable( "Appno" ) and len(TradeContext.Appno.strip()) > 0) ):
        TradeContext.errorCode,TradeContext.errorMsg = 'NB001', "不存在业务编号"
        raise AfaFlowControl.flowException( )
    #单位编号
    if ( not (TradeContext.existVariable( "Busino" ) and len(TradeContext.Busino.strip()) > 0) ):
        TradeContext.errorCode,TradeContext.errorMsg = 'NB001', "不存在单位编号"
        raise AfaFlowControl.flowException( )
    #上传文件名
    if ( not (TradeContext.existVariable( "FileName" ) and len(TradeContext.FileName.strip()) > 0) ):
        TradeContext.errorCode,TradeContext.errorMsg = 'NB001', "不存在上传文件名"
        raise AfaFlowControl.flowException( )
    #申请日期
    if ( not (TradeContext.existVariable( "ApplyDate" ) and len(TradeContext.ApplyDate.strip()) > 0) ):
        TradeContext.errorCode,TradeContext.errorMsg = 'NB001', "不存在申请日期"
        raise AfaFlowControl.flowException( )
    
    sql = ""
    sql = sql + "select BATCHNO,FILENAME,SWAPFILENAME,WORKDATE,STATUS,"
    sql = sql + "PROCMSG,APPLYDATE,APPNO,BUSINO,TOTALNUM,TOTALAMT,FILETYPE,"
    sql = sql + "BRNO,TELLERNO,BEGINDATE,ENDDATE,WORKTIME,NOTE1,NOTE2,NOTE3,NOTE4"
    sql = sql + " from ahnx_file where"
    sql = sql + " FileName = '"+ TradeContext.FileName +"'"            #上传文件名
    sql = sql + " and ApplyDate = '"+ TradeContext.ApplyDate +"'"      #申请日期
    sql = sql + " and status <>"  + "'2'"                              #文件状态
    
    sql = sql + " and Appno = '"+ TradeContext.Appno +"'"              #业务编号
    sql = sql + " and Busino = '"+ TradeContext.Busino +"'"            #单位编号
    
    AfaLoggerFunc.tradeInfo("批量处理信息查询sql="+sql)
    records = AfaDBFunc.SelectSql( sql )
    
    if(records == None):
        AfaLoggerFunc.tradeInfo("批量处理信息查询数据库异常")
        return ExitSubTrade('NB000', '批量处理信息查询数据库异常')
    elif(len(records)==0):
        AfaLoggerFunc.tradeInfo("没有查询到相关的批量处理信息")
        return ExitSubTrade('NB002', '没有查询到相关的批量处理信息')
    elif(len(records)>1):
        AfaLoggerFunc.tradeInfo("该批量处理信息不唯一")
        return ExitSubTrade('NB003', '该批量处理信息不唯一')
    else:
        TradeContext.SwapFileName = records[0][2].strip()
        TradeContext.ProcMsg      = records[0][5].strip()
        TradeContext.FileType     = records[0][11].strip()
        TradeContext.batchNo      = records[0][0].strip()
        
    TradeContext.errorCode  = "0000"
    TradeContext.errorMsg   = "交易成功"
    AfaLoggerFunc.tradeInfo('---------新农保柜面业务退出------------')
    
    return ExitSubTrade('0000', '交易成功')
Beispiel #13
0
def SubModuleDoFst( ):

    #begin  20091120  蔡永贵  增加
    #校验保险公司代码和凭证种类是否合法
    if not AfaAhAdb.ADBCheckCert( ):
        return False
    #end

    AfaLoggerFunc.tradeInfo( '初始化交易变量' )
    #交易代码
    TradeContext.tradeCode = TradeContext.TransCode
    #用户编号/保险单号
    TradeContext.UserNo = TradeContext.CpicNo
    #地址
    if( TradeContext.existVariable( "Line" ) and len(TradeContext.Line.strip()) > 0):
        TradeContext.Address = TradeContext.Line
    #电话
    if( TradeContext.existVariable( "DialNum" ) and len(TradeContext.DialNum.strip()) > 0):
        TradeContext.TelePhone = TradeContext.DialNum
    #邮编
    if( TradeContext.existVariable( "Zip" ) and len(TradeContext.Zip.strip()) > 0):
        TradeContext.ZipCode = TradeContext.Zip
    #身份证号码
    TradeContext.IdCode = TradeContext.GovtID

    #受益人是否为法定标志
    #if( TradeContext.existVariable( "BenficType" ) ):
    #    if ( TradeContext.BenficType == "1"):
    #        TradeContext.BenficStr = "Y"
    #    else:
    #        TradeContext.BenficStr = "N"

    #AfaLoggerFunc.tradeDebug("BenficStr=[" + TradeContext.BenficStr + "]")

    #关彬捷 20091124 根据单位编码获取保险公司信息
    AfaAhAdb.ADBGetInfoByUnitno()
    
    #险种
    if( TradeContext.existVariable( "ProCode" ) ):
        if ( TradeContext.ProCode == '1'):
            #TradeContext.ProCodeStr = "EL5612"     #安贷宝B
            TradeContext.BenficStr = "N"           #第一受益人类型
            TradeContext.BenficName2 = "法定"      #第二受益人-法定
        elif ( TradeContext.ProCode == '2'):
            #TradeContext.ProCodeStr = "211610"     #华夏借款人意外伤害保险
            TradeContext.BenficStr = "Y"           #第一受益人类型
        else:
            TradeContext.BenficStr = ""

    AfaLoggerFunc.tradeDebug("BenficStr=[" + TradeContext.BenficStr + "]")
            

    return True
Beispiel #14
0
def SubModuleDoFst():
    #=================汇兑自由格式书检查============================================
    
    if not TradeContext.existVariable('BOJEDT'):
        return AfaFlowControl.ExitThisFlow("S999", "日期不能为空")
    
    if not TradeContext.existVariable('RCVBNKCO'):
        return AfaFlowControl.ExitThisFlow("S999", "接收行行号不能为空")
        
    #=================登记汇兑自由格式书信息============================================
    AfaLoggerFunc.tradeInfo(">>>开始登记汇兑业务查询书信息")
    
    TradeContext.NCCWKDAT = TradeContext.NCCworkDate
    #=====刘雨龙 20080701 增加汇兑业务查询查复登记簿信息====
    TradeContext.TRCNO    = TradeContext.SerialNo        #交易流水号
    
    hdcbka_insert_dict = {}
    if not rccpsMap8513CTradeContext2Dhdcbka.map(hdcbka_insert_dict):
        return AfaFlowControl.ExitThisFlow("S999", "为汇兑业务查询查复登记簿赋值异常")
    
    #AfaLoggerFunc.tradeInfo(hdcbka_insert_dict)  
    ret = rccpsDBTrcc_hdcbka.insertCmt(hdcbka_insert_dict)
    
    if ret <= 0:
        return AfaFlowControl.ExitThisFlow("S999", "登记汇兑业务自由格式信息异常")
    
    AfaLoggerFunc.tradeInfo(">>>结束登记汇兑业务查询书信息")
    
    
    #=================为汇兑查询书报文赋值======================================
    AfaLoggerFunc.tradeInfo(">>>开始为汇兑查询书报文赋值")
    
    TradeContext.TRCCO      = '9900513'
    TradeContext.MSGTYPCO   = 'SET008'
    TradeContext.SNDBRHCO   = TradeContext.BESBNO
    TradeContext.SNDCLKNO   = TradeContext.BETELR
    TradeContext.SNDTRDAT   = TradeContext.BJEDTE
    TradeContext.SNDTRTIM   = TradeContext.BJETIM
    #TradeContext.MSGFLGNO   = TradeContext.SNDSTLBIN + TradeContext.TRCDAT + TradeContext.SerialNo
    TradeContext.ORMFN      = hdcbka_insert_dict['SNDMBRCO'] + hdcbka_insert_dict['TRCDAT'] + hdcbka_insert_dict['TRCNO']
    TradeContext.NCCWKDAT   = TradeContext.NCCworkDate
    TradeContext.OPRTYPNO   = '99'
    TradeContext.ROPRTPNO   = '20'
    TradeContext.TRANTYP    = '0'
    #TradeContext.TRCDAT     = TradeContext.BOJEDT
    TradeContext.TRCNO      = TradeContext.SerialNo
    
    
    AfaLoggerFunc.tradeInfo(">>>结束为汇兑自由格式书报文赋值")
    AfaLoggerFunc.tradeInfo('发起行交易日期:'+TradeContext.SNDTRDAT)
    AfaLoggerFunc.tradeInfo( '***农信银系统:往账.中心类操作(1.本地操作).汇兑自由格式书发送[TRC003_8513]退出***' )
    
    return True
Beispiel #15
0
def Update():
    try:
        if( TradeContext.existVariable( "BRNO" ) and len(TradeContext.BRNO)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[分行行号]:不能为空')
        if( TradeContext.existVariable( "PAYBKCODE" ) and len(TradeContext.PAYBKCODE)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[清算行行号]:不能为空')
        if( TradeContext.existVariable( "STATUS" ) and len(TradeContext.STATUS)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[是否为清算行]:不能为空')
        if( TradeContext.existVariable( "ACCNO" ) and len(TradeContext.ACCNO)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[待结算财税库款]:不能为空')
        if( TradeContext.existVariable( "PAYEEBANKNO" ) and len(TradeContext.PAYEEBANKNO)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[清算国库支付系统行号]:不能为空')

        sql="SELECT BRNO,PAYBKCODE,BANKNO,BANKACCT,BANKNAME,PAYEEBANKNO,STATUS,ACCNO,NOTE1,NOTE2,NOTE3,NOTE4,NOTE5 "
        sql=sql+" FROM TIPS_BRANCH_ADM WHERE 1=1 "
        sql=sql+"AND BRNO='"+ TradeContext.BRNO+"'"
        AfaLoggerFunc.tradeInfo(sql)
        records = AfaDBFunc.SelectSql(sql)
        if( records == None ):
            AfaLoggerFunc.tradeFatal(sql)
            return AfaFlowControl.ExitThisFlow( 'A0002', '数据库操作异常:'+AfaDBFunc.sqlErrMsg )
        elif( len( records ) == 0 ):
            return AfaFlowControl.ExitThisFlow( 'A0027', '不存在此上线行信息' )

            
        sql="UPDATE TIPS_BRANCH_ADM SET "
        sql=sql+"PAYBKCODE='"+ TradeContext.PAYBKCODE+"',"
        sql=sql+"BANKNO='"+ TradeContext.BANKNO+"',"
        sql=sql+"BANKACCT='"+ TradeContext.BANKACCT+"',"
        sql=sql+"BANKNAME='"+ TradeContext.BANKNAME+"',"
        sql=sql+"PAYEEBANKNO='"+ TradeContext.PAYEEBANKNO+"',"
        sql=sql+"STATUS='"+ TradeContext.STATUS+"',"
        sql=sql+"ACCNO='"+ TradeContext.ACCNO+"',"
        sql=sql+"NOTE3='"+ TradeContext.ACCNAME+"',"
        sql=sql+"BRNO='"+ TradeContext.BRNO+"' "
        sql=sql+"WHERE "
        sql=sql+"BRNO = '"+ TradeContext.BRNO+"'"
                
        AfaLoggerFunc.tradeInfo(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))
Beispiel #16
0
def SubModuleDoFst():
    AfaLoggerFunc.tradeInfo("回执个性化处理(本地操作)  进入")
    
    #=====校验变量的有效性====
    AfaLoggerFunc.tradeInfo("检验变量的有效性")
    if not TradeContext.existVariable("TRCDAT"):
        return AfaFlowControl.ExitThisFlow('A099','没有委托日期')
        
    if not TradeContext.existVariable("TRCNO"):
        return AfaFlowControl.ExitThisFlow('A099','没有交易流水号')
        
    if not TradeContext.existVariable("SNDBNKCO"):
        return AfaFlowControl.ExitThisFlow('A099','没有发起行行号')
        

    #=====检查是否有对应的请求报文====
    AfaLoggerFunc.tradeInfo("检查是否有对应的请求报文")
    balbka_where_dict = {'TRCDAT':TradeContext.ORMFN[10:18],'TRCNO':TradeContext.ORMFN[18:],'SNDMBRCO':TradeContext.ORMFN[:10]}    
    res = rccpsDBTrcc_balbka.selectu(balbka_where_dict)
    if( res == None ):
        return AfaFlowControl.ExitThisFlow('A099','检查对应的请求报文失败')
        
    if( len(res) == 0 ):
        return AfaFlowControl.ExitThisFlow('A099','没有对应的请求报文')
    
        
    #=====组织更新字典====
    AfaLoggerFunc.tradeInfo("开始组织更新字典")
    update_dict = {}
    update_dict['AVLBAL']  = TradeContext.AVLBAL
    update_dict['ACCBAL']  = TradeContext.ACCBAL
    update_dict['PRCCO']   = TradeContext.PRCCO
    #update_dict['PRCINFO'] = "AFE发送成功,已收到应答报文"
    update_dict['STRINFO'] = TradeContext.STRINFO
    where_dict = {}
    where_dict['TRCDAT']   = TradeContext.TRCDAT
    where_dict['TRCNO']    = TradeContext.TRCNO
    where_dict['SNDBNKCO'] = TradeContext.SNDBNKCO
    
    #=====更新余额查询登记簿====
    AfaLoggerFunc.tradeInfo("更新余额查询登记簿")
    res = rccpsDBTrcc_balbka.updateCmt(update_dict,where_dict)
    if( res == -1 ):
        return AfaFlowControl.ExitThisFlow('A009','更新余额查询登记簿失败')

    TradeContext.errorCode = '0000'
    TradeContext.errorMsg  = '交易成功'
    
    AfaLoggerFunc.tradeInfo("回执个性化处理(本地操作)  退出")
    
    return True
Beispiel #17
0
def Update():
    AfaLoggerFunc.tradeInfo( '********************修改数据表开始*******************' )
    try:
        if( TradeContext.existVariable( "busiNo" ) and len(TradeContext.busiNo)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[单位编码]:不能为空')
        if( TradeContext.existVariable( "hostIp" ) and len(TradeContext.hostIp)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[财政地址]:不能为空')
        if( TradeContext.existVariable( "upUser" ) and len(TradeContext.upUser)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[上传用户]:不能为空')
        if( TradeContext.existVariable( "upPwd" ) and len(TradeContext.upPwd)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[上传密码]:不能为空')
        if( TradeContext.existVariable( "downUser" ) and len(TradeContext.downUser)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[下载用户]:不能为空')
        if( TradeContext.existVariable( "downPwd" ) and len(TradeContext.downPwd)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[下载密码]:不能为空')
        if( TradeContext.existVariable( "accDate" ) and len(TradeContext.accDate)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[开户余额]:不能为空')
        if( TradeContext.existVariable( "remain" ) and len(TradeContext.remain)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[开户日期]:不能为空')
        sqlstr="UPDATE fs_businoconf SET "
        sqlstr1=   sqlstr
        sqlstr1=sqlstr1+"hostIp='"+ TradeContext.hostIp+"',"
        sqlstr1=sqlstr1+"upUser='******',"
        sqlstr1=sqlstr1+"upPasswd='"+ TradeContext.upPwd+"',"
        sqlstr1=sqlstr1+"downUser='******',"
        sqlstr1=sqlstr1+"downPasswd='"+ TradeContext.downPwd+"'"
        sqlstr1=sqlstr1+" WHERE "
        sqlstr1=sqlstr1+"busiNo = '"+ TradeContext.busiNo+"'"
                
        AfaLoggerFunc.tradeInfo(sqlstr1)
        records = AfaDBFunc.UpdateSqlCmt(sqlstr1)
                 
        if( records <=0  ):
            AfaLoggerFunc.tradeFatal(sqlstr1)
            return AfaFlowControl.ExitThisFlow( 'A0027', '未发现信息:'+AfaDBFunc.sqlErrMsg )
        if( records == None ):
            AfaLoggerFunc.tradeFatal(sqlstr1)
            return AfaFlowControl.ExitThisFlow( 'A0002', '数据库操作异常:'+AfaDBFunc.sqlErrMsg )
        
        
        sqlstr="UPDATE fs_remain SET "
        sqlstr2=   sqlstr
        sqlstr2=sqlstr2+"date='"+ TradeContext.accDate+"',"
        sqlstr2=sqlstr2+"this='"+ TradeContext.remain+"'"
        sqlstr2=sqlstr2+" WHERE "
        sqlstr2=sqlstr2+"busiNo = '"+ TradeContext.busiNo+"'"
        
        AfaLoggerFunc.tradeInfo(sqlstr2)
        records = AfaDBFunc.UpdateSqlCmt(sqlstr2)
        
        if( records == None or records <=0  ):
            AfaLoggerFunc.tradeFatal(sqlstr2)
            return AfaFlowControl.ExitThisFlow( 'A0002', '数据库操作异常:'+AfaDBFunc.sqlErrMsg )
        AfaLoggerFunc.tradeInfo( '********************修改数据表结束*******************' )
        return True
        
    except Exception, e:
        AfaLoggerFunc.tradeInfo(e)
        return AfaFlowControl.ExitThisFlow('9999', '程序处理异常'+str(e))
Beispiel #18
0
def SubModuleDoFst( ):
    AfaLoggerFunc.tradeInfo( '初始化交易变量' )
    AfaLoggerFunc.tradeInfo( '缴费信息查询变量值的有效性校验' )
    if( not TradeContext.existVariable( "CpicNo" ) ):
        return AfaFlowControl.ExitThisFlow( 'A0001', '保险单号[CpicNo]值不存在!' )
    if( not TradeContext.existVariable( "channelCode" ) ):
        return AfaFlowControl.ExitThisFlow( 'A0001', '渠道代码[channelCode]值不存在!' )
    if( TradeContext.channelCode == '005' ):
        if( not TradeContext.existVariable( "tellerno" ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '柜员号[tellerno]值不存在!' )
        if( not TradeContext.existVariable( "brno" ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '网点号[brno]值不存在!' )
        if( not TradeContext.existVariable( "termid" ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '柜员号[termid]值不存在!' )
    return True
Beispiel #19
0
def Insert():
    try:
        if( TradeContext.existVariable( "BRNO" ) and len(TradeContext.BRNO)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[分行行号]:不能为空')
        if( TradeContext.existVariable( "PAYBKCODE" ) and len(TradeContext.PAYBKCODE)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[清算行行号]:不能为空')
        if( TradeContext.existVariable( "STATUS" ) and len(TradeContext.STATUS)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[是否为清算行]:不能为空')
        if( TradeContext.existVariable( "ACCNO" ) and len(TradeContext.ACCNO)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[财税库款帐号]:不能为空')
        if( TradeContext.existVariable( "PAYEEBANKNO" ) and len(TradeContext.PAYEEBANKNO)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[清算国库支付系统行号]:不能为空')

        sql="SELECT BRNO,PAYBKCODE,BANKNO,BANKACCT,BANKNAME,PAYEEBANKNO,STATUS,ACCNO,NOTE1,NOTE2,NOTE3,NOTE4,NOTE5 "
        sql=sql+" FROM TIPS_BRANCH_ADM WHERE 1=1 "
        #sql=sql+"AND BRNO='"+ TradeContext.BRNO+"'"
        #guanbinjie 20090901 设置清算行号为唯一值
        sql=sql+"AND PAYBKCODE='"+ TradeContext.PAYBKCODE +"'"
        #修改完成
        AfaLoggerFunc.tradeInfo(sql)
        records = AfaDBFunc.SelectSql(sql)
        if( records == None ):
            AfaLoggerFunc.tradeFatal(sql)
            return AfaFlowControl.ExitThisFlow( 'A0002', '数据库操作异常:'+AfaDBFunc.sqlErrMsg )
        elif( len( records ) > 0 ):
            return AfaFlowControl.ExitThisFlow( 'A0027', '已存在此上线行信息' )

        sql="INSERT INTO  TIPS_BRANCH_ADM(BRNO,PAYBKCODE,BANKNO,BANKACCT,BANKNAME,PAYEEBANKNO,STATUS,ACCNO,NOTE3) "
        sql=sql+" VALUES "
        sql=sql+"('"+ TradeContext.BRNO          +"'"
        sql=sql+",'"+ TradeContext.PAYBKCODE     +"'"
        sql=sql+",'"+ TradeContext.BANKNO        +"'"
        sql=sql+",'"+ TradeContext.BANKACCT      +"'"
        sql=sql+",'"+ TradeContext.BANKNAME      +"'"
        sql=sql+",'"+ TradeContext.PAYEEBANKNO   +"'"
        sql=sql+",'"+ TradeContext.STATUS        +"'"
        sql=sql+",'"+ TradeContext.ACCNO         +"'"
        sql=sql+",'"+ TradeContext.ACCNAME         +"'"
        sql=sql+" ) "              
        AfaLoggerFunc.tradeInfo(sql)
        records = AfaDBFunc.InsertSqlCmt(sql)
        if( records == None or records <=0  ):
            AfaLoggerFunc.tradeFatal(sql)
            return AfaFlowControl.ExitThisFlow( 'A0002', '数据库操作异常:'+AfaDBFunc.sqlErrMsg )
        return True
    except Exception, e:
        AfaLoggerFunc.tradeInfo(e)
        return AfaFlowControl.ExitThisFlow('9999', '程序处理异常'+str(e))
Beispiel #20
0
def exitMainFlow( msgStr='' ):

    if( not TradeContext.existVariable( "errorCode" ) or msgStr ):
        TradeContext.errorCode = 'A9999'
        TradeContext.errorMsg = '系统错误['+msgStr+']'

    if TradeContext.errorCode != '0000' :
        AfaLoggerFunc.tradeFatal( 'errorCode=['+TradeContext.errorCode+']' )
        AfaLoggerFunc.tradeFatal( 'errorMsg=['+TradeContext.errorMsg+']' )
        AfaLoggerFunc.tradeFatal(TradeContext.TransCode+'交易中断')

    if( not AfaFunc.autoPackData() ):
        lenContext=len( TradeContext.tradeResponse )
        chkFlag=0
        for i in range( lenContext ):
            if( type(TradeContext.tradeResponse[i][0]) is str and (TradeContext.tradeResponse[i][0]=='errorCode' or TradeContext.tradeResponse[i][0]=='errorMsg')):
                if(TradeContext.tradeResponse[i][0]=='errorCode'):
                    TradeContext.tradeResponse[i][1]=TradeContext.errorCode
                    chkFlag=chkFlag+1
                if(TradeContext.tradeResponse[i][0]=='errorMsg'):
                    TradeContext.tradeResponse[i][1]=TradeContext.errorMsg
                    chkFlag=chkFlag+1
                if(chkFlag>=2):
                    break
            elif i==lenContext-1 :
                TradeContext.tradeResponse.append( [ 'errorCode', TradeContext.errorCode ] )
                TradeContext.tradeResponse.append( [ 'errorMsg', TradeContext.errorMsg ] )
Beispiel #21
0
def start():
    try:
        AfaLoggerFunc.tradeInfo('RunSign='+TradeContext.RunSign+' 启用调度')
        if( TradeContext.existVariable( "BackRunTime" ) and len(TradeContext.BackRunTime)<=0 ):
            return TipsFunc.ExitThisFlow( 'A0001', '[BackRunTime]值不存在!' )
        
        year=(TradeContext.BackRunTime)[0:4]
        month=(TradeContext.BackRunTime)[4:6]
        day=(TradeContext.BackRunTime)[6:8]
        hour=(TradeContext.BackRunTime)[8:10]
        minute=(TradeContext.BackRunTime)[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 = '00050'     "
            
        AfaLoggerFunc.tradeInfo(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))         
Beispiel #22
0
def Query():
    try:
        if( TradeContext.existVariable( "BRNO" ) and len(TradeContext.BRNO)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[分行行号]:不能为空')
        sql="SELECT BRNO,PAYBKCODE,BANKNO,BANKACCT,BANKNAME,PAYEEBANKNO,STATUS,ACCNO,NOTE1,NOTE2,NOTE3,NOTE4,NOTE5 "
        sql=sql+" FROM TIPS_BRANCH_ADM WHERE 1=1 "
        sql=sql+"AND BRNO='"+ TradeContext.BRNO+"'"
        AfaLoggerFunc.tradeInfo(sql)
        records = AfaDBFunc.SelectSql(sql)
        if( records == None ):
            AfaLoggerFunc.tradeFatal(sql)
            return AfaFlowControl.ExitThisFlow( 'A0002', '数据库操作异常:'+AfaDBFunc.sqlErrMsg )
        elif( len( records )==0 ):
            return AfaFlowControl.ExitThisFlow( 'A0027', '未定义信息' )
        elif( len( records )>1 ):
            return AfaFlowControl.ExitThisFlow( 'A0027', 'TIPS_BRANCH_ADM表配置错误' )
        else:
            #if records[0][5]=='0':
               # return AfaFlowControl.ExitThisFlow( 'A0027', '业务已停止' )
          #  if records[0][5]=='2':
           #     return AfaFlowControl.ExitThisFlow( 'A0027', '业务已暂停' )
            TradeContext.BRNO        = records[0][0]
            TradeContext.PAYBKCODE   = records[0][1]
            TradeContext.BANKNO      = records[0][2]
            TradeContext.BANKACCT    = records[0][3]
            TradeContext.BANKNAME    = records[0][4]
            TradeContext.PAYEEBANKNO = records[0][5]
            TradeContext.STATUS      = records[0][6]
            TradeContext.ACCNO       = records[0][7]
            TradeContext.ACCNAME     = records[0][10]
            
        return True
    except Exception, e:
        AfaLoggerFunc.tradeInfo(e)
        return AfaFlowControl.ExitThisFlow('9999', '程序处理异常'+str(e))
Beispiel #23
0
def main( ):
    AfaLoggerFunc.tradeInfo('==========进入查询维护类模板['+TradeContext.TemplateCode+']==========')
    try:
        #=============初始化返回报文变量====================
        TradeContext.tradeResponse=[]
        
        #=============获取当前系统时间====================
        AfaLoggerFunc.tradeInfo('>>>获取当前系统时间')
        if not (TradeContext.existVariable( "workDate" ) and len(TradeContext.workDate)>0):
            TradeContext.workDate = UtilTools.GetSysDate( )
        TradeContext.workTime=UtilTools.GetSysTime( )
        TradeContext.sysId      ='AG2010'
        TradeContext.busiNo     ='00000000000001'
        
        #不使用转换返回码
        TradeContext.__respFlag__="0"
    
        #=============外调接口1====================
        subModuleExistFlag=0
        subModuleName = 'T'+TradeContext.TemplateCode+'_'+TradeContext.TransCode
        try:
            subModuleHandle=__import__( subModuleName )
        except Exception, e:
            AfaLoggerFunc.tradeInfo( e)
        else:
Beispiel #24
0
def Delete():
    try:
        if( TradeContext.existVariable( "busiNo" ) and len(TradeContext.busiNo)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[单位编码]:不能为空')
        
        sql="DELETE "
        sqlstr1=sql+" FROM fs_businoconf WHERE 1=1 "
        sqlstr1=sqlstr1+"AND busiNo='"+ TradeContext.busiNo+"'"
        
        AfaLoggerFunc.tradeInfo(sqlstr1)
        records = AfaDBFunc.DeleteSqlCmt(sqlstr1)
        if( records == None or records <=0 ):
            AfaLoggerFunc.tradeFatal(sqlstr1)
            return AfaFlowControl.ExitThisFlow( 'A0002', '数据库操作异常:'+AfaDBFunc.sqlErrMsg )
            
        
        sql="DELETE "
        sqlstr2=sql+" FROM fs_remain WHERE 1=1 "
        sqlstr2=sqlstr2+"AND busiNo='"+ TradeContext.busiNo+"'"
        
        AfaLoggerFunc.tradeInfo(sqlstr2)
        records = AfaDBFunc.DeleteSqlCmt(sqlstr2)
        if( records == None or records <=0 ):
            AfaLoggerFunc.tradeFatal(sqlstr2)
            return AfaFlowControl.ExitThisFlow( 'A0002', '数据库操作异常:'+AfaDBFunc.sqlErrMsg )
        return True
        
    except Exception, e:
        AfaLoggerFunc.tradeInfo(e)
        return AfaFlowControl.ExitThisFlow('9999', '程序处理异常'+str(e))
Beispiel #25
0
def SubModuleDoFst():
    AfaLoggerFunc.tradeInfo( '***农信银系统:往账.本地类操作(1.本地操作)交易[TRC001_8558]进入***' )
    
    #=====判断对账日期是否存在====
    if not TradeContext.existVariable('CHKDAT'):
       return AfaFlowControl.ExitThisFlow('S999','对账日期[CHKDAT]不存在')

    #=====进入查询rekbal====
    rek_sel = {}
    rek_sel['NCCWKDAT']  =  TradeContext.CHKDAT

    record = rccpsDBTrcc_rekbal.selectu(rek_sel)
    if record == None:
        return AfaFlowControl.ExitThisFlow('S999','查询清算账户余额通知登记簿异常')
    elif len(record) <= 0:
        return AfaFlowControl.ExitThisFlow('S999','查询清算账户余额通知登记簿无记录')
    else:
        TradeContext.CHKRST = record['CHKRST']              #对账结果
        TradeContext.OCCAMT = str(record['TODAYBAL'])       #行内余额

    TradeContext.errorCode = '0000'
    TradeContext.errorMsg  = '成功'
    
    AfaLoggerFunc.tradeInfo( '***农信银系统:往账.本地类操作(1.本地操作)交易[TRC001_8558]退出***' )
    return True
Beispiel #26
0
def WrtLog(logstr):

    if ( TradeContext.existVariable('CRON_TRACE') ):

        if ( TradeContext.CRON_TRACE   == 'off' ):
            #不输出日志
            return True
        
        #elif ( TradeContext.CRON_TRACE == 'dsdf' ):
        #    #向日志输入
        #    return True
        #    
        #elif ( TradeContext.CRON_TRACE == 'aix'  ):
        #    #向文件输出
        #    return True

        elif ( TradeContext.CRON_TRACE == 'file' ):
            #向文件输出
            cronLogger.info(logstr)

        elif ( TradeContext.CRON_TRACE == 'all' ):
            #向文件和屏幕同时输出
            cronLogger.info(logstr)
            print logstr

        elif ( TradeContext.CRON_TRACE == 'stdout' ):
            #向屏幕输出
            print logstr

    else:
        #默认向文件和屏幕同时输出
        cronLogger.info(logstr)
        print logstr

    return True
Beispiel #27
0
def Insert():
    AfaLoggerFunc.tradeInfo( '********************插入数据表开始*******************' )
    try:
        if( TradeContext.existVariable( "busiNo" ) and len(TradeContext.busiNo)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[单位编码]:不能为空')
        if( TradeContext.existVariable( "hostIp" ) and len(TradeContext.hostIp)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[财政地址]:不能为空')
        if( TradeContext.existVariable( "upUser" ) and len(TradeContext.upUser)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[上传用户]:不能为空')
        if( TradeContext.existVariable( "upPwd" ) and len(TradeContext.upPwd)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[上传密码]:不能为空')
        if( TradeContext.existVariable( "downUser" ) and len(TradeContext.downUser)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[下载用户]:不能为空')
        if( TradeContext.existVariable( "downPwd" ) and len(TradeContext.downPwd)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[下载密码]:不能为空')
        if( TradeContext.existVariable( "accDate" ) and len(TradeContext.accDate)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[开户余额]:不能为空')
        if( TradeContext.existVariable( "remain" ) and len(TradeContext.remain)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[开户日期]:不能为空')
        
        sqlstr      =   "insert into fs_businoconf(BUSINO,HOSTIP,UPUSER,UPPASSWD,UPLDIR,DOWNUSER,DOWNPASSWD,DOWNLDIR,UPRDIR,DOWNRDIR) values("
        sqlstr1     =   sqlstr
        sqlstr1     =   sqlstr1 + "'" + TradeContext.busiNo             + "',"
        sqlstr1     =   sqlstr1 + "'" + TradeContext.hostIp             + "',"
        sqlstr1     =   sqlstr1 + "'" + TradeContext.upUser             + "',"
        sqlstr1     =   sqlstr1 + "'" + TradeContext.upPwd              + "',"
        sqlstr1     =   sqlstr1 + "'/home/maps/afa/data/ahfs',"
        sqlstr1     =   sqlstr1 + "'" + TradeContext.downUser           + "',"
        sqlstr1     =   sqlstr1 + "'" + TradeContext.downPwd            + "',"
        sqlstr1     =   sqlstr1 + "'/home/maps/afa/data/ahfs',' ',' ')"
        
        
        AfaLoggerFunc.tradeInfo(sqlstr1)
        records = AfaDBFunc.InsertSqlCmt(sqlstr1)
        if( records == None or records <=0  ):
            AfaLoggerFunc.tradeFatal(sqlstr1)
            return AfaFlowControl.ExitThisFlow( 'A0002', '数据库操作异常:'+AfaDBFunc.sqlErrMsg )            
        
        
        
        sqlstr      =   "insert into fs_remain(busino,date,this) values("
        sqlstr2     =   sqlstr
        sqlstr2     =   sqlstr2 + "'" + TradeContext.busiNo               + "',"
        sqlstr2     =   sqlstr2 + "'" + TradeContext.accDate              + "',"
        sqlstr2     =   sqlstr2 + "'" + TradeContext.remain               + "')"
        
        AfaLoggerFunc.tradeInfo(sqlstr2)
        records = AfaDBFunc.InsertSqlCmt(sqlstr2)
        if( records == None or records <=0  ):
            AfaLoggerFunc.tradeFatal(sqlstr2)
            return AfaFlowControl.ExitThisFlow( 'A0002', '数据库操作异常:'+AfaDBFunc.sqlErrMsg )
        AfaLoggerFunc.tradeInfo( '********************插入数据表结束*******************' )
        return True
    
    except Exception, e:
        AfaLoggerFunc.tradeInfo(e)
        return AfaFlowControl.ExitThisFlow('9999', '程序处理异常'+str(e))
Beispiel #28
0
def SubModuleDoSnd():
    AfaLoggerFunc.tradeInfo('进入查询交易[T'+TradeContext.TemplateCode+'_'+TradeContext.TransCode+']与第三方通讯后处理' )
    try:
        
        Party3Context.agentSerialno = TradeContext.agentserialno
        Party3Context.workDate      = TradeContext.workDate
        Party3Context.workTime      = TradeContext.workTime
        Party3Context.amount        = TradeContext.amount
        Party3Context.hostserialno  = TradeContext.hostserialno
        Party3Context.CreBarNo      = TradeContext.CreBarNo  
        Party3Context.CreVouNo      = TradeContext.CreVouNo  
        Party3Context.LoanDate      = TradeContext.LoanDate
        Party3Context.LoanEndDate   = TradeContext.LoanEndDate
        Party3Context.ProCode       = TradeContext.ProCode
        Party3Context.ProCodeStr    = TradeContext.ProCodeStr
        Party3Context.PlanName      = TradeContext.PlanName  
        Party3Context.AccType       = TradeContext.AccType   
        
        names = Party3Context.getNames( )
        for name in names:
            value = getattr( Party3Context, name )
            setattr( TradeContext, name, value )
            #AfaLoggerFunc.tradeInfo("字段名称  ["+str(name)+"] =  "+str(value))
        if( TradeContext.errorCode == '0000' ):
            #if( TradeContext.existVariable( "ProCodeStr" ) ):
            #    if (TradeContext.ProCodeStr == "EL5602"):
            #        TradeContext.ProCode == "1"
            #    else:
            #        TradeContext.ProCode == "0"
            #责任起始日期日期
            if ( TradeContext.existVariable( "EffDate" )):
                if ( len(str(TradeContext.EffDate)) == 14 ):
                    TradeContext.EffDate = TradeContext.EffDate[0:4]+TradeContext.EffDate[6:8]+TradeContext.EffDate[10:12]
            if ( TradeContext.existVariable( "TermDate" )):
                if ( len(str(TradeContext.TermDate)) == 14 ):
                    TradeContext.TermDate = TradeContext.TermDate[0:4]+TradeContext.TermDate[6:8]+TradeContext.TermDate[10:12]
            update_sql = "update afa_maintransdtl set "
            update_sql = update_sql + " userno = '" + TradeContext.NCpicNo + "'"
            update_sql = update_sql + " where userno = '" + TradeContext.OCpicNo + "'"
            if not AfaDBFunc.UpdateSqlCmt(update_sql):
                return AfaFlowControl.exitThisFlow("A999","更新投保单号失败")

        AfaLoggerFunc.tradeInfo('退出查询交易[T'+TradeContext.TemplateCode+'_'+TradeContext.TransCode+']与第三方通讯后处理' )
        return True
    except Exception, e:
        AfaFlowControl.exitMainFlow(str(e))
Beispiel #29
0
def SubModuleDoFst( ):
    
   
    AfaLoggerFunc.tradeInfo( '缴费信息查询变量值的有效性校验' )
    
    if( not TradeContext.existVariable( "unitno" ) ):
        return AfaFlowControl.ExitThisFlow( 'A0001', '单位编号[unitno]值不存在!' )
       
    if( not TradeContext.existVariable( "applno" ) ):
        return AfaFlowControl.ExitThisFlow( 'A0001', '投保单号[applno]值不存在!' )
   
    if( not TradeContext.existVariable( "userno" ) ):
        return AfaFlowControl.ExitThisFlow( 'A0001', '保单印刷号[userno]值不存在!' )   
    
    if( not TradeContext.existVariable( "channelCode" ) ):
        return AfaFlowControl.ExitThisFlow( 'A0001', '渠道代码[channelCode]值不存在!' )
    
    if( TradeContext.channelCode == '005' ):
        
        if( not TradeContext.existVariable( "tellerno" ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '柜员号[tellerno]值不存在!' )
       
        if( not TradeContext.existVariable( "brno" ) ): 
            return AfaFlowControl.ExitThisFlow( 'A0001', '网点号[brno]值不存在!' )
        
        if( not TradeContext.existVariable( "termId" ) ):
            return AfaFlowControl.ExitThisFlow( 'A0001', '终端号[termId]值不存在!' )
    
    return True
Beispiel #30
0
def UpdatePreDtl( action ):

    AfaLoggerFunc.tradeInfo( '>>>更新原交易流水信息' )
        
    sqlstr="UPDATE AFA_MAINTRANSDTL SET "
    
    if( action == 'BANK' ):
        sqlstr=sqlstr+" BANKSTATUS='3' "

    elif( action == 'CORP' ):
        sqlstr=sqlstr+" CORPSTATUS='3' "

    elif( action == 'TRADE' ):
        sqlstr=sqlstr+" BANKSTATUS='3',CORPSTATUS='3'"
        
    else:
        TradeContext.errorCode, TradeContext.errorMsg='A0041', '入口参数条件不符,没有这种类型的操作'
        return False
        
        
    sqlstr = sqlstr + " WHERE "

    #原交易流水号
    if(TradeContext.existVariable( "preAgentSerno" )) :
        sqlstr=sqlstr + " AGENTSERIALNO='"+TradeContext.preAgentSerno+"' AND "
        
    #原渠道流水号
    if(TradeContext.existVariable( "preChannelSerno" )) :
        sqlstr=sqlstr + " CHANNELSERNO='"+TradeContext.preChannelSerno+"' AND "
        
    sqlstr = sqlstr + " WORKDATE='" + TradeContext.workDate + "' AND REVTRANF='0'"

    AfaLoggerFunc.tradeInfo( sqlstr )

    ret=AfaDBFunc.UpdateSqlCmt( sqlstr )
    if( ret > 0 ):
        return True

    if( ret == 0 ):
        TradeContext.errorCode,TradeContext.errorMsg='A0100','未发现原始交易'
        return False

    else :
        TradeContext.errorCode, TradeContext.errorMsg='A0100', '更新原交易状态失败' + AfaDBFunc.sqlErrMsg    
        return False
Beispiel #31
0
def SubModuleDoFst( ):

    AfaLoggerFunc.tradeInfo( '初始化续期查询交易变量' )
    
    #交易代码(8612)
    TradeContext.tradeCode = TradeContext.TransCode
    
    #保险公司代码
    if not( TradeContext.existVariable( "unitno" ) and len(TradeContext.unitno.strip()) > 0):
        TradeContext.errorCode,TradeContext.errorMsg = 'E9999', "不存在保险公司代码"
        raise AfaFlowControl.flowException( ) 
   
    #保险单号
    if not( TradeContext.existVariable( "policy" ) and len(TradeContext.policy.strip()) > 0):
        TradeContext.errorCode,TradeContext.errorMsg = 'E9999', "不存在保险单号"
        raise AfaFlowControl.flowException( )
   
    return True
Beispiel #32
0
def SubModuleDoTrd( ):
    AfaLoggerFunc.tradeInfo('进入缴费交易[T'+TradeContext.TemplateCode+'_'+TradeContext.TransCode+']与第三方通讯后处理' )
#    try:
    #AfaLoggerFunc.tradeInfo('status='+TradeContext.__status__+'autoRevTranCtl='+TradeContext.__autoRevTranCtl__)
 
    Party3Context.agentSerialno = TradeContext.agentSerialno
    Party3Context.workDate      = TradeContext.workDate
    Party3Context.workTime      = TradeContext.workTime
    Party3Context.amount        = TradeContext.amount
    Party3Context.ProCode       = TradeContext.ProCode
    Party3Context.ProCodeStr    = TradeContext.ProCodeStr
    Party3Context.PlanName      = TradeContext.PlanName  

    if not Party3Context.existVariable('CpicTeller'):
        AfaLoggerFunc.tradeInfo( '>>>保险公司未返回业务员编号,系统自动冲正' )
        TradeContext.errorCode, TradeContext.errorMsg = 'A0100', '保险公司未返回业务员编号'
        return False
 
    names = Party3Context.getNames( )
    for name in names:
        value = getattr( Party3Context, name )
        if ( not name.startswith( '__' ) and type(value) is StringType) :
            setattr( TradeContext, name, value )
        #AfaLoggerFunc.tradeInfo("字段名称  ["+str(name)+"] =  "+str(value))
    if( TradeContext.errorCode == '0000' ):
        TradeContext.errorMsg = '交易成功'
        if ( TradeContext.existVariable( "EffDate" ) and len(str(TradeContext.EffDate)) == 14):
            TradeContext.EffDate = TradeContext.EffDate[0:4] + TradeContext.EffDate[6:8] + TradeContext.EffDate[10:12]
        if ( TradeContext.existVariable( "TermDate" ) and len(str(TradeContext.TermDate)) == 14):
            TradeContext.TermDate = TradeContext.TermDate[0:4] + TradeContext.TermDate[6:8] + TradeContext.TermDate[10:12]
        if not AfaAhAdb.ADBUpdateTransdtl( ):
            #raise AfaFlowControl.accException()
            return False
    else:
        AfaLoggerFunc.tradeInfo('与第三方交易失败')
        return False
 
    #AfaLoggerFunc.tradeInfo("贷款合同和凭证编号 "+TradeContext.CreBarNo+"$$$$$$$"+TradeContext.CreVouNo)
    #AfaLoggerFunc.tradeInfo("核心流水"+ str(TradeContext.bankSerno))
    #TradeContext.CreBarNo = TradeContext.CreBarNo
    #TradeContext.CreVouNo = TradeContext.CreVouNo
    #TradeContext.bankSerno = TradeContext.bankSerno
    AfaLoggerFunc.tradeInfo('退出缴费交易与第三方通讯后处理' )
    return True
Beispiel #33
0
def QueryUserInfo():

    sql = "SELECT ZONENO,BRNO,USERNO,USERNAME,DUTYNO,TEL,ADDRESS FROM ABDT_USERINFO WHERE STATUS='1'"

    if( TradeContext.existVariable( "USERNO" ) and len(TradeContext.USERNO)>0 ):
        sql = sql + " AND USERNO = '" + TradeContext.USERNO + "' ORDER BY USERNO"

    AfaLoggerFunc.tradeInfo(sql)

    records =  AfaDBFunc.SelectSql( sql )
    if (records == None):
        AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg )
        return ExitSubTrade( '9999', '查询用户信息异常' )

    if (len(records)==0) :
        return ExitSubTrade( '9000', '不存在用户信息' )

    else:
        TradeContext.RETDATA = ""

        if(len(records)>5):
            TradeContext.RETFINDNUM = 5

        else:
            TradeContext.RETFINDNUM = len(records)

        for i in range(0,TradeContext.RETFINDNUM):

            TradeContext.RETDATA = TradeContext.RETDATA + records[i][0]    #ZONENO
            TradeContext.RETDATA = TradeContext.RETDATA +"|"

            TradeContext.RETDATA = TradeContext.RETDATA + records[i][1]    #BRNO
            TradeContext.RETDATA = TradeContext.RETDATA +"|"
            
            TradeContext.RETDATA = TradeContext.RETDATA + records[i][2]    #USERNO
            TradeContext.RETDATA = TradeContext.RETDATA +"|"

            TradeContext.RETDATA = TradeContext.RETDATA + records[i][3]    #USERNAME
            TradeContext.RETDATA = TradeContext.RETDATA +"|"

            TradeContext.RETDATA = TradeContext.RETDATA + records[i][4]    #DUTYNO
            TradeContext.RETDATA = TradeContext.RETDATA +"|"
            
            TradeContext.RETDATA = TradeContext.RETDATA + records[i][5]    #TEL
            TradeContext.RETDATA = TradeContext.RETDATA +"|"

            TradeContext.RETDATA = TradeContext.RETDATA + records[i][6]    #ADDRESS
            TradeContext.RETDATA = TradeContext.RETDATA +"|"

            AfaLoggerFunc.tradeInfo( records[i][0] + '|' + records[i][1] + "|" + records[i][2] + "|" + records[i][3] + "|")

        TradeContext.tradeResponse.append(['RETDATA',TradeContext.RETDATA])

        TradeContext.tradeResponse.append(['RETFINDNUM',str(TradeContext.RETFINDNUM)])

        return True
Beispiel #34
0
def main( ):

    AfaLoggerFunc.tradeInfo('******代收代付.通用轧帐模板[' + TradeContext.TemplateCode + ']进入******' )

    try:

        #=====================初始化返回报文变量================================
        TradeContext.tradeResponse=[]

        #=====================获取当前系统时间==================================
        TradeContext.workDate=AfaUtilTools.GetSysDate( )
        TradeContext.workTime=AfaUtilTools.GetSysTime( )

        #=====================判断应用系统状态==================================
        #if not AfaFunc.ChkSysStatus( ) :
        #    raise AfaFlowControl.flowException( )
                
        #=====================校验公共节点的有效性==============================
        if( not TradeContext.existVariable( "statType" ) ):
            raise AfaFlowControl.flowException( 'A0001', '轧帐类型[statType]值不存在,不能进行轧帐' )

        if( not TradeContext.existVariable( "TransType" ) ):
            raise AfaFlowControl.flowException( 'A0001', '传输类型[TransType]值不存在,不能进行轧帐' )

        AfaLoggerFunc.tradeInfo( '>>>statType  = ' + TradeContext.statType )
        AfaLoggerFunc.tradeInfo( '>>>TransType = ' + TradeContext.TransType)

        #=====================轧帐操作==========================================
        if not StatAccountInfo( TradeContext.statType ) :
            raise AfaFlowControl.flowException( )

        #=====================自动打包==========================================
        TradeContext.tradeResponse.append( ['errorCode',     '0000'] )
        TradeContext.tradeResponse.append( ['errorMsg',      '交易成功'] )

        AfaFunc.autoPackData()

        #=====================退出模板==========================================
        AfaLoggerFunc.tradeInfo( '******代收代付.通用轧帐模板[' + TradeContext.TemplateCode + ']退出******' )

    except AfaFlowControl.flowException, e:
        AfaFlowControl.exitMainFlow( str(e) )