From 6b03c2328e16081804755c2a413bec8abc4b950a Mon Sep 17 00:00:00 2001 From: lujiang Date: Tue, 13 Aug 2024 00:47:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E6=8F=90=E4=BA=A4=E3=80=81?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=A4=84=E7=90=86=E3=80=81=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E3=80=81=E5=B7=A5=E5=8D=95=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/RepairAttachController.java | 60 ++-- .../admin/controller/RepairController.java | 267 ++++++++---------- .../java/com/ics/admin/domain/Repair.java | 4 +- .../com/ics/admin/domain/RepairAttach.java | 3 +- .../java/com/ics/admin/domain/RepairLog.java | 2 +- .../com/ics/admin/mapper/RepairLogMapper.java | 17 +- .../com/ics/admin/mapper/RepairMapper.java | 14 +- .../admin/service/IRepairAttachService.java | 4 + .../ics/admin/service/IRepairLogService.java | 12 +- .../com/ics/admin/service/IRepairService.java | 11 +- .../service/impl/RepairLogServiceImpl.java | 18 +- .../admin/service/impl/RepairServiceImpl.java | 97 ++++--- .../java/com/ics/admin/utils/FlowOperate.java | 24 ++ .../mapper/admin/RepairLogMapper.xml | 82 +++--- .../resources/mapper/admin/RepairMapper.xml | 80 ++++-- .../service/impl/RepairLogServiceImpl.java | 3 +- 16 files changed, 354 insertions(+), 344 deletions(-) create mode 100644 shoot-hand/ics-admin/src/main/java/com/ics/admin/utils/FlowOperate.java diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairAttachController.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairAttachController.java index b8b0c22..5ce76e0 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairAttachController.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairAttachController.java @@ -2,7 +2,6 @@ package com.ics.admin.controller; import com.ics.admin.domain.RepairAttach; import com.ics.admin.service.IRepairAttachService; -import com.ics.admin.vo.RepairAttachVO; import com.ics.common.core.controller.BaseController; import com.ics.common.core.domain.R; import com.ics.common.utils.StringUtils; @@ -10,7 +9,6 @@ import com.ics.common.utils.file.FileUploadUtils; import com.ics.system.config.DfsConfig; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -18,9 +16,7 @@ import org.springframework.web.multipart.MultipartFile; import org.wf.jwtp.annotation.Logical; import org.wf.jwtp.annotation.RequiresPermissions; -import java.util.ArrayList; import java.util.Date; -import java.util.List; /** * 附件 @@ -30,7 +26,7 @@ import java.util.List; */ @Slf4j @RestController -@RequestMapping("repairAttach") +@RequestMapping({"/admin/repairAttach", "/app/repairAttach"}) public class RepairAttachController extends BaseController { @Autowired @@ -39,17 +35,13 @@ public class RepairAttachController extends BaseController { @Autowired private DfsConfig dfsConfig; - private final static String FILE_VOICE = "voice"; - - private final static String FILE_IMG = "img/video"; - /** * 保修上传语音 */ @RequiresPermissions(value = {"repair:attach:operator", "member:center:view"}, logical = Logical.OR) @PostMapping("upload/voice") public R voiceUpload(MultipartFile file) { - return processAttache(file, null, 1, FILE_VOICE); + return processAttache(file, null, 1, IRepairAttachService.FILE_VOICE); } /** @@ -71,7 +63,7 @@ public class RepairAttachController extends BaseController { } if (nodeId == 0) return R.error("无效参数"); if ((nodeId == 9 || nodeId == 13) && repairId == null) return R.error("无效参数"); - return processAttache(file, repairId, nodeId, FILE_IMG); + return processAttache(file, repairId, nodeId, IRepairAttachService.FILE_IMG); } @@ -128,29 +120,29 @@ public class RepairAttachController extends BaseController { /** * 查询工单所有附件 */ - @RequiresPermissions(value = {"repair:attach:operator", "member:center:view"}, logical = Logical.OR) - @GetMapping("list") - public R list(Long repairId) { - List list = repairAttachService.getListByRepair(repairId);//工单所有附件 - List voices = new ArrayList<>(); - List repairs = new ArrayList<>(); - List feedbacks = new ArrayList<>(); - List evals = new ArrayList<>(); - for (RepairAttach repairAttach : list) { - RepairAttachVO repairAttachVO = new RepairAttachVO(repairAttach.getId(), repairAttach.getUrl()); - if (repairAttach.getNodeId() == 1) { - if (FILE_VOICE.equals(repairAttach.getExt1())) voices.add(repairAttachVO); - if (FILE_IMG.equals(repairAttach.getExt1())) repairs.add(repairAttachVO); - } - if (repairAttach.getNodeId() == 9) feedbacks.add(repairAttachVO); - if (repairAttach.getNodeId() == 13) evals.add(repairAttachVO); - } - - return R.ok().put("voice", voices) - .put("repair", repairs) - .put("feedback", feedbacks) - .put("eval", evals); - } +// @RequiresPermissions(value = {"repair:attach:operator", "member:center:view"}, logical = Logical.OR) +// @GetMapping("list") +// public R list(Long repairId) { +// List list = repairAttachService.getListByRepair(repairId);//工单所有附件 +// List voices = new ArrayList<>(); +// List repairs = new ArrayList<>(); +// List feedbacks = new ArrayList<>(); +// List evals = new ArrayList<>(); +// for (RepairAttach repairAttach : list) { +// RepairAttachVO repairAttachVO = new RepairAttachVO(repairAttach.getId(), repairAttach.getUrl()); +// if (repairAttach.getNodeId() == 1) { +// if (FILE_VOICE.equals(repairAttach.getExt1())) voices.add(repairAttachVO); +// if (FILE_IMG.equals(repairAttach.getExt1())) repairs.add(repairAttachVO); +// } +// if (repairAttach.getNodeId() == 9) feedbacks.add(repairAttachVO); +// if (repairAttach.getNodeId() == 13) evals.add(repairAttachVO); +// } +// +// return R.ok().put("voice", voices) +// .put("repair", repairs) +// .put("feedback", feedbacks) +// .put("eval", evals); +// } // @Ignore // @PostMapping("test") diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairController.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairController.java index 2daf8d2..28e6b96 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairController.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairController.java @@ -1,9 +1,28 @@ package com.ics.admin.controller; -import com.ics.admin.service.*; +import com.ics.admin.domain.Repair; +import com.ics.admin.domain.RepairAttach; +import com.ics.admin.domain.RepairLog; +import com.ics.admin.service.IIcsCustomerStaffService; +import com.ics.admin.service.IRepairAttachService; +import com.ics.admin.service.IRepairLogService; +import com.ics.admin.service.IRepairService; +import com.ics.admin.utils.FlowOperate; +import com.ics.admin.vo.RepairAttachVO; import com.ics.common.core.controller.BaseController; +import com.ics.common.core.domain.IcsCustomerStaff; +import com.ics.common.core.domain.R; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.wf.jwtp.annotation.Logical; +import org.wf.jwtp.annotation.RequiresPermissions; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * 工单管理 提供者 @@ -12,7 +31,7 @@ import org.springframework.web.bind.annotation.*; * @date 2021-03-25 */ @RestController -@RequestMapping("/admin/repair") +@RequestMapping({"/admin/repair", "/app/repair"}) public class RepairController extends BaseController { @Autowired @@ -21,160 +40,110 @@ public class RepairController extends BaseController { @Autowired private IRepairLogService repairLogService; + @Autowired + private IRepairAttachService repairAttachService; + @Autowired private IIcsCustomerStaffService customerStaffService; - @Autowired - private IRepairDeviceTypeService repairTypeService; + //@Ignore + @RequiresPermissions(value = {"repair:attach:operator", "member:center:view"}, logical = Logical.OR) + @PostMapping("flow/start") + public R startFlow(Repair repair, String[] files) { + Long userId = getLoginStaffId(); + String result = repairService.handleFlow(repair, userId, files, null, null); + return IRepairService.OK.equals(result) ? R.ok() : R.error(result); + } - @Autowired - private IRepairDeviceService deviceService; - @Autowired - private IRepairFailureTypeService repairFailureTypeService; - -// @Autowired -// private IRepairRecordService repairRecordService; + //@Ignore + @RequiresPermissions(value = {"repair:attach:operator", "member:center:view"}, logical = Logical.OR) + @PostMapping("flow/handle") + public R handleFlow(Repair repair, String content, FlowOperate operate) { + Long userId = getLoginStaffId(); + String result = repairService.handleFlow(repair, userId, null, content, operate); + return IRepairService.OK.equals(result) ? R.ok() : R.error(result); + } /** - * 查询工单管理 + * 工单评价 */ -// @RequiresPermissions("admin:repair:edit") -// @GetMapping("get/{id}") -// public RepairVO get(@PathVariable("id") Long id) { -// RepairVO repairVO = new RepairVO(); -// Repair repair = repairService.selectRepairById(id); -// if (repair != null) { -// BeanUtils.copyBeanProp(repairVO, repair); -// repairVO.setStatus(repair.getStatus().getValue()); -// repairVO.setStatusName(repair.getStatus().getName()); -// //设备类型 -// RepairDeviceType repairType = repairTypeService.selectRepairTypeById(Long.valueOf(repair.getTypeId())); -// if (null != repairType){ -// repairVO.setTypeName(repairType.getName()); -// } -// //设备名称 -// RepairDevice repairDevice = deviceService.selectRepairDeviceById(Long.valueOf(repair.getRepairDevice())); -// if (repairDevice != null) { -// repairVO.setRepairDeviceName(repairDevice.getName()); -// } -// //故障 -// RepairFailureType repairFailureType = repairFailureTypeService.selectRepairFailureTypeById(repair.getFailureTypeId()); -// if (repairFailureType != null) { -// repairVO.setFailureTypeName(repairFailureType.getName()); -// } -// IcsCustomerStaff staff = customerStaffService.selectIcsCustomerStaffById(Long.valueOf(repair.getUserId())); -// if (null != staff){ -// repairVO.setUserName(staff.getUsername()); -// } -// -// IcsCustomerStaff worker = customerStaffService.selectIcsCustomerStaffById(repair.getWorkerId()); -// if (null != worker){ -// repairVO.setWorkerName(worker.getUsername()); -// } -// -// RepairEval repairRecord = repairRecordService.selectByRepairId(id); -// if (null != repairRecord){ -// repairVO.setSpeed(repairRecord.getSpeed()); -// repairVO.setServe(repairRecord.getServe()); -// repairVO.setEffect(repairRecord.getEffect()); -// } -// RepairLog repairLog = new RepairLog(); -// repairLog.setRepairId(id); -// List repairLogs = repairLogService.selectRepairLogList(repairLog); -// repairVO.setRepairLogs(repairLogs); -// } -// return repairVO; -// } -// -// /** -// * 查询工单管理列表 -// */ -// @RequiresPermissions("admin:repair:list") -// @GetMapping("list") -// public R list(Repair repair, @LoginUser User user) { -// startPage(); -// List repairList = repairService.selectRepairList(repair); -// for (Repair repair1 : repairList) { -// repair1.setStatusValue(repair1.getStatus().getValue()); -// repair1.setStatusName(repair1.getStatus().getName()); -// //设备类型 -// if (repair1.getTypeId() != null) { -// RepairDeviceType repairType = repairTypeService.selectRepairTypeById(Long.valueOf(repair1.getTypeId())); -// repair1.setTypeName(repairType.getName()); -// } -// //设备名称 -// if (repair1.getRepairDevice() != null){ -// RepairDevice repairDevice = deviceService.selectRepairDeviceById(Long.valueOf(repair1.getRepairDevice())); -// repair1.setRepairDeviceName(repairDevice.getName()); -// } -// //故障 -// if (repair1.getFailureTypeId() != null){ -// -// RepairFailureType repairFailureType = repairFailureTypeService.selectRepairFailureTypeById(repair1.getFailureTypeId()); -// repair1.setFailureTypeName(repairFailureType.getName()); -// } -// if (repair1.getUserId() != null){ -// IcsCustomerStaff staff = customerStaffService.selectIcsCustomerStaffById(Long.valueOf(repair1.getUserId())); -// repair1.setUserName(staff.getUsername()); -// } -// -// if (repair1.getWorkerId() != null){ -// IcsCustomerStaff worker = customerStaffService.selectIcsCustomerStaffById(repair1.getWorkerId()); -// repair1.setWorkerName(worker.getUsername()); -// } -// } -// return result(repairList); -// } -// -// /** -// * 新增 -// */ -// @RequiresPermissions("admin:repair:edit") -// @PostMapping("/review") -// public R review(@RequestBody Repair repair) { -// Repair pRepair = repairService.selectRepairById(repair.getId()); -//// if (repair == null || !Repair.Status.PENDING_ASSIGN.equals(pRepair.getStatus())) { -//// return R.error("报修为空或状态不是待分配"); -//// } -//// repair.setStatus(Repair.Status.PENDING_PROCESS); -// repair.setStatus(Repair.Status.PENDING_PROCESS); -// return toAjax(repairService.insertRepair(repair)); -// } -// -// /** -// * 完成 -// */ -// @RequiresPermissions("admin:repair:edit") -// @PostMapping("/complete") -// public R complete(@RequestBody Repair repair) { -// Repair pRepair = repairService.selectRepairById(repair.getId()); -// if (repair == null || !Repair.Status.PENDING_PROCESS.equals(pRepair.getStatus())) { -// return R.error("报修为空或状态不是待处理"); -// } -// repair.setStatus(Repair.Status.COMPLETED); -// return toAjax(repairService.updateRepair(repair)); -// } -// -// /** -// * 删除工单管理 -// */ -// @RequiresPermissions("admin:repair:remove") -// @PostMapping("remove") -// public R remove(String ids) { -// return toAjax(repairService.deleteRepairByIds(ids)); -// } -// -// -// -// @Ignore -// @GetMapping("selectWorkerIdByTypeId") -// public R selectWorkerIdByTypeId(String typeId) { -// List customerStaffs = repairService.selectWorkerIdByTypeId(typeId); -// return R.data(customerStaffs); -// } -// -// //查询派单员列表 + @RequiresPermissions(value = {"repair:attach:operator", "member:center:view"}, logical = Logical.OR) + @PostMapping("eval") + public R eval(Repair repair) { + Long userId = getLoginStaffId(); + return toAjax(repairService.eval(repair, userId)); + } + + /** + * 工单列表 + *

+ * 1.普通用户,3派单员,5维修工, 7管理员 + *

+ * 普通用户:全部、处理中、待评价、已评价 type对应值:all、process、evaling、evaled + * 派单员:重新派单、待派单、已派单、已关闭 type对应值:anew、wait、already、close + * 维修工:待完成、进行中、已完成 type对应值:wait、working、close + * 管理员:重派单,全部 type对应值:anew、all + * + * @return + */ + @RequiresPermissions(value = {"repair:attach:operator", "member:center:view"}, logical = Logical.OR) + @RequestMapping("list") + public R list(String type) { + startPage(); + Long userId = getLoginStaffId(); + IcsCustomerStaff loginUser = customerStaffService.selectIcsCustomerStaffById(userId); + //1.普通用户,3派单员,5维修人, 7管理员 + String role = loginUser.getDataType(); + return result(repairService.repairList(role, userId.toString(), type)); + } + + /** + * 获取一个工单的详细信息 + * + * @param id + * @return + */ + @RequiresPermissions(value = {"repair:attach:operator", "member:center:view"}, logical = Logical.OR) + @RequestMapping("get") + public R get(Long id) { + Repair repair = repairService.selectRepairById(id); + + List list = repairAttachService.getListByRepair(id); + List voices = new ArrayList<>(); + List repairs = new ArrayList<>(); + List feedbacks = new ArrayList<>(); + List evals = new ArrayList<>(); + for (RepairAttach repairAttach : list) { + RepairAttachVO repairAttachVO = new RepairAttachVO(repairAttach.getId(), repairAttach.getUrl()); + if (repairAttach.getNodeId() == 1) { + if (IRepairAttachService.FILE_VOICE.equals(repairAttach.getExt1())) voices.add(repairAttachVO); + if (IRepairAttachService.FILE_IMG.equals(repairAttach.getExt1())) repairs.add(repairAttachVO); + } + if (repairAttach.getNodeId() == 9) feedbacks.add(repairAttachVO); + if (repairAttach.getNodeId() == 13) evals.add(repairAttachVO); + } + Map files = new HashMap<>(); + files.put("voice", voices); + files.put("repair", repairs); + files.put("feedback", feedbacks); + files.put("eval", evals); + + List logList = repairLogService.selectRepairLogListByRepairId(id); + return R.ok().put("repair", repair) + .put("files", files) + .put("log", logList); + } + + + /** + * 删除工单 + */ + @RequiresPermissions("repair:attach:operator") + @PostMapping("delete") + public R remove(Long id) { + return toAjax(repairService.deleteRepairById(id)); + } } diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/Repair.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/Repair.java index edc4102..a258570 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/Repair.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/Repair.java @@ -85,7 +85,7 @@ public class Repair extends BaseEntity { /** * 描述 */ - private String content; + private String explain; //--派单 /** @@ -121,7 +121,7 @@ public class Repair extends BaseEntity { /** * 故障类型名称 */ - private Long failureTypeName; + private String failureTypeName; /** * 是否解决 1 已解决 0 未解决 diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairAttach.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairAttach.java index 32ecac1..455d491 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairAttach.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairAttach.java @@ -20,7 +20,7 @@ public class RepairAttach extends BaseEntity { private Long repairId; /** - * 文件所属环节 1保修 9维修工反馈附件 13 评价附件 + * 文件所属环节 1报修 9维修工反馈附件 13 评价附件 */ private Integer nodeId; /** @@ -43,4 +43,5 @@ public class RepairAttach extends BaseEntity { private String ext1; private String ext2; private String ext3; + } diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairLog.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairLog.java index 9450b44..430e162 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairLog.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairLog.java @@ -31,7 +31,7 @@ public class RepairLog extends BaseEntity { /** * 源节点 */ - private Integer form; + private Integer from; /** * 去向节点 diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairLogMapper.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairLogMapper.java index cdbd7fe..c83fef3 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairLogMapper.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairLogMapper.java @@ -8,7 +8,7 @@ import java.util.List; /** * 流程日志Mapper接口 - * + * * @author ics * @date 2021-03-25 */ @@ -24,12 +24,12 @@ public interface RepairLogMapper extends BaseMapper { RepairLog selectRepairLogById(Long id); /** - * 查询流程日志列表 + * 获取工单操作日志 * - * @param repairLog 流程日志 - * @return 流程日志集合 + * @param repairId + * @return */ - List selectRepairLogList(RepairLog repairLog); + List selectRepairLogListByRid(Long repairId); /** * 新增流程日志 @@ -56,10 +56,9 @@ public interface RepairLogMapper extends BaseMapper { int deleteRepairLogById(Long id); /** - * 批量删除流程日志 + * 删除工单的所有流程日志 * - * @param ids 需要删除的数据ID - * @return 结果 + * @param repairId 工单id */ - int deleteRepairLogByIds(String[] ids); + int deleteRepairLogByRId(Long repairId); } diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairMapper.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairMapper.java index 88b88c1..c73140d 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairMapper.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairMapper.java @@ -3,6 +3,7 @@ package com.ics.admin.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ics.admin.domain.Repair; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -22,13 +23,12 @@ public interface RepairMapper extends BaseMapper { */ Repair selectRepairById(Long id); - /** - * 查询工单列表 - * - * @param repair 工单 - * @return 工单集合 - */ - List selectRepairList(Repair repair); + + List normalRepairList(@Param("userId") String userId, @Param("type") String type); + List preRepairList(@Param("userId") String userId, @Param("type") String type); + List workRepairList(@Param("userId") String userId, @Param("type") String type); + List adminRepairList(@Param("userId") String userId, @Param("type") String type); + /** * 新增工单 diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairAttachService.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairAttachService.java index eb0ec90..fd1a4d0 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairAttachService.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairAttachService.java @@ -13,6 +13,10 @@ import java.util.List; */ public interface IRepairAttachService extends IService { + String FILE_VOICE = "voice"; + + String FILE_IMG = "img/video"; + /** * 新增附件 * diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairLogService.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairLogService.java index caa4db1..1dd5471 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairLogService.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairLogService.java @@ -22,11 +22,8 @@ public interface IRepairLogService extends IService { /** * 查询流程日志列表 - * - * @param repairLog 流程日志 - * @return 流程日志集合 */ - List selectRepairLogList(RepairLog repairLog); + List selectRepairLogListByRepairId(Long repairId); /** * 新增流程日志 @@ -45,12 +42,11 @@ public interface IRepairLogService extends IService { int updateRepairLog(RepairLog repairLog); /** - * 批量删除流程日志 + * 删除工单的所有流程日志 * - * @param ids 需要删除的数据ID - * @return 结果 + * @param repairId 工单id */ - int deleteRepairLogByIds(String ids); + int deleteRepairLogByRId(Long repairId); /** * 删除流程日志信息 diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairService.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairService.java index 1f2be1e..fcbe141 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairService.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairService.java @@ -2,6 +2,7 @@ package com.ics.admin.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ics.admin.domain.Repair; +import com.ics.admin.utils.FlowOperate; import com.ics.common.core.domain.IcsCustomerStaff; import java.util.List; @@ -14,16 +15,17 @@ import java.util.List; */ public interface IRepairService extends IService { + String OK = "okay"; /** * 处理流程 * @return okay 表示处理成功 */ - String handleFlow(Repair repair, Long currentUserId, Long nextUserId, String[] files, String content, String operate); + String handleFlow(Repair repair, Long currentUserId, String[] files, String content, FlowOperate operate); /** * 评价 */ - void eval(Repair repair, Long currentUserId); + int eval(Repair repair, Long currentUserId); /** @@ -36,11 +38,8 @@ public interface IRepairService extends IService { /** * 查询工单列表 - * - * @param repair 工单 - * @return 工单集合 */ - List selectRepairList(Repair repair); + List repairList(String role, String userId, String type); /** * 新增工单 diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairLogServiceImpl.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairLogServiceImpl.java index 076dc33..95438a7 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairLogServiceImpl.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairLogServiceImpl.java @@ -36,14 +36,10 @@ public class RepairLogServiceImpl extends ServiceImpl selectRepairLogList(RepairLog repairLog) { - QueryWrapper queryWrapper = new QueryWrapper(); - return repairLogMapper.selectList(queryWrapper); + public List selectRepairLogListByRepairId(Long repairId) { + return repairLogMapper.selectRepairLogListByRid(repairId); } /** @@ -69,15 +65,13 @@ public class RepairLogServiceImpl extends ServiceImpl impleme @Autowired private RepairAttachMapper repairAttachMapper; + @Autowired + private IRepairAttachService repairAttachService; + @Transactional(rollbackFor = Exception.class) @Override - public String handleFlow(Repair repair, Long currentUserId, Long nextUserId, String[] files, String content, String operate) { - return processFlow(repair, currentUserId, nextUserId, files, content, operate); + public String handleFlow(Repair repair, Long currentUserId, String[] files, String content, FlowOperate operate) { + return processFlow(repair, currentUserId, files, content, operate); } @Override - public void eval(Repair repair, Long currentUserId) { + public int eval(Repair repair, Long currentUserId) { Repair oldRepair = repairMapper.selectRepairById(repair.getId()); - oldRepair.setEvalService(repair.getEvalService()); - oldRepair.setFeedback(repair.getFeedback()); - oldRepair.setEvalTime(new Date()); - oldRepair.setEvalUserId(currentUserId); - oldRepair.setStatus(13); - repairMapper.updateRepair(oldRepair); + if (oldRepair.getStatus() != null && oldRepair.getStatus() == 9) { + oldRepair.setEvalService(repair.getEvalService()); + oldRepair.setFeedback(repair.getFeedback()); + oldRepair.setEvalTime(new Date()); + oldRepair.setEvalUserId(currentUserId); + oldRepair.setStatus(13); + return repairMapper.updateRepair(oldRepair); + } + return 0; } - private String processFlow(Repair repair, Long currentUserId, Long nextUserId, String[] files, String content, String operate) { + private String processFlow(Repair repair, Long currentUserId, String[] files, String content, FlowOperate operate) { if (repair == null) return "表单数据为空"; IcsCustomerStaff currentUser = customerStaffMapper.selectIcsCustomerStaffById(currentUserId); IcsCustomerStaff nextUser = null; Integer from = -1, to = -1; - from = repair.getId() == null || repair.getId() == 0L ? 0 : repair.getStatus(); - Repair newRepair = from == 0 ? repair : repairMapper.selectRepairById(repair.getId());//优先使用数据库中的表单 + Repair newRepair = repair.getId() == null || repair.getId() == 0L ? repair : repairMapper.selectRepairById(repair.getId());//使用数据库中的表单 + from = repair.getId() == null || repair.getId() == 0L ? 0 : newRepair.getStatus(); //保修 if (from == 0) { //没有设置维修人员则到派单环节,否则到“修理工是否接收”环节 @@ -100,14 +106,14 @@ public class RepairServiceImpl extends ServiceImpl impleme } //派单 if (from == 1) { - if (FlowConstants.NEXT.equals(operate)) { + if (FlowOperate.NEXT.equals(operate)) { to = 5; - nextUser = customerStaffMapper.selectIcsCustomerStaffById(nextUserId); + nextUser = customerStaffMapper.selectIcsCustomerStaffById(repair.getRepairUserId()); if (nextUser == null) return "派单没有找到下一步执行人"; newRepair.setRepairUserId(nextUser.getId()); newRepair.setPreDate(repair.getPreDate());//设置预计完成时间 } - if (FlowConstants.BACK.equals(operate)) { + if (FlowOperate.BACK.equals(operate)) { to = 3; IcsCustomerStaff p = new IcsCustomerStaff(); p.setDataType("7"); @@ -115,7 +121,7 @@ public class RepairServiceImpl extends ServiceImpl impleme if (list == null || list.size() == 0) return "没有找到管理员账号"; nextUser = list.get(0); } - if (FlowConstants.END.equals(operate)) to = 11; + if (FlowOperate.END.equals(operate)) to = 11; } //重新派单 if (from == 3) { @@ -129,12 +135,18 @@ public class RepairServiceImpl extends ServiceImpl impleme newRepair.setTypeName(repair.getTypeName()); newRepair.setDeviceId(repair.getDeviceId()); newRepair.setDeviceName(repair.getDeviceName()); - repair.setPerUserId(nextUser.getId());//设置派单员 + newRepair.setPerUserId(nextUser.getId());//设置派单员 } //修理工是否接收 if (from == 5) { - if (FlowConstants.BACK.equals(operate)) to = 1; - if (FlowConstants.NEXT.equals(operate)) to = 7; + if (FlowOperate.BACK.equals(operate)) { + to = 1; + nextUser = customerStaffMapper.selectIcsCustomerStaffById(newRepair.getPerUserId());//查询派单员 + } + if (FlowOperate.NEXT.equals(operate)) { + to = 7; + nextUser = currentUser; + } } //修理反馈 if (from == 7) { @@ -148,7 +160,7 @@ public class RepairServiceImpl extends ServiceImpl impleme } newRepair.setStatus(to);//设置状态 processData(newRepair, currentUser, nextUser, from, to, content, files); - return FlowConstants.OK; + return IRepairService.OK; } private void processData(Repair repair, IcsCustomerStaff currentUser, IcsCustomerStaff nextUser, Integer from, Integer to, String content, String[] files) { @@ -169,22 +181,28 @@ public class RepairServiceImpl extends ServiceImpl impleme RepairLog repairLog = new RepairLog(); repairLog.setPid(oldLog == null ? 0L : oldLog.getId()); repairLog.setRepairId(repair.getId()); - repairLog.setForm(from); + repairLog.setFrom(from); repairLog.setTo(to); repairLog.setSendUserId(currentUser.getId()); repairLog.setSendUserName(currentUser.getUsername()); - repairLog.setRecUserId(nextUser.getId()); - repairLog.setRecUserName(nextUser.getUsername()); - repairLog.setStatus(0); + if (to == 9 || to == 11) {//结束 + repairLog.setRecUserId(0); + repairLog.setRecUserName("END"); + repairLog.setStatus(1); + repairLog.setCloseTime(now); + } else { + repairLog.setRecUserId(nextUser.getId()); + repairLog.setRecUserName(nextUser.getUsername()); + repairLog.setStatus(0); + } repairLog.setDeleteFlag(0); repairLog.setCreateBy(currentUser.getId().toString()); repairLog.setCreateTime(now); - if (to == 9 || to == 11) {//结束 - repairLog.setStatus(1); - repairLog.setCloseTime(now); - } + repairLogMapper.insertRepairLog(repairLog); repair.setLogId(repairLog.getId()); + repair.setUpdateBy(currentUser.getId().toString()); + repair.setUpdateTime(now); repairMapper.updateRepair(repair); } @@ -196,19 +214,19 @@ public class RepairServiceImpl extends ServiceImpl impleme */ @Override public Repair selectRepairById(Long id) { - return repairMapper.selectById(id); + return repairMapper.selectRepairById(id); } /** * 查询工单列表 - * - * @param repair 工单 - * @return 工单 */ @Override - public List selectRepairList(Repair repair) { - QueryWrapper queryWrapper = new QueryWrapper(); - return repairMapper.selectList(queryWrapper); + public List repairList(String role, String userId, String type) { + //1.普通用户,3派单员,5维修人, 7管理员 + if ("7".equals(role)) return repairMapper.adminRepairList(userId, type); + if ("5".equals(role)) return repairMapper.workRepairList(userId, type); + if ("3".equals(role)) return repairMapper.preRepairList(userId, type); + return repairMapper.normalRepairList(userId, type);//普通用户或者没有角色时都使用普通用户列表 } /** @@ -251,8 +269,13 @@ public class RepairServiceImpl extends ServiceImpl impleme * @param id 工单ID * @return 结果 */ + @Transactional(rollbackFor = Exception.class) @Override public int deleteRepairById(Long id) { + //删除附件 + repairAttachService.deleteByRepairId(id); + //删除日志 + repairLogMapper.deleteRepairLogByRId(id); return repairMapper.deleteRepairById(id); } diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/utils/FlowOperate.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/utils/FlowOperate.java new file mode 100644 index 0000000..869bdee --- /dev/null +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/utils/FlowOperate.java @@ -0,0 +1,24 @@ +package com.ics.admin.utils; + +import com.baomidou.mybatisplus.annotation.IEnum; + +/** + * 流程操作状态 + */ +public enum FlowOperate implements IEnum { + + NEXT("next"), + BACK("back"), + END("end"); + + private String value; + + FlowOperate(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + +} diff --git a/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairLogMapper.xml b/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairLogMapper.xml index f9812c1..92a2564 100644 --- a/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairLogMapper.xml +++ b/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairLogMapper.xml @@ -8,12 +8,12 @@ - - + + - + - + @@ -33,20 +33,17 @@ - SELECT id, pid, repair_id, node_form, node_to, send_userid, send_username, rec_userid, rec_username, read, readtime, status, closetime, content, remark, ext1, ext2, ext3, delete_flag, create_by, create_time, update_by, update_time, park_id, tenant_id FROM ics_repair_log + SELECT id, pid, repair_id, node_form, node_to, send_userid, send_username, rec_userid, rec_username, `read`, readtime, status, closetime, content, remark, ext1, ext2, ext3, delete_flag, create_by, create_time, update_by, update_time, park_id, tenant_id FROM ics_repair_log - - - AND send_username LIKE CONCAT('%', #{sendUsername}, '%') - AND rec_username LIKE CONCAT('%', #{recUsername}, '%') - + where repair_id= #{repairId} and delete_flag=0 order by create_time @@ -54,16 +51,16 @@ pid, repair_id, - node_form, - node_to, - send_userid, - send_username, - rec_userid, - rec_username, + node_form, + node_to, + send_userid, + send_username, + rec_userid, + rec_username, read, - readtime, + readtime, status, - closetime, + closetime, content, remark, ext1, @@ -72,24 +69,22 @@ delete_flag, create_by, create_time, - update_by, - update_time, park_id, tenant_id, #{pid}, #{repairId}, - #{nodeForm}, - #{nodeTo}, - #{sendUserid}, - #{sendUsername}, - #{recUserid}, - #{recUsername}, + #{from}, + #{to}, + #{sendUserId}, + #{sendUserName}, + #{recUserId}, + #{recUserName}, #{read}, - #{readtime}, + #{readTime}, #{status}, - #{closetime}, + #{closeTime}, #{content}, #{remark}, #{ext1}, @@ -98,8 +93,6 @@ #{deleteFlag}, #{createBy}, #{createTime}, - #{updateBy}, - #{updateTime}, #{parkId}, #{tenantId}, @@ -110,24 +103,22 @@ pid = #{pid}, repair_id = #{repairId}, - node_form = #{nodeForm}, - node_to = #{nodeTo}, - send_userid = #{sendUserid}, - send_username = #{sendUsername}, - rec_userid = #{recUserid}, - rec_username = #{recUsername}, - read = #{read}, - readtime = #{readtime}, + node_form = #{from}, + node_to = #{to}, + send_userid = #{sendUserId}, + send_username = #{sendUserName}, + rec_userid = #{recUserId}, + rec_username = #{recUserName}, + `read` = #{read}, + readtime = #{readTime}, status = #{status}, - closetime = #{closetime}, + closetime = #{closeTime}, content = #{content}, remark = #{remark}, ext1 = #{ext1}, ext2 = #{ext2}, ext3 = #{ext3}, delete_flag = #{deleteFlag}, - create_by = #{createBy}, - create_time = #{createTime}, update_by = #{updateBy}, update_time = #{updateTime}, park_id = #{parkId}, @@ -140,11 +131,8 @@ DELETE FROM ics_repair_log WHERE id = #{id} - - DELETE FROM ics_repair_log where id in - - #{id} - + + DELETE FROM ics_repair_log where repair_id =#{repairId} \ No newline at end of file diff --git a/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairMapper.xml b/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairMapper.xml index 17ee46d..992007f 100644 --- a/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairMapper.xml +++ b/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairMapper.xml @@ -21,9 +21,9 @@ - + - + @@ -53,23 +53,12 @@ - SELECT id, sn, repair_name, repair_level, repair_time, type_id, type_name, device_id, device_name, name, phone, address_id, address, floor_id, floor, room, content, per_userid, predate, cause, solution, failure_type_id, failure_type_name, resolve, repair_user_id, end_date, eval_service, feedback, eval_time, eval_user_id, timeout, warn, status, log_id, remark, ext1, ext2, ext3, delete_flag, create_by, create_time, update_by, update_time, tenant_id, park_id FROM ics_repair + SELECT id, sn, repair_name, repair_level, repair_time, type_id, type_name, device_id, device_name, name, phone, address_id, address, floor_id, floor, room, `explain`, per_userid, predate, cause, solution, failure_type_id, failure_type_name, resolve, repair_user_id, end_date, eval_service, feedback, eval_time, eval_user_id, timeout, warn, status, log_id, remark, ext1, ext2, ext3, delete_flag, create_by, create_time, update_by, update_time, tenant_id, park_id FROM ics_repair - - @@ -90,9 +79,9 @@ floor_id, floor, room, - content, - per_userid, - predate, + explain, + per_userid, + preDate, cause, solution, failure_type_id, @@ -115,8 +104,6 @@ delete_flag, create_by, create_time, - update_by, - update_time, tenant_id, park_id, @@ -136,9 +123,9 @@ #{floorId}, #{floor}, #{room}, - #{content}, - #{perUserid}, - #{predate}, + #{explain}, + #{perUserId}, + #{preDate}, #{cause}, #{solution}, #{failureTypeId}, @@ -161,8 +148,6 @@ #{deleteFlag}, #{createBy}, #{createTime}, - #{updateBy}, - #{updateTime}, #{tenantId}, #{parkId}, @@ -186,9 +171,9 @@ floor_id = #{floorId}, floor = #{floor}, room = #{room}, - content = #{content}, - per_userid = #{perUserid}, - predate = #{predate}, + explain = #{explain}, + per_userid = #{perUserId}, + predate = #{preDate}, cause = #{cause}, solution = #{solution}, failure_type_id = #{failureTypeId}, @@ -209,8 +194,6 @@ ext2 = #{ext2}, ext3 = #{ext3}, delete_flag = #{deleteFlag}, - create_by = #{createBy}, - create_time = #{createTime}, update_by = #{updateBy}, update_time = #{updateTime}, tenant_id = #{tenantId}, @@ -218,6 +201,43 @@ WHERE id = #{id} + + + + + + + + DELETE FROM ics_repair WHERE id = #{id} diff --git a/shoot-hand/ics-web/src/main/java/com/ics/service/impl/RepairLogServiceImpl.java b/shoot-hand/ics-web/src/main/java/com/ics/service/impl/RepairLogServiceImpl.java index fcf3321..1e3979f 100644 --- a/shoot-hand/ics-web/src/main/java/com/ics/service/impl/RepairLogServiceImpl.java +++ b/shoot-hand/ics-web/src/main/java/com/ics/service/impl/RepairLogServiceImpl.java @@ -30,7 +30,8 @@ public class RepairLogServiceImpl extends ServiceImpl selectRepairLogList(RepairLog repairLog) { - return repairLogMapper.selectRepairLogList(repairLog); + //return repairLogMapper.selectRepairLogList(repairLog); + return null; }