mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
板材、余料字段检验
This commit is contained in:
+1
-1
@@ -24,7 +24,7 @@ public class ErrorCodeConstants {
|
|||||||
|
|
||||||
// ========== 生产单 TODO 补充编号 ==========
|
// ========== 生产单 TODO 补充编号 ==========
|
||||||
public static final ErrorCode ORDER_NOT_EXISTS = new ErrorCode(1_001_109_000, "生产单不存在");
|
public static final ErrorCode ORDER_NOT_EXISTS = new ErrorCode(1_001_109_000, "生产单不存在");
|
||||||
public static final ErrorCode ORDER_NOT_CANCEL = new ErrorCode(1_001_109_000, "生产单已生产,无法作废");
|
public static final ErrorCode ORDER_NOT_CANCEL = new ErrorCode(1_001_109_000, "生产单以进入生产状态,无法作废");
|
||||||
public static final ErrorCode ORDER_PLAN_ERROR = new ErrorCode(1_001_109_001, "选中删除对象有已开料板件,请联系管理员修改开料状态后再删除!");
|
public static final ErrorCode ORDER_PLAN_ERROR = new ErrorCode(1_001_109_001, "选中删除对象有已开料板件,请联系管理员修改开料状态后再删除!");
|
||||||
public static final ErrorCode ORDER_ERROR = new ErrorCode(1_001_109_002, "当前生产单柜体,房间已全部删除!");
|
public static final ErrorCode ORDER_ERROR = new ErrorCode(1_001_109_002, "当前生产单柜体,房间已全部删除!");
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1000,7 +1000,7 @@ public class ApiTypeRealize {
|
|||||||
Map<String, String> map = new HashMap<>();
|
Map<String, String> map = new HashMap<>();
|
||||||
for (int i = 1; i < 6; i++) {
|
for (int i = 1; i < 6; i++) {
|
||||||
if (block.getString("Remark" + i) != null && !block.getString("Remark" + i).isEmpty()) {
|
if (block.getString("Remark" + i) != null && !block.getString("Remark" + i).isEmpty()) {
|
||||||
map.put("remark" + i, block.getString("remark" + i));
|
map.put("Remark" + i, block.getString("Remark" + i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return map;
|
return map;
|
||||||
|
|||||||
+8
-8
@@ -244,12 +244,12 @@
|
|||||||
bdy.room_id,
|
bdy.room_id,
|
||||||
bdy.room_name
|
bdy.room_name
|
||||||
from order_plate op
|
from order_plate op
|
||||||
left join order_goods ogs on op.goods_id = ogs.id
|
left join order_goods ogs on op.organ_id = ogs.organ_id and op.order_id = ogs.order_id and op.goods_id = ogs.id
|
||||||
left join order_item its on op.id = its.plate_id
|
left join order_item its on op.organ_id = its.organ_id and op.order_id = its.order_id and op.id = its.plate_id
|
||||||
left join order_body bdy on bdy.id = its.body_id
|
left join order_body bdy on its.organ_id = bdy.organ_id and its.order_id = bdy.order_id and its.body_id = bdy.id
|
||||||
where op.order_id = #{orderId}
|
where op.organ_id = #{organId}
|
||||||
and op.organ_id = #{organId}
|
|
||||||
and op.deleted = #{deleted}
|
and op.deleted = #{deleted}
|
||||||
|
and op.order_id = #{orderId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectPlateGoodsListSummary" resultType="com.cf.imes.module.executor.controller.admin.plate.vo.PlateGoodsRespVO">
|
<select id="selectPlateGoodsListSummary" resultType="com.cf.imes.module.executor.controller.admin.plate.vo.PlateGoodsRespVO">
|
||||||
@@ -271,9 +271,9 @@
|
|||||||
bdy.room_id,
|
bdy.room_id,
|
||||||
bdy.room_name
|
bdy.room_name
|
||||||
from order_plate op
|
from order_plate op
|
||||||
left join order_goods ogs on op.goods_id = ogs.id
|
left join order_goods ogs on op.organ_id = ogs.organ_id and op.order_id = ogs.order_id and op.goods_id = ogs.id
|
||||||
left join order_item its on op.id = its.plate_id
|
left join order_item its on op.organ_id = its.organ_id and op.order_id = its.order_id and op.id = its.plate_id
|
||||||
left join order_body bdy on bdy.id = its.body_id
|
left join order_body bdy on its.organ_id = bdy.organ_id and its.order_id = bdy.order_id and its.body_id = bdy.id
|
||||||
where op.order_id = #{orderId}
|
where op.order_id = #{orderId}
|
||||||
and op.organ_id = #{organId}
|
and op.organ_id = #{organId}
|
||||||
and op.deleted = #{deleted}
|
and op.deleted = #{deleted}
|
||||||
|
|||||||
+15
@@ -1,10 +1,15 @@
|
|||||||
package com.cf.imes.module.manage.controller.admin.plate.vo.plate;
|
package com.cf.imes.module.manage.controller.admin.plate.vo.plate;
|
||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.cf.imes.module.manage.validation.length.ValidLength;
|
||||||
|
import com.cf.imes.module.manage.validation.texture.ValidBoolean;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
import org.hibernate.validator.constraints.Length;
|
||||||
|
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import javax.validation.constraints.Size;
|
||||||
|
|
||||||
@Schema(description = "管理后台 - 板材信息表 plate_{N}新增/修改 Request VO")
|
@Schema(description = "管理后台 - 板材信息表 plate_{N}新增/修改 Request VO")
|
||||||
@Data
|
@Data
|
||||||
@@ -15,42 +20,52 @@ public class PlateSaveReqVO {
|
|||||||
|
|
||||||
@Schema(description = "客户的商品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@Schema(description = "客户的商品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||||
@NotEmpty(message = "客户的商品编号不能为空")
|
@NotEmpty(message = "客户的商品编号不能为空")
|
||||||
|
@Size(max = 30, message = "客户的商品编号长度不能超过32个字符")
|
||||||
private String goodsId;
|
private String goodsId;
|
||||||
|
|
||||||
@Schema(description = "商品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
|
@Schema(description = "商品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
|
||||||
@NotEmpty(message = "商品名称不能为空")
|
@NotEmpty(message = "商品名称不能为空")
|
||||||
|
@Size(max = 64, message = "商品名称长度不能超过64个字符")
|
||||||
private String goodsName;
|
private String goodsName;
|
||||||
|
|
||||||
@Schema(description = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotEmpty(message = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板不能为空")
|
@NotEmpty(message = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板不能为空")
|
||||||
|
@Size(max = 64, message = "商品材料长度不能超过64个字符")
|
||||||
private String material;
|
private String material;
|
||||||
|
|
||||||
@Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotEmpty(message = "颜色不能为空")
|
@NotEmpty(message = "颜色不能为空")
|
||||||
|
@Size(max = 32, message = "商品颜色长度不能超过32个字符")
|
||||||
private String color;
|
private String color;
|
||||||
|
|
||||||
@Schema(description = "纹理", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "纹理", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
@ValidBoolean
|
||||||
private Boolean texture;
|
private Boolean texture;
|
||||||
|
|
||||||
@Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "宽度不能为空")
|
@NotNull(message = "宽度不能为空")
|
||||||
|
@ValidLength()
|
||||||
private Double width;
|
private Double width;
|
||||||
|
|
||||||
@Schema(description = "高度", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "高度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "高度不能为空")
|
@NotNull(message = "高度不能为空")
|
||||||
|
@ValidLength()
|
||||||
private Double height;
|
private Double height;
|
||||||
|
|
||||||
@Schema(description = "厚度", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "厚度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "厚度不能为空")
|
@NotNull(message = "厚度不能为空")
|
||||||
|
@ValidLength()
|
||||||
private Double thickness;
|
private Double thickness;
|
||||||
|
|
||||||
// @Schema(description = "价格", example = "3380")
|
// @Schema(description = "价格", example = "3380")
|
||||||
// private Double price;
|
// private Double price;
|
||||||
|
|
||||||
@Schema(description = "品牌")
|
@Schema(description = "品牌")
|
||||||
|
@Size(max = 64, message = "商品品牌长度不能超过64个字符")
|
||||||
private String brand;
|
private String brand;
|
||||||
|
|
||||||
@Schema(description = "规格")
|
@Schema(description = "规格")
|
||||||
|
@Size(max = 64, message = "商品规格长度不能超过64个字符")
|
||||||
private String spec;
|
private String spec;
|
||||||
|
|
||||||
@Schema(description = "备注", example = "随便")
|
@Schema(description = "备注", example = "随便")
|
||||||
|
|||||||
+16
-1
@@ -1,10 +1,15 @@
|
|||||||
package com.cf.imes.module.manage.controller.admin.plate.vo.remain;
|
package com.cf.imes.module.manage.controller.admin.plate.vo.remain;
|
||||||
|
|
||||||
|
import com.cf.imes.module.manage.validation.common.ValidCommonStatus;
|
||||||
|
import com.cf.imes.module.manage.validation.length.ValidLength;
|
||||||
|
import com.cf.imes.module.manage.validation.placeStyle.ValidPlaceStyle;
|
||||||
|
import com.cf.imes.module.manage.validation.type.ValidTypeField;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import com.cf.imes.framework.common.pojo.PageParam;
|
import com.cf.imes.framework.common.pojo.PageParam;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import javax.validation.constraints.Size;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@@ -29,28 +34,34 @@ public class RemainPlatePageReqVO extends PageParam {
|
|||||||
private Long initPlanId;
|
private Long initPlanId;
|
||||||
|
|
||||||
@Schema(description = "余料板状态,0未使用,1使用中", example = "0")
|
@Schema(description = "余料板状态,0未使用,1使用中", example = "0")
|
||||||
|
@ValidCommonStatus
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
@Schema(description = "是否为开料添加,0否,1是", example = "0")
|
@Schema(description = "是否为开料添加,0否,1是", example = "0")
|
||||||
private Boolean isCutting;
|
private Boolean isCutting;
|
||||||
|
|
||||||
@Schema(description = "使用类型,0核销,1排单,2补板", example = "0")
|
@Schema(description = "使用类型,0核销,1排单,2补板", example = "0")
|
||||||
|
@ValidTypeField
|
||||||
private Integer useType;
|
private Integer useType;
|
||||||
|
|
||||||
@Schema(description = "商品 ID", example = "7425")
|
@Schema(description = "商品 ID", example = "7425")
|
||||||
|
@Size(max = 32, message = "商品ID长度不能超过32个字符")
|
||||||
private String goodsId;
|
private String goodsId;
|
||||||
|
|
||||||
@Schema(description = "商品名", example = "晨丰")
|
@Schema(description = "商品名", example = "晨丰")
|
||||||
|
@Size(max = 255, message = "商品名长度不能超过255个字符")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Schema(description = "材料")
|
@Schema(description = "材料")
|
||||||
|
@Size(max = 50, message = "材料长度不能超过50个字符")
|
||||||
private String material;
|
private String material;
|
||||||
|
|
||||||
@Schema(description = "颜色")
|
@Schema(description = "颜色")
|
||||||
|
@Size(max = 50, message = "颜色长度不能超过50个字符")
|
||||||
private String color;
|
private String color;
|
||||||
|
|
||||||
@Schema(description = "纹理")
|
@Schema(description = "纹理")
|
||||||
private String texture;
|
private Boolean texture;
|
||||||
|
|
||||||
@Schema(description = "宽度")
|
@Schema(description = "宽度")
|
||||||
private BigDecimal[] width;
|
private BigDecimal[] width;
|
||||||
@@ -62,18 +73,22 @@ public class RemainPlatePageReqVO extends PageParam {
|
|||||||
private BigDecimal thickness;
|
private BigDecimal thickness;
|
||||||
|
|
||||||
@Schema(description = "品牌")
|
@Schema(description = "品牌")
|
||||||
|
@Size(max = 50, message = "品牌长度不能超过50个字符")
|
||||||
private String brand;
|
private String brand;
|
||||||
|
|
||||||
@Schema(description = "放置样式,0正面,1正面右转,2正面后转,3正面左转,4反面,5反面右转,6反面后转,7反面左转")
|
@Schema(description = "放置样式,0正面,1正面右转,2正面后转,3正面左转,4反面,5反面右转,6反面后转,7反面左转")
|
||||||
|
@ValidPlaceStyle
|
||||||
private Integer placeStyle;
|
private Integer placeStyle;
|
||||||
|
|
||||||
@Schema(description = "仓库名")
|
@Schema(description = "仓库名")
|
||||||
|
@Size(max = 64, message = "品牌长度不能超过64个字符")
|
||||||
private String store;
|
private String store;
|
||||||
|
|
||||||
@Schema(description = "数量", example = "18318")
|
@Schema(description = "数量", example = "18318")
|
||||||
private Integer count;
|
private Integer count;
|
||||||
|
|
||||||
@Schema(description = "备注", example = "随便")
|
@Schema(description = "备注", example = "随便")
|
||||||
|
@Size(max = 255, message = "品牌长度不能超过255个字符")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
@Schema(description = "轮廊数据,Json 串")
|
@Schema(description = "轮廊数据,Json 串")
|
||||||
|
|||||||
+20
-4
@@ -1,10 +1,14 @@
|
|||||||
package com.cf.imes.module.manage.controller.admin.plate.vo.remain;
|
package com.cf.imes.module.manage.controller.admin.plate.vo.remain;
|
||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.cf.imes.module.manage.validation.common.ValidCommonStatus;
|
||||||
|
import com.cf.imes.module.manage.validation.length.ValidLength;
|
||||||
|
import com.cf.imes.module.manage.validation.placeStyle.ValidPlaceStyle;
|
||||||
|
import com.cf.imes.module.manage.validation.type.ValidTypeField;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import javax.validation.constraints.Size;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
@Schema(description = "管理后台 - 生产单余料板表 order_remain_plate_{N}新增/修改 Request VO")
|
@Schema(description = "管理后台 - 生产单余料板表 order_remain_plate_{N}新增/修改 Request VO")
|
||||||
@@ -23,7 +27,8 @@ public class RemainPlateSaveReqVO {
|
|||||||
@Schema(description = "初始排单 ID")
|
@Schema(description = "初始排单 ID")
|
||||||
private Long initPlanId;
|
private Long initPlanId;
|
||||||
|
|
||||||
@Schema(description = "余料板状态,0未使用,1使用中,2已使用", example = "1")
|
@Schema(description = "余料板状态,0未使用,1已使用", example = "1")
|
||||||
|
@ValidCommonStatus
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
@Schema(description = "是否为开料添加,0否,1是", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@Schema(description = "是否为开料添加,0否,1是", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||||
@@ -31,45 +36,55 @@ public class RemainPlateSaveReqVO {
|
|||||||
private Boolean isCutting;
|
private Boolean isCutting;
|
||||||
|
|
||||||
@Schema(description = "使用类型,0核销,1排单,2补板", example = "0")
|
@Schema(description = "使用类型,0核销,1排单,2补板", example = "0")
|
||||||
|
@ValidTypeField
|
||||||
private Integer useType;
|
private Integer useType;
|
||||||
|
|
||||||
@Schema(description = "商品 ID", example = "7425")
|
@Schema(description = "商品 ID", example = "7425")
|
||||||
|
@Size(max = 32, message = "商品ID长度不能超过32个字符")
|
||||||
private String goodsId;
|
private String goodsId;
|
||||||
|
|
||||||
@Schema(description = "商品名", example = "晨丰")
|
@Schema(description = "商品名", example = "晨丰")
|
||||||
|
@Size(max = 255, message = "商品名长度不能超过255个字符")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Schema(description = "材料", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "材料", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotEmpty(message = "材料不能为空")
|
@NotEmpty(message = "材料不能为空")
|
||||||
|
@Size(max = 50, message = "材料长度不能超过50个字符")
|
||||||
private String material;
|
private String material;
|
||||||
|
|
||||||
@Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotEmpty(message = "颜色不能为空")
|
@NotEmpty(message = "颜色不能为空")
|
||||||
|
@Size(max = 50, message = "颜色长度不能超过50个字符")
|
||||||
private String color;
|
private String color;
|
||||||
|
|
||||||
@Schema(description = "纹理 有 无", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "纹理 有 无", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotEmpty(message = "纹理不能为空")
|
private Boolean texture;
|
||||||
private String texture;
|
|
||||||
|
|
||||||
@Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "宽度不能为空")
|
@NotNull(message = "宽度不能为空")
|
||||||
|
@ValidLength
|
||||||
private BigDecimal width;
|
private BigDecimal width;
|
||||||
|
|
||||||
@Schema(description = "长度", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "长度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "长度不能为空")
|
@NotNull(message = "长度不能为空")
|
||||||
|
@ValidLength
|
||||||
private BigDecimal length;
|
private BigDecimal length;
|
||||||
|
|
||||||
@Schema(description = "厚度", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "厚度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "厚度不能为空")
|
@NotNull(message = "厚度不能为空")
|
||||||
|
@ValidLength
|
||||||
private BigDecimal thickness;
|
private BigDecimal thickness;
|
||||||
|
|
||||||
@Schema(description = "品牌")
|
@Schema(description = "品牌")
|
||||||
|
@Size(max = 50, message = "品牌长度不能超过50个字符")
|
||||||
private String brand;
|
private String brand;
|
||||||
|
|
||||||
@Schema(description = "放置样式,0正面,1正面右转,2正面后转,3正面左转,4反面,5反面右转,6反面后转,7反面左转")
|
@Schema(description = "放置样式,0正面,1正面右转,2正面后转,3正面左转,4反面,5反面右转,6反面后转,7反面左转")
|
||||||
|
@ValidPlaceStyle
|
||||||
private Integer placeStyle;
|
private Integer placeStyle;
|
||||||
|
|
||||||
@Schema(description = "仓库名")
|
@Schema(description = "仓库名")
|
||||||
|
@Size(max = 64, message = "品牌长度不能超过64个字符")
|
||||||
private String store;
|
private String store;
|
||||||
|
|
||||||
@Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "18318")
|
@Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "18318")
|
||||||
@@ -77,6 +92,7 @@ public class RemainPlateSaveReqVO {
|
|||||||
private Integer count;
|
private Integer count;
|
||||||
|
|
||||||
@Schema(description = "备注", example = "随便")
|
@Schema(description = "备注", example = "随便")
|
||||||
|
@Size(max = 255, message = "品牌长度不能超过255个字符")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
@Schema(description = "轮廊数据,Json 串", requiredMode = Schema.RequiredMode.REQUIRED, example = "18318")
|
@Schema(description = "轮廊数据,Json 串", requiredMode = Schema.RequiredMode.REQUIRED, example = "18318")
|
||||||
|
|||||||
+4
@@ -1,5 +1,7 @@
|
|||||||
package com.cf.imes.module.manage.controller.admin.plate.vo.remain;
|
package com.cf.imes.module.manage.controller.admin.plate.vo.remain;
|
||||||
|
|
||||||
|
import com.cf.imes.module.manage.validation.common.ValidCommonStatus;
|
||||||
|
import com.cf.imes.module.manage.validation.type.ValidTypeField;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@@ -13,9 +15,11 @@ public class RemainPlateUptReqVO {
|
|||||||
private Set<Long> ids;
|
private Set<Long> ids;
|
||||||
|
|
||||||
@Schema(description = "余料板状态,0未使用,1使用中", example = "1")
|
@Schema(description = "余料板状态,0未使用,1使用中", example = "1")
|
||||||
|
@ValidCommonStatus
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
@Schema(description = "使用类型,1核销,2排单,3补板", example = "0")
|
@Schema(description = "使用类型,1核销,2排单,3补板", example = "0")
|
||||||
|
@ValidTypeField
|
||||||
private Integer useType;
|
private Integer useType;
|
||||||
|
|
||||||
@Schema(description = "排单 ID", example = "6628")
|
@Schema(description = "排单 ID", example = "6628")
|
||||||
|
|||||||
+15
@@ -0,0 +1,15 @@
|
|||||||
|
package com.cf.imes.module.manage.validation.common;
|
||||||
|
|
||||||
|
import javax.validation.ConstraintValidator;
|
||||||
|
import javax.validation.ConstraintValidatorContext;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态校验
|
||||||
|
*/
|
||||||
|
public class CommonStatusValidator implements ConstraintValidator<ValidCommonStatus, Integer> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isValid(Integer value, ConstraintValidatorContext context) {
|
||||||
|
return value != null && (value == 0 || value == 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
package com.cf.imes.module.manage.validation.common;
|
||||||
|
|
||||||
|
import javax.validation.Constraint;
|
||||||
|
import javax.validation.Payload;
|
||||||
|
import java.lang.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态校验注解
|
||||||
|
*/
|
||||||
|
@Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD})
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Constraint(validatedBy = CommonStatusValidator.class)
|
||||||
|
@Documented
|
||||||
|
public @interface ValidCommonStatus {
|
||||||
|
String message() default "状态值必须为 0:未使用、1:已使用 ";
|
||||||
|
|
||||||
|
Class<?>[] groups() default {};
|
||||||
|
|
||||||
|
Class<? extends Payload>[] payload() default {};
|
||||||
|
}
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
package com.cf.imes.module.manage.validation.length;
|
||||||
|
|
||||||
|
import javax.validation.Constraint;
|
||||||
|
import javax.validation.Payload;
|
||||||
|
import java.lang.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数字长度校验器注解
|
||||||
|
*/
|
||||||
|
@Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD})
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Constraint(validatedBy = WidthLengthValidator.class)
|
||||||
|
@Documented
|
||||||
|
public @interface ValidLength {
|
||||||
|
String message() default "数值长度不符合";
|
||||||
|
|
||||||
|
Class<?>[] groups() default {};
|
||||||
|
|
||||||
|
Class<? extends Payload>[] payload() default {};
|
||||||
|
|
||||||
|
int maxDigits() default 8; // 最大总位数
|
||||||
|
int maxFractionalDigits() default 3; // 小数点后的最大位数
|
||||||
|
}
|
||||||
+36
@@ -0,0 +1,36 @@
|
|||||||
|
package com.cf.imes.module.manage.validation.length;
|
||||||
|
|
||||||
|
import javax.validation.ConstraintValidator;
|
||||||
|
import javax.validation.ConstraintValidatorContext;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数字长度校验器
|
||||||
|
*/
|
||||||
|
public class WidthLengthValidator implements ConstraintValidator<ValidLength, Double> {
|
||||||
|
|
||||||
|
private int maxDigits;
|
||||||
|
private int maxFractionalDigits;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initialize(ValidLength constraintAnnotation) {
|
||||||
|
this.maxDigits = constraintAnnotation.maxDigits();
|
||||||
|
this.maxFractionalDigits = constraintAnnotation.maxFractionalDigits();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isValid(Double value, ConstraintValidatorContext context) {
|
||||||
|
if (value == null) {
|
||||||
|
return true; // 允许 null 值
|
||||||
|
}
|
||||||
|
String valueAsString = Double.toString(value);
|
||||||
|
int decimalPointIndex = valueAsString.indexOf('.');
|
||||||
|
|
||||||
|
// 计算整数部分和小数部分的位数
|
||||||
|
int integerPartLength = decimalPointIndex == -1 ? valueAsString.length() : decimalPointIndex;
|
||||||
|
int fractionalPartLength = decimalPointIndex == -1 ? 0 : valueAsString.length() - decimalPointIndex - 1;
|
||||||
|
|
||||||
|
int totalDigits = integerPartLength + fractionalPartLength;
|
||||||
|
|
||||||
|
return totalDigits <= maxDigits && fractionalPartLength <= maxFractionalDigits;
|
||||||
|
}
|
||||||
|
}
|
||||||
+16
@@ -0,0 +1,16 @@
|
|||||||
|
package com.cf.imes.module.manage.validation.placeStyle;
|
||||||
|
|
||||||
|
import javax.validation.ConstraintValidator;
|
||||||
|
import javax.validation.ConstraintValidatorContext;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 放置样式校验
|
||||||
|
*/
|
||||||
|
public class PlaceStyleValidator implements ConstraintValidator<ValidPlaceStyle, Integer> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isValid(Integer value, ConstraintValidatorContext context) {
|
||||||
|
return value != null && (value == 0 || value == 1 || value == 2 || value == 3
|
||||||
|
|| value == 4 || value == 5 || value == 6 || value == 7);
|
||||||
|
}
|
||||||
|
}
|
||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
package com.cf.imes.module.manage.validation.placeStyle;
|
||||||
|
|
||||||
|
import com.cf.imes.module.manage.validation.texture.BooleanTypeValidator;
|
||||||
|
|
||||||
|
import javax.validation.Constraint;
|
||||||
|
import javax.validation.Payload;
|
||||||
|
import java.lang.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 放置样式校验注解
|
||||||
|
*/
|
||||||
|
@Target({ElementType.FIELD, ElementType.PARAMETER})
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Constraint(validatedBy = PlaceStyleValidator.class)
|
||||||
|
@Documented
|
||||||
|
public @interface ValidPlaceStyle {
|
||||||
|
|
||||||
|
String message() default " 放置样式不合法,0正面,1正面右转,2正面后转,3正面左转,4反面,5反面右转,6反面后转,7反面左转";
|
||||||
|
|
||||||
|
Class<?>[] groups() default {};
|
||||||
|
|
||||||
|
Class<? extends Payload>[] payload() default {};
|
||||||
|
|
||||||
|
}
|
||||||
+15
@@ -0,0 +1,15 @@
|
|||||||
|
package com.cf.imes.module.manage.validation.texture;
|
||||||
|
|
||||||
|
import javax.validation.ConstraintValidator;
|
||||||
|
import javax.validation.ConstraintValidatorContext;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 纹理校验
|
||||||
|
*/
|
||||||
|
public class BooleanTypeValidator implements ConstraintValidator<ValidBoolean, Object> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isValid(Object value, ConstraintValidatorContext context) {
|
||||||
|
return value instanceof Boolean;
|
||||||
|
}
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
package com.cf.imes.module.manage.validation.texture;
|
||||||
|
|
||||||
|
import javax.validation.Constraint;
|
||||||
|
import javax.validation.Payload;
|
||||||
|
import java.lang.annotation.*;
|
||||||
|
/**
|
||||||
|
* 纹理校验注解
|
||||||
|
*/
|
||||||
|
@Target({ElementType.FIELD, ElementType.PARAMETER})
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Constraint(validatedBy = BooleanTypeValidator.class)
|
||||||
|
@Documented
|
||||||
|
public @interface ValidBoolean {
|
||||||
|
|
||||||
|
String message() default "纹理不合法,1:有、0:无";
|
||||||
|
|
||||||
|
Class<?>[] groups() default {};
|
||||||
|
|
||||||
|
Class<? extends Payload>[] payload() default {};
|
||||||
|
}
|
||||||
+15
@@ -0,0 +1,15 @@
|
|||||||
|
package com.cf.imes.module.manage.validation.type;
|
||||||
|
|
||||||
|
import javax.validation.ConstraintValidator;
|
||||||
|
import javax.validation.ConstraintValidatorContext;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用类型校验
|
||||||
|
*/
|
||||||
|
public class TypeFieldValidator implements ConstraintValidator<ValidTypeField, Integer> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isValid(Integer value, ConstraintValidatorContext context) {
|
||||||
|
return value != null && (value == 0 || value == 1 || value == 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
package com.cf.imes.module.manage.validation.type;
|
||||||
|
|
||||||
|
import javax.validation.Constraint;
|
||||||
|
import javax.validation.Payload;
|
||||||
|
import java.lang.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用类型校验注解
|
||||||
|
*/
|
||||||
|
@Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD})
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Constraint(validatedBy = TypeFieldValidator.class)
|
||||||
|
@Documented
|
||||||
|
public @interface ValidTypeField {
|
||||||
|
String message() default "状态值必须为 0:核销、1:排单 或 2:补板";
|
||||||
|
|
||||||
|
Class<?>[] groups() default {};
|
||||||
|
|
||||||
|
Class<? extends Payload>[] payload() default {};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user