diff --git a/src/main/java/com/xujie/sys/modules/pms/mapper/EamProjectMapper.java b/src/main/java/com/xujie/sys/modules/pms/mapper/EamProjectMapper.java index 86c623a6..8fe4dce9 100644 --- a/src/main/java/com/xujie/sys/modules/pms/mapper/EamProjectMapper.java +++ b/src/main/java/com/xujie/sys/modules/pms/mapper/EamProjectMapper.java @@ -121,4 +121,6 @@ public interface EamProjectMapper { List getAutoSendMailAddress(String site); IPage searchSopFileList(Page sysOssEntityPage,@Param("query") SysOssEntity inData); + + List getEmailsByUsernames(@Param("usernames")List userNames, @Param("site") String site); } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java index d8bcf3a1..f19b8cc0 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java @@ -431,7 +431,7 @@ public class EamProjectServiceImpl implements EamProjectService { @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public void sendMailHandle(ProofingInformationData inData) throws MessagingException, UnsupportedEncodingException { // 创建一个用于区分邮件类型的标识符 - String type; + String type = null; // 创建 SimpleDateFormat 对象并设置目标格式 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); @@ -454,67 +454,126 @@ public class EamProjectServiceImpl implements EamProjectService { return; } } else { - emailAddress = EamProjectMapper.getSendMassProductionMailAddress(inData); - if (!emailAddress.isEmpty()) { - type = "项目物料立项"; - s.append("
  • 你有一个新的项目物料立项,需要上传转量产文件 - 项目编码:" + emailAddress.get(0).getProjectNo() + " 名称:" + - emailAddress.get(0).getProjectDesc() + "
  • "); + if (Objects.equals(inData.getStatus(), "进行中")) { + String r1 = null; + String r2 = null; + String r3 = null; + String r4 = null; + String r5 = null; + String r6 = null; + String r7 = null; + String r8 = null; + String r9 = null; + List userNames = new ArrayList<>(); + r1 = inData.getcManufactureEngineer().split("-")[0]; + r2 = inData.getcQualityEngineer1().split("-")[0]; + r3 = inData.getcQualityEngineer2().split("-")[0]; + r4 = inData.getcQualityEngineer3().split("-")[0]; + r9 = inData.getEngineer().split("-")[0]; + userNames.add(r1); + userNames.add(r2); + userNames.add(r3); + userNames.add(r4); + userNames.add(r9); + if (inData.getcQualityEngineer4() != null && !inData.getcQualityEngineer4().equals("")){ + r5 = inData.getcQualityEngineer4().split("-")[0]; + userNames.add(r5); + } + if (inData.getcQualityEngineer5() != null && !inData.getcQualityEngineer5().equals("")){ + r6 = inData.getcQualityEngineer5().split("-")[0]; + userNames.add(r6); + } + if (inData.getcQualityEngineer6() != null && !inData.getcQualityEngineer6().equals("")){ + r7 = inData.getcQualityEngineer6().split("-")[0]; + userNames.add(r7); + } + if (inData.getDocEngineer() != null && !inData.getDocEngineer().equals("")){ + r8 = inData.getDocEngineer().split("-")[0]; + userNames.add(r8); + } + // 将所有username存储在一个集合中 + emailAddress = EamProjectMapper.getEmailsByUsernames(userNames, inData.getSite()); + if (!emailAddress.isEmpty()) { + type = "项目物料立项"; + s.append("
  • 你有一个新的项目物料立项 - 项目编码:" + inData.getProjectNo() + " 名称:" + + inData.getProjectDesc() + " 项目分类:" + inData.getProjectCategory() + " 优先级:" + inData.getPriority() + " 预计完成日期:" + formatter.format(inData.getNeedDate()) + "
  • "); + } else { + // 退出整个方法 + return; + } + } else if (Objects.equals(inData.getStatus(), "已量产")) { + emailAddress = EamProjectMapper.getSendMassProductionMailAddress(inData); + if (!emailAddress.isEmpty()) { + type = "项目物料转量产"; + s.append("
  • 你有一个新的项目物料转量产,需要上传转量产文件 - 项目编码:" + emailAddress.get(0).getProjectNo() + " 名称:" + + emailAddress.get(0).getProjectDesc() + "
  • "); + } else { + // 退出整个方法 + return; + } } else { - // 退出整个方法 return; } } // 邮件内容模板 - s.append(""); - s.append(""); - s.append(""); - s.append(""); - if (Objects.equals(type, "打样订单")) { - s.append(""); - } - s.append(""); - s.append(""); - s.append(""); - s.append(""); - s.append(""); - s.append(""); - s.append(""); - // 遍历 emailAddress - Integer lastProjectId = null; - for (ProofingInformationData proofingInformationData : emailAddress) {// 判断如果与上一个email的project_id不同 - if (!Objects.equals(lastProjectId, proofingInformationData.getProjectId())) { - lastProjectId = proofingInformationData.getProjectId(); - s.append(""); - s.append(""); - s.append(""); - if (Objects.equals(type, "打样订单")) { - s.append(""); - } - s.append(""); - s.append(""); - s.append(""); - s.append(""); - s.append(""); - s.append(""); - s.append(""); - } else { - s.append(""); - s.append(""); - s.append(""); - if (Objects.equals(type, "打样订单")) { + if (!Objects.equals(type, "项目物料立项")) { + s.append("
    项目编码项目名称样品单号项目分类优先级项目阶段预计完成日期待上传文档文档负责人
    ").append(proofingInformationData.getProjectNo()).append("").append(proofingInformationData.getProjectDesc()).append("").append(proofingInformationData.getProofingNo()).append("").append(proofingInformationData.getProjectCategory()).append("").append(proofingInformationData.getPriority()).append("").append(proofingInformationData.getStatus()).append("").append(formatter.format(proofingInformationData.getDueDate())).append("").append(proofingInformationData.getDocumentType()).append("").append(proofingInformationData.getUserDisplay()).append("
    "); + s.append(""); + s.append(""); + s.append(""); + if (Objects.equals(type, "打样订单")) { + s.append(""); + } + s.append(""); + s.append(""); + s.append(""); + s.append(""); + if (!Objects.equals(type, "项目物料立项")) { + s.append(""); + s.append(""); + } + s.append(""); + // 遍历 emailAddress + Integer lastProjectId = null; + for (ProofingInformationData proofingInformationData : emailAddress) {// 判断如果与上一个email的project_id不同 + if (!Objects.equals(lastProjectId, proofingInformationData.getProjectId())) { + lastProjectId = proofingInformationData.getProjectId(); + s.append(""); + s.append(""); + s.append(""); + if (Objects.equals(type, "打样订单")) { + s.append(""); + } + s.append(""); + s.append(""); + s.append(""); + s.append(""); + if (!Objects.equals(type, "项目物料立项")) { + s.append(""); + s.append(""); + } + s.append(""); + } else { + s.append(""); + s.append(""); + s.append(""); + if (Objects.equals(type, "打样订单")) { + s.append(""); + } s.append(""); + s.append(""); + s.append(""); + s.append(""); + if (!Objects.equals(type, "项目物料立项")) { + s.append(""); + s.append(""); + } + s.append(""); } - s.append(""); - s.append(""); - s.append(""); - s.append(""); - s.append(""); - s.append(""); - s.append(""); } + s.append("
    项目编码项目名称样品单号项目分类优先级项目阶段预计完成日期待上传文档文档负责人
    ").append(proofingInformationData.getProjectNo()).append("").append(proofingInformationData.getProjectDesc()).append("").append(proofingInformationData.getProofingNo()).append("").append(proofingInformationData.getProjectCategory()).append("").append(proofingInformationData.getPriority()).append("").append(proofingInformationData.getStatus()).append("").append(formatter.format(proofingInformationData.getDueDate())).append("").append(proofingInformationData.getDocumentType()).append("").append(proofingInformationData.getUserDisplay()).append("
    ").append(proofingInformationData.getDocumentType()).append("").append(proofingInformationData.getUserDisplay()).append("
    ").append(proofingInformationData.getDocumentType()).append("").append(proofingInformationData.getUserDisplay()).append("
    "); } - s.append(""); s.append(""); //设置邮件内容 String text = "" + diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index e151519a..273a8859 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -53,8 +53,7 @@ task: # sendEmail: 0 0/5 * * * ? #每5分钟执行一次 # sendEmail: 0 30 12 1/15 * ? #每15天的中午12:30执行一次 #发送邮件,每周一到周五中午12点执行一次 -# sendEmail: 0 0 12 ? * MON-FRI - + sendEmail: 0 0 12 ? * MON-FRI #--------------------------------------------接口地址和开关控制------------------------------------------------- toacc: diff --git a/src/main/resources/mapper/pms/EamProjectMapper.xml b/src/main/resources/mapper/pms/EamProjectMapper.xml index c1810b16..25cec637 100644 --- a/src/main/resources/mapper/pms/EamProjectMapper.xml +++ b/src/main/resources/mapper/pms/EamProjectMapper.xml @@ -290,33 +290,33 @@ FROM plm_project_document_confirm as a WHERE a.site = #{site} and a.Order_Ref1 = #{orderRef1} and a.document_type = '产品文档' and a.Order_Ref2 = #{orderRef2} - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO plm_project_part ( site,