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 6a8d590..70c5e2d 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 @@ -78,7 +78,7 @@ public class RepairController extends BaseController { /** * 工单列表 - * menu:1.保修查询,3派单入口,5维修入口, 7 管理员 + * menu:1.报修查询,3派单入口,5维修入口, 7 管理员 *

* 报修查询:全部、处理中、待评价、已评价 type对应值:all、process、evaling、evaled * 派单入口:重新派单、待派单、已派单、已关闭 type对应值:anew、wait、already、close @@ -97,11 +97,23 @@ public class RepairController extends BaseController { return result(repairService.repairList(menu, userId.toString(), type)); } + /** + * 获取维修人员工单数量统计 + * 待完成、进行中、已完成 对应:wait、working、close + */ + @RequiresPermissions(value = {"repair:attach:operator", "member:center:view"}, logical = Logical.OR) + @RequestMapping("workerRepairNumber") + public R workerRepairNumber() { + Long userId = getLoginStaffId(); + Map map = repairService.workerRepairNumber(userId.toString()); + return R.ok().put("workerRepairNumber", map); + } + /** * 获取一个工单的详细信息 - * + *

* id 工单id - * + *

*/ @RequiresPermissions(value = {"repair:attach:operator", "member:center:view"}, logical = Logical.OR) @RequestMapping("get") 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 e2b5202..09d8124 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 @@ -156,13 +156,13 @@ public class Repair extends BaseEntity { /** * 评价人id */ - private long evalUserId; + private Long evalUserId; /** * 评价人姓名 */ @TableField(exist = false) - private long evalUserName; + private String evalUserName; //--超时 /** diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairAttachMapper.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairAttachMapper.java index bbe0e10..9a8a808 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairAttachMapper.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairAttachMapper.java @@ -32,6 +32,13 @@ public interface RepairAttachMapper { */ List selectRepairAttachList(@Param("repairId") Long repairId); + /** + * 获取工单报修的第一张图片url + * @param repairId 工单id + * @return + */ + String getRepairFirstImg(@Param("repairId") 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 981e01b..446f44e 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 @@ -31,7 +31,13 @@ public interface RepairMapper { List adminRepairList(@Param("userId") String userId, @Param("type") String type); - + /** + * 维修工 工单 数量统计 + * @param userId + * @param type 待完成、进行中、已完成 type对应值:wait、working、close + * @return + */ + Integer workerRepairNumber(@Param("userId") String userId, @Param("type") String type); /** * 新增工单 * 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 9cd3a6b..44555f6 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 @@ -1,10 +1,10 @@ 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 java.util.List; +import java.util.Map; /** * 工单管理Service接口 @@ -41,6 +41,12 @@ public interface IRepairService { */ List repairList(String menu, String userId, String type); + /** + * 获取维修人员工单数量 + * @param userId 用户id + */ + Map workerRepairNumber(String userId); + /** * 新增工单 * diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairServiceImpl.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairServiceImpl.java index cc0c265..9a3f203 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairServiceImpl.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairServiceImpl.java @@ -24,7 +24,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 工单管理Service业务层处理 @@ -226,11 +228,45 @@ public class RepairServiceImpl implements IRepairService { */ @Override public List repairList(String menu, String userId, String type) { + List list = null; //1.普通用户,3派单员,5维修人, 7管理员 - if ("7".equals(menu)) return repairMapper.adminRepairList(userId, type); - if ("5".equals(menu)) return repairMapper.workRepairList(userId, type); - if ("3".equals(menu)) return repairMapper.preRepairList(userId, type); - return repairMapper.normalRepairList(userId, type);//普通用户或者没有角色时都使用普通用户列表 + if ("7".equals(menu)) list = repairMapper.adminRepairList(userId, type); + if ("5".equals(menu)) list = repairMapper.workRepairList(userId, type); + if ("3".equals(menu)) list = repairMapper.preRepairList(userId, type); + if ("1".equals(menu)) list = repairMapper.normalRepairList(userId, type); + if (list != null && list.size() > 0) { + for (Repair repair : list) { + if (repair.getPerUserId() != null && repair.getPerUserId() > 0) { + IcsCustomerStaff perUser = customerStaffMapper.selectIcsCustomerStaffById(repair.getPerUserId()); + repair.setPerUserName(perUser.getUsername()); + } + if (repair.getRepairUserId() != null && repair.getRepairUserId() > 0) { + IcsCustomerStaff repairUser = customerStaffMapper.selectIcsCustomerStaffById(repair.getRepairUserId()); + repair.setRepairUserName(repairUser.getUsername()); + } + if (repair.getEvalUserId() != null && repair.getEvalUserId() > 0) { + IcsCustomerStaff evalUser = customerStaffMapper.selectIcsCustomerStaffById(repair.getEvalUserId()); + repair.setEvalUserName(evalUser.getUsername()); + } + String url = repairAttachMapper.getRepairFirstImg(repair.getId()); + repair.setExt1(url); + IcsCustomerStaff createUser = customerStaffMapper.selectIcsCustomerStaffById(Long.valueOf(repair.getCreateBy())); + repair.setExt2(createUser.getUsername()); + } + } + return list; + } + + @Override + public Map workerRepairNumber(String userId) { + Map map = new HashMap<>(); + Integer wait = repairMapper.workerRepairNumber(userId, "wait"); + Integer working = repairMapper.workerRepairNumber(userId, "working"); + Integer close = repairMapper.workerRepairNumber(userId, "close"); + map.put("wait", wait); + map.put("working", working); + map.put("close", close); + return map; } /** diff --git a/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairAttachMapper.xml b/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairAttachMapper.xml index f5cb3b2..9def171 100644 --- a/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairAttachMapper.xml +++ b/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairAttachMapper.xml @@ -55,6 +55,10 @@ where repair_id= #{repairId} and delete_flag = 0 + + INSERT INTO ics_repair_attach 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 d83712d..ead1470 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 @@ -239,6 +239,13 @@ order by create_time desc + + DELETE FROM ics_repair WHERE id = #{id}