Files
2021-01-12 22:04:24 +08:00

184 lines
8.1 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<Application name="lps" trace="yes">
<!-- 商户对账 -->
<Transaction code="2151022" log_switch="1" trace="yes" desc="商户对账">
<!-- 清分查询 -->
<!-- 查询消费记录 -->
<DynSentence name="QRY_SOMETRM_REC">
<Sentence>
SELECT AC_DT,TX_DT,TX_TM,POS_BAT_NO,POS_JRN,POS_TRM, 'N' AS LP_ORD_STS,TX_AMT,FEE_AMT,
SUBSTR(SUB_AC,0,6)||'**********'||SUBSTR(SUB_AC,17,4) AS SUB_AC
FROM LPSTOFP
WHERE MERC_ID =? AND (? IS NULL OR POS_TRM = ?) AND PROC_RSL='00' AND LP_ORD_STS IN('N','R')
AND AC_DT BETWEEN ? AND ? AND CLR_STS='1'
UNION ALL
SELECT AC_DT,TX_DT,TX_TM,'' AS POS_BAT_NO,POS_JRN,POS_TRM,'R' AS LP_ORD_STS, 0-TX_AMT AS TX_AMT,
CASE RFD_FEE_PRC_MOD
WHEN '1' THEN 0
ELSE 0-FEE_AMT END AS FEE_AMT,
SUBSTR(SUB_AC,0,6)||'**********'||SUBSTR(SUB_AC,17,4) AS SUB_AC
FROM LPSTRVS
WHERE MERC_ID = ? AND (? IS NULL OR POS_TRM = ?) AND AC_DT BETWEEN ? AND ? AND BIL_STS='1'
AND RVS_FLG = 'R'
UNION ALL
SELECT AC_DT,TX_DT,TX_TM,POS_BAT_NO,POS_JRN,POS_TRM, 'A' AS LP_ORD_STS,TX_AMT,FEE_AMT,
SUBSTR(SUB_AC,0,6)||'**********'||SUBSTR(SUB_AC,17,4) AS SUB_AC
FROM LPSTOFP
WHERE MERC_ID =? AND (? IS NULL OR POS_TRM = ?) AND PROC_RSL='00' AND LP_ORD_STS ='A'
AND AC_DT BETWEEN ? AND ? AND CLR_STS='1'
ORDER BY AC_DT,TX_DT,TX_TM DESC
</Sentence>
<Fields>SUBMERC_ID|POS_TRM|POS_TRM|BEG_DT|END_DT|SUBMERC_ID|POS_TRM|POS_TRM|BEG_DT|END_DT|SUBMERC_ID|POS_TRM|POS_TRM|BEG_DT|END_DT|</Fields>
</DynSentence>
<!-- 统计 -->
<DynSentence name="QRY_SOMETRM_LPSTOFP">
<Sentence>
SELECT SUM(TX_AMT) AS SUM_CSM_AMT,SUM(FEE_AMT) AS SUM_CSM_FEE
FROM LPSTOFP
WHERE MERC_ID =? AND (? IS NULL OR POS_TRM = ?) AND PROC_RSL='00' AND LP_ORD_STS IN('N','R','A')
AND AC_DT BETWEEN ? AND ? AND CLR_STS='1'
</Sentence>
<Fields>SUBMERC_ID|POS_TRM|POS_TRM|BEG_DT|END_DT|</Fields>
</DynSentence>
<DynSentence name="QRY_SOMETRM_LPSTRVS">
<Sentence>
SELECT SUM(TX_AMT) AS SUM_RVS_AMT,
SUM(
CASE RFD_FEE_PRC_MOD
WHEN '1' THEN 0
ELSE FEE_AMT END
) AS SUM_RVS_FEE
FROM LPSTRVS
WHERE MERC_ID = ? AND (? IS NULL OR POS_TRM = ?) AND AC_DT BETWEEN ? AND ? AND BIL_STS='1'
AND RVS_FLG = 'R'
</Sentence>
<Fields>SUBMERC_ID|POS_TRM|POS_TRM|BEG_DT|END_DT|</Fields>
</DynSentence>
<!-- 交易查询 -->
<!-- 查询消费记录 -->
<DynSentence name="QRY_SOMETRM_REC_TX">
<Sentence>
SELECT AC_DT,TX_DT,TX_TM,POS_BAT_NO,POS_JRN,POS_TRM, 'N' AS LP_ORD_STS,TX_AMT,FEE_AMT,
SUBSTR(SUB_AC,0,6)||'**********'||SUBSTR(SUB_AC,17,4) AS SUB_AC
FROM LPSTOFP
WHERE MERC_ID =? AND (? IS NULL OR POS_TRM = ?) AND PROC_RSL='00' AND LP_ORD_STS IN('N','R')
AND TX_DT BETWEEN ? AND ? AND CLR_STS='1'
UNION ALL
SELECT AC_DT,TX_DT,TX_TM,'' AS POS_BAT_NO,POS_JRN,POS_TRM,'R' AS LP_ORD_STS, 0-TX_AMT AS TX_AMT,
CASE RFD_FEE_PRC_MOD
WHEN '1' THEN 0
ELSE 0-FEE_AMT END AS FEE_AMT,
SUBSTR(SUB_AC,0,6)||'**********'||SUBSTR(SUB_AC,17,4) AS SUB_AC
FROM LPSTRVS
WHERE MERC_ID = ? AND (? IS NULL OR POS_TRM = ?) AND TX_DT BETWEEN ? AND ? AND BIL_STS='1'
AND RVS_FLG = 'R'
UNION ALL
SELECT AC_DT,TX_DT,TX_TM,POS_BAT_NO,POS_JRN,POS_TRM, 'A' AS LP_ORD_STS,TX_AMT,FEE_AMT,
SUBSTR(SUB_AC,0,6)||'**********'||SUBSTR(SUB_AC,17,4) AS SUB_AC
FROM LPSTOFP
WHERE MERC_ID =? AND (? IS NULL OR POS_TRM = ?) AND PROC_RSL='00' AND LP_ORD_STS ='A'
AND TX_DT BETWEEN ? AND ? AND CLR_STS='1'
ORDER BY AC_DT,TX_DT,TX_TM DESC
</Sentence>
<Fields>SUBMERC_ID|POS_TRM|POS_TRM|BEG_DT|END_DT|SUBMERC_ID|POS_TRM|POS_TRM|BEG_DT|END_DT|SUBMERC_ID|POS_TRM|POS_TRM|BEG_DT|END_DT|</Fields>
</DynSentence>
<!-- 统计 -->
<DynSentence name="QRY_SOMETRM_LPSTOFP_TX">
<Sentence>
SELECT SUM(TX_AMT) AS SUM_CSM_AMT,SUM(FEE_AMT) AS SUM_CSM_FEE
FROM LPSTOFP
WHERE MERC_ID =? AND (? IS NULL OR POS_TRM = ?) AND PROC_RSL='00' AND LP_ORD_STS IN('N','R','A')
AND TX_DT BETWEEN ? AND ? AND CLR_STS='1'
</Sentence>
<Fields>SUBMERC_ID|POS_TRM|POS_TRM|BEG_DT|END_DT|</Fields>
</DynSentence>
<DynSentence name="QRY_SOMETRM_LPSTRVS_TX">
<Sentence>
SELECT SUM(TX_AMT) AS SUM_RVS_AMT,
SUM(
CASE RFD_FEE_PRC_MOD
WHEN '1' THEN 0
ELSE FEE_AMT END
) AS SUM_RVS_FEE
FROM LPSTRVS
WHERE MERC_ID = ? AND (? IS NULL OR POS_TRM = ?) AND TX_DT BETWEEN ? AND ? AND BIL_STS='1'
AND RVS_FLG = 'R'
</Sentence>
<Fields>SUBMERC_ID|POS_TRM|POS_TRM|BEG_DT|END_DT|</Fields>
</DynSentence>
<FlowCtrl>
<!-- 并非 当前点击的是“详情” 且 上一步点击的也是“详情”或"全部详情" -->
<If condition="AND(IS_NOEQUAL_STRING(2,$IN_MODE),IS_NOEQUAL_STRING(4,$IN_MODE))">
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="LPS30091" />
<Arg name="MsgDat" value="连接非法"/>
</Exec>
<Return/>
</If>
<!-- 当前点击的是“详情” 且 上一步点击的也是“详情”或"全部详情" -->
<If condition="IS_EQUAL_STRING($DT_TYP,A)">
<Exec func="PUB:DBMultiQueryPage">
<Arg name="PageNo" value="$PAG_NO"/>
<Arg name="SqlCmd" value="QRY_SOMETRM_REC"/>
<Arg name="RecNumPerPage" value="$PAG_NUM"/>
</Exec>
<If condition="IS_EQUAL_STRING(~RetCod,0)">
<If condition="IS_EQUAL_STRING($PAG_CNT,$CURRENTPAGE)">
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_SOMETRM_LPSTOFP"/>
</Exec>
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_SOMETRM_LPSTRVS"/>
</Exec>
</If>
</If>
</If>
<ElseIf condition="IS_EQUAL_STRING($DT_TYP,T)">
<Exec func="PUB:DBMultiQueryPage">
<Arg name="PageNo" value="$PAG_NO"/>
<Arg name="SqlCmd" value="QRY_SOMETRM_REC_TX"/>
<Arg name="RecNumPerPage" value="$PAG_NUM"/>
</Exec>
<If condition="IS_EQUAL_STRING(~RetCod,0)">
<If condition="IS_EQUAL_STRING($PAG_CNT,$CURRENTPAGE)">
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_SOMETRM_LPSTOFP_TX"/>
</Exec>
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_SOMETRM_LPSTRVS_TX"/>
</Exec>
</If>
</If>
</ElseIf>
<If condition="ISNULL($SUM_CSM_AMT)">
<Set>SUM_CSM_AMT=0</Set>
</If>
<If condition="ISNULL($SUM_CSM_FEE)">
<Set>SUM_CSM_FEE=0</Set>
</If>
<If condition="ISNULL($SUM_RVS_FEE)">
<Set>SUM_RVS_FEE=0</Set>
</If>
<If condition="ISNULL($SUM_RVS_AMT)">
<Set>SUM_RVS_AMT=0</Set>
</If>
<!-- 统计数据 -->
<Set>~TOT_NUM=$TOT_REC_NUM</Set>
<Set>TOTAL_AMT=FSUB($SUM_CSM_AMT,$SUM_RVS_AMT,2)</Set>
<Set>TOTAL_FEE=FSUB($SUM_CSM_FEE,$SUM_RVS_FEE,2)</Set>
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="LPS00000" />
</Exec>
</FlowCtrl>
</Transaction>
</Application>