Files
2022-08-25 19:42:03 +08:00

252 lines
10 KiB
XML

<?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,
abs((trs_amt * 100)) 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,
bus_nar 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,
trs_cod AS BANK_TRSCODE
FROM CAPCMBHIJNL
WHERE ACC_NBR=? AND TRS_DAT BETWEEN ? AND ?
AND (ety_dat||ety_tim) BETWEEN ? AND ?
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,
abs((trs_amt * 100)) 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,
bus_nar 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,
trs_cod AS BANK_TRSCODE
FROM CAPCMBCURJNL
WHERE ACC_NBR=?
AND (ety_dat||ety_tim) BETWEEN ? AND ?
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,
REPLACE(TRADE_TIME,'.','') AS BANK_TRANS_TIME,
decode(drcrf,'1','D','2','C') AS BANK_DC_FLAG,
recip_account_no AS ACCT_NO,
recip_name AS ACCT_NAME,
recip_bk_name AS BANK_NAME,
'' 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,
TRX_CODE AS BANK_TRSCODE
FROM CAPICBCHIJNL
WHERE ACCOUNT_NO=? AND TRS_DATE BETWEEN ? AND ?
AND (T_DATE||REPLACE(TRADE_TIME,'.','')) BETWEEN ? AND ?
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|BANK_DC_FLAG|BANK_DC_FLAG|</Fields>
</DynSentence>
<DynSentence name="QRY_CAPICBCCURJNL_INF">
<Sentence>
SELECT t_date AS BANK_TRANS_DATE,
REPLACE(TRADE_TIME,'.','') AS BANK_TRANS_TIME,
decode(drcrf,'1','D','2','C') AS BANK_DC_FLAG,
recip_account_no AS ACCT_NO,
recip_name AS ACCT_NAME,
recip_bk_name AS BANK_NAME,
'' 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,
TRX_CODE AS BANK_TRSCODE
FROM CAPICBCCURJNL
WHERE ACCOUNT_NO=?
AND (T_DATE||REPLACE(TRADE_TIME,'.','')) BETWEEN ? AND ?
AND (DSK_NAM=? OR ? IS NULL)
AND (ONLY_SEQUENCE=? 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|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>
<Set>BANK_DC_FLAG=$DC_FLAG</Set>
<If condition="IS_EQUAL_STRING($BANK_CODE,CMB)">
<If condition="IS_EQUAL_STRING($CUR_FLG,0)">
<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,0)">
<Set>QRY_SQL=QRY_CAPICBCHIJNL_INF</Set>
</If>
<Else>
<Set>QRY_SQL=QRY_CAPICBCCURJNL_INF</Set>
</Else>
<If condition="IS_EQUAL_STRING($BANK_DC_FLAG,C)">
<Set>BANK_DC_FLAG=2</Set>
</If>
<ElseIf condition="IS_EQUAL_STRING($BANK_DC_FLAG,D)">
<Set>BANK_DC_FLAG=1</Set>
</ElseIf>
</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>