From 19048c98b7f62e55482ba38b67c254b87e5ab13a Mon Sep 17 00:00:00 2001 From: qinyulong Date: Tue, 13 Jan 2026 14:03:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=BB=B4=E6=8A=A4=E6=A3=80?= =?UTF-8?q?=E7=B4=A2+=E8=AE=BE=E5=A4=87=E7=BB=B4=E6=8A=A4=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E5=A2=9E=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../request/EquipmentMaintenanceQuery.java | 42 ++++++ .../pojo/vo/CertificateMaintenanceVO.java | 3 - .../pojo/vo/EquipmentMaintenanceListVO.java | 21 +++ .../pojo/vo/EquipmentMaintenanceVO.java | 32 +++++ .../EquipmentMaintenanceController.java | 18 ++- .../mapper/CertificateMaintenanceMapper.xml | 5 +- .../mapper/EquipmentMaintenanceMapper.java | 7 +- .../mapper/EquipmentMaintenanceMapper.xml | 126 +++++++++++++++++- .../service/IEquipmentMaintenanceService.java | 9 +- .../impl/EquipmentMaintenanceServiceImpl.java | 14 +- 10 files changed, 259 insertions(+), 18 deletions(-) create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/EquipmentMaintenanceQuery.java create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceListVO.java diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/EquipmentMaintenanceQuery.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/EquipmentMaintenanceQuery.java new file mode 100644 index 00000000..1a6e9b01 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/EquipmentMaintenanceQuery.java @@ -0,0 +1,42 @@ +package org.springblade.desk.jobTransfer.pojo.request; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 设备维护管理检索请求入参 + */ +@Data +public class EquipmentMaintenanceQuery { + /** + * 姓名 + */ + @Schema(description = "姓名") + private String name; + /** + * 所属班组 + */ + @Schema(description = "所属班组") + private Long deptId; + + /** + * 所属岗位 + */ + @Schema(description = "所属岗位") + private String station; + /** + * 技能等级 + */ + @Schema(description = "技能等级") + private Short skill; + /** + * 证书类型 + */ + @Schema(description = "设备ID") + private Long equipmentId; + /** + * 维护状态(1正常,2到期,3离职) + */ + @Schema(description = "维护状态(1正常,2到期,3离职)") + private Short maintenanceStatus; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CertificateMaintenanceVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CertificateMaintenanceVO.java index 1c6e9ebf..7d2ba0fe 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CertificateMaintenanceVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CertificateMaintenanceVO.java @@ -51,7 +51,6 @@ public class CertificateMaintenanceVO extends CertificateMaintenanceEntity { //得到结算后的结果 yyyy-MM-dd HH:mm Date date = cal.getTime(); cal.setTime(date); - cal.add(Calendar.MONTH, -1); return cal.getTime(); } else { return null; @@ -68,7 +67,6 @@ public class CertificateMaintenanceVO extends CertificateMaintenanceEntity { //得到结算后的结果 yyyy-MM-dd HH:mm Date date = cal.getTime(); cal.setTime(date); - cal.add(Calendar.MONTH, -1); return cal.getTime(); } else { return null; @@ -84,7 +82,6 @@ public class CertificateMaintenanceVO extends CertificateMaintenanceEntity { //得到结算后的结果 yyyy-MM-dd HH:mm Date date = cal.getTime(); cal.setTime(date); - cal.add(Calendar.MONTH, -1); return cal.getTime(); } else { return null; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceListVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceListVO.java new file mode 100644 index 00000000..2eda7eea --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceListVO.java @@ -0,0 +1,21 @@ +package org.springblade.desk.jobTransfer.pojo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +/** + * 岗位证书台账VO + */ +@Data +public class EquipmentMaintenanceListVO { + + //人员岗位数据 + @Schema(description = "人员岗位数据") + private PostHandleVO postHandleVO; + + //设备维护数据集合 + @Schema(description = "设备维护数据集合") + private List equipmentMaintenanceVOList; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceVO.java index bed9c1d3..2c09c1c8 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceVO.java @@ -1,10 +1,13 @@ package org.springblade.desk.jobTransfer.pojo.vo; +import io.swagger.v3.oas.annotations.media.Schema; import org.springblade.desk.jobTransfer.pojo.entity.EquipmentMaintenanceEntity; import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serial; +import java.util.Calendar; +import java.util.Date; /** * 岗位设备维护 视图实体类 @@ -17,5 +20,34 @@ import java.io.Serial; public class EquipmentMaintenanceVO extends EquipmentMaintenanceEntity { @Serial private static final long serialVersionUID = 1L; + /** + * 设备名称 + */ + @Schema(description = "设备名称") + private String deviceName; + /** + * 设备编号 + */ + @Schema(description = "设备编号") + private String deviceCode; + /** + * 规格型号 + */ + @Schema(description = "规格型号") + private String macSpec; + // 到期日期 + public Date getValidityPeriodExpire() { + if (this.getEquipmentDate() != null && this.getEquipmentValidityPeriod() != null) { + Calendar cal = Calendar.getInstance(); + cal.setTime(this.getEquipmentDate()); + cal.add(Calendar.YEAR, Integer.valueOf(this.getEquipmentValidityPeriod().toString())); + //得到结算后的结果 yyyy-MM-dd HH:mm + Date date = cal.getTime(); + cal.setTime(date); + return cal.getTime(); + } else { + return null; + } + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java index c88ffe44..d38f03a2 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java @@ -16,7 +16,10 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.desk.jobTransfer.pojo.entity.CertificateMaintenanceEntity; import org.springblade.desk.jobTransfer.pojo.excel.EquipmentMaintenanceExcel; +import org.springblade.desk.jobTransfer.pojo.request.EquipmentMaintenanceQuery; +import org.springblade.desk.jobTransfer.pojo.vo.EquipmentMaintenanceListVO; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -72,9 +75,9 @@ public class EquipmentMaintenanceController extends BladeController { @Parameter(name = "equipmentId", description = "设备", in = ParameterIn.QUERY, schema = @Schema(type = "integer")), @Parameter(name = "maintenanceStatus", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "integer")), }) - @Operation(summary = "分页", description = "传入equipmentMaintenance") - public R> page(EquipmentMaintenanceVO equipmentMaintenance, Query query) { - IPage pages = equipmentMaintenanceService.selectEquipmentMaintenancePage(Condition.getPage(query), equipmentMaintenance); + @Operation(summary = "分页", description = "传入equipmentMaintenanceQuery") + public R> page(EquipmentMaintenanceQuery equipmentMaintenanceQuery, Query query) { + IPage pages = equipmentMaintenanceService.selectEquipmentMaintenancePage(Condition.getPage(query), equipmentMaintenanceQuery); return R.data(pages); } @@ -119,6 +122,15 @@ public class EquipmentMaintenanceController extends BladeController { } + /** + * 批量新增或修改 + */ + @PostMapping("/submit-list") + @ApiOperationSupport(order = 8) + @Operation(summary = "批量新增或修改", description = "") + public R submitList(@Valid @RequestBody List equipmentMaintenanceEntities) { + return R.status(equipmentMaintenanceService.submitList(equipmentMaintenanceEntities)); + } /** * 导出数据 */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml index 0846f923..0a90ab1a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml @@ -139,6 +139,9 @@ AND ph.station = #{query.station} + + AND ph.skill = #{query.skill} + AND cm.certificate_id = #{query.certificateId} @@ -189,6 +192,6 @@ ELSE 1 END ELSE 1 END, - m.UPDATE_TIME = SYSDATE + m.UPDATE_TIME = SYSDATE WHERE m.MAINTENANCE_STATUS != 3 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.java index 4ddfdc24..845dfd8f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.java @@ -2,6 +2,8 @@ package org.springblade.desk.jobTransfer.mapper; import org.springblade.desk.jobTransfer.pojo.entity.EquipmentMaintenanceEntity; import org.springblade.desk.jobTransfer.pojo.excel.EquipmentMaintenanceExcel; +import org.springblade.desk.jobTransfer.pojo.request.EquipmentMaintenanceQuery; +import org.springblade.desk.jobTransfer.pojo.vo.EquipmentMaintenanceListVO; import org.springblade.desk.jobTransfer.pojo.vo.EquipmentMaintenanceVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; @@ -22,10 +24,10 @@ public interface EquipmentMaintenanceMapper extends BaseMapper */ - List selectEquipmentMaintenancePage(IPage page, EquipmentMaintenanceVO equipmentMaintenance); + List selectEquipmentMaintenancePage(IPage page, EquipmentMaintenanceQuery query); /** @@ -36,4 +38,5 @@ public interface EquipmentMaintenanceMapper extends BaseMapper exportEquipmentMaintenance(@Param("ew") Wrapper queryWrapper); + void updateMaintenanceStatus(); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml index 70a669dc..8a233930 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml @@ -20,12 +20,119 @@ + + + + + - + SELECT + ph.ID as ph_id, + ph.*, + bd.DEPT_NAME as DEPT_NAME, + em.id as em_id, + em.ph_id as em_ph_id, + em.equipment_id, + em.equipment_validity_period, + em.equipment_date, + em.maintenance_status, + equipment.device_name, + equipment.device_code, + equipment.mac_spec + FROM MES_POST_HANDLE ph + LEFT JOIN BLADE_USER bu ON ph.USER_ID = bu.ID + LEFT JOIN BLADE_DEPT bd ON ph.DEPT_ID = bd.ID + LEFT JOIN MES_EQUIPMENT_MAINTENANCE em ON ph.id = em.ph_id AND em.is_deleted = 0 + LEFT JOIN MES_EQUIPMENT equipment ON em.equipment_id = equipment.id AND equipment.is_deleted = 0 + WHERE ph.is_deleted = 0 + + AND ph.name LIKE CONCAT(CONCAT('%', #{query.name}), '%') + + + AND ph.dept_id = #{query.deptId} + + + AND ph.skill = #{query.skill} + + + AND ph.station = #{query.station} + + + AND em.equipment_id = #{query.equipmentId} + + + + + + AND em.maintenance_status = #{query.maintenanceStatus} + + ORDER BY ph.create_time DESC, em.equipment_date DESC @@ -35,4 +142,15 @@ FROM MES_EQUIPMENT_MAINTENANCE ${ew.customSqlSegment} + + UPDATE MES_EQUIPMENT_MAINTENANCE + SET MAINTENANCE_STATUS = CASE + WHEN EQUIPMENT_DATE + + NUMTOYMINTERVAL(EQUIPMENT_VALIDITY_PERIOD, 'YEAR') < SYSDATE + THEN 2 + ELSE 1 END, + UPDATE_TIME = SYSDATE + WHERE IS_DELETED = 0 + AND MAINTENANCE_STATUS != 3 + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IEquipmentMaintenanceService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IEquipmentMaintenanceService.java index ebac3f11..20a8a7ed 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IEquipmentMaintenanceService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IEquipmentMaintenanceService.java @@ -3,7 +3,8 @@ package org.springblade.desk.jobTransfer.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import org.springblade.desk.jobTransfer.pojo.entity.EquipmentMaintenanceEntity; import org.springblade.desk.jobTransfer.pojo.excel.EquipmentMaintenanceExcel; -import org.springblade.desk.jobTransfer.pojo.vo.EquipmentMaintenanceVO; +import org.springblade.desk.jobTransfer.pojo.request.EquipmentMaintenanceQuery; +import org.springblade.desk.jobTransfer.pojo.vo.EquipmentMaintenanceListVO; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; @@ -20,10 +21,10 @@ public interface IEquipmentMaintenanceService extends BaseService */ - IPage selectEquipmentMaintenancePage(IPage page, EquipmentMaintenanceVO equipmentMaintenance); + IPage selectEquipmentMaintenancePage(IPage page, EquipmentMaintenanceQuery equipmentMaintenanceQuery); /** @@ -34,4 +35,6 @@ public interface IEquipmentMaintenanceService extends BaseService exportEquipmentMaintenance(Wrapper queryWrapper); + Boolean submitList(List equipmentMaintenanceEntities); + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/EquipmentMaintenanceServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/EquipmentMaintenanceServiceImpl.java index dc38e5dc..8c48c7e5 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/EquipmentMaintenanceServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/EquipmentMaintenanceServiceImpl.java @@ -2,6 +2,8 @@ package org.springblade.desk.jobTransfer.service.impl; import org.springblade.desk.jobTransfer.pojo.entity.EquipmentMaintenanceEntity; import org.springblade.desk.jobTransfer.pojo.excel.EquipmentMaintenanceExcel; +import org.springblade.desk.jobTransfer.pojo.request.EquipmentMaintenanceQuery; +import org.springblade.desk.jobTransfer.pojo.vo.EquipmentMaintenanceListVO; import org.springblade.desk.jobTransfer.pojo.vo.EquipmentMaintenanceVO; import org.springblade.desk.jobTransfer.mapper.EquipmentMaintenanceMapper; import org.springblade.desk.jobTransfer.service.IEquipmentMaintenanceService; @@ -22,8 +24,8 @@ import java.util.List; public class EquipmentMaintenanceServiceImpl extends BaseServiceImpl implements IEquipmentMaintenanceService { @Override - public IPage selectEquipmentMaintenancePage(IPage page, EquipmentMaintenanceVO equipmentMaintenance) { - return page.setRecords(baseMapper.selectEquipmentMaintenancePage(page, equipmentMaintenance)); + public IPage selectEquipmentMaintenancePage(IPage page, EquipmentMaintenanceQuery equipmentMaintenanceQuery) { + return page.setRecords(baseMapper.selectEquipmentMaintenancePage(page, equipmentMaintenanceQuery)); } @@ -36,4 +38,12 @@ public class EquipmentMaintenanceServiceImpl extends BaseServiceImpl equipmentMaintenanceEntities) { + boolean saved = this.saveOrUpdateBatch(equipmentMaintenanceEntities); + //更新状态 + baseMapper.updateMaintenanceStatus(); + return saved; + } + }