146 lines
5.8 KiB
XML
146 lines
5.8 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<Application name="lps" trace="yes">
|
|
<!-- 结算进度 -->
|
|
<Transaction code="2150601" log_switch="1" trace="yes" desc="结算进度详情">
|
|
<!-- 查主账户号 -->
|
|
<DynSentence name="QRY_URMTMINF_ACNO">
|
|
<Sentence>
|
|
SELECT CLR_AC FROM URMTMINF WHERE MERC_ID=?
|
|
</Sentence>
|
|
<Fields>CLR_MERC|</Fields>
|
|
</DynSentence>
|
|
<!-- 全部详情 -->
|
|
<DynSentence name="QRY_CLR_DETAIL">
|
|
<Sentence>
|
|
SELECT AC_DT AS CLR_DT,SYS_DT AS TX_DT,SYS_TM AS TX_TM,'' AS POS_BAT_NO,
|
|
'' AS POS_JRN,'' AS POS_TRM,
|
|
CASE
|
|
WHEN TX_TYP='30' AND BUS_TYP='0222' THEN 'H'
|
|
ELSE TX_TYP END
|
|
AS TX_TYP,
|
|
CASE
|
|
WHEN TX_TYP='30' AND BUS_TYP='0222' THEN HOLD_AMT
|
|
ELSE DR_AMT END
|
|
AS RVS_AMT,CR_AMT AS TX_AMT,FEE_AMT,'' AS SUB_AC,' ' AS RFD_FEE_PRC_MOD
|
|
FROM ACMTCDDT
|
|
WHERE AC_NO=? AND AC_DT BETWEEN ? AND ?
|
|
AND (TX_TYP!='20' AND TX_TYP!='02' AND TX_TYP!='31' AND TX_TYP!='34'
|
|
AND TX_TYP!='22' OR (TX_TYP='43' AND BUS_TYP!='0242'))
|
|
UNION ALL
|
|
SELECT CLR_DT,TX_DT,TX_TM,POS_BAT_NO,POS_JRN,POS_TRM,
|
|
'N' AS TX_TYP, 0 AS RVS_AMT,TX_AMT,FEE_AMT,
|
|
SUBSTR(SUB_AC,0,6)||'**********'||SUBSTR(SUB_AC,17,4) AS SUB_AC,' ' AS RFD_FEE_PRC_MOD
|
|
FROM LPSTOFP
|
|
WHERE CLR_MERC=? AND AC_DT BETWEEN ? AND ? AND LP_ORD_STS!='C' and PROC_RSL='00' AND CLR_STS='1'
|
|
UNION ALL
|
|
SELECT AC_DT AS CLR_DT,TX_DT,TX_TM,'' AS POS_BAT_NO, POS_JRN, POS_TRM, 'R' AS TX_TYP, TX_AMT AS RVS_AMT,0 AS TX_AMT, FEE_AMT,
|
|
SUBSTR(SUB_AC,0,6)||'**********'||SUBSTR(SUB_AC,17,4) AS SUB_AC, RFD_FEE_PRC_MOD
|
|
FROM LPSTRVS
|
|
WHERE CLR_MERC=? AND AC_DT BETWEEN ? AND ? AND RVS_FLG!='C' AND BIL_STS='1'
|
|
ORDER BY TX_TYP, CLR_DT,POS_BAT_NO,POS_JRN DESC
|
|
</Sentence>
|
|
<Fields>CLR_AC|START_DT|LAST_DT|CLR_MERC|START_DT|LAST_DT|CLR_MERC|START_DT|LAST_DT</Fields>
|
|
</DynSentence>
|
|
|
|
<!-- 统计汇总 -->
|
|
<!-- 统计收支明细表 -->
|
|
<DynSentence name="QRY_ACMTCDDT_SUM">
|
|
<Sentence>
|
|
SELECT SUM(DR_AMT) AS CLR_AMT1,SUM(CR_AMT) AS CLR_AMT2,SUM(FEE_AMT) AS CLR_FEE,COUNT(JRN_NO) AS DCR_NUM
|
|
FROM ACMTCDDT
|
|
WHERE AC_NO=? AND AC_DT BETWEEN ? AND ?
|
|
AND (TX_TYP!='20' AND TX_TYP!='02' AND TX_TYP!='22' AND TX_TYP!='34' AND TX_TYP!='31'
|
|
OR (TX_TYP='43' AND BUS_TYP!='0242'))
|
|
</Sentence>
|
|
<Fields>CLR_AC|START_DT|LAST_DT|</Fields>
|
|
</DynSentence>
|
|
|
|
<!-- 统计消费 -->
|
|
<DynSentence name="QRY_LPSTOFP_SUM">
|
|
<Sentence>
|
|
SELECT SUM(TX_AMT) AS CSM_AMT,SUM(FEE_AMT) AS CSM_FEE,COUNT(ORD_NO) AS CSM_NUM
|
|
FROM LPSTOFP
|
|
WHERE CLR_MERC=? AND AC_DT BETWEEN ? AND ? AND PROC_RSL='00' AND LP_ORD_STS!='C' AND CLR_STS='1'
|
|
</Sentence>
|
|
<Fields>CLR_MERC|START_DT|LAST_DT|</Fields>
|
|
</DynSentence>
|
|
|
|
<!-- 统计退货 -->
|
|
<DynSentence name="QRY_LPSTRVS_SUM">
|
|
<Sentence>
|
|
SELECT SUM(TX_AMT) AS RVS_AMT,
|
|
SUM(
|
|
CASE RFD_FEE_PRC_MOD
|
|
WHEN '1' THEN 0
|
|
ELSE FEE_AMT END
|
|
) AS RVS_FEE,COUNT(JRN_NO) AS RVS_NUM
|
|
FROM LPSTRVS
|
|
WHERE CLR_MERC=? AND AC_DT BETWEEN ? AND ? AND RVS_FLG!='C' AND BIL_STS='1'
|
|
</Sentence>
|
|
<Fields>CLR_MERC|START_DT|LAST_DT|</Fields>
|
|
</DynSentence>
|
|
|
|
<FlowCtrl>
|
|
<Exec func="PUB:ReadRecord">
|
|
<Arg name="SqlCmd" value="QRY_URMTMINF_ACNO" />
|
|
</Exec>
|
|
|
|
<Exec func="PUB:DBMultiQueryPage">
|
|
<Arg name="PageNo" value="$PAG_NO"/>
|
|
<Arg name="SqlCmd" value="QRY_CLR_DETAIL"/>
|
|
<Arg name="RecNumPerPage" value="$PAG_NUM"/>
|
|
</Exec>
|
|
|
|
<Exec func="PUB:ReadRecord">
|
|
<Arg name="SqlCmd" value="QRY_ACMTCDDT_SUM" />
|
|
</Exec>
|
|
|
|
<Exec func="PUB:ReadRecord">
|
|
<Arg name="SqlCmd" value="QRY_LPSTOFP_SUM" />
|
|
</Exec>
|
|
|
|
<Exec func="PUB:ReadRecord">
|
|
<Arg name="SqlCmd" value="QRY_LPSTRVS_SUM" />
|
|
</Exec>
|
|
|
|
<!-- 处理计算汇总 -->
|
|
<If condition="ISNULL($CLR_AMT1)">
|
|
<Set>CLR_AMT1=0</Set>
|
|
</If>
|
|
<If condition="ISNULL($CLR_AMT2)">
|
|
<Set>CLR_AMT2=0</Set>
|
|
</If>
|
|
<If condition="ISNULL($CSM_AMT)">
|
|
<Set>CSM_AMT=0</Set>
|
|
</If>
|
|
<If condition="ISNULL($RVS_AMT)">
|
|
<Set>RVS_AMT=0</Set>
|
|
</If>
|
|
<If condition="ISNULL($RVS_FEE)">
|
|
<Set>RVS_FEE=0</Set>
|
|
</If>
|
|
<If condition="ISNULL($CSM_FEE)">
|
|
<Set>CSM_FEE=0</Set>
|
|
</If>
|
|
<If condition="ISNULL($CLR_FEE)">
|
|
<Set>CLR_FEE=0</Set>
|
|
</If>
|
|
|
|
<Set>S_AMT=FSUB($CLR_AMT2,$CLR_AMT1,2)</Set> <!-- 消费和退货以外的不考虑手续费金额 -->
|
|
<Set>E_AMT=FSUB($CSM_AMT,$RVS_AMT,2)</Set> <!-- 消费和退货金额 -->
|
|
<Set>S_RAMT=$RVS_AMT</Set>
|
|
<Set>S_FEE=FADD($CSM_FEE,$CLR_FEE,2)</Set>
|
|
<Set>T_FEE=FSUB($S_FEE,$RVS_FEE,2)</Set> <!-- 应结手续费 -->
|
|
<Set>S_AMT=FADD($S_AMT,$E_AMT,2)</Set> <!-- 不考虑手续费的总金额 -->
|
|
<Set>T_AMT=FSUB($S_AMT,$T_FEE,2)</Set> <!-- 应结金额 -->
|
|
<Set>TOTAL_NUM=ADD($CSM_NUM,$RVS_NUM)</Set> <!-- 总笔数 -->
|
|
<Set>TOTAL_NUM=ADD($TOTAL_NUM,$DCR_NUM)</Set>
|
|
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS00000"/>
|
|
</Exec>
|
|
|
|
</FlowCtrl>
|
|
</Transaction>
|
|
</Application>
|
|
|