Explorar o código

采购入库办理

koushanshan hai 1 ano
pai
achega
2312dd1e3b

+ 19 - 17
src/main/java/com/dk/mdm/service/ivt/inbound/InboundPurchaseService.java

@@ -973,23 +973,25 @@ public class InboundPurchaseService extends BaseService<Inbound> {
             //endregion
 
             //region 采购明细
-            //根据id查询
-            PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getFromItemId());
-            //赋值(这里重写了更新方法,数量在更新方法中有数据库院士数量+本次数量)
-            PurchaseItem purchaseItem = new PurchaseItem();
-            purchaseItem.setItemId(inboundItemVO.getFromItemId());
-            purchaseItem.setIntoingQty(inboundItemVO.getIntoQty().negate());
-            purchaseItem.setIntoingAmt(inboundItemVO.getIntoAmt().negate());
-            purchaseItem.setIntoQty(inboundItemVO.getIntoQty());
-            purchaseItem.setIntoAmt(inboundItemVO.getIntoAmt());
-            //入库状态
-            String purItemIntoStatus = this.setIntoStatus(purchaseItemResponse.getIntoingQty().add(purchaseItem.getIntoingQty()),
-                    purchaseItemResponse.getIntoQty().add(purchaseItem.getIntoQty()), purchaseItemResponse.getItemQty());
-            purchaseItem.setIntoStatus(purItemIntoStatus);
-            int countRow = purchaseItemMapper.updateById(purchaseItem);
-            //数量超出
-            if (countRow == 0) {
-                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+            if(inboundItemVO.getFromItemId()!=null){
+                //根据id查询
+                PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getFromItemId());
+                //赋值(这里重写了更新方法,数量在更新方法中有数据库院士数量+本次数量)
+                PurchaseItem purchaseItem = new PurchaseItem();
+                purchaseItem.setItemId(inboundItemVO.getFromItemId());
+                purchaseItem.setIntoingQty(inboundItemVO.getIntoQty().negate());
+                purchaseItem.setIntoingAmt(inboundItemVO.getIntoAmt().negate());
+                purchaseItem.setIntoQty(inboundItemVO.getIntoQty());
+                purchaseItem.setIntoAmt(inboundItemVO.getIntoAmt());
+                //入库状态
+                String purItemIntoStatus = this.setIntoStatus(purchaseItemResponse.getIntoingQty().add(purchaseItem.getIntoingQty()),
+                        purchaseItemResponse.getIntoQty().add(purchaseItem.getIntoQty()), purchaseItemResponse.getItemQty());
+                purchaseItem.setIntoStatus(purItemIntoStatus);
+                int countRow = purchaseItemMapper.updateById(purchaseItem);
+                //数量超出
+                if (countRow == 0) {
+                    throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+                }
             }
             //endregion
         }