| | |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.xiaopeng.api.dto.account.XpOperationsUserPositionDTO; |
| | | import com.xiaopeng.api.feignClient.account.XpOperationUserClient; |
| | | import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetClient; |
| | | import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetOperationsClient; |
| | | import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient; |
| | | import com.xiaopeng.api.model.account.XpOperationsUser; |
| | |
| | | import com.xiaopeng.api.model.maintenance.XpTask; |
| | | import com.xiaopeng.api.model.maintenance.XpTaskRule; |
| | | import com.xiaopeng.api.model.vehicleConvoy.XpVehicle; |
| | | import com.xiaopeng.api.vo.TaskVO; |
| | | import com.xiaopeng.api.query.account.OptionalUsersPageListQuery; |
| | | import com.xiaopeng.api.vo.XpTaskVO; |
| | | import com.xiaopeng.api.vo.account.LoginOperationUser; |
| | | import com.xiaopeng.api.vo.account.XpOperationsUserWithRoleVO; |
| | | import com.xiaopeng.api.vo.automaticPilot.VehiclePosition; |
| | | import com.xiaopeng.common.core.domain.R; |
| | | import com.xiaopeng.common.core.web.page.PageInfo; |
| | |
| | | |
| | | @ApiOperation(value = "待改派的工单分页列表", tags = {"管理后台-运维执行-任务工单-待改派工单"}) |
| | | @PostMapping("/api/v1/task/reassign/pageList") |
| | | public R<PageInfo<TaskVO>> reassignTaskPageList(@RequestBody TaskPageListQuery query) { |
| | | public R<PageInfo<XpTaskVO>> reassignTaskPageList(@RequestBody TaskPageListQuery query) { |
| | | return R.ok(xpTaskService.reassignTaskPageList(query)); |
| | | } |
| | | |
| | | @ApiOperation(value = "可改派的运维人员列表", tags = {"管理后台-运维执行-任务工单-待改派工单"}) |
| | | @GetMapping("/api/v1/task/reassign/availableUsers") |
| | | public R<List<XpOperationsUser>> availableReassignUsers(@RequestParam Long taskId) { |
| | | @Resource |
| | | XpFleetClient xpFleetClient; |
| | | |
| | | XpTask task = xpTaskService.getById(taskId); |
| | | @ApiOperation(value = "可改派的运维人员列表", tags = {"管理后台-运维执行-任务工单-待改派工单"}) |
| | | @PostMapping("/api/v1/task/reassign/availableUsers") |
| | | public R<PageInfo<XpOperationsUserWithRoleVO>> availableReassignUsers(@RequestBody OptionalUsersPageListQuery query) { |
| | | |
| | | XpTask task = xpTaskService.getById(query.getTaskId()); |
| | | GeoJsonPoint point = |
| | | new GeoJsonPoint( |
| | | task.getVehicleLon().doubleValue(), |
| | | task.getVehicleLat().doubleValue() |
| | | ); |
| | | Query query = new Query(Criteria.where("location").near(point) |
| | | Query q = new Query(Criteria.where("location").near(point) |
| | | .maxDistance(new Distance(10, Metrics.KILOMETERS).getNormalizedValue())); |
| | | query.with(Sort.by(Sort.Direction.ASC, "dis")); |
| | | List<Long> ids = mongoTemplate.find(query, XpOperationsUserPositionDTO.class) |
| | | .stream().map(XpOperationsUserPositionDTO::getId).collect(Collectors.toList()); |
| | | return R.ok(operationUserClient.listByIds(ids).getData()); |
| | | q.with(Sort.by(Sort.Direction.ASC, "dis")); |
| | | |
| | | List<XpOperationsUserPositionDTO> up = mongoTemplate.find(q, XpOperationsUserPositionDTO.class); |
| | | |
| | | // 查询车队下面面所有人员id和up求交集 |
| | | List<Long> data = xpFleetClient.idsByFleetName(query.getFleet()).getData(); |
| | | |
| | | List<Long> ids = up.stream().map(XpOperationsUserPositionDTO::getId) |
| | | .filter(e -> data!=null && !data.isEmpty() &&!data.contains(e)) |
| | | .collect(Collectors.toList()); |
| | | |
| | | query.setIds(ids); |
| | | PageInfo<XpOperationsUserWithRoleVO> ret = operationUserClient.listByQueryIds(query).getData(); |
| | | |
| | | return R.ok(ret); |
| | | } |
| | | |
| | | @Resource |
| | | private XpOperationUserClient operationUserClient; |
| | | |
| | | @ApiOperation(value = "改派详情", tags = {"管理后台-运维执行-任务工单-待改派工单"}) |
| | | @GetMapping("/api/v1/task/reassign/detail") |
| | | public R<XpTask> reassignDetail(@RequestParam Long taskId) { |
| | | return R.ok(xpTaskService.getById(taskId)); |
| | | @GetMapping("/api/v1/task/detail") |
| | | public R<XpTaskVO> reassignDetail(@RequestParam Long taskId) { |
| | | return R.ok(xpTaskService.detail(taskId)); |
| | | } |
| | | |
| | | @ApiOperation(value = "执行保险年检检测定时任务", tags = {"定时任务"}) |