zhangyuewww 2 år sedan
förälder
incheckning
9e3a7fcb3e

+ 1 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/exception/YExceptionEnum.java

@@ -61,6 +61,7 @@ public enum YExceptionEnum {
 	EXE_ERROR("ERROR", "错误"),
 	PHONE_NO_ERROR("ERROR", "手机号已存在,不可重复!"),
 	LOGIN_OUT_TIME("ERROR", "登录状态已失效,请重新登录!"),
+	RETURN_EXCEED_OUTBOUND_ERROR("ERROR", "退库量不可超出出库总量!"),
 	;
 	@Getter
 	private String value;

+ 14 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java

@@ -1010,8 +1010,13 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                     .eq("id",inOutWarehouseTask.getSourceId())
                                     .eq("task_status","执行中"));
                             if (inOutWarehouseTask1!=null){
-                                inOutWarehouseTask1.setCompletedQuantity(inOutWarehouseTask1.getCompletedQuantity()-warehouseInOutInfo.getNetWeight());
-                                inOutWarehouseTaskService.updateById(inOutWarehouseTask1);
+                                if(inOutWarehouseTask1.getCompletedQuantity()<warehouseInOutInfo.getNetWeight()){
+                                    throw new YException(YExceptionEnum.RETURN_EXCEED_OUTBOUND_ERROR);
+                                }
+                                else{
+                                    inOutWarehouseTask1.setCompletedQuantity(inOutWarehouseTask1.getCompletedQuantity()-warehouseInOutInfo.getNetWeight());
+                                    inOutWarehouseTaskService.updateById(inOutWarehouseTask1);
+                                }
                             }
                         }
                         //他运的销售合同
@@ -4335,8 +4340,13 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                     .eq("id",inOutWarehouseTask.getSourceId())
                                     .eq("task_status","执行中"));
                             if (inOutWarehouseTask1!=null){
-                                inOutWarehouseTask1.setCompletedQuantity(inOutWarehouseTask1.getCompletedQuantity()-warehouseInOutInfo.getNetWeight());
-                                inOutWarehouseTaskService.updateById(inOutWarehouseTask1);
+                                if(inOutWarehouseTask1.getCompletedQuantity()<warehouseInOutInfo.getNetWeight()){
+                                    throw new YException(YExceptionEnum.RETURN_EXCEED_OUTBOUND_ERROR);
+                                }
+                                else{
+                                    inOutWarehouseTask1.setCompletedQuantity(inOutWarehouseTask1.getCompletedQuantity()-warehouseInOutInfo.getNetWeight());
+                                    inOutWarehouseTaskService.updateById(inOutWarehouseTask1);
+                                }
                             }
                         }
                         warehouseInOutInfo.setReturnTickFlag("2");