Browse Source

采购计划事件

zhenghao 3 months ago
parent
commit
59636ae39b
1 changed files with 0 additions and 111 deletions
  1. 0
    111
      src/main/java/com/horizon/wf/core/rule/purPurchasePlanRule.java

+ 0
- 111
src/main/java/com/horizon/wf/core/rule/purPurchasePlanRule.java View File

@@ -1,111 +0,0 @@
1
-package com.horizon.wf.core.rule;
2
-
3
-import cn.hutool.http.HttpUtil;
4
-import com.horizon.common.constant.Constants;
5
-import com.horizon.wf.bean.WorkParaBean;
6
-import com.horizon.wf.core.runtime.RunningData;
7
-import com.horizon.wf.definition.pub.IFlowNode;
8
-import com.horizon.wf.entity.db.DBTrack;
9
-import com.horizon.wf.entity.db.DBWork;
10
-import com.horizon.wf.entity.user.IRunUser;
11
-import com.horizon.wf.global.StaticVarExtend;
12
-
13
-import java.util.HashMap;
14
-import java.util.List;
15
-import java.util.Map;
16
-
17
-/**
18
- * 合同业务相关的事件触发器
19
- * 用于更新合同状态
20
- */
21
-public class purPurchasePlanRule extends BaseRuleImpl implements IBaseRule {
22
-
23
-    /**
24
-     * 具体的实现,参考下面方法中的说明,所有的实现都差不多结构,
25
-     * 只有自定义的异常处理接口实现中是没有传入 runningdata的.
26
-     * 不同的接口 仅仅是额外传入的参数有些差异,额外的参数多数都是可以从runningdata中获取的
27
-     * 系统为了方便接口的实现,额外传入了一些认为会用到的参数
28
-     *
29
-     * @return
30
-     */
31
-    @Override
32
-    public boolean executeRule() {
33
-        // 从引擎获取到核心数据对象(如果接口没有额外传入需要的数据时,可以从此对象中获取)
34
-        RunningData runningdata = getRunningdata();
35
-        Map<String, String> flowVar = runningdata.getFlowVar().getAllFlowVarMap();
36
-
37
-        //事件处理类额外传入参数
38
-        // 1.执行事件的节点对象
39
-        IFlowNode eventNode = (IFlowNode) getParameter(StaticVarExtend.Parameter_IFlowNode);
40
-
41
-        // 2.当前节点对象
42
-        IFlowNode curNode = (IFlowNode) getParameter(StaticVarExtend.Parameter_Current_IFlowNode);
43
-        // 3.引擎调用时,传入的参数对象
44
-        WorkParaBean paraBean = (WorkParaBean) getParameter(StaticVarExtend.Parameter_WorkParaBean);
45
-        // Map<String, String> varMap = paraBean.getFlowVarMap();
46
-        String action = paraBean.getActionname();
47
-        // 4.当前实例对象
48
-        DBWork work = (DBWork) getParameter(StaticVarExtend.Parameter_DBWork);
49
-        // 5.当前执行人对象
50
-        IRunUser user = (IRunUser) getParameter(StaticVarExtend.Parameter_RunUser);
51
-        // 6.当前路径对象
52
-        DBTrack track = (DBTrack) getParameter(StaticVarExtend.Parameter_DBTrack);
53
-        int status = track.getFlowstatus();
54
-        String nodeId = track.getNodeid();
55
-        String statusName = track.getFunname();
56
-        String nodeName = track.getNodename();
57
-        // 7.需要保存的SQL数据如果需要引擎来保存,请放入此 map中(key=SQL,value=List为SQL中对应的参数)
58
-        Map<String, List<Object>> dataMap = (Map<String, List<Object>>) getParameter(StaticVarExtend.Parameter_SaveMap);
59
-        // 8.事件类型
60
-        String eventType = (String) getParameter("eventType");
61
-        // 9.事件实际执行内容
62
-        // 10.返回 true 表示执行成功,引擎从第7步中的dataMap里获取需要保存的数据,引擎继续往下执行,
63
-        // 返回 false表示执行失败, 引擎会根据事件类型,确定是否继续往下执行
64
-
65
-        System.err.println(
66
-                ",status:" + status +
67
-                        ",nodeId:" + nodeId +
68
-                        ",nodeName:" + nodeName +
69
-                        ",statusName:" + statusName +
70
-                        ",action:" + action +
71
-                        ",eventNodeId:" + eventNode.getNodeid() +
72
-                        ",eventNodeName:" + eventNode.getNodename());
73
-
74
-        if (eventNode.getNodeid().contains("End")) {
75
-            status = 170;
76
-        } else if (eventNode.getNodeid().equals("Node1")) {
77
-            if (statusName.equals("JumpReject") || statusName.equals("Reject")) {
78
-                status = 130;
79
-            } else if (statusName.equals("Getback")) {
80
-                status = 190;
81
-            } else if (statusName.equals("autofirst")) {
82
-                status = 110;
83
-            }
84
-        } else {
85
-            status = 110;
86
-        }
87
-
88
-        // 业务使用
89
-        // flowVar就是业务传递过来的参数集
90
-        // 获取这里面的变量需要在流程中配置——流程建模时,右键——**属性设置——流程变量——添加变量——要不然获取不到变量
91
-        final String url = Constants.WF_PRE_URL + "/pur/PurchasePlanHead/horizonApprovalProcess";
92
-        System.err.println(flowVar.toString());
93
-        String id = flowVar.get("id");
94
-        final Map<String, Object> params = new HashMap<>();
95
-        params.put("id", id);
96
-        params.put("processInstanceStatus", status);
97
-        Constants.EXECUTOR_SERVICE.submit(new Runnable() {
98
-            @Override
99
-            public void run() {
100
-                // final url params
101
-                String result = HttpUtil.post(url, params);
102
-                System.err.println("result:" + result);
103
-            }
104
-        });
105
-//        String result = HttpUtil.post(url, params);
106
-//        System.err.println("result:" + result);
107
-        return true;
108
-    }
109
-}
110
-
111
-

Loading…
Cancel
Save