Commit 569e9e3c23f26a941de57a772c42283714a53f76

Authored by chenhang4442024
1 parent 5befd34e

fix:1.为了避免相同的内部编号的订单一直发送邮件,改用使用style,划分更精准。

2.付款单导出时移除实际付款日期,添加实际应付金额。
3.发送邮箱时排除指定邮箱。
src/main/java/com/order/erp/common/utils/EmailSendUtils.java
@@ -384,7 +384,9 @@ public class EmailSendUtils { @@ -384,7 +384,9 @@ public class EmailSendUtils {
384 .collect(Collectors.toList()); 384 .collect(Collectors.toList());
385 385
386 email = distinctUserList.stream().map(AdminUserDO::getEmail).filter(Objects::nonNull).flatMap(emails -> Arrays.asList(emails.split("[,,]+")) 386 email = distinctUserList.stream().map(AdminUserDO::getEmail).filter(Objects::nonNull).flatMap(emails -> Arrays.asList(emails.split("[,,]+"))
387 - .stream()).map(String::trim).filter(s -> !s.isEmpty()).toArray(String[]::new); 387 + .stream()).map(String::trim).filter(s -> !s.isEmpty())
  388 + //过滤掉李萌的邮箱,她不想收。
  389 + .filter(s -> !s.equalsIgnoreCase("elieenli@jqtc.art")).toArray(String[]::new);
388 invoiceNoOrCheckNo=checkBillOrderDO.getCheckNo(); 390 invoiceNoOrCheckNo=checkBillOrderDO.getCheckNo();
389 }/*else{ 391 }/*else{
390 DeductionUrlFieldVO deductionUrlFieldVO = invoiceAndCheckBillSendEmailVO.getDeductionUrlFieldVO(); 392 DeductionUrlFieldVO deductionUrlFieldVO = invoiceAndCheckBillSendEmailVO.getDeductionUrlFieldVO();
src/main/java/com/order/erp/domain/vo/order/CheckBillExportReceiptVO.java
@@ -43,6 +43,10 @@ public class CheckBillExportReceiptVO implements Serializable { @@ -43,6 +43,10 @@ public class CheckBillExportReceiptVO implements Serializable {
43 * */ 43 * */
44 private BigDecimal totalActualPayedAmount; 44 private BigDecimal totalActualPayedAmount;
45 /** 45 /**
  46 + * 生产科总价
  47 + * */
  48 + private BigDecimal totalProductionAmount;
  49 + /**
46 * 跟单 --业务创建单子,跟单也能看到。 50 * 跟单 --业务创建单子,跟单也能看到。
47 * */ 51 * */
48 private String trackerUser; 52 private String trackerUser;
src/main/java/com/order/erp/domain/vo/order/ProducePaymentCheckBillFieldVO.java
@@ -60,6 +60,11 @@ public class ProducePaymentCheckBillFieldVO { @@ -60,6 +60,11 @@ public class ProducePaymentCheckBillFieldVO {
60 * 未付金额 60 * 未付金额
61 * */ 61 * */
62 private BigDecimal unPayedAmount; 62 private BigDecimal unPayedAmount;
  63 +
  64 + /**
  65 + * 生产科总价
  66 + * */
  67 + private BigDecimal totalProductionAmount;
63 /** 68 /**
64 * 跟单员 69 * 跟单员
65 * */ 70 * */
src/main/java/com/order/erp/service/order/impl/OrderBaseInfoServiceImpl.java
@@ -2277,9 +2277,9 @@ end @@ -2277,9 +2277,9 @@ end
2277 //这个方法的作用就是:她们反应对于内部编号相同的订单,就不需要发送四个测试结果的产品意见信息,不然创建一个订单选择测试结果后就发送四个测试结果,太麻烦了,所以这里根据项目号和测试结果进行区分。 2277 //这个方法的作用就是:她们反应对于内部编号相同的订单,就不需要发送四个测试结果的产品意见信息,不然创建一个订单选择测试结果后就发送四个测试结果,太麻烦了,所以这里根据项目号和测试结果进行区分。
2278 //相同的内部编号和相同的结果,就不会再次发送了。 2278 //相同的内部编号和相同的结果,就不会再次发送了。
2279 public void setEmailSendUtilsRedis(OrderBaseInfoDO orderBaseInfoDo,String resultText,String productionComment){ 2279 public void setEmailSendUtilsRedis(OrderBaseInfoDO orderBaseInfoDo,String resultText,String productionComment){
2280 - if(!redisUtils.hasKey(orderBaseInfoDo.getInnerNo()+Constant.CROSS_BAR_CHARACTER+resultText)){ 2280 + if(!redisUtils.hasKey(orderBaseInfoDo.getCustomerStyle()+Constant.CROSS_BAR_CHARACTER+resultText)){
2281 sendProductionCommentEmail(orderBaseInfoDo,productionComment,resultText); 2281 sendProductionCommentEmail(orderBaseInfoDo,productionComment,resultText);
2282 - redisUtils.set(orderBaseInfoDo.getInnerNo()+Constant.CROSS_BAR_CHARACTER+resultText, "1", 90, TimeUnit.DAYS); 2282 + redisUtils.set(orderBaseInfoDo.getCustomerStyle()+Constant.CROSS_BAR_CHARACTER+resultText, "1", 90, TimeUnit.DAYS);
2283 } 2283 }
2284 } 2284 }
2285 //查询最近四个月的数据。(之前设置三个月太少了!)。 2285 //查询最近四个月的数据。(之前设置三个月太少了!)。
src/main/java/com/order/erp/service/order/impl/ProducePaymentCheckBillOrderServiceImpl.java
@@ -1140,10 +1140,11 @@ public class ProducePaymentCheckBillOrderServiceImpl extends ServiceImpl<Produce @@ -1140,10 +1140,11 @@ public class ProducePaymentCheckBillOrderServiceImpl extends ServiceImpl<Produce
1140 .financePerson(loginUserName) 1140 .financePerson(loginUserName)
1141 .productionName(producePaymentCheckBillOrderDOS.get(0).getProductionName()) 1141 .productionName(producePaymentCheckBillOrderDOS.get(0).getProductionName())
1142 .actualPayedDate(commitApplyVO.getActualPayedDate()) 1142 .actualPayedDate(commitApplyVO.getActualPayedDate())
1143 - .deductAmount(deductAmount)  
1144 - .actualPayedAmount(actualPayedAmount)  
1145 - .totalActualPayedAmount(totalActualPayedAmount)  
1146 - .unPayedAmount(unPayedAmount) 1143 + .deductAmount(deductAmount) //扣款金额
  1144 + .actualPayedAmount(actualPayedAmount) //实际应付金额
  1145 + .totalActualPayedAmount(totalActualPayedAmount) //实际付款金额
  1146 + .unPayedAmount(unPayedAmount) //未付金额
  1147 + .totalProductionAmount(totalProductionAmount) //生产科总金额
1147 .projectNo(orderBaseInfoDOList.stream().filter(Objects::nonNull).map(orderBaseInfoDO -> orderBaseInfoDO.getProjectNo()).distinct().collect(Collectors.toList())).build(); 1148 .projectNo(orderBaseInfoDOList.stream().filter(Objects::nonNull).map(orderBaseInfoDO -> orderBaseInfoDO.getProjectNo()).distinct().collect(Collectors.toList())).build();
1148 OrderFieldLockApplyDO applyDO; 1149 OrderFieldLockApplyDO applyDO;
1149 //在这里判断。 是否自动通过。 总金额-总扣款=总实际付款金额 1150 //在这里判断。 是否自动通过。 总金额-总扣款=总实际付款金额
@@ -1527,20 +1528,20 @@ public class ProducePaymentCheckBillOrderServiceImpl extends ServiceImpl<Produce @@ -1527,20 +1528,20 @@ public class ProducePaymentCheckBillOrderServiceImpl extends ServiceImpl<Produce
1527 sheet.addMergedRegion(new CellRangeAddress(3, 4, 8, 9)); 1528 sheet.addMergedRegion(new CellRangeAddress(3, 4, 8, 9));
1528 //第三行 1529 //第三行
1529 createMergedCell(sheet, workbook, 5, 0, 5, 6, 0, 1, "生产科对账单号"); 1530 createMergedCell(sheet, workbook, 5, 0, 5, 6, 0, 1, "生产科对账单号");
1530 - createMergedCell(sheet, workbook, 5, 2, 5, 6, 2, 3, "实际应付金额");  
1531 - createMergedCell(sheet, workbook, 5, 4, 5, 6, 4, 4, "扣款金额");  
1532 - createMergedCell(sheet, workbook, 5, 5, 5, 6, 5, 6, "实际付款金额");  
1533 - createMergedCell(sheet, workbook, 5, 7, 5, 6, 7, 7, "未付金额");  
1534 - createMergedCell(sheet, workbook, 5, 8, 5, 6, 8, 8, "必须付款日期");  
1535 - createMergedCell(sheet, workbook, 5, 9, 5, 6, 9, 9, "实际付款日期"); 1531 + createMergedCell(sheet, workbook, 5, 2, 5, 6, 2, 3, "生产科总价合计");
  1532 + createMergedCell(sheet, workbook, 5, 4, 5, 6, 4, 4, "实际应付金额");
  1533 + createMergedCell(sheet, workbook, 5, 5, 5, 6, 5, 6, "扣款金额");
  1534 + createMergedCell(sheet, workbook, 5, 7, 5, 6, 7, 7, "实际付款金额");
  1535 + createMergedCell(sheet, workbook, 5, 8, 5, 6, 8, 8, "未付金额");
  1536 + createMergedCell(sheet, workbook, 5, 9, 5, 6, 9, 9, "必须付款日期");
1536 //第四行 1537 //第四行
1537 createMergedCell(sheet, workbook, 7, 0, 7, 8, 0, 1, queryVO.getCheckNo()!=null ? queryVO.getCheckNo() :""); 1538 createMergedCell(sheet, workbook, 7, 0, 7, 8, 0, 1, queryVO.getCheckNo()!=null ? queryVO.getCheckNo() :"");
1538 - createMergedCell(sheet, workbook, 7, 2, 7, 8, 2, 3,queryVO.getActualPayedAmount()!=null ? "¥"+queryVO.getActualPayedAmount().setScale(2, BigDecimal.ROUND_HALF_UP):"");  
1539 - createMergedCell(sheet, workbook, 7, 4, 7, 8, 4, 4, queryVO.getDeductAmount()!=null? "¥"+queryVO.getDeductAmount().setScale(2, BigDecimal.ROUND_HALF_UP):"");  
1540 - createMergedCell(sheet, workbook, 7, 5, 7, 8, 5, 6, queryVO.getTotalActualPayedAmount()!=null? "¥"+queryVO.getTotalActualPayedAmount().setScale(2, BigDecimal.ROUND_HALF_UP):"");  
1541 - createMergedCell(sheet, workbook, 7, 7, 7, 8, 7, 7, queryVO.getUnPayedAmount()!=null? "¥"+queryVO.getUnPayedAmount().setScale(2, BigDecimal.ROUND_HALF_UP):"");  
1542 - createMergedCell(sheet, workbook, 7, 8, 7, 8, 8, 8, queryVO.getPayedDate()!=null?queryVO.getPayedDate():"");  
1543 - createMergedCell(sheet, workbook, 7, 9, 7, 8, 9, 9, ""); 1539 + createMergedCell(sheet, workbook, 7, 2, 7, 8, 2, 3,queryVO.getTotalProductionAmount()!=null ? "¥"+queryVO.getTotalProductionAmount().setScale(2, BigDecimal.ROUND_HALF_UP):"");
  1540 + createMergedCell(sheet, workbook, 7, 4, 7, 8, 4, 4, queryVO.getActualPayedAmount()!=null ? "¥"+queryVO.getActualPayedAmount().setScale(2, BigDecimal.ROUND_HALF_UP):"");
  1541 + createMergedCell(sheet, workbook, 7, 5, 7, 8, 5, 6, queryVO.getDeductAmount()!=null? "¥"+queryVO.getDeductAmount().setScale(2, BigDecimal.ROUND_HALF_UP):"");
  1542 + createMergedCell(sheet, workbook, 7, 7, 7, 8, 7, 7, queryVO.getTotalActualPayedAmount()!=null? "¥"+queryVO.getTotalActualPayedAmount().setScale(2, BigDecimal.ROUND_HALF_UP):"");
  1543 + createMergedCell(sheet, workbook, 7, 8, 7, 8, 8, 8, queryVO.getUnPayedAmount()!=null? "¥"+queryVO.getUnPayedAmount().setScale(2, BigDecimal.ROUND_HALF_UP):"");
  1544 + createMergedCell(sheet, workbook, 7, 9, 7, 8, 9, 9, queryVO.getPayedDate()!=null?queryVO.getPayedDate():"");
1544 //第五行 1545 //第五行
1545 createMergedCell(sheet, workbook, 9, 0, 9, 10, 0, 1, "部门经理审核"); 1546 createMergedCell(sheet, workbook, 9, 0, 9, 10, 0, 1, "部门经理审核");
1546 createMergedCell(sheet, workbook, 9, 2, 9, 10, 2, 4, "财务审核"); 1547 createMergedCell(sheet, workbook, 9, 2, 9, 10, 2, 4, "财务审核");
src/main/resources/application-pre-prod.yml
@@ -83,7 +83,7 @@ spring: @@ -83,7 +83,7 @@ spring:
83 username: chenhang4442024@163.com 83 username: chenhang4442024@163.com
84 # 配置密码,注意不是真正的密码,而是刚刚申请到的授权码 84 # 配置密码,注意不是真正的密码,而是刚刚申请到的授权码
85 # password: AlterEgo1608ITf31 85 # password: AlterEgo1608ITf31
86 - password: ACHWYJSXRITHTMGA 86 + password: WGdg9Fx4za53FXvj
87 # 邮件接收者 87 # 邮件接收者
88 mailRecipient: #邮件接收者邮箱 88 mailRecipient: #邮件接收者邮箱
89 # 端口号465或587(QQ邮箱发送邮件仅支持587端口协议) 89 # 端口号465或587(QQ邮箱发送邮件仅支持587端口协议)