Files
2021-01-12 23:30:48 +08:00

349 lines
14 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<FrontTab>
<Macro name="MERC_DYN_SQLSENTENCE" desc="商户SQL定义">
<!--查询代收代付总清算控制表-->
<DynSentence name="QRY_MERCSTS_CAPDAYCTL">
<Sentence>
SELECT CLR_STS,
MERC_CLR_STS
FROM CAPDAYCTL
WHERE PSys_Id=?
AND Wrk_Dt=?
</Sentence>
<Fields>PSys_Id|STL_DT|</Fields>
</DynSentence>
<!--查询商户基本信息-->
<DynSentence name="QRY_URMTMINF">
<Sentence>
SELECT a.MERC_TYP,
a.MERC_CNM MERC_NAM,
a.MERC_ID MERC_ID,
a.MERC_TRD_CLS MERC_TRD_CLS,
b.STL_MOD STL_MOD,
b.STL_PERD STL_PERD,
b.STL_DAY STL_DAY,
b.STL_DAY_BIT STL_DAY_BIT,
b.STL_TRF_DAYS STL_TRF_DAYS,
b.NEXT_STL_DT NEXT_STL_DT
FROM URMTMINF a,
URMTMSTL b
WHERE a.MERC_TYP = '12'
AND a.MERC_STS='0'
AND a.MERC_ID=b.MERC_ID
AND b.PAS_STL_FLG='0'
</Sentence>
<Fields>|</Fields>
</DynSentence>
<!--更新清算控制表-->
<DynSentence name="UPD_MERCSTS_CAPDAYCTL">
<Sentence>
UPDATE CAPDAYCTL
SET MERC_CLR_STS=?,
MERC_STR_TM=?,
MERC_END_TM=?
WHERE PSys_Id=?
AND Wrk_Dt=?
</Sentence>
<Fields>MERC_CLR_STS|MERC_STR_TM|MERC_END_TM|PSys_Id|STL_DT|</Fields>
</DynSentence>
<!--更新商户结算信息表-->
<DynSentence name="UPD_URMTMSTL">
<Sentence>
UPDATE URMTMSTL
SET LAST_STL_DT=?,
NEXT_STL_DT=?
WHERE MERC_ID=?
</Sentence>
<Fields>LAST_STL_DT|NEXT_STL_DT|MERC_ID|</Fields>
</DynSentence>
<!--更新手续费费率信息表-->
<DynSentence name="UPD_URMTMFEE">
<Sentence>
UPDATE URMTMFEE
SET NEXT_FEE_DT=?
WHERE MERC_ID=?
AND CAP_TYP = '1'
AND FEE_TYP =?
</Sentence>
<Fields>NEXT_FEE_DT|MERC_ID|PAY_TYP</Fields>
</DynSentence>
<!-- 查询商户服务费费率表 -->
<DynSentence name="QRY_URMTMFEE">
<Sentence>
SELECT MERC_FEE_MOD,
NEXT_FEE_DT,
FEE_PERD_UNIT,
FEE_CAL_MTH MERC_FEE_CAL_MTH,
FEE_PERD_NUM
FROM URMTMFEE
WHERE CAP_TYP = '1'
AND MERC_ID = ?
AND FEE_TYP = ?
AND ( EFF_DT &lt;= ? AND EXP_DT &gt; ? )
</Sentence>
<Fields>MERC_ID|PAY_TYP|STL_DT|STL_DT|</Fields>
</DynSentence>
<!-- 根据对应订单类型和商户号查询代收代付商户清算明细表(已清分)-->
<!-- PAY_TYP 订单支付类型 11:代收 12:代付 -->
<!-- MERC_CLR_FLG 商户清分标志 0:未清分 1:已清分-->
<DynSentence name="QRY_MERC_SUM_CLR_CAPSTLDTL">
<Sentence>
SELECT COUNT(*) TO_MERC_SUCC_CNT,
NVL(SUM(TXN_AMT),0) TO_MERC_AMT,
NVL(SUM(MERC_FEE_AMT),0) TO_MERC_FEE_AMT,
NVL(SUM(MERC_STL_AMT),0) TO_MERC_STL_AMT
FROM CAPSTLDTL
WHERE PAY_TYP=?
AND ORD_TYP=?
AND MERC_ID = ?
AND AC_DT &lt;= ?
AND BUS_TYP='CAP01'
AND (TXN_CD='204010' OR TXN_CD='204015' OR TXN_CD='204020')
AND TXN_STS='S'
AND TXN_TYP='N'
AND MERC_CLR_FLG='1'
AND MERC_FEE_CLR_FLG='1'
AND MERC_FEE_CLR_DT = ?
AND MERC_CLR_DT = ?
</Sentence>
<Fields>PAY_TYP|ORD_TYP|MERC_ID|TXN_DT|TXN_DT|TXN_DT|</Fields>
</DynSentence>
<!-- 根据对应订单类型和商户号查询代收代付商户清算明细表(未清分)-->
<!-- PAY_TYP 订单支付类型 11:代收 12:代付 -->
<!-- MERC_CLR_FLG 商户清分标志 0:未清分 1:已清分-->
<!-- MERC_FEE_CLR_FLG 商户手续费清分标志 0:未清分 1:已清分-->
<DynSentence name="QRY_MERC_SUM_NOTCLR_CAPSTLDTL">
<Sentence>
SELECT COUNT(*) TO_MERC_SUCC_CNT,
NVL(SUM(TXN_AMT),0) TO_MERC_AMT,
NVL(SUM(MERC_FEE_AMT),0) TO_MERC_FEE_AMT,
NVL(SUM(MERC_STL_AMT),0) TO_MERC_STL_AMT
FROM CAPSTLDTL
WHERE PAY_TYP=?
AND ORD_TYP=?
AND MERC_ID = ?
AND AC_DT &lt;= ?
AND BUS_TYP='CAP01'
AND (TXN_CD='204010' OR TXN_CD='204015' OR TXN_CD='204020')
AND TXN_STS='S'
AND TXN_TYP='N'
AND MERC_CLR_FLG='0'
AND MERC_FEE_CLR_FLG='0'
</Sentence>
<Fields>PAY_TYP|ORD_TYP|MERC_ID|TXN_DT|</Fields>
</DynSentence>
<!-- 根据对应订单类型和商户号查询代收代付商户清算明细表(未清分)-->
<!-- PAY_TYP 订单支付类型 11:代收 12:代付 -->
<!-- MERC_CLR_FLG 商户清分标志 0:未清分 1:已清分-->
<!-- MERC_FEE_CLR_FLG 商户手续费清分标志 0:未清分 1:已清分-->
<DynSentence name="QRY_MERC_NOTCLR_JRN_CAPSTLDTL">
<Sentence>
SELECT JRN_NO,
TXN_AMT
FROM CAPSTLDTL
WHERE TXN_TYP='N'
AND PAY_TYP=?
AND ORD_TYP=?
AND MERC_ID = ?
AND AC_DT &lt;= ?
AND BUS_TYP='CAP01'
AND (TXN_CD='204010' OR TXN_CD='204015' OR TXN_CD='204020')
AND TXN_STS='S'
AND MERC_CLR_FLG='0'
AND MERC_FEE_CLR_FLG='0'
</Sentence>
<Fields>PAY_TYP|ORD_TYP|MERC_ID|TXN_DT|</Fields>
</DynSentence>
<!-- 根据流水号更新清算明细表 -->
<DynSentence name="UPD_MERC_CLR_JRN_CAPSTLDTL">
<Sentence>
UPDATE CAPSTLDTL
SET MERC_FEE_CLR_FLG=?,
MERC_FEE_CLR_DT=?,
MERC_CLR_FLG=?,
MERC_CLR_DT=?,
MERC_FEE_MOD=?,
MERC_FEE_CAL_MTH=?,
MERC_FEE_DT=?,
MERC_FEE_AMT=?,
MERC_STL_AMT=?
WHERE JRN_NO=?
</Sentence>
<Fields>MERC_FEE_CLR_FLG|MERC_FEE_CLR_DT|MERC_CLR_FLG|MERC_CLR_DT|MERC_FEE_MOD|MERC_FEE_CAL_MTH|MERC_FEE_DT|MERC_FEE_AMT|MERC_STL_AMT|JRN_NO|</Fields>
</DynSentence>
<!-- 根据对应订单类型更新清算明细表 -->
<DynSentence name="UPD_MERC_NOTCLR_CAPSTLDTL">
<Sentence>
UPDATE CAPSTLDTL
SET MERC_FEE_CLR_FLG=?,
MERC_FEE_CLR_DT=?,
MERC_CLR_FLG=?,
MERC_CLR_DT=?,
MERC_FEE_MOD=?,
MERC_FEE_CAL_MTH=?,
MERC_FEE_DT=?,
MERC_FEE_AMT=?,
MERC_STL_AMT=?
WHERE PAY_TYP=?
AND ORD_TYP=?
AND MERC_ID = ?
AND AC_DT &lt;= ?
AND BUS_TYP='CAP01'
AND (TXN_CD='204010' OR TXN_CD='204015' OR TXN_CD='204020')
AND TXN_STS='S'
AND TXN_TYP='N'
AND MERC_CLR_FLG='0'
AND MERC_FEE_CLR_FLG='0'
</Sentence>
<Fields>MERC_FEE_CLR_FLG|MERC_FEE_CLR_DT|MERC_CLR_FLG|MERC_CLR_DT|MERC_FEE_MOD|MERC_FEE_CAL_MTH|MERC_FEE_DT|MERC_FEE_AMT|MERC_STL_AMT|PAY_TYP|ORD_TYP|MERC_ID|TXN_DT|</Fields>
</DynSentence>
<!--根据对应订单类型查询代收代付商户清算明细表-->
<!-- PAY_TYP 订单支付类型 11:代收 12:代付 -->
<!-- MERC_FEE_CLR_FLG 代收代付商户手续费清分标志 0:未清分 1:已清分-->
<DynSentence name="QRY_MERC_SUM_FEE_CLR_CAPSTLDTL">
<Sentence>
SELECT COUNT(*) TO_MERC_SUCC_CNT,
NVL(SUM(TXN_AMT),0) TO_MERC_AMT,
NVL(SUM(MERC_FEE_AMT),0) TO_MERC_FEE_AMT,
NVL(SUM(MERC_STL_AMT),0) TO_MERC_STL_AMT
FROM CAPSTLDTL
WHERE PAY_TYP=?
AND ORD_TYP=?
AND MERC_ID = ?
AND AC_DT &lt;= ?
AND BUS_TYP='CAP01'
AND (TXN_CD='204010' OR TXN_CD='204015' OR TXN_CD='204020')
AND TXN_STS='S'
AND TXN_TYP='N'
AND MERC_FEE_CLR_FLG='1'
AND MERC_FEE_CLR_DT = ?
</Sentence>
<Fields>PAY_TYP|ORD_TYP|MERC_ID|TXN_DT|TXN_DT|</Fields>
</DynSentence>
<!--根据对应订单类型查询代收代付商户清算明细表(已清分)-->
<!-- PAY_TYP 订单支付类型 11:代收 12:代付 -->
<!-- MERC_FEE_CLR_FLG 代收代付商户手续费清分标志 0:未清分 1:已清分-->
<DynSentence name="QRY_MERC_FEE_NOTCLR_JRN_CAPSTLDTL">
<Sentence>
SELECT JRN_NO,
TXN_AMT
FROM CAPSTLDTL
WHERE TXN_TYP='N'
AND PAY_TYP=?
AND ORD_TYP=?
AND MERC_ID = ?
AND AC_DT &lt;= ?
AND BUS_TYP='CAP01'
AND (TXN_CD='204010' OR TXN_CD='204015' OR TXN_CD='204020')
AND TXN_STS='S'
AND MERC_FEE_CLR_FLG='0'
</Sentence>
<Fields>PAY_TYP|ORD_TYP|MERC_ID|TXN_DT|</Fields>
</DynSentence>
<!-- 根据流水号更新清算明细表 -->
<DynSentence name="UPD_MERC_FEE_CLR_JRN_CAPSTLDTL">
<Sentence>
UPDATE CAPSTLDTL
SET MERC_FEE_CLR_FLG=?,
MERC_FEE_CLR_DT=?,
MERC_FEE_DT=?,
MERC_FEE_MOD=?,
MERC_FEE_CAL_MTH=?,
MERC_FEE_AMT=?,
MERC_STL_AMT=?
WHERE JRN_NO=?
</Sentence>
<Fields>MERC_FEE_CLR_FLG|MERC_FEE_CLR_DT|MERC_FEE_DT|MERC_FEE_MOD|MERC_FEE_CAL_MTH|MERC_FEE_AMT|MERC_STL_AMT|JRN_NO|</Fields>
</DynSentence>
<!--根据对应订单类型查询代收代付商户清算明细表(未清分)-->
<!-- PAY_TYP 订单支付类型 11:代收 12:代付 -->
<!-- MERC_FEE_CLR_FLG 代收代付商户手续费清分标志 0:未清分 1:已清分-->
<DynSentence name="QRY_MERC_SUM_FEE_NOTCLR_CAPSTLDTL">
<Sentence>
SELECT COUNT(*) TO_MERC_SUCC_CNT,
NVL(SUM(TXN_AMT),0) TO_MERC_AMT
FROM CAPSTLDTL
WHERE PAY_TYP=?
AND ORD_TYP=?
AND MERC_ID = ?
AND AC_DT &lt;= ?
AND BUS_TYP='CAP01'
AND (TXN_CD='204010' OR TXN_CD='204015' OR TXN_CD='204020')
AND TXN_STS='S'
AND TXN_TYP='N'
AND MERC_FEE_CLR_FLG='0'
</Sentence>
<Fields>PAY_TYP|ORD_TYP|MERC_ID|TXN_DT|</Fields>
</DynSentence>
<!-- 根据对应订单类型更新清算明细表 -->
<DynSentence name="UPD_MERC_FEE_NOTCLR_CAPSTLDTL">
<Sentence>
UPDATE CAPSTLDTL
SET MERC_FEE_CLR_FLG=?,
MERC_FEE_CLR_DT=?,
MERC_FEE_DT=?,
MERC_FEE_MOD=?,
MERC_FEE_CAL_MTH=?,
MERC_FEE_AMT=?,
MERC_STL_AMT=?
WHERE PAY_TYP=?
AND ORD_TYP=?
AND MERC_ID = ?
AND AC_DT &lt;= ?
AND BUS_TYP='CAP01'
AND (TXN_CD='204010' OR TXN_CD='204015' OR TXN_CD='204020')
AND TXN_STS='S'
AND TXN_TYP='N'
AND MERC_FEE_CLR_FLG='0'
</Sentence>
<Fields>MERC_FEE_CLR_FLG|MERC_FEE_CLR_DT|MERC_FEE_DT|MERC_FEE_MOD|MERC_FEE_CAL_MTH|MERC_FEE_AMT|MERC_STL_AMT|PAY_TYP|ORD_TYP|MERC_ID|TXN_DT|</Fields>
</DynSentence>
<DynSentence name="QrySUMJnl_BEN">
<Sentence>
SELECT COUNT(*) TO_MERC_SUCC_CNT,NVL(SUM(TXN_AMT),0) TO_MERC_AMT
FROM CAPSTLDTL
WHERE TXN_TYP='N' AND PAY_TYP=? AND ORD_TYP=?
AND BUS_TYP='CAP01' AND (TXN_CD='204010' OR TXN_CD='204015' OR TXN_CD='204020')
AND TXN_STS='S' AND MERC_CLR_FLG='0'
AND MERC_ID = ?
AND AC_DT &lt;= ?
</Sentence>
<Fields>PAY_TYP|ORD_TYP|MERC_ID|STL_DT|</Fields>
</DynSentence>
<DynSentence name="UpdSUMJnl_BEN">
<Sentence>
UPDATE CAPSTLDTL
SET MERC_CLR_FLG=?,MERC_CLR_DT=?
WHERE TXN_TYP='N' AND PAY_TYP=? AND ORD_TYP=?
AND BUS_TYP='CAP01'
AND (TXN_CD='204010' OR TXN_CD='204015' OR TXN_CD='204020')
AND TXN_STS='S' AND MERC_CLR_FLG='0'
AND MERC_ID = ?
AND AC_DT &lt;= ?
</Sentence>
<Fields>MERC_CLR_FLG|MERC_CLR_DT|PAY_TYP|ORD_TYP|MERC_ID|STL_DT|</Fields>
</DynSentence>
</Macro>
</FrontTab>