From 5c8d940ea5537dddd2e6aff266830591d5ca275f Mon Sep 17 00:00:00 2001 From: xiaofajia <1665375861@qq.com> Date: Wed, 23 Oct 2024 21:20:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BB=A3=E7=A0=81=E6=9A=82?= =?UTF-8?q?=E6=8F=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/DlRepairTicketsController.java | 85 ++++++++++++------- .../service/DlRepairTicketsService.java | 18 ++++ .../impl/DlRepairTicketsServiceImpl.java | 83 +++++++++++++++--- .../impl/DlTicketWaresServiceImpl.java | 2 +- .../mapper/tickets/DlRepairTicketsMapper.xml | 3 + 5 files changed, 147 insertions(+), 44 deletions(-) diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTicketsController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTicketsController.java index 093efbac..755571c0 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTicketsController.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTicketsController.java @@ -34,7 +34,6 @@ public class DlRepairTicketsController { private DlRepairTicketsService dlRepairTicketsService; - /** * 维修工单表 新增 * @@ -140,7 +139,7 @@ public class DlRepairTicketsController { @GetMapping("/print/{id}") @Operation(summary = "维修工单打印") public void printDocument(HttpServletResponse response, @PathVariable String id) { - dlRepairTicketsService.print(response,id); + dlRepairTicketsService.print(response, id); } /** @@ -160,19 +159,19 @@ public class DlRepairTicketsController { /** * 分类查询工单分页 * + * @param repairTicketsReqVO 查询对象 + * @param pageNo 页码 + * @param pageSize 条数 * @author 小李 * @date 16:26 2024/10/12 - * @param repairTicketsReqVO 查询对象 - * @param pageNo 页码 - * @param pageSize 条数 - **/ + **/ @GetMapping("/pageType") @Operation(summary = "分类查询工单分页") public CommonResult getPageType(DlRepairTicketsReqVO repairTicketsReqVO, - @RequestParam(value = "pageNo", defaultValue = "1")Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10")Integer pageSize){ + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { Page page = new Page<>(pageNo, pageSize); - if(StringUtils.isEmpty(repairTicketsReqVO.getSelectType())){ + if (StringUtils.isEmpty(repairTicketsReqVO.getSelectType())) { //查询类型为空,默认查待处理的 repairTicketsReqVO.setSelectType(RepairCons.TICKETS_WAITING); } @@ -187,20 +186,20 @@ public class DlRepairTicketsController { **/ @GetMapping("/userRole") @Operation(summary = "判断登录用户的角色,针对维修工单中的四个角色") - public CommonResult getUserRole(){ + public CommonResult getUserRole() { return success(dlRepairTicketsService.getUserRole()); } /** * 接单 * + * @param id 工单ID * @author 小李 * @date 11:48 2024/10/14 - * @param id 工单ID - **/ + **/ @GetMapping("/take") @Operation(summary = "接单") - public CommonResult updateTake(@RequestParam("id") String id){ + public CommonResult updateTake(@RequestParam("id") String id) { dlRepairTicketsService.updateTake(id); return CommonResult.ok(); } @@ -208,13 +207,13 @@ public class DlRepairTicketsController { /** * 指派员工,通知施工 * + * @param reqVO 请求对象 * @author 小李 * @date 15:34 2024/10/14 - * @param reqVO 请求对象 - **/ + **/ @PostMapping("/notify") @Operation(summary = "指派员工,通知施工") - public CommonResult updateRepair(@RequestBody DlRepairTicketsReqVO reqVO){ + public CommonResult updateRepair(@RequestBody DlRepairTicketsReqVO reqVO) { dlRepairTicketsService.updateRepair(reqVO); return CommonResult.ok(); } @@ -222,13 +221,13 @@ public class DlRepairTicketsController { /** * 更新工单状态 * + * @param respVO 请求对象 * @author 小李 * @date 15:46 2024/10/18 - * @param respVO 请求对象 - **/ + **/ @PostMapping("/updateStatus") @Operation(summary = "更新工单状态") - public CommonResult updateStatus(@RequestBody DlRepairTicketsRespVO respVO){ + public CommonResult updateStatus(@RequestBody DlRepairTicketsRespVO respVO) { dlRepairTicketsService.updateStatus(respVO); return CommonResult.ok(); } @@ -236,14 +235,14 @@ public class DlRepairTicketsController { /** * 配件客户是否可见 * + * @param id 工单ID + * @param show 是否可见 * @author 小李 * @date 21:52 2024/10/18 - * @param id 工单ID - * @param show 是否可见 - **/ + **/ @GetMapping("/show") @Operation(summary = "配件客户是否可见") - public CommonResult updateShow(@RequestParam("id") String id, @RequestParam("show") String show){ + public CommonResult updateShow(@RequestParam("id") String id, @RequestParam("show") String show) { dlRepairTicketsService.updateShow(id, show); return CommonResult.ok(); } @@ -252,19 +251,47 @@ public class DlRepairTicketsController { * 查待总检或待出厂检验的工单 * 维修服务顾问和总检用的 * + * @param repairTicketsReqVO 请求对象 + * @param pageNo 页码 + * @param pageSize 条数 * @author 小李 * @date 11:40 2024/10/23 - * @param repairTicketsReqVO 请求对象 - * @param pageNo 页码 - * @param pageSize 条数 - **/ + **/ @GetMapping("/pageByRole") @Operation(summary = "查待总检或待出厂检验的工单") public CommonResult getPageByRole(DlRepairTicketsReqVO repairTicketsReqVO, - @RequestParam(value = "pageNo", defaultValue = "1")Integer pageNo, - @RequestParam(value = "pageSize", defaultValue = "10")Integer pageSize){ + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { Page page = new Page<>(pageNo, pageSize); return success(dlRepairTicketsService.getPageByRole(repairTicketsReqVO, page)); } + + /** + * 维修总检完成总检 + * + * @author 小李 + * @date 16:48 2024/10/23 + * @param respVO 请求对象 + **/ + @PostMapping("/inspection") + @Operation(summary = "维修总检完成总检") + public CommonResult inspection(@RequestBody DlRepairTicketsRespVO respVO) { + dlRepairTicketsService.inspection(respVO); + return CommonResult.ok(); + } + + /** + * 服务顾问上传出厂检验日志 + * + * @author 小李 + * @date 17:47 2024/10/23 + * @param respVO 请求对象 + **/ + @PostMapping("/confirm") + @Operation(summary = "服务顾问上传出厂检验日志") + public CommonResult confirm(@RequestBody DlRepairTicketsRespVO respVO) { + dlRepairTicketsService.confirm(respVO); + return CommonResult.ok(); + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTicketsService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTicketsService.java index bb8ed44e..5815be2f 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTicketsService.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTicketsService.java @@ -145,4 +145,22 @@ public interface DlRepairTicketsService extends IService { * @param repairTicketsReqVO 请求对象 **/ IPage getPageByRole(DlRepairTicketsReqVO repairTicketsReqVO, Page page); + + /** + * 维修总检完成总检 + * + * @author 小李 + * @date 16:48 2024/10/23 + * @param respVO 请求对象 + **/ + void inspection(DlRepairTicketsRespVO respVO); + + /** + * 服务顾问上传出厂检验日志 + * + * @author 小李 + * @date 17:47 2024/10/23 + * @param respVO 请求对象 + **/ + void confirm(DlRepairTicketsRespVO respVO); } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java index f6b70473..7d337d5c 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java @@ -550,7 +550,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl wrapper = new LambdaUpdateWrapper<>(); wrapper.eq(DlRepairTickets::getId, respVO.getId()); - wrapper.set(DlRepairTickets::getTicketsWorkStatus, respVO.getTicketsWorkStatus()); +// 这里注掉,不能让员工更新工单的状态为完成,后面还有总检、服务顾问 +// wrapper.set(DlRepairTickets::getTicketsWorkStatus, respVO.getTicketsWorkStatus()); if (ObjectUtil.isNotEmpty(respVO.getIsFinish())) { wrapper.set(DlRepairTickets::getIsFinish, respVO.getIsFinish()); } @@ -604,7 +605,12 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl() + .setSql("now_repair_id = adviser_id") + .setSql("now_repair_name = adviser_name") + .eq(DlRepairTickets::getId, respVO.getId())); } else { repairWorkerService.sentMessage(Long.valueOf(tickets.getAdviserId()), message); } @@ -622,6 +628,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl() .set(DlRepairTickets::getNowRepairId, user.getId()) .set(DlRepairTickets::getNowRepairName, user.getNickname()) + .set(DlRepairTickets::getTicketsWorkStatus, "05") .eq(DlRepairTickets::getId, respVO.getId())); repairWorkerService.sentMessage(user.getId(), "您有新的工单需要总检"); } else { @@ -642,7 +649,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl getPageByRole(DlRepairTicketsReqVO repairTicketsReqVO, Page page){ + public IPage getPageByRole(DlRepairTicketsReqVO repairTicketsReqVO, Page page) { String userRoleCode = getUserRole(); + // 当前操作人的id + Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); // 维修服务顾问 - if (userRoleCode.equals(RepairRoleEnum.ADVISOR.getCode())){ - - }else if (userRoleCode.equals(RepairRoleEnum.INSPECTION.getCode())){ + if (userRoleCode.equals(RepairRoleEnum.ADVISOR.getCode())) { + repairTicketsReqVO.setNowRepairId(loginUserId); + repairTicketsReqVO.setIsFinish("1"); + } else if (userRoleCode.equals(RepairRoleEnum.INSPECTION.getCode())) { // 总检 - }else { + repairTicketsReqVO.setNowRepairId(loginUserId); + repairTicketsReqVO.setIsFinish("0"); + } else { return null; } - // 还是用分类查询,不过需要重新构造查询条件 todo + // 还是用分类查询,不过需要重新构造查询条件 return baseMapper.getPageType(repairTicketsReqVO, page); } + + /** + * 维修总检完成总检 + * + * @author 小李 + * @date 16:48 2024/10/23 + * @param respVO 请求对象 + **/ + @Override + @DSTransactional + public void inspection(DlRepairTicketsRespVO respVO){ + // 新增日志 + repairRecordsService.saveRepairRecord(respVO.getId(), null, RecordTypeEnum.ZJ.getCode(), respVO.getRemark(), respVO.getImage()); + // 更新工单 + baseMapper.update(new LambdaUpdateWrapper() + .set(DlRepairTickets::getIsFinish, "1") + .setSql("now_repair_id = adviser_id") + .setSql("now_repair_name = adviser_name") + .eq(DlRepairTickets::getId, respVO.getId()) + ); + // 通知服务顾问 + DlRepairTickets tickets = baseMapper.selectById(respVO.getId()); + repairWorkerService.sentMessage(Long.valueOf(tickets.getAdviserId()), "您有新的工单可以出厂检验"); + } + + /** + * 服务顾问上传出厂检验日志 + * + * @author 小李 + * @date 17:47 2024/10/23 + * @param respVO 请求对象 + **/ + @Override + public void confirm(DlRepairTicketsRespVO respVO){ + // 更新工单状态 + baseMapper.update(new LambdaUpdateWrapper() + .set(DlRepairTickets::getTicketsWorkStatus, "03") + .eq(DlRepairTickets::getId, respVO.getId()) + ); + + // 记录日志 + repairRecordsService.saveRepairRecord(respVO.getId(), null, RecordTypeEnum.JSGD.getCode(), respVO.getRemark(), respVO.getImage()); + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlTicketWaresServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlTicketWaresServiceImpl.java index feb54588..46017a4d 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlTicketWaresServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlTicketWaresServiceImpl.java @@ -256,7 +256,7 @@ public class DlTicketWaresServiceImpl extends ServiceImpl + + and drt.now_repair_id = #{map.nowRepairId} + order by drt.create_time desc