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

销售退货编辑反写上游单据退货信息
订单一键作废删除修改上游单据(因为上游单据已经作废了,不需要反写了)

koushanshan 1 год назад
Родитель
Сommit
75740e5854

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

@@ -2004,9 +2004,6 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                     );
                     //endregion
 
-                    //region 修改销售总单
-                    this.updateOrderMessageByRepeal(outboundResponse, outboundItemResponseList);
-                    //endregion
 
                     //region 外协品新建外协入库单
                     //筛选出skuId为空的 走外协品逻辑

+ 22 - 29
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleReturnService.java

@@ -119,13 +119,11 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
 
     /**
      * @desc : 修改原总单数据(订单,出库单)
-     * posNegFlag :正负标识  true:正数,false:负数
-     * 默认传值过来的是负数
      * @date : 2024/3/29 10:43
      * @author : 寇珊珊
      */
     @Transactional(rollbackFor = {Exception.class})
-    public void updatePrimaryTotal(OutboundVO outboundVO, Boolean posNegFlag) {
+    public void updatePrimaryTotal(OutboundVO outboundVO) {
 
         //region 原入库单
         Map<String, List<OutboundItemVO>> outboundItemVOListOutPri = outboundVO.getItemList().stream().filter(it -> it.getSOrderId() != null).collect(Collectors.groupingBy(OutboundItemVO::getSOutId));
@@ -148,13 +146,8 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
             }
             Outbound outboundPri = new Outbound();
             outboundPri.setOutId(str);
-            if (posNegFlag) {
-                outboundPri.setReturnQty((returnSumQty.add(returnIngSumQty)).negate());
-                outboundPri.setReturnAmt((returnSumAmt.add(returnIngSumAmt)).negate());
-            } else {
-                outboundPri.setReturnQty(returnSumQty.add(returnIngSumQty));
-                outboundPri.setReturnAmt(returnSumAmt.add(returnIngSumAmt));
-            }
+            outboundPri.setReturnQty( outboundResponse.getReturnQty().subtract( (returnSumQty.add(returnIngSumQty)).negate() ).abs() );
+            outboundPri.setReturnAmt( outboundResponse.getReturnAmt().subtract( (returnSumAmt.add(returnIngSumAmt)).negate() ).abs() );
             outboundMapper.updateReturnMessage(outboundPri);
         }
         //endregion
@@ -181,13 +174,8 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
             }
             Order orderPri = new Order();
             orderPri.setOrderId(str);
-            if (posNegFlag) {
-                orderPri.setReturnQty((returnSumQty.add(returnIngSumQty)).negate());
-                orderPri.setReturnAmt((returnSumAmt.add(returnIngSumAmt)).negate());
-            } else {
-                orderPri.setReturnQty(returnSumQty.add(returnIngSumQty));
-                orderPri.setReturnAmt(returnSumAmt.add(returnIngSumAmt));
-            }
+            orderPri.setReturnQty( orderResponse.getReturnQty().subtract( (returnSumQty.add(returnIngSumQty)).negate() ).abs() ) ;
+            orderPri.setReturnAmt( orderResponse.getReturnAmt().subtract( (returnSumAmt.add(returnIngSumAmt)).negate() ).abs() );
             orderMapper.updateReturnMessage(orderPri);
         }
         //endregion
@@ -216,11 +204,11 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
             OutboundItem outboundItemPri = new OutboundItem();
             outboundItemPri.setItemId(outboundItemVO.getSOutItemId());
             if (posNegFlag) {
-                outboundItemPri.setReturnQty(isOutEdit ? outboundItemVO.getOutQty().negate() : outboundItemVO.getOutingQty().negate());
-                outboundItemPri.setReturnAmt(isOutEdit ? outboundItemVO.getOutAmt().negate() : outboundItemVO.getOutingAmt().negate());
+                outboundItemPri.setReturnQty(isOutEdit ? outboundItemResponse.getReturnQty().subtract(outboundItemVO.getOutQty().negate()).abs() : outboundItemResponse.getReturnQty().subtract(outboundItemVO.getOutingQty().negate()).abs());
+                outboundItemPri.setReturnAmt(isOutEdit ? outboundItemResponse.getReturnAmt().subtract(outboundItemVO.getOutAmt().negate()).abs() : outboundItemResponse.getReturnAmt().subtract(outboundItemVO.getOutingAmt().negate()).abs());
             } else {
-                outboundItemPri.setReturnQty(isOutEdit ? outboundItemVO.getOutQty() : outboundItemVO.getOutingQty());
-                outboundItemPri.setReturnAmt(isOutEdit ? outboundItemVO.getOutAmt() : outboundItemVO.getOutingAmt());
+                outboundItemPri.setReturnQty(isOutEdit ? outboundItemResponse.getReturnQty().subtract(outboundItemVO.getOutQty()).abs() : outboundItemResponse.getReturnQty().subtract(outboundItemVO.getOutingQty()).abs());
+                outboundItemPri.setReturnAmt(isOutEdit ? outboundItemResponse.getReturnAmt().subtract(outboundItemVO.getOutAmt()).abs() : outboundItemResponse.getReturnAmt().subtract(outboundItemVO.getOutingAmt()).abs());
             }
             outboundItemMapper.updateReturnMessage(outboundItemPri);
             //endregion
@@ -547,7 +535,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
         //endregion
 
         //region 原入库单  原销售订单
-        this.updatePrimaryTotal(outboundVO, true);
+        this.updatePrimaryTotal(outboundVO);
         //endregion
 
         //region  账款
@@ -611,6 +599,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
 
             //region    已出库编辑
             if (Constant.OutStatus.YICHUKU.getName().equals(outboundVO.getOutStatus())) {
+
                 //region 退账
                 if (outboundVO.getReceivableId() != null) {
                     accountService.reverseReceivable(outboundVO.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
@@ -622,8 +611,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                 //endregion
 
                 //region 修改明细
-                List<OutboundItemVO> itemList = outboundVO.getItemList();
-                for (OutboundItemVO outboundItemVO : itemList) {
+                for (OutboundItemVO outboundItemVO : outboundVO.getItemList()) {
 
                     //根据id查询
                     OutboundItemResponse outboundItemResponse = outboundItemMapper.selectById(outboundItemVO.getItemId());
@@ -655,6 +643,9 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                                 new UpdateWrapper<OutboundItem>().lambda()
                                         .eq(OutboundItem::getItemId, UUID.fromString(outboundItem.getItemId()))
                         );
+                        //这里给出库中赋值为0,后续要反写上游单据的退货数量,这里要是有值数量会不对
+                        outboundItemVO.setOutingQty(BigDecimal.ZERO);
+                        outboundItemVO.setOutingAmt(BigDecimal.ZERO);
                     }
                     //endregion
 
@@ -729,7 +720,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                 //endregion
 
                 //region  反写出库总单 反写订单总单
-                this.updatePrimaryTotal(outboundVO, true);
+                this.updatePrimaryTotal(outboundVO);
                 //endregion
 
                 //region  入账
@@ -756,8 +747,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                 //endregion
 
                 //region 修改明细
-                List<OutboundItemVO> itemList = outboundVO.getItemList();
-                for (OutboundItemVO outboundItemVO : itemList) {
+                for (OutboundItemVO outboundItemVO : outboundVO.getItemList()) {
 
                     //region 编辑明细
                     if (outboundItemVO.getItemId() != null) {
@@ -772,6 +762,9 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                                 new UpdateWrapper<OutboundItem>().lambda()
                                         .eq(OutboundItem::getItemId, UUID.fromString(outboundItem.getItemId()))
                         );
+                        //这里给出库中赋值为0,后续要反写上游单据的退货数量,这里要是有值数量会不对
+                        outboundItemVO.setOutingQty(BigDecimal.ZERO);
+                        outboundItemVO.setOutingAmt(BigDecimal.ZERO);
                     }
                     //endregion
 
@@ -835,7 +828,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                 //endregion
 
                 //region  反写出库总单 反写订单总单
-                this.updatePrimaryTotal(outboundVO, true);
+                this.updatePrimaryTotal(outboundVO);
                 //endregion
             }
             //endregion
@@ -1117,7 +1110,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
         //endregion
 
         //region  反写出库总单 反写订单总单
-        this.updatePrimaryTotal(outboundVO, true);
+        this.updatePrimaryTotal(outboundVO);
         //endregion
 
         //region 入账