一、免登录,免白名单配置
1.配置webservice weaver_security_common_forbidden_skip_url_xasad72.xml(文件名可新建)
<?xml version="1.0" encoding="utf-8"?>
<root>
<skip-any-check-list>
<url>/services/QueryProcessStatusService</url>
</skip-any-check-list>
</root>
2.配置jsp weaver_security_custom_rules_not_need_login_240304_11.xml(文件名可新建)
<?xml version="1.0" encoding="UTF-8"?>
<root>
<no-login-urls>
<url>接口1</url>
<url>接口2</url>
</no-login-urls>
</root>
/ecology/WEB-INF/securityXML/目录下,然后用sysadmin登录,访问下/updateRules.jsp,等60s左右再测试功能
二、E8单点登录
/login/VerifyLogin.jsp
post loginid userpassword logintype=1 gopage登录跳转链接
三、E8流程提交、退回
注意:userid必须为下个节点的审批人,先获取下个节点审批人
四、sql
抄送批量提交语句
从待办到已办
-脚本说明:
--修改workflow_currentoperator表中的数据, 即可实现从待办到已办
--isremark=2表示已操作
--islasttimes=1表示这条数据是这个人对这个请求最后一次的流转操作
--userid:流程在谁的待办中, 需要改到已办中, 这里就填写谁的userid, 查询userid可以执行select id from hrmresource where lastname='姓名'
--isremark=8表示只修改那些"抄送不需提交"的流程
--workflowid:要更新哪个路径下的流程, 这里就填写哪个workflowid
update workflow_currentoperator set isremark='2',islasttimes='1' where userid='谁的待办需要删除, 这里就填写谁的id' and isremark='8' and workflowid in('哪个路径下的抄送需要更新,这里就填哪个路径的id','哪个路径下的抄送需要更新,这里就填哪个路径的id',...)
-------------查询表名
select distinct ba.workflowname ,bi.tablename from workflow_base ba
inner join workflow_bill bi on ba.formid=bi.id
where ba.workflowname='XXXXXX'
-------------查询字段
select f.fieldname,o.labelname,f.detailtable from workflow_billfield f
inner join workflow_bill b on f.billid = b.id
inner join HtmlLabelInfo o on f.fieldlabel = o.indexid
where o.languageid = 7 and b.tablename = 'formtable_main_397'
-----------
SELECT DISTINCT NODE.NODENAME "当前节点名称",
BASE.WORKFLOWNAME "工作流名称" FROM WORKFLOW_BASE BASE
INNER JOIN workflow_flownode B ON B.workflowid=BASE.ID
INNER JOIN WORKFLOW_NODEBASE NODE ON B.nodeid = NODE.id
WHERE
NODE.NODENAME LIKE '%出纳%' AND BASE.WORKFLOWNAME NOT LIKE '%作废%' AND isvalid=1
----------------查询流程的所有节点
select b.TYPENAME,a.WORKFLOWNAME,d.nodename
from workflow_base a
inner join workflow_Type b on a.workflowtype=b.id
inner join workflow_flownode c on c.workflowid=a.id
inner join workflow_nodebase d on d.id=c.nodeid
where b.id=81 and isvalid=1 order by WORKFLOWNAME,NODENAME asc
--《工作流单据信息表》 查 对应流程表单 ID
SELECT ID FROM workflow_bill WHERE TABLENAME='formtable_main_303'; --查询流程表单 ID
--《工作流单据字段表》 WHERE billid(单据ID) AND FIELDNAME(字段名) AND DETAILTABLE(明细表)
SELECT * FROM workflow_billfield WHERE billid=-303 AND FIELDNAME='sl'
SELECT * FROM workflow_billfield WHERE billid=-303 AND FIELDNAME='sl' AND DETAILTABLE='formtable_main_303_dt1'
--可修改表中浏览集成按钮绑定
--备份《工作流单据字段表》,保险起见可以备份下表
select * into workflow_billfield_bak20230726 from workflow_billfield
--更新 《工作流单据字段表》 fielddbtype(单据字段数据库类型) fielddbtype decimal(38,2) 改为 decimal(38,4) ,修改后重启服务。
UPDATE workflow_billfield SET fielddbtype = 'decimal(38,4)' WHERE fielddbtype='decimal(38,2)' AND billid=-303 AND FIELDNAME='sl' AND DETAILTABLE='formtable_main_303_dt1'
---
select a.nodeid,b.NODENAME,a.* from workflow_flownode a inner join workflow_nodebase b on a.NODEID=b.id where workflowid=19011 找出workflowid 对应节点
--------------查询上个节点与下个节点
select a.WORKFLOWID,a.nodeid,b.NODENAME as dqnodename,a.DESTNODEID,c.NODENAME as xgnodename,d.WORKFLOWNAME,d.activeVersionID,CASE WHEN H.VERSION IS NULL OR H.VERSION='' then 1 else H.VERSION end as activebb from workflow_nodelink a
inner join workflow_nodebase b on a.NODEID=b.id
inner join workflow_nodebase c on a.DESTNODEID=c.id
inner join workflow_base d on a.workflowid=d.id
inner join workflow_base H on D.activeVersionID=H.id
where b.NODENAME like '%XXXX%' and c.NODENAME like '%总裁%' and (a.isreject='' or a.isreject is null)
--------------------------查询审批人与下个审批人
select distinct a.REQUESTID,a.OPERATOR as dqjeryid,b.OPERATOR as xgjeryid,c.NODENAME,d.WORKFLOWNAME from WORKFLOW_REQUESTLOG a inner join WORKFLOW_REQUESTLOG b on a.REQUESTID=b.REQUESTID
inner join workflow_nodebase c on a.nodeid=c.id
inner join workflow_base d on a.workflowid=d.id
inner join HRMRESOURCE e on b.OPERATOR=e.id
where a.DESTNODEID=b.nodeid and b.OPERATOR not in('210','820') and a.OPERATOR='820' and e.seclevel>='90'
---------------------------岗位sql-------------
岗位sql调整需要调用JobTitlesComInfo.removeJobTitlesCache();清理缓存生效
SubCompanyComInfo scc = new SubCompanyComInfo(); ===分部
scc.removeCompanyCache();
DepartmentComInfo dc = new DepartmentComInfo(); ===部门
dc.removeCompanyCache();
JobTitlesComInfo jtc = new JobTitlesComInfo(); ===岗位
jtc.removeJobTitlesCache();
ResourceComInfo rci= new ResourceComInfo(); ==人员信息
rci.removeResourceCache();
----------------------------权限转移脚本-------------
---待办
SELECT COUNT(1) FROM (SELECT DISTINCT a.workflowId, a.requestId FROM Workflow_CurrentOperator a INNER JOIN workflow_base b ON a.workflowid=b.id WHERE b.isvalid IN ('1','3') AND a.userId=15434 AND a.isLastTimes=1 AND a.isRemark IN ('0','1','5','8','9','7') AND a.userType='0' ) temptab
--日程
select count(1) from workplan where status=0 and ','||resourceid||',' like '%,1605,%'
--文档所有者
select count(distinct id) from docdetail where (ishistory=0 or ishistory is null) and ownerid=1605
--已办
SELECT COUNT(1) FROM (SELECT DISTINCT a.workflowId, a.requestId FROM Workflow_CurrentOperator a INNER JOIN workflow_base b ON a.workflowid=b.id WHERE b.isvalid IN ('1','3') AND a.userId=15434 AND a.isLastTimes=1 AND a.isRemark IN ('2','4') AND a.userType='0' AND (a.isComplete=1 OR a.agenttype<>1) ) temptab
--角色
select count(roleid) from (select a.roleid from hrmrolemembers a left join hrmroles b on a.roleid = b.id where resourceid = 1605 and b.type = 0 group by a.roleid) a
--流程节点替换 人力资源
UPDATE Workflow_HrmOperator SET objid='15434' WHERE objid='1605'
UPDATE workflow_groupdetail SET objid='15434' WHERE type='3' AND objid='1605'
----流程操作节点数
SELECT COUNT(DISTINCT(wfng.id)) AS finishCount FROM workflow_nodegroup wfng INNER JOIN workflow_flownode wffn ON wffn.nodeid=wfng.nodeid WHERE wfng.id IN (SELECT wg.groupid FROM workflow_groupdetail wg WHERE wg.type='3' and exists(select 1 from Workflow_HrmOperator t2 where wg.id=t2.groupdetailid and t2.objid='15434')) and exists(select 1 from workflow_nodebase wfnb where wfnb.id = wfng.nodeid and (wfnb.IsFreeNode is null or wfnb.IsFreeNode!='1') )
----更新权限转移角色
update hrmrolemembers set resourceid = 243 where resourceid = 15434
----------js增加字段必填编辑JS
//设置字段必填(2)或可编辑(1)
function setFieldAttr(fieldid, fieldAttr) {
if (fieldAttr == 2) {
setFieldReadOnly(fieldid, false, fieldAttr);
var checkstr_ = $GetEle("needcheck").value + ",";
if (checkstr_.indexOf("field" + fieldid + ",") < 0) $GetEle("needcheck").value = checkstr_ + "field" + fieldid;
jQuery("#fieldfield" + fieldid).attr("viewtype", "1");
} else if (fieldAttr == 1) {
//去除必填标识
if (!!$GetEle('field' + fieldid + "spanimg")) {
$GetEle('field' + fieldid + "spanimg").innerHTML = "";
}
if (!!$GetEle('field' + fieldid + "span")) {
if ($GetEle('field' + fieldid + "span").innerHTML.indexOf("/images/BacoError_wev8.gif") > -1) {
$GetEle('field' + fieldid + "span").innerHTML = "";
}
}
try {
if ($GetEle('field_lable' + fieldid + "span")) {
if ($GetEle('field_lable' + fieldid + "span").innerHTML.indexOf("/images/BacoError_wev8.gif") > -1) {
$GetEle('field_lable' + fieldid + "span").innerHTML = "";
}
}
} catch (e) { }
setFieldReadOnly(fieldid, false, fieldAttr);
//提交校验必填
var checkstr__ = $GetEle("needcheck").value + ",";
document.all("needcheck").value = checkstr__.replace(new RegExp("field" + fieldid + ",", "g"), "");
jQuery("#fieldfield" + fieldid).attr("viewtype", "0");
}
}
setFieldAttr("37603_" + i, 2);
setFieldReadOnly("37475_" + j, true, 1); ===设置只读
================================================
/**
* 给输入框绑定事件
* @param {*} fieldId 输入框字段id
* @param {*} eventFn 检查事件函数
*/
function bindCheckEventOnInput(fieldId,eventFn){
var oldCheckinput2 = window.checkinput2;//存放原检查函数
window.checkinput2 = function(eId, eSpanId, viewType) {
if(eId==fieldId){//当字段id为指定id,执行自定义事件
eventFn();
}
return oldCheckinput2(eId, eSpanId, viewType);//执行原检查函数
};
}
bindCheckEventOnInput("field34833_"+i,function(){
//文本框改变后逻辑
})
cus_setInputFieldValue("field34838_"+i,"赋值value"); ====为文本款赋值
=================================
资料