diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/QyWxOperationController.java b/src/main/java/com/dreamchaser/depository_manage/controller/QyWxOperationController.java index f683f9c2..570b0ade 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/QyWxOperationController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/QyWxOperationController.java @@ -35,10 +35,7 @@ import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.time.Instant; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.concurrent.TimeUnit; @@ -152,8 +149,7 @@ public class QyWxOperationController { PrintWriter writer = response.getWriter(); writer.println(sEchoStr); writer.close(); - } - else { + } else { // 如果是响应事件 String ToUserName = (String) map.get("ToUserName"); @@ -496,8 +492,7 @@ public class QyWxOperationController { PrintWriter writer = response.getWriter(); writer.println(sEchoStr); writer.close(); - } else - { + } else { String ToUserName = (String) map.get("ToUserName"); String Encrypt = (String) map.get("Encrypt"); String AgentID = (String) map.get("AgentID"); @@ -533,6 +528,8 @@ public class QyWxOperationController { // 设置当前审批是否为仓库管理员(1为部门负责人,2为仓储中心,3为仓库管理员) int flagForDepository = 1; // 默认为部门负责人 + // 定义当前审批人的企业微信uid列表 + List approverQyWxUid = new ArrayList<>(); // 定义已完成审批的节点数 int approval_count = 0; @@ -559,6 +556,8 @@ public class QyWxOperationController { // 如果当前审批节点已经处理 if (!("0".equals(spTime))) { + // 添加当前审批节点人的uid + approverQyWxUid.add(ad.getApprover().getUserId()); // 设置当前处理的详情 ap_detail = ad; @@ -614,12 +613,11 @@ public class QyWxOperationController { // 获取第二个节点数据 ApprovalInfo_SpRecord approvalInfo_spRecord = null; - if (spRecord_list.size() > 1 && spRecord_list.size() <= 4) { + if (spRecord_list.size() > 1 && spRecord_list.size() < 4) { // 如果审批节点数大于1小于等于4 approvalInfo_spRecord = spRecord_list.get(1); } if (approvalInfo_spRecord != null) { - // 获取第二个节点中审批人信息 List details = approvalInfo_spRecord.getDetails(); // 定义当前是否为标签 @@ -673,20 +671,39 @@ public class QyWxOperationController { } } + else { + // 如果为空则代表是中心仓下的办公用品库 + + int size = approverQyWxUid.size(); + if (size == 1) { + // 如果当前审批节点为第一个即部门负责人 + flagForFirst = true; + flagForDepository = 11; + } else if (size == 2) { + // 如果当前审批节点为第二个即平衡岗 + flagForFirst = true; + flagForDepository = 12; + } else if (size == 3) { + // 如果当前审批节点为综合办负责人 + flagForFirst = false; + flagForDepository = 2; + } else { + // 如果不是有操作的审批节点 + flagForDepository = 3; + } + } // 开启一个线程用于进行处理 ApprovalInfo_Details finalApprovalInfo_details = approvalInfo_details; boolean finalFlagForFirst = flagForFirst; int finalFlagForDepository = flagForDepository; HandlesOtherFunctionalThreadPool.execute(() -> depositoryRecordService.reviewByQyWxApprovalOut(mainId, finalApprovalInfo_details, crypt, spStatus, approvalInfo.getSpNo(), finalFlagForFirst, finalFlagForDepository)); - } - else if (QyWxConfig.stockTaking_approval_template_id.equals(approvalInfo.getTemplateId())) { + } else if (QyWxConfig.stockTaking_approval_template_id.equals(approvalInfo.getTemplateId())) { // 如果是库存盘点审批 // 开启一个线程用于进行处理 ApprovalInfo_Details finalApprovalInfo_details = approvalInfo_details; HandlesOtherFunctionalThreadPool.execute(() -> stockTakingService.reviewByQyWxApproval(mainId, finalApprovalInfo_details, crypt, spStatus, approvalInfo.getSpNo())); - } - else if (QyWxConfig.in_approval_template_id.equals(approvalInfo.getTemplateId())) { + } else if (QyWxConfig.in_approval_template_id.equals(approvalInfo.getTemplateId())) { // 如果是入库审批 // 开启一个线程用于进行处理 ApprovalInfo_Details finalApprovalInfo_details = approvalInfo_details; diff --git a/src/test/java/com/dreamchaser/depository_manage/SomeTest.java b/src/test/java/com/dreamchaser/depository_manage/SomeTest.java index 95556379..fc28600c 100644 --- a/src/test/java/com/dreamchaser/depository_manage/SomeTest.java +++ b/src/test/java/com/dreamchaser/depository_manage/SomeTest.java @@ -226,6 +226,7 @@ public class SomeTest { flagForDepository = 3; } } + ApprovalInfo_Details finalApprovalInfo_details = approvalInfo_details; boolean finalFlagForFirst = flagForFirst; int finalFlagForDepository = flagForDepository;