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

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

@@ -343,7 +343,7 @@ public class InboundReturnService extends BaseService<Inbound> {
         //region  查询当前公司的系统参数  自动办理信息  并赋值
         Map<String, Object> map = new HashMap<>();
         map.put("cpId", inboundVO.getCpId());
-        map.put("code", "IVT_001");
+        map.put("code", Constant.SystemConstant.IVT_001.getValue());
         //自动办理标识
         String flgHandleSetting = commonMapper.getSettingValue(map);
         //自动办理标识为1 自动办理入库

+ 15 - 7
src/main/java/com/dk/mdm/service/ivt/inbound/InboundOtherService.java

@@ -109,7 +109,6 @@ public class InboundOtherService extends BaseService<Inbound> {
         return ResponseResultUtil.success(result);
     }
 
-
     /**
      * @desc : 其他入库新建
      * @date : 2024/3/7 14:13
@@ -120,7 +119,7 @@ public class InboundOtherService extends BaseService<Inbound> {
         //region  查询当前公司的系统参数  自动办理信息  并赋值
         Map<String, Object> map = new HashMap<>();
         map.put("cpId", inboundVO.getCpId());
-        map.put("code", "IVT_001");
+        map.put("code", Constant.SystemConstant.IVT_001.getValue());
         //自动办理标识
         String flgHandleSetting = commonMapper.getSettingValue(map);
         //自动办理标识为1 自动办理入库
@@ -216,7 +215,6 @@ public class InboundOtherService extends BaseService<Inbound> {
         return ResponseResultUtil.success(inboundVO);
     }
 
-
     /**
      * @desc : 其他入库编辑
      * @date : 2024/3/25 16:25
@@ -357,6 +355,9 @@ public class InboundOtherService extends BaseService<Inbound> {
                 inventoryService.operatingInventoryInformation(map);
                 //endregion
             }
+            else{
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_INTO.getMessage());
+            }
             //endregion
 
             //region 自动办理参数false  入库中编辑
@@ -426,6 +427,9 @@ public class InboundOtherService extends BaseService<Inbound> {
                 );
                 //endregion
             }
+            else{
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_INTO.getMessage());
+            }
             //endregion
 
         }
@@ -493,6 +497,9 @@ public class InboundOtherService extends BaseService<Inbound> {
             inventoryService.operatingInventoryInformation(map);
             //endregion
         }
+        else{
+            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_INTO.getMessage());
+        }
         //endregion
 
         //region 自动办理参数false  入库中编辑
@@ -505,6 +512,7 @@ public class InboundOtherService extends BaseService<Inbound> {
                 inboundItem.setItemId(inboundItemResponse.getItemId());
                 inboundItem.setIntoingQty(BigDecimal.ZERO);
                 inboundItem.setIntoingAmt(BigDecimal.ZERO);
+                inboundItem.setFlgValid(false);
                 //修改
                 inboundItemMapper.update(inboundItem,
                         new UpdateWrapper<InboundItem>().lambda()
@@ -518,18 +526,21 @@ public class InboundOtherService extends BaseService<Inbound> {
             inbound.setIntoId(inboundResponse.getIntoId());
             inbound.setIntoingQty(BigDecimal.ZERO);
             inbound.setIntoAmt(BigDecimal.ZERO);
+            inbound.setFlgValid(false);
             //修改
             inboundMapper.update(inbound,
                     new UpdateWrapper<Inbound>().lambda().eq(Inbound::getIntoId, UUID.fromString(inbound.getIntoId()))
             );
             //endregion
         }
+        else{
+            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_INTO.getMessage());
+        }
         //endregion
 
         return ResponseResultUtil.success();
     }
 
-
     /**
      * @desc : 其他入库办理
      * @date : 2024/3/7 15:47
@@ -664,7 +675,6 @@ public class InboundOtherService extends BaseService<Inbound> {
         return ResponseResultUtil.success(inboundVO);
     }
 
-
     /**
      * @desc : 其它入库撤销
      * @date : 2024/3/7 17:06
@@ -731,7 +741,6 @@ public class InboundOtherService extends BaseService<Inbound> {
         return ResponseResultUtil.success();
     }
 
-
     /**
      * @desc : 入库状态通用(目前本页面)
      * @date : 2024/3/9 8:59
@@ -758,7 +767,6 @@ public class InboundOtherService extends BaseService<Inbound> {
         return intoStatus;
     }
 
-
     /**
      * @desc : 条件查询 --- web端入库办理用
      * @date : 2024/3/23 9:24

+ 47 - 19
src/main/java/com/dk/mdm/service/ivt/inbound/InboundPurchaseReturnService.java

@@ -113,7 +113,6 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
         return ResponseResultUtil.success(result);
     }
 
-
     /**
      * @desc : 采购退货入库新建
      * @date : 2024/3/7 14:13
@@ -124,7 +123,7 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
         //region  查询当前公司的系统参数  自动办理信息  并赋值
         Map<String, Object> map = new HashMap<>();
         map.put("cpId", inboundVO.getCpId());
-        map.put("code", "IVT_001");
+        map.put("code", Constant.SystemConstant.IVT_001.getValue());
         //自动办理标识
         String flgHandleSetting = commonMapper.getSettingValue(map);
         //自动办理标识为1 自动办理入库
@@ -215,7 +214,7 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
         }
         //endregion
 
-        //region 库调用
+        //region 入账
         if (Constant.IntoStatus.YIRUKU.getName().equals(inboundVO.getIntoStatus())) {
             accountService.accPayable(inboundVO.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
         }
@@ -381,7 +380,7 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
                 );
                 //endregion
 
-                //region  账
+                //region  
                 if (inboundVO.getReceivableId() != null) {
                     accountService.accPayable(inboundVO.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
                 }
@@ -394,6 +393,9 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
                 inventoryService.operatingInventoryInformation(map);
                 //endregion
             }
+            else{
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_INTO.getMessage());
+            }
             //endregion
 
             //region 自动办理参数false  入库中编辑
@@ -444,6 +446,22 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
                 }
                 //endregion
 
+                //region 删除明细
+                if (inboundVO.getDeleteItemList() != null) {
+                    for (InboundItemVO inboundItemVO : inboundVO.getDeleteItemList()) {
+                        if (inboundItemVO.getItemId() != null) {
+                            InboundItem inboundItem = inboundItemConvert.convertToPo(inboundItemVO);
+                            inboundItem.setFlgValid(false);
+                            //修改
+                            inboundItemMapper.update(inboundItem,
+                                    new UpdateWrapper<InboundItem>().lambda()
+                                            .eq(InboundItem::getItemId, UUID.fromString(inboundItem.getItemId()))
+                            );
+                        }
+                    }
+                }
+                //endregion
+
                 //region  修改入库总单
                 Inbound inbound = new Inbound();
                 inbound.setIntoId(inboundVO.getIntoId());
@@ -455,6 +473,9 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
                 );
                 //endregion
             }
+            else{
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_INTO.getMessage());
+            }
             //endregion
         }
         //endregion
@@ -516,19 +537,21 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
             );
             //endregion
 
-            //region  账
+            //region  
             if (inboundResponse.getReceivableId() != null) {
                 accountService.accPayable(inboundResponse.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
             }
             //endregion
 
-
             //region   调用库存
             Map<String, Object> map = new HashMap<>();
             map.put("delIntoDetail", inboundItemResponseList);
             inventoryService.operatingInventoryInformation(map);
             //endregion
         }
+        else{
+            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_INTO.getMessage());
+        }
         //endregion
 
         //region 自动办理参数false  入库中编辑
@@ -541,6 +564,7 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
                 inboundItem.setItemId(inboundItemResponse.getItemId());
                 inboundItem.setIntoingQty(BigDecimal.ZERO);
                 inboundItem.setIntoingAmt(BigDecimal.ZERO);
+                inboundItem.setFlgValid(false);
                 //修改
                 inboundItemMapper.update(inboundItem,
                         new UpdateWrapper<InboundItem>().lambda()
@@ -554,6 +578,7 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
             inbound.setIntoId(inboundResponse.getIntoId());
             inbound.setIntoingQty(BigDecimal.ZERO);
             inbound.setIntoAmt(BigDecimal.ZERO);
+            inbound.setFlgValid(false);
             //修改
             inboundMapper.update(inbound,
                     new UpdateWrapper<Inbound>().lambda().eq(Inbound::getIntoId, UUID.fromString(inbound.getIntoId()))
@@ -561,12 +586,14 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
             //endregion
 
         }
+        else{
+            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_INTO.getMessage());
+        }
         //endregion
 
         return ResponseResultUtil.success();
     }
 
-
     /**
      * @desc : 采购退货入库办理
      * @date : 2024/3/7 15:47
@@ -574,12 +601,19 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
      */
     @Transactional(rollbackFor = {Exception.class})
     public ResponseResultVO<?> saleReturnHandleInbound(InboundVO inboundVO) {
-        //region 编辑明细
-        //校验明细
+        //region 校验明细
         if (inboundVO.getItemList().size() == 0) {
             throw new BaseBusinessException(ErrorCodeEnum.INBOUND_ITEM_NOT_EXIST.getCode(),
                     ErrorCodeEnum.INBOUND_ITEM_NOT_EXIST.getMessage());
         }
+        //endregion
+
+        //region 退账
+        if (inboundVO.getReceivableId() != null) {
+            accountService.reversePayable(inboundVO.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
+        }
+
+        //region 编辑明细
         for (InboundItemVO inboundItemVO : inboundVO.getItemList()) {
             //region  不能新建
             if (inboundItemVO.getSPurItemId() == null) {
@@ -696,8 +730,10 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
         );
         //endregion
 
-        //region  账款
-        accountService.accPayable(inboundVO.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
+        //region  入账
+        if (inboundVO.getReceivableId() != null) {
+            accountService.accPayable(inboundVO.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
+        }
         //endregion
 
         //region   调用库存
@@ -710,7 +746,6 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
         return ResponseResultUtil.success(inboundVO);
     }
 
-
     /**
      * @desc : 采购退货入库撤销
      * @date : 2024/3/7 17:06
@@ -777,11 +812,6 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
         }
         //endregion
 
-        //region  账款
-        if (inboundVO.getReceivableId() != null) {
-            accountService.accPayable(inboundVO.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
-        }
-        //endregion
 
         //region   调用库存
         Map<String, Object> map = new HashMap<>();
@@ -792,7 +822,6 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
         return ResponseResultUtil.success();
     }
 
-
     /**
      * @desc : 入库状态通用(目前本页面)
      * @date : 2024/3/9 8:59
@@ -819,7 +848,6 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
         return intoStatus;
     }
 
-
     /**
      * @desc : 获取单据信息(编辑用)
      * @date : 2024/3/16 16:28

+ 24 - 8
src/main/java/com/dk/mdm/service/ivt/inbound/InboundPurchaseService.java

@@ -100,7 +100,6 @@ public class InboundPurchaseService extends BaseService<Inbound> {
                 inboundMapper.countByCond(inboundQuery));
     }
 
-
     /**
      * @desc : 查询明细
      * @date : 2024/3/9 15:43
@@ -129,7 +128,7 @@ public class InboundPurchaseService extends BaseService<Inbound> {
         //region  查询当前公司的系统参数  自动办理信息  并赋值
         Map<String, Object> map = new HashMap<>();
         map.put("cpId", inboundVO.getCpId());
-        map.put("code", "IVT_001");
+        map.put("code", Constant.SystemConstant.IVT_001.getValue());
         //自动办理标识
         String flgHandleSetting = commonMapper.getSettingValue(map);
         //自动办理标识为1 自动办理入库
@@ -280,7 +279,7 @@ public class InboundPurchaseService extends BaseService<Inbound> {
         }
         //endregion
 
-        //region 库调用
+        //region 入账
         if (Constant.IntoStatus.YIRUKU.getName().equals(inboundVO.getIntoStatus())) {
             accountService.accPayable(inboundVO.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
         }
@@ -518,7 +517,7 @@ public class InboundPurchaseService extends BaseService<Inbound> {
                     //endregion
                 }
 
-                //region  账
+                //region  
                 if (inboundVO.getReceivableId() != null) {
                     accountService.accPayable(inboundVO.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
                 }
@@ -531,6 +530,9 @@ public class InboundPurchaseService extends BaseService<Inbound> {
                 inventoryService.operatingInventoryInformation(map);
                 //endregion
             }
+            else{
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_INTO.getMessage());
+            }
             //endregion
 
             //region 自动办理参数false  入库中编辑
@@ -680,6 +682,9 @@ public class InboundPurchaseService extends BaseService<Inbound> {
                 }
                 //endregion
             }
+            else{
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_INTO.getMessage());
+            }
             //endregion
 
         }
@@ -784,7 +789,7 @@ public class InboundPurchaseService extends BaseService<Inbound> {
 
             //endregion
 
-            //region  账
+            //region  
             if (inboundResponse.getReceivableId() != null) {
                 accountService.accPayable(inboundResponse.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
             }
@@ -796,6 +801,9 @@ public class InboundPurchaseService extends BaseService<Inbound> {
             inventoryService.operatingInventoryInformation(map);
             //endregion
         }
+        else{
+            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_INTO.getMessage());
+        }
         //endregion
 
         //region 自动办理参数false  入库中编辑
@@ -808,6 +816,7 @@ public class InboundPurchaseService extends BaseService<Inbound> {
                 inboundItem.setItemId(inboundItemResponse.getItemId());
                 inboundItem.setIntoingQty(BigDecimal.ZERO);
                 inboundItem.setIntoingAmt(BigDecimal.ZERO);
+                inboundItem.setFlgValid(false);
                 //修改
                 inboundItemMapper.update(inboundItem,
                         new UpdateWrapper<InboundItem>().lambda()
@@ -842,6 +851,7 @@ public class InboundPurchaseService extends BaseService<Inbound> {
             inbound.setIntoId(inboundResponse.getIntoId());
             inbound.setIntoingQty(BigDecimal.ZERO);
             inbound.setIntoAmt(BigDecimal.ZERO);
+            inbound.setFlgValid(false);
             //修改
             inboundMapper.update(inbound,
                     new UpdateWrapper<Inbound>().lambda().eq(Inbound::getIntoId, UUID.fromString(inbound.getIntoId()))
@@ -870,6 +880,9 @@ public class InboundPurchaseService extends BaseService<Inbound> {
 
             //endregion
         }
+        else{
+            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_INTO.getMessage());
+        }
         //endregion
 
         return ResponseResultUtil.success();
@@ -886,6 +899,11 @@ public class InboundPurchaseService extends BaseService<Inbound> {
         InboundResponse inboundResponse = inboundMapper.selectById(inboundVO.getIntoId());
         //endregion
 
+        //region 退账
+        if (inboundResponse.getReceivableId() != null) {
+            accountService.reversePayable(inboundResponse.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
+        }
+
         //region 编辑明细
         //校验明细
         if (inboundVO.getItemList().size() == 0) {
@@ -1088,7 +1106,7 @@ public class InboundPurchaseService extends BaseService<Inbound> {
         }
         //endregion
 
-        //region  账
+        //region  
         accountService.accPayable(inboundVO.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
         //endregion
 
@@ -1103,7 +1121,6 @@ public class InboundPurchaseService extends BaseService<Inbound> {
         return ResponseResultUtil.success(inboundVO);
     }
 
-
     /**
      * @desc : 采购入库撤销
      * @date : 2024/3/7 17:06
@@ -1229,7 +1246,6 @@ public class InboundPurchaseService extends BaseService<Inbound> {
         return ResponseResultUtil.success();
     }
 
-
     /**
      * @desc : 入库状态通用(目前本页面)
      * @date : 2024/3/9 8:59

+ 6 - 5
src/main/java/com/dk/mdm/service/ivt/inventory/InventoryService.java

@@ -188,7 +188,7 @@ public class InventoryService extends BaseService<Inventory> {
         //region  查询当前公司的系统参数  自动办理信息  并赋值
         Map<String, Object> map = new HashMap<>();
         map.put("cpId", inOutRecordVOList.get(0).getCpId());
-        map.put("code", "IVT_002");
+        map.put("code",Constant.SystemConstant.IVT_002.getValue());
         //负数标识1
         String flgHandleSetting = commonMapper.getSettingValue(map);
         //endregion
@@ -243,7 +243,7 @@ public class InventoryService extends BaseService<Inventory> {
     )
     public ResponseResultVO<?> operatingInventoryInformation(Map<String, Object> map) {
 
-        //region   返回的map
+        //region  todo 这里可能会用到 返回的map
         List<InOutRecordVO> intoReturnList = new ArrayList<>();
         List<InOutRecordVO> deleteIntoList = new ArrayList<>();
         List<InOutRecordVO> outReturnList = new ArrayList<>();
@@ -297,19 +297,19 @@ public class InventoryService extends BaseService<Inventory> {
         //入库删除
         if (map.get("delIntoDetail") != null) {
             delIntoDetail = (JSONArray) JSON.toJSON(map.get("delIntoDetail"));
-            JSONObject obj = (JSONObject) intoDetail.get(0);
+            JSONObject obj = (JSONObject) delIntoDetail.get(0);
             inventoryDocCode = obj.get("inventoryDocCode").toString();
         }
         //出库
         if (map.get("outDetail") != null) {
             outDetail = (JSONArray) JSON.toJSON(map.get("outDetail"));
-            JSONObject obj = (JSONObject) intoDetail.get(0);
+            JSONObject obj = (JSONObject) outDetail.get(0);
             inventoryDocCode = obj.get("inventoryDocCode").toString();
         }
         //出库删除
         if (map.get("delOutDetail") != null) {
             delOutDetail = (JSONArray) JSON.toJSON(map.get("delOutDetail"));
-            JSONObject obj = (JSONObject) intoDetail.get(0);
+            JSONObject obj = (JSONObject) delOutDetail.get(0);
             inventoryDocCode = obj.get("inventoryDocCode").toString();
         }
         //endregion
@@ -469,6 +469,7 @@ public class InventoryService extends BaseService<Inventory> {
 
         }
         //endregion
+
         return ResponseResultUtil.success();
     }
 

+ 16 - 10
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundOtherService.java

@@ -7,6 +7,7 @@ import com.dk.common.infrastructure.constant.Constant;
 import com.dk.common.infrastructure.enums.ErrorCodeEnum;
 import com.dk.common.mapper.BaseMapper;
 import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseCodeEnum;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.common.service.BaseService;
@@ -105,7 +106,6 @@ public class OutboundOtherService extends BaseService<Outbound> {
         return ResponseResultUtil.success(result);
     }
 
-
     /**
      * @desc : 其他出库新建
      * @date : 2024/3/7 14:13
@@ -116,7 +116,7 @@ public class OutboundOtherService extends BaseService<Outbound> {
         //region  查询当前公司的系统参数  自动办理信息  并赋值
         Map<String, Object> map = new HashMap<>();
         map.put("cpId", outboundVO.getCpId());
-        map.put("code", "IVT_001");
+        map.put("code", Constant.SystemConstant.IVT_001.getValue());
         //自动办理标识
         String flgHandleSetting = commonMapper.getSettingValue(map);
         //自动办理标识为1 自动办理出库
@@ -214,7 +214,6 @@ public class OutboundOtherService extends BaseService<Outbound> {
         return ResponseResultUtil.success(outboundVO);
     }
 
-
     /**
      * @desc : 其他出库编辑
      * @date : 2024/3/25 16:25
@@ -362,6 +361,9 @@ public class OutboundOtherService extends BaseService<Outbound> {
                 }
                 //endregion
             }
+            else{
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_OUT.getMessage());
+            }
             //endregion
 
             //region 自动办理参数false  出库中编辑
@@ -433,6 +435,9 @@ public class OutboundOtherService extends BaseService<Outbound> {
                 );
                 //endregion
             }
+            else{
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_OUT.getMessage());
+            }
             //endregion
         }
         //endregion
@@ -453,7 +458,6 @@ public class OutboundOtherService extends BaseService<Outbound> {
         List<OutboundItemResponse> outboundItemResponseList = outboundItemMapper.selectByCond(new OutboundItemQuery().setOutId(outboundResponse.getOutId()));
         //endregion
 
-
         //region  自动办理参数为true  已出库编辑
         //自动办理参数为true
         if (Constant.FlgHandleSetting.TRUE.getValue().equals(outboundResponse.getFlgHandleSetting())) {
@@ -495,6 +499,9 @@ public class OutboundOtherService extends BaseService<Outbound> {
             inventoryService.operatingInventoryInformation(map);
             //endregion
         }
+        else{
+            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_OUT.getMessage());
+        }
         //endregion
 
         //region 自动办理参数false  出库中编辑
@@ -507,6 +514,7 @@ public class OutboundOtherService extends BaseService<Outbound> {
                 outboundItem.setItemId(outboundItemResponse.getItemId());
                 outboundItem.setOutingQty(BigDecimal.ZERO);
                 outboundItem.setOutingAmt(BigDecimal.ZERO);
+                outboundItem.setFlgValid(false);
                 //修改
                 outboundItemMapper.update(outboundItem,
                         new UpdateWrapper<OutboundItem>().lambda()
@@ -520,18 +528,21 @@ public class OutboundOtherService extends BaseService<Outbound> {
             outbound.setOutId(outboundResponse.getOutId());
             outbound.setOutingQty(BigDecimal.ZERO);
             outbound.setOutingAmt(BigDecimal.ZERO);
+            outbound.setFlgValid(false);
             //修改
             outboundMapper.update(outbound,
                     new UpdateWrapper<Outbound>().lambda().eq(Outbound::getOutId, UUID.fromString(outbound.getOutId()))
             );
             //endregion
         }
+        else{
+            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_OUT.getMessage());
+        }
         //endregion
 
         return ResponseResultUtil.success();
     }
 
-
     /**
      * @desc : 其他出库办理
      * @date : 2024/3/7 15:47
@@ -657,7 +668,6 @@ public class OutboundOtherService extends BaseService<Outbound> {
         );
         //endregion
 
-
         //region 修改库存
         Map<String, Object> map = new HashMap<>();
         map.put("outDetail", outboundVO.getItemList());
@@ -668,7 +678,6 @@ public class OutboundOtherService extends BaseService<Outbound> {
         return ResponseResultUtil.success(outboundVO);
     }
 
-
     /**
      * @desc : 其他出库撤销
      * @date : 2024/3/7 17:06
@@ -738,7 +747,6 @@ public class OutboundOtherService extends BaseService<Outbound> {
         return ResponseResultUtil.success();
     }
 
-
     /**
      * @desc : 出库状态通用(目前本页面)
      * @date : 2024/3/9 8:59
@@ -765,7 +773,6 @@ public class OutboundOtherService extends BaseService<Outbound> {
         return outStatus;
     }
 
-
     /**
      * @desc : 获取单据信息(编辑用)
      * @date : 2024/3/16 16:28
@@ -787,7 +794,6 @@ public class OutboundOtherService extends BaseService<Outbound> {
         return ResponseResultUtil.success(dataInfo);
     }
 
-
     /**
      * @desc : 条件查询 --- web端入库办理用
      * @date : 2024/3/23 9:24

+ 36 - 24
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleOrderService.java

@@ -113,7 +113,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
         //region  查询当前公司的系统参数  自动办理信息  并赋值
         Map<String, Object> map = new HashMap<>();
         map.put("cpId", outboundVO.getCpId());
-        map.put("code", "IVT_00o1");
+        map.put("code", Constant.SystemConstant.IVT_001.getValue());
         //自动办理标识
         String flgHandleSetting = commonMapper.getSettingValue(map);
         //自动办理标识为1 自动办理入库
@@ -162,7 +162,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
         outCommon.insertMultiOwner(outboundVO);
         //endregion
 
-        //region 销售退货
+        //region 销售订单
         if (outboundVO.getFromId() != null) {
             //赋值  (这里重写了更新方法,数量在更新方法中有数据库院士数量+本次数量)
             Order order = new Order();
@@ -236,7 +236,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
             outboundItemMapper.insert(outboundItem);
             //endregion
 
-            //region 销售退货明细
+            //region 销售明细
             if (outboundItemVO.getFromItemId() != null) {
                 //赋值 (这里重写了更新方法,数量在更新方法中有数据库院士数量+本次数量)
                 OrderItem orderItem = new OrderItem();
@@ -247,13 +247,13 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                 if (Constant.OutStatus.YICHUKU.getName().equals(outboundVO.getOutStatus())) {
                     orderItem.setOutingQty(BigDecimal.ZERO);
                     orderItem.setOutingAmt(BigDecimal.ZERO);
-                    orderItem.setOutQty(outboundVO.getOutQty());
-                    orderItem.setOutAmt(outboundVO.getOutAmt());
+                    orderItem.setOutQty(outboundItemVO.getOutQty());
+                    orderItem.setOutAmt(outboundItemVO.getOutAmt());
                 }
                 //出库中
                 else {
-                    orderItem.setOutingQty(outboundVO.getOutingQty());
-                    orderItem.setOutingAmt(outboundVO.getOutingAmt());
+                    orderItem.setOutingQty(outboundItemVO.getOutingQty());
+                    orderItem.setOutingAmt(outboundItemVO.getOutingAmt());
                     orderItem.setOutQty(BigDecimal.ZERO);
                     orderItem.setOutAmt(BigDecimal.ZERO);
                 }
@@ -510,7 +510,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
 
                 //region  应收记账
                 if (outboundVO.getReceivableId() != null) {
-                    accountService.reverseReceivable(outboundVO.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
+                    accountService.accReceivable(outboundResponse.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
                 }
                 //endregion
 
@@ -521,6 +521,9 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                 inventoryService.operatingInventoryInformation(invMap);
                 //endregion
             }
+            else{
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_OUT.getMessage());
+            }
             //endregion
 
             //region 自动办理参数false  入库中编辑
@@ -596,7 +599,6 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                 }
                 //endregion
 
-
                 //region 删除明细
                 BigDecimal delOutQty = BigDecimal.ZERO;
                 BigDecimal delOutAmt = BigDecimal.ZERO;
@@ -668,6 +670,9 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                 }
                 //endregion
             }
+            else{
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_OUT.getMessage());
+            }
             //endregion
         }
         //endregion
@@ -771,18 +776,15 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
 
             //endregion
 
-            //region  应收反记账
-            if (outboundResponse.getReceivableId() != null) {
-                accountService.reverseReceivable(outboundResponse.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
-            }
-            //endregion
-
             //region  修改库存
             Map<String, Object> map = new HashMap<>();
             map.put("delOutDetail", outboundItemResponseList);
             inventoryService.operatingInventoryInformation(map);
             //endregion
         }
+        else{
+            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_OUT.getMessage());
+        }
         //endregion
 
         //region 自动办理参数false  入库中编辑
@@ -796,6 +798,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                 outboundItem.setItemId(outboundItemResponse.getItemId());
                 outboundItem.setOutingQty(BigDecimal.ZERO);
                 outboundItem.setOutingAmt(BigDecimal.ZERO);
+                outboundItem.setFlgValid(false);
                 //修改
                 outboundItemMapper.update(outboundItem,
                         new UpdateWrapper<OutboundItem>().lambda()
@@ -830,6 +833,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
             outbound.setOutId(outboundResponse.getOutId());
             outbound.setOutingQty(BigDecimal.ZERO);
             outbound.setOutingAmt(BigDecimal.ZERO);
+            outbound.setFlgValid(false);
             //修改
             outboundMapper.update(outbound,
                     new UpdateWrapper<Outbound>().lambda().eq(Outbound::getOutId, UUID.fromString(outbound.getOutId()))
@@ -857,9 +861,11 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
             }
             //endregion
         }
+        else{
+            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_OUT.getMessage());
+        }
         //endregion
 
-
         return ResponseResultUtil.success();
     }
 
@@ -875,6 +881,12 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
         OutboundResponse outboundResponse = outboundMapper.selectById(outboundVO.getOutId());
         //endregion
 
+        //region 应收反记账
+        if (outboundResponse.getReceivableId() != null) {
+            accountService.reverseReceivable(outboundResponse.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
+        }
+        //endregion
+
         //region 编辑明细
         //校验明细
         if (outboundVO.getItemList().size() == 0) {
@@ -1013,7 +1025,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                                     .eq(OutboundItem::getItemId, UUID.fromString(outboundItem.getItemId()))
                     );
                 }
-                //region  销售退货明细
+                //region  销售订单明细
                 if (outboundItemVO.getFromItemId() != null) {
                     //根据id查询
                     OrderItemResponse orderItemResponse = orderItemMapper.selectById(outboundItemVO.getFromItemId());
@@ -1059,7 +1071,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
         );
         //endregion
 
-        //region  修改销售退货订单
+        //region  修改销售订单订单
         if (outboundVO.getFromId() != null) {
             //根据id查询
             OrderResponse orderResponse = orderMapper.selectById(outboundVO.getFromId());
@@ -1159,7 +1171,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
         //根据总单id查明细
         List<OutboundItemResponse> outboundItemResponseList = outboundItemMapper.selectByCond(new OutboundItemQuery().setOutId(outboundResponse.getOutId()));
         for (OutboundItemResponse outboundItemResponse : outboundItemResponseList) {
-            //region 修改销售退货明细数据信息
+            //region 修改销售订单明细数据信息
             if (outboundItemResponse.getFromItemId() != null) {
                 //根据id查询
                 OrderItemResponse orderItemResponse = orderItemMapper.selectById(outboundItemResponse.getFromItemId());
@@ -1255,23 +1267,23 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
      */
     public String setOutStatus(BigDecimal intoingQty, BigDecimal intoQty, BigDecimal sumQty) {
         //入库状态
-        String intoStatus = null;
+        String outStatus = null;
         //入库中+已入库 小于 总数
         if (intoingQty.add(intoingQty).compareTo(sumQty) < 0) {
             //入库中
-            intoStatus = Constant.IntoStatus.RUKUZHONG.getName();
+            outStatus =Constant.OutStatus.CHUKUZHONG.getName();
         }
         //已入库数量=0 入库中数量=0
         else if (intoQty.compareTo(BigDecimal.ZERO) == 0 && intoingQty.compareTo(BigDecimal.ZERO) == 0) {
             //待入库
-            intoStatus = Constant.IntoStatus.DAIRUKU.getName();
+            outStatus =  Constant.OutStatus.DAICHUKU.getName();
         }
         //入库中+已入库 等于 总数
         else if (intoingQty.add(intoingQty).compareTo(sumQty) == 0) {
             //已入库
-            intoStatus = Constant.IntoStatus.YIRUKU.getName();
+            outStatus =  Constant.OutStatus.YICHUKU.getName();
         }
-        return intoStatus;
+        return outStatus;
     }
 
 

+ 176 - 163
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleReturnService.java

@@ -100,66 +100,68 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
      */
     @Transactional(rollbackFor = {Exception.class})
     public void updatePrimaryTotal(OutboundVO outboundVO, Boolean posNegFlag) {
-        //region 原入库单
-        Map<String, List<OutboundItemVO>> outboundItemVOListOutPri = outboundVO.getItemList().stream().collect(Collectors.groupingBy(OutboundItemVO::getSOutId));
-        for (String str : outboundItemVOListOutPri.keySet()) {
-            List<OutboundItemVO> outboundItemList = outboundItemVOListOutPri.get(str);
-            //region 汇总退货数量 金额
-            BigDecimal returnSumQty = outboundItemList.stream().map(OutboundItemVO::getOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
-            BigDecimal returnSumAmt = outboundItemList.stream().map(OutboundItemVO::getOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
-            BigDecimal returnIngSumQty = outboundItemList.stream().map(OutboundItemVO::getOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
-            BigDecimal returnIngSumAmt = outboundItemList.stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
-            //endregion
-            //查询原单
-            OutboundResponse outboundResponse = outboundMapper.selectById(str);
-            //校验数据
-            if (returnSumQty.add(returnIngSumQty).compareTo(outboundResponse.getOutQty()) > 0) {
-                throw new BaseBusinessException(ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getCode(),
-                        ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getMessage());
-            }
-            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));
+        if (outboundVO.getFromId() != null) {
+            //region 原入库单
+            Map<String, List<OutboundItemVO>> outboundItemVOListOutPri = outboundVO.getItemList().stream().collect(Collectors.groupingBy(OutboundItemVO::getSOutId));
+            for (String str : outboundItemVOListOutPri.keySet()) {
+                List<OutboundItemVO> outboundItemList = outboundItemVOListOutPri.get(str);
+                //region 汇总退货数量 金额
+                BigDecimal returnSumQty = outboundItemList.stream().map(OutboundItemVO::getOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
+                BigDecimal returnSumAmt = outboundItemList.stream().map(OutboundItemVO::getOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
+                BigDecimal returnIngSumQty = outboundItemList.stream().map(OutboundItemVO::getOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
+                BigDecimal returnIngSumAmt = outboundItemList.stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
+                //endregion
+                //查询原单
+                OutboundResponse outboundResponse = outboundMapper.selectById(str);
+                //校验数据
+                if (returnSumQty.add(returnIngSumQty).compareTo(outboundResponse.getOutQty()) > 0) {
+                    throw new BaseBusinessException(ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getCode(),
+                            ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getMessage());
+                }
+                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));
+                }
+                outboundMapper.updateReturnMessage(outboundPri);
             }
-            outboundMapper.updateReturnMessage(outboundPri);
-        }
-        //endregion
+            //endregion
 
-        //region 原销售订单
-        Map<String, List<OutboundItemVO>> outboundItemVOListOrderPri = outboundVO.getItemList().stream().collect(Collectors.groupingBy(OutboundItemVO::getSOrderId));
-        for (String str : outboundItemVOListOrderPri.keySet()) {
-            List<OutboundItemVO> outboundItemList = outboundItemVOListOrderPri.get(str);
-            //region 汇总退货数量 金额
-            BigDecimal returnSumQty = outboundItemList.stream().map(OutboundItemVO::getOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
-            BigDecimal returnSumAmt = outboundItemList.stream().map(OutboundItemVO::getOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
-            BigDecimal returnIngSumQty = outboundItemList.stream().map(OutboundItemVO::getOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
-            BigDecimal returnIngSumAmt = outboundItemList.stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
+            //region 原销售订单
+            Map<String, List<OutboundItemVO>> outboundItemVOListOrderPri = outboundVO.getItemList().stream().collect(Collectors.groupingBy(OutboundItemVO::getSOrderId));
+            for (String str : outboundItemVOListOrderPri.keySet()) {
+                List<OutboundItemVO> outboundItemList = outboundItemVOListOrderPri.get(str);
+                //region 汇总退货数量 金额
+                BigDecimal returnSumQty = outboundItemList.stream().map(OutboundItemVO::getOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
+                BigDecimal returnSumAmt = outboundItemList.stream().map(OutboundItemVO::getOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
+                BigDecimal returnIngSumQty = outboundItemList.stream().map(OutboundItemVO::getOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
+                BigDecimal returnIngSumAmt = outboundItemList.stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
 
-            //endregion
-            //查询原单
-            OrderResponse orderResponse = orderMapper.selectById(str);
-            //校验数据
-            if (returnSumQty.add(returnIngSumQty).compareTo(orderResponse.getOutQty()) > 0) {
-                throw new BaseBusinessException(ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getCode(),
-                        ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getMessage());
-            }
-            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));
+                //endregion
+                //查询原单
+                OrderResponse orderResponse = orderMapper.selectById(str);
+                //校验数据
+                if (returnSumQty.add(returnIngSumQty).compareTo(orderResponse.getOutQty()) > 0) {
+                    throw new BaseBusinessException(ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getCode(),
+                            ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getMessage());
+                }
+                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));
+                }
+                orderMapper.updateReturnMessage(orderPri);
             }
-            orderMapper.updateReturnMessage(orderPri);
+            //endregion
         }
-        //endregion
     }
 
     /**
@@ -172,54 +174,56 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
      */
     @Transactional(rollbackFor = {Exception.class})
     public void updatePrimaryDetail(OutboundItemVO outboundItemVO, Boolean posNegFlag, Boolean isOutEdit) {
-
-        //region  反写出库明细
-        if (outboundItemVO.getSOutItemId() != null) {
-            OutboundItemResponse outboundItemResponse = outboundItemMapper.selectById(outboundItemVO.getSOutItemId());
-            //region  校验可退数量
-            if (outboundItemResponse.getOutQty().compareTo(outboundItemVO.getOutQty()) < 0) {
-                throw new BaseBusinessException(ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getCode(),
-                        ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getMessage());
-            }
-            //endregion
-            //region  赋值修改
-            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());
-            } else {
-                outboundItemPri.setReturnQty(isOutEdit ? outboundItemVO.getOutQty() : outboundItemVO.getOutingQty());
-                outboundItemPri.setReturnAmt(isOutEdit ? outboundItemVO.getOutAmt() : outboundItemVO.getOutingAmt());
+        if (outboundItemVO.getFromItemId() != null) {
+
+            //region  反写出库明细
+            if (outboundItemVO.getSOutItemId() != null) {
+                OutboundItemResponse outboundItemResponse = outboundItemMapper.selectById(outboundItemVO.getSOutItemId());
+                //region  校验可退数量
+                if (outboundItemResponse.getOutQty().compareTo(outboundItemVO.getOutQty()) < 0) {
+                    throw new BaseBusinessException(ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getCode(),
+                            ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getMessage());
+                }
+                //endregion
+                //region  赋值修改
+                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());
+                } else {
+                    outboundItemPri.setReturnQty(isOutEdit ? outboundItemVO.getOutQty() : outboundItemVO.getOutingQty());
+                    outboundItemPri.setReturnAmt(isOutEdit ? outboundItemVO.getOutAmt() : outboundItemVO.getOutingAmt());
+                }
+                outboundItemMapper.updateReturnMessage(outboundItemPri);
+                //endregion
             }
-            outboundItemMapper.updateReturnMessage(outboundItemPri);
             //endregion
-        }
-        //endregion
 
-        //region  反写订单明细
-        if (outboundItemVO.getSOrderItemId() != null) {
-            OrderItemResponse orderItemResponse = orderItemMapper.selectById(outboundItemVO.getSOrderItemId());
-            //region  校验可退数量
-            if (orderItemResponse.getOutQty().compareTo(outboundItemVO.getOutQty()) < 0) {
-                throw new BaseBusinessException(ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getCode(),
-                        ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getMessage());
-            }
-            //endregion
-            //region  赋值修改
-            OrderItem orderItem = new OrderItem();
-            orderItem.setItemId(outboundItemVO.getSOutItemId());
-            if (posNegFlag) {
-                orderItem.setReturnQty(outboundItemVO.getOutingQty().negate());
-                orderItem.setReturnAmt(outboundItemVO.getOutingAmt().negate());
-            } else {
-                orderItem.setReturnQty(outboundItemVO.getOutingQty());
-                orderItem.setReturnAmt(outboundItemVO.getOutingAmt());
+            //region  反写订单明细
+            if (outboundItemVO.getSOrderItemId() != null) {
+                OrderItemResponse orderItemResponse = orderItemMapper.selectById(outboundItemVO.getSOrderItemId());
+                //region  校验可退数量
+                if (orderItemResponse.getOutQty().compareTo(outboundItemVO.getOutQty()) < 0) {
+                    throw new BaseBusinessException(ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getCode(),
+                            ErrorCodeEnum.OUTBOUND_ITEM_RETURN_QTY_ERROR.getMessage());
+                }
+                //endregion
+                //region  赋值修改
+                OrderItem orderItem = new OrderItem();
+                orderItem.setItemId(outboundItemVO.getSOutItemId());
+                if (posNegFlag) {
+                    orderItem.setReturnQty(outboundItemVO.getOutingQty().negate());
+                    orderItem.setReturnAmt(outboundItemVO.getOutingAmt().negate());
+                } else {
+                    orderItem.setReturnQty(outboundItemVO.getOutingQty());
+                    orderItem.setReturnAmt(outboundItemVO.getOutingAmt());
+                }
+                orderItemMapper.updateReturnMessage(orderItem);
+                //endregion
             }
-            orderItemMapper.updateReturnMessage(orderItem);
             //endregion
         }
-        //endregion
     }
 
     /**
@@ -229,55 +233,56 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
      */
     @Transactional(rollbackFor = {Exception.class})
     public void rollBackTotalAndDetail(List<OutboundItemVO> deleteItemList) {
-        //出库单
-        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).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);
+                }
             }
-        }
-        //订单
-        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);
+            //订单
+            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);
+                }
             }
         }
     }
 
-
     /**
      * @desc : 销售退货出库新建
      * @date : 2024/3/7 14:13
@@ -295,7 +300,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
         //region  查询当前公司的系统参数  自动办理信息  并赋值
         Map<String, Object> map = new HashMap<>();
         map.put("cpId", outboundVO.getCpId());
-        map.put("code", "IVT_001");
+        map.put("code", Constant.SystemConstant.IVT_001.getValue());
         //自动办理标识
         String flgHandleSetting = commonMapper.getSettingValue(map);
         //自动办理标识为1 自动办理出库
@@ -414,7 +419,6 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
         }
         //endregion
 
-
         return ResponseResultUtil.success(outboundVO);
     }
 
@@ -459,7 +463,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
             if (Constant.FlgHandleSetting.TRUE.getValue().equals(outboundVO.getFlgHandleSetting())) {
                 //region 退账
                 if (outboundVO.getReceivableId() != null) {
-                    accountService.reversePayable(outboundVO.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
+                    accountService.reverseReceivable(outboundVO.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
                 }
                 //endregion
 
@@ -539,7 +543,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                     //endregion
 
                     //region  反写出库明细 反写订单明细
-                    this.updatePrimaryDetail(outboundItemVO, true,true);
+                    this.updatePrimaryDetail(outboundItemVO, true, true);
                     //endregion
                 }
                 //endregion
@@ -584,9 +588,9 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                 this.updatePrimaryTotal(outboundVO, true);
                 //endregion
 
-                //region  账
+                //region  
                 if (outboundVO.getReceivableId() != null) {
-                    accountService.reversePayable(outboundVO.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
+                    accountService.accReceivable(outboundVO.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
                 }
                 //endregion
 
@@ -597,6 +601,9 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                 inventoryService.operatingInventoryInformation(invMap);
                 //endregion
             }
+            else{
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_OUT.getMessage());
+            }
             //endregion
 
             //region 自动办理参数false  出库中编辑
@@ -652,7 +659,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                     //endregion
 
                     //region  反写出库明细 反写订单明细
-                    this.updatePrimaryDetail(outboundItemVO, true,false);
+                    this.updatePrimaryDetail(outboundItemVO, true, false);
                     //endregion
                 }
                 //endregion
@@ -692,6 +699,9 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                 this.updatePrimaryTotal(outboundVO, true);
                 //endregion
             }
+            else{
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_OUT.getMessage());
+            }
             //endregion
         }
         //endregion
@@ -718,7 +728,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
         if (Constant.FlgHandleSetting.TRUE.getValue().equals(outboundResponse.getFlgHandleSetting())) {
             //region 退账
             if (outboundResponse.getReceivableId() != null) {
-                accountService.reversePayable(outboundResponse.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
+                accountService.reverseReceivable(outboundResponse.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
             }
             //endregion
 
@@ -759,17 +769,14 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
             );
             //endregion
 
-            //region  入账
-            if (outboundResponse.getReceivableId() != null) {
-                accountService.reversePayable(outboundResponse.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
-            }
-            //endregion
 
             //region  修改库存
             Map<String, Object> map = new HashMap<>();
             map.put("delOutDetail", outboundItemResponseList);
             inventoryService.operatingInventoryInformation(map);
             //endregion
+        } else {
+            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_OUT.getMessage());
         }
         //endregion
 
@@ -789,6 +796,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                 outboundItem.setItemId(outboundItemResponse.getItemId());
                 outboundItem.setOutingQty(BigDecimal.ZERO);
                 outboundItem.setOutingAmt(BigDecimal.ZERO);
+                outboundItem.setFlgValid(false);
                 //修改
                 outboundItemMapper.update(outboundItem,
                         new UpdateWrapper<OutboundItem>().lambda()
@@ -804,18 +812,20 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
             outbound.setOutId(outboundResponse.getOutId());
             outbound.setOutingQty(BigDecimal.ZERO);
             outbound.setOutingAmt(BigDecimal.ZERO);
+            outbound.setFlgValid(false);
             //修改
             outboundMapper.update(outbound,
                     new UpdateWrapper<Outbound>().lambda().eq(Outbound::getOutId, UUID.fromString(outbound.getOutId()))
             );
             //endregion
+        } else {
+            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_OUT.getMessage());
         }
         //endregion
 
         return ResponseResultUtil.success();
     }
 
-
     /**
      * @desc : 销售退货出库办理
      * @date : 2024/3/7 15:47
@@ -829,14 +839,20 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                     ErrorCodeEnum.OUTBOUND_ITEM_NOT_EXIST.getMessage());
         }
 
+        //region 退账
+        if (outboundVO.getReceivableId() != null) {
+            accountService.reverseReceivable(outboundVO.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
+        }
+        //endregion
+
         //region 查询出库总单数据信息
         OutboundResponse outboundResponse = outboundMapper.selectById(outboundVO.getOutId());
         //endregion
 
         //region  回滚原总单和明细信息(订单,出库单)
-        List<OutboundItemVO> outboundItemVOList  = new ArrayList<>();
+        List<OutboundItemVO> outboundItemVOList = new ArrayList<>();
         for (OutboundItemVO outboundItemVO : outboundVO.getItemList()) {
-            if(outboundItemVO.getItemId()!=null){
+            if (outboundItemVO.getItemId() != null) {
                 OutboundItemResponse outboundItemResponse = outboundItemMapper.selectById(outboundItemVO.getItemId());
                 OutboundItemVO outboundItemVO1 = outboundItemConvert.convertResToVO(outboundItemResponse);
                 outboundItemVOList.add(outboundItemVO1);
@@ -922,7 +938,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
             //endregion
 
             //region  反写出库明细 反写订单明细
-            this.updatePrimaryDetail(outboundItemVO, true,true);
+            this.updatePrimaryDetail(outboundItemVO, true, true);
             //endregion
         }
         //endregion
@@ -976,7 +992,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
         //endregion
 
         //region 入账
-        accountService.reversePayable(outboundResponse.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
+        accountService.accReceivable(outboundResponse.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
         //endregion
 
         //region   调用库存
@@ -989,7 +1005,6 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
         return ResponseResultUtil.success(outboundVO);
     }
 
-
     /**
      * @desc : 销售退货出库撤销
      * @date : 2024/3/7 17:06
@@ -1003,7 +1018,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
 
         //region    退账
         if (outboundResponse.getReceivableId() != null) {
-            accountService.reversePayable(outboundResponse.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
+            accountService.reverseReceivable(outboundResponse.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
         }
 
         //region 修改总单数据信息
@@ -1068,7 +1083,6 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
         return ResponseResultUtil.success();
     }
 
-
     /**
      * @desc : 入库状态通用(目前本页面)
      * @date : 2024/3/9 8:59
@@ -1095,7 +1109,6 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
         return intoStatus;
     }
 
-
     /**
      * @desc : 出库状态通用(目前本页面)
      * @date : 2024/3/9 8:59