feat(wms): 更新钢卷异常实体类增加缺陷详细信息字段

- 将lengthCoord字段替换为length、startPosition、endPosition三个精确数值字段
- 新增defectType缺陷类型字段用于详细分类(如划痕、边裂、厚度超标等)
- 新增defectRate缺陷率字段用于记录百分比数据
- 新增defectWeight缺陷重量字段用于记录具体重量值
- 新增mainMark主标记字段标识是否为主要缺陷
- 新增wholeCoilMark整卷标记字段标识是否影响整卷
- 更新Mapper映射文件适配新的实体字段结构
- 更新查询条件构造器支持新增字段的筛选功能
- 更新VO类Excel导出配置适配新的业务字段需求
This commit is contained in:
2026-03-17 13:59:13 +08:00
parent 76aff879c7
commit 3c745b8ce4
5 changed files with 143 additions and 8 deletions

View File

@@ -5,6 +5,7 @@ import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -37,27 +38,68 @@ public class WmsCoilAbnormal extends BaseEntity {
/**
* 长度坐标
*/
private String lengthCoord;
private BigDecimal length;
/**
* 缺陷开始位置
*/
private BigDecimal startPosition;
/**
* 缺陷结束位置
*/
private BigDecimal endPosition;
/**
* 缺陷代码S=表面缺陷、E=边部问题、M=尺寸问题、G=收卷问题)
*/
private String defectCode;
/**
* 缺陷类型(更详细的缺陷分类,如划痕、边裂、厚度超标等)
*/
private String defectType;
/**
* 缺陷率百分比如0.05表示5%
*/
private BigDecimal defectRate;
/**
* 缺陷重量单位kg
*/
private BigDecimal defectWeight;
/**
* 程度(轻微、重度、严重)
*/
private String degree;
/**
* 判级
*/
private String judgeLevel;
/**
* 判级人
*/
private String judgeBy;
/**
* 判级时间
*/
private Date judgeTime;
/**
* 主标记1=是0=否)
*/
private Integer mainMark;
/**
* 整卷标记1=是0=否)
*/
private Integer wholeCoilMark;
/**
* 备注
*/

View File

@@ -5,6 +5,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -37,13 +38,38 @@ public class WmsCoilAbnormalBo extends BaseEntity {
/**
* 长度坐标
*/
private String lengthCoord;
private BigDecimal length;
/**
* 缺陷开始位置
*/
private BigDecimal startPosition;
/**
* 缺陷结束位置
*/
private BigDecimal endPosition;
/**
* 缺陷代码S=表面缺陷、E=边部问题、M=尺寸问题、G=收卷问题)
*/
private String defectCode;
/**
* 缺陷类型(更详细的缺陷分类,如划痕、边裂、厚度超标等)
*/
private String defectType;
/**
* 缺陷率百分比如0.05表示5%
*/
private BigDecimal defectRate;
/**
* 缺陷重量单位kg
*/
private BigDecimal defectWeight;
/**
* 程度(轻微、重度、严重)
*/
@@ -64,6 +90,16 @@ public class WmsCoilAbnormalBo extends BaseEntity {
*/
private Date judgeTime;
/**
* 主标记1=是0=否)
*/
private Integer mainMark;
/**
* 整卷标记1=是0=否)
*/
private Integer wholeCoilMark;
/**
* 备注
*/

View File

@@ -1,5 +1,6 @@
package com.klp.domain.vo;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
@@ -43,21 +44,51 @@ public class WmsCoilAbnormalVo {
/**
* 长度坐标
*/
@ExcelProperty(value = "长度坐标")
private String lengthCoord;
@ExcelProperty(value = "缺陷长度")
private BigDecimal length;
/**
* 缺陷开始位置
*/
@ExcelProperty(value = "缺陷开始位置")
private BigDecimal startPosition;
/**
* 缺陷结束位置
*/
@ExcelProperty(value = "缺陷结束位置")
private BigDecimal endPosition;
/**
* 缺陷代码S=表面缺陷、E=边部问题、M=尺寸问题、G=收卷问题)
*/
@ExcelProperty(value = "缺陷代码", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "S==表面缺陷、E=边部问题、M=尺寸问题、G=收卷问题")
@ExcelDictFormat(readConverterExp = "S=表面缺陷、E=边部问题、M=尺寸问题、G=收卷问题")
private String defectCode;
/**
* 缺陷类型(更详细的缺陷分类,如划痕、边裂、厚度超标等)
*/
@ExcelProperty(value = "缺陷类型")
private String defectType;
/**
* 缺陷率百分比如0.05表示5%
*/
@ExcelProperty(value = "缺陷率")
private BigDecimal defectRate;
/**
* 缺陷重量单位kg
*/
@ExcelProperty(value = "缺陷重量")
private BigDecimal defectWeight;
/**
* 程度(轻微、重度、严重)
*/
@ExcelProperty(value = "程度", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "=微、重度、严重")
@ExcelDictFormat(readConverterExp = "轻微、重度、严重")
private String degree;
/**
@@ -78,6 +109,18 @@ public class WmsCoilAbnormalVo {
@ExcelProperty(value = "判级时间")
private Date judgeTime;
/**
* 主标记1=是0=否)
*/
@ExcelProperty(value = "主标记")
private Integer mainMark;
/**
* 整卷标记1=是0=否)
*/
@ExcelProperty(value = "整卷标记")
private Integer wholeCoilMark;
/**
* 备注
*/

View File

@@ -65,12 +65,19 @@ public class WmsCoilAbnormalServiceImpl implements IWmsCoilAbnormalService {
LambdaQueryWrapper<WmsCoilAbnormal> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getCoilId() != null, WmsCoilAbnormal::getCoilId, bo.getCoilId());
lqw.eq(StringUtils.isNotBlank(bo.getPosition()), WmsCoilAbnormal::getPosition, bo.getPosition());
lqw.eq(StringUtils.isNotBlank(bo.getLengthCoord()), WmsCoilAbnormal::getLengthCoord, bo.getLengthCoord());
lqw.eq(bo.getLength() != null, WmsCoilAbnormal::getLength, bo.getLength());
lqw.eq(bo.getStartPosition() != null, WmsCoilAbnormal::getStartPosition, bo.getStartPosition());
lqw.eq(bo.getEndPosition() != null, WmsCoilAbnormal::getEndPosition, bo.getEndPosition());
lqw.eq(StringUtils.isNotBlank(bo.getDefectCode()), WmsCoilAbnormal::getDefectCode, bo.getDefectCode());
lqw.eq(StringUtils.isNotBlank(bo.getDefectType()), WmsCoilAbnormal::getDefectType, bo.getDefectType());
lqw.eq(bo.getDefectRate() != null, WmsCoilAbnormal::getDefectRate, bo.getDefectRate());
lqw.eq(bo.getDefectWeight() != null, WmsCoilAbnormal::getDefectWeight, bo.getDefectWeight());
lqw.eq(StringUtils.isNotBlank(bo.getDegree()), WmsCoilAbnormal::getDegree, bo.getDegree());
lqw.eq(StringUtils.isNotBlank(bo.getJudgeLevel()), WmsCoilAbnormal::getJudgeLevel, bo.getJudgeLevel());
lqw.eq(StringUtils.isNotBlank(bo.getJudgeBy()), WmsCoilAbnormal::getJudgeBy, bo.getJudgeBy());
lqw.eq(bo.getJudgeTime() != null, WmsCoilAbnormal::getJudgeTime, bo.getJudgeTime());
lqw.eq(bo.getMainMark() != null, WmsCoilAbnormal::getMainMark, bo.getMainMark());
lqw.eq(bo.getWholeCoilMark() != null, WmsCoilAbnormal::getWholeCoilMark, bo.getWholeCoilMark());
return lqw;
}

View File

@@ -8,12 +8,19 @@
<result property="abnormalId" column="abnormal_id"/>
<result property="coilId" column="coil_id"/>
<result property="position" column="position"/>
<result property="lengthCoord" column="length_coord"/>
<result property="length" column="length"/>
<result property="startPosition" column="start_position"/>
<result property="endPosition" column="end_position"/>
<result property="defectCode" column="defect_code"/>
<result property="defectType" column="defect_type"/>
<result property="defectRate" column="defect_rate"/>
<result property="defectWeight" column="defect_weight"/>
<result property="degree" column="degree"/>
<result property="judgeLevel" column="judge_level"/>
<result property="judgeBy" column="judge_by"/>
<result property="judgeTime" column="judge_time"/>
<result property="mainMark" column="main_mark"/>
<result property="wholeCoilMark" column="whole_coil_mark"/>
<result property="remark" column="remark"/>
<result property="delFlag" column="del_flag"/>
<result property="createTime" column="create_time"/>