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: '订单数量',