diff --git a/cap/etc/channel/icbc/BATCH_ICBC.XML b/cap/etc/channel/icbc/BATCH_ICBC.XML new file mode 100644 index 0000000..12621ee --- /dev/null +++ b/cap/etc/channel/icbc/BATCH_ICBC.XML @@ -0,0 +1,1029 @@ + + + + + + + SELECT COUNT(*) BAT_CNT FROM CAPTXNJNL + WHERE DSK_NAM=? AND ORD_DT=? AND CORG_NO=? AND TXN_MOD=? AND DSK_NAM_STS='0' AND TXN_STS='U' AND CORG_DSK_NO = '0' AND ROWNUM <= ? + + DSK_NAM|ORD_DT|CORG_NO|TXN_MOD|MAX_CNT + + + + UPDATE CAPTXNJNL SET CORG_DSK_NO = ?,CORG_BUS_TYP =?,TXN_CD = '204020', TTXN_CD = ?,ACC_VER_STS= 'S' + WHERE DSK_NAM=? AND ORD_DT=? AND CORG_NO=? AND TXN_MOD=? AND DSK_NAM_STS='0' AND TXN_STS='U' AND CORG_DSK_NO = '0' AND ROWNUM <= ? + + CORG_DSK_NO|CORG_BUS_TYP|TTXN_CD|DSK_NAM|ORD_DT|CORG_NO|TXN_MOD|MAX_CNT + + + + SELECT COUNT(*) BAT_CNT,NVL(SUM(TXN_AMT),0) BAT_SUM FROM CAPTXNJNL + WHERE DSK_NAM=? AND ORD_DT = ? AND CORG_NO=? AND CORG_DSK_NO = ? AND DSK_NAM_STS='0' AND TXN_STS='U' + + DSK_NAM|ORD_DT|CORG_NO|CORG_DSK_NO + + + + + SELECT ICBCCORGBUSTYP.NEXTVAL CORG_BUS_TYP FROM DUAL + + + + + RSP_CD + RSP_MSG + + + + + + + CORG_NO=ICBC + MAX_CNT=$PARA.MAX_CNT + + + + + + + Rsp_Cd=31 + Rsp_Msg=该合作机构不存在 + + + + Rsp_Cd=80 + Rsp_Msg=查询数据库失败 + + + + Rsp_Cd=31 + Rsp_Msg=该合作机构未启用 + + + + + + + + + Rsp_Cd=80 + Rsp_Msg=获取业务种类编号失败 + + + CORG_BUS_TYP=ADD($CORG_BUS_TYP,0) + + + + + + + Rsp_Cd=80 + Rsp_Msg=查询数据库失败 + + + + BAT_CNT=$BAT_CNT + + + + + + BAT_TYP=$FIL_TYP + SND_DT=SUBSTR($TACC_TM,1,8) + SND_TM=SUBSTR($TACC_TM,9,6) + + + CORG_DSK_NO=STRCAT(GETDATETIME(),$CORG_DSK_NO) + + + TTXN_CD=PAYPERCOL_BAT + + + + + + Rsp_Cd=80 + Rsp_Msg=更新批次号失败 + + + + + + + + + + Rsp_Cd=80 + Rsp_Msg=查询数据库失败 + + + + + + BAT_STS=0 + BAT_VER_STS=1 + BAT_ORN_AMT=$BAT_SUM + BAT_ORN_CNT=$BAT_CNT + + + CORG_MERC_ID=$MERC_ID + + Rsp_Cd=STRCAT( , ) + Rsp_Msg=STRCAT( , ) + + + + + + + Rsp_Cd=80 + Rsp_Msg=登记接出批量信息登记表失败 + + + + + Rsp_Cd=80 + Rsp_Msg=批次重复 + + + + + + + + + + + RSP_CD=00 + RSP_MSG=交易成功 + + + + + + + + + SELECT * FROM CAPBATINF WHERE CORG_DSK_NO=? AND ORD_DT=? AND PRO_JRL='1' + + CORG_DSK_NO|ORD_DT| + + + + + + UPDATE CAPTXNJNL + SET + TTXN_ST=?,TXN_STS=?,DSK_NAM_STS='4',TACC_DT,TACC_TM,TRSP_CD=?,TRSP_MSG=?,RSP_MSG=? + WHERE + CORG_NO = 'ICBC' + AND CORG_DSK_NO = ? + AND CAP_ORD_NO =? + AND (TTXN_ST = 'U' OR + TTXN_ST = 'P') + AND ORD_DT=? + + TTXN_ST|TTXN_STS|TACC_DT|TACC_TM|TRSP_CD|TRSP_MSG|TRSP_MSG|OCORG_DSK_NO|CAP_ORD_NO|OORD_DT| + + + + + SELECT COUNT(*) UNDO_CNT FROM CAPTXNJNL + WHERE CORG_NO = 'ICBC' AND CORG_DSK_NO = ? AND TTXN_ST IN ('P','U') + + OCORG_DSK_NO| + + + + + UPDATE CAPBATINF + SET BAT_STS=? , + END_TM=? , + END_DT=?, + BAT_SUC_AMT=?, + BAT_SUC_CNT=?, + BAT_FAL_AMT=?, + BAT_FAL_CNT=?, + RSP_CD = ?, + RSP_MSG = ? + WHERE ORD_DT=? + AND CORG_NO=? + AND CORG_DSK_NO=? + AND AC_DT=? + AND BAT_STS=? + + BAT_STS|END_TM|END_DT|BAT_SUC_AMT|BAT_SUC_CNT|BAT_FAL_AMT|BAT_FAL_CNT|RSP_CD|RSP_MSG|OORD_DT|OCORG_NO|OCORG_DSK_NO|OAC_DT|OBAT_STS| + + + + + + UPDATE CAPDSKINF + SET SUC_CNT=TO_NUMBER(NVL(TRIM(SUC_CNT),0)) + + + TO_NUMBER(NVL(TRIM(?),0)), + SUC_AMT=TO_NUMBER(NVL(TRIM(SUC_AMT),0)) + + TO_NUMBER(NVL(TRIM(?),0)), + FAL_CNT=TO_NUMBER(NVL(TRIM(FAL_CNT),0)) + + TO_NUMBER(NVL(TRIM(?),0)), + FAL_AMT=TO_NUMBER(NVL(TRIM(FAL_AMT),0)) + + TO_NUMBER(NVL(TRIM(?),0)) + WHERE DSK_NAM=? + + BAT_SUC_CNT|BAT_SUC_AMT|BAT_FAL_CNT|BAT_FAL_AMT|ODSK_NAM + + + + + + + SELECT TAC_NO AS PayAccNo,TAC_NAM AS PayAccNameCN,POSTSCRIPT AS UseCN,'%s' AS ReimburseNo,'%s' AS ReimburseNum, + '%s' AS StartDate,'%s' AS StartTime,'%s' AS PayAccNameEN,'%s' AS RecAccNameEN, + '%s' AS ERPSqn,'%s' AS BusCode,'%s' AS ERPcheckno,'%s' AS CrvouhType, + '%s' AS CrvouhName,'%s' AS CrvouhNo,'%s' AS Ref,CAP_ORD_NO AS iSeqno,AC_NO AS RecAccNo, + CUS_NAM AS RecAccNameCN,' ' AS RecICBCCode,LBNK_NO AS RecBankNo,'001' AS CurrType, + TXN_AMT * 100 AS PayAmt,POSTSCRIPT AS PostScript,POSTSCRIPT AS Summary,CAP_ORD_NO AS Oref,'%s' AS RecCityName, + '%s' AS RecBankName,'%s' AS UseCode,'%s' AS EnSummary,decode(ROUT_FLG,'SUPER','3','LARGE','1','SMALL','2') AS PayType,decode(BNK_FLG,'Y','1','N',2) AS SysIOFlg + FROM CAPTXNJNL + WHERE DSK_NAM=? + AND CORG_NO = ? + AND CORG_DSK_NO = ? + AND ORD_DT=? + AND TXN_MOD=? + AND DSK_NAM_STS='0' + AND TXN_STS='U' + AND CAP_ORD_NO =? + + ReimburseNo|ReimburseNum|StartDate|StartTime|PayAccNameEN|RecAccNameEN|ERPSqn|BusCode|ERPcheckno|CrvouhType|CrvouhName|CrvouhNo|Ref|RecCityName|RecBankName|UseCode|EnSummary|DSK_NAM|CORG_NO|CORG_DSK_NO|ORD_DT|TXN_MOD|CAP_ORD_NO| + + + + + SELECT CAP_ORD_NO,CORG_BUS_TYP,(TXN_AMT * 100) AS TXNAMT + FROM CAPTXNJNL + WHERE DSK_NAM=? + AND CORG_NO = ? + AND CORG_DSK_NO = ? + AND ORD_DT=? + AND TXN_MOD=? + AND DSK_NAM_STS='0' + AND TXN_STS='U' + + DSK_NAM|CORG_NO|CORG_DSK_NO|ORD_DT|TXN_MOD| + + + + + SELECT COUNT(*) BAT_FAL_CNT,NVL(SUM(TXN_AMT),0) BAT_FAL_AMT + FROM CAPTXNJNL + WHERE ORD_DT = ? AND CORG_NO = ? AND CORG_DSK_NO = ? + AND TTXN_ST = + 'F' + + OORD_DT|CORG_NO|OCORG_DSK_NO + + + + + SELECT COUNT(*) BAT_SUC_CNT,NVL(SUM(TXN_AMT),0) BAT_SUC_AMT + FROM CAPTXNJNL + WHERE ORD_DT = ? AND CORG_NO = ? AND CORG_DSK_NO = ? + AND TTXN_ST = + 'S' + + OORD_DT|CORG_NO|OCORG_DSK_NO + + + + + + + + + + RSP_CD + RSP_MSG + SUM + REC + rd + + + OCORG_DSK_NO=$CORG_DSK_NO + OORD_DT=$ORD_DT + + + + + + + + + Rsp_Cd=80 + Rsp_Msg=查询数据库出错 + + + + + + + + + + + + Rsp_Cd=80 + Rsp_Msg=游标打开失败 + + + + + + + + + + + + + + + + + + + + + BatCnt=1 + BatAmt=$TXNAMT + REC + + + + + + + + TXN_DT=GETDATE() + TXN_TM=GETDATETIME(HHMISS) + SignTime=STRCAT(GETDATETIME(),000) + + StartDate=GETDATE() + StartTime=GETDATETIME(HHMISS) + RecICBCCode=STRCAT( , ) + MAX_CNT=1 + + + + BAT_SEQ=0 + TTXNSERVICE=PAYPERCOL + TTXNSERVICE1=PAYPERCOL_BAT + QryExport=Qry_Export + ICBC_CYC_CD=001 + + + CORG_DSK_NO=$CORG_DSK_NO + CORG_MERC_ID=$CORG_MERC_ID + TACC_TM=$TACC_TM + TXN_TM=SUBSTR(GETDATETIME(),9,6) + BAT_TYP=$BAT_TYP + @MSG.TXNTYP=T + RSP_CD=STRCAT( , ) + RSP_MSG=STRCAT( , ) + + + CIS=$GRP_CIS + Bank_Code=102 + TranDate=GETDATE() + TranTime=STRCAT(GETDATETIME(HHMISS),000) + fSeqno=$CORG_DSK_NO + OnlBatF=1 + SettleMode=0 + TotalNum=$BatCnt + TotalAmt=AMTPOWER($BatAmt,2) + + RECNUM=1 + @MSG.CERTFIL= + @MSG.BANKCODE=$ATTACH_NO + @MSG.GROUPCIS=$GRP_CIS + @MSG.CERTID=$CERD_ID + @MSG.PACKAGEID=$CORG_DSK_NO + @MSG.TRANSCODE=$TTXNSERVICE + TransCode=@MSG.TRANSCODE + CIS=@MSG.GROUPCIS + PackageID=@MSG.PACKAGEID + ID=@MSG.CERTID + PackageID=@MSG.CERTID + ReimburseNo=STRCAT( , ) + ReimburseNum=STRCAT( , ) + StartDate=STRCAT( , ) + StartTime=STRCAT( , ) + PayAccNameEN=STRCAT( , ) + RecAccNameEN=STRCAT( , ) + ERPSqn=STRCAT( , ) + BusCode=STRCAT( , ) + ERPcheckno=STRCAT( , ) + CrvouhType=STRCAT( , ) + CrvouhName=STRCAT( , ) + CrvouhNo=STRCAT( , ) + RecCityName=STRCAT( , ) + RecBankName=STRCAT( , ) + UseCode=STRCAT( , ) + EnSummary=STRCAT( , ) + Ref=STRCAT( , ) + + + + + + + + + + + + + + + + + @MSG.CERTID=$CERD_ID + ID=@MSG.CERTID + + + + + + + + + + + BAT_STS=3 + RSP_CD=80 + RSP_MSG=发送失败 + TTXN_ST=P + TRSP_CD= + TRSP_MSG= + + + + BAT_STS=3 + RSP_CD=80 + RSP_MSG=发送失败 + TTXN_ST=P + TRSP_CD= + TRSP_MSG= + + + + BAT_STS=2 + RSP_CD=$TRSP_CD + RSP_MSG=$TRSP_MSG + TTXN_ST=F + + + + + BAT_STS=1 + Rsp_Cd=$TRSP_CD + Rsp_Msg=$TRsp_Msg + + + TTXN_ST=$rd[1].TTXN_ST + TRSP_CD=$rd[1].iRetCode + TRSP_MSG=$rd[1].iRetMsg + + + + + + + BAT_STS=3 + RSP_CD=80 + RSP_MSG=交易发送成功 + + + + + + + + + Rsp_Cd=80 + Rsp_Msg=更新流水交易状态失败 + + + + + + + + + + END_TM=GETDATETIME(HHMISS) + END_DT=GETDATE() + BAT_SUC_AMT=0 + BAT_SUC_CNT=0 + BAT_FAL_CNT=0 + BAT_FAL_AMT=0 + + + + + + Rsp_Cd=80 + Rsp_Msg=查询流水表批次记录状态为P的记录数失败 + + + + UNDO_CNT=$UNDO_CNT + + + BAT_STS=3 + Rsp_Cd=00 + Rsp_Msg=交易处理中... + + + + + + Rsp_Cd=80 + Rsp_Msg=更新该批次状态失败 + + + + + + + + + + + + + + + BAT_SUC_AMT=$BAT_SUC_AMT + BAT_SUC_CNT=$BAT_SUC_CNT + BAT_FAL_AMT=$BAT_FAL_AMT + BAT_FAL_CNT=$BAT_FAL_CNT + + + + + + + Rsp_Cd=80 + Rsp_Msg=累加更新接入批量信息表成功失败总笔数及总金额失败 + + + + Rsp_Cd=00 + Rsp_Msg=交易成功 + BAT_STS=4 + + + + + + + Rsp_Cd=80 + Rsp_Msg=更新该批次为发送处理状态失败 + + + + + TXN_MOD_FLG=$OBAT_TYP + CAP_TYP=CAP_PAY_BAT + RUL_TYP=BIS + CAP_TYP=$CAP_TYP + CORG_NO=$OCORG_NO + CSW_TYP=0 + ORD_DT=$OORD_DT + CORG_DSK_NO=$OCORG_DSK_NO + + RUL_TYP|CAP_TYP|CORG_NO|CSW_TYP|ORD_DT|CORG_DSK_NO| + + + + + RSP_CD + RSP_MSG + SUM + REC + rd + + + + + + + + + + + + UPDATE CAPBATINF + SET BAT_STS=? , + END_TM=? , + END_DT=?, + BAT_SUC_AMT=?, + BAT_SUC_CNT=?, + BAT_FAL_AMT=?, + BAT_FAL_CNT=?, + RSP_CD = ?, + RSP_MSG = ? + WHERE ORD_DT=? + AND CORG_NO=? + AND CORG_DSK_NO=? + AND AC_DT=? + AND BAT_STS=? + + BAT_STS|END_TM|END_DT|BAT_SUC_AMT|BAT_SUC_CNT|BAT_FAL_AMT|BAT_FAL_CNT|RSP_CD|RSP_MSG|OORD_DT|OCORG_NO|OCORG_DSK_NO|OAC_DT|OBAT_STS| + + + + + + UPDATE CAPTXNJNL + SET + TTXN_ST=?,TXN_STS=?,DSK_NAM_STS='4',TACC_DT,TACC_TM,TRSP_CD=?,TRSP_MSG=?,RSP_MSG=? + WHERE + CORG_NO = 'ICBC' + AND CORG_DSK_NO = ? + AND CAP_ORD_NO =? + AND (TTXN_ST = 'U' OR + TTXN_ST = 'P') + + TTXN_ST|TTXN_STS|TACC_DT|TACC_TM|TRSP_CD|TRSP_MSG|TRSP_MSG|OCORG_DSK_NO|CAP_ORD_NO| + + + + + UPDATE CAPDSKINF + SET SUC_CNT=TO_NUMBER(NVL(TRIM(SUC_CNT),0)) + + + TO_NUMBER(NVL(TRIM(?),0)), + SUC_AMT=TO_NUMBER(NVL(TRIM(SUC_AMT),0)) + + TO_NUMBER(NVL(TRIM(?),0)), + FAL_CNT=TO_NUMBER(NVL(TRIM(FAL_CNT),0)) + + TO_NUMBER(NVL(TRIM(?),0)), + FAL_AMT=TO_NUMBER(NVL(TRIM(FAL_AMT),0)) + + TO_NUMBER(NVL(TRIM(?),0)) + WHERE DSK_NAM=? + + BAT_SUC_CNT|BAT_SUC_AMT|BAT_FAL_CNT|BAT_FAL_AMT|ODSK_NAM + + + + + + SELECT CAP_ORD_NO + FROM CAPTXNJNL + WHERE DSK_NAM='%s' + AND + CORG_NO = '%s' + AND CORG_DSK_NO = '%s' + AND ORD_DT='%s' + AND DSK_NAM_STS='1' + AND (A.TTXN_ST = 'U' OR A.TTXN_ST = 'P') + + ODSK_NAM|OCORG_NO|OCORG_DSK_NO|OORD_DT| + + + + + + SELECT COUNT(*) BAT_FAL_CNT,NVL(SUM(TXN_AMT),0) BAT_FAL_AMT + FROM CAPTXNJNL + WHERE ORD_DT = ? AND CORG_NO = ? AND CORG_DSK_NO = ? + AND TTXN_ST = + 'F' + + OORD_DT|CORG_NO|OCORG_DSK_NO + + + + + SELECT COUNT(*) BAT_SUC_CNT,NVL(SUM(TXN_AMT),0) BAT_SUC_AMT + FROM CAPTXNJNL + WHERE ORD_DT = ? AND CORG_NO = ? AND CORG_DSK_NO = ? + AND TTXN_ST = + 'S' + + OORD_DT|CORG_NO|OCORG_DSK_NO + + + + + + UPDATE CAPBATINF SET PRO_JRL ='0' + WHERE ORD_DT=? AND CORG_NO=? AND CORG_DSK_NO=? AND AC_DT=? AND PRO_JRL='1' + + OORD_DT|OCORG_NO|OCORG_DSK_NO|OAC_DT| + + + + + LockKey=STRCAT($OCORG_NO,$OCORG_DSK_NO) + + + + + + + + Rsp_Cd=80 + Rsp_Msg=加锁失败 + + + IS_LOCKED=TRUE + + + + + + + + + + + + + + + + + + + RSP_CD + RSP_MSG + SUM + REC + rd + + + + + + ORD_TYP=$OBAT_TYP + + + + + TXN_DT=GETDATE() + TXN_TM=GETDATETIME(HHMISS) + TACC_DT=$TXN_DT + TACC_TM=$TXN_TM + + MerchantNo=$OCORG_MERC_ID + TermId=0000000000000000000 + FileName=$OCORG_FIL_NAM + + trnId=$JRN_NO + payType=0 + ORN_JRN_NO=$OCORG_DSK_NO + + END_TM=GETDATETIME(HHMISS) + END_DT=GETDATE() + BAT_SUC_AMT=0 + BAT_SUC_CNT=0 + BAT_FAL_CNT=0 + BAT_FAL_AMT=0 + RSP_CD=STRCAT( , ) + RSP_MSG=STRCAT( , ) + CORG_NO=$OCORG_NO + + + + + + + + + Rsp_Cd=80 + Rsp_Msg=打开游标失败 + + + + + + + + + + + + + + + + + + + + + TTXNSERVICE=QPAYPER + AC_TYP_FMT=BatICBCRSPPAYPERFmt01 + + + + + + + Rsp_Cd=80 + Rsp_Msg=平台取流水号失败 + + + fSeqno=STRCAT(SUBSTR($AC_DT,3,6),$fSeqno) + @MSG.BANKCODE=$ATTACH_NO + @MSG.GROUPCIS=$GRP_CIS + @MSG.CERTID=$CERD_ID + @MSG.PACKAGEID=$fSeqno + @MSG.TRANSCODE=$TTXNSERVICE + @MSG.TXNTYP=Q + TransCode=@MSG.TRANSCODE + CIS=@MSG.GROUPCIS + Bank_Code=@MSG.BANKCODE + ID=@MSG.CERTID + TranDate=$TXN_DT + TranTime=$TXN_TM + QryfSeqno=$ORN_JRN_NO + QrySerialNo=STRCAT( , ) + ReqReserved1=STRCAT( , ) + ReqReserved2=STRCAT( , ) + + + + + + @MSG.CERTID=$CERD_ID + ID=@MSG.CERTID + + + + + + + + + + + + Rsp_Cd=80 + Rsp_Msg=查询第三方失败 + + + + Rsp_Cd=80 + Rsp_Msg=查询第三方失败 + + + + RSP_CD=$TRSP_CD + RSP_MSG=$TRSP_MSG + + BAT_STS=3 + + + + + BAT_STS=5 + + + + + + + + + TTXN_ST=$rd[1].TTXN_ST + TRSP_CD=$rd[1].iRetCode + TRSP_MSG=$rd[1].iRetMsg + + + + + + + + Rsp_Cd=80 + Rsp_Msg=更新流水交易状态失败 + + + + + + Rsp_Cd=80 + Rsp_Msg=系统错误 + + + + + + + + + + + END_TM=GETDATETIME(HHMISS) + END_DT=GETDATE() + BAT_SUC_AMT=0 + BAT_SUC_CNT=0 + BAT_FAL_CNT=0 + BAT_FAL_AMT=0 + + + + + + Rsp_Cd=80 + Rsp_Msg=查询流水表批次记录状态为P的记录数失败 + + + + UNDO_CNT=$UNDO_CNT + + + BAT_STS=3 + Rsp_Cd=00 + Rsp_Msg=交易处理中... + + + + + + Rsp_Cd=80 + Rsp_Msg=更新该批次状态失败 + + + + + + + + + + + + + + + BAT_SUC_AMT=$BAT_SUC_AMT + BAT_SUC_CNT=$BAT_SUC_CNT + BAT_FAL_AMT=$BAT_FAL_AMT + BAT_FAL_CNT=$BAT_FAL_CNT + + + + + + + Rsp_Cd=80 + Rsp_Msg=累加更新接入批量信息表成功失败总笔数及总金额失败 + + + + Rsp_Cd=00 + Rsp_Msg=交易成功 + BAT_STS=4 + + + + + + + Rsp_Cd=80 + Rsp_Msg=更新该批次为发送处理状态失败 + + + + + TXN_MOD_FLG=$OBAT_TYP + CAP_TYP=CAP_PAY_BAT + RUL_TYP=BIS + CAP_TYP=$CAP_TYP + CORG_NO=$OCORG_NO + CSW_TYP=0 + ORD_DT=$OORD_DT + CORG_DSK_NO=$OCORG_DSK_NO + + RUL_TYP|CAP_TYP|CORG_NO|CSW_TYP|ORD_DT|CORG_DSK_NO| + + + + + + + + RSP_CD + RSP_MSG + SUM + REC + rd + + + + +