|
|
@@ -1981,12 +1981,11 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
if (insertTransfer <= 0) {
|
|
|
throw new Exception("转单审核失败!");
|
|
|
}
|
|
|
-
|
|
|
if (eApprovalStatu.Agree.getValue() == tr.getApproverStatu()) {
|
|
|
- //被派单用户
|
|
|
+ //转线下用户
|
|
|
RepairUser repairUser = repairUserService.getById(tr.getUserId());
|
|
|
if (repairUser == null) {
|
|
|
- return CommonResult.fail("被派单师傅数据异常,审核失败");
|
|
|
+ return CommonResult.fail("被转线下师傅数据异常,审核失败");
|
|
|
}
|
|
|
|
|
|
//将原有的派单记录数据置为失效
|
|
|
@@ -1995,24 +1994,50 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
int updateDis = repairDispatchRecordService.updateDispatch(rr.getId(), oldDispatchRecord);
|
|
|
|
|
|
//同意
|
|
|
- //添加派单记录
|
|
|
- RepairDispatchRecord repairDispatchRecord = new RepairDispatchRecord();
|
|
|
- repairDispatchRecord.setRecordId(rr.getId());
|
|
|
- repairDispatchRecord.setUsersId(tr.getUserId());
|
|
|
- repairDispatchRecord.setAssignedTime(new Date());
|
|
|
- //repairDispatchRecord.setAcceptanceAssessTime(repairUser.getAcceptanceAssessTime());
|
|
|
- repairDispatchRecord.setOrderType(eDispatchType.Transfer.getValue());
|
|
|
- repairDispatchRecord.setIsLoseEfficacy(eDispatchResult.NotExpired.getValue());
|
|
|
- int insertDispatch = repairDispatchRecordService.insertRepairDispatchRecord(repairDispatchRecord);
|
|
|
- if (insertDispatch <= 0) {
|
|
|
- throw new Exception("转单审核失败!");
|
|
|
+ rr.setMaintenanceState(eRecordStatu.Offline.getValue());
|
|
|
+ //将维修师傅也加进去
|
|
|
+ rr.setMaintenancerName(repairUser.getUserName());
|
|
|
+ rr.setMaintenancerPhone(repairUser.getUserPhone());
|
|
|
+ }
|
|
|
+ String strContent="转单审核";
|
|
|
+ if (eApprovalStatu.Agree.getValue() == tr.getApproverStatu()) {
|
|
|
+ //被派单用户
|
|
|
+ RepairUser repairUser = repairUserService.getById(tr.getUserId());
|
|
|
+ if (repairUser == null) {
|
|
|
+ return CommonResult.fail("被派单师傅数据异常,审核失败");
|
|
|
+ }
|
|
|
+ //将原有的派单记录数据置为失效
|
|
|
+ RepairDispatchRecord oldDispatchRecord = new RepairDispatchRecord();
|
|
|
+ oldDispatchRecord.setIsLoseEfficacy(eDispatchResult.Expired.getValue());
|
|
|
+ int updateDis = repairDispatchRecordService.updateDispatch(rr.getId(), oldDispatchRecord);
|
|
|
+ //转线下
|
|
|
+ if(repairUser.getUserZzid()==4){
|
|
|
+ strContent="转线下审核";
|
|
|
+ //同意
|
|
|
+ rr.setMaintenanceState(eRecordStatu.Offline.getValue());
|
|
|
+ //将维修师傅也加进去
|
|
|
+ rr.setMaintenancerName(repairUser.getUserName());
|
|
|
+ rr.setMaintenancerPhone(repairUser.getUserPhone());
|
|
|
+ }else {
|
|
|
+ //同意
|
|
|
+ //添加派单记录
|
|
|
+ RepairDispatchRecord repairDispatchRecord = new RepairDispatchRecord();
|
|
|
+ repairDispatchRecord.setRecordId(rr.getId());
|
|
|
+ repairDispatchRecord.setUsersId(tr.getUserId());
|
|
|
+ repairDispatchRecord.setAssignedTime(new Date());
|
|
|
+ //repairDispatchRecord.setAcceptanceAssessTime(repairUser.getAcceptanceAssessTime());
|
|
|
+ repairDispatchRecord.setOrderType(eDispatchType.Transfer.getValue());
|
|
|
+ repairDispatchRecord.setIsLoseEfficacy(eDispatchResult.NotExpired.getValue());
|
|
|
+ int insertDispatch = repairDispatchRecordService.insertRepairDispatchRecord(repairDispatchRecord);
|
|
|
+ if (insertDispatch <= 0) {
|
|
|
+ throw new Exception("转单审核失败!");
|
|
|
+ }
|
|
|
+ //同意的时候将维修表的状态改成派单中
|
|
|
+ //拒绝的时候将维修表的状态改成转单前的
|
|
|
+ rr.setMaintenanceState(eRecordStatu.Dispatch.getValue());
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
- //同意的时候将维修表的状态改成派单中
|
|
|
- //拒绝的时候将维修表的状态改成转单前的
|
|
|
- rr.setMaintenanceState(eRecordStatu.Dispatch.getValue());
|
|
|
int updateRecord = repairRecordService.updateRepairRecord(rr);
|
|
|
if (updateRecord <= 0) {
|
|
|
throw new Exception("转单审核失败!");
|
|
|
@@ -2031,7 +2056,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
//添加跟踪记录
|
|
|
RepairTrackRecord repairTrackRecord = new RepairTrackRecord();
|
|
|
repairTrackRecord.setRecordId(rr.getId());
|
|
|
- repairTrackRecord.setContent("转单审核" + (tr.getRefuseRemark() == null ? "" : "-" + tr.getRefuseRemark()));
|
|
|
+ repairTrackRecord.setContent(strContent + (tr.getRefuseRemark() == null ? "" : "-" + tr.getRefuseRemark()));
|
|
|
repairTrackRecord.setMaintenanceState(rr.getMaintenanceState());
|
|
|
repairTrackRecord.setUserId(senderId);
|
|
|
repairTrackRecord.setUserZzstr("管理员");
|
|
|
@@ -2114,7 +2139,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
if (insertOffline <= 0) {
|
|
|
throw new Exception("转线下审核失败!");
|
|
|
}
|
|
|
-
|
|
|
+ String strContent="转线下审核";
|
|
|
if (eApprovalStatu.Agree.getValue() == tr.getApproverStatu()) {
|
|
|
//转线下用户
|
|
|
RepairUser repairUser = repairUserService.getById(tr.getUserId());
|
|
|
@@ -2127,11 +2152,32 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
oldDispatchRecord.setIsLoseEfficacy(eDispatchResult.Expired.getValue());
|
|
|
int updateDis = repairDispatchRecordService.updateDispatch(rr.getId(), oldDispatchRecord);
|
|
|
|
|
|
- //同意
|
|
|
- rr.setMaintenanceState(eRecordStatu.Offline.getValue());
|
|
|
- //将维修师傅也加进去
|
|
|
- rr.setMaintenancerName(repairUser.getUserName());
|
|
|
- rr.setMaintenancerPhone(repairUser.getUserPhone());
|
|
|
+ if(repairUser.getUserZzid()==4){
|
|
|
+
|
|
|
+ //同意
|
|
|
+ rr.setMaintenanceState(eRecordStatu.Offline.getValue());
|
|
|
+ //将维修师傅也加进去
|
|
|
+ rr.setMaintenancerName(repairUser.getUserName());
|
|
|
+ rr.setMaintenancerPhone(repairUser.getUserPhone());
|
|
|
+ }else {
|
|
|
+ strContent="转单审核";
|
|
|
+ //同意
|
|
|
+ //添加派单记录
|
|
|
+ RepairDispatchRecord repairDispatchRecord = new RepairDispatchRecord();
|
|
|
+ repairDispatchRecord.setRecordId(rr.getId());
|
|
|
+ repairDispatchRecord.setUsersId(tr.getUserId());
|
|
|
+ repairDispatchRecord.setAssignedTime(new Date());
|
|
|
+ //repairDispatchRecord.setAcceptanceAssessTime(repairUser.getAcceptanceAssessTime());
|
|
|
+ repairDispatchRecord.setOrderType(eDispatchType.Transfer.getValue());
|
|
|
+ repairDispatchRecord.setIsLoseEfficacy(eDispatchResult.NotExpired.getValue());
|
|
|
+ int insertDispatch = repairDispatchRecordService.insertRepairDispatchRecord(repairDispatchRecord);
|
|
|
+ if (insertDispatch <= 0) {
|
|
|
+ throw new Exception("转单审核失败!");
|
|
|
+ }
|
|
|
+ //同意的时候将维修表的状态改成派单中
|
|
|
+ //拒绝的时候将维修表的状态改成转单前的
|
|
|
+ rr.setMaintenanceState(eRecordStatu.Dispatch.getValue());
|
|
|
+ }
|
|
|
} else {
|
|
|
//转线下前的维修单记录状态
|
|
|
rr.setMaintenanceState(offlineRecord.getOldRecord());
|
|
|
@@ -2155,7 +2201,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
//添加跟踪记录
|
|
|
RepairTrackRecord repairTrackRecord = new RepairTrackRecord();
|
|
|
repairTrackRecord.setRecordId(rr.getId());
|
|
|
- repairTrackRecord.setContent("转线下审核" + (tr.getRefuseRemark() == null ? "" : "-" + tr.getRefuseRemark()));
|
|
|
+ repairTrackRecord.setContent(strContent + (tr.getRefuseRemark() == null ? "" : "-" + tr.getRefuseRemark()));
|
|
|
repairTrackRecord.setMaintenanceState(rr.getMaintenanceState());
|
|
|
repairTrackRecord.setUserId(senderId);
|
|
|
repairTrackRecord.setUserZzstr("管理员");
|
|
|
@@ -3418,14 +3464,14 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
List<RepairDispatchRecord> repairDispatchRecords = repairDispatchRecordService.list(rdrsWrapper);
|
|
|
for (RepairDispatchRecord repairDispatchRecord : repairDispatchRecords) {
|
|
|
// 派单时间
|
|
|
- long sendTime = repairDispatchRecord.getAssignedTime().getTime();
|
|
|
- // 接单考核时间
|
|
|
- Integer acceptanceAssessTime = repairDispatchRecord.getAcceptanceAssessTime() * 1000 * 60;
|
|
|
-
|
|
|
- long time = sendTime + acceptanceAssessTime;
|
|
|
-
|
|
|
- // 接单时间
|
|
|
- long receivingTime = repairDispatchRecord.getReceivingTime().getTime();
|
|
|
+// long sendTime = repairDispatchRecord.getAssignedTime().getTime();
|
|
|
+// // 接单考核时间
|
|
|
+// Integer acceptanceAssessTime = repairDispatchRecord.getAcceptanceAssessTime() * 1000 * 60;
|
|
|
+//
|
|
|
+// long time = sendTime + acceptanceAssessTime;
|
|
|
+//
|
|
|
+// // 接单时间
|
|
|
+// long receivingTime = repairDispatchRecord.getReceivingTime().getTime();
|
|
|
// 接单人
|
|
|
Integer usersId = repairDispatchRecord.getUsersId();
|
|
|
Integer recordId = repairDispatchRecord.getRecordId();
|
|
|
@@ -3442,29 +3488,29 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
|
|
|
|
|
|
// 实际完成时间大于接单时间加考核时间为超时
|
|
|
- if (receivingTime > time) {
|
|
|
- if (sendTimeOutMap.containsKey(usersId)) {
|
|
|
- // 次数
|
|
|
- Integer count = sendTimeOutMap.get(usersId);
|
|
|
- count = count + 1;
|
|
|
- sendTimeOutMap.put(usersId, count);
|
|
|
- } else {
|
|
|
- sendTimeOutMap.put(usersId, 1);
|
|
|
- }
|
|
|
- }
|
|
|
+// if (receivingTime > time) {
|
|
|
+// if (sendTimeOutMap.containsKey(usersId)) {
|
|
|
+// // 次数
|
|
|
+// Integer count = sendTimeOutMap.get(usersId);
|
|
|
+// count = count + 1;
|
|
|
+// sendTimeOutMap.put(usersId, count);
|
|
|
+// } else {
|
|
|
+// sendTimeOutMap.put(usersId, 1);
|
|
|
+// }
|
|
|
+// }
|
|
|
|
|
|
// 接单时长=接单时间-派单时间(分)
|
|
|
- Long orderReceivingTime = receivingTime - sendTime;
|
|
|
- orderReceivingTime = orderReceivingTime / 1000 / 60;
|
|
|
-
|
|
|
- if (sendMap.containsKey(usersId)) {
|
|
|
- // 接单总时长
|
|
|
- Long sendTotalTime = sendMap.get(usersId);
|
|
|
- sendTotalTime = sendTotalTime + orderReceivingTime;
|
|
|
- sendMap.put(usersId, sendTotalTime);
|
|
|
- } else {
|
|
|
- sendMap.put(usersId, orderReceivingTime);
|
|
|
- }
|
|
|
+// Long orderReceivingTime = receivingTime - sendTime;
|
|
|
+// orderReceivingTime = orderReceivingTime / 1000 / 60;
|
|
|
+
|
|
|
+// if (sendMap.containsKey(usersId)) {
|
|
|
+// // 接单总时长
|
|
|
+// Long sendTotalTime = sendMap.get(usersId);
|
|
|
+// sendTotalTime = sendTotalTime + orderReceivingTime;
|
|
|
+// sendMap.put(usersId, sendTotalTime);
|
|
|
+// } else {
|
|
|
+// sendMap.put(usersId, orderReceivingTime);
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
Wrapper<RepairSchool> schoolWrapper = new LambdaQueryWrapper<>();
|
|
|
@@ -3497,27 +3543,27 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
maintenanceWorkerVo.setWorkOrderTotal(size);
|
|
|
|
|
|
// 超时率--待消除
|
|
|
- if (maintainTimeOutMap.containsKey(id)) {
|
|
|
- Integer integer = maintainTimeOutMap.get(id);
|
|
|
- BigDecimal a = new BigDecimal(integer);
|
|
|
- BigDecimal c = b;
|
|
|
-
|
|
|
- // 接单总次数
|
|
|
- List<Integer> integers = sendCountMap.get(id);
|
|
|
- BigDecimal bigDecimal1 = new BigDecimal(integers.size());
|
|
|
- c = c.add(bigDecimal1);
|
|
|
- // 接单
|
|
|
- if (sendTimeOutMap.containsKey(id)) {
|
|
|
- Integer integer1 = sendTimeOutMap.get(id);
|
|
|
- BigDecimal bigDecimal = new BigDecimal(integer1);
|
|
|
- a = a.add(bigDecimal);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- BigDecimal bigDecimal = a.divide(c, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
- BigDecimal multiply = bigDecimal.multiply(new BigDecimal(100));
|
|
|
- //maintenanceWorkerVo.setTimeOut(multiply + "%");
|
|
|
- }
|
|
|
+// if (maintainTimeOutMap.containsKey(id)) {
|
|
|
+// Integer integer = maintainTimeOutMap.get(id);
|
|
|
+// BigDecimal a = new BigDecimal(integer);
|
|
|
+// BigDecimal c = b;
|
|
|
+//
|
|
|
+// // 接单总次数
|
|
|
+// List<Integer> integers = sendCountMap.get(id);
|
|
|
+// BigDecimal bigDecimal1 = new BigDecimal(integers.size());
|
|
|
+// c = c.add(bigDecimal1);
|
|
|
+// // 接单
|
|
|
+// if (sendTimeOutMap.containsKey(id)) {
|
|
|
+// Integer integer1 = sendTimeOutMap.get(id);
|
|
|
+// BigDecimal bigDecimal = new BigDecimal(integer1);
|
|
|
+// a = a.add(bigDecimal);
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+// 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) == null ? 0L : maintainMap.get(id);
|