夏文涛 2 年之前
父节点
当前提交
0796d421d5
共有 33 个文件被更改,包括 924 次插入495 次删除
  1. 316 325
      .idea/workspace.xml
  2. 8 1
      src/main/java/com/repair/api/RepairRecordControllerAPI.java
  3. 3 1
      src/main/java/com/repair/api/RepairSystemMessagesControllerAPI.java
  4. 1 1
      src/main/java/com/repair/api/RepairUserControllerAPI.java
  5. 3 18
      src/main/java/com/repair/common/utils/TimeExchange.java
  6. 1 1
      src/main/java/com/repair/controller/LoginController.java
  7. 216 81
      src/main/java/com/repair/controller/RepairRecordController.java
  8. 9 0
      src/main/java/com/repair/controller/RepairSystemMessagesController.java
  9. 8 5
      src/main/java/com/repair/controller/RepairUserController.java
  10. 3 1
      src/main/java/com/repair/mapper/RepairRecordMapper.java
  11. 2 2
      src/main/java/com/repair/mapper/RepairUserMapper.java
  12. 1 1
      src/main/java/com/repair/model/request/insertRepairUserRequest.java
  13. 12 2
      src/main/java/com/repair/model/vo/DetailsVo.java
  14. 20 0
      src/main/java/com/repair/model/vo/MyRepairRecordVo.java
  15. 20 0
      src/main/java/com/repair/model/vo/RepairTechnicianVo.java
  16. 36 0
      src/main/java/com/repair/model/vo/RepairTotalDataVo.java
  17. 16 0
      src/main/java/com/repair/model/vo/RepairWorkTypeVo.java
  18. 19 0
      src/main/java/com/repair/model/vo/UnreadMessageCountVo.java
  19. 20 0
      src/main/java/com/repair/model/vo/pendingOrderVo.java
  20. 3 1
      src/main/java/com/repair/services/RepairRecordService.java
  21. 1 0
      src/main/java/com/repair/services/RepairSystemMessagesService.java
  22. 1 1
      src/main/java/com/repair/services/RepairUserService.java
  23. 1 1
      src/main/java/com/repair/services/impl/RepairDispatchRecordServiceImpl.java
  24. 8 2
      src/main/java/com/repair/services/impl/RepairRecordServiceImpl.java
  25. 9 0
      src/main/java/com/repair/services/impl/RepairSystemMessagesServiceImpl.java
  26. 7 5
      src/main/java/com/repair/services/impl/RepairUserServiceImpl.java
  27. 80 19
      src/main/resources/mapper/repair/RepairRecordMapper.xml
  28. 8 4
      src/main/resources/mapper/repair/RepairUserMapper.xml
  29. 80 19
      target/classes/mapper/repair/RepairRecordMapper.xml
  30. 8 4
      target/classes/mapper/repair/RepairUserMapper.xml
  31. 2 0
      target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  32. 2 0
      target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  33. 二进制
      target/repair_system-0.0.1-SNAPSHOT.jar.original

文件差异内容过多而无法显示
+ 316 - 325
.idea/workspace.xml


+ 8 - 1
src/main/java/com/repair/api/RepairRecordControllerAPI.java

@@ -81,7 +81,7 @@ public interface RepairRecordControllerAPI {
 
 
     @GetMapping(value = "/queryPendingOrder")
     @GetMapping(value = "/queryPendingOrder")
     @ApiOperation(value = "待处理池分页数据", notes = "待处理池分页数据", httpMethod = "GET")
     @ApiOperation(value = "待处理池分页数据", notes = "待处理池分页数据", httpMethod = "GET")
-    CommonResult queryPendingOrder(@RequestParam int currentPage, @RequestParam int pageCount);
+    CommonResult queryPendingOrder(@RequestParam int currentPage, @RequestParam int pageCount, @RequestParam int schoolId);
 
 
     @GetMapping(value = "/receiveOrders")
     @GetMapping(value = "/receiveOrders")
     @ApiOperation(value = "待处理池接单", notes = "待处理池接单", httpMethod = "GET")
     @ApiOperation(value = "待处理池接单", notes = "待处理池接单", httpMethod = "GET")
@@ -95,6 +95,10 @@ public interface RepairRecordControllerAPI {
     @ApiOperation(value = "关单", notes = "关单", httpMethod = "GET")
     @ApiOperation(value = "关单", notes = "关单", httpMethod = "GET")
     CommonResult closeOrders(@RequestParam int recordId, @RequestParam String userId, @RequestParam String reason) throws Exception;
     CommonResult closeOrders(@RequestParam int recordId, @RequestParam String userId, @RequestParam String reason) throws Exception;
 
 
+    @GetMapping(value = "/closePCOrder")
+    @ApiOperation(value = "管理端关单", notes = "管理端关单", httpMethod = "GET")
+    CommonResult closePCOrder(@RequestParam int recordId, @RequestHeader("user_head") String userhead, @RequestParam String reason) throws Exception;
+
     @PostMapping(value = "/finishOrder")
     @PostMapping(value = "/finishOrder")
     @ApiOperation(value = "维修完成", notes = "维修完成", httpMethod = "POST")
     @ApiOperation(value = "维修完成", notes = "维修完成", httpMethod = "POST")
     CommonResult finishOrder(@Validated @RequestBody finishOrderRequest data, @RequestHeader("user_head") String userhead, BindingResult bindingResult) throws Exception;
     CommonResult finishOrder(@Validated @RequestBody finishOrderRequest data, @RequestHeader("user_head") String userhead, BindingResult bindingResult) throws Exception;
@@ -223,5 +227,8 @@ public interface RepairRecordControllerAPI {
     @ApiOperation(value = "总数据汇总统计", notes = "总数据汇总统计", httpMethod = "GET")
     @ApiOperation(value = "总数据汇总统计", notes = "总数据汇总统计", httpMethod = "GET")
     CommonResult repairSummarizing() throws Exception;
     CommonResult repairSummarizing() throws Exception;
 
 
+    @GetMapping(value = "/repairTotalData")
+    @ApiOperation(value = "总数据分析", notes = "总数据分析", httpMethod = "GET")
+    CommonResult repairTotalData() throws Exception;
 
 
 }
 }

+ 3 - 1
src/main/java/com/repair/api/RepairSystemMessagesControllerAPI.java

@@ -44,5 +44,7 @@ public interface RepairSystemMessagesControllerAPI {
     @ApiOperation(value = "管理端批量已读操作", notes = "管理端批量已读操作", httpMethod = "GET")
     @ApiOperation(value = "管理端批量已读操作", notes = "管理端批量已读操作", httpMethod = "GET")
     CommonResult readAllManageMessage(@RequestHeader("user_head") String userhead);
     CommonResult readAllManageMessage(@RequestHeader("user_head") String userhead);
 
 
-
+    @GetMapping(value = "/queryMessageUnreadCount")
+    @ApiOperation(value = "获取未读数量", notes = "获取未读数量", httpMethod = "GET")
+    CommonResult queryMessageUnreadCount(int userId);
 }
 }

+ 1 - 1
src/main/java/com/repair/api/RepairUserControllerAPI.java

@@ -49,7 +49,7 @@ public interface RepairUserControllerAPI {
 
 
     @GetMapping(value = "/queryPageCollaborator")
     @GetMapping(value = "/queryPageCollaborator")
     @ApiOperation(value = "获取协作审核下拉人员分页数据", notes = "获取协作审核下拉人员分页数据", httpMethod = "GET")
     @ApiOperation(value = "获取协作审核下拉人员分页数据", notes = "获取协作审核下拉人员分页数据", httpMethod = "GET")
-    CommonResult queryPageCollaborator(@RequestParam int currentPage, @RequestParam int pageCount, @RequestParam Integer schoolId,@RequestParam Integer userId);
+    CommonResult queryPageCollaborator(@RequestParam int currentPage, @RequestParam int pageCount, @RequestParam Integer schoolId,@RequestParam Integer userId, String keyWord);
 
 
     @GetMapping(value = "/queryPositiveReviewPage")
     @GetMapping(value = "/queryPositiveReviewPage")
     @ApiOperation(value = "工单完成排行榜分页数据", notes = "工单完成排行榜分页数据", httpMethod = "GET")
     @ApiOperation(value = "工单完成排行榜分页数据", notes = "工单完成排行榜分页数据", httpMethod = "GET")

+ 3 - 18
src/main/java/com/repair/common/utils/TimeExchange.java

@@ -639,24 +639,9 @@ public class TimeExchange {
     }
     }
 
 
     public static void main(String[] args) throws ParseException {
     public static void main(String[] args) throws ParseException {
-//        LocalDateTime start = StringToLocalTime("12:00","HH:mm");
-//        LocalDateTime end = StringToLocalTime("14:00","HH:mm");
-//
-//        LocalDateTime start1 = StringToLocalTime("13:00","HH:mm");
-//        LocalDateTime end1 = StringToLocalTime("15:00","HH:mm");
-
-        String dateSre = TimeRangeHour(new Date(), -24,"yyyy-MM-dd HH:mm:ss");
-        List<Integer> newDatas = new ArrayList<>();
-        newDatas.add(1);
-        newDatas.add(3);
-        newDatas.add(5);
-        List<Integer> oldDatas = new ArrayList<>();
-        oldDatas.add(0);
-        oldDatas.add(5);
-        oldDatas.add(0);
-        oldDatas.add(3);
-        List<Integer> finall = newDatas.stream().filter(item -> !oldDatas.contains(item)).collect(Collectors.toList());
-        String sss = "";
+          Integer userId = 0;
+          String ss = userId.toString();
+        System.out.println(ss);
     }
     }
 }
 }
 
 

+ 1 - 1
src/main/java/com/repair/controller/LoginController.java

@@ -301,7 +301,7 @@ public class LoginController implements LoginControllerAPI {
         wlv.setRoutes(data == null ? new ArrayList<>() : data.getRoutes());
         wlv.setRoutes(data == null ? new ArrayList<>() : data.getRoutes());
         wlv.setBtns(data == null ? new ArrayList<>() : data.getBtns());
         wlv.setBtns(data == null ? new ArrayList<>() : data.getBtns());
         wlv.setUserName(user.getUserName());
         wlv.setUserName(user.getUserName());
-        wlv.setUserPhone(user.getUserPhone());
+        wlv.setUserPhone(user.getUserPhone().replace("(+86)",""));
         wlv.setUserZZid(user.getUserZzid());
         wlv.setUserZZid(user.getUserZzid());
         wlv.setUserZZName(eUserZZ.stringOf(user.getUserZzid()));
         wlv.setUserZZName(eUserZZ.stringOf(user.getUserZzid()));
         wlv.setSchoolId(user.getSchoolId());
         wlv.setSchoolId(user.getSchoolId());

+ 216 - 81
src/main/java/com/repair/controller/RepairRecordController.java

@@ -309,6 +309,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
     @Override
     @Override
     @Transactional(rollbackFor = {Exception.class})
     @Transactional(rollbackFor = {Exception.class})
     public CommonResult InsertRepairRecord(repairRecordRequest rrr, BindingResult bindingResult) throws Exception {
     public CommonResult InsertRepairRecord(repairRecordRequest rrr, BindingResult bindingResult) throws Exception {
+        System.out.println("提交订单"+JSON.toJSON(rrr));
         if (bindingResult.hasErrors()) {
         if (bindingResult.hasErrors()) {
             String st = paramUtils.getParamError(bindingResult);
             String st = paramUtils.getParamError(bindingResult);
             return CommonResult.fail(st);
             return CommonResult.fail(st);
@@ -349,7 +350,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
             //楼栋条件 员工必填楼栋 满足楼栋条件才能派
             //楼栋条件 员工必填楼栋 满足楼栋条件才能派
             List<AutoDispatchUserVo> users = repairUserService.autoDispatchUser(rrr.getSchoolId(), dateNow, rrr.getArticleId(), rrr.getBuildId());
             List<AutoDispatchUserVo> users = repairUserService.autoDispatchUser(rrr.getSchoolId(), dateNow, rrr.getArticleId(), rrr.getBuildId());
 
 
-            String shiftStr = StringUtils.join(users.stream().map(AutoDispatchUserVo::getArticleId).collect(Collectors.toList()), ",");
+            String shiftStr = StringUtils.join(users.stream().map(AutoDispatchUserVo::getShiftId).collect(Collectors.toList()), ",");
             List<String> shifts = Arrays.asList(shiftStr.split(",")).stream().distinct().collect(Collectors.toList());
             List<String> shifts = Arrays.asList(shiftStr.split(",")).stream().distinct().collect(Collectors.toList());
             RepairDispatchRecord rdr = null;
             RepairDispatchRecord rdr = null;
             //只获取不是值班 或下班后的排班数据
             //只获取不是值班 或下班后的排班数据
@@ -417,6 +418,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
                     }
                     }
 
 
                 } catch (Exception e) {
                 } catch (Exception e) {
+                    System.out.println("提交订单异常"+e.getMessage());
                     throw new Exception("报修单提交失败!");
                     throw new Exception("报修单提交失败!");
                 }
                 }
             }
             }
@@ -485,6 +487,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
             }
             }
 
 
         } catch (Exception e) {
         } catch (Exception e) {
+            System.out.println("提交订单异常2"+e.getMessage());
             throw new Exception("报修单提交失败!");
             throw new Exception("报修单提交失败!");
         }
         }
 
 
@@ -846,6 +849,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
                 for (RepairRecordPageVo r : result.getList()) {
                 for (RepairRecordPageVo r : result.getList()) {
                     if (r.getMaintenanceState() == 1) {
                     if (r.getMaintenanceState() == 1) {
                         r.setState("待接单");
                         r.setState("待接单");
+                        r.setClose(1);
                     } else if (r.getMaintenanceState() == 2) {
                     } else if (r.getMaintenanceState() == 2) {
                         r.setState("维修中");
                         r.setState("维修中");
                     } else if (r.getMaintenanceState() == 3) {
                     } else if (r.getMaintenanceState() == 3) {
@@ -1022,8 +1026,8 @@ public class RepairRecordController implements RepairRecordControllerAPI {
     }
     }
 
 
     @Override
     @Override
-    public CommonResult queryPendingOrder(int currentPage, int pageCount) {
-        PageUtils<pendingOrderVo> result = repairRecordService.queryPendingOrder(currentPage, pageCount);
+    public CommonResult queryPendingOrder(int currentPage, int pageCount, int schoolId) {
+        PageUtils<pendingOrderVo> result = repairRecordService.queryPendingOrder(currentPage, pageCount, schoolId);
         return CommonResult.ok(result);
         return CommonResult.ok(result);
     }
     }
 
 
@@ -1231,9 +1235,15 @@ public class RepairRecordController implements RepairRecordControllerAPI {
             }
             }
 
 
             //获取操作人的派单数据
             //获取操作人的派单数据
-            RepairDispatchRecord dispatch = repairDispatchRecordService.queryOwnRepairDispatch(recordId, userId);
-            if (dispatch == null) {
-                return CommonResult.fail("派单数据异常,接单失败");
+            List<RepairDispatchRecord> rdrs = repairDispatchRecordService.queryDispatchByRecordId(recordId);
+            RepairDispatchRecord dispatch = null;
+            if(rdrs != null && rdrs.size() > 0){
+                Optional<RepairDispatchRecord> data = rdrs.stream().filter(e -> e.getUsersId().equals(userId)).findFirst();
+                if(data != null && data.isPresent()){
+                    dispatch = data.get();
+                }else{
+                    return CommonResult.fail("该工单存在待处理人,接单失败");
+                }
             }
             }
 
 
             String dateNow = TimeExchange.DateToString(nowDate, "yyyy-MM-dd");
             String dateNow = TimeExchange.DateToString(nowDate, "yyyy-MM-dd");
@@ -1315,27 +1325,47 @@ public class RepairRecordController implements RepairRecordControllerAPI {
 
 
             //将工单状态更新为维修中
             //将工单状态更新为维修中
             recordData.setMaintenanceState(eRecordStatu.Maintenance.getValue());
             recordData.setMaintenanceState(eRecordStatu.Maintenance.getValue());
-            String mi = dispatch.getOrderType() == eDispatchType.Cooperation.getValue() ? recordData.getMaintenancerId() == null ? String.valueOf(userId) : recordData.getMaintenancerId() + "," + String.valueOf(userId) : String.valueOf(userId);
+            String mi = recordData.getMaintenancerId() == null ? String.valueOf(userId) : recordData.getMaintenancerId() + "," + String.valueOf(userId);
             recordData.setMaintenancerId(mi);
             recordData.setMaintenancerId(mi);
             recordData.setMaintenancerName(result.getUserName());
             recordData.setMaintenancerName(result.getUserName());
             recordData.setMaintenancerPhone(result.getUserPhone());
             recordData.setMaintenancerPhone(result.getUserPhone());
             recordData.setIsDuty(isDuty);
             recordData.setIsDuty(isDuty);
+
             int updateRecord = repairRecordService.updateRepairRecord(recordData);
             int updateRecord = repairRecordService.updateRepairRecord(recordData);
             if (updateRecord <= 0) {
             if (updateRecord <= 0) {
                 throw new Exception("接单失败!");
                 throw new Exception("接单失败!");
             }
             }
 
 
-            //更新派单记录
-            dispatch.setReceivingTime(nowDate);
-            int updateDispatch = repairDispatchRecordService.insertRepairDispatchRecord(dispatch);
-            if (updateDispatch <= 0) {
-                throw new Exception("接单失败!");
+            int disId = 0;
+            if(dispatch == null){
+                //更新派单记录
+                dispatch = new RepairDispatchRecord();
+                dispatch.setAssignedTime(new Date());
+                dispatch.setAcceptanceAssessTime(result.getAcceptanceAssessTime());
+                dispatch.setOrderType(0);
+                dispatch.setIsLoseEfficacy(0);
+                dispatch.setUsersId(userId);
+                dispatch.setReceivingTime(nowDate);
+                int insertDispatch = repairDispatchRecordService.insertRepairDispatchRecord(dispatch);
+                if (insertDispatch <= 0) {
+                    throw new Exception("接单失败!");
+                }
+                disId =insertDispatch;
+            }else{
+                //更新派单记录
+                dispatch.setReceivingTime(nowDate);
+                int updateDispatch = repairDispatchRecordService.updateRepairDispatchRecord(dispatch);
+                if (updateDispatch <= 0) {
+                    throw new Exception("接单失败!");
+                }
+                disId = dispatch.getId();
             }
             }
 
 
+
             //创建接单记录
             //创建接单记录
             RepairReceiving rr = new RepairReceiving();
             RepairReceiving rr = new RepairReceiving();
             rr.setRecordId(recordId);
             rr.setRecordId(recordId);
-            rr.setDispatchId(dispatch.getId());
+            rr.setDispatchId(disId);
             rr.setUserId(userId);
             rr.setUserId(userId);
             rr.setReceivingTime(new Date());
             rr.setReceivingTime(new Date());
             rr.setMaintenanceAssessTime(maintenanceAssessTime);
             rr.setMaintenanceAssessTime(maintenanceAssessTime);
@@ -1398,6 +1428,12 @@ public class RepairRecordController implements RepairRecordControllerAPI {
             return CommonResult.fail("维修单状态异常,派单失败");
             return CommonResult.fail("维修单状态异常,派单失败");
         }
         }
 
 
+        //查询该订单是否存在被派单数据
+        List<RepairDispatchRecord> repairDis = repairDispatchRecordService.queryDispatchByRecordId(rsor.getRecordId());
+        if(repairDis != null && repairDis.size() > 0){
+            return CommonResult.fail("该订单存在待接单师傅,请勿再次派单");
+        }
+
         Integer isDuty = 0;
         Integer isDuty = 0;
         Date nowDate = new Date();
         Date nowDate = new Date();
         String dateHour = new SimpleDateFormat("HH:mm").format(new Date());
         String dateHour = new SimpleDateFormat("HH:mm").format(new Date());
@@ -1501,6 +1537,16 @@ public class RepairRecordController implements RepairRecordControllerAPI {
                 senderId = user.getId();
                 senderId = user.getId();
             }
             }
 
 
+            RepairSystemMessages rsm = new RepairSystemMessages();
+            rsm.setIsRead(0);
+            rsm.setRecordId(rsor.getRecordId());
+            rsm.setRecipientId(rsor.getId());
+            rsm.setContent("管理员为您派发工单,请尽快处理!");
+            int insertRsm = repairSystemMessagesService.insertRepairSystemMessages(rsm);
+            if (insertRsm <= 0) {
+                throw new Exception("派单失败!");
+            }
+
             //添加跟踪记录  派单不加跟踪记录
             //添加跟踪记录  派单不加跟踪记录
             RepairTrackRecord rtr = new RepairTrackRecord();
             RepairTrackRecord rtr = new RepairTrackRecord();
             rtr.setRecordId(rsor.getRecordId());
             rtr.setRecordId(rsor.getRecordId());
@@ -2726,6 +2772,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
                 sendCountMap.put(usersId, integers);
                 sendCountMap.put(usersId, integers);
             } else {
             } else {
                 ArrayList<Integer> integers = new ArrayList<>();
                 ArrayList<Integer> integers = new ArrayList<>();
+                integers.add(recordId);
                 sendCountMap.put(usersId, integers);
                 sendCountMap.put(usersId, integers);
             }
             }
 
 
@@ -2771,94 +2818,102 @@ public class RepairRecordController implements RepairRecordControllerAPI {
         ArrayList<MaintenanceWorkerVo> vos = new ArrayList<>();
         ArrayList<MaintenanceWorkerVo> vos = new ArrayList<>();
 
 
         users.forEach(repairUser -> {
         users.forEach(repairUser -> {
-            MaintenanceWorkerVo maintenanceWorkerVo = new MaintenanceWorkerVo();
+                    MaintenanceWorkerVo maintenanceWorkerVo = new MaintenanceWorkerVo();
 //            名字
 //            名字
-            maintenanceWorkerVo.setName(repairUser.getUserName());
+                    maintenanceWorkerVo.setName(repairUser.getUserName());
 
 
 //            学校
 //            学校
-            Integer schoolId = repairUser.getSchoolId();
-            for (RepairSchool repairSchool : schoolList) {
-                Integer id = repairSchool.getId();
-                if (id.equals(schoolId)) {
-                    maintenanceWorkerVo.setSchoolName(repairSchool.getName());
-                }
-            }
+                    Integer schoolId = repairUser.getSchoolId();
+                    for (RepairSchool repairSchool : schoolList) {
+                        Integer id = repairSchool.getId();
+                        if (id.equals(schoolId)) {
+                            maintenanceWorkerVo.setSchoolName(repairSchool.getName());
+                        }
+                    }
 
 
-            Integer id = repairUser.getId();
+                    Integer id = repairUser.getId();
 //            工单集合
 //            工单集合
-            List<Integer> recordsList = receivingCountMap.get(id);
-            int size = recordsList.size();
-            BigDecimal b = new BigDecimal(size);
+                    List<Integer> recordsList = receivingCountMap.get(id);
+                    int size = recordsList.size();
+                    BigDecimal b = new BigDecimal(size);
 
 
 //            工单总数
 //            工单总数
-            maintenanceWorkerVo.setWorkOrderTotal(size);
+                    maintenanceWorkerVo.setWorkOrderTotal(size);
 
 
 //            超时率
 //            超时率
-            if (maintainTimeOutMap.containsKey(id)) {
-                Integer integer = maintainTimeOutMap.get(id);
-                BigDecimal a = new BigDecimal(integer);
-                BigDecimal c = b;
+                    if (maintainTimeOutMap.containsKey(id)) {
+                        Integer integer = maintainTimeOutMap.get(id);
+                        BigDecimal a = new BigDecimal(integer);
+                        BigDecimal c = b;
 //                接单
 //                接单
-                if (sendTimeOutMap.containsKey(id)) {
-                    Integer integer1 = sendTimeOutMap.get(id);
-                    BigDecimal bigDecimal = new BigDecimal(integer1);
-                    a = a.add(bigDecimal);
-                    List<Integer> integers = sendCountMap.get(id);
-                    c = c.add(new BigDecimal(integers.size()));
-                }
+                        if (sendTimeOutMap.containsKey(id)) {
+                            Integer integer1 = sendTimeOutMap.get(id);
+                            BigDecimal bigDecimal = new BigDecimal(integer1);
+                            a = a.add(bigDecimal);
+                            List<Integer> integers = sendCountMap.get(id);
+                            BigDecimal bigDecimal1 = new BigDecimal(integers.size());
+                            c = c.add(bigDecimal1);
+                        }
 
 
-                BigDecimal bigDecimal = a.divide(c, 2, BigDecimal.ROUND_HALF_UP);
-                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(100));
-                maintenanceWorkerVo.setTimeOut(multiply + "%");
-            }
+                        BigDecimal bigDecimal = a.divide(c, 2, BigDecimal.ROUND_HALF_UP);
+                        BigDecimal multiply = bigDecimal.multiply(new BigDecimal(100));
+                        maintenanceWorkerVo.setTimeOut(multiply + "%");
+                    }
 
 
 //            平均维修时间
 //            平均维修时间
-            Long aLong = maintainMap.get(id);
-            BigDecimal bigDecimal = new BigDecimal(aLong);
-            BigDecimal maintain = bigDecimal.divide(b, 2, BigDecimal.ROUND_HALF_UP);
-            maintenanceWorkerVo.setMaintain(maintain);
-
-            //        平均响应时长
-            if (sendMap.containsKey(id)) {
-                Long aLong1 = sendMap.get(id);
-                BigDecimal bigDecimal1 = new BigDecimal(aLong1);
-                List<Integer> integers = sendCountMap.get(id);
-                BigDecimal bigDecimal2 = new BigDecimal(integers.size());
-                BigDecimal send = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_HALF_UP);
-                maintenanceWorkerVo.setAnswer(send);
-            }
+                    Long aLong = maintainMap.get(id);
+                    BigDecimal bigDecimal = new BigDecimal(aLong);
+                    BigDecimal maintain = bigDecimal.divide(b, 2, BigDecimal.ROUND_HALF_UP);
+                    maintenanceWorkerVo.setMaintain(maintain);
+
+                    //        平均响应时长
+                    if (sendMap.containsKey(id)) {
+                        Long aLong1 = sendMap.get(id);
+                        BigDecimal bigDecimal1 = new BigDecimal(aLong1);
+                        List<Integer> integers = sendCountMap.get(id);
+                        if (integers.size()<=0) {
+                            maintenanceWorkerVo.setAnswer(null);
+                        }else {
+                            BigDecimal bigDecimal2 = new BigDecimal(integers.size());
+                            BigDecimal send = bigDecimal1.divide(bigDecimal2, 2, BigDecimal.ROUND_HALF_UP);
+                            maintenanceWorkerVo.setAnswer(send);
+                        }
+                    }
 
 
 
 
 //            总费用
 //            总费用
-            LambdaQueryWrapper<RepairRecord> recordWrapper = new LambdaQueryWrapper<>();
-            recordWrapper.in(RepairRecord::getId, recordsList);
-
-            List<RepairRecord> list = repairRecordService.list(recordWrapper);
-            BigDecimal totalPrice = new BigDecimal(0);
-            for (RepairRecord repairRecord : list) {
-                BigDecimal price = repairRecord.getPrice();
-                if (ObjectUtils.isNotEmpty(price)) {
-                    totalPrice = totalPrice.add(price);
-                }
-            }
-            maintenanceWorkerVo.setTotalPrice(totalPrice);
+                    LambdaQueryWrapper<RepairRecord> recordWrapper = new LambdaQueryWrapper<>();
+                    recordWrapper.in(RepairRecord::getId, recordsList);
+
+                    List<RepairRecord> list = repairRecordService.list(recordWrapper);
+                    BigDecimal totalPrice = new BigDecimal(0);
+                    for (RepairRecord repairRecord : list) {
+                        BigDecimal price = repairRecord.getPrice();
+                        if (ObjectUtils.isNotEmpty(price)) {
+                            totalPrice = totalPrice.add(price);
+                        }
+                    }
+                    maintenanceWorkerVo.setTotalPrice(totalPrice);
 
 
 //            好评率
 //            好评率
-            LambdaQueryWrapper<RepairEvaluate> evaluateWrapper = new LambdaQueryWrapper<>();
-            evaluateWrapper.in(RepairEvaluate::getRecordId, recordsList);
+                    LambdaQueryWrapper<RepairEvaluate> evaluateWrapper = new LambdaQueryWrapper<>();
+                    evaluateWrapper.in(RepairEvaluate::getRecordId, recordsList);
 //      根据工单id来查询对应的评价
 //      根据工单id来查询对应的评价
-            List<RepairEvaluate> repairEvaluates = repairEvaluateService.list(evaluateWrapper);
-            BigDecimal evaluatesDecimal = new BigDecimal(repairEvaluates.size());
-            BigDecimal satisfaction = new BigDecimal(0);
-            for (RepairEvaluate repairEvaluate : repairEvaluates) {
-                Integer star = repairEvaluate.getStar();
-                if (star > 3) {
-                    satisfaction = satisfaction.add(new BigDecimal(1));
+                    List<RepairEvaluate> repairEvaluates = repairEvaluateService.list(evaluateWrapper);
+                    if (ObjectUtils.isEmpty(repairEvaluates) && repairEvaluates.size() <= 0) {
+                        maintenanceWorkerVo.setDegreePraise(0 + "%");
+                    } else{
+                        BigDecimal evaluatesDecimal = new BigDecimal(repairEvaluates.size());
+                    BigDecimal satisfaction = new BigDecimal(0);
+                    for (RepairEvaluate repairEvaluate : repairEvaluates) {
+                        Integer star = repairEvaluate.getStar();
+                        if (star > 3) {
+                            satisfaction = satisfaction.add(new BigDecimal(1));
+                        }
+                    }
+                    BigDecimal degreePraise = satisfaction.divide(evaluatesDecimal, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
+                    maintenanceWorkerVo.setDegreePraise(degreePraise + "%");
                 }
                 }
-            }
-            BigDecimal degreePraise = satisfaction.divide(evaluatesDecimal, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
-            maintenanceWorkerVo.setDegreePraise(degreePraise + "%");
-
 
 
             vos.add(maintenanceWorkerVo);
             vos.add(maintenanceWorkerVo);
 
 
@@ -3395,6 +3450,17 @@ public class RepairRecordController implements RepairRecordControllerAPI {
         return CommonResult.ok(vos);
         return CommonResult.ok(vos);
     }
     }
 
 
+    /**
+     * 总数据分析
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public CommonResult repairTotalData() throws Exception {
+        RepairTotalDataVo vo=repairRecordService.repairTotalData();
+        return CommonResult.ok(vo);
+    }
+
     @Override
     @Override
     public CommonResult mobileReply(MobileRevertRequest mrr, BindingResult bindingResult) throws Exception {
     public CommonResult mobileReply(MobileRevertRequest mrr, BindingResult bindingResult) throws Exception {
         if (bindingResult.hasErrors()) {
         if (bindingResult.hasErrors()) {
@@ -3519,6 +3585,75 @@ public class RepairRecordController implements RepairRecordControllerAPI {
 
 
     @Override
     @Override
     @Transactional(rollbackFor = {Exception.class})
     @Transactional(rollbackFor = {Exception.class})
+    public CommonResult closePCOrder(int recordId, String userhead, String reason) throws Exception {
+
+        //获取订单
+        RepairRecord recordData = repairRecordService.getRepairById(recordId);
+        if (recordData == null) {
+            return CommonResult.fail("订单不存在,关单失败!");
+        }
+
+        //待接单才能关单
+        if (recordData.getMaintenanceState() != eRecordStatu.Dispatch.getValue()) {
+            return CommonResult.fail("待接单状态的工单才能关闭");
+        }
+
+        String userID = AesUtils.decrypt(userhead);
+        RepairAdmin operateData = repairAdminService.getRepairById(userID);
+        if (operateData == null) {
+            return CommonResult.fail("操作人信息不合法,无法进行关单!");
+        }
+
+        //发送人
+        Integer userId = 0;//超级管理员用ID为0
+        if (!operateData.getIsSuper().equals(eIsSuper.Super.getValue())) {
+            RepairUser user = repairUserService.getRepairByCardNumber(operateData.getCardNumber());
+            if (user == null) {
+                return CommonResult.fail("管理端账号未与移动端账号绑定,无法进行关单!");
+            }
+            userId = user.getId();
+        }
+
+        try {
+            //将工单状态更新为维修中
+            recordData.setCustomsOfficerId(userId.toString());
+            recordData.setRemark(reason);
+            recordData.setMaintenanceState(eRecordStatu.Closed.getValue());
+            int updateRecord = repairRecordService.updateRepairRecord(recordData);
+            if (updateRecord <= 0) {
+                return CommonResult.fail("关单失败!");
+            }
+
+            RepairSystemMessages rsm = new RepairSystemMessages();
+            rsm.setIsRead(0);
+            rsm.setRecordId(recordId);
+            rsm.setRecipientId(recordData.getUserId());
+            rsm.setContent("工单已被师傅关闭,关单原因为:" + reason + "!");
+            int insertRsm = repairSystemMessagesService.insertRepairSystemMessages(rsm);
+            if (insertRsm <= 0) {
+                throw new Exception("关单失败!");
+            }
+
+            //添加跟踪记录
+            RepairTrackRecord rtr = new RepairTrackRecord();
+            rtr.setRecordId(recordId);
+            rtr.setMaintenanceState(eRecordStatu.Closed.getValue());
+            rtr.setContent("订单关闭");
+            rtr.setUserId(Integer.valueOf(userId));
+            rtr.setUserZzstr("技术员");
+            int insertRtr = repairTrackRecordService.insertRepairTrackRecord(rtr);
+            if (insertRtr <= 0) {
+                throw new Exception("关单失败");
+            }
+        } catch (Exception e) {
+            throw new Exception("关单失败!");
+        }
+
+        return CommonResult.ok("关单成功");
+    }
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class})
     public CommonResult finishOrder(finishOrderRequest data, @RequestHeader("user_head") String userhead, BindingResult bindingResult) throws Exception {
     public CommonResult finishOrder(finishOrderRequest data, @RequestHeader("user_head") String userhead, BindingResult bindingResult) throws Exception {
         try {
         try {
             if (bindingResult.hasErrors()) {
             if (bindingResult.hasErrors()) {

+ 9 - 0
src/main/java/com/repair/controller/RepairSystemMessagesController.java

@@ -11,6 +11,7 @@ import com.repair.model.pojo.RepairUser;
 import com.repair.model.result.CommonResult;
 import com.repair.model.result.CommonResult;
 import com.repair.model.result.PageUtils;
 import com.repair.model.result.PageUtils;
 import com.repair.model.vo.SystemMessagePageVo;
 import com.repair.model.vo.SystemMessagePageVo;
+import com.repair.model.vo.UnreadMessageCountVo;
 import com.repair.services.RepairAdminService;
 import com.repair.services.RepairAdminService;
 import com.repair.services.RepairSystemMessagesService;
 import com.repair.services.RepairSystemMessagesService;
 import com.repair.services.RepairUserService;
 import com.repair.services.RepairUserService;
@@ -86,6 +87,14 @@ public class RepairSystemMessagesController implements RepairSystemMessagesContr
     }
     }
 
 
     @Override
     @Override
+    public CommonResult queryMessageUnreadCount(int userId) {
+        int result = repairSystemMessagesService.queryMessageUnreadCount(userId);
+        UnreadMessageCountVo data = new UnreadMessageCountVo();
+        data.setCount(result);
+        return CommonResult.ok(data);
+    }
+
+    @Override
     public CommonResult readSystemMessage(int id) {
     public CommonResult readSystemMessage(int id) {
         RepairSystemMessages rsm = new RepairSystemMessages();
         RepairSystemMessages rsm = new RepairSystemMessages();
         rsm.setId(id);
         rsm.setId(id);

+ 8 - 5
src/main/java/com/repair/controller/RepairUserController.java

@@ -1,5 +1,6 @@
 package com.repair.controller;
 package com.repair.controller;
 
 
+import com.alibaba.fastjson.JSON;
 import com.repair.api.RepairUserControllerAPI;
 import com.repair.api.RepairUserControllerAPI;
 import com.repair.common.utils.paramUtils;
 import com.repair.common.utils.paramUtils;
 import com.repair.model.enumModel.eUserZZ;
 import com.repair.model.enumModel.eUserZZ;
@@ -50,6 +51,7 @@ public class RepairUserController implements RepairUserControllerAPI {
      */
      */
     @Override
     @Override
     public CommonResult InsertRepairUser(insertRepairUserRequest irur, BindingResult bindingResult) {
     public CommonResult InsertRepairUser(insertRepairUserRequest irur, BindingResult bindingResult) {
+        System.out.println("添加员工接口参数:"+ JSON.toJSON(irur));
         if (bindingResult.hasErrors()) {
         if (bindingResult.hasErrors()) {
             String st = paramUtils.getParamError(bindingResult);
             String st = paramUtils.getParamError(bindingResult);
             return CommonResult.fail(st);
             return CommonResult.fail(st);
@@ -64,7 +66,7 @@ public class RepairUserController implements RepairUserControllerAPI {
         }
         }
         ru.setUserName(irur.getUserName());
         ru.setUserName(irur.getUserName());
         ru.setCardNumber(irur.getCardNumber());
         ru.setCardNumber(irur.getCardNumber());
-        ru.setUserZzid(irur.getUserzzId());
+        ru.setUserZzid(irur.getUserZzid());
         ru.setTeamId(irur.getTeamId());
         ru.setTeamId(irur.getTeamId());
         ru.setUserPhone(irur.getUserPhone());
         ru.setUserPhone(irur.getUserPhone());
         ru.setSchoolId(irur.getSchoolId());
         ru.setSchoolId(irur.getSchoolId());
@@ -136,6 +138,7 @@ public class RepairUserController implements RepairUserControllerAPI {
         PageUtils<RepairUserVo> result = repairUserService.queryPageRepairUser(currentPage, pageCount, keyWord, teamId, schoolId);
         PageUtils<RepairUserVo> result = repairUserService.queryPageRepairUser(currentPage, pageCount, keyWord, teamId, schoolId);
 
 
         for (RepairUserVo r : result.getList()) {
         for (RepairUserVo r : result.getList()) {
+            r.setUserZzname(eUserZZ.stringOf(r.getUserZzid()));
             if (r.getBuildId() != null) {
             if (r.getBuildId() != null) {
                 r.setBuildIds(Arrays.asList(r.getBuildId().split(",")));
                 r.setBuildIds(Arrays.asList(r.getBuildId().split(",")));
             }
             }
@@ -204,10 +207,10 @@ public class RepairUserController implements RepairUserControllerAPI {
         List<AddressBookVo> abs = repairUserService.queryAddressBook(userId, schoolId, keyWord);
         List<AddressBookVo> abs = repairUserService.queryAddressBook(userId, schoolId, keyWord);
 
 
         List<AddressBookListVo> result = new ArrayList<>();
         List<AddressBookListVo> result = new ArrayList<>();
-        for (int i = 1; i <= 2; i++) {
+        for (int i = 0; i <= 1; i++) {
             AddressBookListVo data = new AddressBookListVo();
             AddressBookListVo data = new AddressBookListVo();
             data.setId(i);
             data.setId(i);
-            data.setName(i == 1 ? "校方人员" : "第三方人员");
+            data.setName(i == 0 ? "校方人员" : "第三方人员");
             List<AddressBookVo> abDatas = abs.stream().filter(e -> e.getTeamId() == data.getId()).collect(Collectors.toList());
             List<AddressBookVo> abDatas = abs.stream().filter(e -> e.getTeamId() == data.getId()).collect(Collectors.toList());
             data.setList(abDatas);
             data.setList(abDatas);
             result.add(data);
             result.add(data);
@@ -239,9 +242,9 @@ public class RepairUserController implements RepairUserControllerAPI {
     }
     }
 
 
     @Override
     @Override
-    public CommonResult queryPageCollaborator(int currentPage, int pageCount, Integer schoolId, Integer userId) {
+    public CommonResult queryPageCollaborator(int currentPage, int pageCount, Integer schoolId, Integer userId,String keyWord) {
         String dateNow = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
         String dateNow = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
-        PageUtils<RepairWorkTypeVo> result = repairUserService.queryCollaboratorUser(currentPage, pageCount, schoolId, userId, dateNow);
+        PageUtils<RepairWorkTypeVo> result = repairUserService.queryCollaboratorUser(currentPage, pageCount, schoolId, userId, dateNow, keyWord);
         return CommonResult.ok(result);
         return CommonResult.ok(result);
     }
     }
 
 

+ 3 - 1
src/main/java/com/repair/mapper/RepairRecordMapper.java

@@ -39,7 +39,7 @@ public interface RepairRecordMapper extends BaseMapper<RepairRecord> {
 
 
     IPage<RepairRecordTimeoutPageVo> queryTimeout(IPage<RepairRecordTimeoutPageVo> page, @Param("keyWord") String keyWord, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("schoolId") Integer schoolId);
     IPage<RepairRecordTimeoutPageVo> queryTimeout(IPage<RepairRecordTimeoutPageVo> page, @Param("keyWord") String keyWord, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("schoolId") Integer schoolId);
 
 
-    IPage<pendingOrderVo> queryPendingOrder(IPage<pendingOrderVo> page);
+    IPage<pendingOrderVo> queryPendingOrder(IPage<pendingOrderVo> page, @Param("schoolId") Integer schoolId);
 
 
     TeamWorkCountVo queryTeamWorkCount(@Param("schoolId") Integer schoolId, @Param("dateNow") String dateNow);
     TeamWorkCountVo queryTeamWorkCount(@Param("schoolId") Integer schoolId, @Param("dateNow") String dateNow);
 
 
@@ -88,4 +88,6 @@ public interface RepairRecordMapper extends BaseMapper<RepairRecord> {
     Integer queryTimeOut(@Param("startTime")String startTime,@Param("endTime") String endTime);
     Integer queryTimeOut(@Param("startTime")String startTime,@Param("endTime") String endTime);
 
 
     RepairSummarizingVo repairSummarizing(@Param("startTime")String startTime,@Param("endTime") String endTime);
     RepairSummarizingVo repairSummarizing(@Param("startTime")String startTime,@Param("endTime") String endTime);
+
+    RepairTotalDataVo repairTotalData();
 }
 }

+ 2 - 2
src/main/java/com/repair/mapper/RepairUserMapper.java

@@ -27,7 +27,7 @@ public interface RepairUserMapper extends BaseMapper<RepairUser> {
 
 
     IPage<CollaboratorVo> queryCollaborator(IPage<CollaboratorVo> page, @Param("userId") Integer userId, @Param("schoolId") Integer schoolId, @Param("keyWord") String keyWord);
     IPage<CollaboratorVo> queryCollaborator(IPage<CollaboratorVo> page, @Param("userId") Integer userId, @Param("schoolId") Integer schoolId, @Param("keyWord") String keyWord);
 
 
-    List<AddressBookVo> queryAddressBook(@Param("userId") Integer userId, @Param("schoolId") Integer schoolId, @Param("keyWord") String keyWord);
+    List<AddressBookVo> queryAddressBook(@Param("schoolId") Integer schoolId, @Param("keyWord") String keyWord);
 
 
     IPage<AddressBookVo> queryUserPageBySchoolId(IPage<AddressBookVo> page, @Param("schoolId") Integer schoolId);
     IPage<AddressBookVo> queryUserPageBySchoolId(IPage<AddressBookVo> page, @Param("schoolId") Integer schoolId);
 
 
@@ -35,7 +35,7 @@ public interface RepairUserMapper extends BaseMapper<RepairUser> {
 
 
     IPage<AutoDispatchUserVo> autoDispatchUser(IPage<AutoDispatchUserVo> page, @Param("schoolId") Integer schoolId, @Param("dateNow") String dateNow, @Param("articleId") Integer articleId, @Param("buildId") Integer buildId, @Param("keyWord") String keyWord);
     IPage<AutoDispatchUserVo> autoDispatchUser(IPage<AutoDispatchUserVo> page, @Param("schoolId") Integer schoolId, @Param("dateNow") String dateNow, @Param("articleId") Integer articleId, @Param("buildId") Integer buildId, @Param("keyWord") String keyWord);
 
 
-    IPage<RepairWorkTypeVo> queryCollaboratorUser(IPage<RepairWorkTypeVo> page, @Param("schoolId") Integer schoolId, @Param("userId") Integer userId, @Param("dateNow") String dateNow);
+    IPage<RepairWorkTypeVo> queryCollaboratorUser(IPage<RepairWorkTypeVo> page, @Param("schoolId") Integer schoolId, @Param("userId") Integer userId, @Param("dateNow") String dateNow, @Param("keyWord") String keyWord);
 
 
     IPage<PositiveReviewVo> queryPositiveReviewPage(IPage<PositiveReviewVo> page, @Param("schoolId") Integer schoolId);
     IPage<PositiveReviewVo> queryPositiveReviewPage(IPage<PositiveReviewVo> page, @Param("schoolId") Integer schoolId);
 
 

+ 1 - 1
src/main/java/com/repair/model/request/insertRepairUserRequest.java

@@ -28,7 +28,7 @@ public class insertRepairUserRequest {
      * 身份ID
      * 身份ID
      */
      */
     @NotNull(message = "身份不能为空")
     @NotNull(message = "身份不能为空")
-    private Integer userzzId;
+    private Integer userZzid;
 
 
     /**
     /**
      * 手机号码
      * 手机号码

+ 12 - 2
src/main/java/com/repair/model/vo/DetailsVo.java

@@ -76,16 +76,26 @@ public class DetailsVo {
     private String description;
     private String description;
 
 
     /**
     /**
-     * 报修录音
+     * 用户报修录音
      */
      */
     private String voice;
     private String voice;
 
 
     /**
     /**
-     * 录音时长
+     * 用户录音时长
      */
      */
     private Integer voiceLength;
     private Integer voiceLength;
 
 
     /**
     /**
+     * 师傅维修修录音
+     */
+    private String finishVoice;
+
+    /**
+     * 师傅维修修录音时长
+     */
+    private Integer finishVoiceLength;
+
+    /**
      * 上传图片
      * 上传图片
      */
      */
     @JsonIgnore
     @JsonIgnore

+ 20 - 0
src/main/java/com/repair/model/vo/MyRepairRecordVo.java

@@ -57,6 +57,26 @@ public class MyRepairRecordVo {
     private String articleName;
     private String articleName;
 
 
     /**
     /**
+     * 用户报修录音
+     */
+    private String voice;
+
+    /**
+     * 用户录音时长
+     */
+    private Integer voiceLength;
+
+    /**
+     * 师傅维修修录音
+     */
+    private String finishVoice;
+
+    /**
+     * 师傅维修修录音时长
+     */
+    private Integer finishVoiceLength;
+
+    /**
      * 故障描述
      * 故障描述
      */
      */
     private String descript;
     private String descript;

+ 20 - 0
src/main/java/com/repair/model/vo/RepairTechnicianVo.java

@@ -116,4 +116,24 @@ public class RepairTechnicianVo {
      * 维修费用
      * 维修费用
      */
      */
     private BigDecimal price;
     private BigDecimal price;
+
+    /**
+     * 用户报修录音
+     */
+    private String voice;
+
+    /**
+     * 用户录音时长
+     */
+    private Integer voiceLength;
+
+    /**
+     * 师傅维修修录音
+     */
+    private String finishVoice;
+
+    /**
+     * 师傅维修修录音时长
+     */
+    private Integer finishVoiceLength;
 }
 }

+ 36 - 0
src/main/java/com/repair/model/vo/RepairTotalDataVo.java

@@ -0,0 +1,36 @@
+package com.repair.model.vo;
+
+import lombok.Data;
+
+@Data
+public class RepairTotalDataVo {
+    //    待审核
+    private Integer checkCount;
+
+    //    待接单
+    private Integer receivingCount;
+
+    //    待处理
+    private Integer disposeCount;
+
+    //    待确认
+    private Integer affirmCount;
+
+    //    维修中
+    private Integer maintainCount;
+
+    //    已完成总数=(已完成+已取消+已关单)
+    private Integer accomplishTotalCount;
+
+    //    已完成
+    private Integer accomplishCount;
+
+    //    已取消
+    private Integer cancelCount;
+
+    //    已关单
+    private Integer shutCount;
+
+    //    总单数
+    private Integer totalCount;
+}

+ 16 - 0
src/main/java/com/repair/model/vo/RepairWorkTypeVo.java

@@ -19,4 +19,20 @@ public class RepairWorkTypeVo {
      * 名称
      * 名称
      */
      */
     private String name;
     private String name;
+
+    /**
+     * 手机号
+     */
+    private String userPhone;
+
+    /**
+     * 工种
+     */
+    private String workType;
+
+    /**
+     * 员工接单状态
+     */
+    private String state;
+
 }
 }

+ 19 - 0
src/main/java/com/repair/model/vo/UnreadMessageCountVo.java

@@ -0,0 +1,19 @@
+package com.repair.model.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/8/7 星期一 8:48
+ * @Description: com.repair.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class UnreadMessageCountVo {
+    /**
+     * 数据数量
+     */
+    private int count;
+}

+ 20 - 0
src/main/java/com/repair/model/vo/pendingOrderVo.java

@@ -52,6 +52,26 @@ public class pendingOrderVo {
     private String address;
     private String address;
 
 
     /**
     /**
+     * 用户报修录音
+     */
+    private String voice;
+
+    /**
+     * 用户录音时长
+     */
+    private Integer voiceLength;
+
+    /**
+     * 师傅维修修录音
+     */
+    private String finishVoice;
+
+    /**
+     * 师傅维修修录音时长
+     */
+    private Integer finishVoiceLength;
+
+    /**
      * 报修物品
      * 报修物品
      */
      */
     private String articleName;
     private String articleName;

+ 3 - 1
src/main/java/com/repair/services/RepairRecordService.java

@@ -49,7 +49,7 @@ public interface RepairRecordService extends IService<RepairRecord> {
 
 
     PageUtils<RepairRecordTimeoutPageVo> queryTimeout(int currentPage, int pageCount, String keyWord, String startTime, String endTime, Integer schoolId);
     PageUtils<RepairRecordTimeoutPageVo> queryTimeout(int currentPage, int pageCount, String keyWord, String startTime, String endTime, Integer schoolId);
 
 
-    PageUtils<pendingOrderVo> queryPendingOrder(int currentPage, int pageCount);
+    PageUtils<pendingOrderVo> queryPendingOrder(int currentPage, int pageCount, int schoolId);
 
 
     TeamWorkCountVo queryTeamWorkCount(Integer schoolId, String dateNow);
     TeamWorkCountVo queryTeamWorkCount(Integer schoolId, String dateNow);
 
 
@@ -100,4 +100,6 @@ public interface RepairRecordService extends IService<RepairRecord> {
     RepairSummarizingVo repairSummarizing(String startTime, String endTime);
     RepairSummarizingVo repairSummarizing(String startTime, String endTime);
 
 
     DetailsVo queryDetailData(Integer recordId);
     DetailsVo queryDetailData(Integer recordId);
+
+    RepairTotalDataVo repairTotalData();
 }
 }

+ 1 - 0
src/main/java/com/repair/services/RepairSystemMessagesService.java

@@ -34,4 +34,5 @@ public interface RepairSystemMessagesService extends IService<RepairSystemMessag
 
 
     int readAllManageMessage(int userId);
     int readAllManageMessage(int userId);
 
 
+    int queryMessageUnreadCount(int userId);
 }
 }

+ 1 - 1
src/main/java/com/repair/services/RepairUserService.java

@@ -52,7 +52,7 @@ public interface RepairUserService extends IService<RepairUser> {
 
 
     PageUtils<AutoDispatchUserVo> autoDispatchUser(int currentPage, int pageCount, Integer schoolId, String dateNow, Integer articleId, Integer buildId, String keyWord);
     PageUtils<AutoDispatchUserVo> autoDispatchUser(int currentPage, int pageCount, Integer schoolId, String dateNow, Integer articleId, Integer buildId, String keyWord);
 
 
-    PageUtils<RepairWorkTypeVo> queryCollaboratorUser(int currentPage, int pageCount, Integer schoolId, Integer userId, String dateNow);
+    PageUtils<RepairWorkTypeVo> queryCollaboratorUser(int currentPage, int pageCount, Integer schoolId, Integer userId, String dateNow,String keyWord);
 
 
     PageUtils<PositiveReviewVo> queryPositiveReviewPage(int currentPage, int pageCount, Integer schoolId);
     PageUtils<PositiveReviewVo> queryPositiveReviewPage(int currentPage, int pageCount, Integer schoolId);
 
 

+ 1 - 1
src/main/java/com/repair/services/impl/RepairDispatchRecordServiceImpl.java

@@ -33,7 +33,7 @@ public class RepairDispatchRecordServiceImpl extends ServiceImpl<RepairDispatchR
     @Override
     @Override
     public int insertRepairDispatchRecord(RepairDispatchRecord rdr) {
     public int insertRepairDispatchRecord(RepairDispatchRecord rdr) {
         int result = repairDispatchRecordMapper.insert(rdr);
         int result = repairDispatchRecordMapper.insert(rdr);
-        return result;
+        return rdr.getId();
     }
     }
 
 
     @Override
     @Override

+ 8 - 2
src/main/java/com/repair/services/impl/RepairRecordServiceImpl.java

@@ -157,11 +157,11 @@ public class RepairRecordServiceImpl extends ServiceImpl<RepairRecordMapper, Rep
     }
     }
 
 
     @Override
     @Override
-    public PageUtils<pendingOrderVo> queryPendingOrder(int currentPage, int pageCount) {
+    public PageUtils<pendingOrderVo> queryPendingOrder(int currentPage, int pageCount, int schoolId) {
         Page<pendingOrderVo> page = new Page<>();
         Page<pendingOrderVo> page = new Page<>();
         page.setCurrent(currentPage);
         page.setCurrent(currentPage);
         page.setSize(pageCount);
         page.setSize(pageCount);
-        IPage<pendingOrderVo> result = repairRecordMapper.queryPendingOrder(page);
+        IPage<pendingOrderVo> result = repairRecordMapper.queryPendingOrder(page, schoolId);
         return new PageUtils(result);
         return new PageUtils(result);
     }
     }
 
 
@@ -346,5 +346,11 @@ public class RepairRecordServiceImpl extends ServiceImpl<RepairRecordMapper, Rep
         return result;
         return result;
     }
     }
 
 
+    @Override
+    public RepairTotalDataVo repairTotalData() {
+        RepairTotalDataVo vo=repairRecordMapper.repairTotalData();
+        return vo;
+    }
+
 
 
 }
 }

+ 9 - 0
src/main/java/com/repair/services/impl/RepairSystemMessagesServiceImpl.java

@@ -90,4 +90,13 @@ public class RepairSystemMessagesServiceImpl extends ServiceImpl<RepairSystemMes
         int result = repairSystemMessagesMapper.update(rsm,queryWrapper);
         int result = repairSystemMessagesMapper.update(rsm,queryWrapper);
         return result;
         return result;
     }
     }
+
+    @Override
+    public int queryMessageUnreadCount(int userId) {
+        QueryWrapper<RepairSystemMessages> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("recipient_id", userId);
+        queryWrapper.eq("is_read", 0);
+        int result = repairSystemMessagesMapper.selectCount(queryWrapper);
+        return result;
+    }
 }
 }

+ 7 - 5
src/main/java/com/repair/services/impl/RepairUserServiceImpl.java

@@ -42,12 +42,14 @@ public class RepairUserServiceImpl extends ServiceImpl<RepairUserMapper, RepairU
 
 
     @Override
     @Override
     public PageUtils<RepairUser> queryPageRepairUser(int currentPage, int pageCount) {
     public PageUtils<RepairUser> queryPageRepairUser(int currentPage, int pageCount) {
-        //ru.user_zzid = 1 or ru.user_zzid = 2
+        //ru.user_zzid = 1 or ru.user_zzid = 2 or ru.user_zzid = 3
         Page<RepairUser> page = new Page<>(currentPage, pageCount);
         Page<RepairUser> page = new Page<>(currentPage, pageCount);
         QueryWrapper<RepairUser> queryWrapper = new QueryWrapper<>();
         QueryWrapper<RepairUser> queryWrapper = new QueryWrapper<>();
         queryWrapper.and(e -> e.eq("user_zzid", 1)
         queryWrapper.and(e -> e.eq("user_zzid", 1)
                 .or()
                 .or()
-                .eq("user_zzid", 2));
+                .eq("user_zzid", 2)
+                .or()
+                .eq("user_zzid", 3));
         IPage<RepairUser> result = repairUserMapper.selectPage(page, queryWrapper);
         IPage<RepairUser> result = repairUserMapper.selectPage(page, queryWrapper);
         return new PageUtils(result);
         return new PageUtils(result);
     }
     }
@@ -148,7 +150,7 @@ public class RepairUserServiceImpl extends ServiceImpl<RepairUserMapper, RepairU
 
 
     @Override
     @Override
     public List<AddressBookVo> queryAddressBook(Integer userId, Integer schoolId, String keyWord) {
     public List<AddressBookVo> queryAddressBook(Integer userId, Integer schoolId, String keyWord) {
-        List<AddressBookVo> result = repairUserMapper.queryAddressBook(userId, schoolId, keyWord);
+        List<AddressBookVo> result = repairUserMapper.queryAddressBook(schoolId, keyWord);
         return result;
         return result;
     }
     }
 
 
@@ -178,11 +180,11 @@ public class RepairUserServiceImpl extends ServiceImpl<RepairUserMapper, RepairU
     }
     }
 
 
     @Override
     @Override
-    public PageUtils<RepairWorkTypeVo> queryCollaboratorUser(int currentPage, int pageCount, Integer schoolId, Integer userId, String dateNow) {
+    public PageUtils<RepairWorkTypeVo> queryCollaboratorUser(int currentPage, int pageCount, Integer schoolId, Integer userId, String dateNow,String keyWord) {
         Page<RepairWorkTypeVo> page = new Page<>();
         Page<RepairWorkTypeVo> page = new Page<>();
         page.setCurrent(currentPage);
         page.setCurrent(currentPage);
         page.setSize(pageCount);
         page.setSize(pageCount);
-        IPage<RepairWorkTypeVo> result = repairUserMapper.queryCollaboratorUser(page, schoolId, userId, dateNow);
+        IPage<RepairWorkTypeVo> result = repairUserMapper.queryCollaboratorUser(page, schoolId, userId, dateNow, keyWord);
         return new PageUtils(result);
         return new PageUtils(result);
     }
     }
 
 

文件差异内容过多而无法显示
+ 80 - 19
src/main/resources/mapper/repair/RepairRecordMapper.xml


+ 8 - 4
src/main/resources/mapper/repair/RepairUserMapper.xml

@@ -113,9 +113,6 @@
         left join repair_work_type rwt on rwt.deleted = 0 and rwt.id = ru.work_type
         left join repair_work_type rwt on rwt.deleted = 0 and rwt.id = ru.work_type
         <where>
         <where>
             and ru.deleted = 0 and (ru.user_zzid = 1 or ru.user_zzid = 2)
             and ru.deleted = 0 and (ru.user_zzid = 1 or ru.user_zzid = 2)
-            <if test="userId != null and userId != ''">
-                and ru.id != #{userId}
-            </if>
             <if test="schoolId != null and schoolId != ''">
             <if test="schoolId != null and schoolId != ''">
                 and ru.school_id = #{schoolId}
                 and ru.school_id = #{schoolId}
             </if>
             </if>
@@ -170,11 +167,18 @@
     <resultMap type="com.repair.model.vo.RepairWorkTypeVo" id="collaboratorUserMap">
     <resultMap type="com.repair.model.vo.RepairWorkTypeVo" id="collaboratorUserMap">
         <result property="id" column="id"/>
         <result property="id" column="id"/>
         <result property="name" column="user_name"/>
         <result property="name" column="user_name"/>
+        <result property="workType" column="work_type"/>
+        <result property="state" column="state"/>
+        <result property="userPhone" column="user_phone"/>
     </resultMap>
     </resultMap>
     <select id="queryCollaboratorUser" resultType="com.repair.model.vo.RepairWorkTypeVo" resultMap="collaboratorUserMap">
     <select id="queryCollaboratorUser" resultType="com.repair.model.vo.RepairWorkTypeVo" resultMap="collaboratorUserMap">
-        select ru.id,ru.user_name from repair_user ru
+        select ru.id,ru.user_phone,'大量接单' as state,wt.name as work_type,ru.user_name from repair_user ru
         inner join repair_classes_settings rcs on rcs.deleted = 0 and rcs.user_id = ru.id and rcs.shift_id != '' and rcs.start_date = #{dateNow}
         inner join repair_classes_settings rcs on rcs.deleted = 0 and rcs.user_id = ru.id and rcs.shift_id != '' and rcs.start_date = #{dateNow}
+        left join repair_work_type wt on wt.deleted = 0 and wt.id = ru.work_type
         where ru.school_id = #{schoolId} and ru.deleted = 0 and (ru.user_zzid = 1 or ru.user_zzid = 2) and ru.state = 1 and ru.id != #{userId}
         where ru.school_id = #{schoolId} and ru.deleted = 0 and (ru.user_zzid = 1 or ru.user_zzid = 2) and ru.state = 1 and ru.id != #{userId}
+        <if test="keyWord != null and keyWord != ''">
+            and (ru.user_name like '%' #{keyWord} '%' or ru.user_phone like '%' #{keyWord} '%')
+        </if>
     </select>
     </select>
 
 
 
 

文件差异内容过多而无法显示
+ 80 - 19
target/classes/mapper/repair/RepairRecordMapper.xml


+ 8 - 4
target/classes/mapper/repair/RepairUserMapper.xml

@@ -113,9 +113,6 @@
         left join repair_work_type rwt on rwt.deleted = 0 and rwt.id = ru.work_type
         left join repair_work_type rwt on rwt.deleted = 0 and rwt.id = ru.work_type
         <where>
         <where>
             and ru.deleted = 0 and (ru.user_zzid = 1 or ru.user_zzid = 2)
             and ru.deleted = 0 and (ru.user_zzid = 1 or ru.user_zzid = 2)
-            <if test="userId != null and userId != ''">
-                and ru.id != #{userId}
-            </if>
             <if test="schoolId != null and schoolId != ''">
             <if test="schoolId != null and schoolId != ''">
                 and ru.school_id = #{schoolId}
                 and ru.school_id = #{schoolId}
             </if>
             </if>
@@ -170,11 +167,18 @@
     <resultMap type="com.repair.model.vo.RepairWorkTypeVo" id="collaboratorUserMap">
     <resultMap type="com.repair.model.vo.RepairWorkTypeVo" id="collaboratorUserMap">
         <result property="id" column="id"/>
         <result property="id" column="id"/>
         <result property="name" column="user_name"/>
         <result property="name" column="user_name"/>
+        <result property="workType" column="work_type"/>
+        <result property="state" column="state"/>
+        <result property="userPhone" column="user_phone"/>
     </resultMap>
     </resultMap>
     <select id="queryCollaboratorUser" resultType="com.repair.model.vo.RepairWorkTypeVo" resultMap="collaboratorUserMap">
     <select id="queryCollaboratorUser" resultType="com.repair.model.vo.RepairWorkTypeVo" resultMap="collaboratorUserMap">
-        select ru.id,ru.user_name from repair_user ru
+        select ru.id,ru.user_phone,'大量接单' as state,wt.name as work_type,ru.user_name from repair_user ru
         inner join repair_classes_settings rcs on rcs.deleted = 0 and rcs.user_id = ru.id and rcs.shift_id != '' and rcs.start_date = #{dateNow}
         inner join repair_classes_settings rcs on rcs.deleted = 0 and rcs.user_id = ru.id and rcs.shift_id != '' and rcs.start_date = #{dateNow}
+        left join repair_work_type wt on wt.deleted = 0 and wt.id = ru.work_type
         where ru.school_id = #{schoolId} and ru.deleted = 0 and (ru.user_zzid = 1 or ru.user_zzid = 2) and ru.state = 1 and ru.id != #{userId}
         where ru.school_id = #{schoolId} and ru.deleted = 0 and (ru.user_zzid = 1 or ru.user_zzid = 2) and ru.state = 1 and ru.id != #{userId}
+        <if test="keyWord != null and keyWord != ''">
+            and (ru.user_name like '%' #{keyWord} '%' or ru.user_phone like '%' #{keyWord} '%')
+        </if>
     </select>
     </select>
 
 
 
 

+ 2 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -23,6 +23,7 @@ com\repair\model\pojo\RepairCollaborateRecord.class
 com\repair\services\impl\RepairEvaluateServiceImpl.class
 com\repair\services\impl\RepairEvaluateServiceImpl.class
 com\repair\services\RepairConsumeService.class
 com\repair\services\RepairConsumeService.class
 com\repair\model\pojo\RepairClassesSettings.class
 com\repair\model\pojo\RepairClassesSettings.class
+com\repair\model\vo\RepairTotalDataVo.class
 com\repair\model\pojo\RepairConsume.class
 com\repair\model\pojo\RepairConsume.class
 com\repair\api\RepairArticleTypeControllerAPI.class
 com\repair\api\RepairArticleTypeControllerAPI.class
 com\repair\model\vo\ConsumableExcelVo.class
 com\repair\model\vo\ConsumableExcelVo.class
@@ -206,6 +207,7 @@ com\repair\model\request\updateRepairArticleTypeRequest.class
 com\repair\services\impl\RepairSchoolServiceImpl.class
 com\repair\services\impl\RepairSchoolServiceImpl.class
 com\repair\model\request\queryAccountPageRequest.class
 com\repair\model\request\queryAccountPageRequest.class
 com\repair\common\utils\paramUtils.class
 com\repair\common\utils\paramUtils.class
+com\repair\model\vo\UnreadMessageCountVo.class
 com\repair\services\impl\RepairRefundRecordServiceImpl.class
 com\repair\services\impl\RepairRefundRecordServiceImpl.class
 com\repair\services\impl\RepairLeaveMessageServiceImpl.class
 com\repair\services\impl\RepairLeaveMessageServiceImpl.class
 com\repair\model\vo\MaintenanceGoodsVo.class
 com\repair\model\vo\MaintenanceGoodsVo.class

+ 2 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -30,6 +30,7 @@ D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repa
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\MybatisPlusApplication.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\MybatisPlusApplication.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\config\WxOpenidConfig.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\config\WxOpenidConfig.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\api\RepairConsumablesControllerAPI.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\api\RepairConsumablesControllerAPI.java
+D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\model\vo\RepairTotalDataVo.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\common\utils\smsUtil.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\common\utils\smsUtil.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\common\utils\CommonUtil.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\common\utils\CommonUtil.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\model\request\insertRepairConsumeRequest.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\model\request\insertRepairConsumeRequest.java
@@ -293,6 +294,7 @@ D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repa
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\services\RepairWorkTypeService.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\services\RepairWorkTypeService.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\model\request\RefundableAmountRequest.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\model\request\RefundableAmountRequest.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\model\request\updateRepairAreaRequest.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\model\request\updateRepairAreaRequest.java
+D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\model\vo\UnreadMessageCountVo.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\model\vo\RepairRecordPageVo.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\model\vo\RepairRecordPageVo.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\services\impl\RepairClassesSettingsServiceImpl.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\services\impl\RepairClassesSettingsServiceImpl.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\model\vo\RepairRecordTimeoutPageVo.java
 D:\Bingo\Desktop\工作内容\报修系统\repair_backend\src\main\java\com\repair\model\vo\RepairRecordTimeoutPageVo.java

二进制
target/repair_system-0.0.1-SNAPSHOT.jar.original