Эх сурвалжийг харах

销售出库-出库中编辑修改
销售出库新建-(出库一定是要有库存的;勾选出库,没有库存就不让出库了)

koushanshan 1 жил өмнө
parent
commit
4370ab99ea

+ 4 - 0
src/main/java/com/dk/mdm/model/vo/ivt/InOutRecordVO.java

@@ -241,6 +241,10 @@ public class InOutRecordVO  {
     @TableField(typeHandler = UuidTypeHandler.class)
     @TableField(typeHandler = UuidTypeHandler.class)
     private String whIdPri;
     private String whIdPri;
 
 
+    @ApiModelProperty(value = "原非标号")
+    private String nonStdCodePri;
+
+
 
 
 
 
 
 

+ 3 - 0
src/main/java/com/dk/mdm/model/vo/ivt/InboundItemVO.java

@@ -282,6 +282,9 @@ public class InboundItemVO  {
     @TableField(typeHandler = UuidTypeHandler.class)
     @TableField(typeHandler = UuidTypeHandler.class)
     private String whIdPri;
     private String whIdPri;
 
 
+    @ApiModelProperty(value = "原非标号")
+    private String nonStdCodePri;
+
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
 }
 }

+ 2 - 0
src/main/java/com/dk/mdm/model/vo/ivt/OutboundItemVO.java

@@ -341,6 +341,8 @@ public class OutboundItemVO {
     @TableField(typeHandler = UuidTypeHandler.class)
     @TableField(typeHandler = UuidTypeHandler.class)
     private String whIdPri;
     private String whIdPri;
 
 
+    @ApiModelProperty(value = "原非标号")
+    private String nonStdCodePri;
 
 
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 

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

@@ -1164,7 +1164,8 @@ public class InventoryService extends BaseService<Inventory> {
                     .setSkuId(inOutRecordVO.getSkuId())
                     .setSkuId(inOutRecordVO.getSkuId())
                     //原库存id存在取原库存id
                     //原库存id存在取原库存id
                     .setWhId(inOutRecordVO.getWhIdPri()==null ? inOutRecordVO.getWhId() : inOutRecordVO.getWhIdPri())
                     .setWhId(inOutRecordVO.getWhIdPri()==null ? inOutRecordVO.getWhId() : inOutRecordVO.getWhIdPri())
-                    .setNonStdCode(inOutRecordVO.getNonStdCode()));
+                    //原色号id存在取原色号id
+                    .setNonStdCode(inOutRecordVO.getNonStdCodePri()==null ? inOutRecordVO.getNonStdCode() : inOutRecordVO.getNonStdCodePri()) );
             //库存是否存在
             //库存是否存在
             if (inventoryResponse == null) {
             if (inventoryResponse == null) {
                 throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.SKU_IS_NOT_IN_INVENTORY.getMessage());
                 throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.SKU_IS_NOT_IN_INVENTORY.getMessage());

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

@@ -139,6 +139,12 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                     .setWhId(outboundItemVO.getWhId())
                     .setWhId(outboundItemVO.getWhId())
                     .setNonStdCode(outboundItemVO.getNonStdCode()));
                     .setNonStdCode(outboundItemVO.getNonStdCode()));
         }
         }
+        //库存不存在
+        if(inventoryResponse == null){
+            //当前出库商品中在库存中不存在
+            throw new BaseBusinessException(ErrorCodeEnum.SKU_IS_NOT_IN_INVENTORY.getCode(),
+                    ErrorCodeEnum.SKU_IS_NOT_IN_INVENTORY.getMessage());
+        }
         return inventoryResponse;
         return inventoryResponse;
     }
     }
 
 
@@ -155,6 +161,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                     ErrorCodeEnum.OUTBOUND_ITEM_NOT_EXIST.getMessage());
                     ErrorCodeEnum.OUTBOUND_ITEM_NOT_EXIST.getMessage());
         }
         }
         //endregion
         //endregion
+
         //可以负库存  不用交验库存直接走负库存逻辑
         //可以负库存  不用交验库存直接走负库存逻辑
         if (outboundVO.getFlgHandleSetting()) {
         if (outboundVO.getFlgHandleSetting()) {
             for (OutboundItemVO outboundItemVO : outboundVO.getItemList()) {
             for (OutboundItemVO outboundItemVO : outboundVO.getItemList()) {
@@ -188,8 +195,12 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                             outboundItemVO.setNotEnoughInventoryQty(invQty.abs());
                             outboundItemVO.setNotEnoughInventoryQty(invQty.abs());
                         }
                         }
                     } else {
                     } else {
-                        //不够库存数量----新建出库中数量
-                        outboundItemVO.setNotEnoughInventoryQty(outboundItemVO.getOutingQty());
+                        //todo 2024年7月2日09:23:38 修改成无库存不允许出库
+//                        //不够库存数量----新建出库中数量
+//                        outboundItemVO.setNotEnoughInventoryQty(outboundItemVO.getOutingQty());
+                        //当前出库商品中在库存中不存在
+                        throw new BaseBusinessException(ErrorCodeEnum.SKU_IS_NOT_IN_INVENTORY.getCode(),
+                                ErrorCodeEnum.SKU_IS_NOT_IN_INVENTORY.getMessage());
                     }
                     }
                 }
                 }
             }
             }
@@ -217,7 +228,8 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
             //销售出库新建
             //销售出库新建
             if (itemList != null && itemList.size() > 0) {
             if (itemList != null && itemList.size() > 0) {
                 for (OutboundItemVO outboundItemVO : itemList) {
                 for (OutboundItemVO outboundItemVO : itemList) {
-                    if (outboundItemVO.getSkuId() != null) { //过滤外协品 外协品没有箱片
+                    //过滤外协品 外协品没有箱片
+                    if (outboundItemVO.getSkuId() != null) {
                         //箱
                         //箱
                         outboundItemVO.setOutBox(Integer.valueOf(outboundItemVO.getOutingQty().divide(outboundItemVO.getPackBox(), 0, RoundingMode.DOWN).toString()));
                         outboundItemVO.setOutBox(Integer.valueOf(outboundItemVO.getOutingQty().divide(outboundItemVO.getPackBox(), 0, RoundingMode.DOWN).toString()));
                         //片
                         //片
@@ -554,6 +566,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                 new UpdateWrapper<Outbound>().lambda()
                 new UpdateWrapper<Outbound>().lambda()
                         .eq(Outbound::getOutId, UUID.fromString(outbound.getOutId()))
                         .eq(Outbound::getOutId, UUID.fromString(outbound.getOutId()))
         );
         );
+
         //region  已出库  应收记账
         //region  已出库  应收记账
         if (Constant.OutStatus.YICHUKU.getName().equals(outboundVO.getOutStatus())) {
         if (Constant.OutStatus.YICHUKU.getName().equals(outboundVO.getOutStatus())) {
             accountService.accReceivable(outboundVO.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
             accountService.accReceivable(outboundVO.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
@@ -842,7 +855,6 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                 //endregion
                 //endregion
 
 
                 //region 修改销售总单
                 //region 修改销售总单
-
                 this.updateOrderMessageByEdit(outboundResponse, outboundVO.getItemList(), outboundVO.getDeleteItemList());
                 this.updateOrderMessageByEdit(outboundResponse, outboundVO.getItemList(), outboundVO.getDeleteItemList());
                 //endregion
                 //endregion
 
 
@@ -886,15 +898,17 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
             //region 出库中编辑
             //region 出库中编辑
             if (Constant.OutStatus.CHUKUZHONG.getName().equals(outboundVO.getOutStatus()) ||
             if (Constant.OutStatus.CHUKUZHONG.getName().equals(outboundVO.getOutStatus()) ||
                     Constant.OutStatus.DAICHUKU.getName().equals(outboundVO.getOutStatus())) {
                     Constant.OutStatus.DAICHUKU.getName().equals(outboundVO.getOutStatus())) {
+
                 //region 修改明细
                 //region 修改明细
                 List<OutboundItemVO> itemList = outboundVO.getItemList();
                 List<OutboundItemVO> itemList = outboundVO.getItemList();
                 for (OutboundItemVO outboundItemVO : itemList) {
                 for (OutboundItemVO outboundItemVO : itemList) {
 
 
                     //根据id查询 获取到还未进行修改的数据
                     //根据id查询 获取到还未进行修改的数据
-                    OutboundItemResponse outboundItemResponse = outboundItemMapper.selectById(outboundItemVO.getItemId());
+                    OutboundItemResponse outboundItemResponse = null;
 
 
                     //region 编辑明细
                     //region 编辑明细
                     if (outboundItemVO.getItemId() != null) {
                     if (outboundItemVO.getItemId() != null) {
+                        outboundItemResponse = outboundItemMapper.selectById(outboundItemVO.getItemId());
 
 
                         //region 反写订单总单 数据需要  把查出来的出库中数量用别的变量存起来
                         //region 反写订单总单 数据需要  把查出来的出库中数量用别的变量存起来
                         outboundItemVO.setUpdateOrderOutingQty(outboundItemResponse.getOutingQty());
                         outboundItemVO.setUpdateOrderOutingQty(outboundItemResponse.getOutingQty());
@@ -946,8 +960,8 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                         OrderItemResponse orderItemResponse = orderItemMapper.selectById(outboundItemVO.getFromItemId());
                         OrderItemResponse orderItemResponse = orderItemMapper.selectById(outboundItemVO.getFromItemId());
                         OrderItem orderItem = new OrderItem();
                         OrderItem orderItem = new OrderItem();
                         orderItem.setItemId(outboundItemVO.getFromItemId());
                         orderItem.setItemId(outboundItemVO.getFromItemId());
-                        orderItem.setOutingQty(outboundItemResponse.getOutingQty().negate().add(outboundItemVO.getOutingQty()));
-                        orderItem.setOutingAmt(outboundItemResponse.getOutingAmt().negate().add(outboundItemVO.getOutingAmt()));
+                        orderItem.setOutingQty(( outboundItemResponse != null ? outboundItemResponse.getOutingQty().negate() : BigDecimal.ZERO).add(outboundItemVO.getOutingQty()));
+                        orderItem.setOutingAmt(( outboundItemResponse != null ? outboundItemResponse.getOutingAmt().negate() : BigDecimal.ZERO).add(outboundItemVO.getOutingAmt()));
                         //出库状态
                         //出库状态
                         String outStatus = this.setOutStatus(orderItemResponse.getOutingQty().add(orderItem.getOutingQty()),
                         String outStatus = this.setOutStatus(orderItemResponse.getOutingQty().add(orderItem.getOutingQty()),
                                 orderItemResponse.getOutQty(), orderItemResponse.getItemQty());
                                 orderItemResponse.getOutQty(), orderItemResponse.getItemQty());

+ 1 - 0
src/main/java/com/dk/mdm/service/pur/PurchaseService.java

@@ -164,6 +164,7 @@ public class PurchaseService extends BaseService<Purchase> {
             purchaseItemMapper.insert(purchaseItem);
             purchaseItemMapper.insert(purchaseItem);
         }
         }
         //endregion
         //endregion
+
         return ResponseResultUtil.success();
         return ResponseResultUtil.success();
     }
     }