zhangyuewww 3 anni fa
parent
commit
913063f4b3

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

@@ -35,6 +35,7 @@ public enum YExceptionEnum {
 	CARNO_SUBMITTED_ERROR("TRAN-001", "该车牌号已被提交过!"),
 	CONTRACT_NO_NOT_EXSITS_ERROR("ERROR", "合同编号不存在!"),
 	TASK_NO_NOT_EXSITS_ERROR("ERROR", "移库任务编号不存在!"),
+	TASK_WEIGHT_EXCEEDED_ERROR("ERROR-001", "超出任务重量无法操作成功!"),
 	;
 	@Getter
 	private String value;

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

@@ -241,6 +241,18 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                 warehouseInOutInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
                 warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
                 this.insert(warehouseInOutInfo);
+                //更新出入库任务表已完成量
+                InOutWarehouseTask inOutWarehouseTask=inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
+                .eq("inOut_task_no",warehouseInOutInfo.getInOutTaskNo()));
+                if (inOutWarehouseTask!=null){
+                    inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity()+warehouseInOutInfo.getPureWeight());
+                    if (inOutWarehouseTask.getCompletedQuantity()>inOutWarehouseTask.getWeight()){
+                        throw new YException(YExceptionEnum.TASK_WEIGHT_EXCEEDED_ERROR);
+                    }
+                    else {
+                        inOutWarehouseTaskService.updateById(inOutWarehouseTask);
+                    }
+                }
                 // 详情
                 warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
                 warehouseInOutDetail.setId(IdGenerator.generateUUID());
@@ -249,6 +261,18 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
             }
             // 编辑修改记录
             else {
+                //更新出入库任务表已完成量
+                InOutWarehouseTask inOutWarehouseTask=inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
+                        .eq("inOut_task_no",warehouseInOutInfo.getInOutTaskNo()));
+                if (inOutWarehouseTask!=null){
+                    inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity()+warehouseInOutInfo.getPureWeight());
+                    if (inOutWarehouseTask.getCompletedQuantity()>inOutWarehouseTask.getWeight()){
+                        throw new YException(YExceptionEnum.TASK_WEIGHT_EXCEEDED_ERROR);
+                    }
+                    else {
+                        inOutWarehouseTaskService.updateById(inOutWarehouseTask);
+                    }
+                }
                 warehouseInOutInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
                 warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
                 this.updateById(warehouseInOutInfo);