From 41557c606bb334e911f9d49163d6407cf6ccd66a Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Tue, 23 Jun 2026 11:26:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(flow):=20=E6=B7=BB=E5=8A=A0=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E7=BB=B4=E4=BF=9D=E5=8A=9F=E8=83=BD=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 创建维修计划主对象 EqpMaintenancePlan 及其 BO、VO、Mapper、Service 和 Controller - 实现维修计划明细对象 EqpMaintenancePlanDetail 的完整 CRUD 操作功能 - 开发维修计划-异常记录关联对象 EqpMaintenancePlanAbnormal 的业务逻辑 - 集成分页查询、导出、新增、修改、删除等标准业务操作接口 - 配置 MyBatis-Plus 映射文件和数据校验规则 - 实现 Excel 导入导出功能和数据字典转换处理 --- .../EqpMaintenancePlanAbnormalController.java | 99 ++++++++++++++ .../EqpMaintenancePlanController.java | 99 ++++++++++++++ .../EqpMaintenancePlanDetailController.java | 99 ++++++++++++++ .../klp/flow/domain/EqpMaintenancePlan.java | 92 +++++++++++++ .../domain/EqpMaintenancePlanAbnormal.java | 45 +++++++ .../flow/domain/EqpMaintenancePlanDetail.java | 96 ++++++++++++++ .../bo/EqpMaintenancePlanAbnormalBo.java | 41 ++++++ .../flow/domain/bo/EqpMaintenancePlanBo.java | 99 ++++++++++++++ .../domain/bo/EqpMaintenancePlanDetailBo.java | 104 +++++++++++++++ .../vo/EqpMaintenancePlanAbnormalVo.java | 48 +++++++ .../domain/vo/EqpMaintenancePlanDetailVo.java | 125 ++++++++++++++++++ .../flow/domain/vo/EqpMaintenancePlanVo.java | 116 ++++++++++++++++ .../EqpMaintenancePlanAbnormalMapper.java | 15 +++ .../EqpMaintenancePlanDetailMapper.java | 15 +++ .../flow/mapper/EqpMaintenancePlanMapper.java | 15 +++ .../IEqpMaintenancePlanAbnormalService.java | 49 +++++++ .../IEqpMaintenancePlanDetailService.java | 49 +++++++ .../service/IEqpMaintenancePlanService.java | 49 +++++++ ...EqpMaintenancePlanAbnormalServiceImpl.java | 109 +++++++++++++++ .../EqpMaintenancePlanDetailServiceImpl.java | 122 +++++++++++++++++ .../impl/EqpMaintenancePlanServiceImpl.java | 121 +++++++++++++++++ .../flow/EqpMaintenancePlanAbnormalMapper.xml | 20 +++ .../flow/EqpMaintenancePlanDetailMapper.xml | 32 +++++ .../mapper/flow/EqpMaintenancePlanMapper.xml | 31 +++++ 24 files changed, 1690 insertions(+) create mode 100644 klp-flow/src/main/java/com/klp/flow/controller/EqpMaintenancePlanAbnormalController.java create mode 100644 klp-flow/src/main/java/com/klp/flow/controller/EqpMaintenancePlanController.java create mode 100644 klp-flow/src/main/java/com/klp/flow/controller/EqpMaintenancePlanDetailController.java create mode 100644 klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlan.java create mode 100644 klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlanAbnormal.java create mode 100644 klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlanDetail.java create mode 100644 klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanAbnormalBo.java create mode 100644 klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanBo.java create mode 100644 klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanDetailBo.java create mode 100644 klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanAbnormalVo.java create mode 100644 klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanDetailVo.java create mode 100644 klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanVo.java create mode 100644 klp-flow/src/main/java/com/klp/flow/mapper/EqpMaintenancePlanAbnormalMapper.java create mode 100644 klp-flow/src/main/java/com/klp/flow/mapper/EqpMaintenancePlanDetailMapper.java create mode 100644 klp-flow/src/main/java/com/klp/flow/mapper/EqpMaintenancePlanMapper.java create mode 100644 klp-flow/src/main/java/com/klp/flow/service/IEqpMaintenancePlanAbnormalService.java create mode 100644 klp-flow/src/main/java/com/klp/flow/service/IEqpMaintenancePlanDetailService.java create mode 100644 klp-flow/src/main/java/com/klp/flow/service/IEqpMaintenancePlanService.java create mode 100644 klp-flow/src/main/java/com/klp/flow/service/impl/EqpMaintenancePlanAbnormalServiceImpl.java create mode 100644 klp-flow/src/main/java/com/klp/flow/service/impl/EqpMaintenancePlanDetailServiceImpl.java create mode 100644 klp-flow/src/main/java/com/klp/flow/service/impl/EqpMaintenancePlanServiceImpl.java create mode 100644 klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanAbnormalMapper.xml create mode 100644 klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanDetailMapper.xml create mode 100644 klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanMapper.xml diff --git a/klp-flow/src/main/java/com/klp/flow/controller/EqpMaintenancePlanAbnormalController.java b/klp-flow/src/main/java/com/klp/flow/controller/EqpMaintenancePlanAbnormalController.java new file mode 100644 index 00000000..ba21ca74 --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/controller/EqpMaintenancePlanAbnormalController.java @@ -0,0 +1,99 @@ +package com.klp.flow.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.flow.domain.vo.EqpMaintenancePlanAbnormalVo; +import com.klp.flow.domain.bo.EqpMaintenancePlanAbnormalBo; +import com.klp.flow.service.IEqpMaintenancePlanAbnormalService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 维修计划-异常记录关联 + * + * @author klp + * @date 2026-06-23 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/flow/maintenancePlanAbnormal") +public class EqpMaintenancePlanAbnormalController extends BaseController { + + private final IEqpMaintenancePlanAbnormalService iEqpMaintenancePlanAbnormalService; + + /** + * 查询维修计划-异常记录关联列表 + */ + @GetMapping("/list") + public TableDataInfo list(EqpMaintenancePlanAbnormalBo bo, PageQuery pageQuery) { + return iEqpMaintenancePlanAbnormalService.queryPageList(bo, pageQuery); + } + + /** + * 导出维修计划-异常记录关联列表 + */ + @Log(title = "维修计划-异常记录关联", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(EqpMaintenancePlanAbnormalBo bo, HttpServletResponse response) { + List list = iEqpMaintenancePlanAbnormalService.queryList(bo); + ExcelUtil.exportExcel(list, "维修计划-异常记录关联", EqpMaintenancePlanAbnormalVo.class, response); + } + + /** + * 获取维修计划-异常记录关联详细信息 + * + * @param relId 主键 + */ + @GetMapping("/{relId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long relId) { + return R.ok(iEqpMaintenancePlanAbnormalService.queryById(relId)); + } + + /** + * 新增维修计划-异常记录关联 + */ + @Log(title = "维修计划-异常记录关联", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody EqpMaintenancePlanAbnormalBo bo) { + return toAjax(iEqpMaintenancePlanAbnormalService.insertByBo(bo)); + } + + /** + * 修改维修计划-异常记录关联 + */ + @Log(title = "维修计划-异常记录关联", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody EqpMaintenancePlanAbnormalBo bo) { + return toAjax(iEqpMaintenancePlanAbnormalService.updateByBo(bo)); + } + + /** + * 删除维修计划-异常记录关联 + * + * @param relIds 主键串 + */ + @Log(title = "维修计划-异常记录关联", businessType = BusinessType.DELETE) + @DeleteMapping("/{relIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] relIds) { + return toAjax(iEqpMaintenancePlanAbnormalService.deleteWithValidByIds(Arrays.asList(relIds), true)); + } +} diff --git a/klp-flow/src/main/java/com/klp/flow/controller/EqpMaintenancePlanController.java b/klp-flow/src/main/java/com/klp/flow/controller/EqpMaintenancePlanController.java new file mode 100644 index 00000000..3ff6eea4 --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/controller/EqpMaintenancePlanController.java @@ -0,0 +1,99 @@ +package com.klp.flow.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.flow.domain.vo.EqpMaintenancePlanVo; +import com.klp.flow.domain.bo.EqpMaintenancePlanBo; +import com.klp.flow.service.IEqpMaintenancePlanService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 维修计划主 + * + * @author klp + * @date 2026-06-23 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/flow/maintenancePlan") +public class EqpMaintenancePlanController extends BaseController { + + private final IEqpMaintenancePlanService iEqpMaintenancePlanService; + + /** + * 查询维修计划主列表 + */ + @GetMapping("/list") + public TableDataInfo list(EqpMaintenancePlanBo bo, PageQuery pageQuery) { + return iEqpMaintenancePlanService.queryPageList(bo, pageQuery); + } + + /** + * 导出维修计划主列表 + */ + @Log(title = "维修计划主", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(EqpMaintenancePlanBo bo, HttpServletResponse response) { + List list = iEqpMaintenancePlanService.queryList(bo); + ExcelUtil.exportExcel(list, "维修计划主", EqpMaintenancePlanVo.class, response); + } + + /** + * 获取维修计划主详细信息 + * + * @param planId 主键 + */ + @GetMapping("/{planId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long planId) { + return R.ok(iEqpMaintenancePlanService.queryById(planId)); + } + + /** + * 新增维修计划主 + */ + @Log(title = "维修计划主", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody EqpMaintenancePlanBo bo) { + return toAjax(iEqpMaintenancePlanService.insertByBo(bo)); + } + + /** + * 修改维修计划主 + */ + @Log(title = "维修计划主", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody EqpMaintenancePlanBo bo) { + return toAjax(iEqpMaintenancePlanService.updateByBo(bo)); + } + + /** + * 删除维修计划主 + * + * @param planIds 主键串 + */ + @Log(title = "维修计划主", businessType = BusinessType.DELETE) + @DeleteMapping("/{planIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] planIds) { + return toAjax(iEqpMaintenancePlanService.deleteWithValidByIds(Arrays.asList(planIds), true)); + } +} diff --git a/klp-flow/src/main/java/com/klp/flow/controller/EqpMaintenancePlanDetailController.java b/klp-flow/src/main/java/com/klp/flow/controller/EqpMaintenancePlanDetailController.java new file mode 100644 index 00000000..bcb267e5 --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/controller/EqpMaintenancePlanDetailController.java @@ -0,0 +1,99 @@ +package com.klp.flow.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.flow.domain.vo.EqpMaintenancePlanDetailVo; +import com.klp.flow.domain.bo.EqpMaintenancePlanDetailBo; +import com.klp.flow.service.IEqpMaintenancePlanDetailService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 维修计划明细 + * + * @author klp + * @date 2026-06-23 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/flow/maintenancePlanDetail") +public class EqpMaintenancePlanDetailController extends BaseController { + + private final IEqpMaintenancePlanDetailService iEqpMaintenancePlanDetailService; + + /** + * 查询维修计划明细列表 + */ + @GetMapping("/list") + public TableDataInfo list(EqpMaintenancePlanDetailBo bo, PageQuery pageQuery) { + return iEqpMaintenancePlanDetailService.queryPageList(bo, pageQuery); + } + + /** + * 导出维修计划明细列表 + */ + @Log(title = "维修计划明细", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(EqpMaintenancePlanDetailBo bo, HttpServletResponse response) { + List list = iEqpMaintenancePlanDetailService.queryList(bo); + ExcelUtil.exportExcel(list, "维修计划明细", EqpMaintenancePlanDetailVo.class, response); + } + + /** + * 获取维修计划明细详细信息 + * + * @param detailId 主键 + */ + @GetMapping("/{detailId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long detailId) { + return R.ok(iEqpMaintenancePlanDetailService.queryById(detailId)); + } + + /** + * 新增维修计划明细 + */ + @Log(title = "维修计划明细", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody EqpMaintenancePlanDetailBo bo) { + return toAjax(iEqpMaintenancePlanDetailService.insertByBo(bo)); + } + + /** + * 修改维修计划明细 + */ + @Log(title = "维修计划明细", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody EqpMaintenancePlanDetailBo bo) { + return toAjax(iEqpMaintenancePlanDetailService.updateByBo(bo)); + } + + /** + * 删除维修计划明细 + * + * @param detailIds 主键串 + */ + @Log(title = "维修计划明细", businessType = BusinessType.DELETE) + @DeleteMapping("/{detailIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] detailIds) { + return toAjax(iEqpMaintenancePlanDetailService.deleteWithValidByIds(Arrays.asList(detailIds), true)); + } +} diff --git a/klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlan.java b/klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlan.java new file mode 100644 index 00000000..f42ee092 --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlan.java @@ -0,0 +1,92 @@ +package com.klp.flow.domain; + +import com.baomidou.mybatisplus.annotation.*; +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; + +/** + * 维修计划主对象 eqp_maintenance_plan + * + * @author klp + * @date 2026-06-23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("eqp_maintenance_plan") +public class EqpMaintenancePlan extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 计划ID + */ + @TableId(value = "plan_id") + private Long planId; + /** + * 计划编号 + */ + private String planNo; + /** + * 计划名称 + */ + private String planName; + /** + * 维修类型:1=定期保养 2=安全整改 3=专项检修 4=故障维修 + */ + private Long repairType; + /** + * 优先级:1=普通 2=重要 + */ + private Long priorityLevel; + /** + * 计划执行状态:1=待维修,2=维修中,3=已完成,4=已取消 + */ + private Long planStatus; + /** + * 审批状态:0=草稿 1=待审批 2=已审批 3=已驳回 + */ + private Long approvalStatus; + /** + * 计划开始时间 + */ + private Date plannedStartTime; + /** + * 计划结束时间 + */ + private Date plannedEndTime; + /** + * 负责部门 + */ + private String dutyDept; + /** + * 计划负责人 + */ + private String planOwner; + /** + * 预算金额(元) + */ + private BigDecimal budgetAmount; + /** + * 计划说明 + */ + private String planDescription; + /** + * 实际完成时间 + */ + private Date actualCompleteTime; + /** + * 备注 + */ + private String remark; + /** + * 删除标识 0正常 2删除 + */ + @TableLogic + private Long delFlag; + +} diff --git a/klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlanAbnormal.java b/klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlanAbnormal.java new file mode 100644 index 00000000..d9bdabf8 --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlanAbnormal.java @@ -0,0 +1,45 @@ +package com.klp.flow.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 维修计划-异常记录关联对象 eqp_maintenance_plan_abnormal + * + * @author klp + * @date 2026-06-23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("eqp_maintenance_plan_abnormal") +public class EqpMaintenancePlanAbnormal extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 关联ID + */ + @TableId(value = "rel_id") + private Long relId; + /** + * 维修计划ID + */ + private Long planId; + /** + * 巡检记录ID(eqp_equipment_inspection_record.record_id,run_status=2 异常记录) + */ + private Long recordId; + /** + * 备注 + */ + private String remark; + /** + * 删除标识 0正常 2删除 + */ + @TableLogic + private Long delFlag; + +} diff --git a/klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlanDetail.java b/klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlanDetail.java new file mode 100644 index 00000000..f24cd1a7 --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/domain/EqpMaintenancePlanDetail.java @@ -0,0 +1,96 @@ +package com.klp.flow.domain; + +import com.baomidou.mybatisplus.annotation.*; +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; + +/** + * 维修计划明细对象 eqp_maintenance_plan_detail + * + * @author klp + * @date 2026-06-23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("eqp_maintenance_plan_detail") +public class EqpMaintenancePlanDetail extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 明细ID + */ + @TableId(value = "detail_id") + private Long detailId; + /** + * 维修计划ID + */ + private Long planId; + /** + * 巡检记录ID(来源异常工单) + */ + private Long recordId; + /** + * 设备ID(用户手动选择,关联 eqp_equipment_management.equipment_id) + */ + private Long equipmentId; + /** + * 产线名称 + */ + private String productionLine; + /** + * 设备部件名称 + */ + private String componentName; + /** + * 单条维修项计划执行日期 + */ + private Date itemPlanDate; + /** + * 明细类型:0=保养 1=维修 + */ + private Long maintenanceCategory; + /** + * 明细完成状态:0=未开始 1=进行中 2=已完成 + */ + private Long detailStatus; + /** + * 维修内容描述 + */ + private String repairContent; + /** + * 维修负责人 + */ + private String repairUser; + /** + * 完成时间(打勾时记录) + */ + private Date completeTime; + /** + * 实际支出金额(元) + */ + private BigDecimal actualCost; + /** + * 完成进度百分比(0-100) + */ + private Long progressRate; + /** + * 目标厂家 + */ + private String targetManufacturer; + /** + * 备注 + */ + private String remark; + /** + * 删除标识 0正常 2删除 + */ + @TableLogic + private Long delFlag; + +} diff --git a/klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanAbnormalBo.java b/klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanAbnormalBo.java new file mode 100644 index 00000000..5de37ccf --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanAbnormalBo.java @@ -0,0 +1,41 @@ +package com.klp.flow.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + + +/** + * 维修计划-异常记录关联业务对象 eqp_maintenance_plan_abnormal + * + * @author klp + * @date 2026-06-23 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class EqpMaintenancePlanAbnormalBo extends BaseEntity { + + /** + * 关联ID + */ + private Long relId; + + /** + * 维修计划ID + */ + private Long planId; + + /** + * 巡检记录ID(eqp_equipment_inspection_record.record_id,run_status=2 异常记录) + */ + private Long recordId; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanBo.java b/klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanBo.java new file mode 100644 index 00000000..ed8b44d1 --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanBo.java @@ -0,0 +1,99 @@ +package com.klp.flow.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 维修计划主业务对象 eqp_maintenance_plan + * + * @author klp + * @date 2026-06-23 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class EqpMaintenancePlanBo extends BaseEntity { + + /** + * 计划ID + */ + private Long planId; + + /** + * 计划编号 + */ + private String planNo; + + /** + * 计划名称 + */ + private String planName; + + /** + * 维修类型:1=定期保养 2=安全整改 3=专项检修 4=故障维修 + */ + private Long repairType; + + /** + * 优先级:1=普通 2=重要 + */ + private Long priorityLevel; + + /** + * 计划执行状态:1=待维修,2=维修中,3=已完成,4=已取消 + */ + private Long planStatus; + + /** + * 审批状态:0=草稿 1=待审批 2=已审批 3=已驳回 + */ + private Long approvalStatus; + + /** + * 计划开始时间 + */ + private Date plannedStartTime; + + /** + * 计划结束时间 + */ + private Date plannedEndTime; + + /** + * 负责部门 + */ + private String dutyDept; + + /** + * 计划负责人 + */ + private String planOwner; + + /** + * 预算金额(元) + */ + private BigDecimal budgetAmount; + + /** + * 计划说明 + */ + private String planDescription; + + /** + * 实际完成时间 + */ + private Date actualCompleteTime; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanDetailBo.java b/klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanDetailBo.java new file mode 100644 index 00000000..026a495e --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/domain/bo/EqpMaintenancePlanDetailBo.java @@ -0,0 +1,104 @@ +package com.klp.flow.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 维修计划明细业务对象 eqp_maintenance_plan_detail + * + * @author klp + * @date 2026-06-23 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class EqpMaintenancePlanDetailBo extends BaseEntity { + + /** + * 明细ID + */ + private Long detailId; + + /** + * 维修计划ID + */ + private Long planId; + + /** + * 巡检记录ID(来源异常工单) + */ + private Long recordId; + + /** + * 设备ID(用户手动选择,关联 eqp_equipment_management.equipment_id) + */ + private Long equipmentId; + + /** + * 产线名称 + */ + private String productionLine; + + /** + * 设备部件名称 + */ + private String componentName; + + /** + * 单条维修项计划执行日期 + */ + private Date itemPlanDate; + + /** + * 明细类型:0=保养 1=维修 + */ + private Long maintenanceCategory; + + /** + * 明细完成状态:0=未开始 1=进行中 2=已完成 + */ + private Long detailStatus; + + /** + * 维修内容描述 + */ + private String repairContent; + + /** + * 维修负责人 + */ + private String repairUser; + + /** + * 完成时间(打勾时记录) + */ + private Date completeTime; + + /** + * 实际支出金额(元) + */ + private BigDecimal actualCost; + + /** + * 完成进度百分比(0-100) + */ + private Long progressRate; + + /** + * 目标厂家 + */ + private String targetManufacturer; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanAbnormalVo.java b/klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanAbnormalVo.java new file mode 100644 index 00000000..f82ecab5 --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanAbnormalVo.java @@ -0,0 +1,48 @@ +package com.klp.flow.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_maintenance_plan_abnormal + * + * @author klp + * @date 2026-06-23 + */ +@Data +@ExcelIgnoreUnannotated +public class EqpMaintenancePlanAbnormalVo { + + private static final long serialVersionUID = 1L; + + /** + * 关联ID + */ + @ExcelProperty(value = "关联ID") + private Long relId; + + /** + * 维修计划ID + */ + @ExcelProperty(value = "维修计划ID") + private Long planId; + + /** + * 巡检记录ID(eqp_equipment_inspection_record.record_id,run_status=2 异常记录) + */ + @ExcelProperty(value = "巡检记录ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "e=qp_equipment_inspection_record.record_id,run_status=2,异=常记录") + private Long recordId; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanDetailVo.java b/klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanDetailVo.java new file mode 100644 index 00000000..d2f3743b --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanDetailVo.java @@ -0,0 +1,125 @@ +package com.klp.flow.domain.vo; + +import java.math.BigDecimal; +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_maintenance_plan_detail + * + * @author klp + * @date 2026-06-23 + */ +@Data +@ExcelIgnoreUnannotated +public class EqpMaintenancePlanDetailVo { + + private static final long serialVersionUID = 1L; + + /** + * 明细ID + */ + @ExcelProperty(value = "明细ID") + private Long detailId; + + /** + * 维修计划ID + */ + @ExcelProperty(value = "维修计划ID") + private Long planId; + + /** + * 巡检记录ID(来源异常工单) + */ + @ExcelProperty(value = "巡检记录ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "来=源异常工单") + private Long recordId; + + /** + * 设备ID(用户手动选择,关联 eqp_equipment_management.equipment_id) + */ + @ExcelProperty(value = "设备ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "用=户手动选择,关联,e=qp_equipment_management.equipment_id") + private Long equipmentId; + + /** + * 产线名称 + */ + @ExcelProperty(value = "产线名称") + private String productionLine; + + /** + * 设备部件名称 + */ + @ExcelProperty(value = "设备部件名称") + private String componentName; + + /** + * 单条维修项计划执行日期 + */ + @ExcelProperty(value = "单条维修项计划执行日期") + private Date itemPlanDate; + + /** + * 明细类型:0=保养 1=维修 + */ + @ExcelProperty(value = "明细类型:0=保养 1=维修") + private Long maintenanceCategory; + + /** + * 明细完成状态:0=未开始 1=进行中 2=已完成 + */ + @ExcelProperty(value = "明细完成状态:0=未开始 1=进行中 2=已完成") + private Long detailStatus; + + /** + * 维修内容描述 + */ + @ExcelProperty(value = "维修内容描述") + private String repairContent; + + /** + * 维修负责人 + */ + @ExcelProperty(value = "维修负责人") + private String repairUser; + + /** + * 完成时间(打勾时记录) + */ + @ExcelProperty(value = "完成时间", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "打=勾时记录") + private Date completeTime; + + /** + * 实际支出金额(元) + */ + @ExcelProperty(value = "实际支出金额(元)") + private BigDecimal actualCost; + + /** + * 完成进度百分比(0-100) + */ + @ExcelProperty(value = "完成进度百分比(0-100)") + private Long progressRate; + + /** + * 目标厂家 + */ + @ExcelProperty(value = "目标厂家") + private String targetManufacturer; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanVo.java b/klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanVo.java new file mode 100644 index 00000000..b4f0effb --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/domain/vo/EqpMaintenancePlanVo.java @@ -0,0 +1,116 @@ +package com.klp.flow.domain.vo; + +import java.math.BigDecimal; +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_maintenance_plan + * + * @author klp + * @date 2026-06-23 + */ +@Data +@ExcelIgnoreUnannotated +public class EqpMaintenancePlanVo { + + private static final long serialVersionUID = 1L; + + /** + * 计划ID + */ + @ExcelProperty(value = "计划ID") + private Long planId; + + /** + * 计划编号 + */ + @ExcelProperty(value = "计划编号") + private String planNo; + + /** + * 计划名称 + */ + @ExcelProperty(value = "计划名称") + private String planName; + + /** + * 维修类型:1=定期保养 2=安全整改 3=专项检修 4=故障维修 + */ + @ExcelProperty(value = "维修类型:1=定期保养 2=安全整改 3=专项检修 4=故障维修") + private Long repairType; + + /** + * 优先级:1=普通 2=重要 + */ + @ExcelProperty(value = "优先级:1=普通 2=重要") + private Long priorityLevel; + + /** + * 计划执行状态:1=待维修,2=维修中,3=已完成,4=已取消 + */ + @ExcelProperty(value = "计划执行状态:1=待维修,2=维修中,3=已完成,4=已取消") + private Long planStatus; + + /** + * 审批状态:0=草稿 1=待审批 2=已审批 3=已驳回 + */ + @ExcelProperty(value = "审批状态:0=草稿 1=待审批 2=已审批 3=已驳回") + private Long approvalStatus; + + /** + * 计划开始时间 + */ + @ExcelProperty(value = "计划开始时间") + private Date plannedStartTime; + + /** + * 计划结束时间 + */ + @ExcelProperty(value = "计划结束时间") + private Date plannedEndTime; + + /** + * 负责部门 + */ + @ExcelProperty(value = "负责部门") + private String dutyDept; + + /** + * 计划负责人 + */ + @ExcelProperty(value = "计划负责人") + private String planOwner; + + /** + * 预算金额(元) + */ + @ExcelProperty(value = "预算金额(元)") + private BigDecimal budgetAmount; + + /** + * 计划说明 + */ + @ExcelProperty(value = "计划说明") + private String planDescription; + + /** + * 实际完成时间 + */ + @ExcelProperty(value = "实际完成时间") + private Date actualCompleteTime; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-flow/src/main/java/com/klp/flow/mapper/EqpMaintenancePlanAbnormalMapper.java b/klp-flow/src/main/java/com/klp/flow/mapper/EqpMaintenancePlanAbnormalMapper.java new file mode 100644 index 00000000..4e7a114b --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/mapper/EqpMaintenancePlanAbnormalMapper.java @@ -0,0 +1,15 @@ +package com.klp.flow.mapper; + +import com.klp.flow.domain.EqpMaintenancePlanAbnormal; +import com.klp.flow.domain.vo.EqpMaintenancePlanAbnormalVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 维修计划-异常记录关联Mapper接口 + * + * @author klp + * @date 2026-06-23 + */ +public interface EqpMaintenancePlanAbnormalMapper extends BaseMapperPlus { + +} diff --git a/klp-flow/src/main/java/com/klp/flow/mapper/EqpMaintenancePlanDetailMapper.java b/klp-flow/src/main/java/com/klp/flow/mapper/EqpMaintenancePlanDetailMapper.java new file mode 100644 index 00000000..ffbaaf40 --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/mapper/EqpMaintenancePlanDetailMapper.java @@ -0,0 +1,15 @@ +package com.klp.flow.mapper; + +import com.klp.flow.domain.EqpMaintenancePlanDetail; +import com.klp.flow.domain.vo.EqpMaintenancePlanDetailVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 维修计划明细Mapper接口 + * + * @author klp + * @date 2026-06-23 + */ +public interface EqpMaintenancePlanDetailMapper extends BaseMapperPlus { + +} diff --git a/klp-flow/src/main/java/com/klp/flow/mapper/EqpMaintenancePlanMapper.java b/klp-flow/src/main/java/com/klp/flow/mapper/EqpMaintenancePlanMapper.java new file mode 100644 index 00000000..d1aa2bee --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/mapper/EqpMaintenancePlanMapper.java @@ -0,0 +1,15 @@ +package com.klp.flow.mapper; + +import com.klp.flow.domain.EqpMaintenancePlan; +import com.klp.flow.domain.vo.EqpMaintenancePlanVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 维修计划主Mapper接口 + * + * @author klp + * @date 2026-06-23 + */ +public interface EqpMaintenancePlanMapper extends BaseMapperPlus { + +} diff --git a/klp-flow/src/main/java/com/klp/flow/service/IEqpMaintenancePlanAbnormalService.java b/klp-flow/src/main/java/com/klp/flow/service/IEqpMaintenancePlanAbnormalService.java new file mode 100644 index 00000000..5a58f469 --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/service/IEqpMaintenancePlanAbnormalService.java @@ -0,0 +1,49 @@ +package com.klp.flow.service; + +import com.klp.flow.domain.EqpMaintenancePlanAbnormal; +import com.klp.flow.domain.vo.EqpMaintenancePlanAbnormalVo; +import com.klp.flow.domain.bo.EqpMaintenancePlanAbnormalBo; +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-06-23 + */ +public interface IEqpMaintenancePlanAbnormalService { + + /** + * 查询维修计划-异常记录关联 + */ + EqpMaintenancePlanAbnormalVo queryById(Long relId); + + /** + * 查询维修计划-异常记录关联列表 + */ + TableDataInfo queryPageList(EqpMaintenancePlanAbnormalBo bo, PageQuery pageQuery); + + /** + * 查询维修计划-异常记录关联列表 + */ + List queryList(EqpMaintenancePlanAbnormalBo bo); + + /** + * 新增维修计划-异常记录关联 + */ + Boolean insertByBo(EqpMaintenancePlanAbnormalBo bo); + + /** + * 修改维修计划-异常记录关联 + */ + Boolean updateByBo(EqpMaintenancePlanAbnormalBo bo); + + /** + * 校验并批量删除维修计划-异常记录关联信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-flow/src/main/java/com/klp/flow/service/IEqpMaintenancePlanDetailService.java b/klp-flow/src/main/java/com/klp/flow/service/IEqpMaintenancePlanDetailService.java new file mode 100644 index 00000000..61909750 --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/service/IEqpMaintenancePlanDetailService.java @@ -0,0 +1,49 @@ +package com.klp.flow.service; + +import com.klp.flow.domain.EqpMaintenancePlanDetail; +import com.klp.flow.domain.vo.EqpMaintenancePlanDetailVo; +import com.klp.flow.domain.bo.EqpMaintenancePlanDetailBo; +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-06-23 + */ +public interface IEqpMaintenancePlanDetailService { + + /** + * 查询维修计划明细 + */ + EqpMaintenancePlanDetailVo queryById(Long detailId); + + /** + * 查询维修计划明细列表 + */ + TableDataInfo queryPageList(EqpMaintenancePlanDetailBo bo, PageQuery pageQuery); + + /** + * 查询维修计划明细列表 + */ + List queryList(EqpMaintenancePlanDetailBo bo); + + /** + * 新增维修计划明细 + */ + Boolean insertByBo(EqpMaintenancePlanDetailBo bo); + + /** + * 修改维修计划明细 + */ + Boolean updateByBo(EqpMaintenancePlanDetailBo bo); + + /** + * 校验并批量删除维修计划明细信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-flow/src/main/java/com/klp/flow/service/IEqpMaintenancePlanService.java b/klp-flow/src/main/java/com/klp/flow/service/IEqpMaintenancePlanService.java new file mode 100644 index 00000000..3317880c --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/service/IEqpMaintenancePlanService.java @@ -0,0 +1,49 @@ +package com.klp.flow.service; + +import com.klp.flow.domain.EqpMaintenancePlan; +import com.klp.flow.domain.vo.EqpMaintenancePlanVo; +import com.klp.flow.domain.bo.EqpMaintenancePlanBo; +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-06-23 + */ +public interface IEqpMaintenancePlanService { + + /** + * 查询维修计划主 + */ + EqpMaintenancePlanVo queryById(Long planId); + + /** + * 查询维修计划主列表 + */ + TableDataInfo queryPageList(EqpMaintenancePlanBo bo, PageQuery pageQuery); + + /** + * 查询维修计划主列表 + */ + List queryList(EqpMaintenancePlanBo bo); + + /** + * 新增维修计划主 + */ + Boolean insertByBo(EqpMaintenancePlanBo bo); + + /** + * 修改维修计划主 + */ + Boolean updateByBo(EqpMaintenancePlanBo bo); + + /** + * 校验并批量删除维修计划主信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-flow/src/main/java/com/klp/flow/service/impl/EqpMaintenancePlanAbnormalServiceImpl.java b/klp-flow/src/main/java/com/klp/flow/service/impl/EqpMaintenancePlanAbnormalServiceImpl.java new file mode 100644 index 00000000..078c3184 --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/service/impl/EqpMaintenancePlanAbnormalServiceImpl.java @@ -0,0 +1,109 @@ +package com.klp.flow.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 lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.flow.domain.bo.EqpMaintenancePlanAbnormalBo; +import com.klp.flow.domain.vo.EqpMaintenancePlanAbnormalVo; +import com.klp.flow.domain.EqpMaintenancePlanAbnormal; +import com.klp.flow.mapper.EqpMaintenancePlanAbnormalMapper; +import com.klp.flow.service.IEqpMaintenancePlanAbnormalService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 维修计划-异常记录关联Service业务层处理 + * + * @author klp + * @date 2026-06-23 + */ +@RequiredArgsConstructor +@Service +public class EqpMaintenancePlanAbnormalServiceImpl implements IEqpMaintenancePlanAbnormalService { + + private final EqpMaintenancePlanAbnormalMapper baseMapper; + + /** + * 查询维修计划-异常记录关联 + */ + @Override + public EqpMaintenancePlanAbnormalVo queryById(Long relId){ + return baseMapper.selectVoById(relId); + } + + /** + * 查询维修计划-异常记录关联列表 + */ + @Override + public TableDataInfo queryPageList(EqpMaintenancePlanAbnormalBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询维修计划-异常记录关联列表 + */ + @Override + public List queryList(EqpMaintenancePlanAbnormalBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(EqpMaintenancePlanAbnormalBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getPlanId() != null, EqpMaintenancePlanAbnormal::getPlanId, bo.getPlanId()); + lqw.eq(bo.getRecordId() != null, EqpMaintenancePlanAbnormal::getRecordId, bo.getRecordId()); + return lqw; + } + + /** + * 新增维修计划-异常记录关联 + */ + @Override + public Boolean insertByBo(EqpMaintenancePlanAbnormalBo bo) { + EqpMaintenancePlanAbnormal add = BeanUtil.toBean(bo, EqpMaintenancePlanAbnormal.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setRelId(add.getRelId()); + } + return flag; + } + + /** + * 修改维修计划-异常记录关联 + */ + @Override + public Boolean updateByBo(EqpMaintenancePlanAbnormalBo bo) { + EqpMaintenancePlanAbnormal update = BeanUtil.toBean(bo, EqpMaintenancePlanAbnormal.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(EqpMaintenancePlanAbnormal entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除维修计划-异常记录关联 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-flow/src/main/java/com/klp/flow/service/impl/EqpMaintenancePlanDetailServiceImpl.java b/klp-flow/src/main/java/com/klp/flow/service/impl/EqpMaintenancePlanDetailServiceImpl.java new file mode 100644 index 00000000..5da87b2f --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/service/impl/EqpMaintenancePlanDetailServiceImpl.java @@ -0,0 +1,122 @@ +package com.klp.flow.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.flow.domain.bo.EqpMaintenancePlanDetailBo; +import com.klp.flow.domain.vo.EqpMaintenancePlanDetailVo; +import com.klp.flow.domain.EqpMaintenancePlanDetail; +import com.klp.flow.mapper.EqpMaintenancePlanDetailMapper; +import com.klp.flow.service.IEqpMaintenancePlanDetailService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 维修计划明细Service业务层处理 + * + * @author klp + * @date 2026-06-23 + */ +@RequiredArgsConstructor +@Service +public class EqpMaintenancePlanDetailServiceImpl implements IEqpMaintenancePlanDetailService { + + private final EqpMaintenancePlanDetailMapper baseMapper; + + /** + * 查询维修计划明细 + */ + @Override + public EqpMaintenancePlanDetailVo queryById(Long detailId){ + return baseMapper.selectVoById(detailId); + } + + /** + * 查询维修计划明细列表 + */ + @Override + public TableDataInfo queryPageList(EqpMaintenancePlanDetailBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询维修计划明细列表 + */ + @Override + public List queryList(EqpMaintenancePlanDetailBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(EqpMaintenancePlanDetailBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getPlanId() != null, EqpMaintenancePlanDetail::getPlanId, bo.getPlanId()); + lqw.eq(bo.getRecordId() != null, EqpMaintenancePlanDetail::getRecordId, bo.getRecordId()); + lqw.eq(bo.getEquipmentId() != null, EqpMaintenancePlanDetail::getEquipmentId, bo.getEquipmentId()); + lqw.eq(StringUtils.isNotBlank(bo.getProductionLine()), EqpMaintenancePlanDetail::getProductionLine, bo.getProductionLine()); + lqw.like(StringUtils.isNotBlank(bo.getComponentName()), EqpMaintenancePlanDetail::getComponentName, bo.getComponentName()); + lqw.eq(bo.getItemPlanDate() != null, EqpMaintenancePlanDetail::getItemPlanDate, bo.getItemPlanDate()); + lqw.eq(bo.getMaintenanceCategory() != null, EqpMaintenancePlanDetail::getMaintenanceCategory, bo.getMaintenanceCategory()); + lqw.eq(bo.getDetailStatus() != null, EqpMaintenancePlanDetail::getDetailStatus, bo.getDetailStatus()); + lqw.eq(StringUtils.isNotBlank(bo.getRepairContent()), EqpMaintenancePlanDetail::getRepairContent, bo.getRepairContent()); + lqw.eq(StringUtils.isNotBlank(bo.getRepairUser()), EqpMaintenancePlanDetail::getRepairUser, bo.getRepairUser()); + lqw.eq(bo.getCompleteTime() != null, EqpMaintenancePlanDetail::getCompleteTime, bo.getCompleteTime()); + lqw.eq(bo.getActualCost() != null, EqpMaintenancePlanDetail::getActualCost, bo.getActualCost()); + lqw.eq(bo.getProgressRate() != null, EqpMaintenancePlanDetail::getProgressRate, bo.getProgressRate()); + lqw.eq(StringUtils.isNotBlank(bo.getTargetManufacturer()), EqpMaintenancePlanDetail::getTargetManufacturer, bo.getTargetManufacturer()); + return lqw; + } + + /** + * 新增维修计划明细 + */ + @Override + public Boolean insertByBo(EqpMaintenancePlanDetailBo bo) { + EqpMaintenancePlanDetail add = BeanUtil.toBean(bo, EqpMaintenancePlanDetail.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setDetailId(add.getDetailId()); + } + return flag; + } + + /** + * 修改维修计划明细 + */ + @Override + public Boolean updateByBo(EqpMaintenancePlanDetailBo bo) { + EqpMaintenancePlanDetail update = BeanUtil.toBean(bo, EqpMaintenancePlanDetail.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(EqpMaintenancePlanDetail entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除维修计划明细 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-flow/src/main/java/com/klp/flow/service/impl/EqpMaintenancePlanServiceImpl.java b/klp-flow/src/main/java/com/klp/flow/service/impl/EqpMaintenancePlanServiceImpl.java new file mode 100644 index 00000000..e9a24578 --- /dev/null +++ b/klp-flow/src/main/java/com/klp/flow/service/impl/EqpMaintenancePlanServiceImpl.java @@ -0,0 +1,121 @@ +package com.klp.flow.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.flow.domain.bo.EqpMaintenancePlanBo; +import com.klp.flow.domain.vo.EqpMaintenancePlanVo; +import com.klp.flow.domain.EqpMaintenancePlan; +import com.klp.flow.mapper.EqpMaintenancePlanMapper; +import com.klp.flow.service.IEqpMaintenancePlanService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 维修计划主Service业务层处理 + * + * @author klp + * @date 2026-06-23 + */ +@RequiredArgsConstructor +@Service +public class EqpMaintenancePlanServiceImpl implements IEqpMaintenancePlanService { + + private final EqpMaintenancePlanMapper baseMapper; + + /** + * 查询维修计划主 + */ + @Override + public EqpMaintenancePlanVo queryById(Long planId){ + return baseMapper.selectVoById(planId); + } + + /** + * 查询维修计划主列表 + */ + @Override + public TableDataInfo queryPageList(EqpMaintenancePlanBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询维修计划主列表 + */ + @Override + public List queryList(EqpMaintenancePlanBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(EqpMaintenancePlanBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getPlanNo()), EqpMaintenancePlan::getPlanNo, bo.getPlanNo()); + lqw.like(StringUtils.isNotBlank(bo.getPlanName()), EqpMaintenancePlan::getPlanName, bo.getPlanName()); + lqw.eq(bo.getRepairType() != null, EqpMaintenancePlan::getRepairType, bo.getRepairType()); + lqw.eq(bo.getPriorityLevel() != null, EqpMaintenancePlan::getPriorityLevel, bo.getPriorityLevel()); + lqw.eq(bo.getPlanStatus() != null, EqpMaintenancePlan::getPlanStatus, bo.getPlanStatus()); + lqw.eq(bo.getApprovalStatus() != null, EqpMaintenancePlan::getApprovalStatus, bo.getApprovalStatus()); + lqw.eq(bo.getPlannedStartTime() != null, EqpMaintenancePlan::getPlannedStartTime, bo.getPlannedStartTime()); + lqw.eq(bo.getPlannedEndTime() != null, EqpMaintenancePlan::getPlannedEndTime, bo.getPlannedEndTime()); + lqw.eq(StringUtils.isNotBlank(bo.getDutyDept()), EqpMaintenancePlan::getDutyDept, bo.getDutyDept()); + lqw.eq(StringUtils.isNotBlank(bo.getPlanOwner()), EqpMaintenancePlan::getPlanOwner, bo.getPlanOwner()); + lqw.eq(bo.getBudgetAmount() != null, EqpMaintenancePlan::getBudgetAmount, bo.getBudgetAmount()); + lqw.eq(StringUtils.isNotBlank(bo.getPlanDescription()), EqpMaintenancePlan::getPlanDescription, bo.getPlanDescription()); + lqw.eq(bo.getActualCompleteTime() != null, EqpMaintenancePlan::getActualCompleteTime, bo.getActualCompleteTime()); + return lqw; + } + + /** + * 新增维修计划主 + */ + @Override + public Boolean insertByBo(EqpMaintenancePlanBo bo) { + EqpMaintenancePlan add = BeanUtil.toBean(bo, EqpMaintenancePlan.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setPlanId(add.getPlanId()); + } + return flag; + } + + /** + * 修改维修计划主 + */ + @Override + public Boolean updateByBo(EqpMaintenancePlanBo bo) { + EqpMaintenancePlan update = BeanUtil.toBean(bo, EqpMaintenancePlan.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(EqpMaintenancePlan entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除维修计划主 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanAbnormalMapper.xml b/klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanAbnormalMapper.xml new file mode 100644 index 00000000..fb6dba83 --- /dev/null +++ b/klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanAbnormalMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + diff --git a/klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanDetailMapper.xml b/klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanDetailMapper.xml new file mode 100644 index 00000000..7242f976 --- /dev/null +++ b/klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanDetailMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanMapper.xml b/klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanMapper.xml new file mode 100644 index 00000000..8284f05c --- /dev/null +++ b/klp-flow/src/main/resources/mapper/flow/EqpMaintenancePlanMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +