From 7b2457c98fb7e9ce19843dde44f7c3d1f2d1f39a Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sun, 4 Jan 2026 13:36:18 +0800 Subject: [PATCH] =?UTF-8?q?feat(eqp):=20=E6=B7=BB=E5=8A=A0=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E8=BE=85=E6=96=99=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增辅料实体类 EqpAuxiliaryMaterial 及业务对象 EqpAuxiliaryMaterialBo - 新增辅料变动记录实体类 EqpAuxiliaryMaterialChange 及业务对象 EqpAuxiliaryMaterialChangeBo - 创建辅料管理控制器 EqpAuxiliaryMaterialController 提供增删改查接口 - 创建辅料变动记录控制器 EqpAuxiliaryMaterialChangeController 提供完整CRUD功能 - 实现辅料及变动记录的数据访问层和业务逻辑层 - 添加辅料及变动记录的视图对象用于数据展示和Excel导出 - 优化三级库位查询逻辑,使用likeRight替代like提高查询准确性 --- .../EqpAuxiliaryMaterialChangeController.java | 99 +++++++++++++++ .../EqpAuxiliaryMaterialController.java | 99 +++++++++++++++ .../mes/eqp/domain/EqpAuxiliaryMaterial.java | 61 ++++++++++ .../domain/EqpAuxiliaryMaterialChange.java | 59 +++++++++ .../eqp/domain/bo/EqpAuxiliaryMaterialBo.java | 61 ++++++++++ .../bo/EqpAuxiliaryMaterialChangeBo.java | 58 +++++++++ .../vo/EqpAuxiliaryMaterialChangeVo.java | 68 +++++++++++ .../eqp/domain/vo/EqpAuxiliaryMaterialVo.java | 72 +++++++++++ .../EqpAuxiliaryMaterialChangeMapper.java | 15 +++ .../mapper/EqpAuxiliaryMaterialMapper.java | 15 +++ .../IEqpAuxiliaryMaterialChangeService.java | 49 ++++++++ .../service/IEqpAuxiliaryMaterialService.java | 49 ++++++++ ...EqpAuxiliaryMaterialChangeServiceImpl.java | 113 +++++++++++++++++ .../impl/EqpAuxiliaryMaterialServiceImpl.java | 114 ++++++++++++++++++ .../eqp/EqpAuxiliaryMaterialChangeMapper.xml | 23 ++++ .../mapper/eqp/EqpAuxiliaryMaterialMapper.xml | 24 ++++ .../impl/WmsActualWarehouseServiceImpl.java | 2 +- 17 files changed, 980 insertions(+), 1 deletion(-) create mode 100644 klp-mes/src/main/java/com/klp/mes/eqp/controller/EqpAuxiliaryMaterialChangeController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/eqp/controller/EqpAuxiliaryMaterialController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/eqp/domain/EqpAuxiliaryMaterial.java create mode 100644 klp-mes/src/main/java/com/klp/mes/eqp/domain/EqpAuxiliaryMaterialChange.java create mode 100644 klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpAuxiliaryMaterialBo.java create mode 100644 klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpAuxiliaryMaterialChangeBo.java create mode 100644 klp-mes/src/main/java/com/klp/mes/eqp/domain/vo/EqpAuxiliaryMaterialChangeVo.java create mode 100644 klp-mes/src/main/java/com/klp/mes/eqp/domain/vo/EqpAuxiliaryMaterialVo.java create mode 100644 klp-mes/src/main/java/com/klp/mes/eqp/mapper/EqpAuxiliaryMaterialChangeMapper.java create mode 100644 klp-mes/src/main/java/com/klp/mes/eqp/mapper/EqpAuxiliaryMaterialMapper.java create mode 100644 klp-mes/src/main/java/com/klp/mes/eqp/service/IEqpAuxiliaryMaterialChangeService.java create mode 100644 klp-mes/src/main/java/com/klp/mes/eqp/service/IEqpAuxiliaryMaterialService.java create mode 100644 klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpAuxiliaryMaterialChangeServiceImpl.java create mode 100644 klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpAuxiliaryMaterialServiceImpl.java create mode 100644 klp-mes/src/main/resources/mapper/eqp/EqpAuxiliaryMaterialChangeMapper.xml create mode 100644 klp-mes/src/main/resources/mapper/eqp/EqpAuxiliaryMaterialMapper.xml diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/controller/EqpAuxiliaryMaterialChangeController.java b/klp-mes/src/main/java/com/klp/mes/eqp/controller/EqpAuxiliaryMaterialChangeController.java new file mode 100644 index 00000000..052040bf --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/eqp/controller/EqpAuxiliaryMaterialChangeController.java @@ -0,0 +1,99 @@ +package com.klp.mes.eqp.controller; + +import java.util.List; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.klp.common.annotation.RepeatSubmit; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.mes.eqp.domain.vo.EqpAuxiliaryMaterialChangeVo; +import com.klp.mes.eqp.domain.bo.EqpAuxiliaryMaterialChangeBo; +import com.klp.mes.eqp.service.IEqpAuxiliaryMaterialChangeService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 辅料变动记录 + * + * @author klp + * @date 2026-01-04 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/mes/auxiliaryMaterialChange") +public class EqpAuxiliaryMaterialChangeController extends BaseController { + + private final IEqpAuxiliaryMaterialChangeService iEqpAuxiliaryMaterialChangeService; + + /** + * 查询辅料变动记录列表 + */ + @GetMapping("/list") + public TableDataInfo list(EqpAuxiliaryMaterialChangeBo bo, PageQuery pageQuery) { + return iEqpAuxiliaryMaterialChangeService.queryPageList(bo, pageQuery); + } + + /** + * 导出辅料变动记录列表 + */ + @Log(title = "辅料变动记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(EqpAuxiliaryMaterialChangeBo bo, HttpServletResponse response) { + List list = iEqpAuxiliaryMaterialChangeService.queryList(bo); + ExcelUtil.exportExcel(list, "辅料变动记录", EqpAuxiliaryMaterialChangeVo.class, response); + } + + /** + * 获取辅料变动记录详细信息 + * + * @param changeId 主键 + */ + @GetMapping("/{changeId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long changeId) { + return R.ok(iEqpAuxiliaryMaterialChangeService.queryById(changeId)); + } + + /** + * 新增辅料变动记录 + */ + @Log(title = "辅料变动记录", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody EqpAuxiliaryMaterialChangeBo bo) { + return toAjax(iEqpAuxiliaryMaterialChangeService.insertByBo(bo)); + } + + /** + * 修改辅料变动记录 + */ + @Log(title = "辅料变动记录", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody EqpAuxiliaryMaterialChangeBo bo) { + return toAjax(iEqpAuxiliaryMaterialChangeService.updateByBo(bo)); + } + + /** + * 删除辅料变动记录 + * + * @param changeIds 主键串 + */ + @Log(title = "辅料变动记录", businessType = BusinessType.DELETE) + @DeleteMapping("/{changeIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] changeIds) { + return toAjax(iEqpAuxiliaryMaterialChangeService.deleteWithValidByIds(Arrays.asList(changeIds), true)); + } +} diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/controller/EqpAuxiliaryMaterialController.java b/klp-mes/src/main/java/com/klp/mes/eqp/controller/EqpAuxiliaryMaterialController.java new file mode 100644 index 00000000..68bbaa41 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/eqp/controller/EqpAuxiliaryMaterialController.java @@ -0,0 +1,99 @@ +package com.klp.mes.eqp.controller; + +import java.util.List; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.klp.common.annotation.RepeatSubmit; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.mes.eqp.domain.vo.EqpAuxiliaryMaterialVo; +import com.klp.mes.eqp.domain.bo.EqpAuxiliaryMaterialBo; +import com.klp.mes.eqp.service.IEqpAuxiliaryMaterialService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 辅料 + * + * @author klp + * @date 2026-01-04 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/mes/auxiliaryMaterial") +public class EqpAuxiliaryMaterialController extends BaseController { + + private final IEqpAuxiliaryMaterialService iEqpAuxiliaryMaterialService; + + /** + * 查询辅料列表 + */ + @GetMapping("/list") + public TableDataInfo list(EqpAuxiliaryMaterialBo bo, PageQuery pageQuery) { + return iEqpAuxiliaryMaterialService.queryPageList(bo, pageQuery); + } + + /** + * 导出辅料列表 + */ + @Log(title = "辅料", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(EqpAuxiliaryMaterialBo bo, HttpServletResponse response) { + List list = iEqpAuxiliaryMaterialService.queryList(bo); + ExcelUtil.exportExcel(list, "辅料", EqpAuxiliaryMaterialVo.class, response); + } + + /** + * 获取辅料详细信息 + * + * @param auxiliaryId 主键 + */ + @GetMapping("/{auxiliaryId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long auxiliaryId) { + return R.ok(iEqpAuxiliaryMaterialService.queryById(auxiliaryId)); + } + + /** + * 新增辅料 + */ + @Log(title = "辅料", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody EqpAuxiliaryMaterialBo bo) { + return toAjax(iEqpAuxiliaryMaterialService.insertByBo(bo)); + } + + /** + * 修改辅料 + */ + @Log(title = "辅料", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody EqpAuxiliaryMaterialBo bo) { + return toAjax(iEqpAuxiliaryMaterialService.updateByBo(bo)); + } + + /** + * 删除辅料 + * + * @param auxiliaryIds 主键串 + */ + @Log(title = "辅料", businessType = BusinessType.DELETE) + @DeleteMapping("/{auxiliaryIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] auxiliaryIds) { + return toAjax(iEqpAuxiliaryMaterialService.deleteWithValidByIds(Arrays.asList(auxiliaryIds), true)); + } +} diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/domain/EqpAuxiliaryMaterial.java b/klp-mes/src/main/java/com/klp/mes/eqp/domain/EqpAuxiliaryMaterial.java new file mode 100644 index 00000000..c9a35971 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/eqp/domain/EqpAuxiliaryMaterial.java @@ -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; + +} diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/domain/EqpAuxiliaryMaterialChange.java b/klp-mes/src/main/java/com/klp/mes/eqp/domain/EqpAuxiliaryMaterialChange.java new file mode 100644 index 00000000..beb5db45 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/eqp/domain/EqpAuxiliaryMaterialChange.java @@ -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; + +} diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpAuxiliaryMaterialBo.java b/klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpAuxiliaryMaterialBo.java new file mode 100644 index 00000000..280dd82c --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpAuxiliaryMaterialBo.java @@ -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; + + +} diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpAuxiliaryMaterialChangeBo.java b/klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpAuxiliaryMaterialChangeBo.java new file mode 100644 index 00000000..00f21bd2 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpAuxiliaryMaterialChangeBo.java @@ -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; + + +} diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/domain/vo/EqpAuxiliaryMaterialChangeVo.java b/klp-mes/src/main/java/com/klp/mes/eqp/domain/vo/EqpAuxiliaryMaterialChangeVo.java new file mode 100644 index 00000000..995f7dec --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/eqp/domain/vo/EqpAuxiliaryMaterialChangeVo.java @@ -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; + + +} diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/domain/vo/EqpAuxiliaryMaterialVo.java b/klp-mes/src/main/java/com/klp/mes/eqp/domain/vo/EqpAuxiliaryMaterialVo.java new file mode 100644 index 00000000..0c56df6c --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/eqp/domain/vo/EqpAuxiliaryMaterialVo.java @@ -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; + + +} diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/mapper/EqpAuxiliaryMaterialChangeMapper.java b/klp-mes/src/main/java/com/klp/mes/eqp/mapper/EqpAuxiliaryMaterialChangeMapper.java new file mode 100644 index 00000000..543abb9b --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/eqp/mapper/EqpAuxiliaryMaterialChangeMapper.java @@ -0,0 +1,15 @@ +package com.klp.mes.eqp.mapper; + +import com.klp.mes.eqp.domain.EqpAuxiliaryMaterialChange; +import com.klp.mes.eqp.domain.vo.EqpAuxiliaryMaterialChangeVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 辅料变动记录Mapper接口 + * + * @author klp + * @date 2026-01-04 + */ +public interface EqpAuxiliaryMaterialChangeMapper extends BaseMapperPlus { + +} diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/mapper/EqpAuxiliaryMaterialMapper.java b/klp-mes/src/main/java/com/klp/mes/eqp/mapper/EqpAuxiliaryMaterialMapper.java new file mode 100644 index 00000000..af79b075 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/eqp/mapper/EqpAuxiliaryMaterialMapper.java @@ -0,0 +1,15 @@ +package com.klp.mes.eqp.mapper; + +import com.klp.mes.eqp.domain.EqpAuxiliaryMaterial; +import com.klp.mes.eqp.domain.vo.EqpAuxiliaryMaterialVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 辅料Mapper接口 + * + * @author klp + * @date 2026-01-04 + */ +public interface EqpAuxiliaryMaterialMapper extends BaseMapperPlus { + +} diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/service/IEqpAuxiliaryMaterialChangeService.java b/klp-mes/src/main/java/com/klp/mes/eqp/service/IEqpAuxiliaryMaterialChangeService.java new file mode 100644 index 00000000..8ed0fa67 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/eqp/service/IEqpAuxiliaryMaterialChangeService.java @@ -0,0 +1,49 @@ +package com.klp.mes.eqp.service; + +import com.klp.mes.eqp.domain.EqpAuxiliaryMaterialChange; +import com.klp.mes.eqp.domain.vo.EqpAuxiliaryMaterialChangeVo; +import com.klp.mes.eqp.domain.bo.EqpAuxiliaryMaterialChangeBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 辅料变动记录Service接口 + * + * @author klp + * @date 2026-01-04 + */ +public interface IEqpAuxiliaryMaterialChangeService { + + /** + * 查询辅料变动记录 + */ + EqpAuxiliaryMaterialChangeVo queryById(Long changeId); + + /** + * 查询辅料变动记录列表 + */ + TableDataInfo queryPageList(EqpAuxiliaryMaterialChangeBo bo, PageQuery pageQuery); + + /** + * 查询辅料变动记录列表 + */ + List queryList(EqpAuxiliaryMaterialChangeBo bo); + + /** + * 新增辅料变动记录 + */ + Boolean insertByBo(EqpAuxiliaryMaterialChangeBo bo); + + /** + * 修改辅料变动记录 + */ + Boolean updateByBo(EqpAuxiliaryMaterialChangeBo bo); + + /** + * 校验并批量删除辅料变动记录信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/service/IEqpAuxiliaryMaterialService.java b/klp-mes/src/main/java/com/klp/mes/eqp/service/IEqpAuxiliaryMaterialService.java new file mode 100644 index 00000000..071d1789 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/eqp/service/IEqpAuxiliaryMaterialService.java @@ -0,0 +1,49 @@ +package com.klp.mes.eqp.service; + +import com.klp.mes.eqp.domain.EqpAuxiliaryMaterial; +import com.klp.mes.eqp.domain.vo.EqpAuxiliaryMaterialVo; +import com.klp.mes.eqp.domain.bo.EqpAuxiliaryMaterialBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 辅料Service接口 + * + * @author klp + * @date 2026-01-04 + */ +public interface IEqpAuxiliaryMaterialService { + + /** + * 查询辅料 + */ + EqpAuxiliaryMaterialVo queryById(Long auxiliaryId); + + /** + * 查询辅料列表 + */ + TableDataInfo queryPageList(EqpAuxiliaryMaterialBo bo, PageQuery pageQuery); + + /** + * 查询辅料列表 + */ + List queryList(EqpAuxiliaryMaterialBo bo); + + /** + * 新增辅料 + */ + Boolean insertByBo(EqpAuxiliaryMaterialBo bo); + + /** + * 修改辅料 + */ + Boolean updateByBo(EqpAuxiliaryMaterialBo bo); + + /** + * 校验并批量删除辅料信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpAuxiliaryMaterialChangeServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpAuxiliaryMaterialChangeServiceImpl.java new file mode 100644 index 00000000..2194f52e --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpAuxiliaryMaterialChangeServiceImpl.java @@ -0,0 +1,113 @@ +package com.klp.mes.eqp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.mes.eqp.domain.bo.EqpAuxiliaryMaterialChangeBo; +import com.klp.mes.eqp.domain.vo.EqpAuxiliaryMaterialChangeVo; +import com.klp.mes.eqp.domain.EqpAuxiliaryMaterialChange; +import com.klp.mes.eqp.mapper.EqpAuxiliaryMaterialChangeMapper; +import com.klp.mes.eqp.service.IEqpAuxiliaryMaterialChangeService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 辅料变动记录Service业务层处理 + * + * @author klp + * @date 2026-01-04 + */ +@RequiredArgsConstructor +@Service +public class EqpAuxiliaryMaterialChangeServiceImpl implements IEqpAuxiliaryMaterialChangeService { + + private final EqpAuxiliaryMaterialChangeMapper baseMapper; + + /** + * 查询辅料变动记录 + */ + @Override + public EqpAuxiliaryMaterialChangeVo queryById(Long changeId){ + return baseMapper.selectVoById(changeId); + } + + /** + * 查询辅料变动记录列表 + */ + @Override + public TableDataInfo queryPageList(EqpAuxiliaryMaterialChangeBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询辅料变动记录列表 + */ + @Override + public List queryList(EqpAuxiliaryMaterialChangeBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(EqpAuxiliaryMaterialChangeBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getAuxiliaryId() != null, EqpAuxiliaryMaterialChange::getAuxiliaryId, bo.getAuxiliaryId()); + lqw.eq(StringUtils.isNotBlank(bo.getChangeType()), EqpAuxiliaryMaterialChange::getChangeType, bo.getChangeType()); + lqw.eq(bo.getChangeQuantity() != null, EqpAuxiliaryMaterialChange::getChangeQuantity, bo.getChangeQuantity()); + lqw.eq(StringUtils.isNotBlank(bo.getReason()), EqpAuxiliaryMaterialChange::getReason, bo.getReason()); + lqw.eq(bo.getChangeTime() != null, EqpAuxiliaryMaterialChange::getChangeTime, bo.getChangeTime()); + return lqw; + } + + /** + * 新增辅料变动记录 + */ + @Override + public Boolean insertByBo(EqpAuxiliaryMaterialChangeBo bo) { + EqpAuxiliaryMaterialChange add = BeanUtil.toBean(bo, EqpAuxiliaryMaterialChange.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setChangeId(add.getChangeId()); + } + return flag; + } + + /** + * 修改辅料变动记录 + */ + @Override + public Boolean updateByBo(EqpAuxiliaryMaterialChangeBo bo) { + EqpAuxiliaryMaterialChange update = BeanUtil.toBean(bo, EqpAuxiliaryMaterialChange.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(EqpAuxiliaryMaterialChange entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除辅料变动记录 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpAuxiliaryMaterialServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpAuxiliaryMaterialServiceImpl.java new file mode 100644 index 00000000..d25e500c --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpAuxiliaryMaterialServiceImpl.java @@ -0,0 +1,114 @@ +package com.klp.mes.eqp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.mes.eqp.domain.bo.EqpAuxiliaryMaterialBo; +import com.klp.mes.eqp.domain.vo.EqpAuxiliaryMaterialVo; +import com.klp.mes.eqp.domain.EqpAuxiliaryMaterial; +import com.klp.mes.eqp.mapper.EqpAuxiliaryMaterialMapper; +import com.klp.mes.eqp.service.IEqpAuxiliaryMaterialService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 辅料Service业务层处理 + * + * @author klp + * @date 2026-01-04 + */ +@RequiredArgsConstructor +@Service +public class EqpAuxiliaryMaterialServiceImpl implements IEqpAuxiliaryMaterialService { + + private final EqpAuxiliaryMaterialMapper baseMapper; + + /** + * 查询辅料 + */ + @Override + public EqpAuxiliaryMaterialVo queryById(Long auxiliaryId){ + return baseMapper.selectVoById(auxiliaryId); + } + + /** + * 查询辅料列表 + */ + @Override + public TableDataInfo queryPageList(EqpAuxiliaryMaterialBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询辅料列表 + */ + @Override + public List queryList(EqpAuxiliaryMaterialBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(EqpAuxiliaryMaterialBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.like(StringUtils.isNotBlank(bo.getAuxiliaryName()), EqpAuxiliaryMaterial::getAuxiliaryName, bo.getAuxiliaryName()); + lqw.eq(StringUtils.isNotBlank(bo.getMaterialCategory()), EqpAuxiliaryMaterial::getMaterialCategory, bo.getMaterialCategory()); + lqw.eq(StringUtils.isNotBlank(bo.getAuxiliaryModel()), EqpAuxiliaryMaterial::getAuxiliaryModel, bo.getAuxiliaryModel()); + lqw.eq(StringUtils.isNotBlank(bo.getUnit()), EqpAuxiliaryMaterial::getUnit, bo.getUnit()); + lqw.eq(bo.getEquipmentId() != null, EqpAuxiliaryMaterial::getEquipmentId, bo.getEquipmentId()); + lqw.eq(bo.getQuantity() != null, EqpAuxiliaryMaterial::getQuantity, bo.getQuantity()); + return lqw; + } + + /** + * 新增辅料 + */ + @Override + public Boolean insertByBo(EqpAuxiliaryMaterialBo bo) { + EqpAuxiliaryMaterial add = BeanUtil.toBean(bo, EqpAuxiliaryMaterial.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setAuxiliaryId(add.getAuxiliaryId()); + } + return flag; + } + + /** + * 修改辅料 + */ + @Override + public Boolean updateByBo(EqpAuxiliaryMaterialBo bo) { + EqpAuxiliaryMaterial update = BeanUtil.toBean(bo, EqpAuxiliaryMaterial.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(EqpAuxiliaryMaterial entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除辅料 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-mes/src/main/resources/mapper/eqp/EqpAuxiliaryMaterialChangeMapper.xml b/klp-mes/src/main/resources/mapper/eqp/EqpAuxiliaryMaterialChangeMapper.xml new file mode 100644 index 00000000..b0c81160 --- /dev/null +++ b/klp-mes/src/main/resources/mapper/eqp/EqpAuxiliaryMaterialChangeMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-mes/src/main/resources/mapper/eqp/EqpAuxiliaryMaterialMapper.xml b/klp-mes/src/main/resources/mapper/eqp/EqpAuxiliaryMaterialMapper.xml new file mode 100644 index 00000000..b0b0999f --- /dev/null +++ b/klp-mes/src/main/resources/mapper/eqp/EqpAuxiliaryMaterialMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsActualWarehouseServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsActualWarehouseServiceImpl.java index dce129b5..851d6a4c 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsActualWarehouseServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsActualWarehouseServiceImpl.java @@ -686,7 +686,7 @@ public class WmsActualWarehouseServiceImpl implements IWmsActualWarehouseService // 根据列标识查询该列的所有三级库位 List columnLocations = baseMapper.selectList(Wrappers.lambdaQuery() - .like(WmsActualWarehouse::getActualWarehouseCode, columnFlag) + .likeRight(WmsActualWarehouse::getActualWarehouseCode, columnFlag + "-") .eq(WmsActualWarehouse::getDelFlag, 0) .eq(WmsActualWarehouse::getActualWarehouseType, 3) // 只查询三级库位 .orderByAsc(WmsActualWarehouse::getActualWarehouseCode));