| | |
| | | import org.sxkj.gd.workorder.service.IGdTaskResultService; |
| | | import org.sxkj.gd.workorder.service.IGdWorkOrderFlowService; |
| | | import org.sxkj.gd.workorder.utils.GdPatrolReportWordUtil; |
| | | import org.sxkj.gd.workorder.vo.GdPatrolTaskSimpleVO; |
| | | import org.sxkj.gd.workorder.vo.GdPatrolTaskVO; |
| | | import org.sxkj.gd.xingtu.JianXingtuApiService; |
| | | import org.sxkj.resource.entity.Attach; |
| | |
| | | @Override |
| | | public IPage<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage<GdPatrolTaskVO> page, GdPatrolTaskPageParam gdPatrolTask) { |
| | | List<Long> deptList = new ArrayList<>(); |
| | | if (!AuthUtil.isAdministrator()) { |
| | | if (!AuthUtil.isAdministrator() || !AuthUtil.isAdmin()) { |
| | | deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | } |
| | | gdPatrolTask.setDeptList(deptList); |
| | | List<GdPatrolTaskVO> gdPatrolTaskVOS = baseMapper.selectGdPatrolTaskPage(page, gdPatrolTask); |
| | | return page.setRecords(gdPatrolTaskVOS); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<GdPatrolTaskExcel> exportGdPatrolTask(Wrapper<GdPatrolTaskEntity> queryWrapper) { |
| | |
| | | public boolean savePatrolTask(List<GdPatrolTaskEntity> taskEntityList) { |
| | | // 更新流程节点 |
| | | for (GdPatrolTaskEntity gdPatrolTaskEntity : taskEntityList) { |
| | | // 设置航线ID |
| | | gdPatrolTaskEntity.setAirlineId(gdPatrolTaskEntity.getPatrolRouteUrl()); |
| | | // 生成巡查任务编号 |
| | | if (StringUtils.isBlank(gdPatrolTaskEntity.getTaskNo())) { |
| | | // 使用时间戳生成唯一巡查任务编号 |
| | |
| | | } |
| | | } |
| | | if (auditStatus == 3) { |
| | | // 查询同一个工单下的所有子任务 |
| | | // 撤回任务操作:查询同一个工单下的所有子任务 |
| | | List<GdPatrolTaskEntity> subTasks = list(Wrappers.<GdPatrolTaskEntity>lambdaQuery() |
| | | .eq(GdPatrolTaskEntity::getWorkOrderId, task.getWorkOrderId())); |
| | | |
| | | // 检查是否所有子任务都已撤回 |
| | | boolean allSubTasksWithdrawn = subTasks.stream() |
| | | .allMatch(item -> item.getTaskStatus().equals(PatrolTaskStatusEnum.WITHDRAWN.getValue())); |
| | | |
| | | // 示例:如果所有子任务都审核成功,可以更新工单状态为已完成 |
| | | // 如果所有子任务都已撤回,则将工单状态更新为"接单响应_已取消" |
| | | if (allSubTasksWithdrawn) { |
| | | // 执行工单状态更新逻辑 |
| | | return updateWorkOrderStatusAndFlow(task.getWorkOrderId(), |
| | | WorkOrderStatusEnum.RESPONDING_CANCELED); |
| | | } |
| | |
| | | private boolean saveWorkOrderFlow(Long workOrderId, PatrolTaskStatusEnum newStatus, |
| | | String rejectReason, String areaCode) { |
| | | GdWorkOrderFlowEntity flowEntity = new GdWorkOrderFlowEntity(); |
| | | flowEntity.setCreateUser(AuthUtil.getUserId()); |
| | | flowEntity.setCreateUser(AuthUtil.getUserId() == null ? 0L : AuthUtil.getUserId()); |
| | | flowEntity.setWorkOrderId(workOrderId); |
| | | flowEntity.setFlowName(newStatus.getStageDesc()); |
| | | flowEntity.setFlowDesc(newStatus.getStageDesc()); |
| | | flowEntity.setOperator(AuthUtil.getNickName()); |
| | | flowEntity.setType(WorkOrderTypeEnum.PATROL_TASK.getValue()); |
| | | flowEntity.setAreaCode(areaCode); |
| | | flowEntity.setCreateDept(Long.valueOf(AuthUtil.getDeptId())); |
| | | flowEntity.setCreateDept(Long.valueOf(StringUtil.isBlank(AuthUtil.getDeptId()) ? "0" : AuthUtil.getDeptId())); |
| | | |
| | | boolean saveResult = gdWorkOrderFlowService.save(flowEntity); |
| | | if (!saveResult) { |
| | |
| | | param.setInspectionType(gdPatrolTaskVO.getPatrolTaskType()); |
| | | } |
| | | if ((gdPatrolTaskVO.getId() != null)) { |
| | | param.setPatrolTaskld(String.valueOf(gdPatrolTaskVO.getId())); |
| | | param.setPatrolTaskId(String.valueOf(gdPatrolTaskVO.getId())); |
| | | } |
| | | param.setTimingType("单次执行"); |
| | | if (StringUtil.isNotBlank(gdPatrolTaskVO.getAirlineId())) { |
| | |
| | | return updateResult; |
| | | } |
| | | |
| | | @Override |
| | | public List<GdPatrolTaskSimpleVO> selectListByWorkOrderId(Long workOrderId) { |
| | | return baseMapper.selectListByWorkOrderId(workOrderId); |
| | | } |
| | | |
| | | } |