Commit ef78f75d33cc6ef77ab52dc241cf0e04349e519b

Authored by chenhang4442024
1 parent 360aae57

fix:1.给应收款和应付款从单个状态设置改为勾选批量状态设置。

2.改为由前端来控制,当填写时间大于Hod时间则对质检信息无法编辑。
src/main/java/com/order/erp/domain/vo/order/InvoiceBillDeductInfoVO.java
... ... @@ -5,6 +5,7 @@ import lombok.experimental.SuperBuilder;
5 5  
6 6 import java.io.Serializable;
7 7 import java.math.BigDecimal;
  8 +import java.util.List;
8 9  
9 10 /**
10 11 * 应收款账单 -- 扣款信息
... ... @@ -22,6 +23,8 @@ public class InvoiceBillDeductInfoVO implements Serializable {
22 23  
23 24 private Long id;
24 25  
  26 + private List<Long> ids;
  27 +
25 28 /**
26 29 * 发票单号
27 30 */
... ...
src/main/java/com/order/erp/domain/vo/order/ProducePaymentCheckBillInvoiceInfoVO.java
... ... @@ -4,6 +4,7 @@ import lombok.*;
4 4 import lombok.experimental.SuperBuilder;
5 5  
6 6 import java.io.Serializable;
  7 +import java.util.List;
7 8  
8 9 /**
9 10 * 生产科对账单应收账单(ProducePaymentCheckBillOrder)实体类
... ... @@ -21,6 +22,8 @@ public class ProducePaymentCheckBillInvoiceInfoVO implements Serializable {
21 22  
22 23 private Long id;
23 24  
  25 + private List<Long> ids;
  26 +
24 27 /**
25 28 * 发票url地址
26 29 */
... ...
src/main/java/com/order/erp/service/order/impl/InvoiceBillOrderServiceImpl.java
... ... @@ -1715,36 +1715,30 @@ public class InvoiceBillOrderServiceImpl extends ServiceImpl&lt;InvoiceBillOrderMap
1715 1715  
1716 1716 @Override
1717 1717 public ServerResult isFinishStatus(InvoiceBillDeductInfoVO invoiceBillDeductInfoVO) {
1718   - if(Objects.isNull(invoiceBillDeductInfoVO.getId())){
  1718 + if(CollectionUtils.isEmpty(invoiceBillDeductInfoVO.getIds())){
1719 1719 throw new BusinessException(ServerResultCode.PARAM_ERROR);
1720 1720 }
1721   - InvoiceBillOrderDO invoiceBillOrderDO = getById(invoiceBillDeductInfoVO.getId());
1722   - if(Objects.nonNull(invoiceBillOrderDO)){
1723   - if((!FinanceEnum.RECEIVED_PAYMENT.getStatus().equals(invoiceBillOrderDO.getStatus())) && (!FinanceEnum.OK_PAYMENT.getStatus().equals(invoiceBillOrderDO.getStatus()))){
1724   - throw new BusinessException("该订单还没有审核通过,你无法设置最终状态为已收款!");
1725   - }
1726   - List<InvoiceBillOrderDO> invoiceBillOrderDOList = list(new LambdaQueryWrapper<InvoiceBillOrderDO>().eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN)
1727   - .eq(InvoiceBillOrderDO::getInvoiceNo, invoiceBillOrderDO.getInvoiceNo())
1728   - //这里没问题的,只会去对已通过审核的invoiceNO进行查询,即使invoiceNo相同,但是它没有通过审核也不会被修改为已手动审核通过的状态。
1729   - .eq(InvoiceBillOrderDO::getStatus, FinanceEnum.RECEIVED_PAYMENT.getStatus()));
1730   - if(CollectionUtils.isNotEmpty(invoiceBillOrderDOList)){
1731   - List<InvoiceBillOrderDO> finishSatusList = invoiceBillOrderDOList.stream().map(x -> {
1732   - x.setStatus(FinanceEnum.OK_PAYMENT.getStatus());
1733   - return x;
1734   - }).collect(Collectors.toList());
1735   - //还需要把基础订单的状态也改一下。
1736   - List<Long> orderIds = invoiceBillOrderDOList.stream().map(InvoiceBillOrderDO::getOrderId).collect(Collectors.toList());
1737   - List<OrderBaseInfoDO> orderBaseInfoDOList = orderBaseInfoService.listByIds(orderIds);
1738   - List<OrderBaseInfoDO> orderBaseInfoDOS = orderBaseInfoDOList.stream().map(order -> {
1739   - order.setInvoiceStatus(FinanceEnum.OK_PAYMENT.getStatus());
1740   - return order;
1741   - }).collect(Collectors.toList());
1742   - transactionHelper.run(() ->{
1743   - updateBatchById(finishSatusList);
1744   - orderBaseInfoService.updateBatchById(orderBaseInfoDOS);
1745   - });
  1721 + List<InvoiceBillOrderDO> invoiceBillOrderDOS = list(new LambdaQueryWrapper<InvoiceBillOrderDO>()
  1722 + .eq(InvoiceBillOrderDO::getStatus, FinanceEnum.RECEIVED_PAYMENT.getStatus())
  1723 + .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN)
  1724 + .in(InvoiceBillOrderDO::getId, invoiceBillDeductInfoVO.getIds()));
  1725 + if(CollectionUtils.isNotEmpty(invoiceBillOrderDOS)){
  1726 + List<InvoiceBillOrderDO> finishSatusList = invoiceBillOrderDOS.stream().map(x -> {
  1727 + x.setStatus(FinanceEnum.OK_PAYMENT.getStatus());
  1728 + return x;
  1729 + }).collect(Collectors.toList());
  1730 + //还需要把基础订单的状态也改一下。
  1731 + List<Long> orderIds = invoiceBillOrderDOS.stream().map(InvoiceBillOrderDO::getOrderId).collect(Collectors.toList());
  1732 + List<OrderBaseInfoDO> orderBaseInfoDOList = orderBaseInfoService.listByIds(orderIds);
  1733 + List<OrderBaseInfoDO> orderBaseInfoDOS = orderBaseInfoDOList.stream().map(order -> {
  1734 + order.setInvoiceStatus(FinanceEnum.OK_PAYMENT.getStatus());
  1735 + return order;
  1736 + }).collect(Collectors.toList());
  1737 + transactionHelper.run(() ->{
  1738 + updateBatchById(finishSatusList);
  1739 + orderBaseInfoService.updateBatchById(orderBaseInfoDOS);
  1740 + });
1746 1741  
1747   - }
1748 1742 }
1749 1743 return ServerResult.success();
1750 1744 }
... ...
src/main/java/com/order/erp/service/order/impl/OrderBaseInfoServiceImpl.java
... ... @@ -2187,14 +2187,6 @@ end
2187 2187 .eq(OrderInspectionStageDO::getOrderId, updateVO.getOrderId())
2188 2188 .last("limit 1"));
2189 2189  
2190   - //对于质检信息,如果填写时间查超过订单的尾期拖货时间并且你的尾期结果不为FAIL,那么你就无法填写,说明你在补数据,而不是实时填写。--start
2191   - String dateStr = orderBaseInfoDo.getProductionDepartmentConsignTime().substring(0, 10);
2192   - LocalDate productionDepartmentConsignTime = LocalDate.parse(dateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
2193   - if(currentDate.isAfter(productionDepartmentConsignTime) && StringUtils.isBlank(inspectionStageDO.getEndCheckResult())){
2194   - throw new BusinessException("已经过了"+dateStr+"拖货时间,禁止填写质检信息");
2195   - }
2196   - //上面这段代码始终不行,还是需要前端控制是否填写。不然一直填写不上。因为你不能像前端那样申请字段解锁逻辑,到时候由前端来控制实际否能够填写尾期验货结果,就需要删除这段代码。 -end
2197   -
2198 2190 String midCheckResult = inspectionStageInfo.getMidCheckResult();
2199 2191 String endCheckResult = inspectionStageInfo.getEndCheckResult();
2200 2192 if (Objects.nonNull(inspectionStageDO)) {
... ...
src/main/java/com/order/erp/service/order/impl/ProducePaymentCheckBillOrderServiceImpl.java
... ... @@ -1454,33 +1454,29 @@ public class ProducePaymentCheckBillOrderServiceImpl extends ServiceImpl&lt;Produce
1454 1454  
1455 1455 @Override
1456 1456 public ServerResult isFinishStatus(ProducePaymentCheckBillInvoiceInfoVO producePaymentCheckBillInvoiceInfoVO) {
1457   - if(Objects.isNull(producePaymentCheckBillInvoiceInfoVO.getId())){
  1457 + if(CollectionUtils.isEmpty(producePaymentCheckBillInvoiceInfoVO.getIds())){
1458 1458 throw new BusinessException(ServerResultCode.PARAM_ERROR);
1459 1459 }
1460   - ProducePaymentCheckBillOrderDO producePaymentCheckBillOrderDO = getById(producePaymentCheckBillInvoiceInfoVO.getId());
1461   - if(Objects.nonNull(producePaymentCheckBillOrderDO)){
1462   - if((!FinanceEnum.RECEIVED_PAYMENT.getStatus().equals(producePaymentCheckBillOrderDO.getStatus())) && (!FinanceEnum.OK_PAYMENT.getStatus().equals(producePaymentCheckBillOrderDO.getStatus()))){
1463   - throw new BusinessException("该订单还没有审核通过,你无法设置最终状态为已付款!");
1464   - }
1465   - List<ProducePaymentCheckBillOrderDO> producePaymentCheckBillOrderDOList = list(new LambdaQueryWrapper<ProducePaymentCheckBillOrderDO>().eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN)
1466   - .eq(ProducePaymentCheckBillOrderDO::getStatus, FinanceEnum.RECEIVED_PAYMENT.getStatus())
1467   - .eq(ProducePaymentCheckBillOrderDO::getCheckNo, producePaymentCheckBillOrderDO.getCheckNo()));
1468   - if(CollectionUtils.isNotEmpty(producePaymentCheckBillOrderDOList)){
1469   - List<ProducePaymentCheckBillOrderDO> producePaymentCheckBillOrderDOS = producePaymentCheckBillOrderDOList.stream().map(x -> {
1470   - x.setStatus(FinanceEnum.OK_PAYMENT.getStatus());
1471   - return x;
1472   - }).collect(Collectors.toList());
1473   - List<Long> orderIds = producePaymentCheckBillOrderDOList.stream().map(ProducePaymentCheckBillOrderDO::getOrderId).collect(Collectors.toList());
1474   - List<OrderBaseInfoDO> orderBaseInfoDOList = orderBaseInfoService.listByIds(orderIds);
1475   - List<OrderBaseInfoDO> orderBaseInfoDOS = orderBaseInfoDOList.stream().map(order -> {
1476   - order.setCheckStatus(FinanceEnum.OK_PAYMENT.getStatus());
1477   - return order;
1478   - }).collect(Collectors.toList());
1479   - transactionHelper.run(() ->{
1480   - updateBatchById(producePaymentCheckBillOrderDOS);
1481   - orderBaseInfoService.updateBatchById(orderBaseInfoDOS);
1482   - });
1483   - }
  1460 + List<ProducePaymentCheckBillOrderDO> producePaymentCheckBillOrderDOList = list(new LambdaQueryWrapper<ProducePaymentCheckBillOrderDO>()
  1461 + .eq(ProducePaymentCheckBillOrderDO::getStatus, FinanceEnum.RECEIVED_PAYMENT.getStatus())
  1462 + .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN)
  1463 + .in(ProducePaymentCheckBillOrderDO::getId,producePaymentCheckBillInvoiceInfoVO.getIds()));
  1464 + if(CollectionUtils.isNotEmpty(producePaymentCheckBillOrderDOList)){
  1465 + List<ProducePaymentCheckBillOrderDO> producePaymentCheckBillOrderDOS = producePaymentCheckBillOrderDOList.stream().map(x -> {
  1466 + x.setStatus(FinanceEnum.OK_PAYMENT.getStatus());
  1467 + return x;
  1468 + }).collect(Collectors.toList());
  1469 +
  1470 + List<Long> orderIds = producePaymentCheckBillOrderDOS.stream().map(ProducePaymentCheckBillOrderDO::getOrderId).collect(Collectors.toList());
  1471 + List<OrderBaseInfoDO> orderBaseInfoDOList = orderBaseInfoService.listByIds(orderIds);
  1472 + List<OrderBaseInfoDO> orderBaseInfoDOS = orderBaseInfoDOList.stream().map(order -> {
  1473 + order.setCheckStatus(FinanceEnum.OK_PAYMENT.getStatus());
  1474 + return order;
  1475 + }).collect(Collectors.toList());
  1476 + transactionHelper.run(() ->{
  1477 + updateBatchById(producePaymentCheckBillOrderDOS);
  1478 + orderBaseInfoService.updateBatchById(orderBaseInfoDOS);
  1479 + });
1484 1480 }
1485 1481 return ServerResult.success();
1486 1482 }
... ...
src/main/resources/application-pre-prod.yml
... ... @@ -59,7 +59,7 @@ spring:
59 59 testOnReturn: true
60 60 password: eJ8(bD6]wN6=gI5=
61 61 time-between-eviction-runs-millis: 1000
62   - url: jdbc:mysql://47.104.8.35:3307/order-erp-pre-prod?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useSSL=false&autoReconnect=true&failOverReadOnly=false&maxReconnects=10&allowMultiQueries=true&useAffectedRows=true&autoReconnectForPools=true
  62 + url: jdbc:mysql://47.104.8.35:3307/order-erp-prod?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useSSL=false&autoReconnect=true&failOverReadOnly=false&maxReconnects=10&allowMultiQueries=true&useAffectedRows=true&autoReconnectForPools=true
63 63 username: root
64 64 redis:
65 65 database: 10
... ... @@ -80,7 +80,7 @@ spring:
80 80 host: smtp.163.com
81 81 # 发送者邮箱,已开通POP3/SMTP服务的邮箱,也就是你自己的
82 82 # username: information@alterego.xin
83   - username: chenhang4442024@163.com
  83 + username: c1henhang4442024@163.com
84 84 # 配置密码,注意不是真正的密码,而是刚刚申请到的授权码
85 85 # password: AlterEgo1608ITf31
86 86 password: WGdg9Fx4za53FXvj
... ...
src/main/resources/application-test.yml
... ... @@ -59,7 +59,7 @@ spring:
59 59 testOnReturn: true
60 60 password: eJ8(bD6]wN6=gI5=
61 61 time-between-eviction-runs-millis: 1000
62   - url: jdbc:mysql://47.104.8.35:3307/order-erp?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useSSL=false&autoReconnect=true&failOverReadOnly=false&maxReconnects=10&allowMultiQueries=true&useAffectedRows=true&autoReconnectForPools=true
  62 + url: jdbc:mysql://47.104.8.35:3307/order-erp-test?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useSSL=false&autoReconnect=true&failOverReadOnly=false&maxReconnects=10&allowMultiQueries=true&useAffectedRows=true&autoReconnectForPools=true
63 63 username: root
64 64 redis:
65 65 database: 0
... ... @@ -79,7 +79,7 @@ spring:
79 79 # host: smtp.mxhichina.com
80 80 host: smtp.163.com
81 81 # 发送者邮箱,已开通POP3/SMTP服务的邮箱,也就是你自己的
82   - username: chenhang4442024@163.com
  82 + username: c1henhang4442024@163.com
83 83 # 配置密码,注意不是真正的密码,而是刚刚申请到的授权码
84 84 password: WGdg9Fx4za53FXvj
85 85 # 邮件接收者
... ...