Преглед изворни кода

库存-入库编辑校验入库编辑的数量是否足够库存扣减

koushanshan пре 1 година
родитељ
комит
5173ff78dc

+ 2 - 1
src/main/java/com/dk/mdm/service/ivt/inventory/InventoryService.java

@@ -1039,6 +1039,7 @@ public class InventoryService extends BaseService<Inventory> {
         outboundItemCost.setBatchId(inOutRecordVO.getBatchId());
         //新建
         outboundItemCostMapper.insert(outboundItemCost);
+
     }
 
     /**
@@ -1189,7 +1190,7 @@ public class InventoryService extends BaseService<Inventory> {
                     throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_BATCH_DOES_NOT_EXIST.getMessage());
                 } else {
                     //数据库中库存批次数量和传入数量一致 可以更改
-                    if (inventoryBatchResponse.getInvQty().compareTo(inOutRecordVO.getIntoQty().abs()) == 0) {
+                    if (inventoryBatchResponse.getInvQty().compareTo(inOutRecordVO.getQtyBeforeUpdate().abs()) == 0) {
                         InventoryBatch inventoryBatch = new InventoryBatch();
                         //来源单ID
                         inventoryBatch.setFromId(inOutRecordVO.getBiznisId());

+ 7 - 7
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleOrderService.java

@@ -700,7 +700,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
             BigDecimal sumAmt = outboundVO.getItemList().stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
             //endregion
 
-            //region  已库编辑
+            //region  已库编辑
             if (Constant.OutStatus.YICHUKU.getName().equals(outboundVO.getOutStatus())) {
                 //region 应收反记账
                 if (outboundVO.getReceivableId() != null) {
@@ -1140,7 +1140,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                 //已出库
                 if (Constant.OutStatus.YICHUKU.getName().equals(outboundResponse.getOutStatus())) {
                     updateOrderOutQty = orderOutItemVOListGroup.stream().filter(it->it.getUpdateOrderOutQty()!=null).map(OutboundItemVO::getUpdateOrderOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
-                    updateOrderOutAmt = orderOutItemVOListGroup.stream().filter(it->it.getUpdateOrderOutQty()!=null).map(OutboundItemVO::getUpdateOrderOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
+                    updateOrderOutAmt = orderOutItemVOListGroup.stream().filter(it->it.getUpdateOrderOutAmt()!=null).map(OutboundItemVO::getUpdateOrderOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
                 }
                 //出库中
                 else {
@@ -1667,8 +1667,8 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                         BigDecimal orderSumQty = orderOutItemVOListGroup.stream().map(OutboundItemVO::getOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
                         BigDecimal orderSumAmt = orderOutItemVOListGroup.stream().map(OutboundItemVO::getOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
                         //分组后的明细 原出库数量和金额总和
-                        BigDecimal updateOrderOutingQty = orderOutItemVOListGroup.stream().map(OutboundItemVO::getUpdateOrderOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
-                        BigDecimal updateOrderOutingAmt = orderOutItemVOListGroup.stream().map(OutboundItemVO::getUpdateOrderOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
+                        BigDecimal updateOrderOutingQty = orderOutItemVOListGroup.stream().filter(it->it.getUpdateOrderOutingQty()!=null).map(OutboundItemVO::getUpdateOrderOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
+                        BigDecimal updateOrderOutingAmt = orderOutItemVOListGroup.stream().filter(it->it.getUpdateOrderOutingAmt()!=null).map(OutboundItemVO::getUpdateOrderOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
                         //endregion
 
                         //region 提取删除分组后的明细
@@ -1711,8 +1711,8 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                 BigDecimal orderSumQty = orderOutItemVOListGroup.stream().map(OutboundItemVO::getOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
                 BigDecimal orderSumAmt = orderOutItemVOListGroup.stream().map(OutboundItemVO::getOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
                 //分组后的明细 原出库数量和金额总和
-                BigDecimal updateOrderOutingQty = orderOutItemVOListGroup.stream().map(OutboundItemVO::getUpdateOrderOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
-                BigDecimal updateOrderOutingAmt = orderOutItemVOListGroup.stream().map(OutboundItemVO::getUpdateOrderOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
+                BigDecimal updateOrderOutingQty = orderOutItemVOListGroup.stream().filter(it->it.getUpdateOrderOutingQty()!=null).map(OutboundItemVO::getUpdateOrderOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
+                BigDecimal updateOrderOutingAmt = orderOutItemVOListGroup.stream().filter(it->it.getUpdateOrderOutingAmt()!=null).map(OutboundItemVO::getUpdateOrderOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
                 //endregion
 
                 //region 反写订单数据
@@ -1884,7 +1884,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
             order.setOrderId(fromId);
             order.setOutingQty(orderSumQty);
             order.setOutingAmt(orderSumAmt);
-            order.setOutQty(orderSumAmt.negate());
+            order.setOutQty(orderSumQty.negate());
             order.setOutAmt(orderSumAmt.negate());
             //出库状态
             String outStatus = this.setOutStatus(orderResponse.getOutingQty().add(order.getOutingQty()),

+ 1 - 0
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleReturnService.java

@@ -229,6 +229,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                             ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getMessage());
                 }
                 //endregion
+
                 //region  赋值修改
                 OrderItem orderItem = new OrderItem();
                 orderItem.setItemId(outboundItemVO.getSOrderItemId());

+ 0 - 2
src/main/java/com/dk/mdm/service/sale/OrderService.java

@@ -358,8 +358,6 @@ public class OrderService extends BaseService<Order> {
             }
         }
 
-
-
         /**************************************** 客户收款begin ********************************/
         if (orderVO.getReceiptList() != null && orderVO.getReceiptList().size() > 0) {
             // 商户产品版本