koushanshan 1 년 전
부모
커밋
7a45625beb

+ 1 - 0
src/main/java/com/dk/mdm/service/ivt/inbound/InboundPurchaseService.java

@@ -719,6 +719,7 @@ public class InboundPurchaseService extends BaseService<Inbound> {
 
             //region 修改明细
             for (InboundItemResponse inboundItemResponse : inboundItemResponseList) {
+
                 //region 将库存需要的参数赋值
                 inboundItemResponse.setInventoryType(Constant.InventoryType.INBOUND.getName());
                 inboundItemResponse.setInventoryDocCode(Constant.InventoryDocCode.PURCHASE_ORDER.getValue());

+ 16 - 10
src/main/java/com/dk/mdm/service/ivt/inventory/InventoryService.java

@@ -165,6 +165,7 @@ public class InventoryService extends BaseService<Inventory> {
             //入库日期
             inOutRecordVO.setAccDate(LocalDate.now());
         }
+
         //region 校验是否传库存需要的数据
         this.checkInventory(inOutRecordVOList);
         //endregion
@@ -775,7 +776,7 @@ public class InventoryService extends BaseService<Inventory> {
         inventory.setCostAmt(costAmt);
         //存货单价
         inventory.setCostPrice(costAmt.compareTo(BigDecimal.ZERO) > 0 ?
-                costAmt.divide(inventory.getInvQty()).setScale(2, BigDecimal.ROUND_HALF_UP) : BigDecimal.ZERO);
+               costAmt.divide(inventory.getInvQty(),BigDecimal.ROUND_HALF_UP) : BigDecimal.ZERO);
         inventoryMapper.updateAmtAndQty(inventory);
         //endregion
     }
@@ -862,7 +863,7 @@ public class InventoryService extends BaseService<Inventory> {
                 //库存资产
                 inventory.setCostAmt(inOutRecordVO.getIntoAmt());
                 //库存单价   存货资产/存货数量
-                inventory.setCostPrice(inventory.getCostAmt().negate().divide(inventory.getInvQty().negate()).setScale(2, BigDecimal.ROUND_HALF_UP));
+                inventory.setCostPrice(inventory.getCostAmt().negate().divide(inventory.getInvQty().negate(),BigDecimal.ROUND_HALF_UP));
             } else {
                 //库存数量
                 inventory.setInvQty(inOutRecordVO.getIntoQty());
@@ -871,7 +872,7 @@ public class InventoryService extends BaseService<Inventory> {
                 //库存资产
                 inventory.setCostAmt(inOutRecordVO.getIntoAmt());
                 //库存单价   存货资产/存货数量
-                inventory.setCostPrice(inventory.getCostAmt().divide(inventory.getInvQty()).setScale(2, BigDecimal.ROUND_HALF_UP));
+                inventory.setCostPrice(inventory.getCostAmt().divide(inventory.getInvQty(),BigDecimal.ROUND_HALF_UP));
             }
         }
 
@@ -1035,6 +1036,7 @@ public class InventoryService extends BaseService<Inventory> {
             //endregion
 
             //region   根据来源id和来源明细id查询数据 库存批次删除
+
             //region  入库 判断库存批次数量和传入数量是否一致 不一致不允许修改
             if ((Constant.InventoryType.INBOUND.getName().equals(inOutRecordVO.getInventoryType()) &&
                     !Constant.InventoryDocCode.PURCHASE_RETURN.getValue().equals(inOutRecordVO.getInventoryDocCode()) ||
@@ -1057,7 +1059,6 @@ public class InventoryService extends BaseService<Inventory> {
                     } else {
                         //不允许编辑,对应库存数据已被修改
                         throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_DATA_HAS_BEEN_MODIFIED.getMessage());
-
                     }
                 }
             }
@@ -1088,7 +1089,6 @@ public class InventoryService extends BaseService<Inventory> {
             this.updateInventoryMessageDelete(inventoryResponse, inOutRecordVO);
             //endregion
 
-
             //region  根据来源id和来源明细id查询数据 库存流水删除
             InOutRecord inOutRecord = new InOutRecord();
             //来源id
@@ -1098,7 +1098,6 @@ public class InventoryService extends BaseService<Inventory> {
             inOutRecordMapper.deleteData(inOutRecord);
             //endregion
 
-
             //region  判断是出库但不是销售退货出库或者是采购退货入库      出库要把出库成本也删除
             if ((Constant.InventoryType.OUTBOUND.getName().equals(inOutRecordVO.getInventoryType()) &&
                     !Constant.InventoryDocCode.SALE_RETURN.getValue().equals(inOutRecordVO.getInventoryDocCode())) ||
@@ -1154,7 +1153,7 @@ public class InventoryService extends BaseService<Inventory> {
         inventory.setCostAmt(costAmt);
         //存货单价
         inventory.setCostPrice(costAmt.compareTo(BigDecimal.ZERO) > 0 ?
-                costAmt.divide(inventory.getInvQty()).setScale(2, BigDecimal.ROUND_HALF_UP) : BigDecimal.ZERO);
+                costAmt.divide(inventory.getInvQty(),BigDecimal.ROUND_HALF_UP) : BigDecimal.ZERO);
         inventoryMapper.updateAmtAndQty(inventory);
         //endregion
     }
@@ -1325,6 +1324,7 @@ public class InventoryService extends BaseService<Inventory> {
 
                     //新建存货流水 一正一负
                     this.insertInboundRecord(inOutRecordVO);
+
                     //新建出库成本
                     this.insertOutboundItemCost(inOutRecordVO);
                 }
@@ -1445,6 +1445,7 @@ public class InventoryService extends BaseService<Inventory> {
             if (inventoryResponse == null) {
                 throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.SKU_IS_NOT_IN_INVENTORY.getMessage());
             }
+            //endregion
 
             //region  库存存在
             else {
@@ -1467,7 +1468,6 @@ public class InventoryService extends BaseService<Inventory> {
         return inOutRecordVOList;
     }
 
-
     /**
      * @desc : 修改出库
      * @date : 2024/4/16 9:59
@@ -1521,6 +1521,7 @@ public class InventoryService extends BaseService<Inventory> {
         for (InOutRecordVO inOutRecordVO : inOutRecordVOList) {
             //校验库存是否存在
             InventoryResponse inventoryResponse = this.checkInventoryNumber(inOutRecordVO);
+
             //region  库存不存在---新建
             if (inventoryResponse == null) {
 
@@ -1536,6 +1537,8 @@ public class InventoryService extends BaseService<Inventory> {
                 this.insertInboundRecord(inOutRecordVO);
                 //endregion
             }
+            //endregion
+
             //region  库存存在
             else {
                 inOutRecordVO.setInvId(inventoryResponse.getInvId());
@@ -1795,7 +1798,7 @@ public class InventoryService extends BaseService<Inventory> {
                     //库存资产
                     inventory.setCostAmt(inOutRecordVO.getIntoAmt().negate());
                     //库存单价   存货资产/存货数量
-                    inventory.setCostPrice(inventory.getCostAmt().negate().divide(inventory.getInvQty().negate()).setScale(2, BigDecimal.ROUND_HALF_UP));
+                    inventory.setCostPrice(inventory.getCostAmt().negate().divide(inventory.getInvQty().negate(), BigDecimal.ROUND_HALF_UP));
                 } else {
                     //库存数量
                     inventory.setInvQty(inOutRecordVO.getIntoQty());
@@ -1804,7 +1807,7 @@ public class InventoryService extends BaseService<Inventory> {
                     //库存资产
                     inventory.setCostAmt(inOutRecordVO.getIntoAmt());
                     //库存单价   存货资产/存货数量
-                    inventory.setCostPrice(inventory.getCostAmt().divide(inventory.getInvQty()).setScale(2, BigDecimal.ROUND_HALF_UP));
+                    inventory.setCostPrice(inventory.getCostAmt().divide(inventory.getInvQty(), BigDecimal.ROUND_HALF_UP));
                 }
                 //新建
                 inventoryMapper.insert(inventory);
@@ -2005,6 +2008,9 @@ public class InventoryService extends BaseService<Inventory> {
      * @date : 2024/4/8 17:19
      * @author : 寇珊珊
      */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
     public InOutRecordVO insertNegativeInventoryBatch(InOutRecordVO inOutRecordVO) {
         //查询库存批次明细  按照时间排序(正序)
         List<InventoryBatchResponse> inventoryBatchResponseList = inventoryBatchMapper.selectAmountAndQuantity(new InventoryBatchQuery().setInvId(inOutRecordVO.getInvId()));