明细对账单补偿机制
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<Tran>
|
||||
<Transaction code="BAT_REGETBILL_TIMER" log_switch='1' timeout="3600" desc="获取明细对账单定时发起">
|
||||
<Attributes>
|
||||
<Attribute name="nodatabase" value="2"/> <!--数据库长连接-->
|
||||
</Attributes>
|
||||
|
||||
<DynSentence name="QRY_CAPCMBHIJNL_LST">
|
||||
<Sentence>
|
||||
SELECT * FROM (
|
||||
SELECT ACC_NBR,TRS_DAT FROM CAPCMBHIJNL WHERE BIL_RPT_STS='1' AND TRS_DAT BETWEEN ? AND ? GROUP BY ACC_NBR,TRS_DAT)
|
||||
ORDER BY TRS_DAT,ACC_NBR
|
||||
</Sentence>
|
||||
<Fields>STR_CHECK_DATE|END_CHECK_DATE|</Fields>
|
||||
</DynSentence>
|
||||
<FlowCtrl>
|
||||
|
||||
<Quote name="Init_CAP01"/> <!--交易初始化-->
|
||||
<If condition="ISNULL($STR_TEMP)">
|
||||
<Set>STR_TEMP=90</Set>
|
||||
</If>
|
||||
<If condition="ISNULL($END_TEMP)">
|
||||
<Set>END_TEMP=7</Set>
|
||||
</If>
|
||||
<If condition="ISNULL($STR_CHECK_DATE)">
|
||||
<Set>STR_CHECK_DATE=CALCDATE(GETDATE(),-,d,$STR_TEMP)</Set>
|
||||
</If>
|
||||
<If condition="ISNULL($END_CHECK_DATE)">
|
||||
<Set>END_CHECK_DATE=CALCDATE(GETDATE(),-,d,$END_TEMP)</Set>
|
||||
</If>
|
||||
|
||||
<Exec func="PUB:OpenCursor" error="IGNORE">
|
||||
<Arg name="SqlCmd" value="QRY_CAPCMBHIJNL_LST"/>
|
||||
<Arg name="CursorName" value="CURSOR_1"/>
|
||||
</Exec>
|
||||
<If condition="~RetCod=-1">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=数据库错误</Set>
|
||||
<Return/>
|
||||
</If>
|
||||
<While>
|
||||
<Exec func="PUB:FetchCursor" error="IGNORE">
|
||||
<Arg name="CursorName" value="CURSOR_1"/>
|
||||
</Exec>
|
||||
<If condition="~RetCod=2">
|
||||
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
|
||||
<Arg name="CursorName" value="CURSOR_1"/>
|
||||
</Exec>
|
||||
<Break/>
|
||||
</If>
|
||||
<ElseIf condition="~RetCod!=0">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=循环游标失败</Set>
|
||||
<Return/>
|
||||
</ElseIf>
|
||||
<Set>TTXN_CD=REGET_CMBBILL</Set>
|
||||
|
||||
<Exec func="PUB:CallThirdService" error="IGNORE">
|
||||
<Arg name="HTxnCd" value="$TTXN_CD" />
|
||||
<Arg name="ObjSvr" value="OFRTCAP3" />
|
||||
<Arg name="In" value="ACC_NBR|TRS_DAT|" />
|
||||
</Exec>
|
||||
<If condition="~RetCod!=0">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=发送批次失败</Set>
|
||||
<Return/>
|
||||
</If>
|
||||
</While>
|
||||
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
|
||||
<Arg name="CursorName" value="CURSOR_1"/>
|
||||
</Exec>
|
||||
<Exec func="PUB:CommitWork"/>
|
||||
|
||||
<Set>Rsp_Cd=00</Set>
|
||||
<Set>Rsp_Msg=交易成功</Set>
|
||||
</FlowCtrl>
|
||||
</Transaction>
|
||||
</Tran>
|
||||
@@ -0,0 +1,80 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<Tran>
|
||||
<Transaction code="BAT_REQRYBILL_TIMER" log_switch='1' timeout="3600" desc="查询明细对账单定时发起">
|
||||
<Attributes>
|
||||
<Attribute name="nodatabase" value="2"/> <!--数据库长连接-->
|
||||
</Attributes>
|
||||
|
||||
<DynSentence name="QRY_CAPCMBJNLTOT_LST">
|
||||
<Sentence>
|
||||
SELECT A.ACC_NBR,A.TRS_DAT,B.ACCT_TYPE TAC_TYP
|
||||
FROM CAPCMBHIJNL A ,CAPRECEIPTACCT B
|
||||
WHERE A.ACC_NBR=B.ACCT_NO AND B.BANK_CODE='CMB'
|
||||
AND A.TRS_DAT BETWEEN ? AND ? AND A.BIL_RPT_STS='0' AND A.YUR_REF!=' ' AND A.TRS_COD IN ('AGPY','AGOT','AGSH')
|
||||
GROUP BY A.ACC_NBR,A.TRS_DAT ,B.ACCT_TYPE
|
||||
</Sentence>
|
||||
<Fields>STR_CHECK_DATE|END_CHECK_DATE|</Fields>
|
||||
</DynSentence>
|
||||
<FlowCtrl>
|
||||
|
||||
<Quote name="Init_CAP01"/> <!--交易初始化-->
|
||||
|
||||
<If condition="ISNULL($STR_TEMP)">
|
||||
<Set>STR_TEMP=90</Set>
|
||||
</If>
|
||||
<If condition="ISNULL($END_TEMP)">
|
||||
<Set>END_TEMP=7</Set>
|
||||
</If>
|
||||
<If condition="ISNULL($STR_CHECK_DATE)">
|
||||
<Set>STR_CHECK_DATE=CALCDATE(GETDATE(),-,d,$STR_TEMP)</Set>
|
||||
</If>
|
||||
<If condition="ISNULL($END_CHECK_DATE)">
|
||||
<Set>END_CHECK_DATE=CALCDATE(GETDATE(),-,d,$END_TEMP)</Set>
|
||||
</If>
|
||||
|
||||
<Exec func="PUB:OpenCursor" error="IGNORE">
|
||||
<Arg name="SqlCmd" value="QRY_CAPCMBJNLTOT_LST"/>
|
||||
<Arg name="CursorName" value="CURSOR_1"/>
|
||||
</Exec>
|
||||
<If condition="~RetCod=-1">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=数据库错误</Set>
|
||||
<Return/>
|
||||
</If>
|
||||
<While>
|
||||
<Exec func="PUB:FetchCursor" error="IGNORE">
|
||||
<Arg name="CursorName" value="CURSOR_1"/>
|
||||
</Exec>
|
||||
<If condition="~RetCod=2">
|
||||
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
|
||||
<Arg name="CursorName" value="CURSOR_1"/>
|
||||
</Exec>
|
||||
<Break/>
|
||||
</If>
|
||||
<ElseIf condition="~RetCod!=0">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=循环游标失败</Set>
|
||||
<Return/>
|
||||
</ElseIf>
|
||||
<Set>TTXN_CD=QRY_CMBBILL</Set>
|
||||
<Exec func="PUB:CallThirdService" error="IGNORE">
|
||||
<Arg name="HTxnCd" value="$TTXN_CD" />
|
||||
<Arg name="ObjSvr" value="OFRTCAP3" />
|
||||
<Arg name="In" value="ACC_NBR|TRS_DAT|TAC_TYP|" />
|
||||
</Exec>
|
||||
<If condition="~RetCod!=0">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=发送批次失败</Set>
|
||||
<Return/>
|
||||
</If>
|
||||
</While>
|
||||
<Exec func="PUB:CloseCursor" error="IGNORE"> <!-- 关闭游标 -->
|
||||
<Arg name="CursorName" value="CURSOR_1"/>
|
||||
</Exec>
|
||||
<Exec func="PUB:CommitWork"/>
|
||||
|
||||
<Set>Rsp_Cd=00</Set>
|
||||
<Set>Rsp_Msg=交易成功</Set>
|
||||
</FlowCtrl>
|
||||
</Transaction>
|
||||
</Tran>
|
||||
@@ -0,0 +1,46 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<Tran>
|
||||
<Transaction code="BAT_REUPDBILL_TIMER" log_switch='1' desc="对获取明细对账单失败的流水更新状态">
|
||||
|
||||
<DynSentence name="UPD_RECAPCMBHIJNL_BILSTS">
|
||||
<Sentence>
|
||||
UPDATE CAPCMBHIJNL SET BIL_RPT_STS='0' WHERE BIL_RPT_STS='1'
|
||||
AND TRS_DAT BETWEEN ? AND ? AND BIL_SND_DT <= ?
|
||||
</Sentence>
|
||||
<Fields>STR_CHECK_DATE|END_CHECK_DATE|END_CHECK_DATE|</Fields>
|
||||
</DynSentence>
|
||||
<FlowCtrl>
|
||||
|
||||
<Quote name="Init_CAP01"/> <!--交易初始化-->
|
||||
|
||||
<If condition="ISNULL($STR_TEMP)">
|
||||
<Set>STR_TEMP=90</Set>
|
||||
</If>
|
||||
<If condition="ISNULL($END_TEMP)">
|
||||
<Set>END_TEMP=7</Set>
|
||||
</If>
|
||||
<If condition="ISNULL($STR_CHECK_DATE)">
|
||||
<Set>STR_CHECK_DATE=CALCDATE(GETDATE(),-,d,$STR_TEMP)</Set>
|
||||
</If>
|
||||
<If condition="ISNULL($END_CHECK_DATE)">
|
||||
<Set>END_CHECK_DATE=CALCDATE(GETDATE(),-,d,$END_TEMP)</Set>
|
||||
</If>
|
||||
|
||||
|
||||
|
||||
<Exec func="PUB:ExecSql" error="IGNORE">
|
||||
<Arg name="SqlCmd" value="UPD_RECAPCMBHIJNL_BILSTS"/>
|
||||
</Exec>
|
||||
<If condition="~RetCod=-1">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=更新状态失败</Set>
|
||||
<Return/>
|
||||
</If>
|
||||
|
||||
<Exec func="PUB:CommitWork"/>
|
||||
|
||||
<Set>Rsp_Cd=00</Set>
|
||||
<Set>Rsp_Msg=交易成功</Set>
|
||||
</FlowCtrl>
|
||||
</Transaction>
|
||||
</Tran>
|
||||
@@ -61,4 +61,7 @@
|
||||
<Include file="etc/batch/BAT_ULDRECEIPTORI_TIMER_CTL.XML"/> <!--电子回单原始文件上传发起 -->
|
||||
<Include file="etc/batch/BAT_ICBCDOWNLOAD_TIMER_CTL.XML"/> <!--工行电子回单补发获取-->
|
||||
|
||||
<Include file="etc/batch/BAT_REUPDBILL_TIMER_CTL.XML"/> <!--更新招行明细对账单获取失败的交易流水状态 -->
|
||||
<Include file="etc/batch/BAT_REQRYBILL_TIMER_CTL.XML"/> <!--重新申请招行明细对账单 -->
|
||||
<Include file="etc/batch/BAT_REGETBILL_TIMER_CTL.XML"/> <!--重新获取招行明细对账单-->
|
||||
</Application>
|
||||
|
||||
Reference in New Issue
Block a user