Ver Fonte

专业处室审批

yuedefeng há 5 anos atrás
pai
commit
61036d90b7

+ 36 - 0
src/main/java/com/common/workflow/service/activiti/supplierListener/CheckNeedPayService.java

@@ -0,0 +1,36 @@
+package com.common.workflow.service.activiti.supplierListener;
+
+import com.common.workflow.service.util.HttpRequest;
+import org.activiti.engine.ActivitiException;
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+
+/**
+ * Created by gyue on 2019-04-01.
+ */
+@Component("checkNeedPayService")
+public class CheckNeedPayService implements TaskListener {
+
+    @Override
+    public void notify(DelegateTask delegateTask) {
+        String callbackUrl = delegateTask.getVariable("callbackUrl").toString();
+        // String processKey = delegateTask.getVariable("processKey").toString();
+        String bussinessKey = delegateTask.getVariable("bussinessKey").toString();
+
+        String approveUrl = callbackUrl + "/suppliercert-listener/check-need-pay";
+
+        String result = "";
+        if (callbackUrl.length() > 0) {
+            result = HttpRequest.sendGet(approveUrl, "bussinessKey=" + bussinessKey);
+        } else {
+            throw new ActivitiException("无回调地址,请联系管理员!");
+        }
+        if (result.length() <= 0) {
+            throw new ActivitiException("无是否交费返回结果,请联系管理员!");
+        }
+        delegateTask.setVariable("result", result);
+    }
+}

+ 34 - 0
src/main/java/com/common/workflow/service/activiti/supplierListener/PreFenTrailService.java

@@ -0,0 +1,34 @@
+package com.common.workflow.service.activiti.supplierListener;
+
+import com.common.workflow.service.util.HttpRequest;
+import org.activiti.engine.ActivitiException;
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+
+@Component("preFenTrailService")
+public class PreFenTrailService  implements TaskListener {
+
+    @Override
+    public void notify(DelegateTask delegateTask) {
+        String callbackUrl = delegateTask.getVariable("callbackUrl").toString();
+        // String processKey = delegateTask.getVariable("processKey").toString();
+        String bussinessKey = delegateTask.getVariable("bussinessKey").toString();
+
+        String approveUrl = callbackUrl + "/suppliercert-listener/pre-fen-trail";
+
+        String approveIds = "";
+        if (callbackUrl.length() > 0) {
+            approveIds = HttpRequest.sendGet(approveUrl, "bussinessKey=" + bussinessKey);
+        } else {
+            throw new ActivitiException("无回调地址,请联系管理员!");
+        }
+        if (approveIds.length() <= 0) {
+            throw new ActivitiException("未找到审核用户,请联系管理员!");
+        }
+        delegateTask.addCandidateUsers(Arrays.asList(approveIds.split(",")));
+    }
+}
+

+ 33 - 0
src/main/java/com/common/workflow/service/activiti/supplierListener/PreFirstTrailService.java

@@ -0,0 +1,33 @@
+package com.common.workflow.service.activiti.supplierListener;
+
+import com.common.workflow.service.util.HttpRequest;
+import org.activiti.engine.ActivitiException;
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+
+@Component("preFirstTrailService")
+public class PreFirstTrailService implements TaskListener {
+
+    @Override
+    public void notify(DelegateTask delegateTask) {
+        String callbackUrl = delegateTask.getVariable("callbackUrl").toString();
+        // String processKey = delegateTask.getVariable("processKey").toString();
+        String bussinessKey = delegateTask.getVariable("bussinessKey").toString();
+
+        String approveUrl = callbackUrl + "/suppliercert-listener/pre-first-trail";
+
+        String approveIds = "";
+        if (callbackUrl.length() > 0) {
+            approveIds = HttpRequest.sendGet(approveUrl, "bussinessKey=" + bussinessKey);
+        } else {
+            throw new ActivitiException("无回调地址,请联系管理员!");
+        }
+        if (approveIds.length() <= 0) {
+            throw new ActivitiException("未找到审核用户,请联系管理员!");
+        }
+        delegateTask.addCandidateUsers(Arrays.asList(approveIds.split(",")));
+    }
+}

+ 33 - 0
src/main/java/com/common/workflow/service/activiti/supplierListener/PreProfAuditService.java

@@ -0,0 +1,33 @@
+package com.common.workflow.service.activiti.supplierListener;
+
+import com.common.workflow.service.util.HttpRequest;
+import org.activiti.engine.ActivitiException;
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+
+@Component("preProfAuditService")
+public class PreProfAuditService  implements TaskListener {
+
+    @Override
+    public void notify(DelegateTask delegateTask) {
+        String callbackUrl = delegateTask.getVariable("callbackUrl").toString();
+        // String processKey = delegateTask.getVariable("processKey").toString();
+        String bussinessKey = delegateTask.getVariable("bussinessKey").toString();
+
+        String approveUrl = callbackUrl + "/suppliercert-listener/pre-first-trail";
+
+        String approveIds = "";
+        if (callbackUrl.length() > 0) {
+            approveIds = HttpRequest.sendGet(approveUrl, "bussinessKey=" + bussinessKey);
+        } else {
+            throw new ActivitiException("无回调地址,请联系管理员!");
+        }
+        if (approveIds.length() <= 0) {
+            throw new ActivitiException("未找到审核用户,请联系管理员!");
+        }
+        delegateTask.addCandidateUsers(Arrays.asList(approveIds.split(",")));
+    }
+}

+ 33 - 0
src/main/java/com/common/workflow/service/activiti/supplierListener/PreSecondTrailService.java

@@ -0,0 +1,33 @@
+package com.common.workflow.service.activiti.supplierListener;
+
+import com.common.workflow.service.util.HttpRequest;
+import org.activiti.engine.ActivitiException;
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+
+@Component("preSecondTrailService")
+public class PreSecondTrailService implements TaskListener {
+
+    @Override
+    public void notify(DelegateTask delegateTask) {
+        String callbackUrl = delegateTask.getVariable("callbackUrl").toString();
+        // String processKey = delegateTask.getVariable("processKey").toString();
+        String bussinessKey = delegateTask.getVariable("bussinessKey").toString();
+
+        String approveUrl = callbackUrl + "/suppliercert-listener/pre-second-trail";
+
+        String approveIds = "";
+        if (callbackUrl.length() > 0) {
+            approveIds = HttpRequest.sendGet(approveUrl, "bussinessKey=" + bussinessKey);
+        } else {
+            throw new ActivitiException("无回调地址,请联系管理员!");
+        }
+        if (approveIds.length() <= 0) {
+            throw new ActivitiException("未找到审核用户,请联系管理员!");
+        }
+        delegateTask.addCandidateUsers(Arrays.asList(approveIds.split(",")));
+    }
+}

+ 33 - 0
src/main/java/com/common/workflow/service/activiti/supplierListener/PreThirdTrialService.java

@@ -0,0 +1,33 @@
+package com.common.workflow.service.activiti.supplierListener;
+
+import com.common.workflow.service.util.HttpRequest;
+import org.activiti.engine.ActivitiException;
+import org.activiti.engine.delegate.DelegateTask;
+import org.activiti.engine.delegate.TaskListener;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+
+@Component("preThirdTrialService")
+public class PreThirdTrialService  implements TaskListener {
+
+    @Override
+    public void notify(DelegateTask delegateTask) {
+        String callbackUrl = delegateTask.getVariable("callbackUrl").toString();
+        // String processKey = delegateTask.getVariable("processKey").toString();
+        String bussinessKey = delegateTask.getVariable("bussinessKey").toString();
+
+        String approveUrl = callbackUrl + "/suppliercert-listener/pre-thrid-trail";
+
+        String approveIds = "";
+        if (callbackUrl.length() > 0) {
+            approveIds = HttpRequest.sendGet(approveUrl, "bussinessKey=" + bussinessKey);
+        } else {
+            throw new ActivitiException("无回调地址,请联系管理员!");
+        }
+        if (approveIds.length() <= 0) {
+            throw new ActivitiException("未找到审核用户,请联系管理员!");
+        }
+        delegateTask.addCandidateUsers(Arrays.asList(approveIds.split(",")));
+    }
+}

+ 1 - 1
src/main/java/com/common/workflow/web/rest/errors/ErrorConstants.java

@@ -6,7 +6,7 @@ public final class ErrorConstants {
 
     public static final String ERR_CONCURRENCY_FAILURE = "error.concurrencyFailure";
     public static final String ERR_VALIDATION = "error.validation";
-    public static final String PROBLEM_BASE_URL = "https://www.jhipster.tech/problem";
+    public static final String PROBLEM_BASE_URL = "";
     public static final URI DEFAULT_TYPE = URI.create(PROBLEM_BASE_URL + "/problem-with-message");
     public static final URI CONSTRAINT_VIOLATION_TYPE = URI.create(PROBLEM_BASE_URL + "/constraint-violation");
     public static final URI PARAMETERIZED_TYPE = URI.create(PROBLEM_BASE_URL + "/parameterized");

+ 29 - 8
src/main/resources/processes/oil_enuser_supplier_apply.bpmn20.xml

@@ -3,17 +3,38 @@
   <process id="oil_enuser_supplier_apply" name="oil_enuser_supplier_apply" isExecutable="true">
     <documentation>准入审批流程</documentation>
     <startEvent id="sid-9A4918D7-8376-4A00-928A-6415D92565EC" name="开始"></startEvent>
-    <userTask id="sid-D9679422-EE83-4AD7-8A06-51A8BAC2A397" name="二级单位分办" activiti:candidateUsers="${users}"></userTask>
-    <userTask id="sid-A6FC1B75-D365-4060-8F2D-797DAD1399EF" name="业务处室专业审批" activiti:candidateUsers="${users}"></userTask>
+    <userTask id="sid-D9679422-EE83-4AD7-8A06-51A8BAC2A397" name="二级单位分办" activiti:candidateUsers="${users}">
+      <extensionElements>
+        <activiti:executionListener event="start" delegateExpression="${preFenTrailService}"></activiti:executionListener>
+        <activiti:taskListener event="create" delegateExpression="${secondLevelApproveService}"></activiti:taskListener>
+      </extensionElements>
+    </userTask>
+    <userTask id="sid-A6FC1B75-D365-4060-8F2D-797DAD1399EF" name="业务处室专业审批" activiti:candidateUsers="${users}">
+      <extensionElements>
+        <activiti:executionListener event="start" delegateExpression="${preProfAuditService}"></activiti:executionListener>
+      </extensionElements>
+    </userTask>
     <exclusiveGateway id="sid-A41AC05B-4D7E-4159-80B2-CE3B0B60AF23"></exclusiveGateway>
-    <userTask id="sid-8F39C647-A0E2-46F8-B184-51BF40E93546" name="二级单位复审" activiti:candidateUsers="${users}"></userTask>
+    <userTask id="sid-8F39C647-A0E2-46F8-B184-51BF40E93546" name="二级单位复审" activiti:candidateUsers="${users}">
+      <extensionElements>
+        <activiti:executionListener event="start" delegateExpression="${preSecondTrailService}"></activiti:executionListener>
+      </extensionElements>
+    </userTask>
     <exclusiveGateway id="sid-E178BD57-68C0-4C23-8952-143905257209"></exclusiveGateway>
-    <userTask id="sid-8C5C2380-44D8-4A61-A5C7-1DC85F57E3AF" name="二级单位初审" activiti:candidateUsers="${users}"></userTask>
+    <userTask id="sid-8C5C2380-44D8-4A61-A5C7-1DC85F57E3AF" name="二级单位初审" activiti:candidateUsers="${users}">
+      <extensionElements>
+        <activiti:executionListener event="start" delegateExpression="${preFirstTrailService}"></activiti:executionListener>
+      </extensionElements>
+    </userTask>
     <exclusiveGateway id="sid-C9D007EC-DA5F-480E-A280-EBF70615C514"></exclusiveGateway>
     <userTask id="sid-7937AEA9-F0D6-4FF1-9E7F-23238B42D7A3" name="集中评审" activiti:candidateUsers="${users}"></userTask>
     <endEvent id="sid-2AC44FDA-FEF7-4D32-A690-54A5C6AAF46D"></endEvent>
     <sequenceFlow id="sid-8CFFAD62-3714-4072-BB0E-847F0F1CED8D" sourceRef="sid-8F39C647-A0E2-46F8-B184-51BF40E93546" targetRef="sid-E178BD57-68C0-4C23-8952-143905257209"></sequenceFlow>
-    <userTask id="sid-C18EB968-3E14-4BAF-9DEF-D767CA546066" name="业务处室接收" activiti:candidateUsers="${users}"></userTask>
+    <userTask id="sid-C18EB968-3E14-4BAF-9DEF-D767CA546066" name="业务处室接收" activiti:candidateUsers="${users}">
+      <extensionElements>
+        <activiti:executionListener event="start" delegateExpression="${preThirdTrialService}"></activiti:executionListener>
+      </extensionElements>
+    </userTask>
     <userTask id="sid-F49D476A-2CDD-4A35-8212-D88BA71F604E" name="评审准入" activiti:assignee="${recorder}">
       <extensionElements>
         <modeler:initiator-can-complete xmlns:modeler="http://activiti.com/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
@@ -54,9 +75,6 @@
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${result==1}]]></conditionExpression>
     </sequenceFlow>
     <sequenceFlow id="sid-6A7B4FFF-D815-4522-93E3-ACA3E92104EE" sourceRef="sid-FA63BEF0-2F3E-4A13-BEB8-286C4AA9F600" targetRef="sid-2AC44FDA-FEF7-4D32-A690-54A5C6AAF46D"></sequenceFlow>
-    <sequenceFlow id="sid-D683E891-1671-40A6-9103-C03866D0640B" name="通过不缴费" sourceRef="sid-025875DE-EAC2-4FBC-B4A4-91377D669895" targetRef="sid-FA63BEF0-2F3E-4A13-BEB8-286C4AA9F600">
-      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${result==2}]]></conditionExpression>
-    </sequenceFlow>
     <sequenceFlow id="sid-E19E2941-6B2A-4114-B292-5D789BA0959A" name="通过" sourceRef="sid-A41AC05B-4D7E-4159-80B2-CE3B0B60AF23" targetRef="sid-7937AEA9-F0D6-4FF1-9E7F-23238B42D7A3">
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${result==1}]]></conditionExpression>
     </sequenceFlow>
@@ -64,6 +82,9 @@
       <conditionExpression xsi:type="tFormalExpression"><![CDATA[${result==0}]]></conditionExpression>
     </sequenceFlow>
     <exclusiveGateway id="sid-025875DE-EAC2-4FBC-B4A4-91377D669895"></exclusiveGateway>
+    <sequenceFlow id="sid-D683E891-1671-40A6-9103-C03866D0640B" name="通过不缴费" sourceRef="sid-025875DE-EAC2-4FBC-B4A4-91377D669895" targetRef="sid-FA63BEF0-2F3E-4A13-BEB8-286C4AA9F600">
+      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${result==2}]]></conditionExpression>
+    </sequenceFlow>
     <sequenceFlow id="sid-D6C377D7-98CC-4D68-B577-22E60AD1578A" name="不集中评审" sourceRef="sid-A41AC05B-4D7E-4159-80B2-CE3B0B60AF23" targetRef="sid-025875DE-EAC2-4FBC-B4A4-91377D669895">
       <extensionElements>
         <activiti:executionListener event="end" delegateExpression="${checkNeedPayService}"></activiti:executionListener>