diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairController.java index e5181e3d..52fe317f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairController.java @@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.Arrays; @@ -91,6 +92,15 @@ public class RepairController extends BaseController { return AjaxResult.success(list); } + /** + * 查询维修单 + */ + @ApiOperation(value = "获取维修单详情") + @GetMapping("/getRepairTicketInfo") + public AjaxResult getRepairTicketInfo(@NotBlank(message = "TaskId参数不能为空") String taskId) { + return service.getRepairTicketInfo(taskId); + } + /** * 新增维修记录 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java index 118bdea4..1d9f466f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java @@ -97,4 +97,12 @@ public class RepairTaskDetails extends BaseEntity { @ApiModelProperty(value = "关键字") private String keyword; + + public RepairTaskDetails(String taskId) { + this.taskId = taskId; + } + + public RepairTaskDetails() { + } + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairTicketVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairTicketVo.java new file mode 100644 index 00000000..341a1b42 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairTicketVo.java @@ -0,0 +1,36 @@ +package com.bonus.material.repair.domain.vo; + +import com.bonus.material.repair.domain.RepairTask; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author : 阮世耀 + * @version : 1.0 + * @PackagePath: com.bonus.material.repair.domain.vo + * @CreateTime: 2024-11-20 09:43 + * @Description: 维修任务单VO + */ +@Data +@Api(value = "维修任务单") +@Accessors(chain = true) +public class RepairTicketVo { + + @ApiModelProperty(value = "维修任务信息") + private RepairTask repairTaskInfo; + + @ApiModelProperty(value = "维修物资列表") + private List repairDeviceArray; + + // 覆盖默认get方法,防止空指针异常 + public List getRepairDeviceList() { + if (this.repairDeviceArray == null) {return new ArrayList<>();} + return this.repairDeviceArray; + } + +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java index 90ebeed6..a42c3b09 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java @@ -24,6 +24,12 @@ public interface RepairMapper { */ List getRepairTaskList(RepairTask bean); + /** + * 获取维修任务列表 + * @param taskId 任务id + */ + RepairTask getRepairTaskInfoByTaskId(Long taskId); + /** * 获取维修详细列表 * @param bean 维修任务详情--查询条件 @@ -49,7 +55,7 @@ public interface RepairMapper { * @param repairer 维修人员 * @param userId 用户id */ - int updateRepairedNum(@Param("id") Long id, @Param("repairNum")int repairNum,@Param("repairer") Long repairer,@Param("userId") Long userId); + int updateRepairedNum(@Param("id") Long id, @Param("repairNum") int repairNum, @Param("repairer") Long repairer, @Param("userId") Long userId); /** * 修改报废数量 @@ -57,7 +63,7 @@ public interface RepairMapper { * @param scrapNum 报废数量 * @param userId 用户id */ - int updateScrapNum(@Param("id")Long id, @Param("scrapNum")int scrapNum,@Param("userId")Long userId); + int updateScrapNum(@Param("id") Long id, @Param("scrapNum") int scrapNum, @Param("userId") Long userId); /** * 新增配件维修记录 @@ -70,7 +76,7 @@ public interface RepairMapper { * @param ids 主键集合 * @param userId 用户id */ - int completeRepair(@Param("ids") ArrayList ids, @Param("userId")Long userId); + int completeRepair(@Param("ids") ArrayList ids, @Param("userId") Long userId); /** * 查询维修人员列表 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/RepairService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/RepairService.java index ee87204d..f15df446 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/RepairService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/RepairService.java @@ -29,6 +29,11 @@ public interface RepairService { */ List getRepairMaTypeList(RepairTaskDetails bean); + /** + * 查询维修单 + */ + AjaxResult getRepairTicketInfo(String taskId); + /** * 提交维修记录 */ @@ -36,8 +41,6 @@ public interface RepairService { /** * 快捷维修记录 - * @param list - * @return */ AjaxResult fastRepairApply(List list); @@ -50,7 +53,6 @@ public interface RepairService { /** * 查询维修人员列表 - * @return */ List selectUserList(); @@ -65,8 +67,6 @@ public interface RepairService { /** * 导出维修列表 - * @param bean - * @return */ List exportRepairTaskList(RepairTask bean); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java index 18bacca9..5471cdf5 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java @@ -2,6 +2,7 @@ package com.bonus.material.repair.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.NumberUtil; import com.bonus.common.biz.enums.RepairTaskStatusEnum; import com.bonus.common.biz.enums.TmTaskTypeEnum; import com.bonus.common.core.exception.ServiceException; @@ -12,6 +13,7 @@ import com.bonus.material.basic.mapper.BmFileInfoMapper; import com.bonus.material.repair.domain.*; import com.bonus.material.repair.domain.vo.RepairDeviceListVo; import com.bonus.material.repair.domain.vo.RepairDeviceVO; +import com.bonus.material.repair.domain.vo.RepairTicketVo; import com.bonus.material.repair.mapper.RepairMapper; import com.bonus.material.repair.service.RepairService; import com.bonus.material.task.mapper.TmTaskMapper; @@ -22,6 +24,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.util.*; @@ -94,6 +97,42 @@ public class RepairServiceImpl implements RepairService { return new ArrayList<>(resultMap.values()); } + /** + * 查询维修单 + * @param taskId 任务id + */ + @Override + public AjaxResult getRepairTicketInfo(@NotBlank(message = "TaskId参数不能为空") String taskId) { + if (!NumberUtil.isNumber(taskId)) { + return AjaxResult.error("TaskId参数非数字类型,参数类型错误"); + } + try { + long thisTaskId = Long.parseLong(taskId); + // 查询维修任务信息 + RepairTask repairTaskInfo = repairMapper.getRepairTaskInfoByTaskId(thisTaskId); + // 查询维修任务详情 + List repairMaTypeList = getRepairMaTypeList(new RepairTaskDetails(taskId)); + // TODO: 待完善--查询维修配件信息 + List partList = new ArrayList<>(); + if (Objects.isNull(repairTaskInfo)) { + return AjaxResult.error("未查询到维修任务信息"); + } + + // 组装result返回对象 + RepairTicketVo result = new RepairTicketVo() + .setRepairTaskInfo(repairTaskInfo) + .setRepairDeviceArray(repairMaTypeList); + + return AjaxResult.success(result); + } catch (NumberFormatException e) { + return AjaxResult.error("TaskId转换类型时发生错误:" + e.getMessage()); + } catch (DataAccessException e) { + return AjaxResult.error("数据库查询操作失败:" + e.getMessage()); + } catch (Exception e) { + return AjaxResult.error("代码处理异常:" + e.getMessage()); + } + } + /** * 提交维修记录 * @param bean repairApplyRecord diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml index d183abf8..c8658e40 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml @@ -80,6 +80,35 @@ where id = #{id} + + +