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

1、修改作废报错的问题

zhoux 1 год назад
Родитель
Сommit
e4580eed27

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

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

+ 46 - 42
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleReturnService.java

@@ -237,50 +237,54 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
     @Transactional(rollbackFor = {Exception.class})
     @Transactional(rollbackFor = {Exception.class})
     public void rollBackTotalAndDetail(List<OutboundItemVO> deleteItemList) {
     public void rollBackTotalAndDetail(List<OutboundItemVO> deleteItemList) {
         if (deleteItemList.size() > 0 &&  deleteItemList.get(0).getFromItemId() != null) {
         if (deleteItemList.size() > 0 &&  deleteItemList.get(0).getFromItemId() != null) {
-            //出库单
-            Map<String, List<OutboundItemVO>> collect = deleteItemList.stream().collect(Collectors.groupingBy(OutboundItemVO::getSOutId));
-            for (String outId : collect.keySet()) {
-                List<OutboundItemVO> outboundItemVOList = collect.get(outId);
-                BigDecimal delOutQty = outboundItemVOList.stream().map(OutboundItemVO::getOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
-                BigDecimal delOutAmt = outboundItemVOList.stream().map(OutboundItemVO::getOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
-                BigDecimal delOutingQty = outboundItemVOList.stream().map(OutboundItemVO::getOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
-                BigDecimal delOutingAmt = outboundItemVOList.stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
-                //总单
-                Outbound outboundPri = new Outbound();
-                outboundPri.setOutId(outId);
-                outboundPri.setReturnQty((delOutQty.add(delOutingQty)).negate());
-                outboundPri.setReturnAmt(delOutAmt.add(delOutingAmt).negate());
-                outboundMapper.updateReturnMessage(outboundPri);
-                //明细
-                for (OutboundItemVO outboundItemVO : outboundItemVOList) {
-                    OutboundItem outboundItemPri = new OutboundItem();
-                    outboundItemPri.setItemId(outboundItemVO.getItemId());
-                    outboundItemPri.setReturnQty(outboundItemVO.getOutingQty());
-                    outboundItemPri.setReturnAmt(outboundItemVO.getOutingAmt());
-                    outboundItemMapper.updateReturnMessage(outboundItemPri);
+            if(deleteItemList.get(0).getSOutId() != null ) {
+                //出库单
+                Map<String, List<OutboundItemVO>> collect = deleteItemList.stream().collect(Collectors.groupingBy(OutboundItemVO::getSOutId));
+                for (String outId : collect.keySet()) {
+                    List<OutboundItemVO> outboundItemVOList = collect.get(outId);
+                    BigDecimal delOutQty = outboundItemVOList.stream().map(OutboundItemVO::getOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
+                    BigDecimal delOutAmt = outboundItemVOList.stream().map(OutboundItemVO::getOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
+                    BigDecimal delOutingQty = outboundItemVOList.stream().map(OutboundItemVO::getOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
+                    BigDecimal delOutingAmt = outboundItemVOList.stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
+                    //总单
+                    Outbound outboundPri = new Outbound();
+                    outboundPri.setOutId(outId);
+                    outboundPri.setReturnQty((delOutQty.add(delOutingQty)).negate());
+                    outboundPri.setReturnAmt(delOutAmt.add(delOutingAmt).negate());
+                    outboundMapper.updateReturnMessage(outboundPri);
+                    //明细
+                    for (OutboundItemVO outboundItemVO : outboundItemVOList) {
+                        OutboundItem outboundItemPri = new OutboundItem();
+                        outboundItemPri.setItemId(outboundItemVO.getItemId());
+                        outboundItemPri.setReturnQty(outboundItemVO.getOutingQty());
+                        outboundItemPri.setReturnAmt(outboundItemVO.getOutingAmt());
+                        outboundItemMapper.updateReturnMessage(outboundItemPri);
+                    }
                 }
                 }
             }
             }
-            //订单
-            Map<String, List<OutboundItemVO>> orderCollect = deleteItemList.stream().collect(Collectors.groupingBy(OutboundItemVO::getSOrderId));
-            for (String orderId : orderCollect.keySet()) {
-                List<OutboundItemVO> outboundItemVOList = orderCollect.get(orderId);
-                BigDecimal delOutQty = outboundItemVOList.stream().map(OutboundItemVO::getOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
-                BigDecimal delOutAmt = outboundItemVOList.stream().map(OutboundItemVO::getOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
-                BigDecimal delOutingQty = outboundItemVOList.stream().map(OutboundItemVO::getOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
-                BigDecimal delOutingAmt = outboundItemVOList.stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
-                //总单
-                Order orderPri = new Order();
-                orderPri.setOrderId(orderId);
-                orderPri.setReturnQty((delOutQty.add(delOutingQty)).negate());
-                orderPri.setReturnAmt(delOutAmt.add(delOutingAmt).negate());
-                orderMapper.updateReturnMessage(orderPri);
-                //明细
-                for (OutboundItemVO outboundItemVO : outboundItemVOList) {
-                    OrderItem orderItemPri = new OrderItem();
-                    orderItemPri.setItemId(outboundItemVO.getItemId());
-                    orderItemPri.setReturnQty(outboundItemVO.getOutingQty());
-                    orderItemPri.setReturnAmt(outboundItemVO.getOutingAmt());
-                    orderItemMapper.updateReturnMessage(orderItemPri);
+            if(deleteItemList.get(0).getSOrderId() != null ) {
+                //订单
+                Map<String, List<OutboundItemVO>> orderCollect = deleteItemList.stream().collect(Collectors.groupingBy(OutboundItemVO::getSOrderId));
+                for (String orderId : orderCollect.keySet()) {
+                    List<OutboundItemVO> outboundItemVOList = orderCollect.get(orderId);
+                    BigDecimal delOutQty = outboundItemVOList.stream().map(OutboundItemVO::getOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
+                    BigDecimal delOutAmt = outboundItemVOList.stream().map(OutboundItemVO::getOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
+                    BigDecimal delOutingQty = outboundItemVOList.stream().map(OutboundItemVO::getOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
+                    BigDecimal delOutingAmt = outboundItemVOList.stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
+                    //总单
+                    Order orderPri = new Order();
+                    orderPri.setOrderId(orderId);
+                    orderPri.setReturnQty((delOutQty.add(delOutingQty)).negate());
+                    orderPri.setReturnAmt(delOutAmt.add(delOutingAmt).negate());
+                    orderMapper.updateReturnMessage(orderPri);
+                    //明细
+                    for (OutboundItemVO outboundItemVO : outboundItemVOList) {
+                        OrderItem orderItemPri = new OrderItem();
+                        orderItemPri.setItemId(outboundItemVO.getItemId());
+                        orderItemPri.setReturnQty(outboundItemVO.getOutingQty());
+                        orderItemPri.setReturnAmt(outboundItemVO.getOutingAmt());
+                        orderItemMapper.updateReturnMessage(orderItemPri);
+                    }
                 }
                 }
             }
             }
         }
         }