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 f5ffb8ef..d9a35f10 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 @@ -1543,21 +1543,31 @@ public class QyWxOperationService { // 定义仓库Id列表 List depositoryIdList = new ArrayList<>(); + List materialTypeIdList = new ArrayList<>(); for (ApplicationOutRecordMin recordMin : minRecordList) { // 获取明细信息 // 获取当前出库物料 Inventory materialById = materialMapper.findInventoryById(recordMin.getMid()); - // 获取当前物料所在仓库 Integer depositoryId = recordMin.getDepositoryId(); Depository depositoryById = depositoryMapper.findDepositoryById(depositoryId); + if (!depositoryById.getDname().contains("前置仓")) { + // 如果不是前置仓下的仓库 + flag = false; + } + + if (!depositoryIdList.contains(depositoryId)) { // 如果当前仓库列表中不存在该仓库id depositoryIdList.add(depositoryId); } + Long materialTypeId = materialById.getMaterialTypeId(); + if(!materialTypeIdList.contains(materialTypeId)){ + materialTypeIdList.add(materialTypeId); + } Map detail_list = new HashMap<>(); // 定义明细种的控件列表 @@ -1658,11 +1668,6 @@ public class QyWxOperationService { depositoryById = findParentDepository(depositoryById, depositoryAll); } - if (!depositoryById.getDname().contains("前置仓")) { - // 如果不是前置仓下的仓库 - flag = false; - } - // 物料规格型号 Map detail_list_control_info_version = new HashMap<>(); @@ -1751,6 +1756,7 @@ public class QyWxOperationService { if (!flag) { // 如果是中心仓下的仓库 + // 获取仓储中心负责人标签的用户userId List qyWxLabelUserList = QyWxConfig.getQyWxLabelUserList(userAgent); // 用于设置仓储中心负责人流程 @@ -1760,6 +1766,9 @@ public class QyWxOperationService { approval_template_approver_list.add(approval_template_approver_Label); + + + } else { // 如果不是中心仓下的仓库 if (Integer.compare(2, flagForOpenDepository) == 0) { @@ -1792,35 +1801,65 @@ public class QyWxOperationService { } - for (Integer depositoryId : depositoryIdList + if(!flag){ + for (Long mtId:materialTypeIdList + ) { + // 获取当前仓库的管理员列表 + List userIdByDid = roleMapper.findUserIdByMtId(mtId); + // 获取当前管理员的企业微信userId + List qywxUserIdList = new ArrayList<>(); + for (Integer userId : userIdByDid + ) { + // 获取对应管理员信息 + UserByPort userByPort = LinkInterfaceUtil.FindUserById(userId, userKey,token); + String user = userByPort.getWorkwechat(); + if (user == null || "".equals(user)) { + user = userByPort.getWechat(); + } + qywxUserIdList.add(user); + } + if (qywxUserIdList.size() > 0) { + // 用于设置仓库管理员流程 + Approval_template_approver approval_template_approver_depository_manager = new Approval_template_approver(); + approval_template_approver_depository_manager.setAttr(1); + approval_template_approver_depository_manager.setUserid(qywxUserIdList); - ) { - // 获取当前仓库的管理员列表 - List userIdByDid = roleMapper.findUserIdByDid(depositoryId); - // 获取当前管理员的企业微信userId - List qywxUserIdList = new ArrayList<>(); - for (Integer userId : userIdByDid - ) { - // 获取对应管理员信息 - UserByPort userByPort = LinkInterfaceUtil.FindUserById(userId, userKey,token); - String user = userByPort.getWorkwechat(); - if (user == null || "".equals(user)) { - user = userByPort.getWechat(); + approval_template_approver_list.add(approval_template_approver_depository_manager); } - qywxUserIdList.add(user); } - if (qywxUserIdList.size() > 0) { - // 用于设置仓库管理员流程 - Approval_template_approver approval_template_approver_depository_manager = new Approval_template_approver(); - approval_template_approver_depository_manager.setAttr(1); - approval_template_approver_depository_manager.setUserid(qywxUserIdList); + } + else{ + for (Integer depositoryId : depositoryIdList - approval_template_approver_list.add(approval_template_approver_depository_manager); - } + ) { + // 获取当前仓库的管理员列表 + List userIdByDid = roleMapper.findUserIdByDid(depositoryId); + // 获取当前管理员的企业微信userId + List qywxUserIdList = new ArrayList<>(); + for (Integer userId : userIdByDid + ) { + // 获取对应管理员信息 + UserByPort userByPort = LinkInterfaceUtil.FindUserById(userId, userKey,token); + String user = userByPort.getWorkwechat(); + if (user == null || "".equals(user)) { + user = userByPort.getWechat(); + } + qywxUserIdList.add(user); + } + if (qywxUserIdList.size() > 0) { + // 用于设置仓库管理员流程 + Approval_template_approver approval_template_approver_depository_manager = new Approval_template_approver(); + approval_template_approver_depository_manager.setAttr(1); + approval_template_approver_depository_manager.setUserid(qywxUserIdList); + + approval_template_approver_list.add(approval_template_approver_depository_manager); + } + } } + // 设置审批流程 approvalTemplate.setApprover(approval_template_approver_list);