98 lines
4.5 KiB
XML
98 lines
4.5 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<Package>
|
|
<!--商户待清算金额查询(QueryMercBon)-->
|
|
<Function name="QueryMercBon">
|
|
<Input>INP_DAT|</Input>
|
|
<Output>OUT_DAT|MSG_CD|MSG_DAT|</Output>
|
|
|
|
<!--查询商户已清算红包金额-->
|
|
<DynSentence name="QRY_STL_BON">
|
|
<Sentence>
|
|
SELECT TO_CHAR(NVL(SUM(CASE WHEN CLR_FLG='0' AND STL_PERD_FLG='0' AND PERD_BEG_DT BETWEEN ? AND ? AND PERD_END_DT BETWEEN ? AND ? THEN CUR_AC_BAL ELSE 0 END),0),'9999999999990.99') AS MON_RED_BAL,
|
|
TO_CHAR(NVL(SUM(CASE WHEN CLR_FLG='1' AND STL_PERD_FLG='1' THEN CUR_AC_BAL ELSE 0 END),0),'9999999999990.99') AS DAY_RED_BAL,
|
|
TO_CHAR(NVL(SUM(CASE WHEN PERD_BEG_DT BETWEEN ? AND ? AND PERD_END_DT BETWEEN ? AND ? AND STL_PERD_FLG='0' THEN CUR_AC_BAL ELSE 0 END),0),'9999999999990.99') AS RED_BAL
|
|
FROM MKMTMSUM
|
|
WHERE MERC_ID = ?
|
|
AND CAP_TYP IN ('3', '4')
|
|
</Sentence>
|
|
<Fields>CUR_FIR_DT|CUR_END_DT|CUR_FIR_DT|CUR_END_DT|CUR_FIR_DT|CUR_END_DT|CUR_FIR_DT|CUR_END_DT|MERC_ID|</Fields>
|
|
</DynSentence>
|
|
|
|
<!-- 查询商户待清算红包金额 -->
|
|
<DynSentence name="QRY_UNSTL_BON">
|
|
<Sentence>
|
|
SELECT NVL(SUM(Y.USL_RED_BAL),0) AS USL_RED_BAL FROM
|
|
(SELECT DISTINCT A.MKT_ID FROM MKMTMERC A,MKMTMERCRL B WHERE A.STL_PERD_FLG='0'
|
|
AND ((A.IS_GRP = '0' AND A.MERC_ID = B.MERC_ID AND B.MERC_GRP = '0') OR (A.IS_GRP = '1' AND A.MERC_ID = B.MERC_GRP AND B.MERC_GRP <> '0'))
|
|
AND B.MERC_ID = ?) X
|
|
LEFT JOIN
|
|
(SELECT A.MKT_ID,NVL(SUM(CASE WHEN A.TX_STS = 'S' AND A.USE_TYP = '1' THEN A.DR_AMT ELSE 0 END),0)
|
|
-NVL(SUM(CASE WHEN A.TX_STS = 'S' AND A.USE_TYP = '3' THEN A.RT_AMT ELSE 0 END),0) AS USL_RED_BAL
|
|
FROM MKMTJNL A,MKMTACT B
|
|
WHERE A.TX_ACC_DT = ?
|
|
AND A.MERC_ID=?
|
|
AND A.PRD_TYP = '0'
|
|
AND A.MKT_ID=B.MKT_ID
|
|
GROUP BY A.MKT_ID) Y
|
|
ON X.MKT_ID=Y.MKT_ID
|
|
</Sentence>
|
|
<Fields>MERC_ID|CUR_DT|MERC_ID|</Fields>
|
|
</DynSentence>
|
|
|
|
<Process>
|
|
<Set>MERC_ID=DELBOTHSPACE($INP_DAT.MERC_ID)</Set>
|
|
<Set>CUR_DT=$GWA.AC_DT</Set>
|
|
<!--必输项检查-->
|
|
<If condition="ISNULL($MERC_ID)">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg 商户编号不能为空 -->
|
|
<Arg name="MsgCd" value="MKM20200"/>
|
|
<Arg name="MsgDat" value="商户编号不能为空"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
<!--计算该月首日-->
|
|
<Set>CUR_FIR_DT=STRCAT(SUBSTR($CUR_DT,1,6),01)</Set>
|
|
<!-- 计算月末 -->
|
|
<Set>CUR_NEXT_MON=CALCDATE($CUR_FIR_DT,+,m,1)</Set>
|
|
<Set>CUR_END_DT=CALCDATE($CUR_NEXT_MON,-,d,1)</Set>
|
|
|
|
<!--查询商户当天待清算红包金额-->
|
|
<Exec func="PUB:ReadRecord">
|
|
<Arg name="SqlCmd" value="QRY_UNSTL_BON"/>
|
|
</Exec>
|
|
<If condition="~RetCod=-1">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg 查询商户待清算红包金额失效 -->
|
|
<Arg name="MsgCd" value="MKM20212"/>
|
|
<Arg name="MsgDat" value="查询商户待清算红包金额失败"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
<!--查询商户该月已清算红包金额-->
|
|
<Exec func="PUB:ReadRecord">
|
|
<Arg name="SqlCmd" value="QRY_STL_BON"/>
|
|
</Exec>
|
|
<If condition="~RetCod=-1">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg 查询商户已清算金额失败 -->
|
|
<Arg name="MsgCd" value="MKM41262"/>
|
|
<Arg name="MsgDat" value="查询商户已清算红包金额失败"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
<!--查询商户待清算积分金额,暂时没有-->
|
|
<Set>OUT_DAT.RED_BAL=$RED_BAL</Set>
|
|
<Set>OUT_DAT.DAY_RED_BAL=$DAY_RED_BAL</Set>
|
|
<Set>OUT_DAT.MON_RED_BAL=$MON_RED_BAL</Set>
|
|
<Set>OUT_DAT.USL_RED_BAL=$USL_RED_BAL</Set>
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg 交易成功 -->
|
|
<Arg name="MsgCd" value="MKM00000"/>
|
|
<Arg name="MsgDat" value="交易成功"/>
|
|
</Exec>
|
|
<Exec func="PUB:DumpETF"/>
|
|
</Process>
|
|
</Function>
|
|
</Package>
|