Files
ctg-app-cap/cap/etc/batch/ACCT_RECEIPT_QUERY.XML
2022-08-25 19:42:03 +08:00

98 lines
3.5 KiB
XML

<?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='4'
AND (DSK_NAM=? OR ? IS NULL)
AND (REF_NBR=? OR ? IS NULL)
AND (YUR_REF=? OR ? IS NULL)
</Sentence>
<Fields>TRANS_DATE|DISK_NO|DISK_NO|BANK_REF_ID|BANK_REF_ID|BATCH_ID|BATCH_ID|</Fields>
</DynSentence>
<DynSentence name="QRY_CAPICBCHIJNL_INF">
<Sentence>
SELECT ONLY_SEQUENCE as BANK_REF_ID,' ' as BATCH_ID,ACT_FIL_ID as FILE_PATH
FROM CAPICBCHIJNL
WHERE TRS_DATE=? AND ACT_RPT_STS='4'
AND (DSK_NAM=? OR ? IS NULL)
AND (ONLY_SEQUENCE=? OR ? IS NULL)
</Sentence>
<Fields>TRANS_DATE|DISK_NO|DISK_NO|BANK_REF_ID|BANK_REF_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>
<If condition="AND(ISNULL(DELBOTHSPACE($BANK_REF_ID)),ISNULL(DELBOTHSPACE($DISK_NO)))">
<Set>RSP_CD=80</Set>
<Set>RSP_MSG=工行大批号、银行流水号两个查询条件不能同时为空</Set>
<Return/>
</If>
</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>