From d27ae4c3253c06f27e1e444ada9bf424e9ceaa13 Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Thu, 28 Nov 2024 19:46:03 +0800 Subject: [PATCH 1/3] =?UTF-8?q?[fix]=E9=87=87=E8=B4=AD=E7=AE=A1=E7=90=86?= =?UTF-8?q?=20=E4=BF=AE=E6=94=B9=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=A5=E5=BA=93=E5=8D=95=E5=88=B0=E8=B4=A7?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E4=B8=BA=E8=BF=99=E9=87=8C=E7=BC=96=E8=BE=91?= =?UTF-8?q?=20=E4=BF=AE=E5=A4=8D=E5=90=8E=E7=AB=AF=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E9=87=87=E8=B4=AD=E5=85=A5=E5=BA=93=E5=8D=95=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E8=A7=A3=E5=86=B3=E5=85=A5=E5=BA=93=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=B1=BB=E5=9E=8B=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20=E4=BF=AE=E5=A4=8D=E4=BF=AE=E6=94=B9=E4=BF=9D=E5=AD=98=20=20?= =?UTF-8?q?=E5=85=A5=E5=BA=93-=E9=87=87=E8=B4=AD=E5=8D=95(=E9=87=87?= =?UTF-8?q?=E8=B4=AD=E5=85=A5=E5=BA=93)=E7=9A=84=E6=96=B9=E6=B3=95?= =?UTF-8?q?=EF=BC=8C=E8=A7=A3=E5=86=B3=E5=B7=B2=E7=BB=8F=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E6=95=B0=E6=B2=A1=E6=9C=89=E5=80=BC=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/purchase/service/impl/PurchaseOrderServiceImpl.java | 4 ++-- .../service/impl/WarehouseStorageOrderServiceImpl.java | 2 ++ .../templates/purchase/purchaseOrder/addPurchaseStorage.html | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/impl/PurchaseOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/impl/PurchaseOrderServiceImpl.java index f8a2c758..48a4cd3a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/impl/PurchaseOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/purchase/service/impl/PurchaseOrderServiceImpl.java @@ -1213,7 +1213,7 @@ public class PurchaseOrderServiceImpl implements IPurchaseOrderService PurchaseOrderChild purchaseOrderChild = filterPurchaseOrderChildList.get(0); purchaseStorage.setWarehouseStorageStatus("0"); - purchaseStorage.setWarehouseStorageType("5"); + purchaseStorage.setWarehouseStorageType("0"); purchaseStorage.setWarehouseDeptType(purchaseOrderChild.getWarehouseDept()); purchaseStorage.setWarehouseQualityStatus("0"); purchaseStorage.setWarehouseOrderType("0"); @@ -1255,7 +1255,7 @@ public class PurchaseOrderServiceImpl implements IPurchaseOrderService WarehouseStorageOrder warehouseStorageOrder = new WarehouseStorageOrder(); warehouseStorageOrder.setWarehouseStorageCode(warehouseStorageCode); warehouseStorageOrder.setWarehouseStorageStatus("0"); - warehouseStorageOrder.setWarehouseStorageType("5"); + warehouseStorageOrder.setWarehouseStorageType("0"); warehouseStorageOrder.setWarehouseDeptType(purchaseOrderChild.getWarehouseDept()); warehouseStorageOrder.setWarehouseQualityStatus("0"); warehouseStorageOrder.setWarehouseOrderType("0"); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java index 3f6b178f..77dc47fa 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java @@ -630,9 +630,11 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS //更新已入库数 hasStorageNum = storageNumDetail; oldPurchaseOrderChild.setHasStorageNum(hasStorageNum); + warehouseStorageOrderDetail.setHasStorageNum(hasStorageNum); }else{ hasStorageNum = hasStorageNum + storageNumDetail; oldPurchaseOrderChild.setHasStorageNum(hasStorageNum); + warehouseStorageOrderDetail.setHasStorageNum(hasStorageNum); } if (temporaryQualifiedNum < hasStorageNum){ diff --git a/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/addPurchaseStorage.html b/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/addPurchaseStorage.html index dbab8cb3..10f62209 100644 --- a/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/addPurchaseStorage.html +++ b/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/addPurchaseStorage.html @@ -33,7 +33,7 @@
- +
@@ -114,6 +114,7 @@ "materialPhotourl" : item.materialPhotourl, "materialType": item.materialType, "materialDescribe": item.materialDescribe, + "materialModel": item.materialModel, "materialBrand": item.materialBrand, "materialUnit": item.materialUnit, "materialProcessMethod": item.materialProcessMethod, From 780e206fbbdc070432abdbf716a6d0fbf5613c8f Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Fri, 29 Nov 2024 09:16:16 +0800 Subject: [PATCH 2/3] =?UTF-8?q?[feat]=E9=94=80=E5=94=AE=E7=AE=A1=E7=90=86?= =?UTF-8?q?=20=E6=96=B0=E5=A2=9E=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=8A=A0=E4=B8=8A=E9=80=9A=E8=BF=87=E9=94=80=E5=94=AE=E5=8D=95?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E7=9A=84=E5=90=AB=E7=A8=8E=E4=B8=8D=E5=90=AB?= =?UTF-8?q?=E7=A8=8E=EF=BC=8C=E5=88=86=E5=88=AB=E5=88=A4=E6=96=AD=E9=94=80?= =?UTF-8?q?=E5=94=AE=E8=AE=A2=E5=8D=95=E7=89=A9=E6=96=99=E7=9A=84=E4=B8=8D?= =?UTF-8?q?=E5=90=AB=E7=A8=8E=E5=8D=95=E4=BB=B7=E7=BE=8E=E5=85=83=E5=92=8C?= =?UTF-8?q?=E4=B8=8D=E5=90=AB=E7=A8=8E=E5=8D=95=E4=BB=B7=E4=BA=BA=E6=B0=91?= =?UTF-8?q?=E5=B8=81=E6=98=AF=E5=90=A6=E5=A1=AB=E5=86=99=E4=BA=86=EF=BC=8C?= =?UTF-8?q?=E6=B2=A1=E5=A1=AB=E5=86=99=E4=B8=8D=E5=8F=AF=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SysSalesOrderServiceImpl.java | 57 ++++++++++++------- 1 file changed, 37 insertions(+), 20 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java index ab8b32a7..f086f72a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java @@ -318,7 +318,7 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService List sysSalesOrderChildList = sysSalesOrder.getSysSalesOrderChildList(); // 校验子表数据 - checkSysSalesOrderChildList(sysSalesOrderChildList); + checkSysSalesOrderChildList(sysSalesOrder,sysSalesOrderChildList); for (int i = 0; i < s ;i++) { SysSalesOrderChild sysSalesOrderChild = sysSalesOrder.getSysSalesOrderChildList().get(i); @@ -331,30 +331,47 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService //自定义校验 - private void checkSysSalesOrderChildList(List sysSalesOrderChildList) { - // 检查物料数量是否为空 - boolean anyMaterialNum = sysSalesOrderChildList.stream() - .anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getMaterialNum() == null); - if (anyMaterialNum) { - throw new BusinessException("物料数量不能为空"); - } + private void checkSysSalesOrderChildList(SysSalesOrder sysSalesOrder,List sysSalesOrderChildList) { + String commonCurrency = sysSalesOrder.getCommonCurrency(); + if (RMB.equals(commonCurrency)) { + // 检查物料不含税单价RMB是否为空 + boolean anyMaterialNoRmb = sysSalesOrderChildList.stream() + .anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getMaterialNoRmb() == null); + if (anyMaterialNoRmb) { + throw new BusinessException("物料不含税单价RMB不能为空"); + } + } else { + // 检查物料不含税单价美元是否为空 + boolean anyMaterialNoUsd = sysSalesOrderChildList.stream() + .anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getMaterialNoUsd() == null); + if (anyMaterialNoUsd) { + throw new BusinessException("物料不含税单价美元不能为空"); + } - // 检查计划交付时间是否为空 - boolean anyDeliveryTime = sysSalesOrderChildList.stream() - .anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getDeliveryTime() == null); - if (anyDeliveryTime) { - throw new BusinessException("计划交付时间不能为空"); - } - // 检查质保天数是否为空 - boolean anyExpiryDay = sysSalesOrderChildList.stream() - .anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getExpiryDay() == null); - if (anyExpiryDay) { - throw new BusinessException("质保天数不能为空"); + // 检查物料数量是否为空 + boolean anyMaterialNum = sysSalesOrderChildList.stream() + .anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getMaterialNum() == null); + if (anyMaterialNum) { + throw new BusinessException("物料数量不能为空"); + } + + // 检查计划交付时间是否为空 + boolean anyDeliveryTime = sysSalesOrderChildList.stream() + .anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getDeliveryTime() == null); + if (anyDeliveryTime) { + throw new BusinessException("计划交付时间不能为空"); + } + + // 检查质保天数是否为空 + boolean anyExpiryDay = sysSalesOrderChildList.stream() + .anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getExpiryDay() == null); + if (anyExpiryDay) { + throw new BusinessException("质保天数不能为空"); + } } } - /** * 修改销售订单 * From a5951f53ca8e05e50c24ade588416861b9769c52 Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Fri, 29 Nov 2024 10:49:47 +0800 Subject: [PATCH 3/3] =?UTF-8?q?[feat]=E9=94=80=E5=94=AE=E7=AE=A1=E7=90=86?= =?UTF-8?q?=20=E9=94=80=E5=94=AE=E5=87=BA=E8=B4=A7=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=96=B0=E5=A2=9E=20=E7=89=A9=E6=96=99?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E3=80=81=E7=89=A9=E6=96=99=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E3=80=81=E5=8A=A0=E5=B7=A5=E6=96=B9=E5=BC=8F=E5=8A=A0=E4=B8=8A?= =?UTF-8?q?=E5=AD=97=E5=85=B8=E5=B1=9E=E6=80=A7=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95=E6=96=B0=E5=A2=9E=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E7=89=A9=E6=96=99=E5=90=88=E8=AE=A1=E5=92=8C=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E5=90=88=E8=AE=A1=E7=9A=84=E9=97=AE=E9=A2=98=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=80=E5=94=AE=E5=8F=91=E8=B5=B7=E5=87=BA?= =?UTF-8?q?=E8=B4=A7=E5=87=BA=E8=B4=A7=E9=80=9A=E7=9F=A5=E5=AD=90=E8=A1=A8?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E7=89=A9=E6=96=99=E5=9E=8B=E5=8F=B7=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20=E4=BF=AE=E5=A4=8D=E9=94=80=E5=94=AE?= =?UTF-8?q?=E5=8F=91=E8=B5=B7=E5=87=BA=E8=B4=A7=E4=BB=93=E5=BA=93=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E5=8D=95=E5=AD=90=E8=A1=A8=E6=B2=A1=E6=9C=89=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=9E=8B=E5=8F=B7=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SysSalesOrderServiceImpl.java | 26 +++++++++++++++---- .../SysSalesShippingInformServiceImpl.java | 1 + .../impl/WarehouseOutOrderServiceImpl.java | 1 + .../system/salesOrder/salesDeliverGoods.html | 15 +++++++++++ 4 files changed, 38 insertions(+), 5 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java index f086f72a..db199dbf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java @@ -298,10 +298,28 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService */ @Override public int insertSysSalesOrder(SysSalesOrder sysSalesOrder){ + + + List sysSalesOrderChildList = sysSalesOrder.getSysSalesOrderChildList(); + + // 校验子表数据 + checkSysSalesOrderChildList(sysSalesOrder,sysSalesOrderChildList); + + + //数量合计 + int sumMaterialNum = sysSalesOrderChildList.stream().mapToInt(SysSalesOrderChild::getMaterialNum).sum(); + //物料合计 + int size = sysSalesOrderChildList.size(); + + String loginName = ShiroUtils.getLoginName(); sysSalesOrder.setCreateBy(loginName); sysSalesOrder.setCreateTime(DateUtils.getNowDate()); sysSalesOrder.setSalesOrderCode(getId()); + sysSalesOrder.setMaterialSum(sumMaterialNum); + sysSalesOrder.setEnterpriseSum(size); + + String commonCurrency = sysSalesOrder.getCommonCurrency(); if(RMB.equals(commonCurrency)){ sysSalesOrder.setConfirmTax("1"); @@ -315,10 +333,7 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService if (s == 0){ return 0; } - List sysSalesOrderChildList = sysSalesOrder.getSysSalesOrderChildList(); - // 校验子表数据 - checkSysSalesOrderChildList(sysSalesOrder,sysSalesOrderChildList); for (int i = 0; i < s ;i++) { SysSalesOrderChild sysSalesOrderChild = sysSalesOrder.getSysSalesOrderChildList().get(i); @@ -348,7 +363,7 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService throw new BusinessException("物料不含税单价美元不能为空"); } - + } // 检查物料数量是否为空 boolean anyMaterialNum = sysSalesOrderChildList.stream() .anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getMaterialNum() == null); @@ -370,7 +385,7 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService throw new BusinessException("质保天数不能为空"); } } - } + /** * 修改销售订单 @@ -592,6 +607,7 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService if (hasApplyShippingNum == null) { hasApplyShippingNum = 0; // 确保 hasApplyShippingNum 不为 null } + if (hasApplyShippingNum+oldChild.getApplyShippingNum() > oldChild.getMaterialNum()){ throw new BusinessException("申请出货数与已申请出货数之和不能大于订单数量"); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java index 10da0763..e83ec932 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java @@ -276,6 +276,7 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor sysSalesShippingInformDetail.setOutOrderCode(outOrderCode); sysSalesShippingInformDetail.setMaterialNo(sysSalesOrderChild.getMaterialCode()); sysSalesShippingInformDetail.setMaterialName(sysSalesOrderChild.getMaterialName()); + sysSalesShippingInformDetail.setMaterialModel(sysSalesOrderChild.getMaterialModel()); sysSalesShippingInformDetail.setMaterialType(sysSalesOrderChild.getMaterialType()); sysSalesShippingInformDetail.setMaterialBrand(sysSalesOrderChild.getBrand()); sysSalesShippingInformDetail.setMaterialUnit(sysSalesOrderChild.getUnit()); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseOutOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseOutOrderServiceImpl.java index 97bd2485..f41ba2a8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseOutOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseOutOrderServiceImpl.java @@ -1114,6 +1114,7 @@ public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService warehouseOutOrderDetail.setMaterialNo(sysSalesOrderChild.getMaterialCode()); warehouseOutOrderDetail.setMaterialName(sysSalesOrderChild.getMaterialName()); warehouseOutOrderDetail.setMaterialType(sysSalesOrderChild.getMaterialType()); + warehouseOutOrderDetail.setMaterialModel(sysSalesOrderChild.getMaterialModel()); warehouseOutOrderDetail.setMaterialBrand(sysSalesOrderChild.getBrand()); warehouseOutOrderDetail.setMaterialUnit(sysSalesOrderChild.getUnit()); warehouseOutOrderDetail.setMaterialDescribe(sysSalesOrderChild.getDescribe()); diff --git a/ruoyi-admin/src/main/resources/templates/system/salesOrder/salesDeliverGoods.html b/ruoyi-admin/src/main/resources/templates/system/salesOrder/salesDeliverGoods.html index 63c745f6..a156a2e1 100644 --- a/ruoyi-admin/src/main/resources/templates/system/salesOrder/salesDeliverGoods.html +++ b/ruoyi-admin/src/main/resources/templates/system/salesOrder/salesDeliverGoods.html @@ -121,6 +121,12 @@ var salesOrderIdList = [[${salesOrderIdList}]]; + var materialTypeDatas = [[${@category.getChildByCode('materialType')}]]; + var sysUnitClassDatas = [[${@dict.getType('sys_unit_class')}]]; + var processMethodDatas = [[${@dict.getType('processMethod')}]]; + + + var prefix = ctx + "system/salesOrder"; $("#form-salesDeliverGoods-edit").validate({ focusCleanup: true @@ -337,6 +343,9 @@ { title: '物料类型', field: 'materialType', + formatter: function(value, row, index) { + return $.table.selectCategoryLabel(materialTypeDatas, value); + } }, { title: '描述', @@ -345,6 +354,9 @@ { title: '单位', field: 'unit', + formatter: function(value, row, index) { + return $.table.selectDictLabel(sysUnitClassDatas, value); + } }, { title: '型号', @@ -358,6 +370,9 @@ { title: '加工方式', field: 'processMethod', + formatter: function(value, row, index) { + return $.table.selectDictLabel(processMethodDatas, value); + } }, { title: '订单数量',