Exemplo n.º 1
0
def GetDataFromDB(item,value,table,field):
    sql = "select " + field + " from " + "FS_" + table + " where " + item + "='" + value +"'"

    #afc163开票日期
    records = AfaDBFunc.SelectSql( sql )
    if ( records == None or len(records) == 0 ):
        AfaLoggerFunc.tradeInfo( sql )
        AfaLoggerFunc.tradeInfo( AfaDBFunc.sqlErrMsg )
        return False
    else:
        if not records[0][0]:
            return "null"
        else:
            return records[0][0]
Exemplo n.º 2
0
def SubModuleDoSnd():
    AfaLoggerFunc.tradeInfo('>>>中心后处理')
    
    if TradeContext.errorCode == '0000':
        TradeContext.BDWFLG = PL_BDWFLG_SUCC
    else:
        TradeContext.BDWFLG = PL_BDWFLG_FAIL
        
    sstlog_dict={}
    sstlog_dict['BSPSQN']  = TradeContext.BSPSQN
    sstlog_dict['BJEDTE']  = TradeContext.BJEDTE
    sstlog_dict['BCSTAT']  = PL_BCSTAT_SND
    sstlog_dict['BDWFLG']  = TradeContext.BDWFLG
    
    if not rccpsState.setTransState(sstlog_dict):
        AfaDBFunc.RollBackSql()
        return AfaFlowControl.ExitThisFlow("S999","修改原交易当前状态为发送-成功异常")
    else:
        AfaDBFunc.CommitSql( )
        AfaLoggerFunc.tradeInfo(">>>结束修改原交易状态为发送-成功")
    
    AfaLoggerFunc.tradeInfo( '***农信银系统:往账.中心类操作(1.本地操作).柜台补正[TRCC003_8587]退出***' )
    return True
Exemplo n.º 3
0
def GetMainDict(ItemName):
    AfaLoggerFunc.tradeInfo('获取字典主表数据' )
    AfaLoggerFunc.tradeInfo('|'+ItemName+'|')
    sql_m="SELECT * FROM AFA_MAINDICT "
    sql_m=sql_m+"WHERE ITEMENAME='"+ItemName+"'"
    sql_m=sql_m+" ORDER BY ITEM"
    records_m = AfaDBFunc.SelectSql(sql_m)
    AfaLoggerFunc.tradeInfo(sql_m)
    if( records_m == None or len(records_m) == 0):
        AfaLoggerFunc.tradeFatal(sql_m)
        return '0'
    AfaUtilTools.ListFilterNone( records_m )
    AfaLoggerFunc.tradeInfo('|'+records_m[0][0]+'|'+records_m[0][1]+'|'+records_m[0][2]+'|')
    return records_m[0][0]
Exemplo n.º 4
0
def deleteCmt( where_dict ):
    if not chk(where_dict):
        return -1

    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 = "DELETE FROM rcc_tdzjcz WHERE " + wheresql[0:-5]
    AfaLoggerFunc.tradeInfo(sql)
    return AfaDBFunc.DeleteSqlCmt( sql )
Exemplo n.º 5
0
def sumall():       
    #成功总计
    AfaLoggerFunc.tradeInfo('查询对账成功,差异笔数和金额')
    sumsql="SELECT count(*),sum(cast(amount as decimal(17,2))) "
    sumsql = sumsql + "FROM TIPS_MAINTRANSDTL  "
    sumsql = sumsql + "WHERE NOTE1 ='"+TradeContext.checkDate+"'"
    sumsql = sumsql + " AND NOTE2 = '"+TradeContext.checkNo+"'"
    sumsql = sumsql + " AND CHKFLAG='0' and CORPCHKFLAG='0'"
    sumsql = sumsql + " AND NOTE3='"  + TradeContext.payBkCode.strip()  + "'"   
    sumsql = sumsql + " AND NOTE4='"  + TradeContext.payeeBankNo.strip()  + "'"
    sumSucc=AfaDBFunc.SelectSql( sumsql)
    AfaLoggerFunc.tradeInfo(sumsql)
    AfaLoggerFunc.tradeInfo("成功总计"+repr(sumSucc))
    if( sumSucc == None or sumSucc < 0 ):
        # None 查询失败
        return TipsFunc.ExitThisFlow( 'A0025', '数据库操作错误 统计成功笔数出错!'+AfaDBFunc.sqlErrMsg  )
    #差异总计
    sumsql="SELECT count(*),sum(cast(amount as decimal(17,2))) "
    sumsql = sumsql + "FROM TIPS_MAINTRANSDTL  "
    sumsql = sumsql + "WHERE NOTE1 ='"+TradeContext.checkDate+"'"
    sumsql = sumsql + " AND  NOTE2 = '"+TradeContext.checkNo+"'"
    sumsql = sumsql + " AND (CHKFLAG!='9'  and  CORPCHKFLAG='9' or CHKFLAG!='0'  and  CORPCHKFLAG='0')"
    sumsql = sumsql + " AND  NOTE3='"  + TradeContext.payBkCode.strip()  + "'"   
    sumsql = sumsql + " AND NOTE4='"  + TradeContext.payeeBankNo.strip()  + "'"
    AfaLoggerFunc.tradeInfo(sumsql)
    sumFail=AfaDBFunc.SelectSql( sumsql)
    AfaLoggerFunc.tradeInfo("差异总计"+repr(sumFail))
    if( sumFail == None or sumFail < 0):
        # None 查询失败
        return TipsFunc.ExitThisFlow( 'A0025', '数据库操作错误 统计差异笔数出错!' +AfaDBFunc.sqlErrMsg  )
    sumSucc=UtilTools.ListFilterNone(sumSucc,0)
    sumFail=UtilTools.ListFilterNone(sumFail,0)
    TradeContext.tradeResponse.append( ['sSum', str(sumSucc[0][0])] )  
    TradeContext.tradeResponse.append( ['sAmt', str(sumSucc[0][1])] )
    TradeContext.tradeResponse.append( ['fSum', str(sumFail[0][0])] )  
    TradeContext.tradeResponse.append( ['fAmt', str(sumFail[0][1])] )  
    return True
Exemplo n.º 6
0
def GetUnitStatus():
    AfaLoggerFunc.tradeInfo('获取商户参数' )
    #============系统标识============
    sqlStr = "SELECT * FROM AFA_UNITADM WHERE SYSID = '" + TradeContext.sysId + "' AND "
    #============商户代码============
    sqlStr = sqlStr+"UNITNO = '" + TradeContext.unitno + "' "
    AfaLoggerFunc.tradeInfo( sqlStr )
    records = AfaDBFunc.SelectSql( sqlStr )
    if( records == None ):
        AfaLoggerFunc.tradeFatal( sqlStr )
        return AfaFlowControl.ExitThisFlow( 'A0025', '数据库错误,商户信息表操作异常:'+AfaDBFunc.sqlErrMsg )
    elif( len( records )!=0 ):
        AfaUtilTools.ListFilterNone( records )
        TradeContext.__busiMode__ = records[0][6]   #=============业务模式=============
        if( TradeContext.__busiMode__!="2" ):
            TradeContext.__unitStatus__ = records[0][4]         #=============业务状态=============
            TradeContext.__unitLoginStatus__ = records[0][27]   #=============签到务状态=============
            TradeContext.__unitDayendStatus__ = records[0][28]  #=============日终状态=============
            TradeContext.__unitCheckStatus__ = records[0][30]   #=============对账业务状态=============
        if( TradeContext.__busiMode__=="2" ):
            AfaLoggerFunc.tradeInfo('获取子商户参数' )
            #============系统标识============
            sqlStr = "SELECT * FROM AFA_SUBUNITADM WHERE SYSID = '" + TradeContext.sysId + "' AND "
            #============商户代码============
            sqlStr = sqlStr+"UNITNO = '" + TradeContext.unitno + "' AND "
            #============子商户代码============
            sqlStr = sqlStr+"SUBUNITNO = '" + TradeContext.subUnitno + "' "
            subRecords = AfaDBFunc.SelectSql( sqlStr )
            if(subRecords == None ):
                return AfaFlowControl.ExitThisFlow( 'A0025', '数据库错误,商户分支单位信息表操作异常:'+AfaDBFunc.sqlErrMsg )
            elif( len( subRecords )!=0 ):
                AfaUtilTools.ListFilterNone( subRecords )
                TradeContext.__unitStatus__ = subRecords[0][4]         #=============业务状态=============
                TradeContext.__unitLoginStatus__ = subRecords[0][27]   #=============签到务状态=============
                TradeContext.__unitDayendStatus__ = subRecords[0][28]  #=============日终状态=============
                TradeContext.__unitCheckStatus__ = subRecords[0][30]   #=============对账业务状态=============
    return True
Exemplo n.º 7
0
def SubModuleDoSnd():
    AfaLoggerFunc.tradeInfo( '***农信银系统:往账.中心类操作(2.中心操作).汇票撤销[TRCC003_8503]进入***' )
    
    stat_dict = {}
    stat_dict['BJEDTE']  = TradeContext.BJEDTE
    stat_dict['BSPSQN']  = TradeContext.BSPSQN
    stat_dict['BESBNO']  = TradeContext.BESBNO
    stat_dict['BETELR']  = TradeContext.BETELR
    stat_dict['BCSTAT']  = PL_BCSTAT_SND
    stat_dict['BDWFLG']  = PL_BDWFLG_SUCC
    stat_dict['PRCCO']   = TradeContext.errorCode
    stat_dict['STRINFO'] = TradeContext.errorMsg
    
    AfaLoggerFunc.tradeInfo("TradeContext.errorCode = [" + TradeContext.errorCode + "]")
    if TradeContext.errorCode == '0000':
        #发送农信银成功,设置业务状态为发送成功
        AfaLoggerFunc.tradeInfo(">>>发送农信银总中心成功")
        AfaLoggerFunc.tradeInfo(">>>开始设置业务状态为发送成功")
        
        stat_dict['BCSTAT']  = PL_BCSTAT_SND
        stat_dict['BDWFLG']  = PL_BDWFLG_SUCC
        
        if not rccpsState.setTransState(stat_dict):
            return AfaFlowControl.ExitThisFlow('S999', "设置业务状态为发送成功异常")
        
        AfaLoggerFunc.tradeInfo(">>>结束设置业务状态为发送成功")
        
    else:
        #发送农信银失败,设置业务状态为发送失败
        AfaLoggerFunc.tradeInfo(">>>发送农信银总中心失败")
        AfaLoggerFunc.tradeInfo(">>>开始设置业务状态为发送失败")
        
        stat_dict['BCSTAT']  = PL_BCSTAT_SND
        stat_dict['BDWFLG']  = PL_BDWFLG_FAIL
        
        if not rccpsState.setTransState(stat_dict):
            return AfaFlowControl.ExitThisFlow('S999', "设置业务状态为发送失败异常")
        
        AfaLoggerFunc.tradeInfo(">>>结束设置业务状态为发送失败")
    
    #COMMIT
    if not AfaDBFunc.CommitSql( ):
        AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg )
        return AfaFlowControl.ExitThisFlow("S999","Commit异常")
    AfaLoggerFunc.tradeInfo(">>>Commit成功")
    
    AfaLoggerFunc.tradeInfo( '***农信银系统:往账.中心类操作(2.中心操作).汇票撤销[TRCC003_8503]退出***' )
    
    return True
Exemplo n.º 8
0
def ChkUnitInfo( ):


    WrtLog('>>>判断单位协议是否有效')


    try:
        sql = ""
        sql = "SELECT SIGNUPMODE,GETUSERNOMODE,STARTDATE,ENDDATE,STARTTIME,ENDTIME,ACCNO,AGENTTYPE,VOUHNO FROM ABDT_UNITINFO WHERE "
        sql = sql + "APPNO="  + "'" + TradeContext.sysId  + "'" + " AND "        #业务编号
        sql = sql + "BUSINO=" + "'" + TradeContext.busino + "'" + " AND "        #单位编号
        sql = sql + "STATUS=" + "'" + "1"                   + "'"                  #状态

        WrtLog( sql )

        records = AfaDBFunc.SelectSql( sql )
        if ( records == None ):
            WrtLog( AfaDBFunc.sqlErrMsg )
            return ExitSubTrade( '9000', '查询单位协议信息异常' )
    
        if ( len(records) <= 0 ):
            return ExitSubTrade( '9000', '没有单位协议信息,不能进行此类操作')

        #过滤None
        AfaUtilTools.ListFilterNone( records )

        TradeContext.SIGNUPMODE    = str(records[0][0])                             #签约方式
        TradeContext.GETUSERNOMODE = str(records[0][1])                             #商户客户编号获取方式
        TradeContext.STARTDATE     = str(records[0][2])                             #生效日期
        TradeContext.ENDDATE       = str(records[0][3])                             #失效日期
        TradeContext.STARTTIME     = str(records[0][4])                             #服务开始时间
        TradeContext.ENDTIME       = str(records[0][5])                             #服务终止时间
        TradeContext.ACCNO         = str(records[0][6])                             #对公账户
        TradeContext.AGENTTYPE     = str(records[0][7])                             #委托方式
        TradeContext.VOUHNO        = str(records[0][8])                             #凭证号(内部帐户)

        WrtLog( "TranDate=[" + TradeContext.workDate + "]" )

        if ( (TradeContext.STARTDATE > TradeContext.workDate) or (TradeContext.workDate > TradeContext.ENDDATE) ):
            return ExitSubTrade( '9000', '该单位委托协议还没有生效或已过有效期')

        if ( (TradeContext.STARTTIME > TradeContext.workTime) or (TradeContext.workTime > TradeContext.ENDTIME) ):
            return ExitSubTrade( '9000', '已经超过该系统的服务时间,该业务必须在[' + s_StartDate + ']-[' + s_EndDate + ']时间段运行')

        return True
        
    except Exception, e:
        WrtLog( str(e) )
        return ExitSubTrade( '9999', '判断单位协议信息是否存在失败')
Exemplo n.º 9
0
def TrxMain( ):


    AfaLoggerFunc.tradeInfo('**********查询(8804)开始**********')

    try:
        sql = ""
        sql = "SELECT * FROM ABDT_BATCHINFO WHERE "
        sql = sql + "INDATE="    + "'" + TradeContext.indate  + "'" + " AND "      #申请日期
        sql = sql + "BATCHNO="   + "'" + TradeContext.batchno + "'"                #委托号




        AfaLoggerFunc.tradeInfo( sql )

        records = AfaDBFunc.SelectSql( sql )
        if ( records == None ):
            AfaLoggerFunc.tradeFatal( AfaDBFunc.sqlErrMsg )
            return ExitSubTrade( '9000', '查询批量信息表异常' )

        if ( len(records) == 0 ):
            return ExitSubTrade( '9000', '没有该委托号的批次信息' )

        #过滤None
        AfaUtilTools.ListFilterNone( records )

        TradeContext.tradeResponse.append(['appno',           str(records[0][1])])         #业务编号
        TradeContext.tradeResponse.append(['busino',          str(records[0][2])])         #单位编号
        TradeContext.tradeResponse.append(['brno',            str(records[0][4])])         #网点号
        TradeContext.tradeResponse.append(['status',          str(records[0][19])])        #状态
        TradeContext.tradeResponse.append(['procmsg',         str(records[0][22])])        #错误描述



        #处理结果信息
        BatchResultMsg = str(records[0][22])

        AfaLoggerFunc.tradeInfo('**********查询(8804)结束**********')


        #返回
        TradeContext.tradeResponse.append(['errorCode', '0000'])
        TradeContext.tradeResponse.append(['errorMsg',  BatchResultMsg])
        return True

    except Exception, e:
        AfaLoggerFunc.tradeFatal( str(e) )
        return ExitSubTrade( '9999', '查询,数据库异常' )
Exemplo n.º 10
0
def DelHostFile(curBatchNo, HostFileName, Flag):

    AbdtManager.WrtLog('删除主机文件:[' + HostFileName + ']')

    try:
        HostBatchNo  = curBatchNo[4:16]

        #通讯区打包
        HostContext.I1TRCD = '8819'                     #交易码
        HostContext.I1SBNO = TradeContext.BRNO          #交易机构号
        HostContext.I1USID = '999986'                   #交易柜员号
        HostContext.I1AUUS = ""                         #授权柜员
        HostContext.I1AUPS = ""                         #授权柜员密码
        HostContext.I1WSNO = ""                         #终端号
        HostContext.I1NBBH = TradeContext.APPNO         #代理业务标识
        HostContext.I1CLDT = TradeContext.BATCHDATE     #原批量日期
        HostContext.I1UNSQ = HostBatchNo                #原批量委托号
        HostContext.I1FILE = HostFileName               #删除文件名
        HostContext.I1OPFG = Flag                       #操作标志(0-查询 1-删除上传文件 2-删除下传文件)

        HostTradeCode = "8819".ljust(10,' ')
        HostComm.callHostTrade( os.environ['AFAP_HOME'] + '/conf/hostconf/AH8819.map', HostTradeCode, "0002" )
        if( HostContext.host_Error ):
            AbdtManager.WrtLog('>>>处理结果=[' + str(HostContext.host_ErrorType) + ']:' +  HostContext.host_ErrorMsg)
            return -1

        if ( HostContext.O1MGID == "AAAAAAA" ):
            AbdtManager.WrtLog('>>>处理结果=[' + HostContext.O1MGID + ']交易成功')

        else:
            AbdtManager.WrtLog('>>>处理结果=[' + HostContext.O1MGID + ']' + HostContext.O1INFO)

        #删除批量表中的数据
        sql = ""
        sql = sql + "UPDATE ABDT_BATCHINFO SET STATUS='**' WHERE "
        sql = sql + "APPNO='"   + TradeContext.APPNO     + "'" + " AND "
        sql = sql + "BUSINO='"  + TradeContext.BUSINO    + "'" + " AND "
        sql = sql + "BATCHNO='" + TradeContext.BATCHNO   + "'"

        retcode = AfaDBFunc.UpdateSqlCmt( sql )
        if (retcode==None or retcode <= 0):
            return -1
        else:
            return 0

    except Exception, e:
        AbdtManager.WrtLog( str(e) )
        AbdtManager.WrtLog('删除主机文件异常')
        return -1
Exemplo n.º 11
0
def ChkAppStatus():
    sqlstr  =   "select status from abdt_unitinfo where appno='" + TradeContext.appNo + "' and busino ='" + TradeContext.busiNo + "'"
    records = AfaDBFunc.SelectSql( sqlstr )
    if( records == None or len( records)==0 ):
        AfaLoggerFunc.tradeInfo('查找应用状态库失败')
        return False
    elif len( records ) == 1:
        if records[0][0].strip() == '1':
            return True
        else:
            AfaLoggerFunc.tradeInfo('应用状态没有开启')
            return False
    else:
        AfaLoggerFunc.tradeInfo('应用签约异常')
        return False
Exemplo n.º 12
0
def Delete():
    try:
        if( TradeContext.existVariable( "PAYEEBANKNO" ) and len(TradeContext.PAYEEBANKNO)<=0):
            return AfaFlowControl.ExitThisFlow( 'A0027', '[清算国库支付系统行号]:不能为空')
        if( TradeContext.existVariable( "PAYBKCODE" ) and len(TradeContext.PAYBKCODE)<=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="DELETE "
        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.DeleteSqlCmt(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))
Exemplo n.º 13
0
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
Exemplo n.º 14
0
def SerachDB():
    #=====查询FS_BUSINOINFO表,得到账号等信息====
    tradeLogger.info("进入SearchDB,查询FS_BUSINOINFO表")
    sqlstr = "select BUSINO,ACCNO,TELLER,BANKNO from FS_BUSINOINFO"
    records = AfaDBFunc.SelectSql(sqlstr)
    if(records == None):
        tradeLogger.info( "查找数据库异常" )
        return False

    elif(len(records) == 0):
        tradeLogger.info( "查找数据库为空" )
        return False

    else:
        return records
Exemplo n.º 15
0
def SubModuleDoFst( ):
    
    AfaLoggerFunc.tradeInfo( '反交易数据预查询,查询是否有此缴费记录' )
    try:
        sql = "select workdate,worktime,userno,tellerno,brno,unitno,amount,trxcode from afa_maintransdtl"
        sql = sql + " where agentserialno = '"+TradeContext.preAgentSerno+"' and workdate = '"+TradeContext.workDate+"' and trxcode='8495'"
        sql = sql + " and revtranf = '0' and bankstatus = '0'and chkflag = '9'"
        
        #20120718陈浩添加
        sql = sql + " and  sysid = '" + TradeContext.sysId.strip()   + "' "
        sql = sql + " and  note2 = '" + TradeContext.busino.strip()  + "' "
        
        
        AfaLoggerFunc.tradeInfo('反交易查询语句:'+ sql)
        
        records = AfaDBFunc.SelectSql( sql )
        AfaLoggerFunc.tradeInfo('反交易查询的结果:'+ str(records))
        
        if records == None:
            TradeContext.errorCode,TradeContext.errorMsg = "0001","反交易查询数据失败"
            raise AfaFlowControl.flowException( )
        elif(len(records) < 1):
            TradeContext.errorCode,TradeContext.errorMsg = "0001","无此交易"
            return False
        else:
            if(records[0][3] != TradeContext.tellerno):
                TradeContext.errorCode,TradeContext.errorMsg = "0001","原交易非本柜员所做,不能做此交易"
                return False
            if(records[0][4] != TradeContext.brno):
                TradeContext.errorCode,TradeContext.errorMsg = "0001","原交易非本网点所做,不能做此交易"
                return False
            if(records[0][5] != TradeContext.unitno):
                TradeContext.errorCode,TradeContext.errorMsg = "0001","与原交易公司不符,不能做此交易"
                return False
            if(records[0][6].strip() != TradeContext.amount.strip()):
                TradeContext.errorCode,TradeContext.errorMsg = "0001","与原交易金额不符,不能做此交易"
                return False
           
            TradeContext.PreWorkDate = records[0][0]                  #原交易日期
            TradeContext.PreWorktime = records[0][1]                  #原交易时间
            TradeContext.PreTrxCode  = records[0][7]                  #原交易码
            TradeContext.amount = records[0][6]                       #金额
            TradeContext.preAgentSerno = TradeContext.preAgentSerno   #原交易流水号
        return True     
    except  Exception, e:                       
        AfaLoggerFunc.tradeInfo( str(e) )     
        AfaFlowControl.flowException( )       
                             
Exemplo n.º 16
0
def SubModuleDoSnd():
    AfaLoggerFunc.tradeInfo('缴费信息查询交易[T'+TradeContext.TemplateCode+'_'+TradeContext.TransCode+']' )
    try:
        sql = "select agentserialno,"
        sql = sql + "userno,username,idcode,amount,usernameb,idcodeb,loandate,loanenddate,crevouno,crebarno,procode,cpicteller,note1 "
        sql = sql + " from afa_adbinfo where userno = '" + TradeContext.CpicNo.strip() + "' and note3 = '" + TradeContext.unitno.strip() + "'"
        sql = sql + " and workdate = '"+TradeContext.workDate + "'"
        sql = sql + " and tellerno = '"+TradeContext.tellerno + "'"
        sql = sql + " and dtlstatus = '0' "
        sql = sql + " order by agentserialno desc"
        AfaLoggerFunc.tradeInfo('缴费信息查询语句'+ sql)
        records = AfaDBFunc.SelectSql( sql )
        if(len(records) < 1):
            TradeContext.errorCode,TradeContext.errorMsg = "0001","无此投保信息"
            return False
        else:
            #用户编号(保险单号)
            TradeContext.CpicNo = records[0][1]
            #投保人名称
            TradeContext.UserName = records[0][2]
            #投保人身份证号码
            TradeContext.GovtID = records[0][3]
            #金额
            TradeContext.PaymentAmt = records[0][4]
            #被保人姓名
            TradeContext.UserNameB = records[0][5]
            #被保人身份证号码
            TradeContext.GovtIDB = records[0][6]
            #借款日期
            TradeContext.LoanDate = records[0][7]
            #借款到期日
            TradeContext.LoanEndDate = records[0][8]
            #借款凭证编号
            TradeContext.CreVouNo = records[0][9]
            #贷款合同编号
            TradeContext.CreBarNo = records[0][10]
            #保险种类
            TradeContext.ProCode = records[0][11]
            #太保业务员代码
            TradeContext.CpicTeller = records[0][12]
            #保单号
            TradeContext.CpciPNo = records[0][13]
            #交易返回码
            TradeContext.errorCode = '0000'
        AfaLoggerFunc.tradeInfo('退出缴费信息查询交易' )
        return True
    except Exception, e:
        AfaFlowControl.exitMainFlow(str(e))
Exemplo n.º 17
0
def GetSubDict(MainItem,SubCode):
    AfaLoggerFunc.tradeInfo('获取字典子表数据' )
    AfaLoggerFunc.tradeInfo('|'+MainItem+'|'+SubCode+'|')
    sql_m="SELECT * FROM AFA_SUBDICT "
    sql_m=sql_m+"WHERE ITEM='"+MainItem+"'"
    sql_m=sql_m+"AND CODE='"+SubCode+"'"
    sql_m=sql_m+" ORDER BY ITEM,CODE"
    records_m = AfaDBFunc.SelectSql(sql_m)
    AfaLoggerFunc.tradeInfo(sql_m)
    if( records_m == None or len(records_m) == 0):
        AfaLoggerFunc.tradeFatal(sql_m)
        return '未知'
    AfaUtilTools.ListFilterNone( records_m )
    AfaLoggerFunc.tradeInfo('|'+records_m[0][0]+'|'+records_m[0][1]+'|'+records_m[0][2]+'|')
    return records_m[0][2]
    
Exemplo n.º 18
0
def UpdUnitDayendStatus(flag):
    AfaLoggerFunc.tradeInfo('修改商户日终状态' )
    GetUnitStatus()
    if(TradeContext.__busiMode__!='2'):
        sql="UPDATE AFA_UNITADM SET DAYENDSTATUS='"+flag+"',dayendtime='"+TradeContext.workTime+\
            "' WHERE SYSID='"+TradeContext.sysId+"'and UNITNO='"+TradeContext.unitno+"'"
    else:
        sql="UPDATE AFA_SUBUNITADM SET DAYENDSTATUS='"+flag+"' , dayendtime='"+TradeContext.workTime+\
            "' WHERE SYSID='"+TradeContext.sysId+"' AND UNITNO='"+TradeContext.unitno+"' AND "\
            "SUBUNITNO='"+TradeContext.subUnitno+"'"
    AfaLoggerFunc.tradeInfo(sql )
    records=AfaDBFunc.UpdateSqlCmt( sql )
    if( records <0 ):
        AfaLoggerFunc.tradeFatal( sql )
        return AfaFlowControl.ExitThisFlow( 'A0025', '数据库错误,商户信息表操作异常:'+AfaDBFunc.sqlErrMsg )
    return True
Exemplo n.º 19
0
def ChkUnitInfo( ):

    AfaLoggerFunc.tradeInfo( '=====判断应用状态开始=====' )

    sqlStr = ''
    sqlStr = sqlStr + "SELECT STATUS,STARTDATE,ENDDATE,STARTTIME,ENDTIME,ACCNO FROM ABDT_UNITINFO "
    sqlStr = sqlStr + " AND WHERE APPNO = '" + TradeContext.sysId + "'"

    #============单位编码============
    sqlStr = sqlStr + " AND BUSINO = '" + TradeContext.busino + "'"

    #============委托方式============
    sqlStr = sqlStr + " AND AGENTTYPE IN ('1','2')"
    
    AfaLoggerFunc.tradeFatal( '查询结果 :'+sqlStr )
    
    records = AfaDBFunc.SelectSql( sqlStr )
    
    if( records == None ):
        return AfaFlowControl.ExitThisFlow( 'A0002', '查询单位协议信息异常')

    elif( len( records )!=0 ):
        AfaUtilTools.ListFilterNone( records )
        
        TradeContext.STATUS        = str(records[0][0])                             #签约状态
        TradeContext.STARTDATE     = str(records[0][1])                             #生效日期
        TradeContext.ENDDATE       = str(records[0][2])                             #失效日期
        TradeContext.STARTTIME     = str(records[0][3])                             #服务开始时间
        TradeContext.ENDTIME       = str(records[0][4])                             #服务终止时间
        TradeContext.ACCNO         = str(records[0][5])                             #对公账户
        
        
        if ( (TradeContext.STARTDATE > TradeContext.workDate) or (TradeContext.workDate > TradeContext.ENDDATE) ):
            return AfaFlowControl.ExitThisFlow( '9000', '该单位委托协议还没有生效或已过有效期')

        if ( (TradeContext.STARTTIME > TradeContext.workTime) or (TradeContext.workTime > TradeContext.ENDTIME) ):
            return AfaFlowControl.ExitThisFlow( '9000', '已经超过该系统的服务时间,该业务必须在[' + s_StartDate + ']-[' + s_EndDate + ']时间段运行')

        #=============代理业务帐号=============
        #TradeContext.__agentAccno__ = records[0][5] 
        #AfaLoggerFunc.tradeInfo('收款人帐户__agentAccno__ BB::'+ TradeContext.__agentAccno__)           

        AfaLoggerFunc.tradeInfo( '=====判断应用状态结束=======' )
        return True
    else:
        AfaLoggerFunc.tradeError( sqlStr )
        return AfaFlowControl.ExitThisFlow( 'A0003', '该地区没有开放此业务' )
Exemplo n.º 20
0
def UpdChkFlag(chkFlag,wrokDate):
    VouhFunc.WrtLog('>>>修改对帐标志')
    
    updSql = "UPDATE VOUH_MODIFY SET CHKFLAG ='" + chkFlag + "' WHERE WORKDATE = '" + wrokDate + "' \
                and TRANSTATUS = '0'"
    
    VouhFunc.WrtLog(updSql)
    
    result = AfaDBFunc.UpdateSqlCmt( updSql )
    if ( result <= 0 ):
        VouhFunc.WrtLog( AfaDBFunc.sqlErrMsg )
        VouhFunc.WrtLog('>>>处理结果:修改对帐标志,数据库异常')
        return False

    VouhFunc.WrtLog('>>>修改对帐标志 ---> 成功')

    return True
Exemplo n.º 21
0
def UpdSysStatus(sysId, sysStatus):

    WrtLog('>>>修改系统状态')

    updSql = "UPDATE AFA_SYSTEM SET STATUS='" + sysStatus + "' WHERE SYSID='" + sysId + "'"

    WrtLog(updSql)

    result = AfaDBFunc.UpdateSqlCmt( updSql )
    if ( result <= 0 ):
        WrtLog( AfaDBFunc.sqlErrMsg )
        WrtLog('>>>处理结果:修改系统状态,数据库异常')
        return False

    WrtLog('>>>修改系统状态 ---> 成功')

    return True
Exemplo n.º 22
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))
Exemplo n.º 23
0
def ChkAppStatus( ):

    AfaLoggerFunc.tradeInfo( '判断应用状态[begin]' )

    #============业务编号============
    sqlStr = "SELECT STATUS,STARTDATE,ENDDATE,STARTTIME,ENDTIME,ACCNO FROM ABDT_UNITINFO WHERE APPNO = '" + TradeContext.appNo + "'"

    #============单位编码============
    sqlStr = sqlStr + " AND BUSINO = '" + TradeContext.busiNo + "'"

    #============委托方式============
    sqlStr = sqlStr + " AND AGENTTYPE IN ('1','2')"

    records = AfaDBFunc.SelectSql( sqlStr )
    if( records == None ):
        # AfaLoggerFunc.tradeFatal( sqlStr )
        return AfaFlowControl.ExitThisFlow( 'A0002', '代收代付_单位信息表:'+AfaDBFunc.sqlErrMsg )

    elif( len( records )!=0 ):
        AfaUtilTools.ListFilterNone( records )
        #===============判断业务状态============================
        if( records[0][0]=="0" ):
            return AfaFlowControl.ExitThisFlow( 'A0004', '该业务处于未启用状态,不能做此交易' )
        elif( records[0][0]=="2" ):
            return AfaFlowControl.ExitThisFlow( 'A0005', '该业务处于关闭状态,不能做此交易' )
        elif( records[0][0]=="3" ):
            return AfaFlowControl.ExitThisFlow( 'A0006', '该业务处于停用状态,不能做此交易' )
        
        #===============判断服务时间============================
        if( long( TradeContext.workDate )<long( records[0][1] ) or long( TradeContext.workDate )>long( records[0][2] ) ):
            return AfaFlowControl.ExitThisFlow ('A0008', "该业务已过期,有效期:["+records[0][1] + "-->" + records[0][2] + "]") 

        #================判断有效时间===========================
        if( long(TradeContext.workTime) < long(records[0][3])) or (long(TradeContext.workTime) > long(records[0][4])):
            return AfaFlowControl.ExitThisFlow( 'A0007', "超过业务开放时间,请在["+records[0][3]+"-->"+records[0][4]+"]做此业务" )

        #=============代理业务帐号=============
        TradeContext.__agentAccno__ = records[0][5]            

        TradeContext.Daccno = records[0][5]

        AfaLoggerFunc.tradeInfo( '判断应用状态[end]' )
        return True
    else:
        AfaLoggerFunc.tradeError( sqlStr )
        return AfaFlowControl.ExitThisFlow( 'A0003', '该地区没有开放此业务' )
Exemplo n.º 24
0
def GetFtpFile(RemoteFileName):

    TradeContext.sysId          = "FTP"
    TradeContext.hostip         = TradeContext.CROP_HOSTIP
    TradeContext.user           = TradeContext.CROP_USERNO
    TradeContext.pwd            = TradeContext.CROP_PASSWD
    TradeContext.localpath      = TradeContext.CROP_LDIR
    #TradeContext.localfilename  = LocalFileName
    TradeContext.remotefilename = RemoteFileName
    TradeContext.remotepath     = TradeContext.CROP_RDIR
    TradeContext.TransCode      = "8889"
    TradeContext.TemplateCode   = "3001"

    #=============与第三方通讯通讯====================
    TradeContext.__respFlag__='0'

    AfaAfeFunc.CommAfe()

    flag  = -1

    if( TradeContext.errorCode != '0000' ):
        AfaLoggerFunc.tradeInfo("文件[" + TradeContext.localpath + "/" + RemoteFileName + "]下载失败")
        flag = -1

    else:
        AfaLoggerFunc.tradeInfo("文件[" + TradeContext.localpath + "/" + RemoteFileName + "]下载成功")
        flag = 0

    #下载完成之后把下载日志记录到数据库中
    sql = ""
    sql = sql + "insert into fs_ftpreturn(busino,hostip,succflag,ftpflag,workdate,worktime,filename,note1,note2) values(  "
    sql = sql + "'" + TradeContext.busiNo         + "',"        #单位编号
    sql = sql + "'" + TradeContext.hostip         + "',"        #主机地址
    sql = sql + "'" + str(flag)                   + "',"        #成功失败标志(0-成功,-1-失败)
    sql = sql + "'" + "1"                         + "',"        #上传下载标志(0-上传,1-下载)
    sql = sql + "'" + TradeContext.WORKDATE       + "',"        #操作日期
    sql = sql + "'" + AfaUtilTools.GetSysTime( )  + "',"        #操作时间
    sql = sql + "'" + RemoteFileName              + "',"        #下载文件名
    sql = sql + "'',"                                           #备注1
    sql = sql + "'')"                                           #备注2

    AfaLoggerFunc.tradeInfo( ">>>>登记下载记录:" + sql )

    AfaDBFunc.UpdateSqlCmt( sql )

    return flag
Exemplo n.º 25
0
def DoSumAmount(psSubUnitno):
    sSqlStr="SELECT SUM(AMOUNT) FROM AFA_MAINTRANSDTL WHERE  APPNO='"+TradeContext.appNo+"'"
    sSqlStr=sSqlStr+" AND UNITNO='"+TradeContext.unitno+"'"
    sSqlStr=sSqlStr+" AND SUBUNITNO='"+psSubUnitno+"'"
    sSqlStr=sSqlStr+" AND NOTE9='"+TradeContext.ChkDate+"'"
    sSqlStr=sSqlStr+" AND NOTE10='"+TradeContext.ChkAcctOrd+"'"
    sSqlStr=sSqlStr+" AND CHKFLAG='0' AND CORPCHKFLAG='0'"
    AfaLoggerFunc.tradeInfo( sSqlStr )
    SumRecords = AfaDBFunc.SelectSql( sSqlStr )
    if(SumRecords == None ):
        # AfaLoggerFunc.tradeFatal( sqlStr )
        return AfaFlowControll.ExitThisFlow( 'A0002', '流水表表操作异常:'+AfaDBFunc.sqlErrMsg )
    else:
        SumRecords=UtilTools.ListFilterNone( SumRecords ,'0')
        TradeContext.amount=SumRecords[0][0]
        AfaLoggerFunc.tradeInfo( '汇总联社发生额'+str(TradeContext.amount) )
    return True
Exemplo n.º 26
0
def SubModuleDoFst( ):
    
    AfaLoggerFunc.tradeInfo( '反交易数据预查询,查询是否有此缴费记录' )
    try:
        sql = "select workdate,userno,tellerno,brno,amount from afa_maintransdtl"
        sql = sql + " where agentserialno = '"+TradeContext.preAgentSerno+"' and workdate = '"+TradeContext.workDate+"' and trxcode='8627'"
        sql = sql + " and revtranf = '0' and bankstatus = '0'and chkflag = '9'"
        
        AfaLoggerFunc.tradeInfo('反交易查询语句:'+ sql)
        
        records = AfaDBFunc.SelectSql( sql )
        AfaLoggerFunc.tradeInfo('反交易查询的结果:'+ str(records))
        
        if records == None:
            TradeContext.errorCode,TradeContext.errorMsg = "0001","反交易查询数据失败"
            raise AfaFlowControl.flowException( )
        elif(len(records) < 1):
            TradeContext.errorCode,TradeContext.errorMsg = "0001","无此交易"
            return False
        else:
            if(records[0][1] != TradeContext.punishNo):
                TradeContext.errorCode,TradeContext.errorMsg = "0001","与原交易的处罚交款书编号不一致,不能做此交易"
                return False
            
            if(records[0][2] != TradeContext.tellerno):
                TradeContext.errorCode,TradeContext.errorMsg = "0001","原交易非本柜员所做,不能做此交易"
                return False
            if(records[0][3] != TradeContext.brno):
                TradeContext.errorCode,TradeContext.errorMsg = "0001","原交易非本网点所做,不能做此交易"
                return False
            if(records[0][4].strip() != TradeContext.amount.strip()):
                TradeContext.errorCode,TradeContext.errorMsg = "0001","与原交易金额不符,不能做此交易"
                return False
           
            TradeContext.orgDate       = records[0][0]                #原交易日期
            TradeContext.punishNo      = records[0][1]                #处罚交款书编号 
            TradeContext.userno        = records[0][1]                #初始化userno的值,取消变量检查时需要
            TradeContext.amount        = records[0][4]                #金额 
            TradeContext.preAgentSerno = TradeContext.preAgentSerno   #原交易流水号
        TradeContext.note2             = TradeContext.busino          #签约单位编号
            
        return True     
    except  Exception, e:                     
        AfaLoggerFunc.tradeInfo( str(e) )     
        AfaFlowControl.flowException( )   
Exemplo n.º 27
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
Exemplo n.º 28
0
def GetFtpConfig( ):
    
    AfaLoggerFunc.tradeInfo( '--->获取地市ftp配置信息' )

    sql = " select * from fs_dsconf "
  
    records = AfaDBFunc.SelectSql( sql )
    
    if records == None:
        TradeContext.errorCode,TradeContext.errorMsg    =   "0001","查找地市ftp配置信息异常"
        AfaLoggerFunc.tradeInfo( TradeContext.errorMsg )
        return False
    elif len( records ) == 0:
        TradeContext.errorCode,TradeContext.errorMsg    =   "0001","没有找到地市ftp配置信息"
        AfaLoggerFunc.tradeInfo( TradeContext.errorMsg )
        return False
    else:
        TradeContext.ldir = records[0][5]       #本地路径
        return records
Exemplo n.º 29
0
def ChkAbnormal( ):

    AfaLoggerFunc.tradeInfo( '查询流水表中的主机异常交易' )
    sql="SELECT COUNT(*) FROM FS_MAINTRANSDTL WHERE WORKDATE='"+ \
    TradeContext.workDate+"' AND AGENTCODE='"+TradeContext.agentCode+ \
    "' AND AGENTZONENO='"+TradeContext.zoneno+"' AND BRNO='"+TradeContext.brno+\
    "' AND TELLERNO='"+TradeContext.teller+"' AND REVTRANF='0'AND  \
    (BANKSTATUS='2' OR (BANKSTATUS='0' AND CORPSTATUS IN ('1', '2','3')))"
    result=AfaDBFunc.SelectSql( sql )
    if( result == None ):
        # AfaLoggerFunc.tradeFatal( sql )
        return -1
        
    if( result[0][0]!=0 ):
        return 1
        
    else:
        AfaLoggerFunc.tradeError( sql )
        return 0
Exemplo n.º 30
0
def SubModuleMainFst( ):
    AfaLoggerFunc.tradeInfo( '进入TIPS运行参数查看['+TradeContext.TemplateCode+'_'+TradeContext.TransCode+']'  )

    try:
        sqlstr = "select ParamTypeNo,ParamTypeDesc,DetailNo,DetailDesc,ParamValue from TIPS_RUNPARAM  WHERE"
        sqlstr = sqlstr + " ParamTypeNo='"        +  TradeContext.paramType      + "'"
        sqlstr = sqlstr + " order by DetailNo "
        AfaLoggerFunc.tradeInfo(sqlstr)
    
        records = AfaDBFunc.SelectSql( sqlstr )
        if ( records==None or len(records) == 0 ):
            return AfaFlowControl.ExitThisFlow('A0001', '没有满足条件的记录')
    
        mx_file_name = os.environ['AFAP_HOME'] + '/tmp/' + 'AH_' + TradeContext.teller + '.txt'
        TradeContext.tradeResponse.append(['fileName',  'AH_' + TradeContext.teller + '.txt'])
    
        if (os.path.exists(mx_file_name) and os.path.isfile(mx_file_name)):
            #文件存在,先删除-再创建
            os.system("rm " + mx_file_name)
    
        sfp = open(mx_file_name, "w")
        AfaLoggerFunc.tradeInfo('明细文件=['+mx_file_name+']')
    
        i = 0
        while ( i  < len(records) ):
            A0 = str(records[i][0]).strip()         #ParamTypeNo
            A1 = str(records[i][1]).strip()         #ParamTypeDesc
            A2 = str(records[i][2]).strip()         #DetailNo
            A3 = str(records[i][3]).strip()         #DetailDesc
            A4 = str(records[i][4]).strip()         #ParamValue
    
            sfp.write(A0 +  '|'  +  A1 +  '|'  +  A2 +  '|'  +  A3 +  '|'  +  A4 +  '|'  + '\n')
    
            i=i+1
    
        sfp.close()
    
        TradeContext.tradeResponse.append(['errorCode',  '0000'])
        TradeContext.tradeResponse.append(['errorMsg',   '交易成功'])
        AfaLoggerFunc.tradeInfo( '退出TIPS运行参数查看['+TradeContext.TemplateCode+'_'+TradeContext.TransCode+']'  )
        return True
    except AfaFlowControl.flowException, e:
        return AfaFlowControl.ExitThisFlow('9999',str(e))