From a078ceed8bbee3e22183bc1e1fa5d5b9e4090bae Mon Sep 17 00:00:00 2001 From: erdanergou Date: Mon, 12 Jun 2023 13:35:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=87=BA=E5=BA=93=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E4=B8=BA=E5=A4=87=E5=93=81=E5=A4=87=E4=BB=B6=E5=BA=93?= =?UTF-8?q?=E6=97=B6=E7=AC=AC=E4=B8=80=E4=B8=AA=E8=8A=82=E7=82=B9=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E8=AE=BE=E5=A4=87=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/QyWxOperationService.java | 95 +++++++++++++------ 1 file changed, 64 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java index d22e78ff..425ed0ec 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java @@ -1446,31 +1446,11 @@ public class QyWxOperationService { List approval_template_approver_list = new ArrayList<>(); - List userIdList = new ArrayList<>(); - List departmentHeadForUserToken = PublicConfig.findDepartmentHeadByUser(applicantUser.getMaindeparment(), userKey, token); - for (UserByPort departmentHead : departmentHeadForUserToken - ) { - String departmentHeadWorkwechat = departmentHead.getWorkwechat(); - if (departmentHeadWorkwechat == null || "".equals(departmentHeadWorkwechat)) { - departmentHeadWorkwechat = departmentHead.getWechat(); - } - userIdList.add(departmentHeadWorkwechat); - } - // 获取当前登录用户部门与企业微信部门对照 JSONObject userPortByQyWx = PublicConfig.getUserPortByQyWx(applicantUser.getMaindeparment()); String portName = userPortByQyWx.getString("name"); Integer portByQyWxInteger = userPortByQyWx.getInteger("wechatorganizationid"); - // 用于设置部门负责人流程 - Approval_template_approver approval_template_approver_departMentHeader = new Approval_template_approver(); - approval_template_approver_departMentHeader.setAttr(1); - userIdList = new ArrayList<>(Collections.singleton("PangFuZhen")); - approval_template_approver_departMentHeader.setUserid(userIdList); - - - approval_template_approver_list.add(approval_template_approver_departMentHeader); - // 审批申请数据,可定义审批申请中各个控件的值,其中必填项必须有值,选填项可为空,数据结构同“获取审批申请详情”接口返回值中同名参数“apply_data” Approval_template_apply_data approval_template_apply_data = new Approval_template_apply_data(); @@ -1563,7 +1543,8 @@ public class QyWxOperationService { // 设置标志位,用于标志是否全为办公用品库或消防用品库 - boolean flag = true; + // 设置标志位。1为前置仓,2为中心仓,11为前置仓下的办公用品库,12为前置仓下的备品备件库,13为前置仓下的消防用品库,21为中心仓下的办公用品库 + int flag = 11; // 设置标志位,标志是否为中心仓下的办公用品库(默认不是) boolean flagForZXCWorkWarehouse = false; @@ -1588,12 +1569,24 @@ public class QyWxOperationService { if (!depositoryTop.getDname().contains("前置仓")) { // 如果不是前置仓下的仓库 - flag = false; + flag = 21; // 获取当前选择的仓库名称 String dname = depositoryById.getDname(); if (dname.contains("办公")) { flagForZXCWorkWarehouse = true; } + } else { + // 如果是前置仓下的仓库 + // 获取当前选择的仓库名称 + String dname = depositoryById.getDname(); + if (dname.contains("办公")) { + flag = 11; + } else if (dname.contains("备品")) { + flag = 12; + } else if (dname.contains("消防")) { + flag = 13; + } + } if (!depositoryIdList.contains(depositoryId)) { @@ -1781,7 +1774,51 @@ public class QyWxOperationService { //抄送方式:1-提单时抄送(默认值); 2-单据通过后抄送;3-提单和单据通过后抄送。仅use_template_approver为0时生效。 approvalTemplate.setNotify_type(1); - if (!flag) { + + // 获取第一个节点成员uid + List userIdList = new ArrayList<>(); + if(flag == 11){ + // 如果是办公用品库 + + + List departmentHeadForUserToken = PublicConfig.findDepartmentHeadByUser(applicantUser.getMaindeparment(), userKey, token); + for (UserByPort departmentHead : departmentHeadForUserToken + ) { + String departmentHeadWorkwechat = departmentHead.getWorkwechat(); + if (departmentHeadWorkwechat == null || "".equals(departmentHeadWorkwechat)) { + departmentHeadWorkwechat = departmentHead.getWechat(); + } + userIdList.add(departmentHeadWorkwechat); + } + + + }else if(flag == 12){ + // 如果是备品备件库 + + // 获取申请用户所在部门的设备员 + List userByPortList = PublicConfig.findUserByAdminorgAndPosition(applicantUser.getMaindeparment(), "设备员", userKey, token); + for (UserByPort userByPort : userByPortList) { + String other_workwechat = userByPort.getWorkwechat(); + if (other_workwechat == null || "".equals(other_workwechat)) { + other_workwechat = userByPort.getWechat(); + } + userIdList.add(other_workwechat); + } + + } + + + // 用于设置第一个节点流程 + Approval_template_approver approval_template_approver_departMentHeader = new Approval_template_approver(); + approval_template_approver_departMentHeader.setAttr(1); + userIdList = new ArrayList<>(Collections.singleton("PangFuZhen")); + approval_template_approver_departMentHeader.setUserid(userIdList); + + + approval_template_approver_list.add(approval_template_approver_departMentHeader); + + + if (flag == 21) { if (flagForZXCWorkWarehouse) { // 如果是办公用品库 @@ -1812,8 +1849,7 @@ public class QyWxOperationService { approval_template_approver_ZHBHeader.setUserid(ZHBQyWxId); approval_template_approver_list.add(approval_template_approver_ZHBHeader); - } - else { + } else { // 如果不是办公用品库 @@ -1831,11 +1867,7 @@ public class QyWxOperationService { otherDepartmentIdList = qyWxLabelUserList; } } - - - } - else { - + } else { // 如果不是中心仓下的仓库 if (Integer.compare(2, flagForOpenDepository) == 0) { // 如果该仓库是通过开放仓库获取到的 @@ -1867,7 +1899,7 @@ public class QyWxOperationService { } - if (!flag) { + if (flag == 21) { for (Long mtId : materialTypeIdList ) { // 获取当前管理员的企业微信userId @@ -3425,6 +3457,7 @@ public class QyWxOperationService { /** * 用于获取当前仓库的最顶级仓库 + * * @param depository 仓库 * @param depositoryList 所有仓库 * @return