143 lines
4.9 KiB
XML
143 lines
4.9 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<Application name="lps" trace="yes">
|
|
|
|
<!--营业厅补卡-->
|
|
<Transaction code="2132010" log_switch="1">
|
|
|
|
<!-- 查询卡片基本信息 -->
|
|
<DynSentence name="QRY_LPSTCRD_CRDSTSW">
|
|
<Sentence>
|
|
SELECT CRD_STSW,SUB_AC,MAIN_AC,CRD_TYP ,USR_NO
|
|
FROM LPSTCRD
|
|
WHERE MBL_NO=? AND CRD_STS!='2'
|
|
FOR UPDATE
|
|
</Sentence>
|
|
<Fields>MBL_NO|</Fields>
|
|
</DynSentence>
|
|
|
|
<FlowCtrl>
|
|
<!-- 初始化BOSS返回值 -->
|
|
<Set>RSP_TYP=0</Set>
|
|
<Set>RSP_COD=0000</Set>
|
|
<If condition="IS_EQUAL_STRING($RTE_TYP,00)">
|
|
<Set>RTE_VAL=999</Set>
|
|
</If>
|
|
<Set>LAND_AP_DOM=MPAY</Set>
|
|
<Set>ORG_AP_DOM=BOSS</Set>
|
|
<Set>BR_NO=999999</Set>
|
|
<Exec func="PUB:GetUniqueNo">
|
|
<Arg name="Name" value="SEL_VAL"/>
|
|
<Arg name="Len" value="10"/>
|
|
</Exec>
|
|
<Set>SEL_VAL=ADDCHAR($SEL_VAL,16,0,1)</Set>
|
|
<Set>PRO_TIM=GETDATETIME()</Set>
|
|
<Set>LAND_JRN=STRCAT($PRO_TIM,$SEL_VAL)</Set>
|
|
<Set>PRO_RSL=00</Set>
|
|
<Set>RSP_MSG=交易成功</Set>
|
|
|
|
<!-- 判断BOSS上送的新旧IMSI -->
|
|
<If condition="IS_EQUAL_STRING($OLD_MSI,$NEW_MSI)">
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS20066"/>
|
|
<Arg name="MsgDat" value="新旧IMSI相等,补卡失败"/>
|
|
</Exec>
|
|
<Set>RSP_TYP=2</Set>
|
|
<Set>RSP_COD=2998</Set>
|
|
<Set>RSP_MSG=新旧IMSI值重复</Set>
|
|
<Set>PRO_RSL=02</Set>
|
|
<Return/>
|
|
</If>
|
|
|
|
<!--检查钱包状态-->
|
|
<Exec func="PUB:ReadRecord" error="IGNORE">
|
|
<Arg name="SqlCmd" value="QRY_LPSTCRD_CRDSTSW"/>
|
|
</Exec>
|
|
<If condition="~RetCod=2">
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS00000"/>
|
|
<Arg name="MsgDat" value="用户未开通手机钱包"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
<ElseIf condition="~RetCod!=0">
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS00001"/>
|
|
<Arg name="MsgDat" value="数据库操作出错"/>
|
|
</Exec>
|
|
<Set>RSP_TYP=2</Set>
|
|
<Set>RSP_COD=2998</Set>
|
|
<Set>RSP_MSG=系统错误</Set>
|
|
<Set>PRO_RSL=99</Set>
|
|
<Return/>
|
|
</ElseIf>
|
|
|
|
<!-- 将卡片第三位置为1表示为补卡 -->
|
|
<Set>CRD_STSW=STRCAT(SUBSTR($CRD_STSW,1,2),1,SUBSTR($CRD_STSW,4,29))</Set>
|
|
<!-- 调用组件子账户销户 -->
|
|
<Call package="LPS_PUB" function="CancelOldSubAccount">
|
|
<Input>GWA|SUB_AC|CRD_STSW|</Input>
|
|
<Output>MSG_CD|</Output>
|
|
</Call>
|
|
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
|
</Exec>
|
|
<Set>RSP_TYP=2</Set>
|
|
<Set>RSP_COD=2998</Set>
|
|
<Set>RSP_MSG=补卡失败</Set>
|
|
<Set>PRO_RSL=99</Set>
|
|
<Return/>
|
|
</If>
|
|
|
|
<!-- 登记余额信息处理表 -->
|
|
<Set>TX_TYP=L</Set> <!-- 补卡 -->
|
|
<Set>PROC_MOD=0</Set>
|
|
<Set>PROC_RSL=U</Set> <!-- 未处理 -->
|
|
<Set>HLD_NO=XXXX</Set> <!-- 无冻结编号 -->
|
|
<Set>REG_DT=$GWA.TX_DT</Set>
|
|
<Set>REG_TM=$GWA.TX_TM</Set>
|
|
|
|
<Exec func="PUB:InsertRecord" error="IGNORE">
|
|
<Arg name="TblNam" value="LPSTBAL"/>
|
|
</Exec>
|
|
<If condition="~RetCod!=0">
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS20071"/>
|
|
<Arg name="MsgDat" value="登记余额信息处理表失败"/>
|
|
</Exec>
|
|
<Set>RSP_TYP=2</Set>
|
|
<Set>RSP_COD=2998</Set>
|
|
<Set>RSP_MSG=补卡失败</Set>
|
|
<Set>PRO_RSL=99</Set>
|
|
<Return/>
|
|
</If>
|
|
|
|
|
|
<!--调用用户更新IMSI -->
|
|
<Set>INP_DAT.USR_NO=$USR_NO</Set>
|
|
<Set>INP_DAT.NEW_USR_IMSI=$NEW_MSI</Set>
|
|
<Call package="URM_PUB" function="UPD_IMSI">
|
|
<Input>INP_DAT|</Input>
|
|
<Output>OUT_DAT|MSG_CD|</Output>
|
|
</Call>
|
|
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
|
<Arg name="MsgDat" value="更新用户IMSI失败"/>
|
|
</Exec>
|
|
<Set>RSP_TYP=2</Set>
|
|
<Set>RSP_COD=2998</Set>
|
|
<Set>RSP_MSG=补卡失败</Set>
|
|
<Set>PRO_RSL=99</Set>
|
|
<Return/>
|
|
</If>
|
|
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS00000"/>
|
|
</Exec>
|
|
|
|
</FlowCtrl>
|
|
</Transaction>
|
|
|
|
</Application>
|