From 344724dee058d14cc748be7f1ef462c4bcf8b05d Mon Sep 17 00:00:00 2001 From: chenshuichuan <1154693969@qq.com> Date: Wed, 17 Jul 2024 14:13:12 +0800 Subject: [PATCH] fix erp --- .../purchase/ErpPurchaseInServiceImpl.java | 14 ++++++++-- .../purchase/ErpPurchaseOrderServiceImpl.java | 20 +++++++++++-- .../ErpPurchaseReturnServiceImpl.java | 18 ++++++++++-- .../service/sale/ErpSaleOrderServiceImpl.java | 24 +++++++++++++++- .../service/sale/ErpSaleOutServiceImpl.java | 27 ++++++++++++++++-- .../sale/ErpSaleReturnServiceImpl.java | 28 ++++++++++++++++--- .../admin/app/service/AppServiceImpl.java | 2 +- 7 files changed, 117 insertions(+), 16 deletions(-) diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInServiceImpl.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInServiceImpl.java index bdb3222062..cde332a4e6 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInServiceImpl.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInServiceImpl.java @@ -77,13 +77,23 @@ public class ErpPurchaseInServiceImpl implements ErpPurchaseInService { // 1.2 校验入库项的有效性 List purchaseInItems = validatePurchaseInItems(createReqVO.getItems()); // 1.3 校验结算账户 - //accountService.validateAccount(createReqVO.getAccountId()); + if (createReqVO.getAccountId() != null) { + accountService.validateAccount(createReqVO.getAccountId()); + } // 1.4 生成入库单号,并校验唯一性 String no = noRedisDAO.generate(ErpNoRedisDAO.PURCHASE_IN_NO_PREFIX); if (purchaseInMapper.selectByNo(no) != null) { throw exception(PURCHASE_IN_NO_EXISTS); } - + //检查数据是否有空值 + if(createReqVO.getOtherPrice() ==null)createReqVO.setOtherPrice(BigDecimal.ZERO); + if(createReqVO.getDiscountPercent() ==null)createReqVO.setDiscountPercent(BigDecimal.ZERO); + purchaseInItems.forEach(o -> o + .setTaxPrice(o.getTaxPrice()==null?BigDecimal.ZERO:o.getTaxPrice()) + .setTaxPercent(o.getTaxPercent()==null?BigDecimal.ZERO:o.getTaxPercent()) + .setProductPrice(o.getProductPrice()==null?BigDecimal.ZERO:o.getProductPrice()) + .setCount(o.getCount()==null?BigDecimal.ZERO:o.getCount()) + ); // 2.1 插入入库 ErpPurchaseInDO purchaseIn = BeanUtils.toBean(createReqVO, ErpPurchaseInDO.class, in -> in .setNo(no).setStatus(ErpAuditStatus.PROCESS.getStatus())) diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java index cda7313c5f..5b9030e498 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java @@ -73,7 +73,15 @@ public class ErpPurchaseOrderServiceImpl implements ErpPurchaseOrderService { if (purchaseOrderMapper.selectByNo(no) != null) { throw exception(PURCHASE_ORDER_NO_EXISTS); } - + //检查数据是否有空值 + if(createReqVO.getDepositPrice() ==null)createReqVO.setDepositPrice(BigDecimal.ZERO); + if(createReqVO.getDiscountPercent() ==null)createReqVO.setDiscountPercent(BigDecimal.ZERO); + purchaseOrderItems.forEach(o -> o + .setTaxPrice(o.getTaxPrice()==null?BigDecimal.ZERO:o.getTaxPrice()) + .setTaxPercent(o.getTaxPercent()==null?BigDecimal.ZERO:o.getTaxPercent()) + .setProductPrice(o.getProductPrice()==null?BigDecimal.ZERO:o.getProductPrice()) + .setCount(o.getCount()==null?BigDecimal.ZERO:o.getCount()) + ); // 2.1 插入订单 ErpPurchaseOrderDO purchaseOrder = BeanUtils.toBean(createReqVO, ErpPurchaseOrderDO.class, in -> in .setNo(no).setStatus(ErpAuditStatus.PROCESS.getStatus())); @@ -103,7 +111,15 @@ public class ErpPurchaseOrderServiceImpl implements ErpPurchaseOrderService { } // 1.4 校验订单项的有效性 List purchaseOrderItems = validatePurchaseOrderItems(updateReqVO.getItems()); - +//检查数据是否有空值 + if(updateReqVO.getDepositPrice() ==null)updateReqVO.setDepositPrice(BigDecimal.ZERO); + if(updateReqVO.getDiscountPercent() ==null)updateReqVO.setDiscountPercent(BigDecimal.ZERO); + purchaseOrderItems.forEach(o -> o + .setTaxPrice(o.getTaxPrice()==null?BigDecimal.ZERO:o.getTaxPrice()) + .setTaxPercent(o.getTaxPercent()==null?BigDecimal.ZERO:o.getTaxPercent()) + .setProductPrice(o.getProductPrice()==null?BigDecimal.ZERO:o.getProductPrice()) + .setCount(o.getCount()==null?BigDecimal.ZERO:o.getCount()) + ); // 2.1 更新订单 ErpPurchaseOrderDO updateObj = BeanUtils.toBean(updateReqVO, ErpPurchaseOrderDO.class); calculateTotalPrice(updateObj, purchaseOrderItems); diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseReturnServiceImpl.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseReturnServiceImpl.java index 41de9814c7..2f4ef77dd9 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseReturnServiceImpl.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseReturnServiceImpl.java @@ -73,13 +73,23 @@ public class ErpPurchaseReturnServiceImpl implements ErpPurchaseReturnService { // 1.2 校验退货项的有效性 List purchaseReturnItems = validatePurchaseReturnItems(createReqVO.getItems()); // 1.3 校验结算账户 - accountService.validateAccount(createReqVO.getAccountId()); + if (createReqVO.getAccountId() != null) { + accountService.validateAccount(createReqVO.getAccountId()); + } // 1.4 生成退货单号,并校验唯一性 String no = noRedisDAO.generate(ErpNoRedisDAO.PURCHASE_RETURN_NO_PREFIX); if (purchaseReturnMapper.selectByNo(no) != null) { throw exception(PURCHASE_RETURN_NO_EXISTS); } - + //检查数据是否有空值 + if(createReqVO.getDiscountPercent() ==null)createReqVO.setDiscountPercent(BigDecimal.ZERO); + if(createReqVO.getOtherPrice() ==null)createReqVO.setOtherPrice(BigDecimal.ZERO); + purchaseReturnItems.forEach(o -> o + .setTaxPrice(o.getTaxPrice()==null?BigDecimal.ZERO:o.getTaxPrice()) + .setTaxPercent(o.getTaxPercent()==null?BigDecimal.ZERO:o.getTaxPercent()) + .setProductPrice(o.getProductPrice()==null?BigDecimal.ZERO:o.getProductPrice()) + .setCount(o.getCount()==null?BigDecimal.ZERO:o.getCount()) + ); // 2.1 插入退货 ErpPurchaseReturnDO purchaseReturn = BeanUtils.toBean(createReqVO, ErpPurchaseReturnDO.class, in -> in .setNo(no).setStatus(ErpAuditStatus.PROCESS.getStatus())) @@ -106,7 +116,9 @@ public class ErpPurchaseReturnServiceImpl implements ErpPurchaseReturnService { // 1.2 校验采购订单已审核 ErpPurchaseOrderDO purchaseOrder = purchaseOrderService.validatePurchaseOrder(updateReqVO.getOrderId()); // 1.3 校验结算账户 - accountService.validateAccount(updateReqVO.getAccountId()); + if (updateReqVO.getAccountId() != null) { + accountService.validateAccount(updateReqVO.getAccountId()); + } // 1.4 校验订单项的有效性 List purchaseReturnItems = validatePurchaseReturnItems(updateReqVO.getItems()); diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java index 7c25d067e7..bfb4f5e3b7 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java @@ -81,10 +81,22 @@ public class ErpSaleOrderServiceImpl implements ErpSaleOrderService { if (saleOrderMapper.selectByNo(no) != null) { throw exception(SALE_ORDER_NO_EXISTS); } + //检查数据是否有空值 + if(createReqVO.getDepositPrice() ==null)createReqVO.setDepositPrice(BigDecimal.ZERO); + if(createReqVO.getDiscountPercent() ==null)createReqVO.setDiscountPercent(BigDecimal.ZERO); + saleOrderItems.forEach(o -> o + .setTaxPrice(o.getTaxPrice()==null?BigDecimal.ZERO:o.getTaxPrice()) + .setTaxPercent(o.getTaxPercent()==null?BigDecimal.ZERO:o.getTaxPercent()) + .setProductPrice(o.getProductPrice()==null?BigDecimal.ZERO:o.getProductPrice()) + .setOutCount(o.getOutCount()==null?BigDecimal.ZERO:o.getOutCount()) + .setCount(o.getCount()==null?BigDecimal.ZERO:o.getCount()) + .setCount(o.getReturnCount()==null?BigDecimal.ZERO:o.getReturnCount()) + ); // 2.1 插入订单 ErpSaleOrderDO saleOrder = BeanUtils.toBean(createReqVO, ErpSaleOrderDO.class, in -> in .setNo(no).setStatus(ErpAuditStatus.PROCESS.getStatus())); + calculateTotalPrice(saleOrder, saleOrderItems); saleOrderMapper.insert(saleOrder); // 2.2 插入订单项 @@ -113,7 +125,17 @@ public class ErpSaleOrderServiceImpl implements ErpSaleOrderService { } // 1.5 校验订单项的有效性 List saleOrderItems = validateSaleOrderItems(updateReqVO.getItems()); - + //检查数据是否有空值 + if(updateReqVO.getDepositPrice() ==null)updateReqVO.setDepositPrice(BigDecimal.ZERO); + if(updateReqVO.getDiscountPercent() ==null)updateReqVO.setDiscountPercent(BigDecimal.ZERO); + saleOrderItems.forEach(o -> o + .setTaxPrice(o.getTaxPrice()==null?BigDecimal.ZERO:o.getTaxPrice()) + .setTaxPercent(o.getTaxPercent()==null?BigDecimal.ZERO:o.getTaxPercent()) + .setProductPrice(o.getProductPrice()==null?BigDecimal.ZERO:o.getProductPrice()) + .setOutCount(o.getOutCount()==null?BigDecimal.ZERO:o.getOutCount()) + .setCount(o.getCount()==null?BigDecimal.ZERO:o.getCount()) + .setCount(o.getReturnCount()==null?BigDecimal.ZERO:o.getReturnCount()) + ); // 2.1 更新订单 ErpSaleOrderDO updateObj = BeanUtils.toBean(updateReqVO, ErpSaleOrderDO.class); calculateTotalPrice(updateObj, saleOrderItems); diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOutServiceImpl.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOutServiceImpl.java index 5041920056..37f8fd0d6e 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOutServiceImpl.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOutServiceImpl.java @@ -77,7 +77,9 @@ public class ErpSaleOutServiceImpl implements ErpSaleOutService { // 1.2 校验出库项的有效性 List saleOutItems = validateSaleOutItems(createReqVO.getItems()); // 1.3 校验结算账户 - accountService.validateAccount(createReqVO.getAccountId()); + if (createReqVO.getAccountId() != null) { + accountService.validateAccount(createReqVO.getAccountId()); + } // 1.4 校验销售人员 if (createReqVO.getSaleUserId() != null) { adminUserApi.validateUser(createReqVO.getSaleUserId()); @@ -87,6 +89,15 @@ public class ErpSaleOutServiceImpl implements ErpSaleOutService { if (saleOutMapper.selectByNo(no) != null) { throw exception(SALE_OUT_NO_EXISTS); } + //检查数据是否有空值 + if(createReqVO.getOtherPrice() ==null)createReqVO.setOtherPrice(BigDecimal.ZERO); + if(createReqVO.getDiscountPercent() ==null)createReqVO.setDiscountPercent(BigDecimal.ZERO); + saleOutItems.forEach(o -> o + .setTaxPrice(o.getTaxPrice()==null?BigDecimal.ZERO:o.getTaxPrice()) + .setTaxPercent(o.getTaxPercent()==null?BigDecimal.ZERO:o.getTaxPercent()) + .setProductPrice(o.getProductPrice()==null?BigDecimal.ZERO:o.getProductPrice()) + .setCount(o.getCount()==null?BigDecimal.ZERO:o.getCount()) + ); // 2.1 插入出库 ErpSaleOutDO saleOut = BeanUtils.toBean(createReqVO, ErpSaleOutDO.class, in -> in @@ -114,14 +125,24 @@ public class ErpSaleOutServiceImpl implements ErpSaleOutService { // 1.2 校验销售订单已审核 ErpSaleOrderDO saleOrder = saleOrderService.validateSaleOrder(updateReqVO.getOrderId()); // 1.3 校验结算账户 - accountService.validateAccount(updateReqVO.getAccountId()); + if (updateReqVO.getAccountId() != null) { + accountService.validateAccount(updateReqVO.getAccountId()); + } // 1.4 校验销售人员 if (updateReqVO.getSaleUserId() != null) { adminUserApi.validateUser(updateReqVO.getSaleUserId()); } // 1.5 校验订单项的有效性 List saleOutItems = validateSaleOutItems(updateReqVO.getItems()); - + //检查数据是否有空值 + if(updateReqVO.getOtherPrice() ==null)updateReqVO.setOtherPrice(BigDecimal.ZERO); + if(updateReqVO.getDiscountPercent() ==null)updateReqVO.setDiscountPercent(BigDecimal.ZERO); + saleOutItems.forEach(o -> o + .setTaxPrice(o.getTaxPrice()==null?BigDecimal.ZERO:o.getTaxPrice()) + .setTaxPercent(o.getTaxPercent()==null?BigDecimal.ZERO:o.getTaxPercent()) + .setProductPrice(o.getProductPrice()==null?BigDecimal.ZERO:o.getProductPrice()) + .setCount(o.getCount()==null?BigDecimal.ZERO:o.getCount()) + ); // 2.1 更新出库 ErpSaleOutDO updateObj = BeanUtils.toBean(updateReqVO, ErpSaleOutDO.class) .setOrderNo(saleOrder.getNo()).setCustomerId(saleOrder.getCustomerId()); diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleReturnServiceImpl.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleReturnServiceImpl.java index 216953018c..b06a6cc307 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleReturnServiceImpl.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleReturnServiceImpl.java @@ -77,7 +77,9 @@ public class ErpSaleReturnServiceImpl implements ErpSaleReturnService { // 1.2 校验退货项的有效性 List saleReturnItems = validateSaleReturnItems(createReqVO.getItems()); // 1.3 校验结算账户 - accountService.validateAccount(createReqVO.getAccountId()); + if (createReqVO.getAccountId() != null) { + accountService.validateAccount(createReqVO.getAccountId()); + } // 1.4 校验销售人员 if (createReqVO.getSaleUserId() != null) { adminUserApi.validateUser(createReqVO.getSaleUserId()); @@ -87,7 +89,15 @@ public class ErpSaleReturnServiceImpl implements ErpSaleReturnService { if (saleReturnMapper.selectByNo(no) != null) { throw exception(SALE_RETURN_NO_EXISTS); } - + //检查数据是否有空值 + if(createReqVO.getOtherPrice() ==null)createReqVO.setOtherPrice(BigDecimal.ZERO); + if(createReqVO.getDiscountPercent() ==null)createReqVO.setDiscountPercent(BigDecimal.ZERO); + saleReturnItems.forEach(o -> o + .setTaxPrice(o.getTaxPrice()==null?BigDecimal.ZERO:o.getTaxPrice()) + .setTaxPercent(o.getTaxPercent()==null?BigDecimal.ZERO:o.getTaxPercent()) + .setProductPrice(o.getProductPrice()==null?BigDecimal.ZERO:o.getProductPrice()) + .setCount(o.getCount()==null?BigDecimal.ZERO:o.getCount()) + ); // 2.1 插入退货 ErpSaleReturnDO saleReturn = BeanUtils.toBean(createReqVO, ErpSaleReturnDO.class, in -> in .setNo(no).setStatus(ErpAuditStatus.PROCESS.getStatus())) @@ -114,14 +124,24 @@ public class ErpSaleReturnServiceImpl implements ErpSaleReturnService { // 1.2 校验销售订单已审核 ErpSaleOrderDO saleOrder = saleOrderService.validateSaleOrder(updateReqVO.getOrderId()); // 1.3 校验结算账户 - accountService.validateAccount(updateReqVO.getAccountId()); + if (updateReqVO.getAccountId() != null) { + accountService.validateAccount(updateReqVO.getAccountId()); + } // 1.4 校验销售人员 if (updateReqVO.getSaleUserId() != null) { adminUserApi.validateUser(updateReqVO.getSaleUserId()); } // 1.5 校验订单项的有效性 List saleReturnItems = validateSaleReturnItems(updateReqVO.getItems()); - + //检查数据是否有空值 + if(updateReqVO.getOtherPrice() ==null)updateReqVO.setOtherPrice(BigDecimal.ZERO); + if(updateReqVO.getDiscountPercent() ==null)updateReqVO.setDiscountPercent(BigDecimal.ZERO); + saleReturnItems.forEach(o -> o + .setTaxPrice(o.getTaxPrice()==null?BigDecimal.ZERO:o.getTaxPrice()) + .setTaxPercent(o.getTaxPercent()==null?BigDecimal.ZERO:o.getTaxPercent()) + .setProductPrice(o.getProductPrice()==null?BigDecimal.ZERO:o.getProductPrice()) + .setCount(o.getCount()==null?BigDecimal.ZERO:o.getCount()) + ); // 2.1 更新退货 ErpSaleReturnDO updateObj = BeanUtils.toBean(updateReqVO, ErpSaleReturnDO.class) .setOrderNo(saleOrder.getNo()).setCustomerId(saleOrder.getCustomerId()); diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/service/AppServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/service/AppServiceImpl.java index a5ffa4ff9c..b1bec3af2f 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/service/AppServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/service/AppServiceImpl.java @@ -112,7 +112,7 @@ public class AppServiceImpl implements AppService { builder.append("需:").append(plan.getPlanNumber() - finish); else builder.append("超:").append(finish - plan.getPlanNumber()); } - builder.append(" [").append(plan.getCode()).append("]"); + // builder.append(" [").append(plan.getCode()).append("]"); appProductVo.setText(builder.toString()); appProductVoList.add(appProductVo); }