Kaynağa Gözat

库存-销售出库编辑,反写库存批次金额和数量问题

koushanshan 1 yıl önce
ebeveyn
işleme
021c26823b

+ 1 - 0
src/main/java/com/dk/mdm/model/response/ivt/OutboundItemResponse.java

@@ -440,6 +440,7 @@ public class OutboundItemResponse {
     @ApiModelProperty(value = "出库单号")
     private String outNo;
 
+
     private static final long serialVersionUID = 1L;
 
 }

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

@@ -257,7 +257,6 @@ public class InOutRecordVO  {
 
 
 
-
     private static final long serialVersionUID = 1L;
 
 }

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

@@ -344,6 +344,7 @@ public class OutboundItemVO {
     @ApiModelProperty(value = "原非标号")
     private String nonStdCodePri;
 
+
     private static final long serialVersionUID = 1L;
 
 }

+ 14 - 4
src/main/java/com/dk/mdm/service/ivt/inventory/InventoryService.java

@@ -19,11 +19,18 @@ import com.dk.mdm.infrastructure.convert.ivt.InventoryConvert;
 import com.dk.mdm.mapper.common.CommonMapper;
 import com.dk.mdm.mapper.ivt.*;
 import com.dk.mdm.mapper.mst.GoodsSkuMapper;
+import com.dk.mdm.mapper.sale.OrderItemMapper;
+import com.dk.mdm.mapper.sale.OrderMapper;
 import com.dk.mdm.model.pojo.ivt.*;
+import com.dk.mdm.model.pojo.sale.Order;
+import com.dk.mdm.model.pojo.sale.OrderItem;
 import com.dk.mdm.model.query.ivt.*;
 import com.dk.mdm.model.query.mst.GoodsSkuQuery;
+import com.dk.mdm.model.query.sale.OrderItemQuery;
 import com.dk.mdm.model.response.ivt.*;
 import com.dk.mdm.model.response.mst.GoodsSkuResponse;
+import com.dk.mdm.model.response.sale.OrderItemResponse;
+import com.dk.mdm.model.response.sale.OrderResponse;
 import com.dk.mdm.model.vo.ivt.InOutRecordVO;
 import com.dk.mdm.model.vo.ivt.InventoryBatchVO;
 import com.dk.mdm.model.vo.ivt.InventoryVO;
@@ -87,10 +94,12 @@ public class InventoryService extends BaseService<Inventory> {
     @Autowired
     private CommonMapper commonMapper;
 
-
     @Autowired
     private GoodsSkuMapper goodsSkuMapper;
 
+    @Autowired
+    private OrderItemMapper orderItemMapper;
+
     /**
      * @desc : 重写主键
      * @author : 宋扬
@@ -1226,7 +1235,7 @@ public class InventoryService extends BaseService<Inventory> {
                         InventoryBatch inventoryBatch = new InventoryBatch();
                         inventoryBatch.setBatchId(outboundItemCostResponse.getBatchId());
                         inventoryBatch.setInvQty(inventoryBatchResponse.getInvQty().add(outboundItemCostResponse.getOutQty()));
-                        inventoryBatch.setCostAmt(inventoryBatchResponse.getInvQty().multiply(outboundItemCostResponse.getCostPrice()));
+                        inventoryBatch.setCostAmt(inventoryBatch.getInvQty().multiply(outboundItemCostResponse.getCostPrice()));
                         inventoryBatchMapper.updateAmtAndQty(inventoryBatch);
                     }
                     //出库单价
@@ -1303,10 +1312,11 @@ public class InventoryService extends BaseService<Inventory> {
             //库存数量 出库+
             inventory.setInvQty(inventoryResponse.getInvQty().add(qty));
         }
-        //可用量  库存数量-出库中数量-冻结数量
-        inventory.setUsableQty(inventory.getInvQty().subtract(inventoryResponse.getFreezeQty()).subtract(inventoryResponse.getOutingQty()));
         //存货资产
+//        inventory.setCostAmt(inventory.getInvQty().multiply(inventoryResponse.getCostPrice()).setScale(2, BigDecimal.ROUND_HALF_UP));
         inventory.setCostAmt(costAmt);
+        //可用量  库存数量-出库中数量-冻结数量
+        inventory.setUsableQty(inventory.getInvQty().subtract(inventoryResponse.getFreezeQty()).subtract(inventoryResponse.getOutingQty()));
         //存货单价
         inventory.setCostPrice(costAmt.compareTo(BigDecimal.ZERO) > 0 ?
                 costAmt.divide(inventory.getInvQty(), BigDecimal.ROUND_HALF_UP) : BigDecimal.ZERO);

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

@@ -810,6 +810,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                             //endregion
                             OutboundItem outboundItem = outboundItemConvert.convertToPo(outboundItemVO);
                             outboundItem.setFlgValid(false);
+
                             //修改
                             outboundItemMapper.update(outboundItem,
                                     new UpdateWrapper<OutboundItem>().lambda()