201 lines
10 KiB
XML
201 lines
10 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 -->
|
|
<Exec func="WEB:GetSession">
|
|
<Arg name="ObjNam" value="OPER_INF" />
|
|
<Arg name="CUR_OPER_NO" value="OPER_NO" /> <!--操作员 -->
|
|
<Arg name="CUR_OPER_PROV" value="OPER_PROV" /> <!--归属省 -->
|
|
<Arg name="CUR_OPER_CITY" value="OPER_CITY" /> <!--归属市 -->
|
|
<Arg name="CUR_OPER_DEPT" value="OPER_DEPT" /> <!--归部门 -->
|
|
<Arg name="CUR_OPER_PROV_LVL" value="OPER_PROV_LVL" /> <!--省公司级别 -->
|
|
<Arg name="CUR_ORG_CD" value="OPER_ORG_CD" /> <!--登陆机构号 -->
|
|
<Arg name="CUR_QRY_DAT_SCP" value="OPER_QRY_DAT_SCP" /> <!--登录级别 -->
|
|
</Exec>
|
|
<If condition="$TXN_CD!=4806280">
|
|
<If condition="IS_NOEQUAL_STRING($TXN_CD,0040260,0040280,4716015)">
|
|
<!-- 登录交易不判断 -->
|
|
<If condition="ISNULL($CUR_OPER_NO)">
|
|
<Set>SESSION_TMOUT=1</Set>
|
|
<Exec func="PUB:GWASetMsg">
|
|
<!--@msg Session超时 -->
|
|
<Arg name="MsgCd" value="CMM00001" />
|
|
</Exec>
|
|
<Exit />
|
|
</If>
|
|
</If>
|
|
</If>
|
|
<!-- 查询用户交易是否存在菜单树中 -->
|
|
<Exec func="PUB:ReadRecord" error="IGNORE">
|
|
<Arg name="SqlCmd" value="QRY_CMMTFUNC" />
|
|
</Exec>
|
|
<If condition="INTCMP($MENUROW,6,0)">
|
|
<!-- 判断用户是否有当前交易的权限 -->
|
|
<Exec func="PUB:ReadRecord" error="IGNORE">
|
|
<Arg name="SqlCmd" value="QRY_TXNROW" />
|
|
</Exec>
|
|
<If condition="INTCMP($TXNROW,3,0)">
|
|
<!--@msg 用户没有交易权限 -->
|
|
<Set>GWA.MSG_CD=SCM00001</Set>
|
|
<Exit />
|
|
</If>
|
|
</If>
|
|
<Set>UPD_OPER=$CUR_OPER_NO</Set>
|
|
<Set>CUR_OPR_ID=$CUR_OPER_NO</Set>
|
|
<Set>SYS_DT=GETDATE()</Set>
|
|
<!-- 查询交易属性,如果Log_LOG_FLG=1,则会插入交易日志 -->
|
|
<!--Exec func="PUB:ReadRecord" error="IGNORE"> <Arg name="SqlCmd" value="QRY_CMMTTXIF" /> <Arg name="GrpNam" value="TX_ATTR" /> </Exec -->
|
|
<!-- 获得流水日志号 -->
|
|
<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>
|
|
<!-- 判断用户查询范围 -->
|
|
<!-- 如果不为总中心级别,设置查询极别 -->
|
|
<If condition="IS_EQUAL_STRING($CUR_OPER_PROV_LVL,1)">
|
|
<!-- 如果当前操作员所属城市为000,则为直属省部门,查询省范围 -->
|
|
<If condition="OR(ISNULL($CUR_OPER_CITY),IS_EQUAL_STRING($CUR_OPER_CITY,000))">
|
|
<Set>SCOP_SQL=STRCAT(DEPT.PROV_CD=',$CUR_OPER_PROV,')</Set>
|
|
</If>
|
|
<!--属于市属部门的操作员 -->
|
|
<Else>
|
|
<Set>SCOP_SQL=STRCAT(DEPT.CITY_CD=',$CUR_OPER_CITY,')</Set>
|
|
</Else>
|
|
</If>
|
|
<Else>
|
|
<Set>SCOP_SQL=STRCAT(1=,1)</Set>
|
|
</Else>
|
|
<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>
|
|
</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($FLG_LOG,0)">
|
|
<!-- 取出SESSION中相关的字段值 -->
|
|
<Exec func="WEB:GetSession">
|
|
<Arg name="ObjNam" value="OPER_INF" />
|
|
<Arg name="CUR_OPER_NO" value="OPER_NO" /> <!--操作员 -->
|
|
<Arg name="CUR_OPER_PROV" value="OPER_PROV" /> <!--归属省 -->
|
|
<Arg name="CUR_OPER_CITY" value="OPER_CITY" /> <!--归属市 -->
|
|
<Arg name="CUR_OPER_DEPT" value="OPER_DEPT" /> <!--归部门 -->
|
|
<Arg name="CUR_OPER_PROV_LVL" value="OPER_PROV_LVL" /> <!--省公司级别 -->
|
|
<Arg name="CUR_ORG_CD" value="OPER_ORG_CD" /> <!--登陆机构号 -->
|
|
<Arg name="CUR_QRY_DAT_SCP" value="OPER_QRY_DAT_SCP" /> <!--登录级别 -->
|
|
</Exec>
|
|
<If condition="NOT(ISNULL($CUR_OPER_NO))">
|
|
<!-- 登记操作员操作历史,登录操作员相关日志信息 -->
|
|
<Set>AREA1.OPR_PROV=$CUR_OPER_PROV</Set> <!-- 操作员归属省 -->
|
|
<Set>AREA1.OPR_CITY=$CUR_OPER_CITY</Set> <!-- 操作员归属市 -->
|
|
<Set>AREA1.OPR_DEPT=$CUR_OPER_DEPT</Set> <!-- 操作员归属机构编号 -->
|
|
<Set>AREA1.OPR_ID=$CUR_OPER_NO</Set> <!-- 操作员ID -->
|
|
<Exec func="LOG:GenOperOprHisDetail" error="IGNORE">
|
|
<Arg name="DAT_AREA" value="AREA1" /> <!-- 数据区 -->
|
|
<Arg name="DAT_FMT" value="FMT" /> <!-- 数据格式码 选输 -->
|
|
</Exec>
|
|
</If>
|
|
</If>
|
|
</Process>
|
|
</Function>
|
|
</GlobalFunction>
|
|
</Root>
|