161 lines
6.9 KiB
XML
161 lines
6.9 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<Tran>
|
|
<Transaction code="204030" log_switch="1" desc="代收代付交易清分总控">
|
|
<!--把流水中的记录导入到明细表中-->
|
|
<DynSentence name="TxnJnlInsStlDtl">
|
|
<Sentence>
|
|
INSERT INTO CAPSTLDTL(JRN_NO,TXN_CD,TXN_TYP,AC_DT,TXN_MOD,CORG_TXN_MOD,TXN_TM,BUS_TYP,MERC_ID,MERC_TYP,MERC_NAM,PAY_TYP
|
|
,ORD_TYP,ORD_DT,ORD_TM,ORD_DT_TM,CYC_CD,AC_TYP,AC_NO,CRD_NO,BNK_TYP,CRD_FLG,ISS_ORG_NO,TXN_AMT,REF_AMT,LBNK_NO,TAC_TYP
|
|
,TAC_NO,CORG_MERC_ID,CORG_NO,COP_BUS_TYP,CORG_NO_NM,ORG_NO,TTXN_CD,TACC_DT,TACC_TM,OTACC_DT,TSTL_DT,TSTL_CYC_CD,TSTL_AMT,TXN_STS,ORN_JRN_NO
|
|
,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
|
|
,CORG_FEE_CLR_FLG,CORG_FEE_CLR_DT,CORG_CLR_FLG,CORG_CLR_DT,CORG_FEE_MOD,CORG_FEE_CAL_MTH,CORG_FEE_DT,CORG_FEE_AMT,CORG_STL_AMT
|
|
,PRO_FEE,STL_STS,STL_DT,TM_SMP,RSV_FLD1,RSV_FLD2,RSV_FLD3)
|
|
|
|
SELECT JRN_NO,TXN_CD,TXN_TYP,AC_DT,TXN_MOD,CORG_TXN_MOD,TXN_TM,BUS_TYP,MERC_ID,MERC_TYP,MERC_NAM,PAY_TYP
|
|
,ORD_TYP,ORD_DT,ORD_TM,ORD_DT_TM,CYC_CD,AC_TYP,AC_NO,CRD_NO,BNK_TYP,CRD_FLG,ISS_ORG_NO,TXN_AMT,REF_AMT,LBNK_NO,TAC_TYP
|
|
,TAC_NO,CORG_MERC_ID,CORG_NO,COP_BUS_TYP,CORG_NO_NM,ORG_NO,TTXN_CD,TACC_DT,TACC_TM,OTACC_DT,TSTL_DT,TSTL_CYC_CD,TSTL_AMT,TXN_STS,ORN_JRN_NO
|
|
,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
|
|
,CORG_FEE_CLR_FLG,CORG_FEE_CLR_DT,CORG_CLR_FLG,CORG_CLR_DT,CORG_FEE_MOD,CORG_FEE_CAL_MTH,CORG_FEE_DT,CORG_FEE_AMT,CORG_STL_AMT
|
|
,PRO_FEE,STL_STS,STL_DT,TM_SMP,RSV_FLD1,RSV_FLD2,RSV_FLD3
|
|
FROM CAPTXNJNL
|
|
WHERE TXN_TYP='N'
|
|
AND (PAY_TYP='11' OR PAY_TYP='12')
|
|
AND (ORD_TYP='11' OR ORD_TYP='12')
|
|
AND BUS_TYP='CAP01'
|
|
AND (TXN_CD='204010' OR TXN_CD='204015' OR TXN_CD='204020')
|
|
AND TXN_STS='S'
|
|
AND ORD_DT=?
|
|
</Sentence>
|
|
<Fields>Txn_Dt|</Fields>
|
|
</DynSentence>
|
|
|
|
<!--查询代收代付总清算控制表-->
|
|
<DynSentence name="QryDayCtl">
|
|
<Sentence>
|
|
SELECT Clr_Sts
|
|
FROM CAPDAYCTL
|
|
WHERE PSys_Id=?
|
|
AND Wrk_Dt=?
|
|
</Sentence>
|
|
<Fields>PSys_Id|STL_DT|</Fields>
|
|
</DynSentence>
|
|
|
|
<!--更新清分控制表-->
|
|
<DynSentence name="UpdDayCtl">
|
|
<Sentence>
|
|
UPDATE CAPDAYCTL
|
|
SET Clr_Sts=?,
|
|
End_Tm=?,
|
|
MERC_CLR_STS=?,
|
|
ORG_CLR_STS=?
|
|
WHERE PSys_Id=?
|
|
AND Wrk_Dt=?
|
|
</Sentence>
|
|
<Fields>Clr_Sts|End_Tm|MERC_CLR_STS|ORG_CLR_STS|PSys_Id|STL_DT</Fields>
|
|
</DynSentence>
|
|
|
|
<FlowCtrl>
|
|
<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>
|
|
|
|
<Set>TXN_DT=$STL_DT</Set>
|
|
|
|
<!--判断该系统今天是否做过清分-->
|
|
<Exec func="PUB:ReadRecord" error="IGNORE">
|
|
<Arg name="SqlCmd" value="QryDayCtl"/>
|
|
</Exec>
|
|
<If condition="~RetCod=0">
|
|
<If condition="IS_EQUAL_STRING($Clr_Sts,3)">
|
|
<Set>Rsp_Cd=333333</Set>
|
|
<Set>Rsp_Msg=该系统清分已做</Set>
|
|
<Exec func="PUB:GWAAddMsg">
|
|
<!-- @msg 该系统清分已做-->
|
|
<Arg name="MsgCd" value="STL00000" />
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
<ElseIf condition="IS_EQUAL_STRING($Clr_Sts,1)">
|
|
<Set>Rsp_Cd=111111</Set>
|
|
<Set>Rsp_Msg=该系统清分正在处理</Set>
|
|
<Exec func="PUB:GWAAddMsg">
|
|
<Arg name="MsgCd" value="STL00000" />
|
|
</Exec>
|
|
<Return/>
|
|
</ElseIf>
|
|
</If>
|
|
<ElseIf condition="~RetCod!=2">
|
|
<Set>Rsp_Cd=222222</Set>
|
|
<Set>Rsp_Msg=查询数据库系统错误</Set>
|
|
<Return/>
|
|
</ElseIf>
|
|
<Else>
|
|
<!--插入清分控制表-->
|
|
<!--交易清算处理结果状态 -->
|
|
<!--0-预计 1-交易清算处理中,2-交易清算失败,3-交易清算成功-->
|
|
<Set>Clr_Sts=1</Set>
|
|
<Set>Wrk_Dt=$STL_DT</Set>
|
|
<Set>Str_Tm=GETDATETIME(HHMISS)</Set>
|
|
<Set>MERC_CLR_STS=0</Set>
|
|
<Set>ORG_CLR_STS=0</Set>
|
|
<Exec func="PUB:InsertRecord" error="IGNORE">
|
|
<Arg name="TblNam" value="CAPDAYCTL"/>
|
|
</Exec>
|
|
<If condition="~RetCod != 0">
|
|
<Set>Rsp_Cd=999999</Set>
|
|
<Set>Rsp_Msg=插入表CAPDAYCTL失败</Set>
|
|
<Return/>
|
|
</If>
|
|
<Else>
|
|
<Set>Rsp_Cd=000000</Set>
|
|
<Set>Rsp_Msg=插入表CAPDAYCTL成功</Set>
|
|
</Else>
|
|
</Else>
|
|
|
|
<Exec func="PUB:ExecSql" error="IGNORE">
|
|
<Arg name="SqlCmd" value="TxnJnlInsStlDtl"/>
|
|
</Exec>
|
|
<If condition="IS_EQUAL_STRING(~RetCod,2)">
|
|
<Set>Rsp_Cd=000000</Set>
|
|
<Set>Rsp_Msg=清分明细表无数据</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=增量插入清分明细表失败,且更新系统清分控制表失败</Set>
|
|
<Return/>
|
|
</If>
|
|
<Return/>
|
|
</ElseIf>
|
|
<Else>
|
|
<Set>Rsp_Cd=000000</Set>
|
|
<Set>Rsp_Msg=增量插入清分明细表成功</Set>
|
|
</Else>
|
|
<Exec func="PUB:GWAAddMsg">
|
|
<Arg name="MsgCd" value="STL00000" />
|
|
</Exec>
|
|
</FlowCtrl>
|
|
|
|
</Transaction>
|
|
|
|
</Tran>
|