夏文涛 vor 2 Jahren
Ursprung
Commit
ce0fb8ef8e
44 geänderte Dateien mit 1016 neuen und 431 gelöschten Zeilen
  1. 1 0
      .idea/encodings.xml
  2. 369 292
      .idea/workspace.xml
  3. 1 1
      src/main/java/com/repair/api/RepairPayRecordControllerAPI.java
  4. 13 5
      src/main/java/com/repair/api/RepairRecordControllerAPI.java
  5. 4 3
      src/main/java/com/repair/api/RepairUserControllerAPI.java
  6. 59 4
      src/main/java/com/repair/controller/RepairPayRecordController.java
  7. 188 99
      src/main/java/com/repair/controller/RepairRecordController.java
  8. 9 9
      src/main/java/com/repair/controller/RepairUserController.java
  9. 3 0
      src/main/java/com/repair/mapper/RepairCollaborateRecordMapper.java
  10. 3 1
      src/main/java/com/repair/mapper/RepairTransferRecordMapper.java
  11. 2 0
      src/main/java/com/repair/mapper/RepairUserMapper.java
  12. 20 0
      src/main/java/com/repair/model/enumModel/eIsSuccess.java
  13. 1 1
      src/main/java/com/repair/model/request/AlterPriceRequest.java
  14. 11 4
      src/main/java/com/repair/model/request/DelayedRequest.java
  15. 27 2
      src/main/java/com/repair/model/request/ReceiveSendOrdersRequest.java
  16. 15 0
      src/main/java/com/repair/model/vo/AutoDispatchUserVo.java
  17. 22 0
      src/main/java/com/repair/model/vo/CollaborateDataVo.java
  18. 45 0
      src/main/java/com/repair/model/vo/CollaborateDetailVo.java
  19. 28 0
      src/main/java/com/repair/model/vo/ProsperityRepairPayRecordsVo.java
  20. 34 0
      src/main/java/com/repair/model/vo/TransferDetailVo.java
  21. 3 0
      src/main/java/com/repair/services/RepairCollaborateRecordService.java
  22. 4 0
      src/main/java/com/repair/services/RepairDispatchRecordService.java
  23. 5 0
      src/main/java/com/repair/services/RepairReceivingService.java
  24. 4 1
      src/main/java/com/repair/services/RepairTransferRecordService.java
  25. 3 1
      src/main/java/com/repair/services/RepairUserService.java
  26. 7 0
      src/main/java/com/repair/services/impl/RepairCollaborateRecordServiceImpl.java
  27. 1 0
      src/main/java/com/repair/services/impl/RepairConsumablesServiceImpl.java
  28. 2 2
      src/main/java/com/repair/services/impl/RepairConsumeServiceImpl.java
  29. 19 0
      src/main/java/com/repair/services/impl/RepairDispatchRecordServiceImpl.java
  30. 19 0
      src/main/java/com/repair/services/impl/RepairReceivingServiceImpl.java
  31. 7 0
      src/main/java/com/repair/services/impl/RepairTransferRecordServiceImpl.java
  32. 9 0
      src/main/java/com/repair/services/impl/RepairUserServiceImpl.java
  33. BIN
      src/main/resources/excelFile/耗材管理模板.xlsx
  34. BIN
      src/main/resources/excelFile/自定义排班模板.xls
  35. BIN
      src/main/resources/excelFile/自定义排班模板.xlsx
  36. 14 1
      src/main/resources/mapper/repair/RepairCollaborateRecordMapper.xml
  37. 11 0
      src/main/resources/mapper/repair/RepairTransferRecordMapper.xml
  38. 14 2
      src/main/resources/mapper/repair/RepairUserMapper.xml
  39. BIN
      target/classes/excelFile/耗材管理模板.xlsx
  40. BIN
      target/classes/excelFile/自定义排班模板.xls
  41. BIN
      target/classes/excelFile/自定义排班模板.xlsx
  42. 14 1
      target/classes/mapper/repair/RepairCollaborateRecordMapper.xml
  43. 11 0
      target/classes/mapper/repair/RepairTransferRecordMapper.xml
  44. 14 2
      target/classes/mapper/repair/RepairUserMapper.xml

+ 1 - 0
.idea/encodings.xml

@@ -8,6 +8,7 @@
     <file url="file://$PROJECT_DIR$/src/main/java/com/repair/common/utils/TimeExchange.java" charset="GBK" />
     <file url="file://$PROJECT_DIR$/src/main/java/com/repair/common/utils/WxConstants.java" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/src/main/java/com/repair/common/utils/WxUtil.java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/src/main/java/com/repair/model/request/AlterPriceRequest.java" charset="GBK" />
     <file url="file://$PROJECT_DIR$/src/main/java/com/repair/model/result/Wx_user.java" charset="UTF-8" />
     <file url="PROJECT" charset="UTF-8" />
   </component>

Datei-Diff unterdrückt, da er zu groß ist
+ 369 - 292
.idea/workspace.xml


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

@@ -35,6 +35,6 @@ public interface RepairPayRecordControllerAPI {
 
     @GetMapping(value = "/queryProsperityRepairPayRecords")
     @ApiOperation(value = "支付成功记录分页数据", notes = "支付成功记录分页数据", httpMethod = "GET")
-    CommonResult queryProsperityRepairPayRecords(@RequestHeader  @RequestParam int currentPage, @RequestParam int pageCount, String name,String startTime,String endTime);
+    CommonResult queryProsperityRepairPayRecords(  @RequestParam int currentPage, @RequestParam int pageCount, String keyWord,String startTime,String endTime);
 
 }

+ 13 - 5
src/main/java/com/repair/api/RepairRecordControllerAPI.java

@@ -114,18 +114,26 @@ public interface RepairRecordControllerAPI {
     @ApiOperation(value = "下拉框", notes = "下拉框", httpMethod = "GET")
     CommonResult dropDown() throws Exception;
 
-    @PostMapping(value = "/cooperationOrders")
-    @ApiOperation(value = "协作审核", notes = "协作审核", httpMethod = "POST")
-    CommonResult cooperationOrders(@RequestBody cooperationOrdersRequest cor, @RequestHeader("user_head") String userhead, BindingResult bindingResult) throws Exception;
-
     @GetMapping(value = "/details")
     @ApiOperation(value = "详情", notes = "详情", httpMethod = "GET")
     CommonResult details(@RequestParam int recordId) throws Exception;
 
+    @PostMapping(value = "/cooperationOrders")
+    @ApiOperation(value = "协作审核", notes = "协作审核", httpMethod = "POST")
+    CommonResult cooperationOrders(@RequestBody cooperationOrdersRequest cor, @RequestHeader("user_head") String userhead, BindingResult bindingResult) throws Exception;
+
     @PostMapping(value = "/transfer")
     @ApiOperation(value = "转单审核", notes = "转单审核", httpMethod = "POST")
     CommonResult transfer(@RequestBody transferRequest transferRequest,@RequestHeader("user_head") String userhead, BindingResult bindingResult) throws Exception;
 
+    @GetMapping(value = "/cooperationDetail")
+    @ApiOperation(value = "获取协作审核数据", notes = "获取协作审核数据", httpMethod = "GET")
+    CommonResult cooperationDetail(@RequestParam int recordId);
+
+    @GetMapping(value = "/transferDetail")
+    @ApiOperation(value = "获取转单审核数据", notes = "获取转单审核数据", httpMethod = "GET")
+    CommonResult transferDetail(@RequestParam int recordId);
+
     @GetMapping(value = "/alterPriceShow")
     @ApiOperation(value = "改价显示", notes = "改价显示", httpMethod = "GET")
     CommonResult alterPriceShow(@RequestParam int recordId) throws Exception;
@@ -136,7 +144,7 @@ public interface RepairRecordControllerAPI {
 
     @GetMapping(value = "/alterPriceGoodsName")
     @ApiOperation(value = "改价耗材名称下拉框", notes = "改价耗材名称下拉框", httpMethod = "GET")
-    CommonResult alterPriceGoodsName(@RequestParam int schoolId, int articleId) throws Exception;
+    CommonResult alterPriceGoodsName(@RequestParam int schoolId, @RequestParam int articleId) throws Exception;
 
     @PostMapping(value = "/alterPrice")
     @ApiOperation(value = "改价", notes = "改价", httpMethod = "POST")

+ 4 - 3
src/main/java/com/repair/api/RepairUserControllerAPI.java

@@ -38,9 +38,6 @@ public interface RepairUserControllerAPI {
     @ApiOperation(value = "获取派单的人员分页数据", notes = "获取派单的人员分页数据", httpMethod = "GET")
     CommonResult queryPageRepairUsers(@RequestParam int currentPage, @RequestParam int pageCount, Integer recordId, String keyWord);
 
-    @GetMapping(value = "/getCollaborator")
-    @ApiOperation(value = "获取除自己以外的协作人员分页数据", notes = "获取除自己以外的协作人员分页数据", httpMethod = "GET")
-    CommonResult getCollaborator(@RequestParam int currentPage, @RequestParam int pageCount, @RequestParam Integer schoolId,@RequestParam Integer userId, String keyWord);
 
     @GetMapping(value = "/getAddressBook")
     @ApiOperation(value = "获取通讯录列表数据", notes = "获取通讯录列表数据", httpMethod = "GET")
@@ -49,4 +46,8 @@ public interface RepairUserControllerAPI {
     @PostMapping(value = "/updateAddressBook")
     @ApiOperation(value = "通讯录编辑数据", notes = "通讯录编辑数据", httpMethod = "POST")
     CommonResult updateAddressBook(@Validated @RequestBody updateAddressBookRequest uabp, BindingResult bindingResult);
+
+    @GetMapping(value = "/queryPageCollaborator")
+    @ApiOperation(value = "获取协作审核下拉人员分页数据", notes = "获取协作审核下拉人员分页数据", httpMethod = "GET")
+    CommonResult queryPageCollaborator(@RequestParam int currentPage, @RequestParam int pageCount, @RequestParam Integer schoolId,@RequestParam Integer userId);
 }

+ 59 - 4
src/main/java/com/repair/controller/RepairPayRecordController.java

@@ -3,18 +3,27 @@ package com.repair.controller;
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.repair.api.RepairPayRecordControllerAPI;
 import com.repair.common.utils.TimeExchange;
 import com.repair.common.utils.paramUtils;
+import com.repair.model.enumModel.eIsSuccess;
 import com.repair.model.enumModel.eRecordStatu;
 import com.repair.model.pojo.RepairPayRecord;
 import com.repair.model.pojo.RepairRecord;
+import com.repair.model.pojo.RepairRefundRecord;
+import com.repair.model.pojo.RepairUser;
 import com.repair.model.request.repairPayRequest;
 import com.repair.model.result.CommonResult;
 import com.repair.model.result.PageUtils;
+import com.repair.model.vo.ProsperityRepairPayRecordsVo;
 import com.repair.services.RepairPayRecordService;
 import com.repair.services.RepairRecordService;
+import com.repair.services.RepairRefundRecordService;
+import com.repair.services.RepairUserService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
@@ -22,7 +31,9 @@ import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 import static com.repair.common.utils.StrUtils.getUUIDBits;
 
@@ -42,6 +53,12 @@ public class RepairPayRecordController implements RepairPayRecordControllerAPI {
     @Autowired
     private RepairPayRecordService repairPayRecordService;
 
+    @Autowired
+    private RepairUserService repairUserService;
+
+    @Autowired
+    private RepairRefundRecordService repairRefundRecordService;
+
     @Override
     public CommonResult InsertrepairPayRecord(RepairPayRecord rc, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
@@ -203,9 +220,9 @@ public class RepairPayRecordController implements RepairPayRecordControllerAPI {
 
         return "success";
     }
-	
+
 	@Override
-    public CommonResult queryProsperityRepairPayRecords(int currentPage, int pageCount, String name, String startTime, String endTime) {
+    public CommonResult queryProsperityRepairPayRecords(int currentPage, int pageCount, String keyWord, String startTime, String endTime) {
 
         if (startTime != null && endTime != null) {
             try {
@@ -221,11 +238,49 @@ public class RepairPayRecordController implements RepairPayRecordControllerAPI {
             pageCount=10;
         }
 
-        LambdaQueryWrapper<RepairPayRecord> wrapper=new LambdaQueryWrapper<>();
+//      判断是否为名字
+        LambdaQueryWrapper<RepairUser> userWrapper = new LambdaQueryWrapper<>();
+        userWrapper.like(ObjectUtils.isNotEmpty(keyWord), RepairUser::getUserName, keyWord);
+
+        ArrayList<Integer> userIdList = new ArrayList<>();
+
+        List<RepairUser> list = repairUserService.list(userWrapper);
+        if (ObjectUtils.isNotEmpty(list) && list.size() >= 0) {
+            list.forEach(repairUser -> {
+                userIdList.add(repairUser.getId());
+            });
+        }
+
+
+        LambdaQueryWrapper<RepairPayRecord> wrapper = new LambdaQueryWrapper<>();
+
+        wrapper.in(ObjectUtils.isNotEmpty(keyWord) && userIdList.size() > 0, RepairPayRecord::getUserId, userIdList)
+                .between(ObjectUtils.isNotEmpty(startTime)&&ObjectUtils.isNotEmpty(endTime),RepairPayRecord::getCreateTime, startTime, endTime)
+                .eq(RepairPayRecord::getIsSuccess, eIsSuccess.Succeed.getValue())
+                .or()
+                .like(ObjectUtils.isNotEmpty(keyWord), RepairPayRecord::getRecordId, keyWord)
+                .between(ObjectUtils.isNotEmpty(startTime)&&ObjectUtils.isNotEmpty(endTime),RepairPayRecord::getCreateTime, startTime, endTime)
+                .eq(RepairPayRecord::getIsSuccess, eIsSuccess.Succeed.getValue());
 
+        IPage<RepairPayRecord> page = repairPayRecordService.page(new Page<>(currentPage, pageCount), wrapper);
+        IPage<ProsperityRepairPayRecordsVo> prpr=new Page<>();
+        BeanUtils.copyProperties(page,prpr);
+
+//    流水号
+        ArrayList<String> payOnList = new ArrayList<>();
+
+        List<RepairPayRecord> records = page.getRecords();
+        if (ObjectUtils.isEmpty(records)) {
+            records.forEach(repairPayRecord -> {
+                ProsperityRepairPayRecordsVo prrpv = new ProsperityRepairPayRecordsVo();
+                BeanUtils.copyProperties(repairPayRecord,prrpv);
+                payOnList.add(repairPayRecord.getPayNo());
+            });
+        }
 
+        LambdaQueryWrapper<RepairRefundRecord> rrrsWrapepr=new LambdaQueryWrapper<>();
+        repairRefundRecordService.list(rrrsWrapepr);
 
-        repairPayRecordService.page(new Page<>(currentPage,pageCount),wrapper);
 
         return null;
     }

+ 188 - 99
src/main/java/com/repair/controller/RepairRecordController.java

@@ -874,7 +874,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
 
             //将工单状态更新为维修中
             recordData.setMaintenanceState(eRecordStatu.Maintenance.getValue());
-            String mi = dispatch.getOrderType() == eDispatchType.Cooperation.getValue() ? recordData.getMaintenancerId()+","+String.valueOf(userId) : String.valueOf(userId);
+            String mi = dispatch.getOrderType() == eDispatchType.Cooperation.getValue() ? recordData.getMaintenancerId() + "," + String.valueOf(userId) : String.valueOf(userId);
             recordData.setMaintenancerId(mi);
             recordData.setMaintenancerName(result.getUserName());
             recordData.setMaintenancerPhone(result.getUserPhone());
@@ -926,52 +926,116 @@ public class RepairRecordController implements RepairRecordControllerAPI {
             return CommonResult.fail(st);
         }
 
+        RepairRecord rr = repairRecordService.getById(rsor.getRecordId());
+        if (rr == null) {
+            return CommonResult.fail("维修单数据失效,派单失败");
+        }
+
+        if (rr.getMaintenanceState() != eRecordStatu.Dispatch.getValue()) {
+            return CommonResult.fail("维修单状态异常,派单失败");
+        }
+
+        Integer isDuty = 0;
+        Date nowDate = new Date();
+        String dateHour = new SimpleDateFormat("HH:mm").format(new Date());
+        String dateNow = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
+
         try {
+            List<String> shifts = Arrays.asList(rsor.getShiftId().split(",")).stream().distinct().collect(Collectors.toList());
+            RepairDispatchRecord rdr = null;
+            //只获取不是值班 或下班后的排班数据
+            List<RepairShiftSettings> shiftDatas = repairShiftSettingsService.getRepairsShiftIdByHour(shifts, dateHour);
+            List<RepairShiftSettings> datas = shiftDatas.stream().filter(e -> ("," + rsor.getShiftId() + ",").contains(("," + e.getId() + ","))).collect(Collectors.toList());
+            if (datas.size() > 0) {
+                int acceptanceAssessTime = rsor.getAcceptanceTime();
+                try {
 
-//        维修人id
-            Integer userId = rsor.getUserId();
-            RepairUser repairUser = repairUserService.getById(userId);
-//          维修订单id
-            Integer recordId = rsor.getRecordId();
-            RepairRecord repairRecord = repairRecordService.getById(recordId);
-            if (ObjectUtils.isEmpty(repairRecord)) {
-                return CommonResult.fail("派单失败");
+                    //下班之后或者值班接的单不考核 将报修工单中的is_duty改为1
+                    Date workTime = TimeExchange.StringToDate(dateNow + " " + datas.get(0).getEndTime() + ":00", "yyyy-MM-dd HH:mm:ss");
+                    if (workTime.before(nowDate)) {
+                        isDuty = 1;
+                    }
+
+                    if (isDuty == 0) {
+                        //在工作时间才去派单
+                        List<timeVo> tvs = DelayedUtils.timeVos(datas);
+
+                        //工作的时间是否够修完 临下班接的单不做延长
+                        for (int i = 0; i < tvs.size(); i++) {
+                            Date startWorkTime = TimeExchange.StringToDate(dateNow + " " + tvs.get(i).getStart() + ":00", "yyyy-MM-dd HH:mm:ss");
+                            Date endWorkTime = TimeExchange.StringToDate(dateNow + " " + tvs.get(i).getEnd() + ":00", "yyyy-MM-dd HH:mm:ss");
+
+                            //小于工作时间段的开始时间
+                            if (nowDate.before(startWorkTime) || nowDate.equals(startWorkTime) && i == 0) {
+                                //早上开始上班之前的单子
+                                int minute = TimeExchange.getOffsetMinutes(nowDate, startWorkTime);
+                                int workMinte = TimeExchange.getOffsetMinutes(nowDate, endWorkTime);
+                                acceptanceAssessTime = acceptanceAssessTime + minute;
+                                acceptanceAssessTime = DelayedUtils.addMinuteStart(tvs, endWorkTime, acceptanceAssessTime, nowDate, dateNow, workMinte, i, 1);
+                                break;
+                            } else if ((startWorkTime.before(nowDate) || startWorkTime.equals(nowDate)) && (nowDate.before(endWorkTime) || nowDate.equals(endWorkTime))) {
+                                //工作时间段内的单子
+                                int workMinte = TimeExchange.getOffsetMinutes(nowDate, endWorkTime);
+                                acceptanceAssessTime = DelayedUtils.addMinuteStart(tvs, endWorkTime, acceptanceAssessTime, nowDate, dateNow, workMinte, i, 1);
+                                break;
+
+                            } else {
+                                //非工作时间段的单子
+                                Date nextStartWorkTime = TimeExchange.StringToDate(dateNow + " " + tvs.get(i + 1).getStart() + ":00", "yyyy-MM-dd HH:mm:ss");
+                                if ((endWorkTime.before(nowDate) || endWorkTime.equals(nowDate)) && (nowDate.before(nextStartWorkTime) || nowDate.equals(nextStartWorkTime))) {
+                                    Date nextEndWorkTime = TimeExchange.StringToDate(dateNow + " " + tvs.get(i + 1).getEnd() + ":00", "yyyy-MM-dd HH:mm:ss");
+                                    int minute = TimeExchange.getOffsetMinutes(nowDate, nextStartWorkTime);
+                                    int workMinte = TimeExchange.getOffsetMinutes(nowDate, nextEndWorkTime);
+                                    acceptanceAssessTime = acceptanceAssessTime + minute;
+                                    acceptanceAssessTime = DelayedUtils.addMinuteStart(tvs, nextEndWorkTime, acceptanceAssessTime, nowDate, dateNow, workMinte, i, 2);
+                                    break;
+                                }
+                            }
+                        }
+
+                        rdr = new RepairDispatchRecord();
+                        //创建派单记录
+                        rdr.setAssignedTime(new Date());
+                        rdr.setAcceptanceAssessTime(acceptanceAssessTime);
+                        rdr.setOrderType(eDispatchType.Send.getValue());
+                        rdr.setIsLoseEfficacy(eDispatchResult.NotExpired.getValue());
+                    }
+
+                } catch (Exception e) {
+                    throw new Exception("派单失败!");
+                }
             }
-            repairRecord.setMaintenanceState(eRecordStatu.Dispatch.getValue());
-            repairRecord.setMaintenancerId(recordId + "");
-            repairRecord.setMaintenancerName(repairUser.getUserName());
-            repairRecord.setMaintenancerPhone(repairUser.getUserPhone());
 
-//        修改维修订单
-            boolean update = repairRecordService.updateById(repairRecord);
+            rr.setIsDuty(isDuty);
+            int result = repairRecordService.updateRepairRecord(rr);
 
-//        添加派单记录
-            RepairDispatchRecord repairDispatchRecord = new RepairDispatchRecord();
-            repairDispatchRecord.setRecordId(recordId);
-            repairDispatchRecord.setUsersId(userId);
-            repairDispatchRecord.setAssignedTime(new Date());
-            repairDispatchRecord.setAcceptanceAssessTime(repairUser.getAcceptanceAssessTime());
-            repairDispatchRecord.setOrderType(eDispatchType.Send.getValue());
-            repairDispatchRecord.setIsLoseEfficacy(eDispatchResult.NotExpired.getValue());
+            if (result <= 0) {
+                throw new Exception("派单失败!");
+            }
 
-            boolean save = repairDispatchRecordService.save(repairDispatchRecord);
+            if (rdr != null) {
+                rdr.setRecordId(rr.getId());
+                rdr.setUsersId(rsor.getId());
+                int dispatch = repairDispatchRecordService.insertRepairDispatchRecord(rdr);
+                if (dispatch <= 0) {
+                    throw new Exception("派单失败!");
+                }
+            }
 
-//        追踪记录表
+            //追踪记录表
             RepairTrackRecord repairTrackRecord = new RepairTrackRecord();
-            repairTrackRecord.setRecordId(recordId);
+            repairTrackRecord.setRecordId(rsor.getRecordId());
             repairTrackRecord.setContent("派单");
-            boolean save1 = repairTrackRecordService.save(repairTrackRecord);
-
-
-            if (!(update || save || save1)) {
-                throw new Exception("派单失败");
+            int insertTrack = repairTrackRecordService.insertRepairTrackRecord(repairTrackRecord);
+            if (insertTrack <= 0) {
+                throw new Exception("派单失败!");
             }
 
-            return CommonResult.ok("派单成功");
+
         } catch (Exception e) {
             throw new Exception("派单失败");
         }
-
+        return CommonResult.ok("派单成功");
     }
 
     /**
@@ -1093,6 +1157,52 @@ public class RepairRecordController implements RepairRecordControllerAPI {
         return CommonResult.ok("转单审核成功");
     }
 
+    @Override
+    public CommonResult cooperationDetail(int recordId) {
+        RepairRecord rr = repairRecordService.getRepairById(recordId);
+        if (rr == null) {
+            return CommonResult.fail("维修单数据不存在,获取协作审核失败");
+        }
+
+        if (rr.getMaintenanceState() != eRecordStatu.Collaborate.getValue()) {
+            return CommonResult.fail("维修单状态异常,获取协作审核失败");
+        }
+        CollaborateDetailVo result = repairCollaborateRecordService.queryCollaborateDetail(recordId);
+        if (result == null) {
+            return CommonResult.fail("协作审核数据不存在,无法进行协作审核操作");
+        }
+        String[] cns = result.getCollaboratorName().split(",");
+        List<CollaborateDataVo> cdvs = new ArrayList<>();
+        for (int i = 0; i < cns.length; i++) {
+            String[] cn = cns[i].split("-");
+            CollaborateDataVo cdv = new CollaborateDataVo();
+            cdv.setId(Integer.valueOf(cn[0]));
+            cdv.setName(cn[1]);
+            cdvs.add(cdv);
+        }
+        result.setCollaboratorDatas(cdvs);
+        return CommonResult.ok(result);
+    }
+
+    @Override
+    public CommonResult transferDetail(int recordId) {
+        RepairRecord rr = repairRecordService.getRepairById(recordId);
+        if (rr == null) {
+            return CommonResult.fail("维修单数据不存在,获取转单审核失败");
+        }
+
+        if (rr.getMaintenanceState() != eRecordStatu.Transfer.getValue()) {
+            return CommonResult.fail("维修单状态异常,获取转单审核失败");
+        }
+
+        TransferDetailVo result = repairTransferRecordService.queryTransferDetail(recordId);
+        if (result == null) {
+            return CommonResult.fail("转单审核数据不存在,无法进行转单审核操作");
+        }
+
+        return CommonResult.ok(result);
+    }
+
     /**
      * 协作审核
      *
@@ -1193,10 +1303,10 @@ public class RepairRecordController implements RepairRecordControllerAPI {
             repairTrackRecord.setRecordId(rr.getId());
             repairTrackRecord.setContent("协作审核");
             int insertTrack = repairTrackRecordService.insertRepairTrackRecord(repairTrackRecord);
-            if(insertTrack <= 0){
+            if (insertTrack <= 0) {
                 throw new Exception("协作审核失败!");
             }
-        }catch (Exception e){
+        } catch (Exception e) {
             throw new Exception("协作审核失败!");
         }
 
@@ -1251,10 +1361,10 @@ public class RepairRecordController implements RepairRecordControllerAPI {
                 .orderByAsc(RepairReceiving::getReceivingTime);
 
         List<RepairReceiving> list = repairReceivingService.list(wrapper2);
-        String difference ="";
+        String difference = "";
         if (ObjectUtils.isEmpty(list) || list.size() <= 0) {
-            difference ="0天 0小时 0分 0秒";
-        }else {
+            difference = "0天 0小时 0分 0秒";
+        } else {
             RepairReceiving repairReceiving = list.get(0);
             Date receivingTime = repairReceiving.getReceivingTime();
             difference = DateUtils.difference(receivingTime, endTime);
@@ -1271,7 +1381,6 @@ public class RepairRecordController implements RepairRecordControllerAPI {
     }
 
 
-
     /**
      * 改价显示
      *
@@ -1400,7 +1509,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
 
             List<Integer> ids = apr.getIds();
 
-            List<RepairConsumables> repairConsumables = apr.getRepairConsumables();
+            List<RepairConsumables> repairConsumables = apr.getRepairConsumablesList();
 //        当前报修记录
             LambdaQueryWrapper<RepairConsumables> wrapper = new LambdaQueryWrapper<>();
             wrapper.select(RepairConsumables::getId)
@@ -1486,76 +1595,55 @@ public class RepairRecordController implements RepairRecordControllerAPI {
             String st = paramUtils.getParamError(bindingResult);
             return CommonResult.fail(st);
         }
-        Integer recordId = dr.getRecordId();
-        //     接单
-        Integer receiving = dr.getReceiving();
-        //     维修
-        Integer maintain = dr.getMaintain();
 
         try {
 
-//派单记录
-            if (receiving > 0) {
-                LambdaQueryWrapper<RepairDispatchRecord> wrapper = new LambdaQueryWrapper<>();
-                wrapper.eq(RepairDispatchRecord::getRecordId, recordId)
-                        .eq(RepairDispatchRecord::getIsLoseEfficacy, eDispatchResult.NotExpired.getValue());
-                List<RepairDispatchRecord> list = repairDispatchRecordService.list(wrapper);
-                if (ObjectUtils.isEmpty(list) || list.size() <= 0) {
-                    return CommonResult.fail("延时失败");
-                }
-                list.forEach(repairDispatchRecord -> {
-                    Integer acceptanceAssessTime = repairDispatchRecord.getAcceptanceAssessTime();
-                    repairDispatchRecord.setAcceptanceAssessTime(acceptanceAssessTime + receiving);
-                    boolean update = repairDispatchRecordService.updateById(repairDispatchRecord);
-                    if (!update) {
-                        try {
-                            throw new Exception("延时失败");
-                        } catch (Exception e) {
-                            throw new RuntimeException(e);
-                        }
+            //接单考核时间大于0 去修改派单记录表的数据
+            if (dr.getReceiving() > 0) {
+                List<RepairDispatchRecord> list = repairDispatchRecordService.queryDispatchByRecordId(dr.getRecordId());
+                if (list.size() > 0) {
+                    for (RepairDispatchRecord data : list) {
+                        data.setAcceptanceAssessTime(data.getAcceptanceAssessTime() + dr.getReceiving());
                     }
-                });
 
+                    boolean updateBatch = repairDispatchRecordService.updateDispatchBatch(list);
+                    if (!updateBatch) {
+                        throw new Exception("延时失败");
+                    }
+                }
             }
 
-//        接单记录
-            if (maintain > 0) {
-                LambdaQueryWrapper<RepairReceiving> wrapper = new LambdaQueryWrapper<>();
-                wrapper.eq(RepairReceiving::getRecordId, recordId)
-                        .eq(RepairReceiving::getIsLoseEfficacy, eDispatchResult.NotExpired.getValue());
+            //接单记录
+            if (dr.getMaintain() > 0) {
+                List<RepairReceiving> list = repairReceivingService.queryReceivingByRecordId(dr.getRecordId());
+                if (list.size() > 0) {
 
-                List<RepairReceiving> list = repairReceivingService.list(wrapper);
-                if (ObjectUtils.isEmpty(list) || list.size() <= 0) {
-                    return CommonResult.fail("延时失败");
-                }
-                list.forEach(repairReceiving -> {
-                    Integer maintenanceAssessTime = repairReceiving.getMaintenanceAssessTime();
-                    repairReceiving.setMaintenanceAssessTime(maintenanceAssessTime + maintain);
-                    boolean update = repairReceivingService.updateById(repairReceiving);
-                    if (!update) {
-                        try {
-                            throw new Exception("延时失败");
-                        } catch (Exception e) {
-                            throw new RuntimeException(e);
-                        }
+                    for (RepairReceiving data : list) {
+                        data.setMaintenanceAssessTime(data.getMaintenanceAssessTime() + dr.getMaintain());
+                    }
+
+                    boolean updateBatch = repairReceivingService.updateReceivingBatch(list);
+                    if (!updateBatch) {
+                        throw new Exception("延时失败");
                     }
-                });
+                }
+
             }
 
-//        追踪记录表
+            //追踪记录表
             RepairTrackRecord repairTrackRecord = new RepairTrackRecord();
-            repairTrackRecord.setRecordId(recordId);
+            repairTrackRecord.setRecordId(dr.getRecordId());
             repairTrackRecord.setContent("延时");
             boolean save = repairTrackRecordService.save(repairTrackRecord);
 
             if (!save) {
                 throw new Exception("延时失败");
             }
-            return CommonResult.ok("延时成功");
-
         } catch (Exception e) {
             throw new Exception("延时失败");
         }
+
+        return CommonResult.ok("延时成功");
     }
 
     /**
@@ -1645,7 +1733,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
         return CommonResult.ok("回复成功");
     }
 
-	@Override
+    @Override
     public void reportExport(HttpServletResponse response, String keyWord, String startTime, String endTime, Integer schoolId, Integer state, String userhead) throws Exception {
 
         if (startTime != null && endTime != null) {
@@ -1696,7 +1784,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
                 break;
             case 1:
                 stateStr = "=1)";
-                result = repairRecordService.queryNotTimeoutReportExport( stateStr, keyWord, startTime, endTime, schoolId);
+                result = repairRecordService.queryNotTimeoutReportExport(stateStr, keyWord, startTime, endTime, schoolId);
                 for (ReportExportVo r : result) {
                     //待接单才能关单
                     r.setState("待接单");
@@ -1704,7 +1792,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
                 break;
             case 2:
                 stateStr = "=2)";
-                result = repairRecordService.queryNotTimeoutReportExport( stateStr, keyWord, startTime, endTime, schoolId);
+                result = repairRecordService.queryNotTimeoutReportExport(stateStr, keyWord, startTime, endTime, schoolId);
                 for (ReportExportVo r : result) {
                     r.setState("维修中");
 
@@ -1712,7 +1800,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
                 break;
             case 3:
                 stateStr = "=3)";
-                result = repairRecordService.queryNotTimeoutReportExport( stateStr, keyWord, startTime, endTime, schoolId);
+                result = repairRecordService.queryNotTimeoutReportExport(stateStr, keyWord, startTime, endTime, schoolId);
                 for (ReportExportVo r : result) {
                     r.setState("待处理");
 
@@ -1720,7 +1808,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
                 break;
             case 4:
                 stateStr = "=5 or rr.maintenance_state = 6)";
-                result = repairRecordService.queryNotTimeoutReportExport( stateStr, keyWord, startTime, endTime, schoolId);
+                result = repairRecordService.queryNotTimeoutReportExport(stateStr, keyWord, startTime, endTime, schoolId);
                 for (ReportExportVo r : result) {
                     r.setState("待审核");
 
@@ -1735,7 +1823,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
                 break;
             case 6:
                 stateStr = "=8)";
-                result = repairRecordService.queryNotTimeoutReportExport( stateStr, keyWord, startTime, endTime, schoolId);
+                result = repairRecordService.queryNotTimeoutReportExport(stateStr, keyWord, startTime, endTime, schoolId);
                 for (ReportExportVo r : result) {
                     r.setState("已取消");
 
@@ -1743,13 +1831,13 @@ public class RepairRecordController implements RepairRecordControllerAPI {
                 break;
             case 7:
                 stateStr = "=9)";
-                result = repairRecordService.queryNotTimeoutReportExport( stateStr, keyWord, startTime, endTime, schoolId);
+                result = repairRecordService.queryNotTimeoutReportExport(stateStr, keyWord, startTime, endTime, schoolId);
                 for (ReportExportVo r : result) {
                     r.setState("已关单");
                 }
                 break;
             case 8:
-                result = repairRecordService.queryTimeoutReportExport( keyWord, startTime, endTime, schoolId);
+                result = repairRecordService.queryTimeoutReportExport(keyWord, startTime, endTime, schoolId);
                 for (ReportExportVo r : result) {
                     r.setState("已超时");
                 }
@@ -1775,7 +1863,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
 
         for (int i = 0; i < result.size(); i++) {
             ReportExportVo reportExportVo = result.get(i);
-            Row dataRow1 = sheet.createRow(i+1);
+            Row dataRow1 = sheet.createRow(i + 1);
             dataRow1.createCell(0).setCellValue(reportExportVo.getRecordNo());
             dataRow1.createCell(1).setCellValue(reportExportVo.getAreaName());
             dataRow1.createCell(2).setCellValue(reportExportVo.getUserName());
@@ -1964,7 +2052,8 @@ public class RepairRecordController implements RepairRecordControllerAPI {
 
         return CommonResult.ok("提交成功!");
     }
- @Override
+
+    @Override
     @Transactional(rollbackFor = {Exception.class})
     public CommonResult transferApply(transferApplyRequest data, BindingResult bindingResult) throws Exception {
         try {

+ 9 - 9
src/main/java/com/repair/controller/RepairUserController.java

@@ -196,16 +196,9 @@ public class RepairUserController implements RepairUserControllerAPI {
         }
 
         String dateNow = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
-        List<AutoDispatchUserVo> users = repairUserService.autoDispatchUser(recordId, dateNow, rr.getArticleId(), rr.getBuildId());
+        PageUtils<AutoDispatchUserVo> users = repairUserService.autoDispatchUser(currentPage, pageCount, rr.getSchoolId(), dateNow, rr.getArticleId(), rr.getBuildId(), keyWord);
 
-        return null;
-    }
-
-
-    @Override
-    public CommonResult getCollaborator(int currentPage, int pageCount, Integer schoolId, Integer userId, String keyWord) {
-        PageUtils<CollaboratorVo> result = repairUserService.queryCollaborator(currentPage, pageCount, userId, schoolId, keyWord);
-        return CommonResult.ok(result);
+        return CommonResult.ok(users);
     }
 
     @Override
@@ -245,5 +238,12 @@ public class RepairUserController implements RepairUserControllerAPI {
 
         return result <= 0 ? CommonResult.fail("更新失败") : CommonResult.ok("更新成功");
     }
+
+    @Override
+    public CommonResult queryPageCollaborator(int currentPage, int pageCount, Integer schoolId, Integer userId) {
+        String dateNow = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
+        PageUtils<RepairWorkTypeVo> result = repairUserService.queryCollaboratorUser(currentPage, pageCount, schoolId, userId, dateNow);
+        return CommonResult.ok(result);
+    }
 }
 

+ 3 - 0
src/main/java/com/repair/mapper/RepairCollaborateRecordMapper.java

@@ -2,6 +2,7 @@ package com.repair.mapper;
 
 import com.repair.model.pojo.RepairCollaborateRecord;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.repair.model.vo.CollaborateDetailVo;
 import com.repair.model.vo.CollaborateRecordVo;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
@@ -19,4 +20,6 @@ import java.util.List;
 @Repository
 public interface RepairCollaborateRecordMapper extends BaseMapper<RepairCollaborateRecord> {
     List<CollaborateRecordVo> queryCollaborateRecordList(@Param("recordIds") List<Integer> recordIds);
+
+    CollaborateDetailVo queryCollaborateDetail(@Param("recordId") Integer recordId);
 }

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

@@ -2,6 +2,8 @@ package com.repair.mapper;
 
 import com.repair.model.pojo.RepairTransferRecord;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.repair.model.vo.TransferDetailVo;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -14,5 +16,5 @@ import org.springframework.stereotype.Repository;
  */
 @Repository
 public interface RepairTransferRecordMapper extends BaseMapper<RepairTransferRecord> {
-
+    TransferDetailVo queryTransferDetail(@Param("recordId") Integer recordId);
 }

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

@@ -32,4 +32,6 @@ public interface RepairUserMapper extends BaseMapper<RepairUser> {
     List<AutoDispatchUserVo> autoDispatchUser(@Param("schoolId") Integer schoolId, @Param("dateNow") String dateNow, @Param("articleId") Integer articleId, @Param("buildId") Integer buildId);
 
     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);
 }

+ 20 - 0
src/main/java/com/repair/model/enumModel/eIsSuccess.java

@@ -0,0 +1,20 @@
+package com.repair.model.enumModel;
+
+public enum eIsSuccess {
+    //    成功
+    Succeed(1),
+    //    失败
+    Fail(2);
+
+
+    private int value;
+
+    eIsSuccess(int value) {
+        this.value=value;
+    }
+
+
+    public int getValue() {
+        return value;
+    }
+}

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

@@ -29,7 +29,7 @@ public class AlterPriceRequest {
     //所属维修表id
     private List<Integer> ids;
 
-    private List<RepairConsumables> repairConsumables;
+    private List<RepairConsumables> repairConsumablesList;
 
     @NotNull(message = "总金额不能为空")
     private BigDecimal totalPrice;

+ 11 - 4
src/main/java/com/repair/model/request/DelayedRequest.java

@@ -7,13 +7,20 @@ import javax.validation.constraints.NotNull;
 @Data
 public class DelayedRequest {
 
-    @NotNull(message = "维修表不能为空")
+    /**
+     * 维修记录ID
+     */
+    @NotNull(message = "维修记录ID不能为空")
     private Integer recordId;
 
-
-//     接单
+    /**
+     * 接单考核时间
+     */
     private Integer receiving;
-//    维修
+
+    /**
+     * 维修考核时间
+     */
     private Integer maintain;
 
 

+ 27 - 2
src/main/java/com/repair/model/request/ReceiveSendOrdersRequest.java

@@ -2,12 +2,37 @@ package com.repair.model.request;
 
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
+import java.time.LocalDate;
+
 @Data
 public class ReceiveSendOrdersRequest {
+    /**
+     * 被派单人ID
+     */
+    @NotNull(message = "被派单人不能为空")
+    private Integer id;
+
+    /**
+     * 接单考核时间
+     */
+    @NotNull(message = "接单考核时间不能为空")
+    private Integer acceptanceTime;
+
+    /**
+     * 当天的班次ID
+     * 可能会有多个
+     */
+    @NotBlank(message = "报修班次不能为空")
+    private String shiftId;
 
-    @NotNull(message = "维修人ID不能为空")
-    private Integer userId;
+    /**
+     * 报修物品ID
+     * 可能会有多个
+     */
+    @NotBlank(message = "报修物品不能为空")
+    private String articleId;
 
     @NotNull(message = "报修记录不能为空")
     private Integer recordId;

+ 15 - 0
src/main/java/com/repair/model/vo/AutoDispatchUserVo.java

@@ -1,5 +1,6 @@
 package com.repair.model.vo;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.Data;
 
 import java.time.LocalDate;
@@ -18,14 +19,26 @@ public class AutoDispatchUserVo {
     private int id;
 
     /**
+     * 接单状态
+     */
+    private String state;
+
+    /**
+     * 工种类型
+     */
+    private String workType;
+
+    /**
      * 当天接单数
      */
+    @JsonIgnore
     private int rdrCount;
 
     /**
      * 关联楼栋
      * 会有多个楼栋
      */
+    @JsonIgnore
     private String buildId;
 
     /**
@@ -46,11 +59,13 @@ public class AutoDispatchUserVo {
     /**
      * 维修考核时间
      */
+    @JsonIgnore
     private int maintenanceTime;
 
     /**
      * 生效日期
      */
+    @JsonIgnore
     private LocalDate startDate;
 
     /**

+ 22 - 0
src/main/java/com/repair/model/vo/CollaborateDataVo.java

@@ -0,0 +1,22 @@
+package com.repair.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/8/1 星期二 20:36
+ * @Description: com.repair.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class CollaborateDataVo {
+    /**
+     * 数据ID
+     */
+    private int id;
+
+    /**
+     * 协作人名称
+     */
+    private String name;
+}

+ 45 - 0
src/main/java/com/repair/model/vo/CollaborateDetailVo.java

@@ -0,0 +1,45 @@
+package com.repair.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/8/1 星期二 20:36
+ * @Description: com.repair.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class CollaborateDetailVo {
+    /**
+     * 数据ID
+     */
+    private int id;
+    /**
+     * 申请人
+     */
+    private String userName;
+
+    /**
+     * 协作对象集合
+     */
+    @JsonIgnore
+    private String collaboratorName;
+
+    /**
+     * 协作对象集合
+     */
+    private List<CollaborateDataVo> collaboratorDatas;
+
+    /**
+     * 语音
+     */
+    private String voice;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 28 - 0
src/main/java/com/repair/model/vo/ProsperityRepairPayRecordsVo.java

@@ -0,0 +1,28 @@
+package com.repair.model.vo;
+
+import com.repair.model.pojo.RepairRefundRecord;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class ProsperityRepairPayRecordsVo {
+    private int id;
+//    交易时间
+    private Date createTime;
+//    工单号
+    private Integer recordId;
+//    交易流水号
+    private String payNo;
+//    支付人
+    private Integer userName;
+//   交易金额
+    private BigDecimal payPrice;
+//    退款记录
+    private List<RepairRefundRecord> repairRefundRecords;
+//    状态 0已支付 1 部分退款 3 已退款
+    private Integer state;
+//    实退按钮
+}

+ 34 - 0
src/main/java/com/repair/model/vo/TransferDetailVo.java

@@ -0,0 +1,34 @@
+package com.repair.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/8/1 星期二 20:36
+ * @Description: com.repair.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class TransferDetailVo {
+    /**
+     * 数据ID
+     */
+    private int id;
+    /**
+     * 申请人
+     */
+    private String userName;
+
+    /**
+     * 转单语音
+     */
+    private String voice;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 3 - 0
src/main/java/com/repair/services/RepairCollaborateRecordService.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.repair.model.pojo.RepairCollaborateRecord;
 import com.repair.model.pojo.RepairDispatchRecord;
 import com.repair.model.result.PageUtils;
+import com.repair.model.vo.CollaborateDetailVo;
 import com.repair.model.vo.CollaborateRecordVo;
 
 import java.util.List;
@@ -31,4 +32,6 @@ public interface RepairCollaborateRecordService extends IService<RepairCollabora
     List<RepairCollaborateRecord> getRepairs();
 
     List<CollaborateRecordVo> queryRepairCollaborate(List<Integer> recordIds);
+
+    CollaborateDetailVo queryCollaborateDetail(Integer recordId);
 }

+ 4 - 0
src/main/java/com/repair/services/RepairDispatchRecordService.java

@@ -37,4 +37,8 @@ public interface RepairDispatchRecordService extends IService<RepairDispatchReco
     RepairDispatchRecord queryOwnRepairDispatch(Integer recordId, Integer userId);
 
     boolean insertDispatchBatch(List<RepairDispatchRecord> rdr);
+
+    boolean updateDispatchBatch(List<RepairDispatchRecord> rdr);
+
+    List<RepairDispatchRecord> queryDispatchByRecordId(Integer recordId);
 }

+ 5 - 0
src/main/java/com/repair/services/RepairReceivingService.java

@@ -1,5 +1,6 @@
 package com.repair.services;
 
+import com.repair.model.pojo.RepairDispatchRecord;
 import com.repair.model.pojo.RepairReceiving;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.repair.model.pojo.RepairRecord;
@@ -29,4 +30,8 @@ public interface RepairReceivingService extends IService<RepairReceiving> {
     List<RepairReceiving> getRepairs();
 
     int updateRepairByRecordId(Integer recordId, RepairReceiving rr);
+
+    boolean updateReceivingBatch(List<RepairReceiving> rdr);
+
+    List<RepairReceiving> queryReceivingByRecordId(Integer recordId);
 }

+ 4 - 1
src/main/java/com/repair/services/RepairTransferRecordService.java

@@ -4,12 +4,14 @@ import com.repair.model.pojo.RepairTransferRecord;
 import com.repair.model.pojo.RepairTransferRecord;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.repair.model.result.PageUtils;
+import com.repair.model.vo.TransferDetailVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 /**
  * <p>
- *  服务类
+ * 服务类
  * </p>
  *
  * @author ceshi
@@ -28,4 +30,5 @@ public interface RepairTransferRecordService extends IService<RepairTransferReco
 
     List<RepairTransferRecord> getRepairs();
 
+    TransferDetailVo queryTransferDetail(Integer recordId);
 }

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

@@ -48,7 +48,9 @@ public interface RepairUserService extends IService<RepairUser> {
 
     List<AutoDispatchUserVo> autoDispatchUser(Integer schoolId, String dateNow, Integer articleId, Integer buildId);
 
-    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);
 
 }
 

+ 7 - 0
src/main/java/com/repair/services/impl/RepairCollaborateRecordServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.repair.mapper.RepairCollaborateRecordMapper;
 import com.repair.model.pojo.RepairCollaborateRecord;
 import com.repair.model.result.PageUtils;
+import com.repair.model.vo.CollaborateDetailVo;
 import com.repair.model.vo.CollaborateRecordVo;
 import com.repair.services.RepairCollaborateRecordService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -71,4 +72,10 @@ public class RepairCollaborateRecordServiceImpl extends ServiceImpl<RepairCollab
         List<CollaborateRecordVo> result = repairCollaborateRecordMapper.queryCollaborateRecordList(recordIds);
         return result;
     }
+
+    @Override
+    public CollaborateDetailVo queryCollaborateDetail(Integer recordId) {
+        CollaborateDetailVo result= repairCollaborateRecordMapper.queryCollaborateDetail(recordId);
+        return result;
+    }
 }

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

@@ -52,6 +52,7 @@ public class RepairConsumablesServiceImpl extends ServiceImpl<RepairConsumablesM
     public PageUtils<RepairConsumables> queryPageRepairConsumabless(int currentPage, int pageCount, String name) {
         Page<RepairConsumables> page = new Page<>(currentPage, pageCount);
         QueryWrapper<RepairConsumables> queryWrapper = new QueryWrapper<>();
+        queryWrapper.orderByDesc("update_time");
         IPage<RepairConsumables> result = repairConsumablesMapper.selectPage(page, queryWrapper);
         return new PageUtils(result);
     }

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

@@ -89,8 +89,8 @@ public class RepairConsumeServiceImpl extends ServiceImpl<RepairConsumeMapper, R
     }
 
     @Override
-    public List<RepairArticleConsumeVo> queryArticleConsumesName(String sss,int schoolId) {
-        List<RepairArticleConsumeVo> result= repairConsumeMapper.queryArticleConsumesName(sss,schoolId);
+    public List<RepairArticleConsumeVo> queryArticleConsumesName(String findInSet,int schoolId) {
+        List<RepairArticleConsumeVo> result= repairConsumeMapper.queryArticleConsumesName(findInSet,schoolId);
         return result;
     }
 

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

@@ -1,8 +1,10 @@
 package com.repair.services.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.repair.model.enumModel.eDispatchResult;
 import com.repair.model.pojo.RepairConsumables;
 import com.repair.model.pojo.RepairDispatchRecord;
 import com.repair.mapper.RepairDispatchRecordMapper;
@@ -106,4 +108,21 @@ public class RepairDispatchRecordServiceImpl extends ServiceImpl<RepairDispatchR
         boolean result = this.saveBatch(rdr);
         return result;
     }
+
+    @Override
+    public boolean updateDispatchBatch(List<RepairDispatchRecord> rdr) {
+        boolean result = this.updateBatchById(rdr);
+        return result;
+    }
+
+    @Override
+    public List<RepairDispatchRecord> queryDispatchByRecordId(Integer recordId) {
+        LambdaQueryWrapper<RepairDispatchRecord> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(RepairDispatchRecord::getRecordId, recordId)
+                .eq(RepairDispatchRecord::getIsLoseEfficacy, eDispatchResult.NotExpired.getValue());
+        List<RepairDispatchRecord> list = repairDispatchRecordMapper.selectList(wrapper);
+
+        return list;
+    }
+
 }

+ 19 - 0
src/main/java/com/repair/services/impl/RepairReceivingServiceImpl.java

@@ -1,8 +1,10 @@
 package com.repair.services.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.repair.model.enumModel.eDispatchResult;
 import com.repair.model.pojo.RepairReceiving;
 import com.repair.mapper.RepairReceivingMapper;
 import com.repair.model.pojo.RepairRecord;
@@ -74,4 +76,21 @@ public class RepairReceivingServiceImpl extends ServiceImpl<RepairReceivingMappe
         int result = repairReceivingMapper.update(rr,queryWrapper);
         return result;
     }
+
+    @Override
+    public boolean updateReceivingBatch(List<RepairReceiving> rdr) {
+        boolean result = this.updateBatchById(rdr);
+        return result;
+    }
+
+    @Override
+    public List<RepairReceiving> queryReceivingByRecordId(Integer recordId) {
+        LambdaQueryWrapper<RepairReceiving> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(RepairReceiving::getRecordId, recordId)
+                .eq(RepairReceiving::getIsLoseEfficacy, eDispatchResult.NotExpired.getValue());
+
+        List<RepairReceiving> list = repairReceivingMapper.selectList(wrapper);
+
+        return list;
+    }
 }

+ 7 - 0
src/main/java/com/repair/services/impl/RepairTransferRecordServiceImpl.java

@@ -8,6 +8,7 @@ import com.repair.model.pojo.RepairTransferRecord;
 import com.repair.model.pojo.RepairTransferRecord;
 import com.repair.mapper.RepairTransferRecordMapper;
 import com.repair.model.result.PageUtils;
+import com.repair.model.vo.TransferDetailVo;
 import com.repair.services.RepairTransferRecordService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -66,4 +67,10 @@ public class RepairTransferRecordServiceImpl extends ServiceImpl<RepairTransferR
         List<RepairTransferRecord> result = repairTransferRecordMapper.selectList(null);
         return result;
     }
+
+    @Override
+    public TransferDetailVo queryTransferDetail(Integer recordId) {
+        TransferDetailVo result = repairTransferRecordMapper.queryTransferDetail(recordId);
+        return result;
+    }
 }

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

@@ -156,4 +156,13 @@ public class RepairUserServiceImpl extends ServiceImpl<RepairUserMapper, RepairU
         IPage<AutoDispatchUserVo> result = repairUserMapper.autoDispatchUser(page, schoolId, dateNow, articleId, buildId, keyWord);
         return new PageUtils(result);
     }
+
+    @Override
+    public PageUtils<RepairWorkTypeVo> queryCollaboratorUser(int currentPage, int pageCount, Integer schoolId, Integer userId, String dateNow) {
+        Page<RepairWorkTypeVo> page = new Page<>();
+        page.setCurrent(currentPage);
+        page.setSize(pageCount);
+        IPage<RepairWorkTypeVo> result = repairUserMapper.queryCollaboratorUser(page, schoolId, userId, dateNow);
+        return new PageUtils(result);
+    }
 }

BIN
src/main/resources/excelFile/耗材管理模板.xlsx


BIN
src/main/resources/excelFile/自定义排班模板.xls


BIN
src/main/resources/excelFile/自定义排班模板.xlsx


+ 14 - 1
src/main/resources/mapper/repair/RepairCollaborateRecordMapper.xml

@@ -32,5 +32,18 @@
         </where>
     </select>
 
-
+    <resultMap type="com.repair.model.vo.CollaborateDetailVo" id="repairCollaborateDetailMap">
+        <result property="id" column="id"/>
+        <result property="userName" column="user_name"/>
+        <result property="collaboratorName" column="collaborator_name"/>
+        <result property="voice" column="voice"/>
+        <result property="remark" column="remark"/>
+    </resultMap>
+    <select id="queryCollaborateDetail" resultType="com.repair.model.vo.CollaborateDetailVo" resultMap="repairCollaborateDetailMap">
+        select rcr.id,rus.user_name,GROUP_CONCAT(CONCAT(ru.id,'-',ru.user_name)) as collaborator_name,rcr.voice,rcr.remark from repair_collaborate_record rcr
+        left join repair_user ru on ru.deleted = 0 and find_in_set(ru.id,rcr.collaborator)
+        left join repair_user rus on rus.deleted = 0 and rus.id = rcr.user_id
+        where rcr.deleted = 0 and rcr.approval_statu = 2 and rcr.record_id = #{recordId}
+        group by rcr.id
+    </select>
 </mapper>

+ 11 - 0
src/main/resources/mapper/repair/RepairTransferRecordMapper.xml

@@ -1,5 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.repair.mapper.RepairTransferRecordMapper">
+    <resultMap type="com.repair.model.vo.TransferDetailVo" id="repairTransferDetailMap">
+        <result property="id" column="id"/>
+        <result property="userName" column="user_name"/>
+        <result property="voice" column="voice"/>
+        <result property="remark" column="remark"/>
+    </resultMap>
+    <select id="queryTransferDetail" resultType="com.repair.model.vo.TransferDetailVo" resultMap="repairTransferDetailMap">
+        SELECT rtr.id,ru.user_name,rtr.voice,rtr.remark FROM repair_transfer_record rtr
+        left join repair_user ru on ru.deleted = 0 and ru.id = rtr.user_id
+        where rtr.deleted = 0 and rtr.approval_statu = 2 and rtr.record_id = #{recordId}
+    </select>
 
 </mapper>

+ 14 - 2
src/main/resources/mapper/repair/RepairUserMapper.xml

@@ -127,6 +127,8 @@
 
     <resultMap type="com.repair.model.vo.AutoDispatchUserVo" id="AutoDispatchUserMap">
         <result property="id" column="id"/>
+        <result property="state" column="state"/>
+        <result property="workType" column="work_type"/>
         <result property="rdrCount" column="rdr_count"/>
         <result property="buildId" column="build_id"/>
         <result property="userName" column="user_name"/>
@@ -140,10 +142,10 @@
 
     <select id="autoDispatchUser" resultType="com.repair.model.vo.AutoDispatchUserVo" resultMap="AutoDispatchUserMap">
         select * from (
-        select count(rdr.id) as rdr_count,ru.build_id,ru.user_phone,ru.acceptance_assess_time,ru.maintenance_assess_time,ru.id,ru.user_name,rcs.start_date,rcs.shift_id,GROUP_CONCAT(rat.id) as article_id from repair_user ru
+        select wt.name as work_type,'大量接单' as state,(select count(*) from repair_dispatch_record where deleted = 0 and is_lose_efficacy = 0 and assigned_time like '%' #{dateNow} '%' and users_id = ru.id) as rdr_count,ru.build_id,ru.user_phone,ru.acceptance_assess_time,ru.maintenance_assess_time,ru.id,ru.user_name,rcs.start_date,rcs.shift_id,GROUP_CONCAT(rat.id) as article_id from repair_user ru
         inner join repair_classes_settings rcs on rcs.deleted = 0 and rcs.user_id = ru.id and start_date = #{dateNow}
         left join repair_article_type rat on rat.deleted = 0 and (FIND_IN_SET(rat.id,ru.article_id) or FIND_IN_SET(rat.parent_id,ru.article_id))
-        left join repair_dispatch_record rdr on rdr.deleted = 0 and rdr.is_lose_efficacy = 0 and rdr.assigned_time like '%' #{dateNow} '%' and rdr.users_id = ru.id
+        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
         <if test="keyWord != null and keyWord != ''">
             and (ru.user_name like '%' #{keyWord} '%' or ru.user_phone like '%' #{keyWord} '%')
@@ -152,4 +154,14 @@
         order by t.rdr_count
     </select>
 
+    <!--获取协作下拉人员信息-->
+    <resultMap type="com.repair.model.vo.RepairWorkTypeVo" id="collaboratorUserMap">
+        <result property="id" column="id"/>
+        <result property="name" column="user_name"/>
+    </resultMap>
+    <select id="queryCollaboratorUser" resultType="com.repair.model.vo.RepairWorkTypeVo" resultMap="collaboratorUserMap">
+        select ru.id,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}
+        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}
+    </select>
 </mapper>

BIN
target/classes/excelFile/耗材管理模板.xlsx


BIN
target/classes/excelFile/自定义排班模板.xls


BIN
target/classes/excelFile/自定义排班模板.xlsx


+ 14 - 1
target/classes/mapper/repair/RepairCollaborateRecordMapper.xml

@@ -32,5 +32,18 @@
         </where>
     </select>
 
-
+    <resultMap type="com.repair.model.vo.CollaborateDetailVo" id="repairCollaborateDetailMap">
+        <result property="id" column="id"/>
+        <result property="userName" column="user_name"/>
+        <result property="collaboratorName" column="collaborator_name"/>
+        <result property="voice" column="voice"/>
+        <result property="remark" column="remark"/>
+    </resultMap>
+    <select id="queryCollaborateDetail" resultType="com.repair.model.vo.CollaborateDetailVo" resultMap="repairCollaborateDetailMap">
+        select rcr.id,rus.user_name,GROUP_CONCAT(CONCAT(ru.id,'-',ru.user_name)) as collaborator_name,rcr.voice,rcr.remark from repair_collaborate_record rcr
+        left join repair_user ru on ru.deleted = 0 and find_in_set(ru.id,rcr.collaborator)
+        left join repair_user rus on rus.deleted = 0 and rus.id = rcr.user_id
+        where rcr.deleted = 0 and rcr.approval_statu = 2 and rcr.record_id = #{recordId}
+        group by rcr.id
+    </select>
 </mapper>

+ 11 - 0
target/classes/mapper/repair/RepairTransferRecordMapper.xml

@@ -1,5 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.repair.mapper.RepairTransferRecordMapper">
+    <resultMap type="com.repair.model.vo.TransferDetailVo" id="repairTransferDetailMap">
+        <result property="id" column="id"/>
+        <result property="userName" column="user_name"/>
+        <result property="voice" column="voice"/>
+        <result property="remark" column="remark"/>
+    </resultMap>
+    <select id="queryTransferDetail" resultType="com.repair.model.vo.TransferDetailVo" resultMap="repairTransferDetailMap">
+        SELECT rtr.id,ru.user_name,rtr.voice,rtr.remark FROM repair_transfer_record rtr
+        left join repair_user ru on ru.deleted = 0 and ru.id = rtr.user_id
+        where rtr.deleted = 0 and rtr.approval_statu = 2 and rtr.record_id = #{recordId}
+    </select>
 
 </mapper>

+ 14 - 2
target/classes/mapper/repair/RepairUserMapper.xml

@@ -127,6 +127,8 @@
 
     <resultMap type="com.repair.model.vo.AutoDispatchUserVo" id="AutoDispatchUserMap">
         <result property="id" column="id"/>
+        <result property="state" column="state"/>
+        <result property="workType" column="work_type"/>
         <result property="rdrCount" column="rdr_count"/>
         <result property="buildId" column="build_id"/>
         <result property="userName" column="user_name"/>
@@ -140,10 +142,10 @@
 
     <select id="autoDispatchUser" resultType="com.repair.model.vo.AutoDispatchUserVo" resultMap="AutoDispatchUserMap">
         select * from (
-        select count(rdr.id) as rdr_count,ru.build_id,ru.user_phone,ru.acceptance_assess_time,ru.maintenance_assess_time,ru.id,ru.user_name,rcs.start_date,rcs.shift_id,GROUP_CONCAT(rat.id) as article_id from repair_user ru
+        select wt.name as work_type,'大量接单' as state,(select count(*) from repair_dispatch_record where deleted = 0 and is_lose_efficacy = 0 and assigned_time like '%' #{dateNow} '%' and users_id = ru.id) as rdr_count,ru.build_id,ru.user_phone,ru.acceptance_assess_time,ru.maintenance_assess_time,ru.id,ru.user_name,rcs.start_date,rcs.shift_id,GROUP_CONCAT(rat.id) as article_id from repair_user ru
         inner join repair_classes_settings rcs on rcs.deleted = 0 and rcs.user_id = ru.id and start_date = #{dateNow}
         left join repair_article_type rat on rat.deleted = 0 and (FIND_IN_SET(rat.id,ru.article_id) or FIND_IN_SET(rat.parent_id,ru.article_id))
-        left join repair_dispatch_record rdr on rdr.deleted = 0 and rdr.is_lose_efficacy = 0 and rdr.assigned_time like '%' #{dateNow} '%' and rdr.users_id = ru.id
+        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
         <if test="keyWord != null and keyWord != ''">
             and (ru.user_name like '%' #{keyWord} '%' or ru.user_phone like '%' #{keyWord} '%')
@@ -152,4 +154,14 @@
         order by t.rdr_count
     </select>
 
+    <!--获取协作下拉人员信息-->
+    <resultMap type="com.repair.model.vo.RepairWorkTypeVo" id="collaboratorUserMap">
+        <result property="id" column="id"/>
+        <result property="name" column="user_name"/>
+    </resultMap>
+    <select id="queryCollaboratorUser" resultType="com.repair.model.vo.RepairWorkTypeVo" resultMap="collaboratorUserMap">
+        select ru.id,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}
+        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}
+    </select>
 </mapper>