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,6 +5,7 @@ import lombok.experimental.SuperBuilder;
5 5
6 import java.io.Serializable; 6 import java.io.Serializable;
7 import java.math.BigDecimal; 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,6 +23,8 @@ public class InvoiceBillDeductInfoVO implements Serializable {
22 23
23 private Long id; 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,6 +4,7 @@ import lombok.*;
4 import lombok.experimental.SuperBuilder; 4 import lombok.experimental.SuperBuilder;
5 5
6 import java.io.Serializable; 6 import java.io.Serializable;
  7 +import java.util.List;
7 8
8 /** 9 /**
9 * 生产科对账单应收账单(ProducePaymentCheckBillOrder)实体类 10 * 生产科对账单应收账单(ProducePaymentCheckBillOrder)实体类
@@ -21,6 +22,8 @@ public class ProducePaymentCheckBillInvoiceInfoVO implements Serializable { @@ -21,6 +22,8 @@ public class ProducePaymentCheckBillInvoiceInfoVO implements Serializable {
21 22
22 private Long id; 23 private Long id;
23 24
  25 + private List<Long> ids;
  26 +
24 /** 27 /**
25 * 发票url地址 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,36 +1715,30 @@ public class InvoiceBillOrderServiceImpl extends ServiceImpl&lt;InvoiceBillOrderMap
1715 1715
1716 @Override 1716 @Override
1717 public ServerResult isFinishStatus(InvoiceBillDeductInfoVO invoiceBillDeductInfoVO) { 1717 public ServerResult isFinishStatus(InvoiceBillDeductInfoVO invoiceBillDeductInfoVO) {
1718 - if(Objects.isNull(invoiceBillDeductInfoVO.getId())){ 1718 + if(CollectionUtils.isEmpty(invoiceBillDeductInfoVO.getIds())){
1719 throw new BusinessException(ServerResultCode.PARAM_ERROR); 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 return ServerResult.success(); 1743 return ServerResult.success();
1750 } 1744 }
src/main/java/com/order/erp/service/order/impl/OrderBaseInfoServiceImpl.java
@@ -2187,14 +2187,6 @@ end @@ -2187,14 +2187,6 @@ end
2187 .eq(OrderInspectionStageDO::getOrderId, updateVO.getOrderId()) 2187 .eq(OrderInspectionStageDO::getOrderId, updateVO.getOrderId())
2188 .last("limit 1")); 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 String midCheckResult = inspectionStageInfo.getMidCheckResult(); 2190 String midCheckResult = inspectionStageInfo.getMidCheckResult();
2199 String endCheckResult = inspectionStageInfo.getEndCheckResult(); 2191 String endCheckResult = inspectionStageInfo.getEndCheckResult();
2200 if (Objects.nonNull(inspectionStageDO)) { 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,33 +1454,29 @@ public class ProducePaymentCheckBillOrderServiceImpl extends ServiceImpl&lt;Produce
1454 1454
1455 @Override 1455 @Override
1456 public ServerResult isFinishStatus(ProducePaymentCheckBillInvoiceInfoVO producePaymentCheckBillInvoiceInfoVO) { 1456 public ServerResult isFinishStatus(ProducePaymentCheckBillInvoiceInfoVO producePaymentCheckBillInvoiceInfoVO) {
1457 - if(Objects.isNull(producePaymentCheckBillInvoiceInfoVO.getId())){ 1457 + if(CollectionUtils.isEmpty(producePaymentCheckBillInvoiceInfoVO.getIds())){
1458 throw new BusinessException(ServerResultCode.PARAM_ERROR); 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 return ServerResult.success(); 1481 return ServerResult.success();
1486 } 1482 }
src/main/resources/application-pre-prod.yml
@@ -59,7 +59,7 @@ spring: @@ -59,7 +59,7 @@ spring:
59 testOnReturn: true 59 testOnReturn: true
60 password: eJ8(bD6]wN6=gI5= 60 password: eJ8(bD6]wN6=gI5=
61 time-between-eviction-runs-millis: 1000 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 username: root 63 username: root
64 redis: 64 redis:
65 database: 10 65 database: 10
@@ -80,7 +80,7 @@ spring: @@ -80,7 +80,7 @@ spring:
80 host: smtp.163.com 80 host: smtp.163.com
81 # 发送者邮箱,已开通POP3/SMTP服务的邮箱,也就是你自己的 81 # 发送者邮箱,已开通POP3/SMTP服务的邮箱,也就是你自己的
82 # username: information@alterego.xin 82 # username: information@alterego.xin
83 - username: chenhang4442024@163.com 83 + username: c1henhang4442024@163.com
84 # 配置密码,注意不是真正的密码,而是刚刚申请到的授权码 84 # 配置密码,注意不是真正的密码,而是刚刚申请到的授权码
85 # password: AlterEgo1608ITf31 85 # password: AlterEgo1608ITf31
86 password: WGdg9Fx4za53FXvj 86 password: WGdg9Fx4za53FXvj
src/main/resources/application-test.yml
@@ -59,7 +59,7 @@ spring: @@ -59,7 +59,7 @@ spring:
59 testOnReturn: true 59 testOnReturn: true
60 password: eJ8(bD6]wN6=gI5= 60 password: eJ8(bD6]wN6=gI5=
61 time-between-eviction-runs-millis: 1000 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 username: root 63 username: root
64 redis: 64 redis:
65 database: 0 65 database: 0
@@ -79,7 +79,7 @@ spring: @@ -79,7 +79,7 @@ spring:
79 # host: smtp.mxhichina.com 79 # host: smtp.mxhichina.com
80 host: smtp.163.com 80 host: smtp.163.com
81 # 发送者邮箱,已开通POP3/SMTP服务的邮箱,也就是你自己的 81 # 发送者邮箱,已开通POP3/SMTP服务的邮箱,也就是你自己的
82 - username: chenhang4442024@163.com 82 + username: c1henhang4442024@163.com
83 # 配置密码,注意不是真正的密码,而是刚刚申请到的授权码 83 # 配置密码,注意不是真正的密码,而是刚刚申请到的授权码
84 password: WGdg9Fx4za53FXvj 84 password: WGdg9Fx4za53FXvj
85 # 邮件接收者 85 # 邮件接收者