ソースを参照

准入申请:修改检查是否集中评审 是否交费的结果判断,增加企管法规处审批节点。

baichengfei 5 年 前
コミット
483bd53254

+ 2 - 8
src/main/java/com/common/workflow/service/activiti/supplierListener/CheckNeedConcentrateAuditService.java

@@ -21,18 +21,10 @@ public class CheckNeedConcentrateAuditService implements ExecutionListener {
         String callbackUrl = delegateExecution.getVariable("callbackUrl").toString();
         if (result.equals("1")) {
             String businessKey = delegateExecution.getVariable("businessKey").toString();
-            // ApproveParamsDTO approveParams = new ApproveParamsDTO();
-            // approveParams.setBusinessKey(businessKey);
-
             String approveUrl = callbackUrl + "/suppliercert-listener/check-need-concentrate-audit";
             String isConcentrateAudit = "0";
             if (callbackUrl.length() > 0) {
                 isConcentrateAudit = HttpRequest.sendGet(approveUrl, "businessKey=" + businessKey);
-                // FeignClient client = Feign.builder()
-                //     .decoder(new JacksonDecoder())
-                //     .encoder(new JacksonEncoder())
-                //     .target(FeignClient.class, callbackUrl);
-                // isConcentrateAudit = client.checkNeedConcentrateAudit(approveParams);
             } else {
                 throw new ActivitiException("无回调地址,请联系管理员!");
             }
@@ -40,6 +32,8 @@ public class CheckNeedConcentrateAuditService implements ExecutionListener {
                 throw new ActivitiException("准入类型评审方式错误!请联系管理员");
             }
             System.out.println("准入工作流 检查是否集中评审: " + isConcentrateAudit);
+            delegateExecution.setVariable("isConcentrateAudit", isConcentrateAudit);
+            delegateExecution.setVariableLocal("isConcentrateAudit", isConcentrateAudit);
             delegateExecution.setVariable("result", isConcentrateAudit);
             delegateExecution.setVariableLocal("result", isConcentrateAudit);
             delegateExecution.setVariable("businessKey", businessKey);

+ 8 - 7
src/main/java/com/common/workflow/service/activiti/supplierListener/CheckNeedPayService.java

@@ -24,26 +24,27 @@ public class CheckNeedPayService implements ExecutionListener {
     public void notify(DelegateExecution delegateExecution) {
         String callbackUrl = delegateExecution.getVariable("callbackUrl").toString();
         String businessKey = delegateExecution.getVariable("businessKey").toString();
+        String isConcentrateAudit = delegateExecution.getVariable("isConcentrateAudit").toString();
         String  result = delegateExecution.getVariable("result").toString();
-        // ApproveParamsDTO approveParams = new ApproveParamsDTO();
-        // approveParams.setBusinessKey(businessKey);
 
         if (!result.equals("0")) {
             String approveUrl = callbackUrl + "/suppliercert-listener/check-need-pay";
             String isPay = "0";
             if (callbackUrl.length() > 0) {
                 isPay = HttpRequest.sendGet(approveUrl, "businessKey=" + businessKey);
-                // FeignClient client = Feign.builder()
-                //     .decoder(new JacksonDecoder())
-                //     .encoder(new JacksonEncoder())
-                //     .target(FeignClient.class, callbackUrl);
-                // isPay = client.checkNeedPay(approveParams);
             } else {
                 throw new ActivitiException("无回调地址,请联系管理员!");
             }
             if (isPay.equals("0")) {
                 throw new ActivitiException("准入类型是否付费有误!请联系管理员!");
             }
+            // 集中评审(1)交费(1)       isPay=1
+            // 集中评审(1)不交费(2)     isPay=2
+            // 不集中评审(2)交费(1)     isPay=3
+            // 不集中评审(2)不交费(2)    isPay=2
+            if (isConcentrateAudit.equals("2") && isPay.equals("1")) {
+                isPay = "3"; // 不集中评审但交费,需经企管法规处审批后再交费。
+            }
             System.out.println("准入工作流 检查是否交费: " + isPay);
             delegateExecution.setVariable("result", isPay);
             delegateExecution.setVariableLocal("result", isPay);

+ 44 - 0
src/main/java/com/common/workflow/service/activiti/supplierListener/LawOfficeAuditService.java

@@ -0,0 +1,44 @@
+package com.common.workflow.service.activiti.supplierListener;
+
+import com.common.workflow.service.client.FeignClient;
+import com.common.workflow.service.dto.ApproveInfoDTO;
+import com.common.workflow.service.dto.ApproveParamsDTO;
+import feign.Feign;
+import feign.jackson.JacksonDecoder;
+import feign.jackson.JacksonEncoder;
+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("lawOfficeAuditService")
+public class LawOfficeAuditService implements TaskListener {
+    // 企业法规处审核, 非入库
+    @Override
+    public void notify(DelegateTask delegateTask) {
+        String callbackUrl = delegateTask.getVariable("callbackUrl").toString();
+        String businessKey = delegateTask.getVariable("businessKey").toString();
+        ApproveParamsDTO approveParams = new ApproveParamsDTO();
+        approveParams.setBusinessKey(businessKey);
+        ApproveInfoDTO approveInfo = null;
+        String approveInfoJson = "";
+        if (callbackUrl.length() > 0) {
+            FeignClient client = Feign.builder()
+                .decoder(new JacksonDecoder())
+                .encoder(new JacksonEncoder())
+                .target(FeignClient.class, callbackUrl);
+            approveInfo = client.getLawOfficeAuditors(approveParams);
+        } else {
+            throw new ActivitiException("无回调地址,请联系管理员!");
+        }
+        if (approveInfo.getUsers().length() <= 0) {
+            throw new ActivitiException("未找到审核用户,请联系管理员!");
+        }
+        System.out.println("准入申请工作流 获取企业法规处审核审核人: " + approveInfo.getUsers());
+        delegateTask.setVariable("users", approveInfo.getUsers());
+        delegateTask.setVariableLocal("users", approveInfo.getUsers());
+        delegateTask.addCandidateUsers(Arrays.asList(approveInfo.getUsers().split(",")));
+    }
+}

+ 2 - 1
src/main/java/com/common/workflow/service/activiti/supplierListener/WorkflowEndService.java

@@ -18,12 +18,13 @@ public class WorkflowEndService implements TaskListener {
         String callbackUrl = delegateTask.getVariable("callbackUrl").toString();
         // String processKey = delegateTask.getVariable("processKey").toString();
         String businessKey = delegateTask.getVariable("businessKey").toString();
+        String result = delegateTask.getVariable("result").toString();
 
         String approveUrl = callbackUrl + "/suppliercert-listener/workflow-end";
 
         String res = "0";
         if (callbackUrl.length() > 0) {
-            res = HttpRequest.sendGet(approveUrl, "businessKey=" + businessKey);
+            res = HttpRequest.sendGet(approveUrl, "businessKey=" + businessKey + "&result=" + result);
         } else {
             throw new ActivitiException("无回调地址,请联系管理员!");
         }

+ 3 - 3
src/main/java/com/common/workflow/service/client/FeignClient.java

@@ -20,9 +20,9 @@ public interface FeignClient {
     // @RequestLine("POST /suppliercert-listener/check-need-concentrate-audit")
     // String checkNeedConcentrateAudit(@RequestBody ApproveParamsDTO approveParamsDTO);
 
-    // @Headers({"Content-Type: application/json","Accept: application/json"})
-    // @RequestLine("POST /suppliercert-listener/check-need-pay")
-    // String checkNeedPay(@RequestBody ApproveParamsDTO approveParamsDTO);
+    @Headers({"Content-Type: application/json","Accept: application/json"})
+    @RequestLine("POST /suppliercert-listener/law-office-auditors")
+    ApproveInfoDTO getLawOfficeAuditors(@RequestBody ApproveParamsDTO approveParamsDTO);
 
     @Headers({"Content-Type: application/json","Accept: application/json"})
     @RequestLine("POST /suppliercert-listener/pre-concentrate-audit")