| | |
| | | import java.io.IOException; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.Stream; |
| | | |
| | | /** |
| | | * 巡查任务表 服务实现类 |
| | |
| | | private JianXingtuApiService jianXingtuApiService; |
| | | @Autowired |
| | | private IGdManageDeviceService gdManageDeviceService; |
| | | |
| | | @Override |
| | | public IPage<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage<GdPatrolTaskVO> page, GdPatrolTaskPageParam gdPatrolTask) { |
| | | List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | gdPatrolTask.setDeptList(deptList); |
| | | return page.setRecords(baseMapper.selectGdPatrolTaskPage(page, gdPatrolTask)); |
| | | List<GdPatrolTaskVO> gdPatrolTaskVOS = baseMapper.selectGdPatrolTaskPage(page, gdPatrolTask); |
| | | return page.setRecords(gdPatrolTaskVOS); |
| | | } |
| | | |
| | | |
| | |
| | | gdWorkOrderFlowEntity.setCreateUser(AuthUtil.getUserId()); |
| | | gdWorkOrderFlowEntity.setWorkOrderId(gdPatrolTaskEntity.getId()); |
| | | gdWorkOrderFlowEntity.setFlowName(PatrolTaskStatusEnum.PENDING_SIGNING.getStageDesc()); |
| | | gdWorkOrderFlowEntity.setFlowDesc(AuthUtil.getUserName() + " " + DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss") + " 发布任务,等待接单"); |
| | | gdWorkOrderFlowEntity.setFlowDesc(PatrolTaskStatusEnum.PENDING_SIGNING.getStageDesc()); |
| | | gdWorkOrderFlowEntity.setOperator(AuthUtil.getNickName()); |
| | | gdWorkOrderFlowEntity.setType(WorkOrderTypeEnum.PATROL_TASK.getValue()); |
| | | gdWorkOrderFlowEntity.setAreaCode(gdPatrolTaskEntity.getAreaCode()); |
| | |
| | | // 执行工单状态更新逻辑 |
| | | return updateWorkOrderStatusAndFlow(task.getWorkOrderId(), |
| | | WorkOrderStatusEnum.EXECUTING_TO_BE_COMPLETED); |
| | | } |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | | // 7. 验收拒绝 |
| | |
| | | flowEntity.setCreateUser(AuthUtil.getUserId()); |
| | | flowEntity.setWorkOrderId(workOrderId); |
| | | flowEntity.setFlowName(newStatus.getStageDesc()); |
| | | |
| | | // 构建流转描述 |
| | | String flowDesc = buildFlowDesc(newStatus, rejectReason); |
| | | flowEntity.setFlowDesc(flowDesc); |
| | | |
| | | flowEntity.setFlowDesc(newStatus.getStageDesc()); |
| | | flowEntity.setOperator(AuthUtil.getNickName()); |
| | | flowEntity.setType(WorkOrderTypeEnum.PATROL_TASK.getValue()); |
| | | flowEntity.setAreaCode(areaCode); |
| | |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * 构建流转描述 |
| | | * |
| | | * @param newStatus 新状态 |
| | | * @param rejectReason 拒绝原因 |
| | | * @return 流转描述 |
| | | */ |
| | | private String buildFlowDesc(PatrolTaskStatusEnum newStatus, String rejectReason) { |
| | | String baseDesc = String.format("%s %s ", |
| | | AuthUtil.getNickName(), |
| | | DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")); |
| | | |
| | | // 拒绝类状态需要添加拒绝原因 |
| | | if (newStatus == PatrolTaskStatusEnum.REJECTED_SIGNING || |
| | | newStatus == PatrolTaskStatusEnum.AUDIT_REJECTED || |
| | | newStatus == PatrolTaskStatusEnum.REJECTED_ACCEPTANCE) { |
| | | return String.format("%s%s:%s", baseDesc, newStatus.getDesc(), rejectReason); |
| | | } |
| | | |
| | | // 其他状态直接使用枚举描述 |
| | | return baseDesc + newStatus.getDesc(); |
| | | } |
| | | |
| | | private String getDeptName(Long deptId) { |
| | | if (deptId == null) { |
| | |
| | | |
| | | /** |
| | | * 构建巡察任务推送的巡察任务信息 |
| | | * |
| | | * @param gdPatrolTaskVO |
| | | * @return |
| | | */ |