Commit eca2c176a2617bee2d36316d6bc17bd3e38281cc

Authored by YunaiV
1 parent c599198e

✨ feat(mes): 新增维修工单确认完成请求及相关逻辑

新增 MesDvRepairConfirmReqVO 类以处理维修工单确认完成请求,更新相关服务和控制器逻辑以支持新的请求格式。确保维修工单名称和完成日期为必填项,增强了数据验证和状态管理。
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/repair/MesDvRepairController.java
... ... @@ -125,10 +125,9 @@ public class MesDvRepairController {
125 125  
126 126 @PutMapping("/confirm")
127 127 @Operation(summary = "确认维修完成(维修中→待验收)")
128   - @Parameter(name = "id", description = "编号", required = true)
129 128 @PreAuthorize("@ss.hasPermission('mes:dv-repair:update')")
130   - public CommonResult<Boolean> confirmRepair(@RequestParam("id") Long id) {
131   - repairService.confirmRepair(id);
  129 + public CommonResult<Boolean> confirmRepair(@Valid @RequestBody cn.iocoder.yudao.module.mes.controller.admin.dv.repair.vo.MesDvRepairConfirmReqVO confirmReqVO) {
  130 + repairService.confirmRepair(confirmReqVO);
132 131 return success(true);
133 132 }
134 133  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/repair/vo/MesDvRepairConfirmReqVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mes.controller.admin.dv.repair.vo;
  2 +
  3 +import io.swagger.v3.oas.annotations.media.Schema;
  4 +import lombok.Data;
  5 +
  6 +import jakarta.validation.constraints.NotNull;
  7 +import java.time.LocalDateTime;
  8 +
  9 +@Schema(description = "管理后台 - MES 维修工单确认完成 Request VO")
  10 +@Data
  11 +public class MesDvRepairConfirmReqVO {
  12 +
  13 + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
  14 + @NotNull(message = "维修工单编号不能为空")
  15 + private Long id;
  16 +
  17 + @Schema(description = "维修完成日期", requiredMode = Schema.RequiredMode.REQUIRED)
  18 + @NotNull(message = "维修完成日期不能为空")
  19 + private LocalDateTime finishDate;
  20 +
  21 +}
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/repair/vo/MesDvRepairSaveReqVO.java
... ... @@ -18,7 +18,8 @@ public class MesDvRepairSaveReqVO {
18 18 @NotBlank(message = "维修工单编码不能为空")
19 19 private String code;
20 20  
21   - @Schema(description = "维修工单名称", example = "注塑机液压系统维修")
  21 + @Schema(description = "维修工单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "注塑机液压系统维修")
  22 + @NotBlank(message = "维修工单名称不能为空")
22 23 private String name;
23 24  
24 25 @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/repair/MesDvRepairService.java
1 1 package cn.iocoder.yudao.module.mes.service.dv.repair;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  4 +import cn.iocoder.yudao.module.mes.controller.admin.dv.repair.vo.MesDvRepairConfirmReqVO;
4 5 import cn.iocoder.yudao.module.mes.controller.admin.dv.repair.vo.MesDvRepairPageReqVO;
5 6 import cn.iocoder.yudao.module.mes.controller.admin.dv.repair.vo.MesDvRepairSaveReqVO;
6 7 import cn.iocoder.yudao.module.mes.dal.dataobject.dv.repair.MesDvRepairDO;
7   -
8 8 import jakarta.validation.Valid;
9 9  
10 10 /**
... ... @@ -78,9 +78,9 @@ public interface MesDvRepairService {
78 78 /**
79 79 * 确认维修完成(维修中→待验收)
80 80 *
81   - * @param id 编号
  81 + * @param confirmReqVO 确认信息
82 82 */
83   - void confirmRepair(Long id);
  83 + void confirmRepair(@Valid MesDvRepairConfirmReqVO confirmReqVO);
84 84  
85 85 /**
86 86 * 完成验收(待验收→已确认)
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/repair/MesDvRepairServiceImpl.java
... ... @@ -144,16 +144,16 @@ public class MesDvRepairServiceImpl implements MesDvRepairService {
144 144 }
145 145  
146 146 @Override
147   - public void confirmRepair(Long id) {
  147 + public void confirmRepair(cn.iocoder.yudao.module.mes.controller.admin.dv.repair.vo.MesDvRepairConfirmReqVO confirmReqVO) {
148 148 // 1. 校验存在,且状态为维修中
149   - MesDvRepairDO repair = validateRepairExists(id);
  149 + MesDvRepairDO repair = validateRepairExists(confirmReqVO.getId());
150 150 if (ObjUtil.notEqual(MesDvRepairStatusEnum.CONFIRMED.getStatus(), repair.getStatus())) {
151 151 throw exception(DV_REPAIR_NOT_CONFIRMED);
152 152 }
153 153  
154   - // 2. 更新状态为待验收,自动设置维修完成日期
155   - repairMapper.updateById(new MesDvRepairDO().setId(id)
156   - .setStatus(MesDvRepairStatusEnum.APPROVING.getStatus()).setFinishDate(LocalDateTime.now()));
  154 + // 2. 更新状态为待验收,设置维修完成日期
  155 + repairMapper.updateById(new MesDvRepairDO().setId(confirmReqVO.getId())
  156 + .setStatus(MesDvRepairStatusEnum.APPROVING.getStatus()).setFinishDate(confirmReqVO.getFinishDate()));
157 157 }
158 158  
159 159 @Override
... ...