169 lines
6.9 KiB
XML
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<$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> |