299 lines
13 KiB
XML
299 lines
13 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<Tran>
|
|
<Transaction code="204033" log_switch="1" desc="代收代付每日交易机构清算汇总">
|
|
<!--查询代收代付总清算控制表-->
|
|
<DynSentence name="QRY_CAPDAYCTL">
|
|
<Sentence>
|
|
SELECT CLR_STS,
|
|
MERC_CLR_STS,
|
|
ORG_CLR_STS
|
|
FROM CAPDAYCTL
|
|
WHERE PSys_Id=?
|
|
AND Wrk_Dt=?
|
|
</Sentence>
|
|
<Fields>PSys_Id|STL_DT|</Fields>
|
|
</DynSentence>
|
|
|
|
<!--根据清算日期查询代收代付商户手续费表CAPSTLFEE-->
|
|
<DynSentence name="QRY_MERC_SUM_FEE">
|
|
<Sentence>
|
|
SELECT NVL(SUM(TO_MERC_FEE_AMT),0) TMP_MERC_FEE_AMT
|
|
FROM CAPSTLFEE
|
|
WHERE FEE_STL_DT=? AND ORD_TYP=?
|
|
</Sentence>
|
|
<Fields>STL_DT|ORD_TYP|</Fields>
|
|
</DynSentence>
|
|
|
|
<!--根据清算日期查询代收代付机构手续费表CAPAGTFEE-->
|
|
<DynSentence name="QRY_CORG_SUM_FEE">
|
|
<Sentence>
|
|
SELECT NVL(SUM(TO_CORG_FEE_AMT),0) TMP_CORG_FEE_AMT
|
|
FROM CAPAGTFEE
|
|
WHERE FEE_STL_DT=? AND ORD_TYP=?
|
|
</Sentence>
|
|
<Fields>STL_DT|ORD_TYP|</Fields>
|
|
</DynSentence>
|
|
|
|
<!--更新清分控制表-->
|
|
<DynSentence name="UpdDayCtl">
|
|
<Sentence>
|
|
UPDATE CAPDAYCTL
|
|
SET Clr_Sts=?,
|
|
End_Tm=?
|
|
WHERE PSys_Id=?
|
|
AND Wrk_Dt=?
|
|
</Sentence>
|
|
<Fields>Clr_Sts|End_Tm|PSys_Id|STL_DT</Fields>
|
|
</DynSentence>
|
|
<FlowCtrl>
|
|
<!--交易初始化-->
|
|
<!--Quote name="Init_Merc"/-->
|
|
<Set>AC_DT=$GWA.AC_DT</Set>
|
|
|
|
<Exec func="PUB:IsExistNode" error="IGNORE">
|
|
<Arg name="FieldName" value="STL_DT"/>
|
|
</Exec>
|
|
<!--存在-->
|
|
<If condition="~RetCod=1">
|
|
<Set>STL_DT=$STL_DT</Set>
|
|
</If>
|
|
<Else>
|
|
<Set>STL_DT=$AC_DT</Set>
|
|
</Else>
|
|
|
|
<!--判断是否日切成功-->
|
|
<!--If condition="IS_NOEQUAL_STRING($STL_DT,$Ac_Dt)">
|
|
<Set>Rsp_Cd=31</Set>
|
|
<Set>Rsp_Msg=系统未日切,不允许日切</Set>
|
|
<Return/>
|
|
</If-->
|
|
|
|
<!--判断该系统今天是否做过清算-->
|
|
<Exec func="PUB:ReadRecord" error="IGNORE">
|
|
<Arg name="SqlCmd" value="QRY_CAPDAYCTL"/>
|
|
</Exec>
|
|
<If condition="~RetCod=2">
|
|
<Set>Rsp_Cd=222222</Set>
|
|
<Set>Rsp_Msg=代收代付总清算控制表无记录</Set>
|
|
<Exec func="PUB:GWAAddMsg">
|
|
<Arg name="MsgCd" value="STL00000" />
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
<ElseIf condition="~RetCod!=0">
|
|
<Set>Rsp_Cd=999999</Set>
|
|
<Set>Rsp_Msg=查询数据库系统错误</Set>
|
|
<Return/>
|
|
</ElseIf>
|
|
<Else>
|
|
<!--CLR_STS: 交易清算处理结果状态(0-预计 1-交易清算处理中,2-交易清算失败,3-交易清算成功)-->
|
|
<If condition="IS_EQUAL_STRING($CLR_STS,2)">
|
|
<Set>Rsp_Cd=222222</Set>
|
|
<Set>Rsp_Msg=交易清算不成功,不允许做该交易</Set>
|
|
<Exec func="PUB:GWAAddMsg">
|
|
<Arg name="MsgCd" value="STL00000" />
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
<!--CLR_STS: 交易清算处理结果状态(0-预计 1-交易清算处理中,2-交易清算失败,3-交易清算成功)-->
|
|
<ElseIf condition="IS_EQUAL_STRING($CLR_STS,3)">
|
|
<Set>Rsp_Cd=222222</Set>
|
|
<Set>Rsp_Msg=交易清算已经成功了,不允许做该交易</Set>
|
|
<Exec func="PUB:GWAAddMsg">
|
|
<Arg name="MsgCd" value="STL00000" />
|
|
</Exec>
|
|
<Return/>
|
|
</ElseIf>
|
|
<!--MERC_CLR_STS: 商户清算处理结果状态(0-预计 1-商户清算处理中,2-商户清算失败,3-商户清算成功)-->
|
|
<If condition="IS_NOEQUAL_STRING($MERC_CLR_STS,3)">
|
|
<Set>Rsp_Cd=333333</Set>
|
|
<Set>Rsp_Msg=商户清算未做或失败,不允许做该交易</Set>
|
|
<Exec func="PUB:GWAAddMsg">
|
|
<Arg name="MsgCd" value="STL00000" />
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
<!--ORG_CLR_STS: 机构清算处理结果状态(0-预计 1-机构清算处理中,2-机构清算失败,3-机构清算成功)-->
|
|
<If condition="IS_NOEQUAL_STRING($ORG_CLR_STS,3)">
|
|
<Set>Rsp_Cd=333333</Set>
|
|
<Set>Rsp_Msg=机构清算未做或失败,不允许做该交易</Set>
|
|
<Exec func="PUB:GWAAddMsg">
|
|
<Arg name="MsgCd" value="STL00000" />
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
</Else>
|
|
|
|
<!-- 计算代收手续费开始 -->
|
|
<Set>ORD_TYP=11</Set>
|
|
<!--根据清算日期查询代收代付商户手续费表CAPSTLFEE-->
|
|
<Exec func="PUB:ReadRecord" error="IGNORE">
|
|
<Arg name="SqlCmd" value="QRY_MERC_SUM_FEE"/>
|
|
</Exec>
|
|
<If condition="~RetCod=2">
|
|
<Set>Rsp_Cd=222222</Set>
|
|
<Set>Rsp_Msg=代收代付商户手续费表CAPSTLFEE无记录</Set>
|
|
</If>
|
|
<ElseIf condition="~RetCod!=0">
|
|
<Set>Rsp_Cd=999999</Set>
|
|
<Set>Rsp_Msg=查询数据库系统错误</Set>
|
|
<!--更新系统清分控制表-->
|
|
<!--0-预计 1-交易清算处理中,2-交易清算失败,3-交易清算成功-->
|
|
<Set>Clr_Sts=2</Set>
|
|
<Set>End_Tm=GETDATETIME(HHMISS)</Set>
|
|
<!--更新系统清分控制表-->
|
|
<Exec func="PUB:ExecSql" error="IGNORE">
|
|
<Arg name="SqlCmd" value="UpdDayCtl"/>
|
|
</Exec>
|
|
<If condition="~RetCod != 0">
|
|
<Set>Rsp_Cd=999999</Set>
|
|
<Set>Rsp_Msg=查询代收代付商户手续费表CAPSTLFEE失败,且更新系统清分控制表失败</Set>
|
|
<Return/>
|
|
</If>
|
|
<Return/>
|
|
</ElseIf>
|
|
<Set>TO_REC_MERC_FEE_AMT=$TMP_MERC_FEE_AMT</Set> <!--所有代收商户代收手续费-->
|
|
|
|
<!--根据清算日期查询代收代付机构手续费表CAPAGTFEE-->
|
|
<Exec func="PUB:ReadRecord" error="IGNORE">
|
|
<Arg name="SqlCmd" value="QRY_CORG_SUM_FEE"/>
|
|
</Exec>
|
|
<If condition="~RetCod=2">
|
|
<Set>Rsp_Cd=222222</Set>
|
|
<Set>Rsp_Msg=代收代付机构手续费表CAPAGTFEE无记录</Set>
|
|
</If>
|
|
<ElseIf condition="~RetCod!=0">
|
|
<Set>Rsp_Cd=999999</Set>
|
|
<Set>Rsp_Msg=查询数据库系统错误</Set>
|
|
<!--更新系统清分控制表-->
|
|
<!--0-预计 1-交易清算处理中,2-交易清算失败,3-交易清算成功-->
|
|
<Set>Clr_Sts=2</Set>
|
|
<Set>End_Tm=GETDATETIME(HHMISS)</Set>
|
|
<!--更新系统清分控制表-->
|
|
<Exec func="PUB:ExecSql" error="IGNORE">
|
|
<Arg name="SqlCmd" value="UpdDayCtl"/>
|
|
</Exec>
|
|
<If condition="~RetCod != 0">
|
|
<Set>Rsp_Cd=999999</Set>
|
|
<Set>Rsp_Msg=查询代收代付机构手续费表CAPAGTFEE失败,且更新系统清分控制表失败</Set>
|
|
<Return/>
|
|
</If>
|
|
<Return/>
|
|
</ElseIf>
|
|
<Set>TO_REC_CORG_FEE_AMT=$TMP_CORG_FEE_AMT</Set> <!--所有代收机构代收手续费-->
|
|
<!-- 计算代收手续费结束 -->
|
|
|
|
<!-- 计算代付手续费开始 -->
|
|
<Set>ORD_TYP=12</Set>
|
|
<!--根据清算日期查询代收代付商户手续费表CAPSTLFEE-->
|
|
<Exec func="PUB:ReadRecord" error="IGNORE">
|
|
<Arg name="SqlCmd" value="QRY_MERC_SUM_FEE"/>
|
|
</Exec>
|
|
<If condition="~RetCod=2">
|
|
<Set>Rsp_Cd=222222</Set>
|
|
<Set>Rsp_Msg=代收代付商户手续费表CAPSTLFEE无记录</Set>
|
|
</If>
|
|
<ElseIf condition="~RetCod!=0">
|
|
<Set>Rsp_Cd=999999</Set>
|
|
<Set>Rsp_Msg=查询数据库系统错误</Set>
|
|
<!--更新系统清分控制表-->
|
|
<!--0-预计 1-交易清算处理中,2-交易清算失败,3-交易清算成功-->
|
|
<Set>Clr_Sts=2</Set>
|
|
<Set>End_Tm=GETDATETIME(HHMISS)</Set>
|
|
<!--更新系统清分控制表-->
|
|
<Exec func="PUB:ExecSql" error="IGNORE">
|
|
<Arg name="SqlCmd" value="UpdDayCtl"/>
|
|
</Exec>
|
|
<If condition="~RetCod != 0">
|
|
<Set>Rsp_Cd=999999</Set>
|
|
<Set>Rsp_Msg=查询代收代付商户手续费表CAPSTLFEE失败,且更新系统清分控制表失败</Set>
|
|
<Return/>
|
|
</If>
|
|
<Return/>
|
|
</ElseIf>
|
|
<Set>TO_PAY_MERC_FEE_AMT=$TMP_MERC_FEE_AMT</Set> <!--所有代付商户代收手续费-->
|
|
|
|
<!--根据清算日期查询代收代付机构手续费表CAPAGTFEE-->
|
|
<Exec func="PUB:ReadRecord" error="IGNORE">
|
|
<Arg name="SqlCmd" value="QRY_CORG_SUM_FEE"/>
|
|
</Exec>
|
|
<If condition="~RetCod=2">
|
|
<Set>Rsp_Cd=222222</Set>
|
|
<Set>Rsp_Msg=代收代付机构手续费表CAPAGTFEE无记录</Set>
|
|
</If>
|
|
<ElseIf condition="~RetCod!=0">
|
|
<Set>Rsp_Cd=999999</Set>
|
|
<Set>Rsp_Msg=查询数据库系统错误</Set>
|
|
<!--更新系统清分控制表-->
|
|
<!--0-预计 1-交易清算处理中,2-交易清算失败,3-交易清算成功-->
|
|
<Set>Clr_Sts=2</Set>
|
|
<Set>End_Tm=GETDATETIME(HHMISS)</Set>
|
|
<!--更新系统清分控制表-->
|
|
<Exec func="PUB:ExecSql" error="IGNORE">
|
|
<Arg name="SqlCmd" value="UpdDayCtl"/>
|
|
</Exec>
|
|
<If condition="~RetCod != 0">
|
|
<Set>Rsp_Cd=999999</Set>
|
|
<Set>Rsp_Msg=查询代收代付机构手续费表CAPAGTFEE失败,且更新系统清分控制表失败</Set>
|
|
<Return/>
|
|
</If>
|
|
<Return/>
|
|
</ElseIf>
|
|
<Set>TO_PAY_CORG_FEE_AMT=$TMP_CORG_FEE_AMT</Set> <!--所有代付机构代收手续费-->
|
|
<!-- 计算代付手续费结束 -->
|
|
|
|
<Set>TO_ALL_MERC_FEE_AMT=FADD($TO_REC_MERC_FEE_AMT,$TO_PAY_MERC_FEE_AMT,2)</Set> <!--商户手续费合计-->
|
|
<Set>TO_ALL_CORG_FEE_AMT=FADD($TO_REC_CORG_FEE_AMT,$TO_PAY_CORG_FEE_AMT,2)</Set> <!--机构手续费合计-->
|
|
|
|
<Set>TO_REC_DAY_PROFIT=FSUB($TO_REC_MERC_FEE_AMT,$TO_REC_CORG_FEE_AMT,2)</Set>
|
|
<Set>TO_PAY_DAY_PROFIT=FSUB($TO_PAY_MERC_FEE_AMT,$TO_PAY_CORG_FEE_AMT,2)</Set>
|
|
<Set>TO_DAY_PROFIT=FADD($TO_REC_DAY_PROFIT,$TO_PAY_DAY_PROFIT,2)</Set>
|
|
|
|
<!--代收代付日利润表-->
|
|
<Exec func="PUB:InsertRecord" error="IGNORE">
|
|
<Arg name="TblNam" value="CAPDAYPROFIT"/>
|
|
</Exec>
|
|
<If condition="~RetCod=-1">
|
|
<Set>Rsp_Cd=999999</Set>
|
|
<Set>Rsp_Msg=插入代收代付日利润表CAPDAYPROFIT表失败</Set>
|
|
<!--更新系统清分控制表-->
|
|
<!--0-预计 1-交易清算处理中,2-交易清算失败,3-交易清算成功-->
|
|
<Set>Clr_Sts=2</Set>
|
|
<Set>End_Tm=GETDATETIME(HHMISS)</Set>
|
|
<!--更新系统清分控制表-->
|
|
<Exec func="PUB:ExecSql" error="IGNORE">
|
|
<Arg name="SqlCmd" value="UpdDayCtl"/>
|
|
</Exec>
|
|
<If condition="~RetCod != 0">
|
|
<Set>Rsp_Cd=999999</Set>
|
|
<Set>Rsp_Msg=插入代收代付日利润表CAPDAYPROFIT表失败,且更新系统清分控制表失败</Set>
|
|
<Return/>
|
|
</If>
|
|
<Return/>
|
|
</If>
|
|
|
|
<!--更新系统清分控制表-->
|
|
<!--0-预计 1-交易清算处理中,2-交易清算失败,3-交易清算成功-->
|
|
<Set>Clr_Sts=3</Set>
|
|
<Set>End_Tm=GETDATETIME(HHMISS)</Set>
|
|
<!--更新系统清分控制表-->
|
|
<Exec func="PUB:ExecSql" error="IGNORE">
|
|
<Arg name="SqlCmd" value="UpdDayCtl"/>
|
|
</Exec>
|
|
<If condition="~RetCod != 0">
|
|
<Set>Rsp_Cd=999999</Set>
|
|
<Set>Rsp_Msg=插入代收代付日利润表CAPDAYPROFIT表失败,且更新系统清分控制表失败</Set>
|
|
<Return/>
|
|
</If>
|
|
<Else>
|
|
<Set>Rsp_Cd=000000</Set>
|
|
<Set>Rsp_Msg=更新系统清分控制表</Set>
|
|
<Exec func="PUB:CommitWork"/> <!--提交事物-->
|
|
</Else>
|
|
<Exec func="PUB:GWAAddMsg">
|
|
<Arg name="MsgCd" value="STL00000" />
|
|
</Exec>
|
|
</FlowCtrl>
|
|
</Transaction>
|
|
</Tran>
|