Quellcode durchsuchen

销售退货撤回反写出库明细出库中金额和数量+销售出库外协品生成入库和出库明细的成本金额去掉用前台传入的

koushanshan vor 1 Jahr
Ursprung
Commit
b661f8d80f

+ 2 - 0
src/main/java/com/dk/mdm/mapper/ivt/OutboundItemMapper.xml

@@ -229,6 +229,8 @@ sys.f_remove_zero(out_qty) as out_qty, out_amt, sys.f_remove_zero(return_qty) as
         tpoi.from_item_id,
         tpoi.s_out_id,
         tpoi.s_out_item_id,
+        tpoi.s_order_id,
+        tpoi.s_order_item_id,
         tpoi.item_index,
         tpoi.sku_id,
         tmgs.sku_code as "skuCode",

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

@@ -326,6 +326,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                     inboundItemVO.setIntoType(inboundVO.getIntoType());
                     //入库状态等于已入库 更新合计入库数量/金额 = 入库中数量/入库中金额
                     BigDecimal costAmount = outboundItemVO.getOutQty().multiply(outboundItemVO.getPriceOut()).setScale(2, BigDecimal.ROUND_HALF_UP);
+                    //todo 2024年6月28日11:13:18 wyj 实际金额和单价前台传
                     inboundItemVO
                             .setFromId(outboundItemVO.getFromId())
                             .setFromItemId(outboundItemVO.getFromItemId())
@@ -335,8 +336,6 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                             .setIntoAmt(costAmount)
                             .setIntoingQty(BigDecimal.ZERO)
                             .setIntoingAmt(BigDecimal.ZERO)
-                            .setCostPrice(outboundItemVO.getPriceOut())
-                            .setCostAmt(costAmount)
                     ;
                     //入库状态
                     inboundItemVO.setIntoStatus(inboundVO.getIntoStatus());
@@ -486,8 +485,12 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                         .setOutAmt(outboundItemVO.getOutingAmt())
                         .setOutingQty(BigDecimal.ZERO)
                         .setOutingAmt(BigDecimal.ZERO)
-                        .setCostPrice(outboundItemVO.getPriceOut())
-                        .setCostAmt(outboundItemVO.getOutQty().multiply(outboundItemVO.getPriceOut()).setScale(2, BigDecimal.ROUND_HALF_UP)) ;
+                ;
+                //todo 2024年6月28日11:15:03 外协品的实际金额和单价 前台传 wyj
+                if (outboundItemVO.getSkuId() != null) {
+                    outboundItemVO.setCostPrice(outboundItemVO.getPriceOut());
+                    outboundItemVO.setCostAmt(outboundItemVO.getOutQty().multiply(outboundItemVO.getPriceOut()).setScale(2, BigDecimal.ROUND_HALF_UP));
+                }
             } else {
                 outboundItemVO
                         .setOutQty(BigDecimal.ZERO)

+ 11 - 10
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleReturnService.java

@@ -235,7 +235,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
      */
     @Transactional(rollbackFor = {Exception.class})
     public void rollBackTotalAndDetail(List<OutboundItemVO> deleteItemList) {
-        if (deleteItemList.size() > 0 &&  deleteItemList.get(0).getFromItemId() != null) {
+        if (deleteItemList.size() > 0 ) {
             if(deleteItemList.get(0).getSOutId() != null ) {
                 //出库单
                 Map<String, List<OutboundItemVO>> collect = deleteItemList.stream().collect(Collectors.groupingBy(OutboundItemVO::getSOutId));
@@ -1082,21 +1082,14 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
         //根据总单id查明细
         List<OutboundItemResponse> outboundItemResponseList = outboundItemMapper.selectByCond(new OutboundItemQuery().setOutId(outboundVO.getOutId()));
         for (OutboundItemResponse outboundItemResponse : outboundItemResponseList) {
-            //region 将库存需要的参数赋值
-            outboundItemResponse.setInventoryType(Constant.InventoryType.OUTBOUND.getName());
-            outboundItemResponse.setInventoryDocCode(Constant.InventoryDocCode.SALE_RETURN.getValue());
-            outboundItemResponse.setOutQty(outboundItemResponse.getOutQty().negate());
-            outboundItemResponse.setOutAmt(outboundItemResponse.getOutAmt().negate());
-            outboundItemResponse.setAddOrEditFlag(false);
-            //endregion
 
             //region修改出库明细信息
             OutboundItem outboundItem = new OutboundItem();
             outboundItem
                     .setOutId(outboundResponse.getOutId())
                     .setOutStatus(Constant.OutStatus.CHUKUZHONG.getName())
-                    .setOutingQty(outboundItemResponse.getOutingQty())
-                    .setOutAmt(outboundItemResponse.getOutingAmt())
+                    .setOutingQty(outboundItemResponse.getOutQty())
+                    .setOutingAmt(outboundItemResponse.getOutAmt())
                     .setOutQty(BigDecimal.ZERO)
                     .setOutAmt(BigDecimal.ZERO)
                     .setCostPrice(BigDecimal.ZERO)
@@ -1108,6 +1101,14 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                             .eq(OutboundItem::getItemId, UUID.fromString(outboundItem.getItemId()))
             );
             //endregion
+
+            //region 将库存需要的参数赋值
+            outboundItemResponse.setInventoryType(Constant.InventoryType.OUTBOUND.getName());
+            outboundItemResponse.setInventoryDocCode(Constant.InventoryDocCode.SALE_RETURN.getValue());
+            outboundItemResponse.setOutQty(outboundItemResponse.getOutQty().negate());
+            outboundItemResponse.setOutAmt(outboundItemResponse.getOutAmt().negate());
+            outboundItemResponse.setAddOrEditFlag(false);
+            //endregion
         }
         //endregion