From e2b83241caebefc1acb8d4b77662a64c0085945a Mon Sep 17 00:00:00 2001 From: erdanergou Date: Wed, 10 May 2023 08:33:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=87=BA=E5=BA=93=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/QyWxOperationService.java | 155 +++++++++--------- 1 file changed, 81 insertions(+), 74 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 8c44266f..952b9e75 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 @@ -57,14 +57,14 @@ public class QyWxOperationService { * @param flag 用于判断发送类型是部门负责人还是仓储负责人(true为部门,false为仓储) * @return */ - public JSONObject sendQyWxToApplicationOutMessage(String uid, Integer outId, Boolean flag, String userAgent, String userKey, String token) { + public JSONObject sendQyWxToApplicationOutMessage(String uid, Integer outId, Boolean flag, String userAgent,String userKey,String token) { // 获取将要发送申请的订单记录 ApplicationOutRecord applicationOutRecordPById = depositoryRecordMapper.findApplicationOutRecordPById(outId); // 申请人id Integer applicantId = applicationOutRecordPById.getApplicantId(); // 申请人 - UserByPort applicant = LinkInterfaceUtil.FindUserById(applicantId, userKey, token); + UserByPort applicant = LinkInterfaceUtil.FindUserById(applicantId, userKey,token); // 获取所有子订单 List applicationOutRecordMinByParent = depositoryRecordMapper.findApplicationOutRecordMinByParent(outId); @@ -248,7 +248,7 @@ public class QyWxOperationService { * @param mainId 盘点记录编号 * @return */ - public JSONObject sendQyWxToStockTakingDepartmentManagerMessage(String uid, Integer mainId, String userAgent, String userKey, String token) { + public JSONObject sendQyWxToStockTakingDepartmentManagerMessage(String uid, Integer mainId, String userAgent,String userKey,String token) { // 获取盘点主记录 StockTaking mainRecord = stockTakingMapper.selectStockTakingById(mainId); @@ -258,7 +258,7 @@ public class QyWxOperationService { // 申请人id Integer getOriginator = mainRecord.getOriginator(); // 申请人 - UserByPort originator = LinkInterfaceUtil.FindUserById(getOriginator, userKey, token); + UserByPort originator = LinkInterfaceUtil.FindUserById(getOriginator, userKey,token); // 盘点物料名称 StringBuilder mname = new StringBuilder(); @@ -481,7 +481,7 @@ public class QyWxOperationService { * @param mainId 盘点记录编号 * @return */ - public JSONObject sendQyWxToStockTakingMessage(String uid, Integer mainId, List normalMinId, String userAgent, String userKey, String token) { + public JSONObject sendQyWxToStockTakingMessage(String uid, Integer mainId, List normalMinId, String userAgent,String userKey,String token) { // 获取盘点主记录 StockTaking mainRecord = stockTakingMapper.selectStockTakingById(mainId); @@ -495,7 +495,7 @@ public class QyWxOperationService { // 申请人id Integer getOriginator = mainRecord.getOriginator(); // 申请人 - UserByPort originator = LinkInterfaceUtil.FindUserById(getOriginator, userKey, token); + UserByPort originator = LinkInterfaceUtil.FindUserById(getOriginator, userKey,token); // 盘点物料名称 StringBuilder mname = new StringBuilder(); @@ -717,13 +717,13 @@ public class QyWxOperationService { * @param outId 订单编号 * @return */ - public JSONObject sendCcMessageToUsers(String uid, Integer outId, String userAgent, String userKey, String token) { + public JSONObject sendCcMessageToUsers(String uid, Integer outId, String userAgent,String userKey,String token) { // 获取已经完成的订单 ApplicationOutRecord recordP = depositoryRecordMapper.findApplicationOutRecordPById(outId); // 申请人id Integer applicantId = recordP.getApplicantId(); // 申请人 - UserByPort applicant = LinkInterfaceUtil.FindUserById(applicantId, userKey, token); + UserByPort applicant = LinkInterfaceUtil.FindUserById(applicantId, userKey,token); // 获取所有子订单 List applicationOutRecordMinByParent = depositoryRecordMapper.findApplicationOutRecordMinByParent(outId); @@ -757,7 +757,7 @@ public class QyWxOperationService { // 获取仓库信息 Depository depositoryRecordById = depositoryMapper.findDepositoryById(recordMin.getDepositoryId()); // 获取处理人信息 - UserByPort userByPort = LinkInterfaceUtil.FindUserById(recordMin.getCheckId(), userKey, token); + UserByPort userByPort = LinkInterfaceUtil.FindUserById(recordMin.getCheckId(), userKey,token); // 获取对应出库单位 String unit = recordMin.getUnit(); @@ -800,7 +800,7 @@ public class QyWxOperationService { * @param map * @return */ - public JSONObject sendCcStockTakingMessageToHead(String uid, Map map, UserByPort userToken, StockTaking mainRecord, String userAgent, String userKey, String token) { + public JSONObject sendCcStockTakingMessageToHead(String uid, Map map, UserByPort userToken, StockTaking mainRecord, String userAgent,String userKey,String token) { /** * 获取完成的订单 @@ -827,7 +827,7 @@ public class QyWxOperationService { // 抄送内容 StringBuilder content = new StringBuilder("## `抄送信息:`%n"); // 获取发起人信息 - UserByPort originator = LinkInterfaceUtil.FindUserById(mainRecord.getOriginator(), userKey, token); + UserByPort originator = LinkInterfaceUtil.FindUserById(mainRecord.getOriginator(), userKey,token); // 设置content content.append(">### **").append(originator.getName()).append("的物料调账记录** %n时间:").append(DateUtil.TimeStampToDateTime(mainRecord.getCreateTime())).append(" %n"); @@ -877,10 +877,10 @@ public class QyWxOperationService { } content.append(">- 物料名称:").append(material.getMname()).append("%n"); content.append(">- 盘点位置:").append(fromLocation).append("%n"); - content.append(">- 原库存数量:").append((int) (minRecord.getOldInventory() / 100.0)).append("%n"); - content.append(">- 盘点数量:").append((int) (minRecord.getNewInventory() / 100.0)).append("%n"); + content.append(">- 原库存数量:").append((int)(minRecord.getOldInventory() / 100.0)).append("%n"); + content.append(">- 盘点数量:").append((int)(minRecord.getNewInventory() / 100.0)).append("%n"); content.append(">- 盘点单位:").append(unit).append("%n"); - content.append(">- 盈亏数量:").append((int) (minRecord.getInventory() / 100.0)).append("%n"); + content.append(">- 盈亏数量:").append((int)(minRecord.getInventory()/ 100.0)).append("%n"); content.append(">- 盘点结果:").append(takingResult).append("%n"); content.append("%n---%n"); } @@ -914,7 +914,7 @@ public class QyWxOperationService { * @param mainRecord 主订单 * @return */ - public JSONObject sendStockTakingErrMessageToHead(String uid, List errIds, StockTaking mainRecord, UserByPort userToken, String userAgent, String userKey, String token) { + public JSONObject sendStockTakingErrMessageToHead(String uid, List errIds, StockTaking mainRecord, UserByPort userToken, String userAgent,String userKey,String token) { MessageByMarkDown markDown = new MessageByMarkDown(); //设置消息接收者 @@ -936,7 +936,7 @@ public class QyWxOperationService { // 抄送内容 StringBuilder content = new StringBuilder("## `盘点发生错误:`%n"); // 获取发起人信息 - UserByPort originator = LinkInterfaceUtil.FindUserById(mainRecord.getOriginator(), userKey, token); + UserByPort originator = LinkInterfaceUtil.FindUserById(mainRecord.getOriginator(), userKey,token); // 设置content content.append(">### **" + originator.getName() + "的物料盘点记录** %n时间:" + DateUtil.TimeStampToDateTime(mainRecord.getCreateTime()) + " %n"); @@ -1007,7 +1007,7 @@ public class QyWxOperationService { * @param map * @return */ - public JSONObject sendCcStockTakingTransferMessageToHead(String uid, Map map, UserByPort userToken, StockTaking mainRecord, String userAgent, String userKey, String token) { + public JSONObject sendCcStockTakingTransferMessageToHead(String uid, Map map, UserByPort userToken, StockTaking mainRecord, String userAgent,String userKey,String token) { /** * 获取要转移的订单 @@ -1034,7 +1034,7 @@ public class QyWxOperationService { // 抄送内容 StringBuilder content = new StringBuilder("## `抄送信息:`%n"); // 获取发起人信息 - UserByPort originator = LinkInterfaceUtil.FindUserById(mainRecord.getOriginator(), userKey, token); + UserByPort originator = LinkInterfaceUtil.FindUserById(mainRecord.getOriginator(), userKey,token); // 设置content content.append(">### **" + originator.getName() + "的物料转移记录** %n时间:" + DateUtil.TimeStampToDateTime(mainRecord.getCreateTime()) + " %n"); @@ -1136,7 +1136,7 @@ public class QyWxOperationService { } - public TemplateCard_text_notice getTextNoticeCard(Integer outMinId, Integer quantity, String userKey, String token) { + public TemplateCard_text_notice getTextNoticeCard(Integer outMinId, Integer quantity,String userKey,String token) { // 需要出库的子订单 ApplicationOutRecordMin recordMin = depositoryRecordMapper.findApplicationOutMinById(outMinId); // 获取其主订单 @@ -1144,7 +1144,7 @@ public class QyWxOperationService { // 申请人id Integer applicantId = outRecordP.getApplicantId(); // 申请人 - UserByPort applicant = LinkInterfaceUtil.FindUserById(applicantId, userKey, token); + UserByPort applicant = LinkInterfaceUtil.FindUserById(applicantId, userKey,token); // 定义卡片模板 TemplateCard_text_notice text_notice = new TemplateCard_text_notice(); @@ -1264,7 +1264,7 @@ public class QyWxOperationService { * @param outMinId * @return */ - public JSONObject sendNotificationToDepositoryManager(String uid, Integer outMinId, String userAgent, String userKey, String token) { + public JSONObject sendNotificationToDepositoryManager(String uid, Integer outMinId, String userAgent,String userKey,String token) { // 定义文本通知型卡片 TextNotice textNotice = new TextNotice(); @@ -1284,7 +1284,7 @@ public class QyWxOperationService { textNotice.setMsgtype("template_card"); // 获取卡片模板 - TemplateCard_text_notice text_notice = getTextNoticeCard(outMinId, null, userKey, token); + TemplateCard_text_notice text_notice = getTextNoticeCard(outMinId, null,userKey,token); textNotice.setTemplate_card(text_notice); String s = JSONObject.toJSONString(textNotice); @@ -1351,14 +1351,14 @@ public class QyWxOperationService { } - public JSONObject updateTemplateCardToQuantity(String response_code, Integer quantity, String userAgent, Integer outMinId, String userKey, String token) { + public JSONObject updateTemplateCardToQuantity(String response_code, Integer quantity, String userAgent, Integer outMinId,String userKey,String token) { String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/message/update_template_card?access_token=" + QyWxConfig.GetQYWXToken(userAgent) + "&debug=1"); Map map = new HashMap<>(); map.put("atall", 1); map.put("agentid", QyWxConfig.AgentId); map.put("response_code", response_code); map.put("enable_id_trans", 0); - TemplateCard_text_notice text_notice = getTextNoticeCard(outMinId, quantity, userKey, token); + TemplateCard_text_notice text_notice = getTextNoticeCard(outMinId, quantity,userKey,token); map.put("template_card", text_notice); String jsonString = JSONObject.toJSONString(map); System.out.println(jsonString); @@ -1392,7 +1392,7 @@ public class QyWxOperationService { * @param mainId 出库的主订单 * @return 发送结果 */ - public JSONObject sendOutApprovalTemplate(String userAgent, UserByPort userToken, Integer mainId, String userKey, String token) { + public JSONObject sendOutApprovalTemplate(String userAgent, UserByPort userToken, Integer mainId,String userKey,String token) { // 获取当前出库主订单 ApplicationOutRecord mainRecord = depositoryRecordMapper.findApplicationOutRecordPById(mainId); @@ -1427,7 +1427,7 @@ public class QyWxOperationService { List userIdList = new ArrayList<>(); - List departmentHeadForUserToken = PublicConfig.findDepartmentHeadByUser(userToken.getMaindeparment(), userKey, token); + List departmentHeadForUserToken = PublicConfig.findDepartmentHeadByUser(userToken.getMaindeparment(),userKey,token ); for (UserByPort departmentHead : departmentHeadForUserToken ) { String departmentHeadWorkwechat = departmentHead.getWorkwechat(); @@ -1568,7 +1568,7 @@ public class QyWxOperationService { depositoryIdList.add(depositoryId); } Long materialTypeId = materialById.getMaterialTypeId(); - if (!materialTypeIdList.contains(materialTypeId)) { + if(!materialTypeIdList.contains(materialTypeId)){ materialTypeIdList.add(materialTypeId); } @@ -1762,7 +1762,10 @@ public class QyWxOperationService { approval_template_approver_list.add(approval_template_approver_Label); - } else { + + + } + else { // 如果不是中心仓下的仓库 if (Integer.compare(2, flagForOpenDepository) == 0) { // 如果该仓库是通过开放仓库获取到的 @@ -1772,7 +1775,7 @@ public class QyWxOperationService { // 获取当前仓库所属的部门 String adminorg = depositoryById.getAdminorg(); - List departmentHeadByUser = PublicConfig.findDepartmentHeadByUser(ObjectFormatUtil.toInteger(adminorg), userKey, token); + List departmentHeadByUser = PublicConfig.findDepartmentHeadByUser(ObjectFormatUtil.toInteger(adminorg), userKey,token); for (UserByPort departmentHead : departmentHeadByUser ) { String departmentHeadWorkwechat = departmentHead.getWorkwechat(); @@ -1794,67 +1797,65 @@ public class QyWxOperationService { } - if (!flag) { - // 获取当前管理员的企业微信userId - List qywxUserIdList = new ArrayList<>(); - for (Long mtId : materialTypeIdList - ) { + 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); + 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); + } } - if (qywxUserIdList.size() > 0) { - // 用于设置仓库管理员流程 - Approval_template_approver approval_template_approver_depository_manager = new Approval_template_approver(); - approval_template_approver_depository_manager.setAttr(2); - approval_template_approver_depository_manager.setUserid(qywxUserIdList); - - approval_template_approver_list.add(approval_template_approver_depository_manager); - } - } else { - // 获取当前管理员的企业微信userId - List qywxUserIdList = new ArrayList<>(); + } + else{ for (Integer depositoryId : depositoryIdList ) { // 获取当前仓库的管理员列表 List userIdByDid = roleMapper.findUserIdByDid(depositoryId); - + // 获取当前管理员的企业微信userId + List qywxUserIdList = new ArrayList<>(); for (Integer userId : userIdByDid ) { // 获取对应管理员信息 - UserByPort userByPort = LinkInterfaceUtil.FindUserById(userId, userKey, token); + 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); + } } - if (qywxUserIdList.size() > 0) { - // 用于设置仓库管理员流程 - Approval_template_approver approval_template_approver_depository_manager = new Approval_template_approver(); - approval_template_approver_depository_manager.setAttr(2); - approval_template_approver_depository_manager.setUserid(qywxUserIdList); - - approval_template_approver_list.add(approval_template_approver_depository_manager); - } } + // 设置审批流程 approvalTemplate.setApprover(approval_template_approver_list); @@ -1878,7 +1879,7 @@ public class QyWxOperationService { * @param mainId 出库的主订单 * @return 发送结果 */ - public JSONObject sendOutApprovalTemplateForImmediately(String userAgent, UserByPort userToken, Integer mainId, String userKey, String token) { + public JSONObject sendOutApprovalTemplateForImmediately(String userAgent, UserByPort userToken, Integer mainId,String userKey,String token) { // 获取当前出库主订单 ApplicationOutRecord mainRecord = depositoryRecordMapper.findApplicationOutRecordPById(mainId); @@ -1913,9 +1914,9 @@ public class QyWxOperationService { List userIdList = new ArrayList<>(); String[] departmentHeadS = mainRecord.getDepartmenthead().split(","); - for (String department : departmentHeadS - ) { - if ("".equals(department)) { + for (String department:departmentHeadS + ) { + if("".equals(department)){ continue; } UserByPort departmentHead = LinkInterfaceUtil.FindUserById(ObjectFormatUtil.toInteger(department), userKey, token); @@ -2238,11 +2239,12 @@ public class QyWxOperationService { approvalTemplate.setNotify_type(2); + String[] depositoryManagerS = mainRecord.getDepositoryManager().split(","); List depositoryManagerWorkWechats = new ArrayList<>(); - for (String depositorymanager : depositoryManagerS + for (String depositorymanager:depositoryManagerS ) { - if ("".equals(depositorymanager)) { + if("".equals(depositorymanager)){ continue; } UserByPort depositoryManage = LinkInterfaceUtil.FindUserById(ObjectFormatUtil.toInteger(depositorymanager), userKey, token); @@ -2261,8 +2263,11 @@ public class QyWxOperationService { approval_template_approver_list.add(approval_template_approver_Label); - if (!flag) { - for (Long mtId : materialTypeIdList + + + + if(!flag){ + for (Long mtId:materialTypeIdList ) { // 获取当前仓库的管理员列表 List userIdByDid = roleMapper.findUserIdByMtId(mtId); @@ -2271,7 +2276,7 @@ public class QyWxOperationService { for (Integer userId : userIdByDid ) { // 获取对应管理员信息 - UserByPort userByPort = LinkInterfaceUtil.FindUserById(userId, userKey, token); + UserByPort userByPort = LinkInterfaceUtil.FindUserById(userId, userKey,token); String user = userByPort.getWorkwechat(); if (user == null || "".equals(user)) { user = userByPort.getWechat(); @@ -2287,7 +2292,8 @@ public class QyWxOperationService { approval_template_approver_list.add(approval_template_approver_depository_manager); } } - } else { + } + else{ for (Integer depositoryId : depositoryIdList ) { @@ -2298,7 +2304,7 @@ public class QyWxOperationService { for (Integer userId : userIdByDid ) { // 获取对应管理员信息 - UserByPort userByPort = LinkInterfaceUtil.FindUserById(userId, userKey, token); + UserByPort userByPort = LinkInterfaceUtil.FindUserById(userId, userKey,token); String user = userByPort.getWorkwechat(); if (user == null || "".equals(user)) { user = userByPort.getWechat(); @@ -2333,6 +2339,7 @@ public class QyWxOperationService { } + /** * 用于发送入库审批 * @@ -2342,7 +2349,7 @@ public class QyWxOperationService { * @param QyWxUid 接收人 * @return */ - public JSONObject sendApprovalTemplateIn(String userAgent, UserByPort userToken, List recordIdList, String QyWxUid, String userKey, String token) { + public JSONObject sendApprovalTemplateIn(String userAgent, UserByPort userToken, List recordIdList, String QyWxUid,String userKey,String token) { // 获取当前出库明细 List minRecordList = depositoryRecordMapper.findApplicationInRecordsByIds(recordIdList); @@ -2355,7 +2362,7 @@ public class QyWxOperationService { // 获取申请人的userId - UserByPort userByPort = LinkInterfaceUtil.FindUserById(minRecordList.get(0).getApplicantId(), userKey, token); + UserByPort userByPort = LinkInterfaceUtil.FindUserById(minRecordList.get(0).getApplicantId(), userKey,token); String workwechat = userByPort.getWorkwechat(); if (workwechat == null || "".equals(workwechat)) { workwechat = userByPort.getWechat(); @@ -3115,7 +3122,7 @@ public class QyWxOperationService { * @param userAgent md5加密后user-agent * @return */ - public JSONObject sendNoticeForAllUser(Integer nid, String userAgent, String userKey, String token) { + public JSONObject sendNoticeForAllUser(Integer nid, String userAgent,String userKey,String token) { // 获取当前要发生的公告信息 Notice noticeById = noticeMapper.findNoticeById(nid); TextTemplateCard textTemplateCard = new TextTemplateCard(); @@ -3134,7 +3141,7 @@ public class QyWxOperationService { textCardContent.setTitle(noticeById.getTitle()); String noticeContent = "
" + DateUtil.TimeStampToDateTime(noticeById.getTime()) + "
" + noticeById.getContent() + "
" + - LinkInterfaceUtil.FindUserById(noticeById.getUserId(), userKey, token).getName() + "
"; + LinkInterfaceUtil.FindUserById(noticeById.getUserId(), userKey,token).getName() + ""; // 设置内容 textCardContent.setDescription(noticeContent); // 设置点击后跳转的链接 @@ -3172,7 +3179,7 @@ public class QyWxOperationService { * @param flag 标志当前是什么申请 1出库2盘点 * @return */ - public JSONObject sendMessageForOtherUserByCard(Integer mainId, String uid, String userAgent, Integer flag, String userKey, String token) { + public JSONObject sendMessageForOtherUserByCard(Integer mainId, String uid, String userAgent, Integer flag,String userKey,String token) { // 获取当前申请主订单 ApplicationOutRecord aorp = null; @@ -3219,7 +3226,7 @@ public class QyWxOperationService { applicantTime = stockTaking.getCreateTime(); tempMessageTitle = "库存盘点审批"; } - UserByPort userByPort = LinkInterfaceUtil.FindUserById(applicantId, userKey, token); + UserByPort userByPort = LinkInterfaceUtil.FindUserById(applicantId, userKey,token); // 设置content content.append(">### **%n对于" + userByPort.getName() + "在" + DateUtil.TimeStampToDateTime(applicantTime) + "提起" + tempMessageTitle + "的转至应用发送的消息进行审批,审批应用中的流程请忽略 %n**"); content.append("%n---%n");