feat(eqp): 添加设备辅料管理功能

- 新增辅料实体类 EqpAuxiliaryMaterial 及业务对象 EqpAuxiliaryMaterialBo
- 新增辅料变动记录实体类 EqpAuxiliaryMaterialChange 及业务对象 EqpAuxiliaryMaterialChangeBo
- 创建辅料管理控制器 EqpAuxiliaryMaterialController 提供增删改查接口
- 创建辅料变动记录控制器 EqpAuxiliaryMaterialChangeController 提供完整CRUD功能
- 实现辅料及变动记录的数据访问层和业务逻辑层
- 添加辅料及变动记录的视图对象用于数据展示和Excel导出
- 优化三级库位查询逻辑,使用likeRight替代like提高查询准确性
This commit is contained in:
2026-01-04 13:36:18 +08:00
parent 89cfc8c61e
commit 7b2457c98f
17 changed files with 980 additions and 1 deletions

View File

@@ -0,0 +1,61 @@
package com.klp.mes.eqp.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 辅料对象 eqp_auxiliary_material
*
* @author klp
* @date 2026-01-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("eqp_auxiliary_material")
public class EqpAuxiliaryMaterial extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 辅料ID
*/
@TableId(value = "auxiliary_id")
private Long auxiliaryId;
/**
* 辅料名称
*/
private String auxiliaryName;
/**
* 物料品类
*/
private String materialCategory;
/**
* 辅料型号
*/
private String auxiliaryModel;
/**
* 计量单位
*/
private String unit;
/**
* 关联设备ID可为空通用辅料
*/
private Long equipmentId;
/**
* 当前库存数量
*/
private Long quantity;
/**
* 删除标志0=存在 2=删除)
*/
@TableLogic
private String delFlag;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,59 @@
package com.klp.mes.eqp.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 辅料变动记录对象 eqp_auxiliary_material_change
*
* @author klp
* @date 2026-01-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("eqp_auxiliary_material_change")
public class EqpAuxiliaryMaterialChange extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 变动记录ID
*/
@TableId(value = "change_id")
private Long changeId;
/**
* 关联辅料ID
*/
private Long auxiliaryId;
/**
* 变动类型(增加/减少)
*/
private String changeType;
/**
* 变动数量
*/
private Long changeQuantity;
/**
* 变动原因
*/
private String reason;
/**
* 变动时间
*/
private Date changeTime;
/**
* 删除标志0=存在 2=删除)
*/
@TableLogic
private String delFlag;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,61 @@
package com.klp.mes.eqp.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
/**
* 辅料业务对象 eqp_auxiliary_material
*
* @author klp
* @date 2026-01-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class EqpAuxiliaryMaterialBo extends BaseEntity {
/**
* 辅料ID
*/
private Long auxiliaryId;
/**
* 辅料名称
*/
private String auxiliaryName;
/**
* 物料品类
*/
private String materialCategory;
/**
* 辅料型号
*/
private String auxiliaryModel;
/**
* 计量单位
*/
private String unit;
/**
* 关联设备ID可为空通用辅料
*/
private Long equipmentId;
/**
* 当前库存数量
*/
private Long quantity;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,58 @@
package com.klp.mes.eqp.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 辅料变动记录业务对象 eqp_auxiliary_material_change
*
* @author klp
* @date 2026-01-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class EqpAuxiliaryMaterialChangeBo extends BaseEntity {
/**
* 变动记录ID
*/
private Long changeId;
/**
* 关联辅料ID
*/
private Long auxiliaryId;
/**
* 变动类型(增加/减少)
*/
private String changeType;
/**
* 变动数量
*/
private Long changeQuantity;
/**
* 变动原因
*/
private String reason;
/**
* 变动时间
*/
private Date changeTime;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,68 @@
package com.klp.mes.eqp.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.klp.common.annotation.ExcelDictFormat;
import com.klp.common.convert.ExcelDictConvert;
import lombok.Data;
/**
* 辅料变动记录视图对象 eqp_auxiliary_material_change
*
* @author klp
* @date 2026-01-04
*/
@Data
@ExcelIgnoreUnannotated
public class EqpAuxiliaryMaterialChangeVo {
private static final long serialVersionUID = 1L;
/**
* 变动记录ID
*/
@ExcelProperty(value = "变动记录ID")
private Long changeId;
/**
* 关联辅料ID
*/
@ExcelProperty(value = "关联辅料ID")
private Long auxiliaryId;
/**
* 变动类型(增加/减少)
*/
@ExcelProperty(value = "变动类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "增=加/减少")
private String changeType;
/**
* 变动数量
*/
@ExcelProperty(value = "变动数量")
private Long changeQuantity;
/**
* 变动原因
*/
@ExcelProperty(value = "变动原因")
private String reason;
/**
* 变动时间
*/
@ExcelProperty(value = "变动时间")
private Date changeTime;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -0,0 +1,72 @@
package com.klp.mes.eqp.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.klp.common.annotation.ExcelDictFormat;
import com.klp.common.convert.ExcelDictConvert;
import lombok.Data;
/**
* 辅料视图对象 eqp_auxiliary_material
*
* @author klp
* @date 2026-01-04
*/
@Data
@ExcelIgnoreUnannotated
public class EqpAuxiliaryMaterialVo {
private static final long serialVersionUID = 1L;
/**
* 辅料ID
*/
@ExcelProperty(value = "辅料ID")
private Long auxiliaryId;
/**
* 辅料名称
*/
@ExcelProperty(value = "辅料名称")
private String auxiliaryName;
/**
* 物料品类
*/
@ExcelProperty(value = "物料品类")
private String materialCategory;
/**
* 辅料型号
*/
@ExcelProperty(value = "辅料型号")
private String auxiliaryModel;
/**
* 计量单位
*/
@ExcelProperty(value = "计量单位")
private String unit;
/**
* 关联设备ID可为空通用辅料
*/
@ExcelProperty(value = "关联设备ID", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "可=为空,通用辅料")
private Long equipmentId;
/**
* 当前库存数量
*/
@ExcelProperty(value = "当前库存数量")
private Long quantity;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}