于继渤 1 год назад
Родитель
Сommit
3b7fc0c45a

+ 4 - 4
src/main/java/com/dk/mdm/controller/ivt/inboundReturnController.java

@@ -29,7 +29,7 @@ public class inboundReturnController {
     private InboundReturnService inboundReturnService;
     
     /**
-     * @desc   : 条件查询
+     * @desc   : 条件查询(小程序用)
      * @author : 于继渤
      * @date   : 2024/3/8 10:58
      */
@@ -43,7 +43,7 @@ public class inboundReturnController {
     }
 
     /**
-     * @desc : 查看来源单据,总单加明细  采购退货用
+     * @desc : 查看来源单据,总单加明细  采购退货用(小程序用)
      * @author : 于继渤
      * @date : 2024/3/6 10:36
      */
@@ -55,7 +55,7 @@ public class inboundReturnController {
 
 
     /**
-     * @desc : 新建采购退货
+     * @desc : 新建采购退货(小程序用)
      * @author : 于继渤
      * @date : 2023/1/5 9:39
      */
@@ -67,7 +67,7 @@ public class inboundReturnController {
 
 
     /**
-     * @desc : 作废
+     * @desc : 作废(小程序用)
      * @date : 2022/6/28 16:58
      * @author : 于继渤
      */

+ 20 - 79
src/main/java/com/dk/mdm/service/ivt/InboundReturnService.java

@@ -306,109 +306,50 @@ public class InboundReturnService extends BaseService<Inbound> {
     public ResponseResultVO<String> cancel(InboundVO inboundVO) {
         //查询当前 采退入库单 负
         InboundResponse inboundResponse = inboundMapper.selectInboundReturnById(inboundVO.getIntoId());
-        if (inboundResponse.getIntoStatus().equals(Constant.IntoStatus.ZUOFEI.getName())) {
-            //当前单据已经作废,不能重复操
-            return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ISFLGVALID_FALSE.getMessage());
-        }
-        //校验单据是否可以作废
-
-
-        //region  查询当前公司的系统参数  自动办理信息  并赋值
-        Map<String, Object> map = new HashMap<>();
-        map.put("cpId", inboundVO.getCpId());
-        map.put("code", Constant.SystemConstant.IVT_001.getValue());
-        //自动办理标识
-        String flgHandleSetting = commonMapper.getSettingValue(map);
-        //自动办理标识为1 自动办理入库
-        if (Constant.FlgAutoHandleStringType.ONE.getValue().equals(flgHandleSetting)) {
-            inboundVO.setFlgAutoHandle(Constant.FlgAutoHandle.TRUE.getValue());
-        }
-
-        //TODO  //系统参数自动出入库办理 已出库(未退款)可以作废,已出库(已退款)不可以作废
-        if (inboundResponse.getFlgAutoHandle() && inboundResponse.getIntoStatus().equals(Constant.IntoStatus.YIRUKU.getName())) {
-            return ResponseResultUtil.error(ErrorCodeEnum.NO_WAIT_INTO_RETURN_CANCEL.getCode(),
-                    ErrorCodeEnum.NO_WAIT_INTO_RETURN_CANCEL.getMessage());
-        }
-        //系统参数手动出入库办理 出库中,可以作废,已出库(未收款、已收款),不可以作废
-        if (!inboundResponse.getFlgAutoHandle() && inboundResponse.getIntoStatus().equals(Constant.IntoStatus.YIRUKU.getName())) {
-            return ResponseResultUtil.error(ErrorCodeEnum.NO_WAIT_INTO_RETURN_CANCEL.getCode(),
-                    ErrorCodeEnum.NO_WAIT_INTO_RETURN_CANCEL.getMessage());
-        }
         if(inboundResponse.getFromId()!=null){
-            //查询采购单
-            PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundResponse.getFromId());
-            if (purchaseResponse == null) {
-                //返回 单据所对应的原始单据不存在,请重新操作
-                return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
+            //反写上游入库单退货数量金额
+            InboundResponse sInboundResponse = inboundMapper.selectById(inboundResponse.getFromId());
+            if(sInboundResponse != null){
+                inboundMapper.updateAmount(new Inbound().setIntoId(sInboundResponse.getIntoId())
+                        .setReturnQty(sInboundResponse.getReturnQty().subtract(inboundResponse.getIntoQty().abs()))
+                        .setReturnAmt(sInboundResponse.getReturnAmt().subtract(inboundResponse.getIntoAmt().abs())));
+            }
+            //反写上游采购订单退货数量金额
+            if(sInboundResponse.getFromId()!=null){
+                //查询采购单
+                PurchaseResponse purchaseResponse = purchaseMapper.selectById(sInboundResponse.getFromId());
+                purchaseMapper.updateAmount(
+                        new Purchase().setReturnQty(purchaseResponse.getReturnQty().subtract(inboundResponse.getIntoQty().abs()))
+                                .setReturnAmt(purchaseResponse.getReturnAmt().subtract(inboundResponse.getIntoAmt().abs())).setPurId(purchaseResponse.getPurId())
+                );
             }
-            //修改采购单 已入库数量/金额
-            //TODO 如果 退货存的 退货数量是负数的话
-            System.out.println(purchaseResponse.getReturnQty().subtract(inboundResponse.getReturnQty()));
 
-            purchaseMapper.updateAmount(
-                    new Purchase().setReturnQty(purchaseResponse.getReturnQty().subtract(inboundResponse.getReturnQty().abs()))
-                            .setReturnAmt(purchaseResponse.getReturnAmt().subtract(inboundResponse.getReturnAmt().abs())).setPurId(purchaseResponse.getPurId())
-            );
         }
-
         //查询退货明细
         List<InboundItemResponse> inboundItemResponses = inboundItemMapper.selectByCond(new InboundItemQuery().setIntoId(inboundResponse.getIntoId()));
         for (InboundItemResponse inboundItemRespons : inboundItemResponses) {
+
             if(inboundItemRespons.getSIntoItemId() != null){
                 //查询源入库单明细
                 InboundItemResponse inboundItem = inboundItemMapper.selectById(inboundItemRespons.getSIntoItemId());
-                if (inboundItem == null) {
-                    //返回 单据所对应的原始单据不存在,请重新操作
-                    return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
-                }
                 //修改入库单明细 已入库退货数量/金额
                 inboundItemMapper.updateAmount(new InboundItem()
                         .setItemId(inboundItem.getItemId())
-                        .setReturnQty(inboundItem.getReturnQty().subtract(inboundItemRespons.getReturnQty().abs()))
-                        .setReturnAmt(inboundItem.getReturnAmt().subtract(inboundItemRespons.getReturnAmt().abs()))
+                        .setReturnQty(inboundItem.getReturnQty().subtract(inboundItemRespons.getIntoQty().abs()))
+                        .setReturnAmt(inboundItem.getReturnAmt().subtract(inboundItemRespons.getIntoAmt().abs()))
                 );
             }
-
-            if(inboundItemRespons.getSIntoId() != null){
-                //查询源入库单 修改 已入库退货数量/金额
-                InboundResponse inboundRes = inboundMapper.selectById(inboundItemRespons.getSIntoId());
-                if (inboundRes == null) {
-                    //返回 单据所对应的原始单据不存在,请重新操作
-                    return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
-                }
-                inboundMapper.updateAmount(new Inbound().setIntoId(inboundRes.getIntoId())
-                        .setReturnQty(inboundRes.getReturnQty().subtract(inboundItemRespons.getReturnQty().abs()))
-                        .setReturnAmt(inboundRes.getReturnAmt().subtract(inboundItemRespons.getReturnAmt().abs())));
-            }
-
-
             if(inboundItemRespons.getSPurItemId()!=null){
                 //查询采购单明细
                 PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemRespons.getSPurItemId());
-                if (purchaseItemResponse == null) {
-                    //返回 单据所对应的原始单据不存在,请重新操作
-                    return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
-                }
                 //修改采购单明细 已入库退货数量/金额
                 purchaseItemMapper.updateAmount(
                         new PurchaseItem()
                                 .setItemId(purchaseItemResponse.getItemId())
-                                .setReturnQty(purchaseItemResponse.getReturnQty().subtract(inboundItemRespons.getReturnQty().abs()))
-                                .setReturnAmt(purchaseItemResponse.getReturnAmt().subtract(inboundItemRespons.getReturnAmt().abs()))
+                                .setReturnQty(purchaseItemResponse.getReturnQty().subtract(inboundItemRespons.getIntoQty().abs()))
+                                .setReturnAmt(purchaseItemResponse.getReturnAmt().subtract(inboundItemRespons.getIntoAmt().abs()))
                 );
             }
-
-
-        }
-        //修改 负向入库单 状态为作废
-        inboundMapper.updateIntoStatus(new Inbound()
-                .setIntoId(inboundVO.getIntoId())
-                .setIntoStatus(Constant.IntoStatus.ZUOFEI.getName()));
-        //修改 负向入库单明细 状态为作废
-        if (inboundItemResponses != null && inboundItemResponses.size() > 0) {
-            for (InboundItemResponse inboundItemRespons : inboundItemResponses) {
-                inboundItemMapper.updateIntoStatus(new InboundItem().setItemId(inboundItemRespons.getItemId()).setIntoStatus(Constant.IntoStatus.ZUOFEI.getName()));
-            }
         }
         inboundPurchaseReturnService.purchaseReturnInboundRepeal(inboundVO.getIntoId());
         return ResponseResultUtil.success();