Просмотр исходного кода

Merge branch 'master' of http://git.dongkesoft.com:9001/iBOSS-2.0-Mini/iboss-server-mdm

姜永辉 1 год назад
Родитель
Сommit
5f35489ca1

+ 1 - 1
src/main/java/com/dk/mdm/mapper/ivt/InventoryBatchMapper.xml

@@ -231,7 +231,7 @@
                 AND tpib.inv_id = #{invId,typeHandler=UuidTypeHandler}
             </if>
         </where>
-        order by tpib.batch_id asc
+        order by tpib.op_create_time asc
     </select>
 
     <!--修改库存数量金额-->

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

@@ -254,6 +254,9 @@ public class InboundVO {
     @ApiModelProperty(value = "编辑标识")
     private Boolean limitEdit;
 
+    @ApiModelProperty(value = "修改采购总单的合金金额和采购明细的入库单价和入库金额标识;true:改,false:不改")
+    private Boolean updatePurchaseOrderFlag;
+
 
 
     private static final long serialVersionUID = 1L;

+ 3 - 0
src/main/java/com/dk/mdm/model/vo/pur/PurchaseVO.java

@@ -392,6 +392,9 @@ public class PurchaseVO extends PageInfo<PurchaseVO> implements Serializable {
     @ApiModelProperty(value = "开单并入库办理标识")
     private Boolean inboundProcessingFlag;
 
+    @ApiModelProperty(value = "修改采购总单的合金金额和采购明细的入库单价和入库金额标识;true:改,false:不改")
+    private Boolean updatePurchaseOrderFlag;
+
 
     /*
      * 相关属性

+ 37 - 49
src/main/java/com/dk/mdm/service/ivt/inbound/InboundPurchaseService.java

@@ -14,6 +14,7 @@ import com.dk.common.response.ResponseResultVO;
 import com.dk.common.service.BaseService;
 import com.dk.mdm.infrastructure.convert.ivt.InboundConvert;
 import com.dk.mdm.infrastructure.convert.ivt.InboundItemConvert;
+import com.dk.mdm.infrastructure.util.AuthUtils;
 import com.dk.mdm.mapper.common.CommonMapper;
 import com.dk.mdm.mapper.ivt.InboundItemMapper;
 import com.dk.mdm.mapper.ivt.InboundMapper;
@@ -103,6 +104,9 @@ public class InboundPurchaseService extends BaseService<Inbound> {
     @Autowired
     private InventoryMapper inventoryMapper;
 
+    @Autowired
+    private AuthUtils authUtils;
+
     /**
      * @desc : 条件查询
      * @date : 2024/3/7 14:12
@@ -281,6 +285,15 @@ public class InboundPurchaseService extends BaseService<Inbound> {
                     purchaseItem.setIntoingAmt(BigDecimal.ZERO);
                     purchaseItem.setIntoQty(inboundItemVO.getIntoQty());
                     purchaseItem.setIntoAmt(inboundItemVO.getIntoAmt());
+                    //region  免费版本有这个功能  标识为true 可修改明细入库价和采购金额
+                    String gradeCode = authUtils.getStaff().getGradeCode();
+                    if (Constant.GradeCode.STD.getName().equals(gradeCode)) {
+                        if (inboundVO.getUpdatePurchaseOrderFlag() != null && inboundVO.getUpdatePurchaseOrderFlag()) {
+                            purchaseItem.setPricePur(inboundItemVO.getPriceInto());
+                            purchaseItem.setItemAmt(inboundItemVO.getIntoAmt());
+                        }
+                    }
+                    //endregion
                 }
                 //入库中
                 else {
@@ -288,7 +301,17 @@ public class InboundPurchaseService extends BaseService<Inbound> {
                     purchaseItem.setIntoingAmt(inboundItemVO.getIntoingAmt());
                     purchaseItem.setIntoQty(BigDecimal.ZERO);
                     purchaseItem.setIntoAmt(BigDecimal.ZERO);
+                    //region  免费版本有这个功能 标识为true 可修改明细入库价和采购金额
+                    String gradeCode = authUtils.getStaff().getGradeCode();
+                    if (Constant.GradeCode.STD.getName().equals(gradeCode)) {
+                        if (inboundVO.getUpdatePurchaseOrderFlag() != null && inboundVO.getUpdatePurchaseOrderFlag()) {
+                            purchaseItem.setPricePur(inboundItemVO.getPriceInto());
+                            purchaseItem.setItemAmt(inboundItemVO.getIntoingAmt());
+                        }
+                    }
+                    //endregion
                 }
+
                 //入库状态
                 String intoStatus = this.setIntoStatus(purchaseItemResponse.getIntoingQty().add(purchaseItem.getIntoingQty()),
                         purchaseItemResponse.getIntoQty().add(purchaseItem.getIntoQty()), purchaseItemResponse.getItemQty());
@@ -358,6 +381,14 @@ public class InboundPurchaseService extends BaseService<Inbound> {
                 purchase.setIntoQty(BigDecimal.ZERO);
                 purchase.setIntoAmt(BigDecimal.ZERO);
             }
+            //免费版本有这个功能    标识为true 可修改总单合计金额
+            String gradeCode = authUtils.getStaff().getGradeCode();
+            if (Constant.GradeCode.STD.getName().equals(gradeCode)) {
+                if (inboundVO.getUpdatePurchaseOrderFlag() != null && inboundVO.getUpdatePurchaseOrderFlag()) {
+                    purchase.setSumAmount(purchaseSumAmt);
+                }
+            }
+
             //入库状态
             String intoStatus = this.setIntoStatus(purchaseResponse.getIntoingQty().add(purchase.getIntoingQty()),
                     purchaseResponse.getIntoQty().add(purchase.getIntoQty()), purchaseResponse.getSumQuantity());
@@ -451,6 +482,9 @@ public class InboundPurchaseService extends BaseService<Inbound> {
                         inboundItem.setItemId(inboundItemVO.getItemId());
                         inboundItem.setIntoQty(inboundItemVO.getIntoingQty());
                         inboundItem.setIntoAmt(inboundItemVO.getIntoingAmt());
+                        inboundItem.setPriceInto(inboundItemVO.getPriceInto());
+                        inboundItem.setWhId(inboundItemVO.getWhId());
+                        inboundItem.setNonStdCode(inboundItemVO.getNonStdCode());
                         //修改
                         inboundItemMapper.update(inboundItem,
                                 new UpdateWrapper<InboundItem>().lambda()
@@ -492,8 +526,8 @@ public class InboundPurchaseService extends BaseService<Inbound> {
                         PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getFromItemId());
                         PurchaseItem purchaseItem = new PurchaseItem();
                         purchaseItem.setItemId(inboundItemVO.getFromItemId());
-                        purchaseItem.setIntoQty(inboundItemResponse.getIntoQty().negate().add(inboundItemVO.getIntoingQty()));
-                        purchaseItem.setIntoAmt(inboundItemResponse.getIntoAmt().negate().add(inboundItemVO.getIntoingAmt()));
+                        purchaseItem.setIntoQty(inboundItemResponse.getIntoQty().negate().add(inboundItemVO.getIntoQty()));
+                        purchaseItem.setIntoAmt(inboundItemResponse.getIntoAmt().negate().add(inboundItemVO.getIntoAmt()));
                         //入库状态
                         String intoStatus = this.setIntoStatus(purchaseItemResponse.getIntoingQty(),
                                 purchaseItemResponse.getIntoQty().add(purchaseItem.getIntoQty()), purchaseItemResponse.getItemQty());
@@ -1648,25 +1682,6 @@ public class InboundPurchaseService extends BaseService<Inbound> {
 //                );
                         //endregion
 
-                        //region  销售明细
-                        if (inboundItemResponse.getFromItemId() != null) {
-                            //根据id查询
-                            PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemResponse.getFromItemId());
-                            PurchaseItem purchaseItem = new PurchaseItem();
-                            purchaseItem.setItemId(inboundItemResponse.getFromItemId());
-                            purchaseItem.setIntoQty(inboundItemResponse.getIntoQty().negate());
-                            purchaseItem.setIntoAmt(inboundItemResponse.getIntoAmt().negate());
-                            //入库状态
-                            String intoStatus = this.setIntoStatus(purchaseItemResponse.getIntoingQty(),
-                                    purchaseItemResponse.getIntoQty().add(purchaseItem.getIntoQty()), purchaseItemResponse.getItemQty());
-                            purchaseItem.setIntoStatus(intoStatus);
-                            int countRow = purchaseItemMapper.updateById(purchaseItem);
-                            //数量超出
-                            if (countRow == 0) {
-                                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
-                            }
-                        }
-                        //endregion
                     }
                     //endregion
 
@@ -1680,10 +1695,6 @@ public class InboundPurchaseService extends BaseService<Inbound> {
                     );
                     //endregion
 
-                    //region 修改采购总单
-                    this.updateOrderMessageByRepeal(inboundResponse, inboundItemResponseList);
-                    //endregion
-
                     //region  入账
                     if (inboundResponse.getReceivableId() != null) {
                         accountService.accPayable(inboundResponse.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
@@ -1704,6 +1715,7 @@ public class InboundPurchaseService extends BaseService<Inbound> {
 
                     //region 修改明细
                     for (InboundItemResponse inboundItemResponse : inboundItemResponseList) {
+
                         //region 编辑明细 赋值
                         InboundItem inboundItem = new InboundItem();
                         inboundItem.setItemId(inboundItemResponse.getItemId());
@@ -1716,26 +1728,6 @@ public class InboundPurchaseService extends BaseService<Inbound> {
                                         .eq(InboundItem::getItemId, UUID.fromString(inboundItem.getItemId()))
                         );
                         //endregion
-
-                        //region  销售明细
-                        if (inboundItemResponse.getFromItemId() != null) {
-                            //根据id查询
-                            PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemResponse.getFromItemId());
-                            PurchaseItem purchaseItem = new PurchaseItem();
-                            purchaseItem.setItemId(inboundItemResponse.getFromItemId());
-                            purchaseItem.setIntoingQty(inboundItemResponse.getIntoingQty().negate());
-                            purchaseItem.setIntoingAmt(inboundItemResponse.getIntoingAmt().negate());
-                            //入库状态
-                            String intoStatus = this.setIntoStatus(purchaseItemResponse.getIntoingQty().add(purchaseItem.getIntoingQty()),
-                                    purchaseItemResponse.getIntoQty(), purchaseItemResponse.getItemQty());
-                            purchaseItem.setIntoStatus(intoStatus);
-                            int countRow = purchaseItemMapper.updateById(purchaseItem);
-                            //数量超出
-                            if (countRow == 0) {
-                                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
-                            }
-                        }
-                        //endregion
                     }
                     //endregion
 
@@ -1750,10 +1742,6 @@ public class InboundPurchaseService extends BaseService<Inbound> {
                             new UpdateWrapper<Inbound>().lambda().eq(Inbound::getIntoId, UUID.fromString(inbound.getIntoId()))
                     );
                     //endregion
-
-                    //region 修改采购总单
-                    this.updateOrderMessageByRepeal(inboundResponse, inboundItemResponseList);
-                    //endregion
                 }
                 //endregion
             }

+ 8 - 6
src/main/java/com/dk/mdm/service/ivt/inventory/InventoryService.java

@@ -678,6 +678,7 @@ public class InventoryService extends BaseService<Inventory> {
                     }
                     //endregion
                 }
+
                 //region  库存存在
                 else {
                     //todo 2024年5月31日16:00:21 编辑的情况 先删后加  所以此处查不到数据 在删除的时候赋值
@@ -991,7 +992,7 @@ public class InventoryService extends BaseService<Inventory> {
                 //可售数量(可用量)
                 inventory.setUsableQty(inOutRecordVO.getIntoQty().abs());
                 //库存资产
-                inventory.setCostAmt(inOutRecordVO.getIntoAmt());
+                inventory.setCostAmt(inOutRecordVO.getIntoAmt().abs());
                 //库存单价   存货资产/存货数量
                 inventory.setCostPrice(inventory.getCostAmt().negate().divide(inventory.getInvQty().negate(), BigDecimal.ROUND_HALF_UP));
             } else {
@@ -1865,14 +1866,13 @@ public class InventoryService extends BaseService<Inventory> {
 
         //region 明细
         for (InOutRecordVO inOutRecordVO : inOutRecordVOList) {
-           /* List<InboundItemResponse> inboundItemResponses = inboundItemMapper.selectByCond(new InboundItemQuery()
-                    .setItemId(inOutRecordVO.getBiznisItemId()));*/
-
+            //根据id查询入库明细,用于计算入库明细的库存数量
+            InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(inOutRecordVO.getBiznisItemId());
             InboundItem inboundItem = new InboundItem();
             //总单id
             inboundItem.setItemId(inOutRecordVO.getBiznisItemId());
-            //出库数量
-            inboundItem.setOutQty(inOutRecordVO.getIntoQty().abs());
+            //出库数量 todo 2024年7月12日09:47:55 这里在入库的时候会反写, 不要反写, 后续如果不需要再删除
+//            inboundItem.setOutQty(inOutRecordVO.getIntoQty().abs());
             //已入库数量
             inboundItem.setIntoQty(inOutRecordVO.getIntoQty().abs());
             //已入库金额
@@ -1883,6 +1883,8 @@ public class InventoryService extends BaseService<Inventory> {
             inboundItem.setCostAmt(inOutRecordVO.getIntoAmt().abs());
             //库存id
             inboundItem.setInvId(inOutRecordVO.getInvId());
+            //库存数量 =  已入库数量-出库数量 -已入库退货数量
+            inboundItem.setInvQty(inboundItem.getIntoQty().subtract(inboundItemResponse.getOutQty()).subtract(inboundItemResponse.getReturnQty()));
             inboundItemMapper.update(inboundItem,
                     new UpdateWrapper<InboundItem>().lambda()
                             .eq(InboundItem::getItemId, UUID.fromString(inboundItem.getItemId()))

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

@@ -720,8 +720,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                 //endregion
 
                 //region 修改明细
-                List<OutboundItemVO> itemList = outboundVO.getItemList();
-                for (OutboundItemVO outboundItemVO : itemList) {
+                for (OutboundItemVO outboundItemVO : outboundVO.getItemList()) {
                     //根据id查询先赋值
                     OutboundItemResponse outboundItemResponse = null;
 
@@ -1079,8 +1078,10 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                         //region  提取新建分组后的明细
                         List<OutboundItemVO> orderOutItemVOListGroup = orderOutItemVOListMap.get(fromId);
                         //分组后的明细 出库数量和金额总和
-                        BigDecimal orderSumQty = orderOutItemVOListGroup.stream().map(OutboundItemVO::getOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
-                        BigDecimal orderSumAmt = orderOutItemVOListGroup.stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
+                        BigDecimal orderSumQtying = orderOutItemVOListGroup.stream().map(OutboundItemVO::getOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
+                        BigDecimal orderSumAmting = orderOutItemVOListGroup.stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
+                        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 updateOrderOutQty = BigDecimal.ZERO;
                         BigDecimal updateOrderOutAmt = BigDecimal.ZERO;
@@ -1123,18 +1124,18 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                         if (Constant.OutStatus.YICHUKU.getName().equals(outboundResponse.getOutStatus())) {
                             order.setOutQty(orderSumQty.subtract(updateOrderOutQty).subtract(orderDelOutQty));
                             order.setOutAmt(orderSumAmt.subtract(updateOrderOutAmt).subtract(orderDelOutAmt));
-                            order.setOutingQty(orderDelOutQty);
-                            order.setOutingAmt(orderDelOutAmt);
+//                            order.setOutingQty(orderDelOutQty);
+//                            order.setOutingAmt(orderDelOutAmt);
                             order.setUpdateOutMessageFlag(true);
                             //出库状态
-                            String outStatus = this.setOutStatus(orderResponse.getOutingQty().add(order.getOutingQty()),
+                            String outStatus = this.setOutStatus(orderResponse.getOutingQty(),
                                     orderResponse.getOutQty().add(order.getOutQty()), orderResponse.getSumQuantity());
                             order.setOutStatus(outStatus);
                         }
                         //出库中
                         else if (Constant.OutStatus.CHUKUZHONG.getName().equals(outboundResponse.getOutStatus())) {
-                            order.setOutingQty(orderSumQty.subtract(updateOrderOutingQty).subtract(orderDelOutQty));
-                            order.setOutingAmt(orderSumAmt.subtract(updateOrderOutingAmt).subtract(orderDelOutAmt));
+                            order.setOutingQty(orderSumQtying.subtract(updateOrderOutingQty).subtract(orderDelOutQty));
+                            order.setOutingAmt(orderSumAmting.subtract(updateOrderOutingAmt).subtract(orderDelOutAmt));
                             order.setUpdateOutingMessageFlag(true);
                             //出库状态
                             String outStatus = this.setOutStatus(orderResponse.getOutingQty().add(order.getOutingQty()),
@@ -1990,26 +1991,6 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
 //                        new UpdateWrapper<OutboundItem>().lambda()
 //                                .eq(OutboundItem::getItemId, UUID.fromString(outboundItem.getItemId()))
 //                );
-
-                        //region  销售明细
-                        if (outboundItemResponse.getFromItemId() != null) {
-                            //根据id查询
-                            OrderItemResponse orderItemResponse = orderItemMapper.selectById(outboundItemResponse.getFromItemId());
-                            OrderItem orderItem = new OrderItem();
-                            orderItem.setItemId(outboundItemResponse.getFromItemId());
-                            orderItem.setOutQty(outboundItemResponse.getOutQty().negate());
-                            orderItem.setOutAmt(outboundItemResponse.getOutAmt().negate());
-                            //出库状态
-                            String orderOutStatus = this.setOutStatus(orderItemResponse.getOutingQty(),
-                                    orderItemResponse.getOutQty().add(orderItem.getOutQty()), orderItemResponse.getItemQty());
-                            orderItem.setOutStatus(orderOutStatus);
-                            int countRow = orderItemMapper.updateById(orderItem);
-                            //数量超出
-                            if (countRow == 0) {
-                                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.UPDATE_ORDER_ERROR.getMessage());
-                            }
-                        }
-                        //endregion
                     }
                     //endregion
 
@@ -2053,6 +2034,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                         Constant.OutStatus.DAICHUKU.getName().equals(outboundResponse.getOutStatus())) {
                     //region 修改明细
                     for (OutboundItemResponse outboundItemResponse : outboundItemResponseList) {
+
                         //region 修改明细
                         //赋值
                         OutboundItem outboundItem = new OutboundItem();
@@ -2066,26 +2048,6 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                                         .eq(OutboundItem::getItemId, UUID.fromString(outboundItem.getItemId()))
                         );
                         //endregion
-
-                        //region  销售明细
-                        if (outboundItemResponse.getFromItemId() != null) {
-                            //根据id查询
-                            OrderItemResponse orderItemResponse = orderItemMapper.selectById(outboundItemResponse.getFromItemId());
-                            OrderItem orderItem = new OrderItem();
-                            orderItem.setItemId(outboundItemResponse.getFromItemId());
-                            orderItem.setOutingQty(outboundItemResponse.getOutingQty().negate());
-                            orderItem.setOutingAmt(outboundItemResponse.getOutingAmt().negate());
-                            //出库状态
-                            String orderOutStatus = this.setOutStatus(orderItemResponse.getOutingQty().add(orderItem.getOutingQty()),
-                                    orderItemResponse.getOutQty(), orderItemResponse.getItemQty());
-                            orderItem.setOutStatus(orderOutStatus);
-                            int countRow = orderItemMapper.updateById(orderItem);
-                            //数量超出
-                            if (countRow == 0) {
-                                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.UPDATE_ORDER_ERROR.getMessage());
-                            }
-                        }
-                        //endregion
                     }
                     //endregion
 
@@ -2100,10 +2062,6 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                             new UpdateWrapper<Outbound>().lambda().eq(Outbound::getOutId, UUID.fromString(outbound.getOutId()))
                     );
                     //endregion
-
-                    //region 修改销售总单
-                    this.updateOrderMessageByRepeal(outboundResponse, outboundItemResponseList);
-                    //endregion
                 }
                 //endregion
             }

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

@@ -195,6 +195,12 @@ public class PurchaseService extends BaseService<Purchase> {
             purchaseItem.setCpId(purchase.getCpId());
 //            purchaseItem.setItemId(null);
             purchaseItem.setPriceDiscount(purchaseItemVO.getPriceDiscount());
+            //region 这里清零,后续在入库里有反写 不清零的话在入库那再加一次就翻倍了
+            purchaseItem.setIntoQty(BigDecimal.ZERO);
+            purchaseItem.setIntoAmt(BigDecimal.ZERO);
+            purchaseItem.setIntoingQty(BigDecimal.ZERO);
+            purchaseItem.setIntoingAmt(BigDecimal.ZERO);
+            //endregion
             purchaseItemMapper.insert(purchaseItem);
             purchaseItemVO.setItemId(purchaseItem.getItemId());
         }
@@ -226,8 +232,10 @@ public class PurchaseService extends BaseService<Purchase> {
                 //todo 2024年7月10日10:19:01 成本单价和成本金额取前台传入的采购单价和采购金额 dl和z确认
                 //成本单价
                 inboundItemVO.setCostPrice(purchaseItemVO.getPricePur());
-                //成本基恩
+                //成本金额
                 inboundItemVO.setCostAmt(purchaseItemVO.getItemAmt());
+                //出库数量
+                inboundItemVO.setOutQty(BigDecimal.ZERO);
                 //endregion
 
                 //region 根据sku查询商品信息
@@ -379,6 +387,10 @@ public class PurchaseService extends BaseService<Purchase> {
             purchaseItem.setFromId(purchaseItemVO.getFromId());
             purchaseItem.setFromItemId(purchaseItemVO.getFromItemId());
             purchaseItem.setPriceDiscount(purchaseItemVO.getPriceDiscount());
+            //region  已入库数量和入库金额 在入库会反写 ,
+            purchaseItem.setIntoQty(null);
+            purchaseItem.setIntoAmt(null);
+            //endregion
             purchaseItemMapper.insert(purchaseItem);
         }
         // 编辑的
@@ -389,6 +401,10 @@ public class PurchaseService extends BaseService<Purchase> {
                 throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ITEMQTY_NO_LESS_INTOQTY.getMessage());
             } else {
                 PurchaseItem purchaseItem = purchaseItemConvert.convertToPo(purchaseItemVO);
+                //region  已入库数量和入库金额 在入库会反写 ,
+                purchaseItem.setIntoQty(null);
+                purchaseItem.setIntoAmt(null);
+                //endregion
                 purchaseItemService.updataById(purchaseItem);
             }
         }

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

@@ -900,8 +900,15 @@ public class OrderService extends BaseService<Order> {
                             List<OrderItemVO> deleteOrderItemVOList = orderVO.getDeleteItemList().stream().filter(it -> it.getItemId() != null).collect(Collectors.toList());
                             if (deleteOrderItemVOList.size() > 0) {
                                 for (OrderItemVO orderItemVO : deleteOrderItemVOList) {
+                                    //拿到 订单明细对应的出库明细   订单明细id 和 出库单来源明细 是一 一 对应的 所以 get0 也是不会有问题的
+                                    List<OutboundItemResponse> outboundItemList = outboundItemMapper.selectByCond(new OutboundItemQuery().setFromItemId(orderItemVO.getItemId()));
+                                    OutboundItemResponse outboundItemjson = null;
+                                    if (outboundItemList.size() != 0) { //没查到库存数据说明是新增的品 还没出库呢
+                                        outboundItemjson = outboundItemList.get(0);
+                                    }
                                     orderItemVO.setOutId(outboundResponsejson.getOutId());
                                     orderItemVO.setPriceOut(orderItemVO.getFactPrice());
+                                    orderItemVO.setItemId(outboundItemjson == null ? null : outboundItemjson.getItemId());
                                 }
                                 orderVO.setDeleteItemList(deleteOrderItemVOList);
                             }