二期对账单及流水查询第一版

This commit is contained in:
Alawn
2021-11-12 15:38:53 +08:00
parent dcffc9a703
commit 58835bf15f
22 changed files with 4180 additions and 671 deletions
+23
View File
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Server PUBLIC "-//HISUN//DTD//ATR" "">
<Server name="CCAHRO2" type="CCA" trace = "DEBUG">
<Declare name = "listener1" class = "com.murong.ctg.protocol.http.server.hro.CtgHttpServerListener">
<Param name = "msgType" value = "${_MSG_TYPE}"/>
<Param name = "port" value = "${_PORT}"/> <!--监听端口-->
<Param name = "minThreads" value = "${_MIN_THREADS}"/> <!--最小接入量-->
<Param name = "maxThreads" value = "${_MAX_THREADS}"/> <!--最大接入量-->
<Param name = "secret" value = "${_SECRET}"/> <!--密钥-->
<Param name = "contextName" value = "${_CONTEXT_NAME}"/> <!--上下文-->
</Declare>
<Declare name = "itfengine" class = "com.hisun.engine.HiEngine">
<Param name = "ITF" value = "etc/api/CCAHRO2_ITF.XML"/> <!--接口配置文件-->
</Declare>
<Process name = "dd" msgtype = "PLTIN0">
<!--验签-->
<Handler name = "itfengine"/>
<SystemHandler name = "callService"/>
<Handler name = "itfengine"/>
</Process>
</Server>
+134
View File
@@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8"?>
<Application name="CAP" server="OFRTCAP3" timeout="36000">
<GetTxnCode>
<Item type="xml" value="head.serviceName"/>
</GetTxnCode>
<Define>
<Macro name="readHead">
<ReadElement name="head">
<ReadElement name="version" ETF_name="VERSION" necessary="yes"/> <!--版本号,默认v1.0,目前不控制-->
<ReadElement name="serviceName" ETF_name="SERVICE_NAME" necessary="yes"/> <!--服务名-->
<ReadElement name="requestId" ETF_name="REQUEST_ID" necessary="yes"/> <!--请求ID-->
<ReadElement name="requestTime" ETF_name="REQUEST_TIME" necessary="yes"/> <!--请求时间-->
</ReadElement>
</Macro>
<Macro name="writeHead">
<WriteElement name="head">
<WriteElement name="requestId" ETF_name="REQUEST_ID" necessary="yes"/> <!--对方原请求ID-->
<WriteElement name="respCode" ETF_name="RSP_CD" necessary="yes"/> <!--响应码-->
<WriteElement name="respMessage" ETF_name="RSP_MSG" necessary="yes"/> <!--响应信息-->
<WriteElement name="respTime" ETF_name="RESP_TIME" necessary="yes"/> <!--响应时间-->
</WriteElement>
</Macro>
</Define>
<Transaction code="transQuery" service="TRANS_QUERY" desc="流水查询" log_switch="1" timeout="60">
<Request>
<Quote name="readHead"/>
<ReadElement name="body">
<ReadElement name="bankCode" ETF_name="BANK_CODE" necessary="yes"/> <!--银行-->
<ReadElement name="acctNo" ETF_name="ACCT_NO" necessary="yes"/> <!--账户-->
<ReadElement name="dcFlag" ETF_name="DC_FLAG" necessary="no" /> <!--借贷标志-->
<ReadElement name="startTime" ETF_name="START_TIME" necessary="yes"/> <!--起始时间-->
<ReadElement name="endTime" ETF_name="END_TIME" necessary="yes"/> <!--终止时间-->
<ReadElement name="diskNo" ETF_name="DISK_NO" necessary="no" /> <!--大批号-->
<ReadElement name="batchId" ETF_name="BATCH_ID" necessary="no" /> <!-- 小批号-->
<ReadElement name="bankRefId" ETF_name="BANK_REF_ID" necessary="no" /> <!--银行流水号-->
<ReadElement name="offset" ETF_name="PAG_NO" value="0" necessary="no" /> <!--当前页码-->
<ReadElement name="limit" ETF_name="PAG_NUM" value="9999" necessary="no" /> <!--条数-->
</ReadElement>
</Request>
<Response>
<WriteElement name="Response">
<Quote name="writeHead"/>
<WriteElement name="body">
<WriteElement name="total" ETF_name="PAG_CNT" necessary="yes"/> <!--总页码-->
<WriteElement name="offset" ETF_name="PAG_NO" necessary="yes"/> <!--当前页码-->
<WriteElement name="limit" ETF_name="PAG_NUM" necessary="yes"/> <!--条数-->
<WriteGroupElement name="rec" ETF_name="REC" necessary="no"><!--明细体-->
<WriteElement name="bankTransDate" ETF_name="BANK_TRANS_DATE" necessary="no"/> <!-- 银行交易日期 -->
<WriteElement name="bankTransTime" ETF_name="BANK_TRANS_TIME" necessary="no"/> <!-- 银行交易时间 -->
<WriteElement name="bankDcFlag" ETF_name="BANK_DC_FLAG" necessary="no"/> <!-- 银行借贷标志 D:借 C:贷 -->
<WriteElement name="acctNo" ETF_name="ACCT_NO" necessary="no"/> <!-- 对手行账号 -->
<WriteElement name="acctName" ETF_name="ACCT_NAME" necessary="no"/> <!-- 户名 -->
<WriteElement name="bankName" ETF_name="BANK_NAME" necessary="no"/> <!-- 银行名称 -->
<WriteElement name="batchId" ETF_name="BATCH_ID" necessary="no"/> <!-- 批次号 沐融交易流水号 -->
<WriteElement name="bankRefId" ETF_name="BANK_REF_ID" necessary="no"/> <!-- 银行流水号 -->
<WriteElement name="amount" ETF_name="AMOUNT" necessary="no"/> <!-- 金额 分为单位 -->
<WriteElement name="postscript" ETF_name="POSTSCRIPT" necessary="no"/> <!-- 银行附言 -->
<WriteElement name="titleAcctNo" ETF_name="TITLE_ACCT_NO" necessary="no"/> <!-- 支付地账号 -->
<WriteElement name="titleAcctName" ETF_name="TITLE_ACCT_NAME" necessary="no"/> <!-- 支付地户名 -->
<WriteElement name="remark" ETF_name="REMARK" necessary="no"/> <!-- 备注 -->
<WriteElement name="bankRemark" ETF_name="BANK_REMARK" necessary="no"/> <!-- 银行备注 -->
<WriteElement name="bankSummary" ETF_name="BANK_SUMMARY" necessary="no"/> <!-- 银行摘要 -->
<WriteElement name="bankRespCode" ETF_name="BANK_RESPCODE" necessary="no"/> <!-- 银行返回码 -->
<WriteElement name="bankRespMessage" ETF_name="BANKRESP_MESSAGE" necessary="no"/> <!-- 银行返回信息 -->
<WriteElement name="bankPs" ETF_name="BANK_PS" necessary="no"/> <!-- 银行附言 -->
<WriteElement name="bankUsage" ETF_name="BANK_USAGE" necessary="no"/> <!-- 用途 -->
<WriteElement name="bankFee" ETF_name="BANK_FEE" necessary="no"/> <!-- 银行手续费 -->
<WriteElement name="bankBal" ETF_name="BANK_BAL" necessary="no"/> <!-- 余额 -->
<WriteElement name="refreshTime" ETF_name="REFRESH_TIME" necessary="no"/> <!-- 从银行刷新数据的时间 -->
<WriteElement name="bankValueDate" ETF_name="BANK_VALUE_DATE" necessary="no"/> <!-- 银行起息日 -->
</WriteGroupElement>
</WriteElement>
</WriteElement>
</Response>
</Transaction>
<Transaction code="acctReceiptQuery" service="ACCT_RECEIPT_QUERY" desc="账户回单查询" log_switch="1" timeout="60">
<Request>
<Quote name="readHead"/>
<ReadElement name="body">
<ReadElement name="transDate" ETF_name="TRANS_DATE" necessary="yes"/> <!--交易日期-->
<ReadElement name="bankCode" ETF_name="BANK_CODE" necessary="yes"/> <!--银行编码-->
<ReadElement name="diskNo" ETF_name="DISK_NO" necessary="no" /> <!--大批次号-->
<ReadElement name="bankRefId" ETF_name="BANK_REF_ID" necessary="no" /> <!--银行流水号-->
<ReadElement name="batchId" ETF_name="BATCH_ID" necessary="no" /> <!--小批次号-->
</ReadElement>
</Request>
<Response>
<WriteElement name="Response">
<Quote name="writeHead"/>
<WriteElement name="body">
<WriteElement name="total" ETF_name="REC_NUM" necessary="no"/> <!--总条数-->
<WriteGroupElement name="rec" ETF_name="REC" necessary="no"><!--明细体-->
<WriteElement name="batchId" ETF_name="BATCH_ID" necessary="no"/> <!-- 小批次号 -->
<WriteElement name="bankRefId" ETF_name="BANK_REF_ID" necessary="no"/> <!-- 银行流水号 -->
<WriteElement name="filePath" ETF_name="FILE_PATH" necessary="no"/> <!-- 文件路径 -->
</WriteGroupElement>
</WriteElement>
</WriteElement>
</Response>
</Transaction>
<Transaction code="custReceiptQuery" service="CUST_RECEIPT_QUERY" desc="明细对账单查询" log_switch="1" timeout="60">
<Request>
<Quote name="readHead"/>
<ReadElement name="body">
<ReadElement name="applyDate" ETF_name="APPLY_DATE" necessary="yes"/> <!--交易日期-->
<ReadElement name="bankCode" ETF_name="BANK_CODE" necessary="yes"/> <!--银行编码-->
<ReadElement name="diskNo" ETF_name="DISK_NO" necessary="no" /> <!--大批次号-->
<ReadElement name="bankRefId" ETF_name="BANK_REF_ID" necessary="no" /> <!--银行流水号-->
<ReadElement name="batchId" ETF_name="BATCH_ID" necessary="no" /> <!--小批次号-->
</ReadElement>
</Request>
<Response>
<WriteElement name="Response">
<Quote name="writeHead"/>
<WriteElement name="body">
<WriteElement name="total" ETF_name="REC_NUM" necessary="no"/> <!--总条数-->
<WriteGroupElement name="rec" ETF_name="REC" necessary="no"><!--明细体-->
<WriteElement name="batchId" ETF_name="BATCH_ID" necessary="no"/> <!-- 小批次号 -->
<WriteElement name="bankRefId" ETF_name="BANK_REF_ID" necessary="no"/> <!-- 银行流水号 -->
<WriteElement name="filePath" ETF_name="FILE_PATH" necessary="no"/> <!-- 文件路径 -->
</WriteGroupElement>
</WriteElement>
</WriteElement>
</Response>
</Transaction>
</Application>
+81
View File
@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<Tran>
<!--查询账户电子回单 -->
<Transaction code="ACCT_RECEIPT_QUERY" log_switch='1' desc="账户回单查询">
<DynSentence name="QRY_CAPCMBHIJNL_INF">
<Sentence>
SELECT REF_NBR as BANK_REF_ID,YUR_REF as BATCH_ID,ACT_FIL_ID as FILE_PATH
FROM CAPCMBHIJNL
WHERE TRS_DAT=? AND ACT_RPT_STS='1'
AND (DSK_NAM=? OR ? IS NULL)
AND (REF_NBR=? OR ? IS NULL)
AND (YUR_REF=? OR ? IS NULL)
</Sentence>
<Fields>TRANS_DATE|DISK_NO|BANK_REF_ID|BATCH_ID|</Fields>
</DynSentence>
<FlowCtrl>
<!--清理数据 -->
<Delete>RSP_CD</Delete>
<Delete>RSP_MSG</Delete>
<!-- 根据银行类型进行不同查询-->
<If condition="IS_EQUAL_STRING($BANK_CODE,CMB)">
<Set>QRY_SQL=QRY_CAPCMBHIJNL_INF</Set>
</If>
<ElseIf condition="IS_EQUAL_STRING($BANK_CODE,ICBC)">
<Set>QRY_SQL=QRY_CAPICBCHIJNL_INF</Set>
</ElseIf>
<Else>
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=银行代码错误</Set>
<Return/>
</Else>
<Set>CUR_DAT_TMP=GETDATE()</Set>
<Set>TRANS_DATE=$TRANS_DATE</Set>
<If condition="INTCMP($TRANS_DATE,5,$CUR_DAT_TMP)">
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=查询日期需要小于当前日期</Set>
<Return/>
</If>
<Set>BATCH_ID=$BATCH_ID</Set>
<Set>BANK_REF_ID=$BANK_REF_ID</Set>
<Set>DISK_NO=$DISK_NO</Set>
<If condition="AND(ISNULL(DELBOTHSPACE($BATCH_ID)),ISNULL(DELBOTHSPACE($BANK_REF_ID)),ISNULL(DELBOTHSPACE($DISK_NO)))">
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=大批号、小批号、银行流水号三个查询条件不能同时为空</Set>
<Return/>
</If>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="$QRY_SQL"/>
<Arg name="RecordName" value="REC"/>
<Arg name="limit" value="1000"/>
</Exec>
<If condition="~RetCod=0">
<Set>RSP_CD=00</Set>
</If>
<ElseIf condition="~RetCod=2">
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=账户当日无交易</Set>
<Return/>
</ElseIf>
<Else><!--数据库查询错误-->
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=数据库查询错误</Set>
<Return/>
</Else>
<!-- 交易成功 -->
<Set>RSP_CD=00</Set>
<Set>RSP_MSG=交易成功</Set>
</FlowCtrl>
</Transaction>
</Tran>
+64
View File
@@ -0,0 +1,64 @@
<?xml version='1.0' encoding='UTF-8'?>
<Tran>
<Transaction code="BAT_GETBILL_TIMER" log_switch='1' timeout="3600" desc="获取明细对账单定时发起">
<Attributes>
<Attribute name="nodatabase" value="2"/> <!--数据库长连接-->
</Attributes>
<DynSentence name="QRY_CAPCMBJNLTOT_LST">
<Sentence>
SELECT * FROM (
SELECT ACC_NBR,TRS_DAT FROM CAPCMBJNLTOT WHERE BIL_STS='1')
</Sentence>
</DynSentence>
<FlowCtrl>
<Quote name="Init_CAP01"/> <!--交易初始化-->
<Exec func="PUB:OpenCursor" error="IGNORE">
<Arg name="SqlCmd" value="QRY_CAPCMBJNLTOT_LST"/>
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<If condition="~RetCod=-1">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=数据库错误</Set>
<Return/>
</If>
<While>
<Exec func="PUB:FetchCursor" error="IGNORE">
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<If condition="~RetCod=2">
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<Break/>
</If>
<ElseIf condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=循环游标失败</Set>
<Return/>
</ElseIf>
<Set>TTXN_CD=GET_CMBBILL</Set>
<Exec func="PUB:CallThirdService" error="IGNORE">
<Arg name="HTxnCd" value="$TTXN_CD" />
<Arg name="ObjSvr" value="OFRTCAP3" />
<Arg name="In" value="ACC_NBR|TRS_DAT|" />
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=发送批次失败</Set>
<Return/>
</If>
</While>
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<Exec func="PUB:CommitWork"/>
<Set>Rsp_Cd=00</Set>
<Set>Rsp_Msg=交易成功</Set>
</FlowCtrl>
</Transaction>
</Tran>
@@ -0,0 +1,69 @@
<?xml version='1.0' encoding='UTF-8'?>
<Tran>
<Transaction code="BAT_GETRECEIPT_TIMER" log_switch='1' timeout="3600" desc="获取账户电子回单定时发起">
<Attributes>
<Attribute name="nodatabase" value="2"/> <!--数据库长连接-->
</Attributes>
<DynSentence name="QRY_CAPCMBJNLTOT_LST">
<Sentence>
SELECT * FROM (
SELECT ACC_NBR,TRS_DAT FROM CAPCMBJNLTOT WHERE (SND_TM &lt;=?) AND ACC_RPT_STS='1')
ORDER BY ACC_NBR
</Sentence>
<Fields>C_SND_TIME|</Fields>
</DynSentence>
<FlowCtrl>
<Quote name="Init_CAP01"/> <!--交易初始化-->
<If condition="ISNULL($SND_TIME_INTERVAL)">
<Set>SND_TIME_INTERVAL=1</Set>
</If>
<Set>C_SND_TIME=CALCTIME(GETDATETIME(MMDDHHMISS),-,m,$SND_TIME_INTERVAL)</Set>
<Exec func="PUB:OpenCursor" error="IGNORE">
<Arg name="SqlCmd" value="QRY_CAPCMBJNLTOT_LST"/>
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<If condition="~RetCod=-1">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=数据库错误</Set>
<Return/>
</If>
<While>
<Exec func="PUB:FetchCursor" error="IGNORE">
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<If condition="~RetCod=2">
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<Break/>
</If>
<ElseIf condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=循环游标失败</Set>
<Return/>
</ElseIf>
<Set>TTXN_CD=GET_CMBRECEIPT</Set>
<Exec func="PUB:CallThirdService" error="IGNORE">
<Arg name="HTxnCd" value="$TTXN_CD" />
<Arg name="ObjSvr" value="OFRTCAP3" />
<Arg name="In" value="ACC_NBR|TRS_DAT|" />
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=发送批次失败</Set>
<Return/>
</If>
</While>
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<Exec func="PUB:CommitWork"/>
<Set>Rsp_Cd=00</Set>
<Set>Rsp_Msg=交易成功</Set>
</FlowCtrl>
</Transaction>
</Tran>
+63
View File
@@ -0,0 +1,63 @@
<?xml version='1.0' encoding='UTF-8'?>
<Tran>
<Transaction code="BAT_QRYBILL_TIMER" log_switch='1' timeout="3600" desc="查询明细对账单定时发起">
<Attributes>
<Attribute name="nodatabase" value="2"/> <!--数据库长连接-->
</Attributes>
<DynSentence name="QRY_CAPCMBJNLTOT_LST">
<Sentence>
SELECT * FROM (
SELECT ACC_NBR,TRS_DAT,TAC_TYP FROM CAPCMBJNLTOT WHERE BIL_STS='0' AND TOT_CNT!='0' )
</Sentence>
</DynSentence>
<FlowCtrl>
<Quote name="Init_CAP01"/> <!--交易初始化-->
<Exec func="PUB:OpenCursor" error="IGNORE">
<Arg name="SqlCmd" value="QRY_CAPCMBJNLTOT_LST"/>
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<If condition="~RetCod=-1">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=数据库错误</Set>
<Return/>
</If>
<While>
<Exec func="PUB:FetchCursor" error="IGNORE">
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<If condition="~RetCod=2">
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<Break/>
</If>
<ElseIf condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=循环游标失败</Set>
<Return/>
</ElseIf>
<Set>TTXN_CD=QRY_CMBRECEIPT</Set>
<Exec func="PUB:CallThirdComm" error="IGNORE">
<Arg name="HTxnCd" value="$TTXN_CD" />
<Arg name="ObjSvr" value="OFRTCAP3" />
</Exec>
<If condition="~RetCod !=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=查询失败</Set>
<Return/>
</If>
</While>
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<Exec func="PUB:CommitWork"/>
<Set>Rsp_Cd=00</Set>
<Set>Rsp_Msg=交易成功</Set>
</FlowCtrl>
</Transaction>
</Tran>
@@ -0,0 +1,73 @@
<?xml version='1.0' encoding='UTF-8'?>
<Tran>
<Transaction code="BAT_QRYCURTXNJNL_TIMER" log_switch='1' timeout="3600" desc="获取当天交易明细定时发起">
<Attributes>
<Attribute name="nodatabase" value="2"/> <!--数据库长连接-->
</Attributes>
<DynSentence name="QRY_CAPACCOUNTINF_INF"> <!--查询付款方账户-->
<Sentence>
SELECT BR_NO BBK_NBR,ACCT_NO ACC_NBR,ACCT_TYPE,ACCT_NAME ACC_NAM FROM CAPRECEIPTACCT
WHERE BANK_CODE=? AND ENABLED='Y'
</Sentence>
<Fields>BANK_CODE|</Fields>
</DynSentence>
<FlowCtrl>
<Quote name="Init_CAP01"/> <!--交易初始化-->
<Exec func="PUB:OpenCursor" error="IGNORE">
<Arg name="SqlCmd" value="QRY_CAPACCOUNTINF_INF"/>
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<If condition="~RetCod=-1">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=数据库错误</Set>
<Return/>
</If>
<While>
<Exec func="PUB:FetchCursor" error="IGNORE">
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<If condition="~RetCod=2">
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<Break/>
</If>
<ElseIf condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=循环游标失败</Set>
<Return/>
</ElseIf>
<Set>TTXN_CD=STRCAT(QRY_,$BANK_CODE,CUR,TXNJNL)</Set>
<Exec func="PUB:CallThirdService" error="IGNORE">
<Arg name="HTxnCd" value="$TTXN_CD" />
<Arg name="ObjSvr" value="OFRTCAP3" />
<Arg name="In" value="BBK_NBR|ACC_NBR|ACCT_TYPE|ACC_NAM|" />
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=发送批次失败</Set>
<Return/>
</If>
<!--Exec func="PUB:CallThirdComm" error="IGNORE">
<Arg name="HTxnCd" value="$TTXN_CD" />
<Arg name="ObjSvr" value="OFRTCAP3" />
</Exec>
<If condition="~RetCod !=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=查询失败</Set>
<Return/>
</If-->
</While>
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<Exec func="PUB:CommitWork"/>
<Set>Rsp_Cd=00</Set>
<Set>Rsp_Msg=交易成功</Set>
</FlowCtrl>
</Transaction>
</Tran>
@@ -0,0 +1,63 @@
<?xml version='1.0' encoding='UTF-8'?>
<Tran>
<Transaction code="BAT_QRYRECEIPT_TIMER" log_switch='1' timeout="3600" desc="查询账户电子回单定时发起">
<Attributes>
<Attribute name="nodatabase" value="2"/> <!--数据库长连接-->
</Attributes>
<DynSentence name="QRY_CAPCMBJNLTOT_LST">
<Sentence>
SELECT * FROM (
SELECT ACC_NBR,TRS_DAT FROM CAPCMBJNLTOT WHERE ACC_RPT_STS='0' AND TOT_CNT!='0' )
</Sentence>
</DynSentence>
<FlowCtrl>
<Quote name="Init_CAP01"/> <!--交易初始化-->
<Exec func="PUB:OpenCursor" error="IGNORE">
<Arg name="SqlCmd" value="QRY_CAPCMBJNLTOT_LST"/>
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<If condition="~RetCod=-1">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=数据库错误</Set>
<Return/>
</If>
<While>
<Exec func="PUB:FetchCursor" error="IGNORE">
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<If condition="~RetCod=2">
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<Break/>
</If>
<ElseIf condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=循环游标失败</Set>
<Return/>
</ElseIf>
<Set>TTXN_CD=QRY_CMBRECEIPT</Set>
<Exec func="PUB:CallThirdComm" error="IGNORE">
<Arg name="HTxnCd" value="$TTXN_CD" />
<Arg name="ObjSvr" value="OFRTCAP3" />
</Exec>
<If condition="~RetCod !=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=查询失败</Set>
<Return/>
</If>
</While>
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<Exec func="PUB:CommitWork"/>
<Set>Rsp_Cd=00</Set>
<Set>Rsp_Msg=交易成功</Set>
</FlowCtrl>
</Transaction>
</Tran>
+73
View File
@@ -0,0 +1,73 @@
<?xml version='1.0' encoding='UTF-8'?>
<Tran>
<Transaction code="BAT_QRYTXNJNL_TIMER" log_switch='1' timeout="3600" desc="获取交易明细定时发起">
<Attributes>
<Attribute name="nodatabase" value="2"/> <!--数据库长连接-->
</Attributes>
<DynSentence name="QRY_CAPACCOUNTINF_INF"> <!--查询付款方账户-->
<Sentence>
SELECT BR_NO BBK_NBR,ACCT_NO ACC_NBR,ACCT_TYPE,ACCT_NAME ACC_NAM FROM CAPRECEIPTACCT
WHERE BANK_CODE=? AND ENABLED='Y'
</Sentence>
<Fields>BANK_CODE|</Fields>
</DynSentence>
<FlowCtrl>
<Quote name="Init_CAP01"/> <!--交易初始化-->
<Exec func="PUB:OpenCursor" error="IGNORE">
<Arg name="SqlCmd" value="QRY_CAPACCOUNTINF_INF"/>
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<If condition="~RetCod=-1">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=数据库错误</Set>
<Return/>
</If>
<While>
<Exec func="PUB:FetchCursor" error="IGNORE">
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<If condition="~RetCod=2">
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<Break/>
</If>
<ElseIf condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=循环游标失败</Set>
<Return/>
</ElseIf>
<Set>TTXN_CD=STRCAT(QRY_,$BANK_CODE,TXNJNL)</Set>
<Exec func="PUB:CallThirdService" error="IGNORE">
<Arg name="HTxnCd" value="$TTXN_CD" />
<Arg name="ObjSvr" value="OFRTCAP3" />
<Arg name="In" value="BBK_NBR|ACC_NBR|ACCT_TYPE|ACC_NAM|" />
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=发送批次失败</Set>
<Return/>
</If>
<!--Exec func="PUB:CallThirdComm" error="IGNORE">
<Arg name="HTxnCd" value="$TTXN_CD" />
<Arg name="ObjSvr" value="OFRTCAP3" />
</Exec>
<If condition="~RetCod !=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=查询失败</Set>
<Return/>
</If-->
</While>
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
<Arg name="CursorName" value="CURSOR_1"/>
</Exec>
<Exec func="PUB:CommitWork"/>
<Set>Rsp_Cd=00</Set>
<Set>Rsp_Msg=交易成功</Set>
</FlowCtrl>
</Transaction>
</Tran>
+81
View File
@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<Tran>
<!--查询明细对账单 -->
<Transaction code="CUST_RECEIPT_QUERY" log_switch='1' desc="对账单查询">
<DynSentence name="QRY_CAPCMBHIJNL_INF">
<Sentence>
SELECT REF_NBR as BANK_REF_ID,YUR_REF as BATCH_ID,BIL_FIL_ID as FILE_PATH
FROM CAPCMBHIJNL
WHERE TRS_DAT=? AND BIL_RPT_STS='1'
AND (DSK_NAM=? OR ? IS NULL)
AND (REF_NBR=? OR ? IS NULL)
AND (YUR_REF=? OR ? IS NULL)
</Sentence>
<Fields>APPLY_DATE|DISK_NO|BANK_REF_ID|BATCH_ID|</Fields>
</DynSentence>
<FlowCtrl>
<!--清理数据 -->
<Delete>RSP_CD</Delete>
<Delete>RSP_MSG</Delete>
<!-- 根据银行类型进行不同查询-->
<If condition="IS_EQUAL_STRING($BANK_CODE,CMB)">
<Set>QRY_SQL=QRY_CAPCMBHIJNL_INF</Set>
</If>
<ElseIf condition="IS_EQUAL_STRING($BANK_CODE,ICBC)">
<Set>QRY_SQL=QRY_CAPICBCHIJNL_INF</Set>
</ElseIf>
<Else>
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=银行代码错误</Set>
<Return/>
</Else>
<Set>CUR_DAT_TMP=GETDATE()</Set>
<Set>APPLY_DATE=$APPLY_DATE</Set>
<If condition="INTCMP($APPLY_DATE,5,$CUR_DAT_TMP)">
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=查询日期需要小于当前日期</Set>
<Return/>
</If>
<Set>BATCH_ID=$BATCH_ID</Set>
<Set>BANK_REF_ID=$BANK_REF_ID</Set>
<Set>DISK_NO=$DISK_NO</Set>
<If condition="AND(ISNULL(DELBOTHSPACE($BATCH_ID)),ISNULL(DELBOTHSPACE($BANK_REF_ID)),ISNULL(DELBOTHSPACE($DISK_NO)))">
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=大批号、小批号、银行流水号三个查询条件不能同时为空</Set>
<Return/>
</If>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="$QRY_SQL"/>
<Arg name="RecordName" value="REC"/>
<Arg name="limit" value="1000"/>
</Exec>
<If condition="~RetCod=0">
<Set>RSP_CD=00</Set>
</If>
<ElseIf condition="~RetCod=2">
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=账户当日无交易</Set>
<Return/>
</ElseIf>
<Else><!--数据库查询错误-->
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=数据库查询错误</Set>
<Return/>
</Else>
<!-- 交易成功 -->
<Set>RSP_CD=00</Set>
<Set>RSP_MSG=交易成功</Set>
</FlowCtrl>
</Transaction>
</Tran>
+26
View File
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Server PUBLIC "-//HISUN//DTD//ATR" "">
<Server name="OFRTCAP3" type="OTA" trace="INFO">
<Declare name="ctlengine" class="com.hisun.engine.HiEngine">
<Param name="CTL" value="etc/batch/OFRTCAP3_CTL.XML" />
</Declare>
<Declare name = 'transLog' class = 'com.hisun.handler.HiLogTransInfo'>
<Param name = 'fmtFile' value = 'etc/common/TXN_FMT.XML'/>
</Declare>
<Process name="proc1" msgtype="PLTIN0">
<Handler name="ctlengine" />
<Handler name='transLog'/>
</Process>
<Process name="proc2" msgtype="PLTOUT">
<Handler name="ctlengine" />
<Handler name='transLog' />
</Process>
<!--ITF CTL dynamic reload -->
<Process name="mng" msgtype="PLTMNG">
<Handler name="ctlengine" method="manage" />
</Process>
</Server>
+55
View File
@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<Application name="cap" code="204">
<LibDeclare>
<Library name="URM" value="hiurm.jar"/>
<Library name="CAP" value="hicap.jar"/>
<Library name="SXP" value="hisxpay.jar"/>
<Library name="CTG" value="ctg.jar"/>
</LibDeclare>
<PackageDeclare>
<Package name="RTR" value="etc/batch/RTR_PKG.XML"/>
<Package name="CSW" value="etc/batch/CAP_CSW_PKG.XML"/>
<Package name="CAP_CSW" value="etc/batch/CAP_CSW_PKG.XML"/>
<Package name="UPLOAD_FILE" value="etc/batch/UPLOAD_FILE_PKG.XML"/>
</PackageDeclare>
<BusDefDeclare>
<Busdef name="Apl_Cls" value="204"/>
<Busdef name="Bus_Typ" value="CAP01"/>
<Busdef name="PSys_Id" value="CAP001"/>
<Busdef name="DEFAULT_ROUT" value="EBPPP"/>
<Busdef name="SYS_ID" value="CAP"/>
</BusDefDeclare>
<ConfigDeclare>
<Config name="CAPCSW" value="etc/common/CAP01_CSW.XML"/>
<Config name="BatFormat" value="etc/common/CAP01_FMT.XML"/>
</ConfigDeclare>
<TableDeclare>
</TableDeclare>
<Define>
<Include file="etc/common/MACRO_BNK_CFG.XML"/>
<Include file="etc/common/MACRO_CAP_COMMON.XML"/>
</Define>
<Include file="etc/channel/cmb/QUERY_CMB.XML"/> <!--招行查询主控 -->
<Include file="etc/channel/icbc/QUERY_ICBC.XML"/> <!--工行查询主控 -->
<Include file="etc/batch/BAT_QRYTXNJNL_TIMER_CTL.XML"/> <!--历史交易流水查询定时发起 -->
<Include file="etc/batch/BAT_QRYCURTXNJNL_TIMER_CTL.XML"/> <!--当日交易流水查询定时发起 -->
<Include file="etc/batch/BAT_QRYRECEIPT_TIMER_CTL.XML"/> <!--电子回单查询定时发起 -->
<Include file="etc/batch/BAT_GETRECEIPT_TIMER_CTL.XML"/> <!--电子回单获取定时发起 -->
<Include file="etc/batch/BAT_QRYBILL_TIMER_CTL.XML"/> <!--明细对账单查询定时发起 -->
<Include file="etc/batch/BAT_GETBILL_TIMER_CTL.XML"/> <!--明细对账单获取定时发起 -->
<Include file="etc/batch/TRANS_QUERY.XML"/> <!--流水查询 -->
<Include file="etc/batch/ACCT_RECEIPT_QUERY.XML"/> <!--账户回单查询 -->
<Include file="etc/batch/CUST_RECEIPT_QUERY.XML"/> <!--明细对账单查询 -->
</Application>
+239
View File
@@ -0,0 +1,239 @@
<?xml version="1.0" encoding="UTF-8"?>
<Tran>
<!--流水查询 -->
<Transaction code="TRANS_QUERY" log_switch='1' desc="流水查询">
<DynSentence name="QRY_CAPCMBHIJNL_INF">
<Sentence>
SELECT ety_dat AS BANK_TRANS_DATE,
ety_tim AS BANK_TRANS_TIME,
amt_cdr AS BANK_DC_FLAG,
rpy_acc AS ACCT_NO,
rpy_nam AS ACCT_NAME,
rpy_bnk AS BANK_NAME,
yur_ref AS BATCH_ID,
ref_nbr AS BANK_REF_ID,
trs_amt AS AMOUNT,
L_POSTSCRIPT AS POSTSCRIPT,
acc_nbr AS TITLE_ACCT_NO,
ACC_NAM AS TITLE_ACCT_NAME,
L_RMK AS REMARK,
'' AS BANK_REMARK,
'' AS BANK_SUMMARY,
'' AS BANK_RESPCODE,
'' AS BANKRESP_MESSAGE,
nar_yur AS BANK_PS,
nus_age AS BANK_USAGE,
'' AS BANK_FEE,
trs_blv AS BANK_BAL,
TM_SMP AS REFRESH_TIME,
vlt_dat AS BANK_VALUE_DATE
FROM CAPCMBHIJNL
WHERE ACC_NBR=? AND TRS_DAT ? BETWEEN ?
AND (ety_dat||ety_tim) ? BETWEEN ?
AND (DSK_NAM=? OR ? IS NULL)
AND (REF_NBR=? OR ? IS NULL)
AND (YUR_REF=? OR ? IS NULL)
AND (AMT_CDR=? OR ? IS NULL)
</Sentence>
<Fields>ACCT_NO|START_DATE|END_DATE|START_TIME|END_TIME|DISK_NO|DISK_NO|BANK_REF_ID|BANK_REF_ID|BATCH_ID|BATCH_ID|BANK_DC_FLAG|BANK_DC_FLAG|</Fields>
</DynSentence>
<DynSentence name="QRY_CAPCMBCURJNL_INF">
<Sentence>
SELECT ety_dat AS BANK_TRANS_DATE,
ety_tim AS BANK_TRANS_TIME,
amt_cdr AS BANK_DC_FLAG,
rpy_acc AS ACCT_NO,
rpy_nam AS ACCT_NAME,
rpy_bnk AS BANK_NAME,
yur_ref AS BATCH_ID,
ref_nbr AS BANK_REF_ID,
trs_amt AS AMOUNT,
L_POSTSCRIPT AS POSTSCRIPT,
acc_nbr AS TITLE_ACCT_NO,
ACC_NAM AS TITLE_ACCT_NAME,
L_RMK AS REMARK,
'' AS BANK_REMARK,
'' AS BANK_SUMMARY,
'' AS BANK_RESPCODE,
'' AS BANKRESP_MESSAGE,
nar_yur AS BANK_PS,
nus_age AS BANK_USAGE,
'' AS BANK_FEE,
trs_blv AS BANK_BAL,
TM_SMP AS REFRESH_TIME,
vlt_dat AS BANK_VALUE_DATE
FROM CAPCMBCURJNL
WHERE ACC_NBR=?
AND (ety_dat||ety_tim) ? BETWEEN ?
AND (DSK_NAM=? OR ? IS NULL)
AND (REF_NBR=? OR ? IS NULL)
AND (YUR_REF=? OR ? IS NULL)
AND (AMT_CDR=? OR ? IS NULL)
</Sentence>
<Fields>ACCT_NO|START_TIME|END_TIME|DISK_NO|DISK_NO|BANK_REF_ID|BANK_REF_ID|BATCH_ID|BATCH_ID|BANK_DC_FLAG|BANK_DC_FLAG|</Fields>
</DynSentence>
<DynSentence name="QRY_CAPICBCHIJNL_INF">
<Sentence>
SELECT t_date AS BANK_TRANS_DATE,
t_time AS BANK_TRANS_TIME,
drcrf AS BANK_DC_FLAG,
recip_account_no AS ACCT_NO,
recip_name AS ACCT_NAME,
recip_bk_name AS BANK_NAME,
ref AS BATCH_ID,
only_sequence AS BANK_REF_ID,
(debit_amount + credit_amount) AS AMOUNT,
L_POSTSCRIPT AS POSTSCRIPT,
account_no AS TITLE_ACCT_NO,
ACC_NAM AS TITLE_ACCT_NAME,
L_RMK AS REMARK,
remark AS BANK_REMARK,
summary AS BANK_SUMMARY,
'' AS BANK_RESPCODE,
'' AS BANKRESP_MESSAGE,
post_script AS BANK_PS,
use_cn AS BANK_USAGE,
trade_fee AS BANK_FEE,
balance AS BANK_BAL,
TM_SMP AS REFRESH_TIME,
value_date AS BANK_VALUE_DATE
FROM CAPICBCHIJNL
WHERE ACCOUNT_NO=? AND TRS_DATE ? BETWEEN ?
AND (T_DATE||T_TIME) ? BETWEEN ?
AND (DSK_NAM=? OR ? IS NULL)
AND (ONLY_SEQUENCE=? OR ? IS NULL)
AND (REF=? OR ? IS NULL)
AND (DRCRF=? OR ? IS NULL)
</Sentence>
<Fields>ACCT_NO|START_DATE|END_DATE|START_TIME|END_TIME|DISK_NO|DISK_NO|BANK_REF_ID|BANK_REF_ID|BATCH_ID|BATCH_ID|BANK_DC_FLAG|BANK_DC_FLAG|</Fields>
</DynSentence>
<DynSentence name="QRY_CAPICBCCURJNL_INF">
<Sentence>
SELECT t_date AS BANK_TRANS_DATE,
t_time AS BANK_TRANS_TIME,
drcrf AS BANK_DC_FLAG,
recip_account_no AS ACCT_NO,
recip_name AS ACCT_NAME,
recip_bk_name AS BANK_NAME,
ref AS BATCH_ID,
only_sequence AS BANK_REF_ID,
(debit_amount + credit_amount) AS AMOUNT,
L_POSTSCRIPT AS POSTSCRIPT,
account_no AS TITLE_ACCT_NO,
ACC_NAM AS TITLE_ACCT_NAME,
L_RMK AS REMARK,
remark AS BANK_REMARK,
summary AS BANK_SUMMARY,
'' AS BANK_RESPCODE,
'' AS BANKRESP_MESSAGE,
post_script AS BANK_PS,
use_cn AS BANK_USAGE,
trade_fee AS BANK_FEE,
balance AS BANK_BAL,
TM_SMP AS REFRESH_TIME,
value_date AS BANK_VALUE_DATE
FROM CAPICBCCURJNL
WHERE ACCOUNT_NO=?
AND (T_DATE||T_TIME) ? BETWEEN ?
AND (DSK_NAM=? OR ? IS NULL)
AND (ONLY_SEQUENCE=? OR ? IS NULL)
AND (REF=? OR ? IS NULL)
AND (DRCRF=? OR ? IS NULL)
</Sentence>
<Fields>ACCT_NO|START_TIME|END_TIME|DISK_NO|DISK_NO|BANK_REF_ID|BANK_REF_ID|BATCH_ID|BATCH_ID|BANK_DC_FLAG|BANK_DC_FLAG|</Fields>
</DynSentence>
<FlowCtrl>
<!--清理数据 -->
<Delete>RSP_CD</Delete>
<Delete>RSP_MSG</Delete>
<Set>BATCH_ID=$BATCH_ID</Set>
<Set>BANK_REF_ID=$BANK_REF_ID</Set>
<Set>DISK_NO=$DISK_NO</Set>
<Set>DC_FLAG=$DC_FLAG</Set>
<Set>CUR_DAT_TMP=GETDATE()</Set>
<Set>END_DATE=SUBSTR($END_TIME,1,8)</Set>
<Set>START_DATE=SUBSTR($START_TIME,1,8)</Set>
<If condition="INTCMP($END_TIME,1,$START_TIME)">
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=开始时间大于结束时间</Set>
<Return/>
</If>
<ElseIf condition="INTCMP($END_DATE,6,$CUR_DAT_TMP)">
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=查询结束日期大于当前日期</Set>
<Return/>
</ElseIf>
<ElseIf condition="INTCMP($END_DATE,3,$CUR_DAT_TMP)"> <!-- 如需兼容再进行改造-->
<If condition="INTCMP($END_DATE,4,$START_DATE)">
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=当日交易明细与历史交易明细需分开查询</Set>
<Return/>
</If>
<Else>
<Set>CUR_FLG=1</Set>
</Else>
</ElseIf>
<Else>
<Set>CUR_FLG=0</Set>
</Else>
<If condition="IS_EQUAL_STRING($BANK_CODE,CMB)">
<If condition="IS_EQUAL_STRING($CUR_FLG,1)">
<Set>QRY_SQL=QRY_CAPCMBHIJNL_INF</Set>
</If>
<Else>
<Set>QRY_SQL=QRY_CAPCMBCURJNL_INF</Set>
</Else>
</If>
<ElseIf condition="IS_EQUAL_STRING($BANK_CODE,ICBC)">
<If condition="IS_EQUAL_STRING($CUR_FLG,1)">
<Set>QRY_SQL=QRY_CAPICBCHIJNL_INF</Set>
</If>
<Else>
<Set>QRY_SQL=QRY_CAPICBCCURJNL_INF</Set>
</Else>
</ElseIf>
<Else>
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=银行代码错误</Set>
<Return/>
</Else>
<Exec func="PUB:DBMultiQueryPage" error="IGNORE">
<Arg name="PageNo" value="$PAG_NO" />
<Arg name="SqlCmd" value="$QRY_SQL" />
<Arg name="RecNumPerPage" value="$PAG_NUM" />
</Exec>
<If condition="~RetCod=0">
<Set>RSP_CD=00</Set>
<Set>RSP_MSG=交易成功</Set>
<Return/>
</If>
<ElseIf condition="~RetCod=2">
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=无查询结果</Set>
<Set>PAG_CNT=0</Set>
<Return />
</ElseIf>
<Else>
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=查询出错</Set>
<Set>PAG_CNT=0</Set>
<Return />
</Else>
</FlowCtrl>
</Transaction>
</Tran>
+58
View File
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<Package>
<Function name="UPLOAD_FILE">
<DynSentence name="QRY_TOKEN">
<Sentence>
select P_VALUES TOKEN FROM CAPPARAMTER where P_KEY = 'FIL_TOKEN'
</Sentence>
<Fields>|</Fields>
</DynSentence>
<DynSentence name="QRY_TOKEN_URL">
<Sentence>
select P_VALUES URL FROM CAPPARAMTER where P_KEY = 'FIL_TOKEN_URL'
</Sentence>
<Fields>|</Fields>
</DynSentence>
<Process>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="QRY_TOKEN"/>
</Exec>
<If condition="~RetCod!=0">
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="CAP99999"/>
</Exec>
<Return/>
</If>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="QRY_TOKEN_URL"/>
</Exec>
<If condition="~RetCod!=0">
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="CAP99999"/>
</Exec>
<Return/>
</If>
<!--调用文件上传接口-->
<Exec func="CTG:uploadFile">
<Arg name="token" value="$TOKEN"/>
<Arg name="url" value="$URL"/>
<Arg name="filePath" value="$FILE_NAME"/>
</Exec>
<If condition="~RetCod!=0">
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="CAP99999"/>
</Exec>
<Return/>
</If>
<Set>FILE_URL=STRCAT($URL,/file/download/,$OUT_DAT.FILE_ID,?token=)</Set>
<Set>OUT_DAT.FILE_URL=$FILE_URL</Set>
<Set>OUT_DAT.TOKEN=$TOKEN</Set>
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="CAP00000"/>
</Exec>
</Process>
</Function>
</Package>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+30
View File
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Server PUBLIC "-//HISUN//DTD//ATR" "ATR.dtd">
<Server name="SCMBPAY2" type="SCA" trace="INFO">
<Declare name="connector" class="com.murong.ctg.protocol.http.client.cmb.CmbHttpConnector">
<Param name="_url" value="${_URL}" />
<Param name="_publicKeyStr" value="${_PUBLICKEYSTR}" />
<Param name="_privateKeyStr" value="${_PRIVATEKEYSTR}" />
<Param name="_aesKey" value="${_AESKEY}" />
<Param name="connectTimeout" value="10000" />
<Param name="readTimeout" value="10000" />
</Declare>
<Declare name="itfengine" class="com.hisun.engine.HiEngine">
<Param name="ITF" value="etc/channel/cmb/SCMBPAY2_ITF.XML" /> <!--接口配置文件 -->
</Declare>
<Declare name="jsonxmlfmtconvert" class="com.hisun.handler.HiJsonXmlConvertHandler">
</Declare>
<Process name="proc1" msgtype="DEFAULT">
<Handler name="itfengine" />
<Handler name="jsonxmlfmtconvert" method="xml2json" />
<Handler name="connector" />
<Handler name="jsonxmlfmtconvert" method="json2xml" />
<Handler name="itfengine" />
</Process>
</Server>
+242
View File
@@ -0,0 +1,242 @@
<?xml version="1.0" encoding = "UTF-8"?>
<Application name="cmb">
<Define>
<Macro name="WriteHead"><!--公共请求报文头-->
<WriteElement name="head">
<WriteElement name="funcode" ETF_name="TX_COD" necessary="no"/>
<WriteElement name="userid" ETF_name="userid" necessary="no"/>
<WriteElement name="reqid" ETF_name="reqid" necessary="no"/>
</WriteElement>
</Macro>
<Macro name="ReadHead"><!--公共响应报文头-->
<ReadElement name="head">
<ReadElement name="funcode" ETF_name="TX_COD" necessary="no"/>
<ReadElement name="bizcode" ETF_name="bizcode" necessary="no"/>
<ReadElement name="reqid" ETF_name="reqid" necessary="no"/>
<ReadElement name="resultcode" ETF_name="resultcode" necessary="no"/>
<ReadElement name="resultmsg" ETF_name="resultmsg" necessary="no"/>
<ReadElement name="rspid" ETF_name="rspid" necessary="no"/>
<ReadElement name="userid" ETF_name="userid" necessary="no"/>
</ReadElement>
</Macro>
</Define>
<Transaction code="DCPAYOPR" desc="测试">
<Request necessary="no">
<WriteElement name="CMS">
<Quote name="WriteHead"/>
<WriteElement name="body">
<WriteElement name="modnbr" ETF_name="modnbr" necessary="no"/>
<WriteElement name="refext" ETF_name="refext" necessary="no"/>
<WriteElement name="sndeac" ETF_name="sndeac" necessary="no"/>
<WriteElement name="rcveac" ETF_name="rcveac" necessary="no"/>
<WriteElement name="rcvean" ETF_name="rcvean" necessary="no"/>
<WriteElement name="trsamt" ETF_name="trsamt" necessary="no"/>
</WriteElement>
</WriteElement>
</Request>
<Response necessary="no">
<ReadElement name="eb">
<ReadElement name="out">
</ReadElement>
</ReadElement>
</Response>
</Transaction>
<Transaction code="ASYCALHD" log_switch="1" desc="电子回单异步查询">
<Request>
<!-- 报文头 -->
<WriteElement name="CMS">
<Quote name="WriteHead"/>
<!-- 报文体 -->
<WriteElement name="body">
<WriteElement name="primod" ETF_name="primod" necessary="yes" value="PDF" desc="文件格式"/>
<WriteElement name="eacnbr" ETF_name="eacnbr" necessary="yes" desc="账号 "/>
<WriteElement name="begdat" ETF_name="begdat" necessary="yes" desc="起始日期"/>
<WriteElement name="enddat" ETF_name="enddat" necessary="yes" desc="结束日期"/>
<WriteElement name="rrcflg" ETF_name="rrcflg" necessary="yes" value="1" desc="打印标志"/>
<WriteElement name="begamt" ETF_name="begamt" necessary="no" desc="最小金额"/>
<WriteElement name="endamt" ETF_name="endamt" necessary="no" desc="最大金额"/>
<WriteElement name="rrccod" ETF_name="rrccod" necessary="no" desc="回单代码"/>
</WriteElement>
</WriteElement>
</Request>
<Response>
<!-- 返回报文头 -->
<ReadElement name="Root">
<Quote name="ReadHead"/>
<!-- 报文体 -->
<ReadElement name="body" necessary="no">
<ReadElement name="asycalhdz1" necessary="no" desc="单记录 请求结果">
<ReadElement name="rtncod" ETF_name="rtncod" necessary="no" desc="返回码 "/>
<ReadElement name="rtnmsg" ETF_name="rtnmsg" necessary="no" desc="返回信息 "/>
<ReadElement name="rtndat" ETF_name="rtndat" necessary="no" desc="打印任务编号"/>
</ReadElement>
<ReadElement name="ctnkeyz2" ETF_name="ctnkeyz2" necessary="no" desc="续传信息"/>
</ReadElement>
</ReadElement>
</Response>
</Transaction>
<Transaction code="ASYCALHD_AGAIN" log_switch="1" desc="电子回单异步查询续传请求">
<Request>
<!-- 报文头 -->
<WriteElement name="CMS">
<Quote name="WriteHead"/>
<!-- 报文体 -->
<WriteElement name="body" ETF_name="ctn_keyz2" necessary="yes" desc="文件格式"/>
</WriteElement>
</Request>
<Response>
<!-- 返回报文头 -->
<ReadElement name="Root">
<Quote name="ReadHead"/>
<!-- 报文体 -->
<ReadElement name="body" necessary="no">
<ReadElement name="asycalhdz1" necessary="no" desc="单记录 请求结果">
<ReadElement name="rtncod" ETF_name="rtncod" necessary="no" desc="返回码 "/>
<ReadElement name="rtnmsg" ETF_name="rtnmsg" necessary="no" desc="返回信息 "/>
<ReadElement name="rtndat" ETF_name="rtndat" necessary="no" desc="打印任务编号"/>
</ReadElement>
<ReadElement name="ctnkeyz2" ETF_name="ctnkeyz2" necessary="no" desc="续传信息"/>
</ReadElement>
</ReadElement>
</Response>
</Transaction>
<Transaction code="DCTASKID" log_switch="1" desc="回单异步打印结果查询">
<Request>
<!-- 报文头 -->
<WriteElement name="CMS">
<Quote name="WriteHead"/>
<!-- 报文体 -->
<WriteElement name="body">
<WriteElement name="taskid" ETF_name="taskid" necessary="yes" desc="任务编号"/>
<WriteElement name="qwenab" ETF_name="qwenab" necessary="yes" value="true" desc="地址类型"/>
</WriteElement>
</WriteElement>
</Request>
<Response>
<!-- 返回报文头 -->
<ReadElement name="Root">
<Quote name="ReadHead"/>
<!-- 报文体 -->
<ReadElement name="body" necessary="no">
<ReadElement name="fileurl" ETF_name="fileurl" necessary="no" desc="文件地址 "/>
<ReadElement name="fintim" ETF_name="fintim" necessary="no" desc="文件生成时间"/>
</ReadElement>
</ReadElement>
</Response>
</Transaction>
<Transaction code="DCTRSINF" log_switch="1" desc="账户交易信息查询">
<Request>
<!-- 报文头 -->
<WriteElement name="CMS">
<Quote name="WriteHead"/>
<!-- 报文体 -->
<WriteElement name="body">
<WriteElement name="bbknbr" ETF_name="bbknbr" necessary="yes" desc="分行号 "/>
<WriteElement name="accnbr" ETF_name="accnbr" necessary="yes" desc="账号 "/>
<WriteElement name="trsdat" ETF_name="trsdat" necessary="yes" desc="交易日 "/>
<WriteElement name="trsseq" ETF_name="trsseq" necessary="yes" value="0" desc="起始记账序号"/>
</WriteElement>
</WriteElement>
</Request>
<Response>
<!-- 返回报文头 -->
<ReadElement name="Root">
<Quote name="ReadHead"/>
<!-- 报文体 -->
<ReadElement name="body" necessary="no">
<ReadElement name="ntrbptrsz1" necessary="no" desc="单记录 请求结果">
<ReadElement name="cotflg" ETF_name="cotflg" necessary="no" desc="未传完标记 "/>
<ReadElement name="trsseq" ETF_name="trsseq" necessary="no" desc="末位记账序号"/>
<ReadElement name="dbtnbr" ETF_name="dbtnbr" necessary="no" desc="借方笔数 "/>
<ReadElement name="dbtamt" ETF_name="dbtamt" necessary="no" desc="借方金额 "/>
<ReadElement name="crtnbr" ETF_name="crtnbr" necessary="no" desc="贷方笔数 "/>
<ReadElement name="crtamt" ETF_name="crtamt" necessary="no" desc="贷方金额 "/>
</ReadElement>
<ReadGroupElement name="ntqactrsz2" ETF_name="ntqactrsz2" necessary="no" desc="明细结果 多笔">
<ReadElement name="etydat" ETF_name="ety_dat" necessary="no" desc="交易日 "/>
<ReadElement name="etytim" ETF_name="ety_tim" necessary="no" desc="交易时间 "/>
<ReadElement name="vltdat" ETF_name="vlt_dat" necessary="no" desc="起息日 "/>
<ReadElement name="trscod" ETF_name="trs_cod" necessary="no" desc="交易类型 "/>
<ReadElement name="naryur" ETF_name="nar_yur" necessary="no" desc="摘要 "/>
<ReadElement name="trsamt" ETF_name="trs_amt" necessary="no" desc="交易金额 "/>
<ReadElement name="amtcdr" ETF_name="amt_cdr" necessary="no" desc="借贷标记 "/>
<ReadElement name="trsblv" ETF_name="trs_blv" necessary="no" desc="余额 "/>
<ReadElement name="refnbr" ETF_name="ref_nbr" necessary="no" desc="流水号 "/>
<ReadElement name="reqnbr" ETF_name="req_nbr" necessary="no" desc="流程实例号 "/>
<ReadElement name="busnam" ETF_name="bus_nam" necessary="no" desc="业务名称 "/>
<ReadElement name="nusage" ETF_name="nus_age" necessary="no" desc="用途 "/>
<ReadElement name="yurref" ETF_name="yur_ref" necessary="no" desc="业务参考号 "/>
<ReadElement name="busnar" ETF_name="bus_nar" necessary="no" desc="业务摘要 "/>
<ReadElement name="otrnar" ETF_name="otr_nar" necessary="no" desc="其它摘要 "/>
<ReadElement name="rpybbk" ETF_name="rpy_bbk" necessary="no" desc="收/付方开户地区分行号"/>
<ReadElement name="rpynam" ETF_name="rpy_nam" necessary="no" desc="收/付方名称 "/>
<ReadElement name="rpyacc" ETF_name="rpy_acc" necessary="no" desc="收/付方帐号 "/>
<ReadElement name="rpybbn" ETF_name="rpy_bbn" necessary="no" desc="收/付方开户行行号 "/>
<ReadElement name="rpybnk" ETF_name="rpy_bnk" necessary="no" desc="收/付方开户行名 "/>
<ReadElement name="rpyadr" ETF_name="rpy_adr" necessary="no" desc="收/付方开户行地址 "/>
<ReadElement name="gsbbbk" ETF_name="gsb_bbk" necessary="no" desc="母/子公司所在地区分行"/>
<ReadElement name="gsbacc" ETF_name="gsb_acc" necessary="no" desc="母/子公司帐号 "/>
<ReadElement name="gsbnam" ETF_name="gsb_nam" necessary="no" desc="母/子公司名称 "/>
<ReadElement name="infflg" ETF_name="inf_flg" necessary="no" desc="信息标志 "/>
<ReadElement name="athflg" ETF_name="ath_flg" necessary="no" desc="有否附件信息标志 "/>
<ReadElement name="chknbr" ETF_name="chk_nbr" necessary="no" desc="票据号 "/>
<ReadElement name="rsvflg" ETF_name="rsv_flg" necessary="no" desc="冲帐标志 "/>
<ReadElement name="narext" ETF_name="nar_ext" necessary="no" desc="扩展摘要 "/>
<ReadElement name="trsanl" ETF_name="trs_anl" necessary="no" desc="交易分析码 "/>
<ReadElement name="refsub" ETF_name="ref_sub" necessary="no" desc="商务支付订单号 "/>
<ReadElement name="frmcod" ETF_name="frm_cod" necessary="no" desc="企业识别码 "/>
</ReadGroupElement>
</ReadElement>
</ReadElement>
</Response>
</Transaction>
<Transaction code="DCAGPPDF" log_switch="1" desc="明细对账单查询">
<Request>
<!-- 报文头 -->
<WriteElement name="CMS">
<Quote name="WriteHead"/>
<!-- 报文体 -->
<WriteElement name="body">
<WriteElement name="payeac" ETF_name="payeac" necessary="yes" desc="付款账户 "/>
<WriteElement name="begdat" ETF_name="begdat" necessary="yes" desc="开始日期 "/>
<WriteElement name="enddat" ETF_name="enddat" necessary="yes" desc="结束日期 "/>
<WriteElement name="buscod" ETF_name="buscod" necessary="yes" desc="业务类型 "/>
<WriteElement name="busmod" ETF_name="busmod" necessary="yes" desc="业务模式 "/>
<WriteElement name="eacnam" ETF_name="eacnam" necessary="no" desc="收方户名 "/>
<WriteElement name="ptyref" ETF_name="ptyref" necessary="no" desc="业务参考号"/>
<WriteElement name="pgnbch" ETF_name="pgnbch" necessary="no" desc="代发批次号"/>
<WriteElement name="minamt" ETF_name="minamt" necessary="no" desc="最小金额 "/>
<WriteElement name="maxamt" ETF_name="maxamt" necessary="no" desc="最大金额 "/>
<WriteElement name="prtmod" ETF_name="prtmod" necessary="no" value="M" desc="打印模式 "/>
<WriteElement name="begidx" ETF_name="begidx" necessary="no" value="0" desc="查询标记 "/>
<WriteElement name="pagsiz" ETF_name="pagsiz" necessary="no" desc="每批数量 "/>
</WriteElement>
</WriteElement>
</Request>
<Response>
<!-- 返回报文头 -->
<ReadElement name="Root">
<Quote name="ReadHead"/>
<!-- 报文体 -->
<ReadElement name="body" necessary="no">
<ReadElement name="begidx " ETF_name="begidx" necessary="no" desc="查询标记 "/>
<ReadElement name="printid" ETF_name="printid" necessary="no" desc="打印任务编号"/>
<ReadElement name="total" ETF_name="total" necessary="no" desc="总笔数 "/>
</ReadElement>
</ReadElement>
</Response>
</Transaction>
</Application>
+461
View File
@@ -0,0 +1,461 @@
<?xml version="1.0" encoding="UTF-8"?>
<Tran>
<!-- 交易明细查询 -->
<Transaction code="QRY_ICBCTXNJNL" log_switch='1' timeout="300" desc="工行交易明细查询">
<Attributes>
<Attribute name="nodatabase" value="2"/> <!--数据库长连接-->
</Attributes>
<DynSentence name="QRY_CAPICBCJNLTOT">
<Sentence>
SELECT 'Y' YN FROM CAPICBCJNLTOT WHERE ACCOUNT_NO=? AND TRS_DATE=?
</Sentence>
<Fields>ACCOUNT_NO|TRS_DATE|</Fields>
</DynSentence>
<DynSentence name="DEL_CAPICBCHIJNL">
<Sentence>
DELETE FROM CAPICBCHIJNL WHERE ACCOUNT_NO=? AND TRS_DATE=?
</Sentence>
<Fields>ACCOUNT_NO|TRS_DATE|</Fields>
</DynSentence>
<DynSentence name="DEL_CAPICBCHIJNLTMP">
<Sentence>
DELETE FROM CAPICBCHIJNLTMP WHERE ACCOUNT_NO=? AND TRS_DATE=?
</Sentence>
<Fields>ACCOUNT_NO|TRS_DATE|</Fields>
</DynSentence>
<DynSentence name="QRY_CAPICBCHIJNL_INF">
<Sentence>
SELECT 'Y' YN FROM DUAL WHERE EXISTS
(SELECT * FROM CAPICBCHIJNL WHERE ACCOUNT_NO=? AND TRS_DATE=?)
</Sentence>
<Fields>ACCOUNT_NO|TRS_DATE|</Fields>
</DynSentence>
<DynSentence name="INS_CAPICBCHIJNL">
<Sentence>
INSERT INTO CAPICBCHIJNL
SELECT * FROM CAPICBCHIJNLTMP
WHERE ACCOUNT_NO=? AND TRS_DATE=?
</Sentence>
<Fields>ACCOUNT_NO|TRS_DATE|</Fields>
</DynSentence>
<DynSentence name="UPD_CAPICBCHIJNL_DSKNO"> <!--更新流水批次信息 -->
<Sentence>
UPDATE CAPICBCHIJNL A
SET
DSK_NAM
=
NVL((SELECT DSK_NAM
FROM CAPBATINF B
WHERE B.ORD_DT=A.TRS_DATE AND B.CORG_DSK_NO=A.REF
),' '),
L_POSTSCRIPT
=
NVL((SELECT C.POSTSCRIPT
FROM CAPBATINF B,CAPDSKINF C
WHERE B.ORD_DT=A.TRS_DATE AND B.CORG_DSK_NO=A.REF AND B.DSK_NAM=C.DSK_NAM
),' ')),)
WHERE ACCOUNT_NO=? AND TRS_DATE=? AND A.REF!=' '
</Sentence>
<Fields>ACCOUNT_NO|TRS_DATE|</Fields>
</DynSentence>
<FlowCtrl>
<Delete>TRSP_CD</Delete>
<Delete>TRSP_MSG</Delete>
<Delete>rep_num</Delete>
<Delete>next_tag</Delete>
<!--读取参数配置 -->
<Set>TXN_DT=GETDATE()</Set>
<Set>TXN_TM=GETDATETIME(HHMISS)</Set>
<!--读取参数配置 -->
<Quote name="Batch_Cfg_ICBC" />
<Set>@MSG.className=com.icbc.api.request.MybankEnterpriseTradeQhisdRequestV1</Set>
<Set>@MSG.uri=mybank/enterprise/trade/qhisd/V1</Set>
<!--新接口第三方数据拼接 -->
<Set>account_no=$ACC_NBR</Set> <!--查询账户 -->
<Set>trs_date=$trs_date</Set>
<Set>CHK_DAT=GETDATE()</Set>
<If condition="ISNULL($trs_date)">
<Set>trs_date=CALCDATE($CHK_DAT,-,d,1)</Set>
</If>
<ElseIf condition="CHECKDATE($trs_date)!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=查询日期不合法</Set>
<Return/>
</ElseIf>
<ElseIf condition="INTCMP($CHK_DAT,5,$trs_date)">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=查询日期大于当前日期</Set>
<Return/>
</ElseIf>
<!--查询该账号当天是否已经获取到明细-->
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="QRY_CAPICBCJNLTOT"/>
</Exec>
<If condition='~RetCod=2'>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="QRY_CAPICBCHIJNL_INF"/>
</Exec>
<If condition='~RetCod=0'>
<Exec func="PUB:ExecSql" error="IGNORE"> <!--防止数据异常操作存有垃圾数据-->
<Arg name="SqlCmd" value="DEL_CAPICBCHIJNL"/>
</Exec>
<If condition="~RetCod=-1">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=数据库错误</Set>
<Return/>
</If>
</If>
<ElseIf condition="~RetCod=-1">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=数据库错误</Set>
<Return/>
</ElseIf>
</If>
<ElseIf condition='~RetCod=0'>
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=该账号当天明细已经查询</Set>
<Return/>
</ElseIf>
<Else>
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=数据库查询错误</Set>
<Return/>
</Else>
<Exec func="PUB:ExecSql" error="IGNORE"> <!--删除临时表数据-->
<Arg name="SqlCmd" value="DEL_CAPICBCHIJNLTMP"/>
</Exec>
<Set>NUM=0</Set>
<Set>cotflg=Y</Set>
<Set>next_tag=$next_tag</Set>
<While condition="IS_EQUAL_STRING($cotflg,Y)">
<Delete>REC_NUM</Delete>
<Exec func="PUB:DeleteGroup" error="IGNORE">
<Arg name="GroupName" value="RD"/>
</Exec>
<Set>total_num=0</Set>
<Set>cotflg=N</Set>
<Set>NUM=ADD($NUM,1)</Set>
<Set>CHK_NUM=ADDCHAR($NUM,6,0,1)</Set>
<Set>tran_date=$TXN_DT</Set>
<Set>trans_code=QHISD</Set>
<Set>tran_time=STRCAT(GETDATETIME(),000)</Set>
<Set>f_seqno=STRCAT(JNL,GETDATETIME(),$CHK_NUM)</Set>
<Set>cis=$GRP_CIS</Set>
<Set>language=zh_CN</Set>
<Set>bank_code=102</Set>
<Set>begin_date=$trs_date</Set> <!--起始时间 -->
<Set>end_date=$trs_date</Set> <!--结束时间 -->
<Set>begin_date=20210825</Set> <!--TEST -->
<Set>end_date=20211025</Set> <!--TEST -->
<Exec func="PUB:CallThirdComm" error="IGNORE">
<Arg name="HTxnCd" value="$trans_code"/> <!-- 交易发往银行 -->
<Arg name="ObjSvr" value="SCAICBC2"/><!-- 服务名 -->
</Exec>
<Switch expression="~RetCod">
<Case value="0"> <!--查询成功-->
<Set>Rsp_Cd=000000</Set>
<Break/>
</Case>
<Default>
<!--第三方失败-->
<Set>RSP_CD=80</Set>
<Set>Rsp_Msg=$TRsp_Msg</Set>
<Return/>
</Default>
</Switch>
<Set>tot_cnt=$total_num</Set>
<If condition="AND(IS_EQUAL_STRING($COTFLG,N),IS_EQUAL_STRING($tot_cnt,0))"> <!-- 当天无数据 无需插入明细表 -->
<Set>tot_cnt=0</Set>
<Break/>
</If>
<Set>next_tag=$next_tag</Set>
<If condition="NOT(ISNULL($next_tag))"> <!-- 如果 翻页标志部位空则继续查询-->
<Set>cotflg=Y</Set>
</If>
<Exec func="PUB:InsertRecord" error="IGNORE"><!--登记招行临时表-->
<Arg name="TblNam" value="CAPICBCHIJNLTMP"/>
<Arg name="GrpNam" value="RD"/>
<Arg name="FldLst" value="account_no|trs_date|ACC_NAM|TM_SMP|"/>
</Exec>
<If condition="~RetCod!=0">
<Exec func="PUB:RollbackWork"/>
<Return/>
</If>
<Exec func="PUB:CommitWork"/>
</While>
<If condition="IS_NOEQUAL_STRING($total_num,0)">
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="INS_CAPICBCHIJNL"/>
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=登记明细信息表失败</Set>
<Exec func="PUB:RollbackWork" />
<Return/>
</If>
<!--根据小批号关联流水更新大批号-->
<!--Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="UPD_CAPICBCHIJNL_DSKNO"/>
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=更新代发交易明细发放批次信息失败</Set>
<Exec func="PUB:RollbackWork" />
<Return/>
</If-->
</If>
<!--登记明细汇总表-->
<Exec func="PUB:InsertRecord" error="IGNORE">
<Arg name="TblNam" value="CAPICBCJNLTOT" />
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=登记汇总信息表失败</Set>
<Exec func="PUB:RollbackWork" />
<Return/>
</If>
<Exec func="PUB:CommitWork"/>
<!-- 交易成功 -->
<Set>RSP_CD=00</Set>
<Set>RSP_MSG=交易成功</Set>
</FlowCtrl>
</Transaction>
<!-- 交易明细查询 -->
<Transaction code="QRY_ICBCCURTXNJNL" log_switch='1' timeout="300" desc="工行交易明细实时查询">
<Attributes>
<Attribute name="nodatabase" value="2"/> <!--数据库长连接-->
</Attributes>
<DynSentence name="DEL_CAPICBCCURJNL">
<Sentence>
DELETE FROM CAPICBCCURJNL WHERE ACCOUNT_NO=?
</Sentence>
<Fields>ACCOUNT_NO|</Fields>
</DynSentence>
<DynSentence name="QRY_CAPICBCCURJNL_INF">
<Sentence>
SELECT 'Y' YN FROM DUAL WHERE EXISTS
(SELECT * FROM CAPICBCCURJNL WHERE ACCOUNT_NO=? )
</Sentence>
<Fields>ACCOUNT_NO|</Fields>
</DynSentence>
<DynSentence name="INS_CAPICBCCURJNL">
<Sentence>
INSERT INTO CAPICBCCURJNL
SELECT * FROM CAPICBCCURJNLTMP
WHERE ACCOUNT_NO=? AND TRS_DATE=?
</Sentence>
<Fields>ACCOUNT_NO|TRS_DATE|</Fields>
</DynSentence>
<DynSentence name="UPD_CAPICBCCURJNL_DSKNO"> <!--更新流水批次信息 -->
<Sentence>
UPDATE CAPICBCCURJNL A
SET
DSK_NAM
=
NVL((SELECT DSK_NAM
FROM CAPBATINF B
WHERE B.ORD_DT=A.TRS_DATE AND B.CORG_DSK_NO=A.REF
),' '),
L_POSTSCRIPT
=
NVL((SELECT C.POSTSCRIPT
FROM CAPBATINF B,CAPDSKINF C
WHERE B.ORD_DT=A.TRS_DATE AND B.CORG_DSK_NO=A.REF AND B.DSK_NAM=C.DSK_NAM
),' ')),)
WHERE ACCOUNT_NO=? AND TRS_DATE=? AND A.REF!=' '
</Sentence>
<Fields>ACCOUNT_NO|TRS_DATE|</Fields>
</DynSentence>
<FlowCtrl>
<Delete>TRSP_CD</Delete>
<Delete>TRSP_MSG</Delete>
<Delete>rep_num</Delete>
<Delete>next_tag</Delete>
<!--读取参数配置 -->
<Set>TXN_DT=GETDATE()</Set>
<Set>TXN_TM=GETDATETIME(HHMISS)</Set>
<!--读取参数配置 -->
<Quote name="Batch_Cfg_ICBC" />
<Set>@MSG.className=com.icbc.api.request.MybankEnterpriseTradeQhisdRequestV1</Set>
<Set>@MSG.uri=mybank/enterprise/trade/qhisd/V1</Set>
<!--新接口第三方数据拼接 -->
<Set>account_no=$ACC_NBR</Set> <!--查询账户 -->
<Set>trs_date=$trs_date</Set>
<Set>CHK_DAT=GETDATE()</Set>
<If condition="ISNULL($trs_date)">
<Set>trs_date=CALCDATE($CHK_DAT,-,d,1)</Set>
</If>
<ElseIf condition="CHECKDATE($trs_date)!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=查询日期不合法</Set>
<Return/>
</ElseIf>
<ElseIf condition="INTCMP($CHK_DAT,4,$trs_date)">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=查询日期非当日</Set>
<Return/>
</ElseIf>
<!--查询该账号当天是否已经获取到明细-->
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="QRY_CAPICBCCURJNL_INF"/>
</Exec>
<If condition='~RetCod=0'>
<Exec func="PUB:ExecSql" error="IGNORE"> <!--防止数据异常操作存有垃圾数据-->
<Arg name="SqlCmd" value="DEL_CAPICBCCURJNL"/>
</Exec>
<If condition="~RetCod=-1">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=数据库错误</Set>
<Return/>
</If>
</If>
<ElseIf condition="~RetCod=-1">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=数据库错误</Set>
<Return/>
</ElseIf>
<Set>NUM=0</Set>
<Set>cotflg=Y</Set>
<Set>next_tag=$next_tag</Set>
<While condition="IS_EQUAL_STRING($cotflg,Y)">
<Delete>REC_NUM</Delete>
<Exec func="PUB:DeleteGroup" error="IGNORE">
<Arg name="GroupName" value="RD"/>
</Exec>
<Set>total_num=0</Set>
<Set>cotflg=N</Set>
<Set>NUM=ADD($NUM,1)</Set>
<Set>CHK_NUM=ADDCHAR($NUM,6,0,1)</Set>
<Set>tran_date=$TXN_DT</Set>
<Set>trans_code=QHISD</Set>
<Set>tran_time=STRCAT(GETDATETIME(),000)</Set>
<Set>f_seqno=STRCAT(JNL,GETDATETIME(),$CHK_NUM)</Set>
<Set>cis=$GRP_CIS</Set>
<Set>language=zh_CN</Set>
<Set>bank_code=102</Set>
<Set>begin_date=$trs_date</Set> <!--起始时间 -->
<Set>end_date=$trs_date</Set> <!--结束时间 -->
<Exec func="PUB:CallThirdComm" error="IGNORE">
<Arg name="HTxnCd" value="$trans_code"/> <!-- 交易发往银行 -->
<Arg name="ObjSvr" value="SCAICBC2"/><!-- 服务名 -->
</Exec>
<Switch expression="~RetCod">
<Case value="0"> <!--查询成功-->
<Set>Rsp_Cd=000000</Set>
<Break/>
</Case>
<Default>
<!--第三方失败-->
<Set>RSP_CD=80</Set>
<Set>Rsp_Msg=$TRsp_Msg</Set>
<Return/>
</Default>
</Switch>
<Set>tot_cnt=$total_num</Set>
<If condition="AND(IS_EQUAL_STRING($COTFLG,N),IS_EQUAL_STRING($tot_cnt,0))"> <!-- 当天无数据 无需插入明细表 -->
<Set>tot_cnt=0</Set>
<Break/>
</If>
<Set>next_tag=$next_tag</Set>
<If condition="NOT(ISNULL($next_tag))"> <!-- 如果 翻页标志部位空则继续查询-->
<Set>cotflg=Y</Set>
</If>
<Exec func="PUB:InsertRecord" error="IGNORE"><!--登记招行临时表-->
<Arg name="TblNam" value="CAPICBCCURJNLTMP"/>
<Arg name="GrpNam" value="RD"/>
<Arg name="FldLst" value="account_no|trs_date|ACC_NAM|TM_SMP|"/>
</Exec>
<If condition="~RetCod!=0">
<Exec func="PUB:RollbackWork"/>
<Return/>
</If>
<Exec func="PUB:CommitWork"/>
</While>
<If condition="IS_NOEQUAL_STRING($total_num,0)">
<!--根据小批号关联流水更新大批号-->
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="UPD_CAPICBCCURJNL_DSKNO"/>
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=更新代发交易明细发放批次信息失败</Set>
<Exec func="PUB:RollbackWork" />
<Return/>
</If>
</If>
<Exec func="PUB:CommitWork"/>
<!-- 交易成功 -->
<Set>RSP_CD=00</Set>
<Set>RSP_MSG=交易成功</Set>
</FlowCtrl>
</Transaction>
</Tran>
+24
View File
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Server PUBLIC "-//HISUN//DTD//ATR" "ATR.dtd">
<Server name="SCAICBC2" type="SCA" trace="INFO">
<Declare name="connector" class="com.murong.ctg.protocol.http.client.icbc.IcbcConnector">
<Param name="baseURL" value="${_BASE_URL}" />
<Param name="primaryKey" value="${_PRIMARY_KEY}"/>
<Param name="publicKey" value="${_PUBLIC_KEY}"/>
<Param name="appId" value="${_APP_ID}"/>
</Declare>
<Declare name="itfengine" class="com.hisun.engine.HiEngine">
<Param name="ITF" value="etc/channel/icbc/SCAICBC2_ITF.XML" />
</Declare>
<Declare name="jsonxmlfmtconvert" class="com.hisun.handler.HiJsonXmlConvertHandler">
</Declare>
<Process name="proc1" msgtype="DEFAULT">
<Handler name="itfengine" />
<Handler name="connector" />
<Handler name="jsonxmlfmtconvert" method="json2xml" />
<Handler name="itfengine" />
</Process>
</Server>
+162
View File
@@ -0,0 +1,162 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Application log_switch="1" name="cmb" timeout="600">
<Transaction code="QACCBAL" log_switch="1" desc="余额查询测试">
<Request>
<WriteElement name="biz_content">
<!-- 公共参数 -->
<WriteElement name="trans_code" ETF_name="trans_code" necessary="no" value="QACCBAL"/>
<WriteElement name="tran_date" ETF_name="tran_date" necessary="yes"/>
<WriteElement name="tran_time" ETF_name="tran_time" necessary="yes"/>
<WriteElement name="language" ETF_name="language" necessary="no" value="zh_CN"/>
<WriteElement name="cis" ETF_name="cis" necessary="yes"/>
<WriteElement name="bank_code" ETF_name="bank_code" necessary="yes"/>
<WriteElement name="total_num" ETF_name="total_num" necessary="yes"/>
<WriteElement name="f_seqno" ETF_name="f_seqno" necessary="yes"/>
<!-- 查询信息 -->
<WriteElement name="rd">
<WriteElement name="i_seqno" ETF_name="i_seqno" necessary="no" value="1" desc="序号"/>
<WriteElement name="currency" ETF_name="currency" necessary="no" value="CNY" desc="货币代码"/>
<WriteElement name="account_no" ETF_name="account_no" necessary="yes" desc="账号"/>
<WriteElement name="sub_no" ETF_name="sub_no" necessary="no" value="" desc="账户序号"/>
<WriteElement name="bank_type" ETF_name="bank_type" necessary="no" value="102" desc="银行编码"/>
</WriteElement>
</WriteElement>
</Request>
<Response>
<!-- 返回公共信息 -->
<ReadElement name="returnCode" ETF_name="return_code" necessary="yes"/>
<ReadElement name="returnMsg" ETF_name="return_msg" necessary="no"/>
<ReadElement name="msgId" ETF_name="msg_id" necessary="yes"/>
<If condition="IS_EQUAL_STRING($return_code,0)">
<AddItem name="TRSP_CD" value="000000" />
</If>
<Else>
<AddItem name="TRSP_CD" value="$return_code" />
<AddItem name="TRSP_MSG" value="$return_msg" />
</Else>
</Response>
</Transaction>
<Transaction code="QHISD" log_switch="1" desc="明细查询">
<Request>
<WriteElement name="biz_content">
<!-- 公共参数 -->
<WriteElement name="trans_code" ETF_name="trans_code" necessary="no" value="QHISD"/>
<WriteElement name="tran_date" ETF_name="tran_date" necessary="yes"/>
<WriteElement name="tran_time" ETF_name="tran_time" necessary="yes"/>
<WriteElement name="login_id" ETF_name="login_id" necessary="no" value=""/>
<WriteElement name="cis" ETF_name="cis" necessary="yes"/>
<WriteElement name="bank_code" ETF_name="bank_code" necessary="no" value="102"/>
<WriteElement name="f_seqno" ETF_name="f_seqno" necessary="yes"/>
<WriteElement name="account_no" ETF_name="account_no" necessary="yes"/>
<WriteElement name="begin_date" ETF_name="begin_date" necessary="yes"/>
<WriteElement name="end_date" ETF_name="end_date" necessary="yes"/>
<WriteElement name="min_amount" ETF_name="min_amount" necessary="no"/>
<WriteElement name="max_amount" ETF_name="max_amount" necessary="no"/>
<WriteElement name="bank_type" ETF_name="bank_type" necessary="no"/>
<WriteElement name="next_tag" ETF_name="next_tag" necessary="no"/>
<WriteElement name="currency" ETF_name="currency" necessary="no"/>
<WriteElement name="due_bill_no" ETF_name="due_bill_no" necessary="no"/>
</WriteElement>
</Request>
<Response>
<!-- 返回公共信息 -->
<ReadElement name="returnCode" ETF_name="return_code" necessary="yes"/>
<ReadElement name="returnMsg" ETF_name="return_msg" necessary="no"/>
<ReadElement name="msgId" ETF_name="msg_id" necessary="yes"/>
<ReadElement name="transCode" ETF_name="trans_code" necessary="no"/>
<ReadElement name="cis" ETF_name="cis" necessary="no"/>
<ReadElement name="bankCode" ETF_name="bank_code" necessary="no"/>
<ReadElement name="loginId" ETF_name="login_id" necessary="no"/>
<ReadElement name="tranDate" ETF_name="tran_date" necessary="no"/>
<ReadElement name="tranTime" ETF_name="tran_time" necessary="no"/>
<ReadElement name="fSeqno" ETF_name="f_seq_no" necessary="no"/>
<ReadElement name="accountNo" ETF_name="account_no" necessary="no"/>
<ReadElement name="accountName" ETF_name="account_name" necessary="no"/>
<ReadElement name="currency" ETF_name="currency" necessary="no"/>
<ReadElement name="beginDate" ETF_name="begin_date" necessary="no"/>
<ReadElement name="endDate" ETF_name="end_date" necessary="no"/>
<ReadElement name="minAmount" ETF_name="min_amount" necessary="no"/>
<ReadElement name="maxAmount" ETF_name="max_amount" necessary="no"/>
<ReadElement name="bankType" ETF_name="return_msg" necessary="no"/>
<ReadElement name="nextTag" ETF_name="next_tag" necessary="no"/>
<ReadElement name="totalNum" ETF_name="total_num" necessary="no"/>
<AddItem name="ROOT.RDNUM" value="0" />
<AddItem name="ROOT.TF_SEQ_NO" value="$f_seq_no" />
<ReadGroupElement name="rd" ETF_name="rd" necessary="no">
<ReadElement name="dueBillNo" ETF_name="due_bill_no" necessary="no" desc="借据编号"/>
<ReadElement name="drcrf" ETF_name="drcrf" necessary="no" desc="借贷标志"/>
<ReadElement name="vouhNo" ETF_name="vouh_no" necessary="no" desc="凭证编号"/>
<ReadElement name="debitAmount" ETF_name="debit_amount" necessary="no" desc="借方金额"/>
<ReadElement name="creditAmount" ETF_name="credit_amount" necessary="no" desc="贷方金额"/>
<ReadElement name="balance" ETF_name="balance" necessary="no" desc="账户余额"/>
<ReadElement name="recipBkNo" ETF_name="recip_bk_no" necessary="no" desc="对方行号"/>
<ReadElement name="recipBkName" ETF_name="recip_bk_name" necessary="no" desc="对方行名"/>
<ReadElement name="recipAccountNo" ETF_name="recip_account_no" necessary="no" desc="对方账户"/>
<ReadElement name="recipName" ETF_name="recip_name" necessary="no" desc="对方户名"/>
<ReadElement name="summary" ETF_name="summary" necessary="no" desc="交易摘要"/>
<ReadElement name="useCN" ETF_name="use_cn" necessary="no" desc="交易用途"/>
<ReadElement name="postScript" ETF_name="post_script" necessary="no" desc="交易附言"/>
<ReadElement name="busiCode" ETF_name="busi_code" necessary="no" desc="业务代码"/>
<ReadElement name="date" ETF_name="t_date" necessary="no" desc="交易日期"/>
<ReadElement name="time" ETF_name="t_time" necessary="no" desc="交易时间"/>
<ReadElement name="ref" ETF_name="ref" necessary="no" desc="业务编号"/>
<ReadElement name="oref" ETF_name="oref" necessary="no" desc="相关业务编号"/>
<ReadElement name="enSummary" ETF_name="en_summary" necessary="no" desc="英文备注"/>
<ReadElement name="busiType" ETF_name="busi_type" necessary="no" desc="业务类型"/>
<ReadElement name="vouhType" ETF_name="vouh_type" necessary="no" desc="凭证种类"/>
<ReadElement name="addInfo" ETF_name="add_info" necessary="no" desc="附件信息"/>
<ReadElement name="toutfo" ETF_name="toutfo" necessary="no" desc="回单标识"/>
<ReadElement name="onlySequence" ETF_name="only_sequence" necessary="no" desc="银行流水"/>
<ReadElement name="agentAccountName" ETF_name="agent_account_name" necessary="no" desc="二级户名"/>
<ReadElement name="agentAccountNo" ETF_name="agent_account_no" necessary="no" desc="二级账号"/>
<ReadElement name="upDtranf" ETF_name="up_dtranf" necessary="no" desc="冲正标志"/>
<ReadElement name="valueDate" ETF_name="value_date" necessary="no" desc="起息日起"/>
<ReadElement name="trxCode" ETF_name="trx_code" necessary="no" desc="交易代码"/>
<ReadElement name="ref1" ETF_name="ref1" necessary="no" desc="业务编号 "/>
<ReadElement name="oref1" ETF_name="oref1" necessary="no" desc="相关业务编号"/>
<ReadElement name="cashf" ETF_name="cashf" necessary="no" desc="交易类型"/>
<ReadElement name="busiDate" ETF_name="busi_date" necessary="no" desc="入账日期"/>
<ReadElement name="busiTime" ETF_name="busi_time" necessary="no" desc="入账时间"/>
<ReadElement name="mgNo" ETF_name="mg_no" necessary="no" desc="保证金编号"/>
<ReadElement name="mgAccountNo" ETF_name="mg_account_no" necessary="no" desc="保证金账号"/>
<ReadElement name="mgCurrency" ETF_name="mg_currency" necessary="no" desc="保证金币种"/>
<ReadElement name="cashExf" ETF_name="cash_exf" necessary="no" desc="钞汇标志"/>
<ReadElement name="detailNo" ETF_name="detail_no" necessary="no" desc="明细序号"/>
<ReadElement name="remark" ETF_name="remark" necessary="no" desc="交易备注"/>
<ReadElement name="tradeTime" ETF_name="trade_time" necessary="no" desc="交易时间"/>
<ReadElement name="tradeFee" ETF_name="trade_fee" necessary="no" desc="手续费"/>
<ReadElement name="tradeLocation" ETF_name="trade_location" necessary="no" desc="交易场所"/>
<ReadElement name="exRate" ETF_name="ex_rate" necessary="no" desc="交易汇率"/>
<ReadElement name="forCurrency" ETF_name="for_currency" necessary="no" desc="外币币种"/>
<ReadElement name="enAbstract" ETF_name="en_abstract" necessary="no" desc="英文摘要"/>
<ReadElement name="openBankNo" ETF_name="open_bank_no" necessary="no" desc="开户行号"/>
<ReadElement name="openBankBic" ETF_name="open_bank_bic" necessary="no" desc="开户行BIC"/>
<ReadElement name="openBankName" ETF_name="open_bank_name" necessary="no" desc="开户行名"/>
<ReadElement name="subAcctSeq" ETF_name="sub_acct_seq" necessary="no" desc="账号序号"/>
<ReadElement name="thCurrency" ETF_name="th_currency" necessary="no" desc="交易币种"/>
<ReadElement name="recipBkName1" ETF_name="recip_bk_name1" necessary="no" desc="对方行名"/>
<ReadElement name="recipBkNo1" ETF_name="recip_bk_no1" necessary="no" desc="对方行号"/>
<ReadElement name="tInfoNew" ETF_name="t_info_new" necessary="no" desc="回单标识"/>
<ReadElement name="refundMsg" ETF_name="refund_msg" necessary="no" desc="退回原因"/>
<ReadElement name="busTypeNo" ETF_name="bus_type_no" necessary="no" desc="回单种类"/>
<ReadElement name="receiptInfo" ETF_name="receipt_info" necessary="no" desc="回单信息"/>
<ReadElement name="telNo" ETF_name="tel_no" necessary="no" desc="交易柜员"/>
<ReadElement name="mdcardno" ETF_name="mdcardno" necessary="no" desc="管家卡号"/>
<AddItem name="ROOT.RDNUM" expression="ADD($ROOT.RDNUM,1)"/>
<AddItem name="T_JNL_NO" expression="STRCAT($ROOT.TF_SEQ_NO,$ROOT.RDNUM)" />
</ReadGroupElement>
<If condition="IS_EQUAL_STRING($return_code,0)">
<AddItem name="TRSP_CD" value="000000" />
</If>
<Else>
<AddItem name="TRSP_CD" value="$return_code" />
<AddItem name="TRSP_MSG" value="$return_msg" />
</Else>
</Response>
</Transaction>
</Application>
-75
View File
@@ -172,80 +172,5 @@
</Response>
</Transaction>
<Transaction code="QACCBAL" log_switch="1" desc="余额查询测试">
<Request>
<WriteElement name="biz_content">
<!-- 公共参数 -->
<WriteElement name="trans_code" ETF_name="trans_code" necessary="no" value="QACCBAL"/>
<WriteElement name="tran_date" ETF_name="tran_date" necessary="yes"/>
<WriteElement name="tran_time" ETF_name="tran_time" necessary="yes"/>
<WriteElement name="language" ETF_name="language" necessary="no" value="zh_CN"/>
<WriteElement name="ics" ETF_name="ics" necessary="yes"/>
<WriteElement name="bank_code" ETF_name="bank_code" necessary="yes"/>
<WriteElement name="total_num" ETF_name="total_num" necessary="yes"/>
<WriteElement name="f_seqno" ETF_name="f_seqno" necessary="yes"/>
<!-- 查询信息 -->
<WriteElement name="rd">
<WriteElement name="i_seqno" ETF_name="i_seqno" necessary="no" value="1" desc="序号"/>
<WriteElement name="currency" ETF_name="currency" necessary="no" value="CNY" desc="货币代码"/>
<WriteElement name="account_no" ETF_name="account_no" necessary="yes" desc="账号"/>
<WriteElement name="sub_no" ETF_name="sub_no" necessary="no" value="" desc="账户序号"/>
<WriteElement name="bank_type" ETF_name="bank_type" necessary="no" value="102" desc="银行编码"/>
</WriteElement>
</WriteElement>
</Request>
<Response>
<!-- 返回公共信息 -->
<ReadElement name="returnCode" ETF_name="return_code" necessary="yes"/>
<ReadElement name="returnMsg" ETF_name="return_msg" necessary="no"/>
<ReadElement name="msgId" ETF_name="msg_id" necessary="yes"/>
<If condition="IS_EQUAL_STRING($return_code,0)">
<AddItem name="TRSP_CD" value="000000" />
</If>
<Else>
<AddItem name="TRSP_CD" value="$return_code" />
<AddItem name="TRSP_MSG" value="$return_msg" />
</Else>
</Response>
</Transaction>
<Transaction code="QHISD" log_switch="1" desc="明细查询">
<Request>
<WriteElement name="biz_content">
<!-- 公共参数 -->
<WriteElement name="trans_code" ETF_name="trans_code" necessary="no" value="QHISD"/>
<WriteElement name="tran_date" ETF_name="tran_date" necessary="yes"/>
<WriteElement name="tran_time" ETF_name="tran_time" necessary="yes"/>
<WriteElement name="login_id" ETF_name="login_id" necessary="no" value=""/>
<WriteElement name="ics" ETF_name="ics" necessary="yes"/>
<WriteElement name="bank_code" ETF_name="bank_code" necessary="no" value="102"/>
<WriteElement name="f_seqno" ETF_name="f_seqno" necessary="yes"/>
<WriteElement name="account_no" ETF_name="account_no" necessary="yes"/>
<WriteElement name="begin_date" ETF_name="begin_date" necessary="yes"/>
<WriteElement name="end_date" ETF_name="end_date" necessary="yes"/>
<WriteElement name="min_amount" ETF_name="min_amount" necessary="no"/>
<WriteElement name="max_amount" ETF_name="max_amount" necessary="no"/>
<WriteElement name="bank_type" ETF_name="bank_type" necessary="no"/>
<WriteElement name="next_tag" ETF_name="next_tag" necessary="no"/>
<WriteElement name="currency" ETF_name="currency" necessary="no"/>
<WriteElement name="due_bill_no" ETF_name="due_bill_no" necessary="no"/>
</WriteElement>
</Request>
<Response>
<!-- 返回公共信息 -->
<ReadElement name="returnCode" ETF_name="return_code" necessary="yes"/>
<ReadElement name="returnMsg" ETF_name="return_msg" necessary="no"/>
<ReadElement name="msgId" ETF_name="msg_id" necessary="yes"/>
<If condition="IS_EQUAL_STRING($return_code,0)">
<AddItem name="TRSP_CD" value="000000" />
</If>
<Else>
<AddItem name="TRSP_CD" value="$return_code" />
<AddItem name="TRSP_MSG" value="$return_msg" />
</Else>
</Response>
</Transaction>
</Application>