泛微日常开发

  一、免登录,免白名单配置

       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"); ====为文本款赋值

=================================

资料

泛微Ecology8.0二次开发指导手册_泛微e8二次开发-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值