Files
2021-01-12 22:04:24 +08:00

2380 lines
78 KiB
XML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version='1.0' encoding='UTF-8'?>
<!--
管理服务器
日期 编号 修改人 修改原因
2006.4.23 xu_lw 创建
-->
<!--交易码MNG09000 - MNG09010 -->
<Application name="MNG" trace="yes">
<BusDefDeclare></BusDefDeclare>
<LibDeclare>
<Library name="MNG" value="himng.jar" />
<Library name="ATM" value="hiatmp.jar" />
</LibDeclare>
<Transaction code="MNG090000">
<FlowCtrl>
<Exec func="MNG:MngLogin" />
</FlowCtrl>
</Transaction>
<Transaction code="MNG090009">
<FlowCtrl>
<Exec func="MNG:getDataDict" />
</FlowCtrl>
</Transaction>
<!--监控服务登记-->
<Transaction code="MNG090903">
<FlowCtrl>
<Exec func="PUB:DumpMsg" />
<Exec func="MNG:MonRegiste" />
<Exec func="PUB:DumpMsg" />
</FlowCtrl>
</Transaction>
<Transaction code="MNG090904">
<FlowCtrl>
<Exec func="MNG:MonLogin" />
</FlowCtrl>
</Transaction>
<!--启动服务-->
<Transaction code="MNG090905">
<FlowCtrl>
<Exec func="MNG:StartService" />
</FlowCtrl>
</Transaction>
<!--设置交易日志开关-->
<Transaction code="MNG090906" log_switch="1">
<FlowCtrl>
<Exec func="MNG:setServiceLogSwitch" />
</FlowCtrl>
</Transaction>
<!--启动服务器-->
<Transaction code="MNG090907">
<FlowCtrl>
<Exec func="MNG:startServer" />
</FlowCtrl>
</Transaction>
<!--取服务器状态-->
<Transaction code="MNG090908">
<FlowCtrl>
<Set>$Num=0</Set>
<While condition="$Num &lt; $REC_NUM">
<Exec func="PUB:GetValue">
<Arg name="SourName"
value="STRCAT(ROOT.TCODE_,ADD($Num,1),.CODE)" />
<Arg name="DestName" value="code" />
</Exec>
<Exec func="MNG:GetServerStatus">
<Arg name="code" value="$code" />
<Arg name="curNode" value="STRCAT(ROOT.TCODE_,ADD($num,1))" />
</Exec>
<Set>Num=ADD($Num,1)</Set>
</While>
</FlowCtrl>
</Transaction>
<!--取服务状态-->
<Transaction code="MNG090909">
<FlowCtrl>
<Set>$Num=0</Set>
<While condition="$Num &lt; $REC_NUM">
<Exec func="PUB:GetValue">
<Arg name="SourName"
value="STRCAT(ROOT.TCODE_,ADD($Num,1),.CODE)" />
<Arg name="DestName" value="code" />
</Exec>
<Exec func="MNG:GetServiceStatus">
<Arg name="code" value="$code" />
<Arg name="curNode" value="STRCAT(ROOT.TCODE_,ADD($num,1))" />
</Exec>
<Set>Num=ADD($Num,1)</Set>
</While>
</FlowCtrl>
</Transaction>
<!--20080320因页面修改增加的修改-->
<Transaction code="MNG090806" log_switch="1">
<DynSentence name="app_tran_qry">
<Sentence>
SELECT a.TXN_CD TXN_CD,a.TXN_NM TXN_NM, b.Rule_Nm Rule_Nm,b.Rule
Rule FROM MNGAPLINF a,usrtxnrul b WHERE a.APP_ID='EFS' and
(a.BR_NO='999999' or a.BR_NO='%s') and a.TXN_CD=b.TXN_CD and
b.U_ID='%s' and b.BR_NO='%s' union (SELECT a.TXN_CD
TXN_CD,a.TXN_NM TXN_NM,'-' Rule_Nm,' ' Rule FROM MNGAPLINF a
WHERE a.APP_ID='EFS' and (a.BR_NO='999999' or a.BR_NO='%s') and
txn_cd not in(select txn_cd from usrtxnrul b where b.U_ID='%s'
and b.BR_NO='%s'))
</Sentence>
<Fields>U_BR_NO|CURUID|U_BR_NO|U_BR_NO|CURUID|U_BR_NO|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:QueryInGroup">
<Arg name="SqlCmd" value="app_tran_qry" />
<Arg name="RecordName" value="Group" />
</Exec>
<If condition="~RetCod=-1">
<Set>RSP_MSG=数据库故障</Set>
<Set>RSP_CD=361002</Set>
<Return />
</If>
<Exec func="PUB:DumpMsg" />
</FlowCtrl>
</Transaction>
<Transaction code="MNG090807" log_switch="1">
<DynSentence name="app_qry">
<Sentence>
SELECT DISTINCT APP_ID,APP_DESC FROM MNGAPLINF where
(BR_NO='999999' or BR_NO='%s')
</Sentence>
<Fields>br_no|</Fields>
</DynSentence>
<FlowCtrl>
<Set>br_no=$U_BR_NO</Set>
<Exec func="PUB:QueryInGroup">
<Arg name="SqlCmd" value="app_qry" />
<Arg name="RecordName" value="Group" />
</Exec>
</FlowCtrl>
</Transaction>
<Transaction code="MNG090815">
<FlowCtrl>
<Exec func="MNG:MonSwitch">
<Arg name="on_off" value="1" />
</Exec>
</FlowCtrl>
</Transaction>
<Transaction code="MNG090816">
<FlowCtrl>
<Exec func="MNG:MonSwitch">
<Arg name="on_off" value="0" />
</Exec>
</FlowCtrl>
</Transaction>
<Transaction code="MNG090011" desc="User add" log_switch="1">
<DynSentence name="user_add">
<Sentence>
Insert into mngusrinf(ID,NAME,BR_NO,PASSWORD,REMARK)
values('%s','%s','%s','%s','%s')
</Sentence>
<Fields>UID|u_name|br_no|UPWD|u_remark|</Fields>
</DynSentence>
<DynSentence name="user_sel">
<Sentence>
Select count(*) USERNUM from mngusrinf where ID='%s'
</Sentence>
<Fields>UID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="ATM:PasswdCheck">
<Arg name="PassWd" value="$UPWD" />
</Exec>
<If condition="~RetCod!=1">
<Set>RSP_CD=000001</Set>
<Set>RSP_MSG=密码至少包含一个字母!</Set>
<Return />
</If>
<Set>br_no=$U_BR_NO</Set>
<If condition="ISNULL($U_NAME)">
<Set>U_NAME=$UID</Set>
</If>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="user_sel" />
</Exec>
<If condition="INTCMP($USERNUM,6,0)">
<Set>RSP_MSG=用户ID已经存在</Set>
<Set>RSP_CD=361002</Set>
<Return />
</If>
<Else>
<Exec func="ATM:XOREncrypt">
<Arg name="node" value="UPWD" />
</Exec>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="user_add" />
</Exec>
<If condition="~RetCod=-1">
<Set>RSP_MSG=添加用户失败:操作数据库出错</Set>
<Set>RSP_CD=361002</Set>
<Return />
</If>
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=添加用户成功</Set>
</Else>
</FlowCtrl>
</Transaction>
<Transaction code="MNG090014" desc="User delete" log_switch="1">
<DynSentence name="DelUse">
<Sentence>Delete from mngusrinf where ID='%s'</Sentence>
<Fields>ID|</Fields>
</DynSentence>
<DynSentence name="DelRel">
<Sentence>Delete from mngusrgrp where USR_ID='%s'</Sentence>
<Fields>ID|</Fields>
</DynSentence>
<FlowCtrl>
<If condition="IS_EQUAL_STRING($ID,$CURUID)">
<Set>RSP_MSG=不能删除自己</Set>
<Set>RSP_CD=361002</Set>
<Return />
</If>
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="DelUse" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_MSG=删除用户操作失败</Set>
<Set>RSP_CD=361002</Set>
<Return />
</If>
<Else>
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="DelRel" />
</Exec>
<Set>RSP_MSG=删除用户操作成功</Set>
<Set>RSP_CD=000000</Set>
</Else>
</FlowCtrl>
</Transaction>
<Transaction code="MNG090013" desc="User modify" log_switch="1">
<DynSentence name="UpdUse">
<Sentence>
update mngusrinf set NAME='%s',REMARK='%s' where ID='%s'
</Sentence>
<Fields>Name|Remark|ID|</Fields>
</DynSentence>
<!--DynSentence name="user_query">
<Sentence>Select C.ID ID,B.GRPNAM Grpnam,C.NAME Name,C.BR_NO BR_NO,C.ACTIVED Actived,C.ACT_USER Actuser,C.REMARK Remark from mngusrgrp A ,mnggrpinf B , mngusrinf C where A.GRP_ID=B.GRP_ID and A.USR_ID=C.ID AND A.USR_ID in (select ID ID from mngusrinf where BR_NO='%s' and (ID='%s' or '%s'='') and NAME like '%%%s%%' )
union select ID ID,' ' Grpnam,NAME Name,BR_NO BR_NO,ACTIVED Actived,ACT_USER Actuser,REMARK Remark from mngusrinf where BR_NO='%s' and (ID='%s' or '%s'='') and NAME like '%%%s%%' and ID not in (select USR_ID from mngusrgrp)
</Sentence>
<Fields>U_BR_NO|ID|ID|NAME|U_BR_NO|ID|ID|NAME</Fields>
</DynSentence-->
<FlowCtrl>
<Set>BR_NO=$BR_NO</Set>
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="UpdUse" />
</Exec>
<!--Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="user_query" />
<Arg name="RecordName" value="GROUP" />
</Exec-->
<If condition="~RetCod=2">
<Set>RSP_CD=000001</Set>
<Set>RSP_MSG=无该用户</Set>
</If>
<ElseIf condition="~RetCod=-1">
<Set>RSP_MSG=修改用户失败:操作数据库故障</Set>
<Set>RSP_CD=361002</Set>
<Return />
</ElseIf>
</FlowCtrl>
</Transaction>
<!-- 修改密码 -->
<Transaction code="MNG099013" desc="User modify" log_switch="1">
<DynSentence name="user_updpwd">
<Sentence>
Update mngusrinf set PASSWORD='%s',UPDDAT='%s' where ID='%s'
</Sentence>
<Fields>U_NEWPWD|ACC_DT|CURUID</Fields>
</DynSentence>
<DynSentence name="user_qry">
<Sentence>Select PASSWORD from mngusrinf where ID='%s'</Sentence>
<Fields>CURUID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="ATM:PasswdCheck">
<Arg name="PassWd" value="$U_NEWPWD" />
</Exec>
<If condition="~RetCod!=1">
<Set>RSP_CD=000001</Set>
<Set>RSP_MSG=密码至少包含一个字母!</Set>
<Return />
</If>
<Exec func="ATM:XOREncrypt">
<Arg name="node" value="U_OLDPWD" />
</Exec>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="user_qry" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=000001</Set>
<Set>RSP_MSG=数据库错误</Set>
<Return />
</If>
<If condition="IS_NOEQUAL_STRING($U_OLDPWD,$PASSWORD)">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=旧密码错误</Set>
<Return />
</If>
<If condition="STRCMP($U_NEWPWD,$U_RENEWPWD)=0">
<Exec func="ATM:XOREncrypt">
<Arg name="node" value="U_NEWPWD" />
</Exec>
<!--Exec func="PUB:Sleep">
<Arg name="SleepTime" value="600"/>
</Exec-->
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="user_updpwd" />
</Exec>
<If condition="~RetCod=0">
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=修改密码成功</Set>
</If>
<Else>
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=修改密码失败</Set>
</Else>
</If>
<Else>
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=两次输入密码不等</Set>
</Else>
</FlowCtrl>
</Transaction>
<!-- 分配角色 -->
<Transaction code="MNG099014" log_switch="1">
<DynSentence name="user_updrole">
<Sentence>Update mnguser set GROUP='%s' where ID='%s'</Sentence>
<Fields>G_ID|CURUID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="user_updrole" />
</Exec>
<If condition="~RetCod=0">
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=分配角色成功</Set>
<Return />
</If>
<Else>
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=分配角色失败</Set>
<Return />
</Else>
</FlowCtrl>
</Transaction>
<!-- 用户列表查询 -->
<Transaction code="MNG090910" desc="Get User List" log_switch="1">
<!--<DynSentence name="user_query">
<Sentence>select ID ID,NAME Name,BR_NO BR_NO,ACTIVED Actived,ACT_USER Actuser,REMARK Remark from mngusrinf where BR_NO='%s' and (ID='%s' or '%s'='') and NAME like '%%%s%%'</Sentence>
<Fields>U_BR_NO|ID|ID|NAME|</Fields>
</DynSentence>-->
<DynSentence name="user_query">
<Sentence>
Select C.ID ID,B.GRPNAM Grpnam,C.NAME Name,C.BR_NO
BR_NO,C.ACTIVED Actived,C.ACT_USER Actuser,C.REMARK Remark from
mngusrgrp A ,mnggrpinf B , mngusrinf C where A.GRP_ID=B.GRP_ID
and A.USR_ID=C.ID AND A.USR_ID in (select ID ID from mngusrinf
where BR_NO='%s' and (ID='%s' or '%s'='') and NAME like '%%%s%%'
) union select ID ID,' ' Grpnam,NAME Name,BR_NO BR_NO,ACTIVED
Actived,ACT_USER Actuser,REMARK Remark from mngusrinf where
BR_NO='%s' and (ID='%s' or '%s'='') and NAME like '%%%s%%' and
ID not in (select USR_ID from mngusrgrp) order by ID
</Sentence>
<Fields>U_BR_NO|ID|ID|NAME|U_BR_NO|ID|ID|NAME|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="user_query" />
<Arg name="RecordName" value="GROUP" />
</Exec>
<If condition="~RetCod=2">
<Set>RSP_CD=000001</Set>
<Set>RSP_MSG=无该用户</Set>
</If>
<Exec func="PUB:DumpMsg" />
</FlowCtrl>
</Transaction>
<Transaction code="MNG090012" desc="Get User" log_switch="1">
<DynSentence name="user_query_byid">
<Sentence>
Select ID UID,CHNNAME U_CHNAME,REMARK U_REMARK, GROUP G_ID from
mngusrinf where ID='%s' AND BR_NO='%s'
</Sentence>
<Fields>UID|BR_NO</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="user_query_byid" />
</Exec>
</FlowCtrl>
</Transaction>
<Transaction code="MNG090021" desc="Group add" log_switch="1">
<DynSentence name="group_add">
<Sentence>Insert into mnggroup values('%s','%s','%s')</Sentence>
<Fields>g_id|g_name|g_auth|</Fields>
</DynSentence>
<DynSentence name="group_sel">
<Sentence>
Select count(*) GROUPNUM from mnggroup where ID='%s'
</Sentence>
<Fields>g_id|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="group_sel" />
</Exec>
<If condition="INTCMP($GROUPNUM,6,0)">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=组已经存在</Set>
</If>
<Else>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="group_add" />
</Exec>
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=添加组成功</Set>
</Else>
</FlowCtrl>
</Transaction>
<Transaction code="MNG090024" desc="Group del" log_switch="1">
<DynSentence name="group_del">
<Sentence>delete from mnggroup where ID='%s'</Sentence>
<Fields>g_id|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="group_del" />
</Exec>
</FlowCtrl>
</Transaction>
<Transaction code="MNG090023" desc="Group modify" log_switch="1">
<DynSentence name="group_upd">
<Sentence>
Update mnggroup set NAME='%s',AUTH='%s' where ID='%s'
</Sentence>
<Fields>g_name|g_auth|g_id|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="group_upd" />
</Exec>
</FlowCtrl>
</Transaction>
<Transaction code="MNG090029" desc="Query Group List"
log_switch="1">
<DynSentence name="group_query">
<Sentence>Select * from mnggroup</Sentence>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="group_query" />
<Arg name="RecordName" value="Group" />
</Exec>
</FlowCtrl>
</Transaction>
<!-- 规则交易 -->
<Transaction code="MNG099910" desc="Rule add" log_switch="1">
<DynSentence name="rule_add">
<Sentence>
Insert into usrtxnrul values('%s','%s','%s','%s','%s','%s')
</Sentence>
<Fields>U_BR_NO|CURUID|APP_ID|RTXN_CD|Rule_Nm|rule|</Fields>
</DynSentence>
<DynSentence name="delrule">
<Sentence>
delete from usrtxnrul where BR_NO='%s' and U_ID='%s' and
APP_ID='%s' and TXN_CD='%s'
</Sentence>
<Fields>U_BR_NO|CURUID|APP_ID|RTXN_CD|</Fields>
</DynSentence>
<FlowCtrl>
<Set>APP_ID=EFS</Set>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="delrule" />
</Exec>
<If condition="~RetCod &lt;0">
<Set>RSP_CD=898989</Set>
<Set>RSP_MSG=数据库故障</Set>
<Return />
</If>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="rule_add" />
</Exec>
<If condition="~RetCod=0">
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=添加规则成功</Set>
</If>
<Else>
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=添加规则失败</Set>
</Else>
</FlowCtrl>
</Transaction>
<Transaction code="MNG099911" desc="Rule upd" log_switch="1">
<DynSentence name="rule_upd">
<Sentence>
Update mngrules set
COND='%s',STAT='%s',LEVEL='%s',VALDATE='%s',DESC='%s' where
ID='%s'
</Sentence>
<Fields>r_cond|r_stat|r_level|r_valdate|r_desc|r_id|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="rule_upd" />
</Exec>
<If condition="~RetCod=0">
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=修改规则成功</Set>
</If>
<Else>
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=修改规则失败</Set>
</Else>
</FlowCtrl>
</Transaction>
<!-- 删除规则 -->
<Transaction code="MNG099912" desc="Rule del" log_switch="1">
<DynSentence name="rule_del">
<Sentence>Delete from mngrules where ID='%s'</Sentence>
<Fields>r_id|</Fields>
</DynSentence>
<DynSentence name="rule_txncod_del">
<Sentence>Delete from mngtxncd_rule where RUL_ID='%s'</Sentence>
<Fields>r_id|</Fields>
</DynSentence>
<DynSentence name="rule_txncod_qry">
<Sentence>
Select count(*) RCOUNT1 from mngtxncd_rule where RUL_ID='%s'
</Sentence>
<Fields>r_id|</Fields>
</DynSentence>
<DynSentence name="rule_action_del">
<Sentence>Delete from mng_action_rule where RUL_ID='%s'</Sentence>
<Fields>r_id|</Fields>
</DynSentence>
<DynSentence name="rule_action_qry">
<Sentence>
Select count(*) RCOUNT2 from mng_action_rule where RUL_ID='%s'
</Sentence>
<Fields>r_id|</Fields>
</DynSentence>
<FlowCtrl>
<If condition="INTCMP($PARANUM,6,0)">
<Set>Num=1</Set>
<While condition="INTCMP($Num,2,$PARANUM)">
<Exec func="PUB:GetValue" error="IGNORE">
<Arg name="SourName" value="STRCAT(PARAMS_,$Num,.ID)" />
<Arg name="DestName" value="R_ID" />
</Exec>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="rule_del" />
</Exec>
<If condition="~RetCod=0">
<!-- 查找交易是否配置了监控规则,是则删除 -->
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="rule_txncod_qry" />
</Exec>
<If condition="INTCMP($RCOUNT1,6,0)">
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="rule_txncod_del" />
</Exec>
</If>
<!-- 查找是否已经分配了action,是则删除 -->
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="rule_action_qry" />
</Exec>
<If condition="INTCMP($RCOUNT2,6,0)">
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="rule_action_del" />
</Exec>
</If>
</If>
<Set>Num=ADD($Num,1)</Set>
</While>
</If>
</FlowCtrl>
</Transaction>
<!-- 查询rule的所有列表 -->
<Transaction code="MNG099913" desc="Rule query" log_switch="1">
<DynSentence name="rule_query">
<Sentence>
Select ID,COND,STAT,LEVEL,DESC,VALDATE from mngrules
</Sentence>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="rule_query" />
<Arg name="RecordName" value="GROUP" />
</Exec>
</FlowCtrl>
</Transaction>
<Transaction code="MNG099914" desc="Rule query by RUL_ID"
log_switch="1">
<DynSentence name="rule_querybyid">
<Sentence>
Select ID R_ID,COND R_COND,STAT R_STAT, LEVEL R_LEVEL,VALDATE
R_VALDATE, DESC R_DESC from mngrules where ID='%s'
</Sentence>
<Fields>RUL_ID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="rule_querybyid" />
</Exec>
</FlowCtrl>
</Transaction>
<!-- 根据交易码查找rule列表 -->
<Transaction code="" desc="Rule query by TXN_CD" log_switch="1">
<DynSentence name="rule_query">
<Sentence>
Select DISTINCT ID,COND,STAT,LEVEL,DESC,VALDATE from mngrules a,
mngtxncd_rule b where b.TXN_CD='%s' and a.ID=b.RUL_ID
</Sentence>
<Fields>RTXN_CD|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="rule_query" />
<Arg name="RecordName" value="GROUP" />
</Exec>
</FlowCtrl>
</Transaction>
<!--20080320 修改交易监控时增加的交易 -->
<!-- 修改或配置规则 -->
<Transaction code="MNG099915" desc="Rule query by TXN_CD"
log_switch="1">
<DynSentence name="getrule">
<Sentence>
Select Rule_Nm,Rule from usrtxnrul where TXN_CD='%s' and
U_ID='%s' and BR_NO='%s'
</Sentence>
<Fields>RTXN_CD|CURUID|U_BR_NO|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="getrule" />
</Exec>
<If condition="~RetCod=2">
<Set>Rule_Nm=</Set>
<Set>Rule=</Set>
</If>
<ElseIf condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=数据库故障</Set>
<Return />
</ElseIf>
</FlowCtrl>
</Transaction>
 
<!-- 根据交易码,Rule列表配置交易的规则 修改MNGTXNCD_RULE表 -->
<Transaction code="MNG099916" desc="配置交易规则" log_switch="1">
<DynSentence name="rule_tran_add">
<Sentence>Insert into mngtxncd_rule values('%s', '%s')</Sentence>
<Fields>r_id|RTXN_CD|</Fields>
</DynSentence>
<DynSentence name="rule_tran_qry">
<Sentence>
Select count(*) RCOUNT from mngtxncd_rule where TXN_CD='%s' and
RUL_ID='%s'
</Sentence>
<Fields>RTXN_CD|r_id|</Fields>
</DynSentence>
<DynSentence name="rule_tran_del">
<Sentence>Delete from mngtxncd_rule where TXN_CD='%s'</Sentence>
<Fields>RTXN_CD|</Fields>
</DynSentence>
<DynSentence name="ruleQuery">
<Sentence>
Select count(*) TOTAL from mngtxncd_rule where TXN_CD='%s'
</Sentence>
<Fields>RTXN_CD|</Fields>
</DynSentence>
<FlowCtrl>
<!-- 删除所有TXN_CD的rule,然后再添加,已经配置的规则 -->
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="ruleQuery" />
</Exec>
<If condition="INTCMP($TOTAL,6,0)">
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="rule_tran_del" />
</Exec>
<If condition="~RetCod!=0">
<Return />
</If>
</If>
<Set>Num=1</Set>
<While condition="INTCMP($Num,2,$REC_NUM)">
<Exec func="PUB:GetValue">
<Arg name="SourName" value="STRCAT(GROUP_,$Num,.RUL_ID)" />
<Arg name="DestName" value="R_ID" />
</Exec>
<!-- 查找是否已经存在,不存在则添加一条记录 -->
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="rule_tran_qry" />
</Exec>
<If condition="INTCMP($RCOUNT,3,0)">
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="rule_tran_add" />
</Exec>
<If condition="~RetCod=0">
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=配置规则成功</Set>
</If>
<Else>
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=配置规则失败</Set>
<Return />
</Else>
</If>
<Set>Num=ADD($Num,1)</Set>
</While>
</FlowCtrl>
</Transaction>
<Transaction code="MNG099920" desc="Action add" log_switch="1">
<DynSentence name="action_add">
<Sentence>
Insert into mngaction values('%s','%s','%s','%s')
</Sentence>
<Fields>a_id|a_desc|a_type|a_param|</Fields>
</DynSentence>
<FlowCtrl>
<Set>A_PARAM=STRCAT($A_TITLE,|,$A_CONTENT,|)</Set>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="action_add" />
</Exec>
<If condition="~RetCod=0">
<!--<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="action_rule_add" />
</Exec>-->
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=添加动作成功</Set>
</If>
<Else>
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=添加动作失败</Set>
</Else>
</FlowCtrl>
</Transaction>
<Transaction code="MNG099921" desc="" log_switch="1">
<DynSentence name="tran_qry_byid">
<Sentence>
SELECT TXN_CD,TXN_NM FROM MNGAPLINF WHERE (BR_NO='999999' or
BR_NO='%s') AND APP_ID='%s'
</Sentence>
<Fields>br_no|APP_ID|</Fields>
</DynSentence>
<DynSentence name="tran_rule_count">
<Sentence>
SELECT count(*) RCOUNT from mngtxncd_rule WHERE TXN_CD='%s'
</Sentence>
<Fields>RTXNCD|</Fields>
</DynSentence>
<FlowCtrl>
<Set>br_no=$BR_NO</Set>
<Exec func="PUB:QueryInGroup">
<Arg name="SqlCmd" value="tran_qry_byid" />
<Arg name="RecordName" value="TRANS" />
</Exec>
<Set>Num=1</Set>
<Set>Index=1</Set>
<While condition="INTCMP($Num,2,$REC_NUM)">
<Exec func="PUB:GetValue">
<Arg name="SourName" value="STRCAT(TRANS_,$NUM,.TXN_CD)" />
<Arg name="DestName" value="RTXNCD" />
</Exec>
<If condition="~RetCod=0">
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="tran_rule_count" />
</Exec>
<If condition="INTCMP($RCOUNT,6,0)">
<Exec func="PUB:SetValue">
<Arg name="FieldName"
value="STRCAT(GROUP_,$INDEX,.TXN_CD)" />
<Arg name="FieldValue" value="$RTXNCD" />
</Exec>
<Set>Index=ADD($Index,1)</Set>
</If>
</If>
<Set>Num=ADD($Num,1)</Set>
</While>
</FlowCtrl>
</Transaction>
<Transaction code="MNG099922" desc="Action add" log_switch="1">
<DynSentence name="action_qry">
<Sentence>Select * from mngaction</Sentence>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="action_qry" />
<Arg name="RecordName" value="Actions" />
</Exec>
</FlowCtrl>
</Transaction>
<Transaction code="MNG099923" desc="Action update" log_switch="1">
<DynSentence name="action_upd">
<Sentence>
Update mngaction set DESC='%s',TYPE='%s',PARAM='%s' where
ID='%s'
</Sentence>
<Fields>A_DESC|A_TYPE|A_PARAM|A_ID|</Fields>
</DynSentence>
<FlowCtrl>
<!-- a_param : title|content| 结构 -->
<Set>A_PARAM=STRCAT($A_TITLE,|,$A_CONTENT,|)</Set>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="action_upd" />
</Exec>
</FlowCtrl>
</Transaction>
<Transaction code="MNG099924" desc="Action query by ACT_ID"
log_switch="1">
<DynSentence name="rule_querybyid">
<Sentence>
Select ID A_ID,DESC A_DESC,TYPE A_TYPE, PARAM from mngaction
where ID='%s'
</Sentence>
<Fields>ACT_ID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="rule_querybyid" />
</Exec>
<Set>A_TITLE=GETWORDDELIMITER($PARAM,|,1)</Set>
<Set>A_CONTENT=GETWORDDELIMITER($PARAM,|,2)</Set>
</FlowCtrl>
</Transaction>
<Transaction code="MNG099925" desc="配置监控动作" log_switch="1">
<DynSentence name="rule_action_add">
<Sentence>
Insert into mng_action_rule values('%s', '%s')
</Sentence>
<Fields>RUL_ID|ACT_ID|</Fields>
</DynSentence>
<DynSentence name="rule_action_qry">
<Sentence>
Select count(*) RCOUNT from mng_action_rule where ACT_ID='%s'
and RUL_ID='%s'
</Sentence>
<Fields>ACT_ID|RUL_ID|</Fields>
</DynSentence>
<DynSentence name="rule_action_del">
<Sentence>Delete from mng_action_rule where RUL_ID='%s'</Sentence>
<Fields>RUL_ID|</Fields>
</DynSentence>
<DynSentence name="query">
<Sentence>
Select count(*) COUNT from mng_action_rule where RUL_ID='%s'
</Sentence>
<Fields>RUL_ID|</Fields>
</DynSentence>
<FlowCtrl>
<!-- 删除所有TXN_CD的rule,然后再添加,已经配置的规则 -->
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="query" />
</Exec>
<If condition="INTCMP($COUNT,6,0)">
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="rule_action_del" />
</Exec>
</If>
<!--<If condition="~RetCod!=0">
<Return/>
</If>-->
<Set>Num=1</Set>
<While condition="INTCMP($Num,2,$REC_NUM)">
<Exec func="PUB:GetValue">
<Arg name="SourName" value="STRCAT(GROUP_,$Num,.ACT_ID)" />
<Arg name="DestName" value="ACT_ID" />
</Exec>
<!-- 查找是否已经存在,不存在则添加一条记录 -->
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="rule_action_qry" />
</Exec>
<If condition="INTCMP($RCOUNT,3,0)">
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="rule_action_add" />
</Exec>
<If condition="~RetCod=0">
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=配置动作成功</Set>
</If>
<Else>
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=配置动作失败</Set>
<Return />
</Else>
</If>
<Set>Num=ADD($Num,1)</Set>
</While>
</FlowCtrl>
</Transaction>
<Transaction code="MNG099926" desc="" log_switch="1">
<DynSentence name="rule_action_byid">
<Sentence>
Select ACT_ID, RUL_ID from mng_action_rule where RUL_ID='%s'
</Sentence>
<Fields>RUL_ID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="rule_action_byid" />
<Arg name="RecordName" value="RACT_" />
</Exec>
</FlowCtrl>
<DynSentence name="action_del">
<Sentence>
Delete from mngaction where ID in (Select ID from mngaction
where ID='%s')
</Sentence>
<Fields>ACT_ID|</Fields>
</DynSentence>
<DynSentence name="action_rule_qry">
<Sentence>
Select count(*) ACOUNT from mng_action_rule where ACT_ID='%s'
</Sentence>
<Fields>ACT_ID|</Fields>
</DynSentence>
<DynSentence name="action_rule_del">
<Sentence>Delete from mng_action_rule where ACT_ID='%s'</Sentence>
<Fields>ACT_ID|</Fields>
</DynSentence>
<FlowCtrl>
<If condition="INTCMP($PARANUM,6,0)">
<Set>Num=1</Set>
<While condition="INTCMP($Num,2,$PARANUM)">
<Exec func="PUB:GetValue">
<Arg name="SourName" value="STRCAT(PARAMS_,$Num,.ID)" />
<Arg name="DestName" value="ACT_ID" />
</Exec>
<!-- 删除动作 -->
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="action_rule_qry" />
</Exec>
<If condition="INTCMP($ACOUNT,6,0)">
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="action_rule_del" />
</Exec>
</If>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="action_del" />
</Exec>
<Set>Num=ADD($Num,1)</Set>
</While>
</If>
</FlowCtrl>
</Transaction>
<!-- 删除action -->
<Transaction code="MNG099927" desc="" log_switch="1">
<DynSentence name="action_del">
<Sentence>
Delete from mngaction where ID in (Select ID from mngaction
where ID='%s')
</Sentence>
<Fields>ACT_ID|</Fields>
</DynSentence>
<DynSentence name="action_rule_qry">
<Sentence>
Select count(*) ACOUNT from mng_action_rule where ACT_ID='%s'
</Sentence>
<Fields>ACT_ID|</Fields>
</DynSentence>
<DynSentence name="action_rule_del">
<Sentence>Delete from mng_action_rule where ACT_ID='%s'</Sentence>
<Fields>ACT_ID|</Fields>
</DynSentence>
<FlowCtrl>
<If condition="INTCMP($PARANUM,6,0)">
<Set>Num=1</Set>
<While condition="INTCMP($Num,2,$PARANUM)">
<Exec func="PUB:GetValue">
<Arg name="SourName" value="STRCAT(PARAMS_,$Num,.ID)" />
<Arg name="DestName" value="ACT_ID" />
</Exec>
<!-- 删除动作 -->
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="action_rule_qry" />
</Exec>
<If condition="INTCMP($ACOUNT,6,0)">
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="action_rule_del" />
</Exec>
</If>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="action_del" />
</Exec>
<Set>Num=ADD($Num,1)</Set>
</While>
</If>
</FlowCtrl>
</Transaction>
>
<!-- 系统流水类查询 -->
<Transaction code="MNG090835" desc="" log_switch="1">
<DynSentence name="query_tbl">
<Sentence>
SELECT distinct TblNam, ChnNam FROM mngtblgrp WHERE GRP_ID='%s'
and RdFlg='%s'
</Sentence>
<Fields>GRP_ID|RdFlg|</Fields>
</DynSentence>
<FlowCtrl>
<If condition="ISNULL($GRP_ID)">
<Set>GRP_ID=SYSJNL</Set>
</If>
<If condition="ISNULL($RDFLG)">
<Set>RDFLG=0</Set>
</If>
<Exec func="PUB:QueryInGroup">
<Arg name="SqlCmd" value="query_tbl" />
<Arg name="RecordName" value="GROUP" />
</Exec>
</FlowCtrl>
</Transaction>
<!-- 查询角色下的权限列表 -->
<Transaction code="MNG090934" desc="角色用户查询" log_switch="1">
<DynSentence name="qryroleprv">
<Sentence>
Select TXN_CD, GRP_ID, PAG_ID from mngtxnprv where GRP_ID='%s'
</Sentence>
<Fields>GRP_ID|</Fields>
</DynSentence>
<FlowCtrl>
<!--查询权限并初始化-->
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="qryroleprv" />
<Arg name="RecordName" value="GROUP" />
</Exec>
<If condition="~RetCod=2">
<Set>REC_NUM=0</Set>
</If>
<ElseIf condition="~RetCod!=0">
<Set>RSP_CD=EFS4000</Set>
<Set>Rsp_Msg="数据库故障"</Set>
<Return />
</ElseIf>
<Else>
<Set>CNT=$REC_NUM</Set><!--总记录-->
<Set>Num1=1</Set>
<While condition="INTCMP($Num1,2,$CNT)">
<Exec func="PUB:GetValue">
<Arg name="SourName"
value="STRCAT(ROOT.GROUP_,$Num1,.PAG_ID)" />
<Arg name="DestName" value="PAG_ID" />
</Exec>
<Exec func="PUB:SetValue">
<Arg name="FieldName" value="STRCAT(ROOT.PAG_,$PAG_ID)" />
<Arg name="FieldValue" value="TRUE" />
</Exec>
<Set>Num1=ADD($Num1,1)</Set>
</While>
</Else>
</FlowCtrl>
</Transaction>
<Transaction code="MNG090935" desc="角色权限的分配" log_switch="1">
<DynSentence name="delmngtxnprv">
<Sentence>Delete from mngtxnprv where GRP_ID='%s'</Sentence>
<Fields>GRP_ID|</Fields>
</DynSentence>
<DynSentence name="intmngtxnprv">
<Sentence>
Insert into mngtxnprv(TXN_CD,GRP_ID,PAG_ID) values
('%s','%s','%s')
</Sentence>
<Fields>TranCod|GRP_ID|PAG_ID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:DumpMsg" />
<If condition="ISNULL(GRP_ID)">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=角色ID为空</Set>
<Return />
</If>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="delmngtxnprv" />
</Exec>
<If condition="~RetCod!=-1">
<!-- 插入权限 -->
<!--1. 分割权限字符创,格式:6位PAG_ID+9位TranCod,以:分隔 例如001000001:001000002-->
<Set>Num=$REC_NUM</Set><!--总记录-->
<Set>Index=1</Set><!--初始化节点位置-->
<While condition="INTCMP($Index,2,$Num)">
<Exec func="PUB:GetValue">
<Arg name="SourName"
value="STRCAT(ROOT.GROUP_,$Index,.E01)" />
<Arg name="DestName" value="PAG_ID" />
</Exec>
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="intmngtxnprv" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=STRCAT("分配",$PAG_ID,"权限失败")</Set>
<Exec func="PUB:RollbackWork" />
<Return />
</If>
<Set>Index=ADD($Index,1)</Set>
</While>
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=权限分配成功</Set>
</If>
<Else>
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=STRCAT("删除",$PAG_ID,"权限失败")</Set>
<Return />
</Else>
</FlowCtrl>
</Transaction>
<!--角色用户查询-->
<Transaction code="MNG090936" desc="角色用户查询" log_switch="1">
<DynSentence name="qryusrbyrole">
<Sentence>
Select ID,NAME from mnggrpinf A,mngusrgrp B,mngusrinf C where
A.GRP_ID=B.GRP_ID and C.ID=B.USR_ID and GRPNAM='%s'
</Sentence>
<Fields>GRPNAM|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="qryusrbyrole" />
<Arg name="RecordName" value="GROUP" />
</Exec>
</FlowCtrl>
</Transaction>
<!--用户角色查询-->
<Transaction code="MNG090938" desc="" log_switch="1">
<DynSentence name="qryrolebyusr">
<Sentence>
Select A.USR_ID,A.GRP_ID,B.GRPNAM from mngusrgrp A ,mnggrpinf B
where A.GRP_ID=B.GRP_ID AND A.USR_ID='%s'
</Sentence>
<Fields>ID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="qryrolebyusr" />
<Arg name="RecordName" value="GROUP" />
</Exec>
</FlowCtrl>
</Transaction>
<!--角色主页面-->
<Transaction code="MNG090939" desc="角色信息查询" log_switch="1">
<DynSentence name="qryroleinf">
<Sentence>
Select GRP_ID,GRPNAM,ACTIVED,ACT_USER from mnggrpinf where
(GRP_ID='%s' or '%s'='') and GRPNAM like '%s%%'
</Sentence>
<Fields>GRP_ID|GRP_ID|GRPNAM|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="qryroleinf" />
<Arg name="RecordName" value="GROUP" />
</Exec>
<If condition="~RetCod=2">
<Set>RSP_CD=000001</Set>
<Set>RSP_MSG=该角色不存在</Set>
</If>
</FlowCtrl>
</Transaction>
<!-- 重置密码 -->
<Transaction code="MNG090930" desc="User modify" log_switch="1">
<DynSentence name="user_updpwd">
<Sentence>
Update mngusrinf set PASSWORD='%s',UPDDAT='%s' where ID='%s'
</Sentence>
<Fields>U_NEWPWD|UPDDAT|ID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="ATM:PasswdCheck">
<Arg name="PassWd" value="$U_NEWPWD" />
</Exec>
<If condition="~RetCod!=1">
<Set>RSP_CD=000001</Set>
<Set>RSP_MSG=密码至少包含一个字母!</Set>
<Return />
</If>
<Set>UPDDAT=GETDATE()</Set>
<If condition="STRCMP($U_NEWPWD,$U_RENEWPWD)=0">
<Exec func="ATM:XOREncrypt">
<Arg name="node" value="U_NEWPWD" />
</Exec>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="user_updpwd" />
</Exec>
<If condition="~RetCod=0">
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=修改密码成功</Set>
</If>
<Else>
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=修改密码失败</Set>
</Else>
</If>
<Else>
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=两次输入密码不等</Set>
</Else>
</FlowCtrl>
</Transaction>
<!--角色分配-->
<Transaction code="MNG090937" desc="角色分配" log_switch="1">
<DynSentence name="inrtinfor">
<Sentence>
insert into mngusrgrp(USR_ID,GRP_ID) values('%s','%s')
</Sentence>
<Fields>ID|GRP_ID|</Fields>
</DynSentence>
<DynSentence name="grp_del">
<Sentence>Delete from mngusrgrp where USR_ID='%s'</Sentence>
<Fields>ID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:DumpMsg" />
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="grp_del" />
</Exec>
<Set>Num=1</Set>
<While condition="INTCMP($Num,2,$MULSELNUM)">
<Exec func="PUB:GetValue">
<Arg name="SourName" value="STRCAT(SELGROUP_,$Num,.GRP_ID)" />
<Arg name="DestName" value="GRP_ID" />
</Exec>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="inrtinfor" />
</Exec>
<Set>Num=ADD($Num,1)</Set>
</While>
</FlowCtrl>
</Transaction>
<!--修改角色分配页面和交易 20080426 by ll -->
<!--根据用户ID显示角色列表-->
<Transaction code="ROL00001" log_switch="1">
<DynSentence name="getallrole">
<Sentence>SELECT * FROM mnggrpinf</Sentence>
</DynSentence>
<DynSentence name="getroleofuser">
<Sentence>
SELECT GRP_ID FROM mngusrgrp where USR_ID='%s'
</Sentence>
<Fields>ID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="getallrole" />
<Arg name="RecordName" value="Group" />
</Exec>
<If condition="~RetCod=2">
<Set>RSP_CD=EFS4008</Set>
<Set>Rsp_Msg="未找到任何角色"</Set>
<Return />
</If>
<ElseIf condition="~RetCod!=0">
<Set>RSP_CD=EFS4000</Set>
<Set>Rsp_Msg="数据库故障"</Set>
<Return />
</ElseIf>
<Set>GCNT1=$REC_NUM</Set><!--获取group1的纪录数-->
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="getroleofuser" />
<Arg name="RecordName" value="Group2" />
</Exec>
<If condition="~RetCod=2">
<Set>REC_NUM=0</Set>
</If>
<ElseIf condition="~RetCod!=0">
<Set>RSP_CD=EFS4000</Set>
<Set>Rsp_Msg="数据库故障"</Set>
<Return />
</ElseIf>
<Set>CNT1=0</Set><!--设置下标值-->
<Set>GCNT2=$REC_NUM</Set><!--获取group2的纪录数-->
<While>
<Set>CNT2=0</Set>
<Set>CNT1=ADD($CNT1,1)</Set>
<If condition="INTCMP($CNT1,6,$GCNT1)"><!--最多GCNT1个包-->
<Break />
</If>
<Exec func="PUB:GetValue">
<Arg name="SourName"
value="STRCAT(ROOT.GROUP_,$CNT1,.GRP_ID)" />
<Arg name="DestName" value="ID1" />
</Exec>
<While>
<Set>CNT2=ADD($CNT2,1)</Set>
<If condition="INTCMP($CNT2,6,$GCNT2)"><!--最多GCNT2个包-->
<Exec func="PUB:SetValue">
<Arg name="FieldName"
value="STRCAT(ROOT.GROUP_,$CNT1,.SNODE)" />
<Arg name="FieldValue" value="FALSE" />
</Exec>
<Break />
</If>
<Exec func="PUB:GetValue">
<Arg name="SourName"
value="STRCAT(ROOT.GROUP2_,$CNT2,.GRP_ID)" />
<Arg name="DestName" value="ID2" />
</Exec>
<If condition="IS_EQUAL_STRING($ID1,$ID2)"><!--如果角色ID相同就设置SNODE的值为true-->
<Exec func="PUB:SetValue">
<Arg name="FieldName"
value="STRCAT(ROOT.GROUP_,$CNT1,.SNODE)" />
<Arg name="FieldValue" value="TRUE" />
</Exec>
<Break />
</If>
</While>
</While>
</FlowCtrl>
</Transaction>
<!--根据角色分配交易码-插入-->
<Transaction code="ROL00002" log_switch="1">
<DynSentence name="Deleteusrgrp">
<Sentence>DELETE FROM mngusrgrp WHERE USR_ID='%s'</Sentence>
<Fields>ID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="Deleteusrgrp" />
</Exec>
<If condition="~RetCod&lt;0">
<Set>RSP_CD=EFS4000</Set>
<Set>Rsp_Msg="数据库故障"</Set>
<Return />
</If>
<Set>USR_ID=$ID</Set>
<Exec func="PUB:InsertRecord" error="IGNORE">
<Arg name="TblNam" value="mngusrgrp" />
<Arg name="GrpNam" value="PARAMS" />
<Arg name="Ignore" value="0" />
<Arg name="FldLst" value="USR_ID|" />
</Exec>
<If condition="~RetCod=0">
<Set>RSP_CD=000000</Set>
<Set>Rsp_Msg="操作成功"</Set>
</If>
<Else>
<Set>RSP_CD=EFS4008</Set>
<Set>Rsp_Msg="操作失败"</Set>
</Else>
</FlowCtrl>
</Transaction>
<Transaction code="MNG090839" desc="" log_switch="1">
<DynSentence name="query_tblpri">
<Sentence>
SELECT ColNam, ColMen, IsSel, IsCnd, ColTyp, IsOrd, IsGrp, IsPri
FROM mngtblpri WHERE TblNam='%s'
</Sentence>
<Fields>TBLNAM|</Fields>
</DynSentence>
<FlowCtrl>
<If condition="ISNULL($TBLNAM)">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=TBLNAM为空</Set>
<Return />
</If>
<Set>TBLNAM=TOUPPER($TBLNAM)</Set>
<Exec func="PUB:QueryInGroup">
<Arg name="SqlCmd" value="query_tblpri" />
<Arg name="RecordName" value="GROUP" />
</Exec>
</FlowCtrl>
</Transaction>
<Transaction code="MNG090840" desc="" log_switch="1">
<DynSentence name="SelUse1">
<Sentence>
select REMARK Remark ,NAME Name from mngusrinf where ID='%s'
</Sentence>
<Fields>ID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:DumpMsg" />
<Set>Num=1</Set>
<Exec func="PUB:GetValue">
<Arg name="SourName" value="STRCAT(ROOT.PARAMS_,$Num,.ID)" />
<Arg name="DestName" value="ID" />
</Exec>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="SelUse1" />
</Exec>
</FlowCtrl>
</Transaction>
<!-- 重置密码,用户修改自已的密码 -->
<Transaction code="MNG090942" desc="User modify" log_switch="1">
<DynSentence name="user_updpwd">
<Sentence>
Update mngusrinf set PASSWORD='%s',UPDDAT='%s' where ID='%s'
</Sentence>
<Fields>U_NEWPWD|ACC_DT|UID</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="ATM:PasswdCheck">
<Arg name="PassWd" value="$U_NEWPWD" />
</Exec>
<If condition="~RetCod!=1">
<Set>RSP_CD=000001</Set>
<Set>RSP_MSG=密码至少包含一个字母!</Set>
<Return />
</If>
<If condition="STRCMP($U_NEWPWD,$U_RENEWPWD)=0">
<Exec func="ATM:XOREncrypt">
<Arg name="node" value="U_NEWPWD" />
</Exec>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="user_updpwd" />
</Exec>
<If condition="~RetCod=0">
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=修改密码成功</Set>
</If>
<Else>
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=修改密码失败</Set>
</Else>
</If>
<Else>
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=两次输入密码不等</Set>
</Else>
</FlowCtrl>
</Transaction>
<!-- 用户列表查询 -->
<Transaction code="MNG090944" desc="Get All User" log_switch="1">
<DynSentence name="user_query">
<Sentence>
select ID,NAME,BR_NO,ACTIVED,ACT_USER,UPDDAT,REMARK from
mngusrinf where BR_NO='%s'
</Sentence>
<Fields>U_BR_NO</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="user_query" />
<Arg name="RecordName" value="GROUP" />
</Exec>
<Exec func="PUB:DumpMsg" />
</FlowCtrl>
</Transaction>
<!-- 角色激活 -->
<Transaction code="MNG090943" desc="User activation" log_switch="1">
<DynSentence name="UpdSet1">
<Sentence>
UPDATE mnggrpinf SET ACTIVED='1',ACT_USER='%s' WHERE GRP_ID='%s'
</Sentence>
<Fields>CURUID|GRP_ID|</Fields>
</DynSentence>
<DynSentence name="UpdSet0">
<Sentence>
UPDATE mnggrpinf SET ACTIVED='0',ACT_USER='%s' WHERE GRP_ID='%s'
</Sentence>
<Fields>CURUID|GRP_ID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:DumpMsg" />
<If condition="INTCMP($PARANUM,3,0)">
<Set>RSP_MSG=请选择您要激活或注销的角色</Set>
<Set>RSP_CD=361002</Set>
<Return />
</If>
<Set>Num=1</Set>
<While condition="INTCMP($Num,2,$PARANUM)">
<Exec func="PUB:GetValue" error="IGNORE">
<Arg name="SourName" value="STRCAT(PARAMS_,$Num,.GRP_ID)" />
<Arg name="DestName" value="GRP_ID" />
</Exec>
<If condition="IS_EQUAL_STRING($jihuo,1)">
<If condition="ISNULL($CURUID)">
<Set>OldMsg=您的session已过期,请重新登陆后再操作</Set>
</If>
<Else>
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="UpdSet1" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_MSG=激活用户失败</Set>
<Set>RSP_CD=361002</Set>
<Return />
</If>
<Set>RSP_MSG=激活用户成功</Set>
</Else>
</If>
<Else>
<If condition="ISNULL($CURUID)">
<Set>OldMsg=您的session已过期,请重新登陆后再操作</Set>
</If>
<Else>
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="UpdSet0" />
</Exec>
</Else>
</Else>
<Set>Num=ADD($Num,1)</Set>
</While>
</FlowCtrl>
</Transaction>
<!-- 根据用户ID和交易码,验证用户的权限 -->
<Transaction code="MNG090946" desc="Authorize user" log_switch="1">
<DynSentence name="prvqry">
<Sentence>
select count(*) PRVNUM from mngusrgrp A, mngtxnprv B where
A.USR_ID='%s' and B.TXN_CD='%s' and A.GRP_ID=B.GRP_ID
</Sentence>
<Fields>UID|PRVCOD|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="prvqry" />
</Exec>
<If condition="~RetCod=2">
<Set>RSP_CD=000001</Set>
<Set>RSP_MSG=STRCAT("验证失败,",$UID,"不具备操作",$PRVCOD,"的权限")</Set>
</If>
<ElseIf condition="~RetCod=0">
<If condition="INTCMP($PRVNUM,6,0)">
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=STRCAT("验证成功,",$UID,"具备操作",$PRVCOD,"的权限")</Set>
</If>
<Else>
<Set>RSP_CD=000001</Set>
<Set>RSP_MSG=STRCAT("验证失败,",$UID,"不具备操作",$PRVCOD,"的权限")</Set>
</Else>
</ElseIf>
<ElseIf condition="~RetCod=-1">
<Set>RSP_CD=000002</Set>
<Set>RSP_MSG=系统错误</Set>
</ElseIf>
<Exec func="PUB:DumpMsg" />
</FlowCtrl>
</Transaction>
<!--查询状态为1的角色信息-->
<Transaction code="MNG090947" desc="角色信息查询" log_switch="1">
<DynSentence name="qryroleinf">
<Sentence>
Select GRP_ID,GRPNAM,ACTIVED,ACT_USER from mnggrpinf where
ACTIVED='1'
</Sentence>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="qryroleinf" />
<Arg name="RecordName" value="GROUP" />
</Exec>
</FlowCtrl>
</Transaction>
<!-- 用户登陆 -->
<Transaction code="MNG090020" log_switch="1">
<DynSentence name="queryUser">
<Sentence>
Select password,actived,upddat,falsts,br_no from mngusrinf where
ID='%s'
</Sentence>
<Fields>UID|</Fields>
</DynSentence>
<DynSentence name="updUsrInf">
<Sentence>
update mngusrinf set falsts='%s',actived='%s' where ID='%s'
</Sentence>
<Fields>FalSts|Actived|UID|</Fields>
</DynSentence>
<DynSentence name="queryGroup">
<Sentence>
Select TXN_CD,PAG_ID from mngusrgrp,mngtxnprv,mnggrpinf where
mngusrgrp.USR_ID='%s' and mngusrgrp.GRP_ID=mngtxnprv.GRP_ID and
mngusrgrp.GRP_ID=mnggrpinf.GRP_ID and mnggrpinf.actived='1'
</Sentence>
<Fields>UID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="queryUser" />
</Exec>
<!--查询此用户-->
<If condition="~RetCod!=0">
<If condition="~RetCod=2">
<Set>RSP_CD=MNG0900201</Set>
<Set>RSP_MSG=无此用户</Set>
</If>
<Else>
<Set>RSP_CD=999999</Set>
<Set>RSP_MSG=系统错误,查询数据库失败</Set>
</Else>
<Return />
</If>
<!--检查是否处于激活状态-->
<If condition="IS_NOEQUAL_STRING($ACTIVED,1)">
<Set>RSP_CD=MNG0900202</Set>
<Set>RSP_MSG=此用户处于非激活状态,不允许登陆</Set>
<Return />
</If>
<!--Set>PASSWORD=root</Set>
<Exec func="ATM:XOREncrypt">
<Arg name="node" value="PASSWORD"/>
</Exec>
<Set>UPWD=root</Set-->
<!--检查密码-->
<Exec func="ATM:XOREncrypt">
<Arg name="node" value="UPWD" />
</Exec>
<If condition="IS_NOEQUAL_STRING($PASSWORD,$UPWD)">
<Set>RSP_CD=MNG0900203</Set>
<Set>RSP_MSG=密码错误</Set>
<Set>FalSts=ADD($FalSts,1)</Set>
<If condition="INTCMP($FalSts,5,5)">
<Set>$ACTIVED=2</Set>
</If>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="updUsrInf" />
</Exec>
<Return />
</If>
<!--密码正确,检验是否过期,强度为30天-->
<If condition="ISNULL($UPDDAT)">
<Set>RSP_CD=MNG0900204</Set>
<Set>RSP_MSG=此密码为系统初始密码,需进行重设</Set>
</If>
<ElseIf condition="INTCMP(DIFFDATE($UPDDAT,$ACC_DT),6,30)">
<Set>RSP_CD=MNG0900204</Set>
<Set>RSP_MSG=此密码已过期,需进行重设</Set>
</ElseIf>
<Else>
<If condition="INTCMP(DIFFDATE($UPDDAT,$ACC_DT),6,28)">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=密码距离有效期还有两天,请及时更新</Set>
</If>
<!--取得角色-->
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="queryGroup" />
<Arg name="RecordName" value="Grp" />
</Exec>
<!--更新FalSts为0-->
<If condition="$FalSts!=0">
<Set>FalSts=0</Set>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="updUsrInf" />
</Exec>
</If>
<If condition="~RetCod=-1">
<Set>RSP_CD=999999</Set>
<Set>RSP_MSG=系统错误,操作数据库失败</Set>
<Return />
</If>
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=验证成功</Set>
</Else>
</FlowCtrl>
</Transaction>
<!-- 列出所有用户信息 -->
<Transaction code="MNG098014" desc="Get User List" log_switch="1">
<DynSentence name="user_query">
<Sentence>
select ID,NAME Name,ACTIVED Actived,ACT_USER Actuser,REMARK
Remark,BR_NO from mngusrinf where BR_NO='%s' and (ID='%s' or
'%s'='') and NAME like '%%%s%%'
</Sentence>
<Fields>U_BR_NO|ID|ID|NAME|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="user_query" />
<Arg name="RecordName" value="Group" />
</Exec>
<If condition="~RetCod=-1"><!--查询时,发生系统错误-->
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=查询用户列表失败</Set>
<Return />
</If>
<Set>RSP_MSG=查询用户列表成功</Set>
<!--Exec func="PUB:DumpMsg" /-->
</FlowCtrl>
</Transaction>
<!-- 更新mngusrinf表,激活选中的用户 -->
<Transaction code="MNG098015" desc="User activation" log_switch="1">
<DynSentence name="UpdMnguser">
<Sentence>
UPDATE mngusrinf SET ACTIVED='1',FALSTS='0',ACT_USER='%s' WHERE
ID='%s'
</Sentence>
<Fields>CURUID|ID|</Fields>
</DynSentence>
<FlowCtrl>
<Set>ACTIVED=1</Set><!-- 标定激活用户-->
<Set>Num=1</Set>
<If condition="INTCMP($PARANUM,3,0)=1">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=未选定任何用户</Set>
<Return />
</If>
<If condition="ISNULL($CURUID)">
<Set>OldMsg=您的session已过期,请重新登陆后再操作</Set>
<Return />
</If>
<Exec func="PUB:DumpMsg" />
<While condition="INTCMP($Num,2,$PARANUM)">
<Exec func="PUB:GetValue" error="IGNORE">
<Arg name="SourName" value="STRCAT(PARAMS_,$Num,.ID)" />
<Arg name="DestName" value="ID" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=获取用户信息失败</Set>
<Return />
</If>
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="UpdMnguser" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=激活用户失败</Set>
<Return />
</If>
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=激活用户成功</Set>
<Set>Num=ADD($Num,1)</Set>
</While>
</FlowCtrl>
</Transaction>
<!-- 更新mngusrinf表,注销选中的用户 -->
<Transaction code="MNG098016" desc="User unactivated"
log_switch="1">
<DynSentence name="UpdMnguser">
<Sentence>
UPDATE mngusrinf SET ACTIVED='0',ACT_USER='%s' WHERE ID='%s'
</Sentence>
<Fields>CURUID|ID|</Fields>
</DynSentence>
<FlowCtrl>
<Set>ACTIVED=0</Set><!-- 注销用户标识-->
<Set>Num=1</Set>
<If condition="ISNULL($CURUID)">
<Set>OldMsg=您的session已过期,请重新登陆后再操作</Set>
<Return />
</If>
<If condition="INTCMP($PARANUM,3,0)=1">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=未选定任何用户</Set>
<Return />
</If>
<While condition="INTCMP($Num,2,$PARANUM)">
<Exec func="PUB:GetValue" error="IGNORE">
<Arg name="SourName" value="STRCAT(PARAMS_,$Num,.ID)" />
<Arg name="DestName" value="ID" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=获取用户信息失败</Set>
<Return />
</If>
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="UpdMnguser" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=注销用户失败</Set>
<Return />
</If>
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=注销用户成功</Set>
<Set>Num=ADD($Num,1)</Set>
</While>
</FlowCtrl>
</Transaction>
<!-- 更新 mnggrpinf 表,增加新的角色 -->
<Transaction code="MNG090931" desc="Role Add" log_switch="1">
<DynSentence name="ChkRole"><!--判重-->
<Sentence>
select 'Y' YN from mnggrpinf where GRP_ID='%s'
</Sentence>
<Fields>GRP_ID|</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="ChkRole" />
</Exec>
<If condition="~RetCod=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=已存在该角色</Set>
<Return />
</If>
<Exec func="PUB:InsertRecord" error="IGNORE">
<Arg name="TblNam" value="mnggrpinf" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=增加角色失败</Set>
<Return />
</If>
<Set>RSP_CD=000000</Set>
<Set>RSP_MSG=增加角色成功</Set>
</FlowCtrl>
</Transaction>
<!-- 更新 mnggrpinf 表,修改角色名称 -->
<Transaction code="MNG090932" desc="Role Modify" log_switch="1">
<DynSentence name="UpdRole">
<Sentence>
update mnggrpinf set GRPNAM='%s' where GRP_ID='%s'
</Sentence>
<Fields>GRPNAM|GRP_ID</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:DumpMsg" />
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="UpdRole" />
</Exec>
<!--判断是否产生系统错误,记录不存在此处为合理情况-->
<If condition="~RetCod=-1">
<Set>OprFlg=修改角色失败</Set>
<Return />
</If>
</FlowCtrl>
</Transaction>
<!-- 删除角色 -->
<Transaction code="MNG090933" desc="Role Del" log_switch="1">
<!-- 删除所选角色 -->
<DynSentence name="DelRole">
<Sentence>DELETE FROM mnggrpinf WHERE GRP_ID='%s'</Sentence>
<Fields>GRP_ID</Fields>
</DynSentence>
<!-- 删除赋予该角色的用户 -->
<DynSentence name="DelGrpUsr">
<Sentence>DELETE FROM mngusrgrp WHERE GRP_ID='%s'</Sentence>
<Fields>GRP_ID</Fields>
</DynSentence>
<!-- 删除赋予该角色的交易权限 -->
<DynSentence name="DelTxnPrv">
<Sentence>DELETE FROM mngtxnprv WHERE GRP_ID='%s'</Sentence>
<Fields>GRP_ID</Fields>
</DynSentence>
<FlowCtrl>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="DelGrpUsr" />
</Exec>
<!--判断是否产生系统错误,记录不存在此处为合理情况-->
<If condition="~RetCod=-1">
<Set>RSP_MSG=删除角色用户失败</Set>
<Return />
</If>
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="DelTxnPrv" />
</Exec>
<!--判断是否产生系统错误,记录不存在此处为合理情况-->
<If condition="~RetCod=-1">
<Set>RSP_MSG=删除角色交易权限失败</Set>
<Return />
</If>
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="DelRole" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_MSG=删除用户角色失败</Set>
<Return />
</If>
<Set>RSP_MSG=删除用户角色成功</Set>
</FlowCtrl>
</Transaction>
<!-- 读取系统配置文件 -->
<Transaction code="MNG090940" desc="SysConfig" log_switch="1">
<FlowCtrl>
<Exec func="PUB:ReadCfgInfo" error="IGNORE" />
<If condition="~RetCod!=0">
<Set>OprFlg=读取配置信息失败</Set>
<Return />
</If>
<Exec func="PUB:DumpMsg" />
</FlowCtrl>
</Transaction>
<!-- 保存系统配置文件 -->
<Transaction code="MNG090941" desc="SysConfig" log_switch="1">
<FlowCtrl>
<Exec func="PUB:UpdateCfgInfo" error="IGNORE" />
<If condition="~RetCod!=0">
<Set>OprFlg=保存配置信息失败</Set>
<Return />
</If>
<Exec func="PUB:DumpMsg" />
</FlowCtrl>
</Transaction>
<!--角色主页面-->
<Transaction code="MNG090945" desc="角色信息查询" log_switch="1">
<DynSentence name="qryroleinf">
<Sentence>
Select GRP_ID,GRPNAM,ACTIVED,ACT_USER from mnggrpinf
</Sentence>
</DynSentence>
<FlowCtrl>
<Set>OldMsg=请您尽量在一定的时间内完成操作</Set>
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="qryroleinf" />
<Arg name="RecordName" value="GROUP" />
</Exec>
</FlowCtrl>
</Transaction>
<Transaction code="010413"><!--查询机构状态-->
<DynSentence name="getnodno"><!--取分行所有网点-->
<Sentence>
SELECT ORG_NO, OrgNam FROM cimorgtbl WHERE OrgBk='%s'
</Sentence>
<Fields>@BCFG.BR_NO|</Fields>
</DynSentence>
<DynSentence name="getdumtlr"><!--取虚拟柜员-->
<Sentence>
SELECT DumTlr TLR_ID FROM pubdumtlr FETCH FIRST ROW ONLY
</Sentence>
<Fields></Fields>
</DynSentence>
<Attributes>
<Attribute name="nodatabase" value="2" />
</Attributes>
<FlowCtrl>
<!-- 获取网点列表 -->
<Exec func="PUB:OpenCursor"><!--打开游标-->
<Arg name="SqlCmd" value="getnodno" />
</Exec>
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="getdumtlr" />
</Exec>
<!-- 循环发送上主机查询网点状态交易 -->
<While>
<Exec func="PUB:FetchCursor" error="IGNORE"><!--取下一笔记录关闭游标-->
<Arg name="DataSource" value="ETF"></Arg>
</Exec>
<If condition="@BAS.RetCod=100"><!--设置分行的区域名-->
<Break />
</If>
<!-- 发送上主机查询分行状态交易 -->
<Set>TTxnCd=034130</Set>
<Exec func="PUB:CallHostOther">
<Arg name="HTxnCd" value="034130" />
<Arg name="ObjSvr" value="SHSTPUB1" />
</Exec>
<If condition="$HRSP_CD=CM0103">
<Set>RSP_CD=$HRSP_CD</Set>
<Set>RSP_MSG=STRCAT(无此机构号:,$ORG_NO)</Set>
<Break />
</If>
<ElseIf condition="$HRSP_CD!=SC0000">
<Set>RSP_CD=$HRSP_CD</Set>
<Set>RSP_MSG=主机交易故障,请查看错误码</Set>
<Break />
</ElseIf>
<!-- 记录 ORG_NO, OrgName, OrgSts -->
<Exec func="MNG:InsertGroup">
<Arg name="GrpNam" value="OrgLst" />
<Arg name="Item1" value="ORG_NO" />
<Arg name="Item2" value="OrgNam" />
<Arg name="Item3" value="OrgSts" />
</Exec>
</While>
<Exec func="PUB:CloseCursor"></Exec>
</FlowCtrl>
</Transaction>
<!--系统日志查询-->
<Transaction code="MNG090914" desc="Query_SysLog" log_switch="1">
<FlowCtrl>
<If condition="ISNULL($SYSDAT)">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=查询日期不能为空</Set>
<Return />
</If>
<Exec func="PUB:IsExistFile">
<Arg name="FileName"
value="STRCAT(GETENV(HOME),/log/,SUBSTR($SYSDAT,7,2),/SYS.log)" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=系统日志文件不存在</Set>
<Return />
</If>
<Exec func="PUB:IsValidFile">
<Arg name="FileName"
value="STRCAT(GETENV(HOME),/log/,SUBSTR($SYSDAT,7,2),/SYS.log)" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=系统日志文件无效</Set>
<Return />
</If>
<Exec func="PUB:OpenFile" error="IGNORE">
<Arg name="FileName"
value="STRCAT(GETENV(HOME),/log/,SUBSTR($SYSDAT,7,2),/SYS.log)" />
<Arg name="Mode" value="r" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=打开系统日志文件错误</Set>
<Return />
</If>
<Exec func="PUB:ReadFile" error="IGNORE">
<Arg name="FieldName" value="LOGINFOR" />
<Arg name="ReadLen" value="$FIL_BYT" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=读取系统日志文件错误</Set>
<Exec func="PUB:CloseFile" />
<Return />
</If>
<Exec func="PUB:CloseFile" />
</FlowCtrl>
</Transaction>
<!--应用日志查询-->
<Transaction code="MNG090915" desc="Query_AppLog" log_switch="1">
<DynSentence name="app_querybyid">
<Sentence>
SELECT DISTINCT APP_ID Q_ID,APP_DESC Q_DES FROM MNGAPLINF WHERE
APP_ID='%s'
</Sentence>
<Fields>QUERYID|</Fields>
</DynSentence>
<FlowCtrl>
<If condition="ISNULL($APPDAT)">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=查询日期不能为空</Set>
<Return />
</If>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="app_querybyid" />
</Exec>
<Exec func="PUB:IsExistFile">
<Arg name="FileName"
value="STRCAT(GETENV(HOME),/log/,SUBSTR($APPDAT,7,2),/,TOUPPER($Q_ID),.log)" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=应用日志文件不存在</Set>
<Return />
</If>
<Exec func="PUB:IsValidFile">
<Arg name="FileName"
value="STRCAT(GETENV(HOME),/log/,SUBSTR($APPDAT,7,2),/,TOUPPER($Q_ID),.log)" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=应用日志文件无效</Set>
<Return />
</If>
<Exec func="PUB:OpenFile" error="IGNORE">
<Arg name="FileName"
value="STRCAT(GETENV(HOME),/log/,SUBSTR($APPDAT,7,2),/,TOUPPER($Q_ID),.log)" />
<Arg name="Mode" value="r" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=打开应用日志文件错误</Set>
<Return />
</If>
<Exec func="PUB:ReadFile" error="IGNORE">
<Arg name="FieldName" value="LOGINFOR" />
<Arg name="ReadLen" value="$FIL_BYT" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=读取应用日志文件错误</Set>
<Exec func="PUB:CloseFile" />
<Return />
</If>
<Exec func="PUB:CloseFile" />
</FlowCtrl>
</Transaction>
<!--服务日志查询-->
<Transaction code="MNG090918" desc="Query_ServerWrongLog"
log_switch="1">
<FlowCtrl>
<If condition="ISNULL($SERVERDAT)">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=查询日期不能为空</Set>
<Return />
</If>
<Exec func="PUB:IsExistFile">
<Arg name="FileName"
value="STRCAT(GETENV(HOME),/log/,SUBSTR($SERVERDAT,7,2),/,TOUPPER($SERVERCODE),.log)" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=STRCAT(服务错误日志不存在,$SERVERCODE)</Set>
<Return />
</If>
<Exec func="PUB:IsValidFile">
<Arg name="FileName"
value="STRCAT(GETENV(HOME),/log/,SUBSTR($SERVERDAT,7,2),/,TOUPPER($SERVERCODE),.log)" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=服务错误日志文件无效</Set>
<Return />
</If>
<Exec func="PUB:OpenFile" error="IGNORE">
<Arg name="FileName"
value="STRCAT(GETENV(HOME),/log/,SUBSTR($SERVERDAT,7,2),/,TOUPPER($SERVERCODE),.log)" />
<Arg name="Mode" value="r" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=打开服务错误日志文件错误</Set>
<Return />
</If>
<Exec func="PUB:ReadFile" error="IGNORE">
<Arg name="FieldName" value="LOGINFOR" />
<Arg name="ReadLen" value="$FIL_BYT" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=读取服务错误日志文件错误</Set>
<Exec func="PUB:CloseFile" />
<Return />
</If>
<Exec func="PUB:CloseFile" />
</FlowCtrl>
</Transaction>
<Transaction code="MNG090919" desc="Query_ServerLog" log_switch="1">
<FlowCtrl>
<If condition="ISNULL($SERVERDAT)">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=查询日期不能为空</Set>
<Return />
</If>
<Exec func="PUB:IsExistFile">
<Arg name="FileName"
value="STRCAT(GETENV(HOME),/trc/,SUBSTR($SERVERDAT,7,2),/,TOUPPER($SERVERCODE),.trc)" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=STRCAT(服务跟踪日志不存在,$SERVERCODE)</Set>
<Return />
</If>
<Exec func="PUB:IsValidFile">
<Arg name="FileName"
value="STRCAT(GETENV(HOME),/trc/,SUBSTR($SERVERDAT,7,2),/,TOUPPER($SERVERCODE),.trc)" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=服务跟踪日志文件无效</Set>
<Return />
</If>
<Exec func="PUB:OpenFile" error="IGNORE">
<Arg name="FileName"
value="STRCAT(GETENV(HOME),/trc/,SUBSTR($SERVERDAT,7,2),/,TOUPPER($SERVERCODE),.trc)" />
<Arg name="Mode" value="r" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=打开服务跟踪日志文件错误</Set>
<Return />
</If>
<Exec func="PUB:ReadFile" error="IGNORE">
<Arg name="FieldName" value="LOGINFOR" />
<Arg name="ReadLen" value="$FIL_BYT" />
</Exec>
<If condition="~RetCod!=0">
<Set>RSP_CD=361002</Set>
<Set>RSP_MSG=读取服务跟踪日志文件错误</Set>
<Exec func="PUB:CloseFile" />
<Return />
</If>
<Exec func="PUB:CloseFile" />
</FlowCtrl>
</Transaction>
<!--交易日志查询-->
<Transaction code="MNG090922" desc="Query_TraceLog" log_switch="1">
<FlowCtrl>
<!--If condition="ISNULL($TRANSDAT)">
<Set>RspCod=361002</Set>
<Set>RspMsg=查询日期不能为空</Set>
<Return/>
</If-->
<!--If condition="ISNULL($BEGIN_TIME)">
<Set>RspCod=361002</Set>
<Set>RspMsg=查询不能为空</Set>
<Return/>
</If>
<If condition="ISNULL($END_TIME)">
<Set>RspCod=361002</Set>
<Set>RspMsg=查询日期不能为空</Set>
<Return/>
</If-->
<Exec func="PUB:IsExistFile">
<Arg name="FileName"
value="STRCAT(GETENV(HOME),/trc/,SUBSTR($TXN_DT,7,2),/,$TRANSLOGNAME,.trc)" />
</Exec>
<If condition="~RetCod!=0">
<Set>RspCod=361002</Set>
<Set>RspMsg=STRCAT(应用日志文件,$TRANSLOGNAME,.trc不存在)</Set>
<Return />
</If>
<Exec func="PUB:IsValidFile">
<Arg name="FileName"
value="STRCAT(GETENV(HOME),/trc/,SUBSTR($TXN_DT,7,2),/,$TRANSLOGNAME,.trc)" />
</Exec>
<If condition="~RetCod!=0">
<Set>RspCod=361002</Set>
<Set>RspMsg=STRCAT(交易日志文件,$TRANSLOGNAME,.trc无效)</Set>
<Return />
</If>
<Exec func="PUB:OpenFile" error="IGNORE">
<Arg name="FileName"
value="STRCAT(GETENV(HOME),/trc/,SUBSTR($TXN_DT,7,2),/,$TRANSLOGNAME,.trc)" />
<Arg name="Mode" value="r" />
</Exec>
<If condition="~RetCod!=0">
<Set>RspCod=361002</Set>
<Set>RspMsg=STRCAT(打开交易日志文件,$TRANSLOGNAME,.trc错误)</Set>
<Return />
</If>
<Exec func="PUB:ReadFile" error="IGNORE">
<Arg name="FieldName" value="LOGINFOR" />
<Arg name="ReadLen" value="$FIL_BYT" />
</Exec>
<If condition="~RetCod!=0">
<Set>RspCod=361002</Set>
<Set>RspMsg=STRCAT(读取交易日志文件,$TRANSLOGNAME,.trc错误)</Set>
<Exec func="PUB:CloseFile" />
<Return />
</If>
<Exec func="PUB:CloseFile" />
</FlowCtrl>
</Transaction>
<Transaction code="MNG010460"><!--同步主机与前置的会计时间-->
<DynSentence name="UpdPlt"><!--同步表pubpltinf-->
<Sentence>
Update pubpltinf set Acc_Dt='%s' , Log_No='%s'
</Sentence>
<Fields>Acc_Dt|LogNo</Fields>
</DynSentence>
<FlowCtrl>
<Set>LogNo=000000</Set>
<Set>Acc_Dt=GETDATETIME(YYYYMMDD)</Set>
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="UpdPlt" />
</Exec>
</FlowCtrl>
</Transaction>
<Transaction code="MNG991058" log_switch="1"><!--Dump统计信息-->
<FlowCtrl>
<Exec func="PUB:DumpStat"></Exec>
</FlowCtrl>
</Transaction>
<Transaction code="MNG991059" log_switch="1"><!--Clear统计信息-->
<FlowCtrl>
<Exec func="PUB:ClearStat"></Exec>
</FlowCtrl>
</Transaction>
</Application>