Files
2021-07-29 15:52:08 +08:00

165 lines
6.8 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<Root>
<!-- LibDeclare声明区 -->
<LibDeclare>
<Library name="WEB" value="hiwebatc.jar" />
<Library name="UBUI" value="hiubui.jar" />
<Library name="CPU" value="hicpuatc.jar" />
<Library name="GECINF" value="higeninf.jar" />
<Library name="CMM" value="hicmm.jar" />
<Library name="LOG" value="higeninf.jar" />
</LibDeclare>
<!-- PackageDeclare声明区 -->
<PackageDeclare>
<Package name="LPS_PUB" value="app/lps/etc/LPS_PUB_PKG.XML" />
<Package name="PURM" value="app/bui/etc/urm/URM_PKG.XML" />
</PackageDeclare>
<!-- ConfigDeclare声明区 -->
<!-- 公共前后处理声明区 -->
<GlobalFunction>
<!-- 公共前处理 -->
<Function name="_before">
<DynSentence name="GET_LOGNO">
<Sentence>
select S_LOG_NO.Nextval LOG_NO from dual
</Sentence>
</DynSentence>
<DynSentence name="QRY_CMMTTXIF">
<Sentence>
select * from CMMTTXIF where TXN_COD='%s'
</Sentence>
<Fields>TXN_CD</Fields>
</DynSentence>
<DynSentence name="QRY_CMMTRSTS">
<Sentence>
select * from CMMTRSTS where SYS_DT='%s' and STS='1'
</Sentence>
<Fields>SYS_DT</Fields>
</DynSentence>
<!-- 查询菜单交易码 -->
<DynSentence name="QRY_CMMTFUNC">
<Sentence>
SELECT COUNT(*) MENUROW FROM CMMTFUNC WHERE func_no='%s'
</Sentence>
<Fields>TXN_CD|</Fields>
</DynSentence>
<!-- 过滤交易码 -->
<DynSentence name="QRY_TXNROW">
<Sentence>
SELECT COUNT(*) TXNROW FROM CMMTFUNCROLE r,cmmtoperrole o
WHERE r.role_id = o.role_id AND o.oper_no='%s' AND r.FUNC_NO='%s'
</Sentence>
<Fields>CUR_OPER_NO|TXN_CD|</Fields>
</DynSentence>
<Process>
<Exec func="PUB:InitGWA" error="IGNORE" />
<If condition="~RetCod!=0">
<Exit />
</If>
<!--Exec func="PUB:ETF2XML" error="IGNORE"> <Arg name="DstFld" value="DATA_INF" /> </Exec -->
<Set>UPD_OPER=$CUR_OPER_NO</Set>
<Set>CUR_OPR_ID=$CUR_OPER_NO</Set>
<Set>SYS_DT=GETDATE()</Set>
<!-- 获得流水日志号 -->
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="GET_LOGNO" />
</Exec>
<If condition="~RetCod!=0">
<Exit />
</If>
<Set>LOG_NO=STRCAT($SYS_DT,PAD($LOG_NO,1,9,0))</Set>
<!-- 判断用户查询范围 -->
<!-- 如果不为总中心级别,设置查询极别 -->
<Set>SCOP_SQL=STRCAT(1=,1)</Set>
<Set>AC_DT=$SYS_DT</Set>
<Set>BUS_TYP=$TX_ATTR.BUS_TYP</Set>
<Set>TXN_TYP=$TX_ATTR.TXN_TYP</Set>
<!--Set>BUS_CNL=BUI</Set -->
<Set>GWA.BUS_CNL=BUI</Set>
<!--Set>SYS_CNL=BUI</Set -->
<Set>GWA.SYS_CNL=CAP</Set>
<Set>GWA.MSG_CD=SCM00000</Set>
<Set>IP_ADDR=@MSG.SIP</Set>
<!-- 交易鉴权 待修订-->
<Set>token=$TOKEN</Set>
<Set>funcId=$FUNC_ID</Set>
<Set>TXN_CD=$TXN_CD</Set>
<If condition="IS_NOEQUAL_STRING($TXN_CD,4807106,4807002,0030006,0030004,0030005,2040866,2040841,2040881,2040876,2040867,2040869,2040862,2040860,4908103,204076,4905104,204077,204078,204079,204080,204081,204082,204083,204084,204085,204086,204087,204088)">
<!--第三方鉴权-->
<Exec func="PUB:CallThirdComm" error="IGNORE">
<Arg name="HTxnCd" value="TokenVerify" />
<Arg name="ObjSvr" value="SCAHRO1" />
</Exec>
<If condition="~RetCod!=0">
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="CAP00028"/>
<Arg name="MsgDat" value="鉴权失败"/>
</Exec>
<Exit/>
</If>
<!--第三方返回为空时 说明无权限-->
<!--Set>FUNCSET=$FUNCSET</Set>
<If condition="ISNULL($FUNCSET)">
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="CAP10021"/>
<Arg name="MsgDat" value="无权限"/>
</Exec>
<Exit/>
</If-->
</If>
</Process>
</Function>
<!-- 公共后处理 -->
<Function name="_after">
<Process>
<Set>OPER_PWD=BLANK(2)</Set><!-- 删除密码 -->
<If condition="~RetCod=-1">
<Set>GWA.MSG_CD=SCM60001</Set>
</If>
<!-- #SysRet 系统异常错误标志 -->
<If condition="#SysRet=0">
<!--@msg 系统正忙,请稍后提交 -->
<Set>GWA.MSG_CD=SCM60002</Set>
</If>
<If condition="ISNULL($GWA.MSG_CD)">
<!--@msg 系统正忙,请稍后提交 -->
<Set>GWA.MSG_CD=SCM60003</Set>
</If>
<If condition="IS_SUCC($GWA.MSG_CD)">
<Set>GWA.MSG_TYP=N</Set>
</If>
<Else>
<Set>GWA.MSG_TYP=E</Set>
<Exec func="PUB:UIProcMsgCod" error="IGNORE" />
<If condition="~RetCod!=0">
<Set>GWA.MSG_INF=系统正忙,请稍后提交</Set>
</If>
</Else>
<If condition="OR(IS_EQUAL_STRING($GWA.MSG_TYP,N),IS_EQUAL_STRING($GWA.MSG_TYP,W))">
<!-- 若消息类型正常或警告则提交数据库事务 -->
<Exec func="PUB:CommitWork" error="IGNORE" />
</If>
<Else>
<!-- 否则回滚数据库事务 -->
<Exec func="PUB:RollbackWork" error="IGNORE" />
</Else>
<!--FLG_LOG值为0:代表此交易不用写入操作日志 ;其他情况则写入操作日志中 -->
<If condition="IS_NOEQUAL_STRING($TXN_CD,4807106,4807002,0030006,0030004,0030005,2040866,2040841,2040881,2040876,2040867,2040862,2040860,4908103,204076,4905104,204077,204078,204079,204080,204081,204082,204083,204084,204085,204086,204087,204088)">
<!--操作员流水 -->
<Set>MSG_TYP=$GWA.MSG_TYP</Set>
<Set>MSG_CD=$GWA.MSG_CD</Set>
<Exec func="PUB:InsertRecord" error="IGNORE">
<Arg name="TblNam" value="CAPOPRLOG" />
</Exec>
<Exec func="PUB:CommitWork" error="IGNORE" />
</If>
</Process>
</Function>
</GlobalFunction>
</Root>