Commit 569e9e3c23f26a941de57a772c42283714a53f76
1 parent
5befd34e
fix:1.为了避免相同的内部编号的订单一直发送邮件,改用使用style,划分更精准。
2.付款单导出时移除实际付款日期,添加实际应付金额。 3.发送邮箱时排除指定邮箱。
Showing
6 changed files
with
32 additions
and
20 deletions
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端口协议) |