koushanshan 2 лет назад
Родитель
Сommit
4a80c9e8c7

+ 97 - 42
src/main/java/com/dk/mdm/service/ivt/InboundPurchaseService.java

@@ -1,10 +1,12 @@
 package com.dk.mdm.service.ivt;
 
+import com.dk.common.exception.BaseBusinessException;
 import com.dk.common.infrastructure.annotaiton.Pagination;
 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;
@@ -125,18 +127,21 @@ public class InboundPurchaseService extends BaseService<Inbound> {
 
 		//region 采购总单
 		if(inboundVO.getFromId()!=null){
-			PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundVO.getFromId());
 			Purchase purchaseUpdate = new Purchase();
 			purchaseUpdate.setPurId(inboundVO.getFromId());
-			purchaseUpdate.setIntoingQty(purchaseResponse.getIntoingQty().subtract(inboundVO.getIntoingQty()));
-			purchaseUpdate.setIntoingAmt(purchaseResponse.getIntoingAmt().subtract(inboundVO.getIntoingAmt()));
-			purchaseUpdate.setIntoAmt(purchaseResponse.getIntoQty().add(inboundVO.getIntoAmt()));
-			purchaseUpdate.setIntoQty(purchaseResponse.getIntoAmt().add(inboundVO.getIntoQty()));
+			purchaseUpdate.setIntoingQty(inboundVO.getIntoingQty().negate());
+			purchaseUpdate.setIntoingAmt(inboundVO.getIntoingAmt().negate());
+			purchaseUpdate.setIntoAmt(inboundVO.getIntoAmt());
+			purchaseUpdate.setIntoQty(inboundVO.getIntoQty());
 			//入库状态
 			String intoStatus = this.setIntoStatus(purchaseUpdate.getIntoingQty(), purchaseUpdate.getIntoQty());
 			purchaseUpdate.setIntoStatus(intoStatus);
 			//修改
-			purchaseMapper.updateById(purchaseUpdate);
+			int countRow = purchaseMapper.updateById(purchaseUpdate);
+			//数量超出
+			if (countRow == 0) {
+				throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+			}
 		}
 		//endregion
 
@@ -180,17 +185,25 @@ public class InboundPurchaseService extends BaseService<Inbound> {
 			//region 采购明细
 			if(inboundItemVO.getFromItemId()!=null){
 				//根据id查询
-				PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getFromItemId());
+//				PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getFromItemId());
 				PurchaseItem  purchaseItem = new PurchaseItem();
 				purchaseItem.setItemId(inboundItemVO.getFromItemId());
-				purchaseItem.setIntoingQty(purchaseItemResponse.getIntoingQty().add(inboundItemVO.getIntoingQty()));
-				purchaseItem.setIntoingAmt(purchaseItemResponse.getIntoingAmt().add(inboundItemVO.getIntoingAmt()));
-				purchaseItem.setIntoQty(purchaseItemResponse.getIntoQty().add(inboundItemVO.getIntoQty()));
-				purchaseItem.setIntoAmt(purchaseItemResponse.getIntoAmt().add(inboundItemVO.getIntoAmt()));
+//				purchaseItem.setIntoingQty(purchaseItemResponse.getIntoingQty().add(inboundItemVO.getIntoingQty()));
+//				purchaseItem.setIntoingAmt(purchaseItemResponse.getIntoingAmt().add(inboundItemVO.getIntoingAmt()));
+//				purchaseItem.setIntoQty(purchaseItemResponse.getIntoQty().add(inboundItemVO.getIntoQty()));
+//				purchaseItem.setIntoAmt(purchaseItemResponse.getIntoAmt().add(inboundItemVO.getIntoAmt()));
+				purchaseItem.setIntoingQty(inboundItemVO.getIntoingQty());
+				purchaseItem.setIntoingAmt(inboundItemVO.getIntoingAmt());
+				purchaseItem.setIntoQty(inboundItemVO.getIntoQty());
+				purchaseItem.setIntoAmt(inboundItemVO.getIntoAmt());
 				//入库状态
 				String intoStatus = this.setIntoStatus(purchaseItem.getIntoingQty(), purchaseItem.getIntoQty());
 				purchaseItem.setIntoStatus(intoStatus);
-				purchaseItemMapper.updateById(purchaseItem);
+				int countRow = purchaseItemMapper.updateById(purchaseItem);
+				//数量超出
+				if (countRow == 0) {
+					throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+				}
 			}
 			//endregion
 		}
@@ -264,17 +277,25 @@ public class InboundPurchaseService extends BaseService<Inbound> {
 				//region  采购
 				//采购明细
 				if(inboundItemVO.getFromItemId()!=null){
-					PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getFromItemId());
+//					PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getFromItemId());
 					PurchaseItem  purchaseItem = new PurchaseItem();
-					purchaseItem.setItemId(purchaseItemResponse.getItemId());
-					purchaseItem.setIntoingQty(purchaseItemResponse.getIntoingQty().add(inboundItemVO.getIntoingQty()));
-					purchaseItem.setIntoingAmt(purchaseItemResponse.getIntoingAmt().add(inboundItemVO.getIntoingAmt()));
-					purchaseItem.setIntoQty(purchaseItemResponse.getIntoQty().add(inboundItemVO.getIntoQty()));
-					purchaseItem.setIntoAmt(purchaseItemResponse.getIntoAmt().add(inboundItemVO.getIntoAmt()));
+					purchaseItem.setItemId(inboundItemVO.getFromItemId());
+//					purchaseItem.setIntoingQty(purchaseItemResponse.getIntoingQty().add(inboundItemVO.getIntoingQty()));
+//					purchaseItem.setIntoingAmt(purchaseItemResponse.getIntoingAmt().add(inboundItemVO.getIntoingAmt()));
+//					purchaseItem.setIntoQty(purchaseItemResponse.getIntoQty().add(inboundItemVO.getIntoQty()));
+//					purchaseItem.setIntoAmt(purchaseItemResponse.getIntoAmt().add(inboundItemVO.getIntoAmt()));
+					purchaseItem.setIntoingQty(inboundItemVO.getIntoingQty());
+					purchaseItem.setIntoingAmt(inboundItemVO.getIntoingAmt());
+					purchaseItem.setIntoQty(inboundItemVO.getIntoQty());
+					purchaseItem.setIntoAmt(inboundItemVO.getIntoAmt());
 					//入库状态
 					String intoStatus = this.setIntoStatus(purchaseItem.getIntoingQty(), purchaseItem.getIntoQty());
 					purchaseItem.setIntoStatus(intoStatus);
-					purchaseItemMapper.updateById(purchaseItem);
+					int countRow = purchaseItemMapper.updateById(purchaseItem);
+					//数量超出
+					if (countRow == 0) {
+						throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+					}
 				}
 				//endregion
 			}
@@ -299,17 +320,25 @@ public class InboundPurchaseService extends BaseService<Inbound> {
 					//region  采购
 					if(inboundItemVO.getFromItemId()!=null){
 						//region 采购订单明细
-						PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getFromItemId());
+//						PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getFromItemId());
 						PurchaseItem  purchaseItem = new PurchaseItem();
-							purchaseItem.setItemId(purchaseItemResponse.getItemId());
-							purchaseItem.setIntoingQty(purchaseItemResponse.getIntoingQty().subtract(inboundItemVO.getIntoingQty()));
-							purchaseItem.setIntoingAmt(purchaseItemResponse.getIntoingAmt().subtract(inboundItemVO.getIntoingAmt()));
-							purchaseItem.setIntoQty(purchaseItemResponse.getIntoQty().subtract(inboundItemVO.getIntoQty()));
-							purchaseItem.setIntoAmt(purchaseItemResponse.getIntoAmt().subtract(inboundItemVO.getIntoAmt()));
+							purchaseItem.setItemId(inboundItemVO.getFromItemId());
+//							purchaseItem.setIntoingQty(purchaseItemResponse.getIntoingQty().subtract(inboundItemVO.getIntoingQty()));
+//							purchaseItem.setIntoingAmt(purchaseItemResponse.getIntoingAmt().subtract(inboundItemVO.getIntoingAmt()));
+//							purchaseItem.setIntoQty(purchaseItemResponse.getIntoQty().subtract(inboundItemVO.getIntoQty()));
+//							purchaseItem.setIntoAmt(purchaseItemResponse.getIntoAmt().subtract(inboundItemVO.getIntoAmt()));
+							purchaseItem.setIntoingQty(inboundItemVO.getIntoingQty().negate());
+							purchaseItem.setIntoingAmt(inboundItemVO.getIntoingAmt().negate());
+							purchaseItem.setIntoQty(inboundItemVO.getIntoQty().negate());
+							purchaseItem.setIntoAmt(inboundItemVO.getIntoAmt().negate());
 							//入库状态
 							String intoStatus = this.setIntoStatus(purchaseItem.getIntoingQty(), purchaseItem.getIntoQty());
 							purchaseItem.setIntoStatus(intoStatus);
-							purchaseItemMapper.updateById(purchaseItem);
+							int countRow = purchaseItemMapper.updateById(purchaseItem);
+							//数量超出
+							if (countRow == 0) {
+								throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+							}
 						//endregion
 					}
 					//endregion
@@ -346,15 +375,23 @@ public class InboundPurchaseService extends BaseService<Inbound> {
 				PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundVO.getFromId());
 				Purchase  purchase = new Purchase();
 				purchase.setPurId(purchaseResponse.getPurId());
-				purchase.setIntoQty(purchaseResponse.getIntoQty().add(sumIntoQty).subtract(sumDelIntoQty));
-				purchase.setIntoAmt(purchaseResponse.getIntoAmt().add(sumIntoAmt).subtract(sumDelIntoAmt));
-				purchase.setIntoingQty(purchaseResponse.getIntoingQty().subtract(sumIntoingQty).subtract(sumDelIntoingQty));
-				purchase.setIntoingAmt(purchaseResponse.getIntoingAmt().subtract(sumIntoingAmt).subtract(sumDelIntoingAmt));
+//				purchase.setIntoQty(purchaseResponse.getIntoQty().add(sumIntoQty).subtract(sumDelIntoQty));
+//				purchase.setIntoAmt(purchaseResponse.getIntoAmt().add(sumIntoAmt).subtract(sumDelIntoAmt));
+//				purchase.setIntoingQty(purchaseResponse.getIntoingQty().subtract(sumIntoingQty).subtract(sumDelIntoingQty));
+//				purchase.setIntoingAmt(purchaseResponse.getIntoingAmt().subtract(sumIntoingAmt).subtract(sumDelIntoingAmt));
+				purchase.setIntoQty(sumIntoQty.subtract(sumDelIntoQty));
+				purchase.setIntoAmt(sumIntoAmt.subtract(sumDelIntoAmt));
+				purchase.setIntoingQty((sumIntoingQty.add(sumDelIntoingQty)).negate());
+				purchase.setIntoingAmt((sumIntoingAmt.add(sumDelIntoingAmt)).negate());
 				//入库状态
 				String intoStatus = this.setIntoStatus(purchase.getIntoingQty(), purchase.getIntoQty());
 				purchase.setIntoStatus(intoStatus);
 				//修改
-				purchaseMapper.updateById(purchase);
+				int countRow = purchaseMapper.updateById(purchase);
+				//数量超出
+				if (countRow == 0) {
+					throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+				}
 			}
 			//endregion
 
@@ -380,17 +417,25 @@ public class InboundPurchaseService extends BaseService<Inbound> {
 
 		//region 修改订单数据信息
 		if (inboundVO.getFromId() != null) {
-			PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundResponse.getFromId());
+//			PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundResponse.getFromId());
 			Purchase purchase = new Purchase();
 			purchase.setPurId(inboundResponse.getFromId());
-			purchase.setIntoQty(purchaseResponse.getIntoQty().subtract(inboundResponse.getIntoQty()));
-			purchase.setIntoAmt(purchaseResponse.getIntoAmt().subtract(inboundResponse.getIntoAmt()));
-			purchase.setIntoingQty(purchaseResponse.getIntoingQty().add(inboundResponse.getIntoQty()));
-			purchase.setIntoingAmt(purchaseResponse.getIntoingAmt().add(inboundResponse.getIntoAmt()));
+//			purchase.setIntoQty(purchaseResponse.getIntoQty().subtract(inboundResponse.getIntoQty()));
+//			purchase.setIntoAmt(purchaseResponse.getIntoAmt().subtract(inboundResponse.getIntoAmt()));
+//			purchase.setIntoingQty(purchaseResponse.getIntoingQty().add(inboundResponse.getIntoQty()));
+//			purchase.setIntoingAmt(purchaseResponse.getIntoingAmt().add(inboundResponse.getIntoAmt()));
+			purchase.setIntoQty(inboundResponse.getIntoQty().negate());
+			purchase.setIntoAmt(inboundResponse.getIntoAmt().negate());
+			purchase.setIntoingQty(inboundResponse.getIntoQty());
+			purchase.setIntoingAmt(inboundResponse.getIntoAmt());
 			//入库状态
 			String intoStatus = this.setIntoStatus(purchase.getIntoingQty(), purchase.getIntoQty());
 			purchase.setIntoStatus(intoStatus);
-			purchaseMapper.updateById(purchase);
+			int countRow =  purchaseMapper.updateById(purchase);
+			//数量超出
+			if (countRow == 0) {
+				throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+			}
 		}
 		//endregion
 
@@ -415,14 +460,24 @@ public class InboundPurchaseService extends BaseService<Inbound> {
 				//查询
 				PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemResponse.getFromItemId());
 				PurchaseItem  purchaseItem = new PurchaseItem();
-				purchaseItem.setItemId(purchaseItemResponse.getItemId());
-				purchaseItem.setIntoQty(purchaseItemResponse.getIntoQty().subtract(inboundItemResponse.getIntoQty()));
-				purchaseItem.setIntoAmt(purchaseItemResponse.getIntoAmt().subtract(inboundItemResponse.getIntoAmt()));
-				purchaseItem.setIntoingQty(purchaseItemResponse.getIntoingQty().add(inboundItemResponse.getIntoQty()));
-				purchaseItem.setIntoingAmt(purchaseItemResponse.getIntoingAmt().add(inboundItemResponse.getIntoAmt()));
+				purchaseItem.setItemId(inboundItemResponse.getFromItemId());
+//				purchaseItem.setIntoQty(purchaseItemResponse.getIntoQty().subtract(inboundItemResponse.getIntoQty()));
+//				purchaseItem.setIntoAmt(purchaseItemResponse.getIntoAmt().subtract(inboundItemResponse.getIntoAmt()));
+//				purchaseItem.setIntoingQty(purchaseItemResponse.getIntoingQty().add(inboundItemResponse.getIntoQty()));
+//				purchaseItem.setIntoingAmt(purchaseItemResponse.getIntoingAmt().add(inboundItemResponse.getIntoAmt()));
+				purchaseItem.setIntoQty(inboundItemResponse.getIntoQty().negate());
+				purchaseItem.setIntoAmt(inboundItemResponse.getIntoAmt().negate());
+				purchaseItem.setIntoingQty(inboundItemResponse.getIntoQty());
+				purchaseItem.setIntoingAmt(inboundItemResponse.getIntoAmt());
 				//入库状态
 				String intoStatus= this.setIntoStatus(purchaseItem.getIntoingQty(), purchaseItem.getIntoQty());
 				purchaseItem.setIntoStatus(intoStatus);
+				//修改
+				int countRow = purchaseItemMapper.updateById(purchaseItem);
+				//数量超出
+				if (countRow == 0) {
+					throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+				}
 			}
 			//endregion
 

+ 102 - 49
src/main/java/com/dk/mdm/service/ivt/InboundSaleReturnService.java

@@ -1,10 +1,12 @@
 package com.dk.mdm.service.ivt;
 
+import com.dk.common.exception.BaseBusinessException;
 import com.dk.common.infrastructure.annotaiton.Pagination;
 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;
@@ -76,16 +78,9 @@ public class InboundSaleReturnService extends BaseService<Inbound> {
     private IntoReturnMapper intoReturnMapper;
 
     @Autowired
-    private IntoReturnConvert intoReturnConvert;
-
-    @Autowired
     private IntoReturnItemMapper intoReturnItemMapper;
 
     @Autowired
-    private IntoReturnItemConvert intoReturnItemConvert;
-
-
-    @Autowired
     private CommonService commonService;
 
 
@@ -144,17 +139,25 @@ public class InboundSaleReturnService extends BaseService<Inbound> {
         //region 销售退货
         if (inboundVO.getFromId() != null) {
             IntoReturn intoReturn = new IntoReturn();
-            IntoReturnResponse intoReturnResponse = intoReturnMapper.selectById(inboundVO.getFromId());
+//            IntoReturnResponse intoReturnResponse = intoReturnMapper.selectById(inboundVO.getFromId());
             intoReturn.setReturnId(inboundVO.getFromId());
-            intoReturn.setOutingQty(intoReturnResponse.getOutingQty().subtract(inboundVO.getIntoingQty()));
-            intoReturn.setOutingAmt(intoReturnResponse.getOutingAmt().subtract(inboundVO.getIntoingAmt()));
-            intoReturn.setOutQty(intoReturnResponse.getOutQty().add(inboundVO.getIntoAmt()));
-            intoReturn.setOutAmt(intoReturnResponse.getOutAmt().add(inboundVO.getIntoQty()));
+//            intoReturn.setOutingQty(intoReturnResponse.getOutingQty().subtract(inboundVO.getIntoingQty()));
+//            intoReturn.setOutingAmt(intoReturnResponse.getOutingAmt().subtract(inboundVO.getIntoingAmt()));
+//            intoReturn.setOutQty(intoReturnResponse.getOutQty().add(inboundVO.getIntoAmt()));
+//            intoReturn.setOutAmt(intoReturnResponse.getOutAmt().add(inboundVO.getIntoQty()));
+            intoReturn.setOutingQty(inboundVO.getIntoingQty().negate());
+            intoReturn.setOutingAmt(inboundVO.getIntoingAmt().negate());
+            intoReturn.setOutQty(inboundVO.getIntoAmt());
+            intoReturn.setOutAmt(inboundVO.getIntoQty());
             //出库状态
             String outStatus = this.setOutStatus(intoReturn.getOutingQty(), intoReturn.getOutQty());
             intoReturn.setOutStatus(outStatus);
             //修改
-            intoReturnMapper.updateById(intoReturn);
+            int countRow = intoReturnMapper.updateById(intoReturn);
+            //数量超出
+            if (countRow == 0) {
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+            }
         }
         //endregion
 
@@ -198,18 +201,26 @@ public class InboundSaleReturnService extends BaseService<Inbound> {
 
             //region 销售退货明细
             if (inboundItemVO.getFromItemId() != null) {
-                IntoReturnItemResponse intoReturnItemResponse = intoReturnItemMapper.selectById(inboundItemVO.getFromItemId());
+//                IntoReturnItemResponse intoReturnItemResponse = intoReturnItemMapper.selectById(inboundItemVO.getFromItemId());
                 IntoReturnItem intoReturnItem = new IntoReturnItem();
                 intoReturnItem.setItemId(inboundItemVO.getFromItemId());
-                intoReturnItem.setOutQty(intoReturnItemResponse.getOutQty().add(inboundItemVO.getIntoQty()));
-                intoReturnItem.setOutAmt(intoReturnItemResponse.getOutAmt().add(inboundItemVO.getIntoAmt()));
-                intoReturnItem.setOutingQty(intoReturnItemResponse.getOutingQty().add(inboundItemVO.getIntoingQty()));
-                intoReturnItem.setOutingAmt(intoReturnItemResponse.getOutingAmt().add(inboundItemVO.getIntoingAmt()));
+//                intoReturnItem.setOutQty(intoReturnItemResponse.getOutQty().add(inboundItemVO.getIntoQty()));
+//                intoReturnItem.setOutAmt(intoReturnItemResponse.getOutAmt().add(inboundItemVO.getIntoAmt()));
+//                intoReturnItem.setOutingQty(intoReturnItemResponse.getOutingQty().add(inboundItemVO.getIntoingQty()));
+//                intoReturnItem.setOutingAmt(intoReturnItemResponse.getOutingAmt().add(inboundItemVO.getIntoingAmt()));
+                intoReturnItem.setOutQty(inboundItemVO.getIntoQty());
+                intoReturnItem.setOutAmt(inboundItemVO.getIntoAmt());
+                intoReturnItem.setOutingQty(inboundItemVO.getIntoingQty());
+                intoReturnItem.setOutingAmt(inboundItemVO.getIntoingAmt());
                 //出库状态
                 String outStatus = this.setOutStatus(intoReturnItem.getOutingQty(), intoReturnItem.getOutQty());
                 intoReturnItem.setOutStatus(outStatus);
                 //修改
-                intoReturnItemMapper.updateById(intoReturnItem);
+                int countRow = intoReturnItemMapper.updateById(intoReturnItem);
+                //数量超出
+                if (countRow == 0) {
+                    throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+                }
             }
             //endregion
 
@@ -281,18 +292,26 @@ public class InboundSaleReturnService extends BaseService<Inbound> {
 
                 //region  销售退货明细
                 if (inboundItemVO.getFromItemId() != null) {
-                    IntoReturnItemResponse intoReturnItemResponse = intoReturnItemMapper.selectById(inboundItemVO.getFromItemId());
+//                    IntoReturnItemResponse intoReturnItemResponse = intoReturnItemMapper.selectById(inboundItemVO.getFromItemId());
                     IntoReturnItem intoReturnItem = new IntoReturnItem();
                     intoReturnItem.setItemId(inboundItemVO.getFromItemId());
-                    intoReturnItem.setOutQty(intoReturnItemResponse.getOutQty().add(inboundItemVO.getIntoQty()));
-                    intoReturnItem.setOutAmt(intoReturnItemResponse.getOutAmt().add(inboundItemVO.getIntoAmt()));
-                    intoReturnItem.setOutingQty(intoReturnItemResponse.getOutingQty().add(inboundItemVO.getIntoingQty()));
-                    intoReturnItem.setOutingAmt(intoReturnItemResponse.getOutingAmt().add(inboundItemVO.getIntoingAmt()));
+//                    intoReturnItem.setOutQty(intoReturnItemResponse.getOutQty().add(inboundItemVO.getIntoQty()));
+//                    intoReturnItem.setOutAmt(intoReturnItemResponse.getOutAmt().add(inboundItemVO.getIntoAmt()));
+//                    intoReturnItem.setOutingQty(intoReturnItemResponse.getOutingQty().add(inboundItemVO.getIntoingQty()));
+//                    intoReturnItem.setOutingAmt(intoReturnItemResponse.getOutingAmt().add(inboundItemVO.getIntoingAmt()));
+                    intoReturnItem.setOutQty(inboundItemVO.getIntoQty());
+                    intoReturnItem.setOutAmt(inboundItemVO.getIntoAmt());
+                    intoReturnItem.setOutingQty(inboundItemVO.getIntoingQty());
+                    intoReturnItem.setOutingAmt(inboundItemVO.getIntoingAmt());
                     //出库状态
                     String outStatus = this.setOutStatus(intoReturnItem.getOutingQty(), intoReturnItem.getOutQty());
                     intoReturnItem.setOutStatus(outStatus);
                     //修改
-                    intoReturnItemMapper.updateById(intoReturnItem);
+                    int countRow = intoReturnItemMapper.updateById(intoReturnItem);
+                    //数量超出
+                    if (countRow == 0) {
+                        throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+                    }
                 }
                 //endregion
             }
@@ -317,18 +336,26 @@ public class InboundSaleReturnService extends BaseService<Inbound> {
                     //region  销售退货明细
                     if (inboundItemVO.getFromItemId() != null) {
                         //region 销售退货订单明细
-                        IntoReturnItemResponse intoReturnItemResponse = intoReturnItemMapper.selectById(inboundItemVO.getFromItemId());
+//                        IntoReturnItemResponse intoReturnItemResponse = intoReturnItemMapper.selectById(inboundItemVO.getFromItemId());
                         IntoReturnItem intoReturnItem = new IntoReturnItem();
                         intoReturnItem.setItemId(inboundItemVO.getFromItemId());
-                        intoReturnItem.setOutQty(intoReturnItemResponse.getOutQty().subtract(inboundItemVO.getIntoQty()));
-                        intoReturnItem.setOutAmt(intoReturnItemResponse.getOutAmt().subtract(inboundItemVO.getIntoAmt()));
-                        intoReturnItem.setOutingQty(intoReturnItemResponse.getOutingQty().subtract(inboundItemVO.getIntoingQty()));
-                        intoReturnItem.setOutingAmt(intoReturnItemResponse.getOutingAmt().subtract(inboundItemVO.getIntoingAmt()));
+//                        intoReturnItem.setOutQty(intoReturnItemResponse.getOutQty().subtract(inboundItemVO.getIntoQty()));
+//                        intoReturnItem.setOutAmt(intoReturnItemResponse.getOutAmt().subtract(inboundItemVO.getIntoAmt()));
+//                        intoReturnItem.setOutingQty(intoReturnItemResponse.getOutingQty().subtract(inboundItemVO.getIntoingQty()));
+//                        intoReturnItem.setOutingAmt(intoReturnItemResponse.getOutingAmt().subtract(inboundItemVO.getIntoingAmt()));
+                        intoReturnItem.setOutQty(inboundItemVO.getIntoQty().negate());
+                        intoReturnItem.setOutAmt(inboundItemVO.getIntoAmt().negate());
+                        intoReturnItem.setOutingQty(inboundItemVO.getIntoingQty().negate());
+                        intoReturnItem.setOutingAmt(inboundItemVO.getIntoingAmt().negate());
                         //出库状态
                         String outStatus = this.setOutStatus(intoReturnItem.getOutingQty(), intoReturnItem.getOutQty());
                         intoReturnItem.setOutStatus(outStatus);
                         //修改
-                        intoReturnItemMapper.updateById(intoReturnItem);
+                        int countRow = intoReturnItemMapper.updateById(intoReturnItem);
+                        //数量超出
+                        if (countRow == 0) {
+                            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+                        }
                         //endregion
                     }
                     //endregion
@@ -362,18 +389,28 @@ public class InboundSaleReturnService extends BaseService<Inbound> {
 
             //region  修改销售退货订单
             if (inboundVO.getFromId() != null) {
-                IntoReturnResponse intoReturnResponse = intoReturnMapper.selectById(inboundVO.getFromId());
+                //查询
+//                IntoReturnResponse intoReturnResponse = intoReturnMapper.selectById(inboundVO.getFromId());
                 IntoReturn intoReturn = new IntoReturn();
                 intoReturn.setReturnId(inboundVO.getFromId());
-                intoReturn.setOutQty(intoReturnResponse.getOutQty().add(sumOutQty).subtract(sumDelOutQty));
-                intoReturn.setOutAmt(intoReturnResponse.getOutAmt().add(sumOutAmt).subtract(sumDelOutAmt));
-                intoReturn.setOutingQty(intoReturnResponse.getOutingQty().subtract(sumOutQty).subtract(sumDelOutingQty));
-                intoReturn.setOutingAmt(intoReturnResponse.getOutingAmt().subtract(sumOutAmt).subtract(sumDelOutingAmt));
+//                intoReturn.setOutQty(intoReturnResponse.getOutQty().add(sumOutQty).subtract(sumDelOutQty));
+//                intoReturn.setOutAmt(intoReturnResponse.getOutAmt().add(sumOutAmt).subtract(sumDelOutAmt));
+//                intoReturn.setOutingQty(intoReturnResponse.getOutingQty().subtract(sumOutQty).subtract(sumDelOutingQty));
+//                intoReturn.setOutingAmt(intoReturnResponse.getOutingAmt().subtract(sumOutAmt).subtract(sumDelOutingAmt));
+                intoReturn.setOutQty(sumOutQty.subtract(sumDelOutQty));
+                intoReturn.setOutAmt(sumOutAmt.subtract(sumDelOutAmt));
+                intoReturn.setOutingQty((sumOutQty.add(sumDelOutingQty)).negate());
+                intoReturn.setOutingAmt((sumOutAmt.add(sumDelOutingAmt)).negate());
                 //入库状态
                 String outStatus = this.setOutStatus(intoReturn.getOutingQty(), intoReturn.getOutQty());
                 intoReturn.setOutStatus(outStatus);
                 //修改
-                intoReturnMapper.updateById(intoReturn);
+                int countRow = intoReturnMapper.updateById(intoReturn);
+                //数量超出
+                if (countRow == 0) {
+                    throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+                }
+
             }
             //endregion
 
@@ -400,19 +437,27 @@ public class InboundSaleReturnService extends BaseService<Inbound> {
         //region 修改订单数据信息
         if (inboundVO.getFromId() != null) {
             //查询
-            IntoReturnResponse intoReturnResponse = intoReturnMapper.selectById(inboundVO.getFromId());
+//            IntoReturnResponse intoReturnResponse = intoReturnMapper.selectById(inboundVO.getFromId());
             //赋值
             IntoReturn intoReturn = new IntoReturn();
             intoReturn.setReturnId(inboundVO.getFromId());
-            intoReturn.setOutQty(intoReturnResponse.getOutQty().add(inboundResponse.getIntoQty()));
-            intoReturn.setOutAmt(intoReturnResponse.getOutAmt().add(inboundResponse.getIntoAmt()));
-            intoReturn.setOutingQty(intoReturnResponse.getOutingQty().subtract(inboundResponse.getIntoQty()));
-            intoReturn.setOutingAmt(intoReturnResponse.getOutingAmt().subtract(inboundResponse.getIntoAmt()));
+//            intoReturn.setOutQty(intoReturnResponse.getOutQty().add(inboundResponse.getIntoQty()));
+//            intoReturn.setOutAmt(intoReturnResponse.getOutAmt().add(inboundResponse.getIntoAmt()));
+//            intoReturn.setOutingQty(intoReturnResponse.getOutingQty().subtract(inboundResponse.getIntoQty()));
+//            intoReturn.setOutingAmt(intoReturnResponse.getOutingAmt().subtract(inboundResponse.getIntoAmt()));
+            intoReturn.setOutQty(inboundResponse.getIntoQty());
+            intoReturn.setOutAmt(inboundResponse.getIntoAmt());
+            intoReturn.setOutingQty(inboundResponse.getIntoQty().negate());
+            intoReturn.setOutingAmt(inboundResponse.getIntoAmt().negate());
             //出库状态
             String outStatus = this.setOutStatus(intoReturn.getOutingQty(), intoReturn.getOutQty());
             intoReturn.setOutStatus(outStatus);
             //修改
-            intoReturnMapper.updateById(intoReturn);
+            int countRow = intoReturnMapper.updateById(intoReturn);
+            //数量超出
+            if (countRow == 0) {
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+            }
         }
         //endregion
 
@@ -433,18 +478,26 @@ public class InboundSaleReturnService extends BaseService<Inbound> {
             //region 修改销售退货明细数据信息
             if (inboundItemResponse.getFromItemId() != null) {
                 //查询
-                IntoReturnItemResponse intoReturnItemResponse = intoReturnItemMapper.selectById(inboundItemResponse.getFromItemId());
+//                IntoReturnItemResponse intoReturnItemResponse = intoReturnItemMapper.selectById(inboundItemResponse.getFromItemId());
                 IntoReturnItem intoReturnItem = new IntoReturnItem();
                 intoReturnItem.setItemId(inboundItemResponse.getFromItemId());
-                intoReturnItem.setOutQty(intoReturnItemResponse.getOutQty().subtract(inboundItemResponse.getIntoQty()));
-                intoReturnItem.setOutAmt(intoReturnItemResponse.getOutAmt().subtract(inboundItemResponse.getIntoAmt()));
-                intoReturnItem.setOutingQty(intoReturnItemResponse.getOutingQty().add(inboundItemResponse.getIntoQty()));
-                intoReturnItem.setOutingAmt(intoReturnItemResponse.getOutingAmt().add(inboundItemResponse.getIntoAmt()));
+//                intoReturnItem.setOutQty(intoReturnItemResponse.getOutQty().subtract(inboundItemResponse.getIntoQty()));
+//                intoReturnItem.setOutAmt(intoReturnItemResponse.getOutAmt().subtract(inboundItemResponse.getIntoAmt()));
+//                intoReturnItem.setOutingQty(intoReturnItemResponse.getOutingQty().add(inboundItemResponse.getIntoQty()));
+//                intoReturnItem.setOutingAmt(intoReturnItemResponse.getOutingAmt().add(inboundItemResponse.getIntoAmt()));
+                intoReturnItem.setOutQty(inboundItemResponse.getIntoQty().negate());
+                intoReturnItem.setOutAmt(inboundItemResponse.getIntoAmt().negate());
+                intoReturnItem.setOutingQty(inboundItemResponse.getIntoQty());
+                intoReturnItem.setOutingAmt(inboundItemResponse.getIntoAmt());
                 //出库状态
                 String outStatus = this.setOutStatus(intoReturnItem.getOutingQty(), intoReturnItem.getOutQty());
                 intoReturnItem.setOutStatus(outStatus);
                 //修改
-                intoReturnItemMapper.updateById(intoReturnItem);
+                int countRow = intoReturnItemMapper.updateById(intoReturnItem);
+                //数量超出
+                if (countRow == 0) {
+                    throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
+                }
             }
             //endregion