fix: 完善日计划参数校验与日志

This commit is contained in:
zhouz
2026-08-14 14:24:39 +08:00
parent 17d6840d32
commit c30357a83a
8 changed files with 28 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
package cn.code.nl.module.lms.controller.admin.dailyplan.vo;
import jakarta.validation.constraints.Positive;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -9,5 +10,6 @@ import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
public class DailyPlanAppendReqVO extends DailyPlanVersionReqVO {
@Positive(message = "追加数量必须为正整数")
@NotNull(message = "追加数量不能为空")
private Integer appendQty;
}

View File

@@ -16,6 +16,7 @@ public class DailyPlanCreateReqVO {
@Size(max = 64, message = "人工订单号长度不能超过64个字符")
private String manualOrderCode;
@NotNull(message = "物料标识不能为空")
@Positive(message = "物料标识必须为正整数")
private Long materialId;
@NotBlank(message = "物料编码不能为空")
private String materialCode;
@@ -24,10 +25,13 @@ public class DailyPlanCreateReqVO {
@Size(max = 128, message = "物料规格长度不能超过128个字符")
private String materialSpec;
@Positive(message = "计划数量必须为正整数")
@NotNull(message = "计划数量不能为空")
private Integer planQty;
private String packingInfo;
@Positive(message = "排序序号必须为正整数")
@NotNull(message = "排序序号不能为空")
private Integer sortSeq;
@Positive(message = "调度权重必须为正整数")
@NotNull(message = "调度权重不能为空")
private Integer weight;
}

View File

@@ -4,6 +4,7 @@ import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import jakarta.validation.constraints.PositiveOrZero;
import lombok.Data;
import java.util.List;
@@ -19,10 +20,13 @@ public class DailyPlanSortUpdateReqVO {
@Data
public static class Item {
@NotNull(message = "日计划标识不能为空")
@Positive(message = "日计划标识必须为正整数")
private Long id;
@NotNull(message = "版本号不能为空")
@PositiveOrZero(message = "版本号不能小于0")
private Integer version;
@Positive(message = "排序序号必须为正整数")
@NotNull(message = "排序序号不能为空")
private Integer sortSeq;
}
}

View File

@@ -1,15 +1,20 @@
package cn.code.nl.module.lms.controller.admin.dailyplan.vo;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import jakarta.validation.constraints.PositiveOrZero;
import lombok.Data;
/** 管理后台 - 日计划策略修改请求。 */
@Data
public class DailyPlanStrategyUpdateReqVO {
@NotNull(message = "策略类型不能为空")
@Positive(message = "策略类型必须为正整数")
private Integer strategyType;
@NotNull(message = "策略模式不能为空")
@Positive(message = "策略模式必须为正整数")
private Integer strategyMode;
@NotNull(message = "版本号不能为空")
@PositiveOrZero(message = "版本号不能小于0")
private Integer version;
}

View File

@@ -1,6 +1,8 @@
package cn.code.nl.module.lms.controller.admin.dailyplan.vo;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import jakarta.validation.constraints.PositiveOrZero;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -9,7 +11,9 @@ import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
public class DailyPlanUpdateReqVO extends DailyPlanCreateReqVO {
@NotNull(message = "日计划标识不能为空")
@Positive(message = "日计划标识必须为正整数")
private Long dailyPlanId;
@NotNull(message = "版本号不能为空")
@PositiveOrZero(message = "版本号不能小于0")
private Integer version;
}

View File

@@ -1,13 +1,17 @@
package cn.code.nl.module.lms.controller.admin.dailyplan.vo;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import jakarta.validation.constraints.PositiveOrZero;
import lombok.Data;
/** 管理后台 - 日计划版本请求。 */
@Data
public class DailyPlanVersionReqVO {
@NotNull(message = "日计划标识不能为空")
@Positive(message = "日计划标识必须为正整数")
private Long id;
@NotNull(message = "版本号不能为空")
@PositiveOrZero(message = "版本号不能小于0")
private Integer version;
}

View File

@@ -1,6 +1,7 @@
package cn.code.nl.module.lms.controller.admin.dailyplan.vo;
import jakarta.validation.constraints.Positive;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -9,5 +10,6 @@ import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
public class DailyPlanWeightUpdateReqVO extends DailyPlanVersionReqVO {
@Positive(message = "调度权重必须为正整数")
@NotNull(message = "调度权重不能为空")
private Integer weight;
}

View File

@@ -13,6 +13,7 @@ import cn.code.nl.module.lms.dal.mysql.dailyplan.DailyPlanMapper;
import cn.code.nl.module.lms.dal.mysql.dailyplan.DailyPlanOperationLogMapper;
import cn.code.nl.module.lms.dal.mysql.dailyplan.DailyPlanStrategyMapper;
import cn.code.nl.module.lms.enums.*;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
@@ -147,7 +148,7 @@ public class DailyPlanServiceImpl implements DailyPlanService {
plan.setDailyPlanId(IdWorker.getId());
plan.setPlanCode(codeResult.getData());
plan.setSourceType(DailyPlanSourceTypeEnum.MANUAL.getCode());
plan.setManualOrderCode(reqVO.getManualOrderCode() == null ? codeResult.getData() : reqVO.getManualOrderCode());
plan.setManualOrderCode(StrUtil.isEmpty(reqVO.getManualOrderCode()) ? codeResult.getData() : reqVO.getManualOrderCode());
setEditableFields(plan, reqVO);
plan.setCreator(userId);
plan.setUpdater(userId);
@@ -185,7 +186,7 @@ public class DailyPlanServiceImpl implements DailyPlanService {
update.setAppendQty(current.getAppendQty() + reqVO.getAppendQty());
checkAffected(dailyPlanMapper.updateStateWithVersion(update));
insertLog(current.getDailyPlanId(), TARGET_ORDER, TYPE_START, String.valueOf(current.getOrderStatus()),
String.valueOf(update.getOrderStatus()), null, null);
String.valueOf(update.getOrderStatus()), reqVO.getAppendQty(), null);
}
/** 追加进行中订单的数量。 */