| | |
| | | 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.utils.WorkOrderStatusAggregator; |
| | | import org.sxkj.gd.workorder.vo.GdPatrolTaskSimpleVO; |
| | | import org.sxkj.gd.workorder.vo.GdPatrolTaskVO; |
| | | import org.sxkj.gd.xingtu.JianXingtuApiService; |
| | |
| | | } |
| | | } |
| | | 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); |
| | | } |
| | | // 使用状态聚合工具类计算主任务状态 |
| | | WorkOrderStatusEnum newWorkOrderStatus = WorkOrderStatusAggregator.aggregateWorkOrderStatus(subTasks); |
| | | |
| | | // 更新主任务状态 |
| | | updateWorkOrderStatusAndFlow(task.getWorkOrderId(), newWorkOrderStatus); |
| | | } |
| | | // 7. 验收拒绝 |
| | | if (auditStatus == 7) { |