|
|
@@ -876,6 +876,9 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
case 4://待审核
|
|
|
result = repairRecordService.queryExamineOrderList(currentPage, pageCount, userId, user.getSchoolId());
|
|
|
break;
|
|
|
+ case 5://待支付、待确认
|
|
|
+ result = repairRecordService.queryRepairOrderList(currentPage, pageCount, userId, dateNow, user.getSchoolId());
|
|
|
+ break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
@@ -1068,9 +1071,11 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
} else if (r.getMaintenanceState() == 4) {
|
|
|
r.setState("待支付");
|
|
|
r.setDelayed(1);
|
|
|
+ r.setClose(1);
|
|
|
} else if (r.getMaintenanceState() == 5 || r.getMaintenanceState() == 6) {
|
|
|
r.setState(r.getMaintenanceState() == 5 ? "转单待审核" : "协作待审核");
|
|
|
r.setDelayed(1);
|
|
|
+ r.setClose(1);
|
|
|
} else if (r.getMaintenanceState() == 7) {
|
|
|
r.setState("已完成");
|
|
|
} else if (r.getMaintenanceState() == 8) {
|
|
|
@@ -1116,6 +1121,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
for (RepairRecordPageVo r : result.getList()) {
|
|
|
r.setState(r.getMaintenanceState() == 5 ? "转单待审核" : (r.getMaintenanceState() == 6 ? "协作待审核" : "转线下待审核"));
|
|
|
r.setDelayed(1);
|
|
|
+ r.setClose(1);
|
|
|
}
|
|
|
break;
|
|
|
case 5:
|
|
|
@@ -1180,6 +1186,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
result = repairRecordService.queryNotTimeout(currentPage, pageCount, stateStr, keyWord, startTime, endTime, schoolId, maintenanceName);
|
|
|
for (RepairRecordPageVo r : result.getList()) {
|
|
|
r.setState("待支付");
|
|
|
+ r.setClose(1);
|
|
|
}
|
|
|
default:
|
|
|
break;
|
|
|
@@ -1250,7 +1257,7 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
List<RepairLeaveMessage> alls = messages.stream().filter(e -> e.getRecordId() == r.getId()).collect(Collectors.toList());
|
|
|
List<RepairLeaveMessage> owns = alls.stream().filter(e -> e.getRecordId() == r.getId() && e.getSenderId().equals(r.getUserId())).collect(Collectors.toList());
|
|
|
r.setReply(owns.size() > alls.size() / 2 ? 1 : 0);
|
|
|
- r.setAreaName(r.getAreaName()+":"+r.getAddressName());
|
|
|
+ r.setAreaName(r.getAreaName()+r.getAddressName());
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -2391,11 +2398,15 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
|
|
|
List<TrackDetailsVo> tracks = repairTrackRecordService.queryDetailData(recordId);
|
|
|
List<RepairConsumables> rcs = repairConsumablesService.getRepairsByRecordId(recordId);
|
|
|
+ RepairPayRecord repairPayRecord=repairPayRecordService.getRepairPayByRecordId(recordId);
|
|
|
if (tracks.size() > 0) {
|
|
|
rr.setTracks(tracks);
|
|
|
}
|
|
|
if (rcs.size() > 0) {
|
|
|
rr.setConsumables(rcs);
|
|
|
+ if(repairPayRecord!=null){
|
|
|
+ rr.setPayTime(repairPayRecord.getCreateTime());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return CommonResult.ok(rr);
|
|
|
@@ -4237,8 +4248,28 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
return CommonResult.fail("订单不存在,关单失败!");
|
|
|
}
|
|
|
|
|
|
- //待接单才能关单
|
|
|
- if (recordData.getMaintenanceState() != eRecordStatu.Dispatch.getValue()) {
|
|
|
+ RepairUser repairUser=repairUserService.getRepairById(Integer.parseInt(userId));
|
|
|
+
|
|
|
+ //郭师傅和后勤不限状态都能关单
|
|
|
+ if(repairUser!=null&&(repairUser.getUserZzid()==2||repairUser.getUserZzid()==3)){
|
|
|
+ //已关闭
|
|
|
+ if (recordData.getMaintenanceState() == eRecordStatu.Closed.getValue()) {
|
|
|
+ return CommonResult.fail("工单已关闭");
|
|
|
+ }
|
|
|
+ //已取消
|
|
|
+ if (recordData.getMaintenanceState() == eRecordStatu.Canceled.getValue()) {
|
|
|
+ return CommonResult.fail("工单已取消");
|
|
|
+ }
|
|
|
+ //已完成
|
|
|
+ if (recordData.getMaintenanceState() == eRecordStatu.Finished.getValue()) {
|
|
|
+ return CommonResult.fail("工单已完成");
|
|
|
+ }
|
|
|
+ //已转线下
|
|
|
+ if (recordData.getMaintenanceState() == eRecordStatu.Offline.getValue()) {
|
|
|
+ return CommonResult.fail("工单已转线下");
|
|
|
+ }
|
|
|
+ }else if (recordData.getMaintenanceState() != eRecordStatu.Dispatch.getValue()) {
|
|
|
+ //待接单才能关单--维修师傅
|
|
|
return CommonResult.fail("待接单状态的工单才能关闭");
|
|
|
}
|
|
|
|
|
|
@@ -4318,10 +4349,23 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
return CommonResult.fail("订单不存在,关单失败!");
|
|
|
}
|
|
|
|
|
|
- //待接单才能关单
|
|
|
- if (recordData.getMaintenanceState() != eRecordStatu.Dispatch.getValue()) {
|
|
|
- return CommonResult.fail("待接单状态的工单才能关闭");
|
|
|
+ //已关闭
|
|
|
+ if (recordData.getMaintenanceState() == eRecordStatu.Closed.getValue()) {
|
|
|
+ return CommonResult.fail("工单已关闭");
|
|
|
}
|
|
|
+ //已取消
|
|
|
+ if (recordData.getMaintenanceState() == eRecordStatu.Canceled.getValue()) {
|
|
|
+ return CommonResult.fail("工单已取消");
|
|
|
+ }
|
|
|
+ //已完成
|
|
|
+ if (recordData.getMaintenanceState() == eRecordStatu.Finished.getValue()) {
|
|
|
+ return CommonResult.fail("工单已完成");
|
|
|
+ }
|
|
|
+ //已转线下
|
|
|
+ if (recordData.getMaintenanceState() == eRecordStatu.Offline.getValue()) {
|
|
|
+ return CommonResult.fail("工单已转线下");
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
String userID = AesUtils.decrypt(userhead);
|
|
|
RepairAdmin operateData = repairAdminService.getRepairById(userID);
|
|
|
@@ -4876,6 +4920,9 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
case 8:
|
|
|
result = repairRecordService.queryTeamWorkOffline(currentPage, pageCount, schoolId);
|
|
|
break;
|
|
|
+ case 9:
|
|
|
+ result = repairRecordService.queryTeamWorkPay(currentPage, pageCount, schoolId);
|
|
|
+ break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
@@ -4900,5 +4947,64 @@ public class RepairRecordController implements RepairRecordControllerAPI {
|
|
|
// public CommonResult queryTeamWorkPage(int currentPage, int pageCount, int state, int schoolId) {
|
|
|
// return CommonResult.ok("");
|
|
|
// }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 管理端关单操作
|
|
|
+ *
|
|
|
+ * @param recordIds 维修记录ID
|
|
|
+ * @param userhead 请求头
|
|
|
+ * @param reason 关单原因
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = {Exception.class})
|
|
|
+ public CommonResult closePCOrderBeath(String recordIds, String userhead, String reason, String remark) throws Exception {
|
|
|
+
|
|
|
+ List<String> listIds = Arrays.asList(recordIds.split(","));
|
|
|
+ //获取订单
|
|
|
+ Collection<RepairRecord> recordDataS = repairRecordService.listByIds(listIds);
|
|
|
+ if (recordDataS == null||recordDataS.size()<1) {
|
|
|
+ return CommonResult.fail("订单均不存在,关单失败!");
|
|
|
+ }
|
|
|
+ String userID = AesUtils.decrypt(userhead);
|
|
|
+ RepairAdmin operateData = repairAdminService.getRepairById(userID);
|
|
|
+ if (operateData == null) {
|
|
|
+ return CommonResult.fail("操作人信息不合法,无法进行关单!");
|
|
|
+ }
|
|
|
+ recordDataS=recordDataS.stream().filter(e->e.getMaintenanceState()<7||e.getMaintenanceState()==11).collect(Collectors.toList());
|
|
|
+
|
|
|
+ try {
|
|
|
+ Collection<RepairTrackRecord> trackRecordS=new ArrayList<RepairTrackRecord>();
|
|
|
+ for(RepairRecord record:recordDataS){
|
|
|
+ //将工单状态更新为维修中
|
|
|
+ record.setCustomsOfficerId(userID.toString());
|
|
|
+ record.setRemark(reason);
|
|
|
+ record.setMaintenanceState(eRecordStatu.Closed.getValue());
|
|
|
+ RepairTrackRecord rtr = new RepairTrackRecord();
|
|
|
+ //插入工单记录表
|
|
|
+ rtr.setRecordId(record.getId());
|
|
|
+ rtr.setMaintenanceState(eRecordStatu.Closed.getValue());
|
|
|
+ rtr.setContent("已关单-" + reason + " 补充说明:" + remark+" 批量关单");
|
|
|
+ rtr.setUserId(0);
|
|
|
+ rtr.setUserZzstr("维修师傅");
|
|
|
+ trackRecordS.add(rtr);
|
|
|
+ }
|
|
|
+ boolean updateRecord = repairRecordService.updateBatchById(recordDataS);
|
|
|
+ if (!updateRecord) {
|
|
|
+ return CommonResult.fail("关单失败!");
|
|
|
+ }
|
|
|
+ boolean insertRtr = repairTrackRecordService.saveBatch(trackRecordS);
|
|
|
+ if (!insertRtr) {
|
|
|
+ throw new Exception("关单失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new Exception("关单失败!");
|
|
|
+ }
|
|
|
+
|
|
|
+ return CommonResult.ok("关单成功");
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|