Files
ctg-app-ui/urm/etc/pkg/CAN_CON_AGREEMENT.XML
2021-01-12 22:04:24 +08:00

169 lines
6.9 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<Package>
<Function name="CAN_CON_AGREEMENT">
<Input>INP_DAT</Input>
<Output>OUT_DAT|MSG_CD</Output>
<!--检查该用户协议状态-->
<DynSentence name="QRY_URMTAGRI">
<Sentence>
SELECT AGR_STS FROM URMTAGRI
WHERE AGR_TYP=?
AND AGR_NO=?
</Sentence>
<Fields>INP_DAT.AGR_TYP|INP_DAT.AGR_NO</Fields>
</DynSentence>
<!-- 更改用户协议信息为取消状态 -->
<DynSentence name="UPD_URMTAGRI_CAN">
<Sentence>
UPDATE URMTAGRI
SET %s AGR_STS=?,CAN_DT=?,UPD_JRN=?
WHERE AGR_TYP=?
AND AGR_NO=?
</Sentence>
<Fields>CAN_ADDR|AGR_STS|GWA.TX_DT|GWA.JRN_NO|INP_DAT.AGR_TYP|INP_DAT.AGR_NO|</Fields>
</DynSentence>
<!-- 更改用户协议信息为正常状态-->
<DynSentence name="UPD_URMTAGRI_CON">
<Sentence>
UPDATE URMTAGRI
SET AGR_STS=?,UPD_JRN=?
WHERE AGR_TYP=?
AND AGR_NO=?
</Sentence>
<Fields>AGR_STS|GWA.JRN_NO|INP_DAT.AGR_TYP|INP_DAT.AGR_NO</Fields>
</DynSentence>
<Process>
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="URM00000"/>
</Exec>
<!-- 判断用户是否存在组件
<Set>INP_DAT.MBLNO_OR_LOGID=$INP_DAT.AGR_MBL</Set>
<Call package="URM" function="CHK_USER_EXIST">
<Input>INP_DAT</Input>
<Output>OUT_DAT|MSG_CD</Output>
</Call>
<If condition="IS_SUCC(@O.MSG_CD)=0">
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="@O.MSG_CD"/>
</Exec>
<Return/>
</If>
-->
<!-- 调用公共代码查询组件 -->
<Set>QRPC_INP.PUB_CD_TYP=AGRDF</Set> <!-- 代码类型 -->
<Set>QRPC_INP.PUB_CD_VAL=$INP_DAT.AGR_TYP</Set> <!-- 代码值 -->
<Exec func="CMM:QueryPublicCode">
<Arg name="_I_INP_DAT" value="QRPC_INP"/> <!-- 输入信息 -->
<Arg name="_O_OUT_DAT" value="QRPC_OUT"/> <!-- 输出信息 -->
</Exec>
<If condition="IS_SUCC(@O.MSG_CD)=0">
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="@O.MSG_CD"/>
</Exec>
<Return/>
</If>
<!-- 取用户协议状态信息 -->
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_URMTAGRI"/>
</Exec>
<If condition="~RetCod=2"> <!--记录未找到-->
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="URM20169"/>
</Exec>
<Return/>
</If>
<!--用户协议确认-->
<If condition="IS_EQUAL_STRING($INP_DAT.FUNC,2)">
<!--检查该用户协议状态是否为录入后待处理-->
<If condition="$AGR_STS=1">
<!--根据协议种类和协议号更新协议状态-->
<If condition="$INP_DAT.EFF_DT&lt;$GWA.TX_DT">
<Set>AGR_STS=2</Set>
</If>
<Else>
<Set>AGR_STS=3</Set>
</Else>
<Exec func="PUB:ExecSql" >
<Arg name="SqlCmd" value="UPD_URMTAGRI_CON"/>
</Exec>
<If condition="~RetCod=2">
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="URM20003"/> <!-- 更新数据库时,数据不存在 -->
</Exec>
<Return/>
</If>
</If>
<Else>
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="URM20166"/> <!--该协议状态非录入后待处理-->
</Exec>
<Return/>
</Else>
<!--登记用户信息变动明细表-->
<!--登记用户操作日志-->
</If>
<!--用户协议解约-->
<If condition="IS_EQUAL_STRING($INP_DAT.FUNC,1)">
<!--检查用户协议状态-->
<If condition="$AGR_STS=5">
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="URM20167"/> <!--该协议状态为已解约-->
</Exec>
<Return/>
</If>
<ElseIf condition="$AGR_STS=4">
<If condition="$AGR_STS=5">
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="URM20180"/> <!--该协议状态为已失效-->
</Exec>
<Return/>
</If>
</ElseIf>
<Else>
<!--更新协议状态为取消-->
<Set>AGR_STS=5</Set>
<Set>CAN_ADDR=</Set>
<If condition="ISNULL($INP_DAT.CAN_PROV)=0">
<Set>CAN_ADDR=STRCAT($CAN_ADDR,CAN_PROV=,$INP_DAT.CAN_PROV,CHAR(44))</Set>
</If>
<If condition="ISNULL($INP_DAT.CAN_CITY)=0">
<Set>CAN_ADDR=STRCAT($CAN_ADDR,CAN_CITY=,$INP_DAT.CAN_CITY,CHAR(44))</Set>
</If>
<If condition="ISNULL($INP_DAT.CAN_DEPT)=0">
<Set>CAN_ADDR=STRCAT($CAN_ADDR,CAN_DEPT=,$INP_DAT.CAN_DEPT,CHAR(44))</Set>
</If>
<Exec func="PUB:ExecSql" >
<Arg name="SqlCmd" value="UPD_URMTAGRI_CAN"/>
</Exec>
<If condition="~RetCod=2">
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="URM20003"/> <!-- 更新数据库时,数据不存在 -->
</Exec>
<Return/>
</If>
</Else>
<!--更新解约机构信息-->
<!--登记用户非收支重要操作明细-->
</If>
</Process>
</Function>
</Package>