| | |
| | | import com.xiaopeng.maintenance.service.XpTaskService; |
| | | import com.xiaopeng.maintenance.utils.UUIDUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.redisson.api.RLock; |
| | | import org.redisson.api.RedissonClient; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | import java.time.LocalTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Service |
| | | public class XpTaskServiceImpl extends ServiceImpl<XpTaskMapper, XpTask> implements XpTaskService { |
| | | |
| | | @Autowired |
| | | private RedissonClient redissonClient; |
| | | @Autowired |
| | | private XpErrorTypeMapper errorTypeMapper; |
| | | /** |
| | | * 常规任务类型映射 |
| | | */ |
| | | private static final Map<String, String> TASK_TYPE_MAP = new java.util.HashMap<>(); |
| | | |
| | | static { |
| | | TASK_TYPE_MAP.put("1", "车辆检查"); |
| | | TASK_TYPE_MAP.put("2", "车辆充电"); |
| | |
| | | private XpVehiclePreparationMapper vehiclePreparationMapper; |
| | | @Autowired |
| | | private XpVehicleDetectionMapper vehicleDetectionMapper; |
| | | @Autowired |
| | | private XpErrorTypeMapper errorTypeMapper; |
| | | |
| | | @Autowired |
| | | private XpVehicleCleanMapper vehicleCleanMapper; |
| | | @Autowired |
| | |
| | | private XpVehicleClient xpVehicleClient; |
| | | @Autowired |
| | | private XpTaskRuleMapper xpTaskRuleMapper; |
| | | |
| | | @Override |
| | | public PageInfo<WorkBenchVO> workbench(WorkBenchQuery query) { |
| | | PageInfo<WorkBenchVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); |
| | |
| | | List<TaskPageListVO> list = this.baseMapper.pageList(pageInfo, query); |
| | | XpTaskRule xpTaskRule = xpTaskRuleMapper.selectOne(new LambdaQueryWrapper<XpTaskRule>().last("limit 1")); |
| | | if (Objects.nonNull(xpTaskRule)) { |
| | | list.stream().filter(item -> item.getTaskCategory().equals(2)).forEach(item->{ |
| | | list.stream().filter(item -> item.getTaskCategory().equals(2)).forEach(item -> { |
| | | item.setCanArriveRange(xpTaskRule.getCanArriveRange()); |
| | | }); |
| | | } |
| | |
| | | public R<TaskAccidentDetailVO> vehicleAccidentDetail(Long id) { |
| | | TaskAccidentDetailVO res = new TaskAccidentDetailVO(); |
| | | XpTask task = this.getById(id); |
| | | if (task == null){ |
| | | if (task == null) { |
| | | throw new ServiceException( |
| | | "任务不存在", |
| | | I18nKeyConstant.TASK_NOT_EXIST |
| | | ); |
| | | } |
| | | XpVehicle vehicle = xpVehicleClient.queryById(task.getVehicleId()).getData(); |
| | | if (vehicle == null){ |
| | | if (vehicle == null) { |
| | | throw new ServiceException( |
| | | "车辆不存在", |
| | | I18nKeyConstant.VEHICLE_NOT_EXIST |
| | |
| | | @Override |
| | | public R handleVehicleAccident(HandleVehicleAccidentDto dto, XpOperationsUser xpOperationsUser) { |
| | | XpTask task = this.getById(dto.getId()); |
| | | if (task == null){ |
| | | if (task == null) { |
| | | throw new ServiceException( |
| | | "任务不存在", |
| | | I18nKeyConstant.TASK_NOT_EXIST |
| | |
| | | } |
| | | |
| | | task.setHandleTime(LocalDateTime.now()); |
| | | task.setHandleUserId(xpOperationsUser.getId()); |
| | | task.setHandleUserId(xpOperationsUser.getId().toString()); |
| | | task.setStatus(2); |
| | | // 存储事故处理日志 |
| | | XpTaskHandleDetail xpTaskHandleDetail = new XpTaskHandleDetail(); |
| | |
| | | public R<TaskRoutineDetailVO> vehicleRoutineDetail(Long id) { |
| | | TaskRoutineDetailVO res = new TaskRoutineDetailVO(); |
| | | XpTask task = this.getById(id); |
| | | if (task == null){ |
| | | if (task == null) { |
| | | throw new ServiceException( |
| | | "任务不存在", |
| | | I18nKeyConstant.TASK_NOT_EXIST |
| | | ); |
| | | } |
| | | XpVehicle vehicle = xpVehicleClient.queryById(task.getVehicleId()).getData(); |
| | | if (vehicle == null){ |
| | | if (vehicle == null) { |
| | | throw new ServiceException( |
| | | "车辆不存在", |
| | | I18nKeyConstant.VEHICLE_NOT_EXIST |
| | |
| | | res.setTaskImage(task.getTaskImage()); |
| | | res.setHandleUserId(task.getHandleUserId()); |
| | | res.setHandleTime(task.getHandleTime()); |
| | | if (Objects.nonNull(task.getHandleUserId())) { |
| | | XpOperationsUser data = xpOperationUserClient.queryById(task.getHandleUserId()).getData(); |
| | | if (Objects.nonNull(task.getHandleUserId()) && task.getHandleUserId().split(",").length == 1) { |
| | | XpOperationsUser data = xpOperationUserClient.queryById(Long.valueOf(task.getHandleUserId())).getData(); |
| | | if (Objects.nonNull(data)) { |
| | | res.setHandleUserName(data.getNickName()); |
| | | } |
| | |
| | | public R<TaskChargingDetailVO> chargingDetail(Long id) { |
| | | TaskChargingDetailVO res = new TaskChargingDetailVO(); |
| | | XpTask task = this.getById(id); |
| | | if (task == null){ |
| | | if (task == null) { |
| | | throw new ServiceException( |
| | | "任务不存在", |
| | | I18nKeyConstant.TASK_NOT_EXIST |
| | | ); |
| | | } |
| | | XpVehicle vehicle = xpVehicleClient.queryById(task.getVehicleId()).getData(); |
| | | if (vehicle == null){ |
| | | if (vehicle == null) { |
| | | throw new ServiceException( |
| | | "车辆不存在", |
| | | I18nKeyConstant.VEHICLE_NOT_EXIST |
| | |
| | | res.setStatus(task.getStatus()); |
| | | XpChargingRecord chargingRecord = chargingRecordMapper.selectOne(new LambdaQueryWrapper<XpChargingRecord>() |
| | | .eq(XpChargingRecord::getTaskId, id).last("limit 1")); |
| | | if (chargingRecord != null){ |
| | | if (chargingRecord != null) { |
| | | res.setStartRemainingBattery(chargingRecord.getStartRemainingBattery()); |
| | | res.setStartChargingPicture(chargingRecord.getStartChargingPicture()); |
| | | res.setStartTime(chargingRecord.getStartTime()); |
| | |
| | | res.setEndTime(chargingRecord.getEndTime()); |
| | | res.setStartOperationsUserId(chargingRecord.getStartOperationsUserId()); |
| | | res.setEndOperationsUserId(chargingRecord.getEndOperationsUserId()); |
| | | if (chargingRecord.getStartOperationsUserId() != null){ |
| | | if (chargingRecord.getStartOperationsUserId() != null) { |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(chargingRecord.getStartOperationsUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | if (operationsUser != null) { |
| | | res.setStartOperationsUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | | if (chargingRecord.getEndOperationsUserId() != null){ |
| | | if (chargingRecord.getEndOperationsUserId() != null) { |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(chargingRecord.getEndOperationsUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | if (operationsUser != null) { |
| | | res.setEndOperationsUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | |
| | | |
| | | |
| | | XpTask task = this.getById(id); |
| | | if (task == null){ |
| | | if (task == null) { |
| | | throw new ServiceException( |
| | | "任务不存在", |
| | | I18nKeyConstant.TASK_NOT_EXIST |
| | | ); |
| | | } |
| | | XpVehicle vehicle = xpVehicleClient.queryById(task.getVehicleId()).getData(); |
| | | if (vehicle == null){ |
| | | if (vehicle == null) { |
| | | throw new ServiceException( |
| | | "车辆不存在", |
| | | I18nKeyConstant.VEHICLE_NOT_EXIST |
| | |
| | | res.setStatus(task.getStatus()); |
| | | XpVehicleRepair vehicleRepair = vehicleRepairMapper.selectOne(new LambdaQueryWrapper<XpVehicleRepair>() |
| | | .eq(XpVehicleRepair::getTaskId, id).last("limit 1")); |
| | | if (vehicleRepair != null){ |
| | | if (vehicleRepair != null) { |
| | | res.setStartTime(vehicleRepair.getStartTime()); |
| | | res.setEndTime(vehicleRepair.getEndTime()); |
| | | res.setRepairReason(vehicleRepair.getRepairReason()); |
| | |
| | | res.setSendTime(vehicleRepair.getSendTime()); |
| | | res.setReturnUserId(vehicleRepair.getReturnUserId()); |
| | | res.setReturnTime(vehicleRepair.getReturnTime()); |
| | | if (vehicleRepair.getReturnUserId() != null){ |
| | | if (vehicleRepair.getReturnUserId() != null) { |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleRepair.getReturnUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | if (operationsUser != null) { |
| | | res.setReturnUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | | if (vehicleRepair.getSendUserId() != null){ |
| | | if (vehicleRepair.getSendUserId() != null) { |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleRepair.getSendUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | if (operationsUser != null) { |
| | | res.setSendUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | |
| | | com.xiaopeng.maintenance.vo.TaskPreparationDetailVO res = new com.xiaopeng.maintenance.vo.TaskPreparationDetailVO(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | XpTask task = this.getById(id); |
| | | if (task == null){ |
| | | if (task == null) { |
| | | throw new ServiceException( |
| | | "任务不存在", |
| | | I18nKeyConstant.TASK_NOT_EXIST |
| | | ); |
| | | } |
| | | XpVehicle vehicle = xpVehicleClient.queryById(task.getVehicleId()).getData(); |
| | | if (vehicle == null){ |
| | | if (vehicle == null) { |
| | | throw new ServiceException( |
| | | "车辆不存在", |
| | | I18nKeyConstant.VEHICLE_NOT_EXIST |
| | |
| | | res.setStatus(task.getStatus()); |
| | | XpVehiclePreparation vehiclePreparation = vehiclePreparationMapper.selectOne(new LambdaQueryWrapper<XpVehiclePreparation>() |
| | | .eq(XpVehiclePreparation::getTaskId, id).last("limit 1")); |
| | | if (vehiclePreparation != null){ |
| | | if (vehiclePreparation != null) { |
| | | res.setLeftFrontWheel(vehiclePreparation.getLeftFrontWheel()); |
| | | res.setRightFrontWheel(vehiclePreparation.getRightFrontWheel()); |
| | | res.setLeftRearWheel(vehiclePreparation.getLeftRearWheel()); |
| | |
| | | res.setRemarks(vehiclePreparation.getRemarks()); |
| | | res.setOperationsUserId(vehiclePreparation.getOperationsUserId()); |
| | | res.setOperationsTime(vehiclePreparation.getCreateTime()); |
| | | if (vehiclePreparation.getOperationsUserId() != null){ |
| | | if (vehiclePreparation.getOperationsUserId() != null) { |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehiclePreparation.getOperationsUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | if (operationsUser != null) { |
| | | res.setOperationsUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | |
| | | public R<com.xiaopeng.maintenance.vo.TaskDetectionDetailVO> detectionDetail(Long id) { |
| | | com.xiaopeng.maintenance.vo.TaskDetectionDetailVO res = new com.xiaopeng.maintenance.vo.TaskDetectionDetailVO(); |
| | | XpTask task = this.getById(id); |
| | | if (task == null){ |
| | | if (task == null) { |
| | | throw new ServiceException( |
| | | "任务不存在", |
| | | I18nKeyConstant.TASK_NOT_EXIST |
| | | ); |
| | | } |
| | | XpVehicle vehicle = xpVehicleClient.queryById(task.getVehicleId()).getData(); |
| | | if (vehicle == null){ |
| | | if (vehicle == null) { |
| | | throw new ServiceException( |
| | | "车辆不存在", |
| | | I18nKeyConstant.VEHICLE_NOT_EXIST |
| | |
| | | res.setStatus(task.getStatus()); |
| | | XpVehicleDetection vehicleDetection = vehicleDetectionMapper.selectOne(new LambdaQueryWrapper<XpVehicleDetection>() |
| | | .eq(XpVehicleDetection::getTaskId, id).last("limit 1")); |
| | | if (vehicleDetection != null){ |
| | | if (vehicleDetection != null) { |
| | | res.setNetworkDetection(vehicleDetection.getNetworkDetection()); |
| | | res.setVersionVerification(vehicleDetection.getVersionVerification()); |
| | | res.setCommunicationSelfCheck(vehicleDetection.getCommunicationSelfCheck()); |
| | |
| | | res.setSystemCheckPicture(vehicleDetection.getSystemCheckPicture()); |
| | | res.setCheckTime(vehicleDetection.getCheckTime()); |
| | | res.setOperationsUserId(vehicleDetection.getOperationsUserId()); |
| | | if (vehicleDetection.getOperationsUserId() != null){ |
| | | if (vehicleDetection.getOperationsUserId() != null) { |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleDetection.getOperationsUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | if (operationsUser != null) { |
| | | res.setOperationsUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | |
| | | @Override |
| | | public R saveRoutineDetail(SaveRoutineDetailDto dto, Long id) { |
| | | XpTask task = this.getById(dto.getId()); |
| | | if (task == null){ |
| | | if (task == null) { |
| | | throw new ServiceException( |
| | | "任务不存在", |
| | | I18nKeyConstant.TASK_NOT_EXIST |
| | |
| | | XpTaskHandleDetailRoutine xpTaskHandleDetailRoutine = new XpTaskHandleDetailRoutine(); |
| | | xpTaskHandleDetailRoutine.setTaskId(task.getId()); |
| | | String taskTypeId = task.getTaskTypeId(); |
| | | switch (taskTypeId){ |
| | | switch (taskTypeId) { |
| | | case "6": |
| | | xpTaskHandleDetailRoutine.setTaskType(1); |
| | | break; |
| | |
| | | public R<com.xiaopeng.maintenance.vo.TaskCleanDetailVO> cleanDetail(Long id) { |
| | | com.xiaopeng.maintenance.vo.TaskCleanDetailVO res = new com.xiaopeng.maintenance.vo.TaskCleanDetailVO(); |
| | | XpTask task = this.getById(id); |
| | | if (task == null){ |
| | | if (task == null) { |
| | | throw new ServiceException( |
| | | "任务不存在", |
| | | I18nKeyConstant.TASK_NOT_EXIST |
| | | ); |
| | | } |
| | | XpVehicle vehicle = xpVehicleClient.queryById(task.getVehicleId()).getData(); |
| | | if (vehicle == null){ |
| | | if (vehicle == null) { |
| | | throw new ServiceException( |
| | | "车辆不存在", |
| | | I18nKeyConstant.VEHICLE_NOT_EXIST |
| | |
| | | res.setStatus(task.getStatus()); |
| | | XpVehicleClean vehicleDetection = vehicleCleanMapper.selectOne(new LambdaQueryWrapper<XpVehicleClean>() |
| | | .eq(XpVehicleClean::getTaskId, id).last("limit 1")); |
| | | if (vehicleDetection != null){ |
| | | if (vehicleDetection != null) { |
| | | res.setTaskImage(vehicleDetection.getTaskImage()); |
| | | res.setOperationUserId(vehicleDetection.getOperationsUserId()); |
| | | if (vehicleDetection.getOperationsUserId() != null){ |
| | | if (vehicleDetection.getOperationsUserId() != null) { |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleDetection.getOperationsUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | if (operationsUser != null) { |
| | | res.setOperationsUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public R confirmArrive(Long id) { |
| | | XpTask task = this.getById(id); |
| | | if (task!=null){ |
| | | public R confirmArrive(Long id, Long userId) { |
| | | RLock lock = redissonClient.getLock("TASK_CONFIRM_" + id); |
| | | |
| | | try { |
| | | // 尝试获取锁,最多等待3秒 |
| | | boolean isLocked = lock.tryLock(3, 10, TimeUnit.SECONDS); |
| | | if (!isLocked) { |
| | | return R.fail("系统繁忙,请稍后重试"); |
| | | } |
| | | |
| | | // 查询任务 |
| | | XpTask task = this.getById(id); |
| | | if (task == null) { |
| | | return R.fail("任务不存在"); |
| | | } |
| | | |
| | | // 检查任务状态 |
| | | if (task.getStatus() != 0) { |
| | | return R.fail("任务已被处理"); |
| | | } |
| | | |
| | | // 更新任务 |
| | | task.setStatus(1); |
| | | task.setHandleUserId(userId.toString()); |
| | | |
| | | this.updateById(task); |
| | | return R.ok(); |
| | | |
| | | } catch (InterruptedException e) { |
| | | Thread.currentThread().interrupt(); |
| | | return R.fail("操作被中断"); |
| | | } finally { |
| | | // 确保锁被释放 |
| | | if (lock.isHeldByCurrentThread()) { |
| | | lock.unlock(); |
| | | } |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | |
| | | Set<Long> errorTypeIds = new HashSet<>(); |
| | | for (XpTask task : resultPage.getRecords()) { |
| | | if (task.getTaskCategory() != null && task.getTaskCategory() == 2 |
| | | && StringUtils.isNotBlank(task.getTaskTypeId())) { |
| | | && StringUtils.isNotBlank(task.getTaskTypeId())) { |
| | | String[] ids = task.getTaskTypeId().split(","); |
| | | for (String id : ids) { |
| | | try { |
| | |
| | | public PageInfo<TaskManagementPageListVO> pageListManagement(TaskManagementPageListQuery query) { |
| | | PageInfo<TaskManagementPageListVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); |
| | | List<TaskManagementPageListVO> list = this.baseMapper.pageListManagement(pageInfo, query); |
| | | for (TaskManagementPageListVO taskManagementPageListVO : list) { |
| | | if (taskManagementPageListVO.getTaskCategory() == 1) { |
| | | switch (taskManagementPageListVO.getTaskTypeId()) { |
| | | case "1": |
| | | taskManagementPageListVO.setTaskTypeName("车辆检查"); |
| | | break; |
| | | case "2": |
| | | taskManagementPageListVO.setTaskTypeName("车辆充电"); |
| | | break; |
| | | case "3": |
| | | taskManagementPageListVO.setTaskTypeName("车辆整备"); |
| | | break; |
| | | case "4": |
| | | taskManagementPageListVO.setTaskTypeName("整备洗车"); |
| | | break; |
| | | case "5": |
| | | taskManagementPageListVO.setTaskTypeName("车辆维修"); |
| | | break; |
| | | case "6": |
| | | taskManagementPageListVO.setTaskTypeName("车辆保养"); |
| | | break; |
| | | case "7": |
| | | taskManagementPageListVO.setTaskTypeName("车辆保险到期"); |
| | | break; |
| | | case "8": |
| | | taskManagementPageListVO.setTaskTypeName("车辆年检到期"); |
| | | break; |
| | | case "9": |
| | | taskManagementPageListVO.setTaskTypeName("车辆运营资质到期"); |
| | | break; |
| | | default: |
| | | taskManagementPageListVO.setTaskTypeName(""); |
| | | break; |
| | | } |
| | | }else{ |
| | | StringBuilder taskTypeName = new StringBuilder(); |
| | | String[] typeIds = taskManagementPageListVO.getTaskTypeId().split(","); |
| | | List<XpErrorType> xpErrorTypes = errorTypeMapper.selectList(new LambdaQueryWrapper<XpErrorType>() |
| | | .in(XpErrorType::getId, Arrays.asList(typeIds)).orderByAsc(XpErrorType::getParentId)); |
| | | List<XpErrorType> parents = new ArrayList<>(); |
| | | for (XpErrorType xpErrorType : xpErrorTypes) { |
| | | if (xpErrorType.getParentId() == 0) { |
| | | parents.add(xpErrorType); |
| | | } |
| | | } |
| | | for (XpErrorType parent : parents) { |
| | | List<XpErrorType> children = xpErrorTypes.stream().filter(e -> e.getParentId().equals(parent.getId())).collect(Collectors.toList()); |
| | | taskTypeName.append(parent.getErrorName()).append(">"); |
| | | for (XpErrorType child : children) { |
| | | taskTypeName.append(child.getErrorName()).append(";"); |
| | | } |
| | | } |
| | | |
| | | taskManagementPageListVO.setTaskTypeName(taskTypeName.substring(0, taskTypeName.length() - 1)); |
| | | } |
| | | } |
| | | pageInfo.setRecords(list); |
| | | return pageInfo; |
| | | } |
| | | |
| | | @Override |
| | | public List<TaskManagementPageListVO> exportList(TaskManagementPageListQuery query) { |
| | | List<TaskManagementPageListVO> list = this.baseMapper.exportList(query); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public R assigneeTask(Long id, Long handlerUserId,Long assigneeUserId) { |
| | | public R assigneeTask(Long id, Long handlerUserId, Long assigneeUserId) { |
| | | XpTask task = this.getById(id); |
| | | task.setAssigneeTime(LocalDateTime.now()); |
| | | task.setHandleUserId(handlerUserId); |
| | | task.setHandleUserId(handlerUserId.toString()); |
| | | task.setVehicleId(null); |
| | | task.setAssigneeUserId(assigneeUserId); |
| | | this.updateById(task); |
| | | return R.ok(); |
| | |
| | | task.setTaskCode(code); |
| | | // 查询规则 |
| | | XpTaskRule taskRule = xpTaskRuleMapper.selectOne(null); |
| | | if (taskRule != null){ |
| | | if (taskRule != null) { |
| | | task.setEndTime(LocalDateTime.now().plusMinutes(taskRule.getProcessingTimeLimit())); |
| | | } |
| | | task.setTaskCategory(2); |
| | |
| | | public R<TaskManagementDetailVO> taskDetail(Long id) { |
| | | TaskManagementDetailVO managementDetailVO = new TaskManagementDetailVO(); |
| | | XpTask task = this.getById(id); |
| | | if (task == null){ |
| | | if (task == null) { |
| | | throw new ServiceException( |
| | | "任务不存在", |
| | | I18nKeyConstant.TASK_NOT_EXIST |
| | | ); |
| | | } |
| | | XpVehicle vehicle = xpVehicleClient.queryById(task.getVehicleId()).getData(); |
| | | if (vehicle == null){ |
| | | if (vehicle == null) { |
| | | throw new ServiceException( |
| | | "车辆不存在", |
| | | I18nKeyConstant.VEHICLE_NOT_EXIST |
| | | ); |
| | | } |
| | | |
| | | if (task.getTaskCategory()==1){ |
| | | if (task.getTaskCategory() == 1) { |
| | | // 常规任务 |
| | | |
| | | switch (task.getTaskTypeId()){ |
| | | case "1": |
| | | // 检测 |
| | | TaskManagementDetectionDetailVO taskManagementDetectionDetailVO = new TaskManagementDetectionDetailVO(); |
| | | taskManagementDetectionDetailVO.setId(task.getId()); |
| | | taskManagementDetectionDetailVO.setVehicleId(vehicle.getId()); |
| | | taskManagementDetectionDetailVO.setTaskUrgencyLevel(task.getTaskUrgencyLevel()); |
| | | taskManagementDetectionDetailVO.setPlateNumber(vehicle.getPlateNumber()); |
| | | taskManagementDetectionDetailVO.setVehicleColor(vehicle.getVehicleColor()); |
| | | taskManagementDetectionDetailVO.setVehicleCode(vehicle.getVehicleCode()); |
| | | taskManagementDetectionDetailVO.setVehicleVin(vehicle.getVehicleVin()); |
| | | taskManagementDetectionDetailVO.setVehicleLocation(task.getVehicleLocation()); |
| | | taskManagementDetectionDetailVO.setTaskCode(task.getTaskCode()); |
| | | XpVehicleDetection vehicleDetection = vehicleDetectionMapper.selectOne(new LambdaQueryWrapper<XpVehicleDetection>() |
| | | .eq(XpVehicleDetection::getTaskId, id).last("limit 1")); |
| | | if (vehicleDetection != null){ |
| | | taskManagementDetectionDetailVO.setNetworkDetection(vehicleDetection.getNetworkDetection()); |
| | | taskManagementDetectionDetailVO.setVersionVerification(vehicleDetection.getVersionVerification()); |
| | | taskManagementDetectionDetailVO.setCommunicationSelfCheck(vehicleDetection.getCommunicationSelfCheck()); |
| | | taskManagementDetectionDetailVO.setRemoteSelfCheck(vehicleDetection.getRemoteSelfCheck()); |
| | | taskManagementDetectionDetailVO.setCollisionPrevention(vehicleDetection.getCollisionPrevention()); |
| | | taskManagementDetectionDetailVO.setSensorSelfCheck(vehicleDetection.getSensorSelfCheck()); |
| | | taskManagementDetectionDetailVO.setSensorCleaning(vehicleDetection.getSensorCleaning()); |
| | | taskManagementDetectionDetailVO.setSensorCleaningPicture(vehicleDetection.getSensorCleaningPicture()); |
| | | taskManagementDetectionDetailVO.setInteractiveScreen(vehicleDetection.getInteractiveScreen()); |
| | | taskManagementDetectionDetailVO.setInteractiveScreenPicture(vehicleDetection.getInteractiveScreenPicture()); |
| | | taskManagementDetectionDetailVO.setHelpButton(vehicleDetection.getHelpButton()); |
| | | taskManagementDetectionDetailVO.setHelpButtonPicture(vehicleDetection.getHelpButtonPicture()); |
| | | taskManagementDetectionDetailVO.setPaymentFunction(vehicleDetection.getPaymentFunction()); |
| | | taskManagementDetectionDetailVO.setPaymentFunctionPicture(vehicleDetection.getPaymentFunctionPicture()); |
| | | taskManagementDetectionDetailVO.setSystemCheck(vehicleDetection.getSystemCheck()); |
| | | taskManagementDetectionDetailVO.setSystemCheckPicture(vehicleDetection.getSystemCheckPicture()); |
| | | taskManagementDetectionDetailVO.setCheckTime(vehicleDetection.getCheckTime()); |
| | | taskManagementDetectionDetailVO.setOperationsUserId(vehicleDetection.getOperationsUserId()); |
| | | if (vehicleDetection.getOperationsUserId() != null){ |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleDetection.getOperationsUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | taskManagementDetectionDetailVO.setOperationsUserName(operationsUser.getNickName()); |
| | | } |
| | | switch (task.getTaskTypeId()) { |
| | | case "1": |
| | | // 检测 |
| | | TaskManagementDetectionDetailVO taskManagementDetectionDetailVO = new TaskManagementDetectionDetailVO(); |
| | | taskManagementDetectionDetailVO.setId(task.getId()); |
| | | taskManagementDetectionDetailVO.setVehicleId(vehicle.getId()); |
| | | taskManagementDetectionDetailVO.setTaskUrgencyLevel(task.getTaskUrgencyLevel()); |
| | | taskManagementDetectionDetailVO.setPlateNumber(vehicle.getPlateNumber()); |
| | | taskManagementDetectionDetailVO.setVehicleColor(vehicle.getVehicleColor()); |
| | | taskManagementDetectionDetailVO.setVehicleCode(vehicle.getVehicleCode()); |
| | | taskManagementDetectionDetailVO.setVehicleVin(vehicle.getVehicleVin()); |
| | | taskManagementDetectionDetailVO.setVehicleLocation(task.getVehicleLocation()); |
| | | taskManagementDetectionDetailVO.setTaskCode(task.getTaskCode()); |
| | | XpVehicleDetection vehicleDetection = vehicleDetectionMapper.selectOne(new LambdaQueryWrapper<XpVehicleDetection>() |
| | | .eq(XpVehicleDetection::getTaskId, id).last("limit 1")); |
| | | if (vehicleDetection != null) { |
| | | taskManagementDetectionDetailVO.setNetworkDetection(vehicleDetection.getNetworkDetection()); |
| | | taskManagementDetectionDetailVO.setVersionVerification(vehicleDetection.getVersionVerification()); |
| | | taskManagementDetectionDetailVO.setCommunicationSelfCheck(vehicleDetection.getCommunicationSelfCheck()); |
| | | taskManagementDetectionDetailVO.setRemoteSelfCheck(vehicleDetection.getRemoteSelfCheck()); |
| | | taskManagementDetectionDetailVO.setCollisionPrevention(vehicleDetection.getCollisionPrevention()); |
| | | taskManagementDetectionDetailVO.setSensorSelfCheck(vehicleDetection.getSensorSelfCheck()); |
| | | taskManagementDetectionDetailVO.setSensorCleaning(vehicleDetection.getSensorCleaning()); |
| | | taskManagementDetectionDetailVO.setSensorCleaningPicture(vehicleDetection.getSensorCleaningPicture()); |
| | | taskManagementDetectionDetailVO.setInteractiveScreen(vehicleDetection.getInteractiveScreen()); |
| | | taskManagementDetectionDetailVO.setInteractiveScreenPicture(vehicleDetection.getInteractiveScreenPicture()); |
| | | taskManagementDetectionDetailVO.setHelpButton(vehicleDetection.getHelpButton()); |
| | | taskManagementDetectionDetailVO.setHelpButtonPicture(vehicleDetection.getHelpButtonPicture()); |
| | | taskManagementDetectionDetailVO.setPaymentFunction(vehicleDetection.getPaymentFunction()); |
| | | taskManagementDetectionDetailVO.setPaymentFunctionPicture(vehicleDetection.getPaymentFunctionPicture()); |
| | | taskManagementDetectionDetailVO.setSystemCheck(vehicleDetection.getSystemCheck()); |
| | | taskManagementDetectionDetailVO.setSystemCheckPicture(vehicleDetection.getSystemCheckPicture()); |
| | | taskManagementDetectionDetailVO.setCheckTime(vehicleDetection.getCheckTime()); |
| | | taskManagementDetectionDetailVO.setOperationsUserId(vehicleDetection.getOperationsUserId()); |
| | | if (vehicleDetection.getOperationsUserId() != null) { |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleDetection.getOperationsUserId()).getData(); |
| | | if (operationsUser != null) { |
| | | taskManagementDetectionDetailVO.setOperationsUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | | managementDetailVO.setDetectionDetailVO(taskManagementDetectionDetailVO); |
| | | break; |
| | | case "2": |
| | | // 充电 |
| | | TaskManagementChargingDetailVO taskManagementChargingDetailVO = new TaskManagementChargingDetailVO(); |
| | | taskManagementChargingDetailVO.setId(task.getId()); |
| | | taskManagementChargingDetailVO.setVehicleId(vehicle.getId()); |
| | | taskManagementChargingDetailVO.setTaskUrgencyLevel(task.getTaskUrgencyLevel()); |
| | | taskManagementChargingDetailVO.setPlateNumber(vehicle.getPlateNumber()); |
| | | taskManagementChargingDetailVO.setVehicleColor(vehicle.getVehicleColor()); |
| | | taskManagementChargingDetailVO.setVehicleCode(vehicle.getVehicleCode()); |
| | | taskManagementChargingDetailVO.setVehicleVin(vehicle.getVehicleVin()); |
| | | taskManagementChargingDetailVO.setVehicleLocation(task.getVehicleLocation()); |
| | | taskManagementChargingDetailVO.setTaskCode(task.getTaskCode()); |
| | | XpChargingRecord chargingRecord = chargingRecordMapper.selectOne(new LambdaQueryWrapper<XpChargingRecord>() |
| | | .eq(XpChargingRecord::getTaskId, id).last("limit 1")); |
| | | if (chargingRecord != null){ |
| | | taskManagementChargingDetailVO.setStartRemainingBattery(chargingRecord.getStartRemainingBattery()); |
| | | taskManagementChargingDetailVO.setStartChargingPicture(chargingRecord.getStartChargingPicture()); |
| | | taskManagementChargingDetailVO.setStartTime(chargingRecord.getStartTime()); |
| | | taskManagementChargingDetailVO.setEndRemainingBattery(chargingRecord.getEndRemainingBattery()); |
| | | taskManagementChargingDetailVO.setEndChargingPicture(chargingRecord.getEndChargingPicture()); |
| | | taskManagementChargingDetailVO.setEndTime(chargingRecord.getEndTime()); |
| | | taskManagementChargingDetailVO.setStartOperationsUserId(chargingRecord.getStartOperationsUserId()); |
| | | taskManagementChargingDetailVO.setEndOperationsUserId(chargingRecord.getEndOperationsUserId()); |
| | | if (chargingRecord.getStartOperationsUserId() != null){ |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(chargingRecord.getStartOperationsUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | taskManagementChargingDetailVO.setStartOperationsUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | | if (chargingRecord.getEndOperationsUserId() != null){ |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(chargingRecord.getEndOperationsUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | taskManagementChargingDetailVO.setEndOperationsUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | | managementDetailVO.setDetectionDetailVO(taskManagementDetectionDetailVO); |
| | | break; |
| | | case "2": |
| | | // 充电 |
| | | TaskManagementChargingDetailVO taskManagementChargingDetailVO = new TaskManagementChargingDetailVO(); |
| | | taskManagementChargingDetailVO.setId(task.getId()); |
| | | taskManagementChargingDetailVO.setVehicleId(vehicle.getId()); |
| | | taskManagementChargingDetailVO.setTaskUrgencyLevel(task.getTaskUrgencyLevel()); |
| | | taskManagementChargingDetailVO.setPlateNumber(vehicle.getPlateNumber()); |
| | | taskManagementChargingDetailVO.setVehicleColor(vehicle.getVehicleColor()); |
| | | taskManagementChargingDetailVO.setVehicleCode(vehicle.getVehicleCode()); |
| | | taskManagementChargingDetailVO.setVehicleVin(vehicle.getVehicleVin()); |
| | | taskManagementChargingDetailVO.setVehicleLocation(task.getVehicleLocation()); |
| | | taskManagementChargingDetailVO.setTaskCode(task.getTaskCode()); |
| | | XpChargingRecord chargingRecord = chargingRecordMapper.selectOne(new LambdaQueryWrapper<XpChargingRecord>() |
| | | .eq(XpChargingRecord::getTaskId, id).last("limit 1")); |
| | | if (chargingRecord != null) { |
| | | taskManagementChargingDetailVO.setStartRemainingBattery(chargingRecord.getStartRemainingBattery()); |
| | | taskManagementChargingDetailVO.setStartChargingPicture(chargingRecord.getStartChargingPicture()); |
| | | taskManagementChargingDetailVO.setStartTime(chargingRecord.getStartTime()); |
| | | taskManagementChargingDetailVO.setEndRemainingBattery(chargingRecord.getEndRemainingBattery()); |
| | | taskManagementChargingDetailVO.setEndChargingPicture(chargingRecord.getEndChargingPicture()); |
| | | taskManagementChargingDetailVO.setEndTime(chargingRecord.getEndTime()); |
| | | taskManagementChargingDetailVO.setStartOperationsUserId(chargingRecord.getStartOperationsUserId()); |
| | | taskManagementChargingDetailVO.setEndOperationsUserId(chargingRecord.getEndOperationsUserId()); |
| | | if (chargingRecord.getStartOperationsUserId() != null) { |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(chargingRecord.getStartOperationsUserId()).getData(); |
| | | if (operationsUser != null) { |
| | | taskManagementChargingDetailVO.setStartOperationsUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | | managementDetailVO.setChargingDetailVO(taskManagementChargingDetailVO); |
| | | |
| | | break; |
| | | case "3": |
| | | // 整备 |
| | | TaskManagementPreparationDetailVO taskManagementPreparationDetailVO = new TaskManagementPreparationDetailVO(); |
| | | taskManagementPreparationDetailVO.setId(task.getId()); |
| | | taskManagementPreparationDetailVO.setVehicleId(vehicle.getId()); |
| | | taskManagementPreparationDetailVO.setTaskUrgencyLevel(task.getTaskUrgencyLevel()); |
| | | taskManagementPreparationDetailVO.setPlateNumber(vehicle.getPlateNumber()); |
| | | taskManagementPreparationDetailVO.setVehicleColor(vehicle.getVehicleColor()); |
| | | taskManagementPreparationDetailVO.setVehicleCode(vehicle.getVehicleCode()); |
| | | taskManagementPreparationDetailVO.setVehicleVin(vehicle.getVehicleVin()); |
| | | taskManagementPreparationDetailVO.setVehicleLocation(task.getVehicleLocation()); |
| | | taskManagementPreparationDetailVO.setTaskCode(task.getTaskCode()); |
| | | XpVehiclePreparation vehiclePreparation = vehiclePreparationMapper.selectOne(new LambdaQueryWrapper<XpVehiclePreparation>() |
| | | .eq(XpVehiclePreparation::getTaskId, id).last("limit 1")); |
| | | if (vehiclePreparation != null){ |
| | | taskManagementPreparationDetailVO.setLeftFrontWheel(vehiclePreparation.getLeftFrontWheel()); |
| | | taskManagementPreparationDetailVO.setRightFrontWheel(vehiclePreparation.getRightFrontWheel()); |
| | | taskManagementPreparationDetailVO.setLeftRearWheel(vehiclePreparation.getLeftRearWheel()); |
| | | taskManagementPreparationDetailVO.setRightRearWheel(vehiclePreparation.getRightRearWheel()); |
| | | taskManagementPreparationDetailVO.setHeadLight(vehiclePreparation.getHeadLight()); |
| | | taskManagementPreparationDetailVO.setTurnSignal(vehiclePreparation.getTurnSignal()); |
| | | taskManagementPreparationDetailVO.setBrakeLight(vehiclePreparation.getBrakeLight()); |
| | | taskManagementPreparationDetailVO.setFogLight(vehiclePreparation.getFogLight()); |
| | | taskManagementPreparationDetailVO.setBodyEmblem(vehiclePreparation.getBodyEmblem()); |
| | | taskManagementPreparationDetailVO.setCabinCleaning(vehiclePreparation.getCabinCleaning()); |
| | | taskManagementPreparationDetailVO.setLostItems(vehiclePreparation.getLostItems()); |
| | | taskManagementPreparationDetailVO.setRemarks(vehiclePreparation.getRemarks()); |
| | | taskManagementPreparationDetailVO.setOperationsUserId(vehiclePreparation.getOperationsUserId()); |
| | | taskManagementPreparationDetailVO.setOperationsTime(vehiclePreparation.getCreateTime()); |
| | | if (vehiclePreparation.getOperationsUserId() != null){ |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehiclePreparation.getOperationsUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | taskManagementPreparationDetailVO.setOperationsUserName(operationsUser.getNickName()); |
| | | } |
| | | if (chargingRecord.getEndOperationsUserId() != null) { |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(chargingRecord.getEndOperationsUserId()).getData(); |
| | | if (operationsUser != null) { |
| | | taskManagementChargingDetailVO.setEndOperationsUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | | managementDetailVO.setPreparationDetailVO(taskManagementPreparationDetailVO); |
| | | } |
| | | managementDetailVO.setChargingDetailVO(taskManagementChargingDetailVO); |
| | | |
| | | break; |
| | | case "4": |
| | | // 洗车 |
| | | TaskManagementCleanDetailVO taskManagementCleanDetailVO = new TaskManagementCleanDetailVO(); |
| | | taskManagementCleanDetailVO.setId(task.getId()); |
| | | taskManagementCleanDetailVO.setVehicleId(vehicle.getId()); |
| | | taskManagementCleanDetailVO.setTaskUrgencyLevel(task.getTaskUrgencyLevel()); |
| | | taskManagementCleanDetailVO.setPlateNumber(vehicle.getPlateNumber()); |
| | | taskManagementCleanDetailVO.setVehicleColor(vehicle.getVehicleColor()); |
| | | taskManagementCleanDetailVO.setVehicleCode(vehicle.getVehicleCode()); |
| | | taskManagementCleanDetailVO.setVehicleVin(vehicle.getVehicleVin()); |
| | | taskManagementCleanDetailVO.setVehicleLocation(task.getVehicleLocation()); |
| | | taskManagementCleanDetailVO.setTaskCode(task.getTaskCode()); |
| | | XpVehicleClean vehicleClean = vehicleCleanMapper.selectOne(new LambdaQueryWrapper<XpVehicleClean>() |
| | | .eq(XpVehicleClean::getTaskId, id).last("limit 1")); |
| | | if (vehicleClean != null){ |
| | | taskManagementCleanDetailVO.setTaskImage(vehicleClean.getTaskImage()); |
| | | taskManagementCleanDetailVO.setOperationUserId(vehicleClean.getOperationsUserId()); |
| | | if (vehicleClean.getOperationsUserId() != null){ |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleClean.getOperationsUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | taskManagementCleanDetailVO.setOperationsUserName(operationsUser.getNickName()); |
| | | } |
| | | break; |
| | | case "3": |
| | | // 整备 |
| | | TaskManagementPreparationDetailVO taskManagementPreparationDetailVO = new TaskManagementPreparationDetailVO(); |
| | | taskManagementPreparationDetailVO.setId(task.getId()); |
| | | taskManagementPreparationDetailVO.setVehicleId(vehicle.getId()); |
| | | taskManagementPreparationDetailVO.setTaskUrgencyLevel(task.getTaskUrgencyLevel()); |
| | | taskManagementPreparationDetailVO.setPlateNumber(vehicle.getPlateNumber()); |
| | | taskManagementPreparationDetailVO.setVehicleColor(vehicle.getVehicleColor()); |
| | | taskManagementPreparationDetailVO.setVehicleCode(vehicle.getVehicleCode()); |
| | | taskManagementPreparationDetailVO.setVehicleVin(vehicle.getVehicleVin()); |
| | | taskManagementPreparationDetailVO.setVehicleLocation(task.getVehicleLocation()); |
| | | taskManagementPreparationDetailVO.setTaskCode(task.getTaskCode()); |
| | | XpVehiclePreparation vehiclePreparation = vehiclePreparationMapper.selectOne(new LambdaQueryWrapper<XpVehiclePreparation>() |
| | | .eq(XpVehiclePreparation::getTaskId, id).last("limit 1")); |
| | | if (vehiclePreparation != null) { |
| | | taskManagementPreparationDetailVO.setLeftFrontWheel(vehiclePreparation.getLeftFrontWheel()); |
| | | taskManagementPreparationDetailVO.setRightFrontWheel(vehiclePreparation.getRightFrontWheel()); |
| | | taskManagementPreparationDetailVO.setLeftRearWheel(vehiclePreparation.getLeftRearWheel()); |
| | | taskManagementPreparationDetailVO.setRightRearWheel(vehiclePreparation.getRightRearWheel()); |
| | | taskManagementPreparationDetailVO.setHeadLight(vehiclePreparation.getHeadLight()); |
| | | taskManagementPreparationDetailVO.setTurnSignal(vehiclePreparation.getTurnSignal()); |
| | | taskManagementPreparationDetailVO.setBrakeLight(vehiclePreparation.getBrakeLight()); |
| | | taskManagementPreparationDetailVO.setFogLight(vehiclePreparation.getFogLight()); |
| | | taskManagementPreparationDetailVO.setBodyEmblem(vehiclePreparation.getBodyEmblem()); |
| | | taskManagementPreparationDetailVO.setCabinCleaning(vehiclePreparation.getCabinCleaning()); |
| | | taskManagementPreparationDetailVO.setLostItems(vehiclePreparation.getLostItems()); |
| | | taskManagementPreparationDetailVO.setRemarks(vehiclePreparation.getRemarks()); |
| | | taskManagementPreparationDetailVO.setOperationsUserId(vehiclePreparation.getOperationsUserId()); |
| | | taskManagementPreparationDetailVO.setOperationsTime(vehiclePreparation.getCreateTime()); |
| | | if (vehiclePreparation.getOperationsUserId() != null) { |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehiclePreparation.getOperationsUserId()).getData(); |
| | | if (operationsUser != null) { |
| | | taskManagementPreparationDetailVO.setOperationsUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | | managementDetailVO.setCleanDetailVO(taskManagementCleanDetailVO); |
| | | } |
| | | managementDetailVO.setPreparationDetailVO(taskManagementPreparationDetailVO); |
| | | |
| | | break; |
| | | case "5": |
| | | // 维修 |
| | | TaskManagementRepairDetailVO taskManagementRepairDetailVO = new TaskManagementRepairDetailVO(); |
| | | taskManagementRepairDetailVO.setId(task.getId()); |
| | | taskManagementRepairDetailVO.setVehicleId(vehicle.getId()); |
| | | taskManagementRepairDetailVO.setTaskUrgencyLevel(task.getTaskUrgencyLevel()); |
| | | taskManagementRepairDetailVO.setPlateNumber(vehicle.getPlateNumber()); |
| | | taskManagementRepairDetailVO.setVehicleColor(vehicle.getVehicleColor()); |
| | | taskManagementRepairDetailVO.setVehicleCode(vehicle.getVehicleCode()); |
| | | taskManagementRepairDetailVO.setVehicleVin(vehicle.getVehicleVin()); |
| | | taskManagementRepairDetailVO.setVehicleLocation(task.getVehicleLocation()); |
| | | taskManagementRepairDetailVO.setTaskCode(task.getTaskCode()); |
| | | XpVehicleRepair vehicleRepair = vehicleRepairMapper.selectOne(new LambdaQueryWrapper<XpVehicleRepair>() |
| | | .eq(XpVehicleRepair::getTaskId, id).last("limit 1")); |
| | | if (vehicleRepair != null){ |
| | | taskManagementRepairDetailVO.setStartTime(vehicleRepair.getStartTime()); |
| | | taskManagementRepairDetailVO.setEndTime(vehicleRepair.getEndTime()); |
| | | taskManagementRepairDetailVO.setRepairReason(vehicleRepair.getRepairReason()); |
| | | taskManagementRepairDetailVO.setStartRepairPicture(vehicleRepair.getStartRepairPicture()); |
| | | taskManagementRepairDetailVO.setRepairMoney(vehicleRepair.getRepairMoney()); |
| | | taskManagementRepairDetailVO.setRepairMoneyDetail(vehicleRepair.getRepairMoneyDetail()); |
| | | taskManagementRepairDetailVO.setSendUserId(vehicleRepair.getSendUserId()); |
| | | taskManagementRepairDetailVO.setSendTime(vehicleRepair.getSendTime()); |
| | | taskManagementRepairDetailVO.setReturnUserId(vehicleRepair.getReturnUserId()); |
| | | taskManagementRepairDetailVO.setReturnTime(vehicleRepair.getReturnTime()); |
| | | if (vehicleRepair.getReturnUserId() != null){ |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleRepair.getReturnUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | taskManagementRepairDetailVO.setReturnUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | | if (vehicleRepair.getSendUserId() != null){ |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleRepair.getSendUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | taskManagementRepairDetailVO.setSendUserName(operationsUser.getNickName()); |
| | | } |
| | | break; |
| | | case "4": |
| | | // 洗车 |
| | | TaskManagementCleanDetailVO taskManagementCleanDetailVO = new TaskManagementCleanDetailVO(); |
| | | taskManagementCleanDetailVO.setId(task.getId()); |
| | | taskManagementCleanDetailVO.setVehicleId(vehicle.getId()); |
| | | taskManagementCleanDetailVO.setTaskUrgencyLevel(task.getTaskUrgencyLevel()); |
| | | taskManagementCleanDetailVO.setPlateNumber(vehicle.getPlateNumber()); |
| | | taskManagementCleanDetailVO.setVehicleColor(vehicle.getVehicleColor()); |
| | | taskManagementCleanDetailVO.setVehicleCode(vehicle.getVehicleCode()); |
| | | taskManagementCleanDetailVO.setVehicleVin(vehicle.getVehicleVin()); |
| | | taskManagementCleanDetailVO.setVehicleLocation(task.getVehicleLocation()); |
| | | taskManagementCleanDetailVO.setTaskCode(task.getTaskCode()); |
| | | XpVehicleClean vehicleClean = vehicleCleanMapper.selectOne(new LambdaQueryWrapper<XpVehicleClean>() |
| | | .eq(XpVehicleClean::getTaskId, id).last("limit 1")); |
| | | if (vehicleClean != null) { |
| | | taskManagementCleanDetailVO.setTaskImage(vehicleClean.getTaskImage()); |
| | | taskManagementCleanDetailVO.setOperationUserId(vehicleClean.getOperationsUserId()); |
| | | if (vehicleClean.getOperationsUserId() != null) { |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleClean.getOperationsUserId()).getData(); |
| | | if (operationsUser != null) { |
| | | taskManagementCleanDetailVO.setOperationsUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | | managementDetailVO.setRepairDetailVO(taskManagementRepairDetailVO); |
| | | } |
| | | managementDetailVO.setCleanDetailVO(taskManagementCleanDetailVO); |
| | | |
| | | break; |
| | | default: |
| | | // 保养、年检、保险、营运资质 |
| | | TaskManagementRoutineDetailVO res = new TaskManagementRoutineDetailVO(); |
| | | res.setId(task.getId()); |
| | | res.setTaskUrgencyLevel(task.getTaskUrgencyLevel()); |
| | | res.setPlateNumber(vehicle.getPlateNumber()); |
| | | res.setVehicleColor(vehicle.getVehicleColor()); |
| | | res.setVehicleCode(vehicle.getVehicleCode()); |
| | | res.setVehicleLocation(task.getVehicleLocation()); |
| | | res.setVehicleVin(vehicle.getVehicleVin()); |
| | | res.setTaskCode(task.getTaskCode()); |
| | | XpTaskHandleDetailRoutine xpTaskHandleDetailRoutine = xpTaskHandleDetailRoutineMapper.selectOne(new LambdaQueryWrapper<XpTaskHandleDetailRoutine>() |
| | | .eq(XpTaskHandleDetailRoutine::getTaskId, id)); |
| | | if (xpTaskHandleDetailRoutine!=null){ |
| | | res.setTaskDescription(xpTaskHandleDetailRoutine.getTaskDescription()); |
| | | res.setTaskImage(xpTaskHandleDetailRoutine.getTaskImage()); |
| | | res.setHandleUserId(task.getHandleUserId()); |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(xpTaskHandleDetailRoutine.getOperationsUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | res.setHandleUserId(operationsUser.getId()); |
| | | res.setHandleUserName(operationsUser.getNickName()); |
| | | break; |
| | | case "5": |
| | | // 维修 |
| | | TaskManagementRepairDetailVO taskManagementRepairDetailVO = new TaskManagementRepairDetailVO(); |
| | | taskManagementRepairDetailVO.setId(task.getId()); |
| | | taskManagementRepairDetailVO.setVehicleId(vehicle.getId()); |
| | | taskManagementRepairDetailVO.setTaskUrgencyLevel(task.getTaskUrgencyLevel()); |
| | | taskManagementRepairDetailVO.setPlateNumber(vehicle.getPlateNumber()); |
| | | taskManagementRepairDetailVO.setVehicleColor(vehicle.getVehicleColor()); |
| | | taskManagementRepairDetailVO.setVehicleCode(vehicle.getVehicleCode()); |
| | | taskManagementRepairDetailVO.setVehicleVin(vehicle.getVehicleVin()); |
| | | taskManagementRepairDetailVO.setVehicleLocation(task.getVehicleLocation()); |
| | | taskManagementRepairDetailVO.setTaskCode(task.getTaskCode()); |
| | | XpVehicleRepair vehicleRepair = vehicleRepairMapper.selectOne(new LambdaQueryWrapper<XpVehicleRepair>() |
| | | .eq(XpVehicleRepair::getTaskId, id).last("limit 1")); |
| | | if (vehicleRepair != null) { |
| | | taskManagementRepairDetailVO.setStartTime(vehicleRepair.getStartTime()); |
| | | taskManagementRepairDetailVO.setEndTime(vehicleRepair.getEndTime()); |
| | | taskManagementRepairDetailVO.setRepairReason(vehicleRepair.getRepairReason()); |
| | | taskManagementRepairDetailVO.setStartRepairPicture(vehicleRepair.getStartRepairPicture()); |
| | | taskManagementRepairDetailVO.setRepairMoney(vehicleRepair.getRepairMoney()); |
| | | taskManagementRepairDetailVO.setRepairMoneyDetail(vehicleRepair.getRepairMoneyDetail()); |
| | | taskManagementRepairDetailVO.setSendUserId(vehicleRepair.getSendUserId()); |
| | | taskManagementRepairDetailVO.setSendTime(vehicleRepair.getSendTime()); |
| | | taskManagementRepairDetailVO.setReturnUserId(vehicleRepair.getReturnUserId()); |
| | | taskManagementRepairDetailVO.setReturnTime(vehicleRepair.getReturnTime()); |
| | | if (vehicleRepair.getReturnUserId() != null) { |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleRepair.getReturnUserId()).getData(); |
| | | if (operationsUser != null) { |
| | | taskManagementRepairDetailVO.setReturnUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | | if (vehicleRepair.getSendUserId() != null) { |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleRepair.getSendUserId()).getData(); |
| | | if (operationsUser != null) { |
| | | taskManagementRepairDetailVO.setSendUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | | } |
| | | managementDetailVO.setRepairDetailVO(taskManagementRepairDetailVO); |
| | | |
| | | res.setHandleTime(task.getHandleTime()); |
| | | res.setId(id); |
| | | res.setTaskUrgencyLevel(task.getTaskUrgencyLevel()); |
| | | res.setPlateNumber(vehicle.getPlateNumber()); |
| | | res.setVehicleColor(vehicle.getVehicleColor()); |
| | | res.setVehicleCode(vehicle.getVehicleCode()); |
| | | res.setVehicleLocation(task.getVehicleLocation()); |
| | | res.setVehicleVin(vehicle.getVehicleVin()); |
| | | managementDetailVO.setRoutineDetailVO(res); |
| | | break; |
| | | default: |
| | | // 保养、年检、保险、营运资质 |
| | | TaskManagementRoutineDetailVO res = new TaskManagementRoutineDetailVO(); |
| | | res.setId(task.getId()); |
| | | res.setTaskUrgencyLevel(task.getTaskUrgencyLevel()); |
| | | res.setPlateNumber(vehicle.getPlateNumber()); |
| | | res.setVehicleColor(vehicle.getVehicleColor()); |
| | | res.setVehicleCode(vehicle.getVehicleCode()); |
| | | res.setVehicleLocation(task.getVehicleLocation()); |
| | | res.setVehicleVin(vehicle.getVehicleVin()); |
| | | res.setTaskCode(task.getTaskCode()); |
| | | XpTaskHandleDetailRoutine xpTaskHandleDetailRoutine = xpTaskHandleDetailRoutineMapper.selectOne(new LambdaQueryWrapper<XpTaskHandleDetailRoutine>() |
| | | .eq(XpTaskHandleDetailRoutine::getTaskId, id)); |
| | | if (xpTaskHandleDetailRoutine != null) { |
| | | res.setTaskDescription(xpTaskHandleDetailRoutine.getTaskDescription()); |
| | | res.setTaskImage(xpTaskHandleDetailRoutine.getTaskImage()); |
| | | res.setHandleUserId(task.getHandleUserId()); |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(xpTaskHandleDetailRoutine.getOperationsUserId()).getData(); |
| | | if (operationsUser != null) { |
| | | res.setHandleUserId(operationsUser.getId().toString()); |
| | | res.setHandleUserName(operationsUser.getNickName()); |
| | | } |
| | | } |
| | | |
| | | break; |
| | | } |
| | | res.setHandleTime(task.getHandleTime()); |
| | | res.setId(id); |
| | | res.setTaskUrgencyLevel(task.getTaskUrgencyLevel()); |
| | | res.setPlateNumber(vehicle.getPlateNumber()); |
| | | res.setVehicleColor(vehicle.getVehicleColor()); |
| | | res.setVehicleCode(vehicle.getVehicleCode()); |
| | | res.setVehicleLocation(task.getVehicleLocation()); |
| | | res.setVehicleVin(vehicle.getVehicleVin()); |
| | | managementDetailVO.setRoutineDetailVO(res); |
| | | |
| | | break; |
| | | } |
| | | |
| | | |
| | | }else{ |
| | | } else { |
| | | // 事故任务 |
| | | TaskManagementAccidentDetailVO res = new TaskManagementAccidentDetailVO(); |
| | | |
| | |
| | | List<Long> reportUserIds = new ArrayList<>(); |
| | | reportUserIds.add(task.getReportUserId()); |
| | | List<SysUser> sysUsers = sysUserClient.listByIds(reportUserIds).getData(); |
| | | if (sysUsers!=null && !sysUsers.isEmpty()){ |
| | | if (sysUsers != null && !sysUsers.isEmpty()) { |
| | | SysUser sysUser = sysUsers.get(0); |
| | | res.setReportUserId(sysUser.getId()); |
| | | res.setReportUserName(sysUser.getNickName()); |
| | | res.setReportUserPhone(sysUser.getPhoneNumber()); |
| | | res.setReportUserAvatar(sysUser.getAvatar()); |
| | | } |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(task.getHandleUserId()).getData(); |
| | | if (operationsUser != null){ |
| | | res.setHandleUserId(operationsUser.getId()); |
| | | res.setHandleUserName(operationsUser.getNickName()); |
| | | res.setHandleUserPhone(operationsUser.getPhoneNumber()); |
| | | res.setHandleUserAvatar(operationsUser.getAvatar()); |
| | | if (task.getHandleUserId().split(",").length == 1) { |
| | | XpOperationsUser operationsUser = xpOperationUserClient.queryById(Long.valueOf(task.getHandleUserId())).getData(); |
| | | if (operationsUser != null) { |
| | | res.setHandleUserId(operationsUser.getId()); |
| | | res.setHandleUserName(operationsUser.getNickName()); |
| | | res.setHandleUserPhone(operationsUser.getPhoneNumber()); |
| | | res.setHandleUserAvatar(operationsUser.getAvatar()); |
| | | } |
| | | } |
| | | XpTaskHandleDetail xpTaskHandleDetail = xpTaskHandleDetailMapper.selectOne(new LambdaQueryWrapper<XpTaskHandleDetail>() |
| | | .eq(XpTaskHandleDetail::getTaskId, id)); |
| | |
| | | } |
| | | return R.ok(managementDetailVO); |
| | | } |
| | | |
| | | |
| | | |
| | | } |