drone-service/drone-gd/src/main/java/org/sxkj/gd/orderdata/service/impl/GdApplicationInnovationServiceImpl.java
@@ -43,12 +43,11 @@ @Override public IPage<GdApplicationInnovationVO> selectGdApplicationInnovationPage(IPage<GdApplicationInnovationVO> page, GdApplicationInnovationPageParam gdApplicationInnovation) { if(gdApplicationInnovation.getIsQueryAll()){ List<Long> deptList = new ArrayList<>(); if (!AuthUtil.isAdministrator()) { deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); if (!AuthUtil.isAdministrator()) { if (gdApplicationInnovation.getIsQueryAll()) { List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); gdApplicationInnovation.setDeptList(deptList); } gdApplicationInnovation.setDeptList(deptList); } return page.setRecords(baseMapper.selectGdApplicationInnovationPage(page, gdApplicationInnovation)); } @@ -57,7 +56,7 @@ @Override public List<GdApplicationInnovationExcel> exportGdApplicationInnovation(Wrapper<GdApplicationInnovationEntity> queryWrapper) { List<GdApplicationInnovationExcel> gdApplicationInnovationList = baseMapper.exportGdApplicationInnovation(queryWrapper); //gdApplicationInnovationList.forEach(gdApplicationInnovation -> { // gdApplicationInnovationList.forEach(gdApplicationInnovation -> { // gdApplicationInnovation.setTypeName(DictCache.getValue(DictEnum.YES_NO, GdApplicationInnovation.getType())); //}); return gdApplicationInnovationList; drone-service/drone-gd/src/main/java/org/sxkj/gd/orderdata/service/impl/GdDataEvaluationServiceImpl.java
@@ -43,12 +43,11 @@ @Override public IPage<GdDataEvaluationVO> selectGdDataEvaluationPage(IPage<GdDataEvaluationVO> page, GdDataEvaluationPageParam gdDataEvaluation) { if(gdDataEvaluation.getIsQueryAll()){ List<Long> deptList = new ArrayList<>(); if (!AuthUtil.isAdministrator()) { deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); if (!AuthUtil.isAdministrator()) { if (gdDataEvaluation.getIsQueryAll()) { List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); gdDataEvaluation.setDeptList(deptList); } gdDataEvaluation.setDeptList(deptList); } return page.setRecords(baseMapper.selectGdDataEvaluationPage(page, gdDataEvaluation)); } @@ -57,7 +56,7 @@ @Override public List<GdDataEvaluationExcel> exportGdDataEvaluation(Wrapper<GdDataEvaluationEntity> queryWrapper) { List<GdDataEvaluationExcel> gdDataEvaluationList = baseMapper.exportGdDataEvaluation(queryWrapper); //gdDataEvaluationList.forEach(gdDataEvaluation -> { // gdDataEvaluationList.forEach(gdDataEvaluation -> { // gdDataEvaluation.setTypeName(DictCache.getValue(DictEnum.YES_NO, GdDataEvaluation.getType())); //}); return gdDataEvaluationList; drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml
@@ -55,6 +55,7 @@ patrol_task_id ) tr on tr.patrol_task_id = pt.id <where> pt.is_deleted = 0 <if test="param2.workOrderId != null and param2.workOrderId != ''"> and pt.work_order_id = #{param2.workOrderId} </if> drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
@@ -165,7 +165,7 @@ * @throws RuntimeException 当任务不存在、状态不允许转换或操作失败时抛出 */ @Override @Transactional(rollbackFor = Exception.class) // @Transactional(rollbackFor = Exception.class) public boolean auditPatrolTask(GdPatrolTaskAuditParam auditParam) { // 1. 获取巡查任务 GdPatrolTaskEntity task = getById(auditParam.getId()); @@ -230,8 +230,14 @@ .eq(GdPatrolTaskEntity::getWorkOrderId, task.getWorkOrderId())); // 检查是否所有子任务都审核成功(除了被撤回和验收拒绝的) boolean allSubTasksAudited = checkAllSubTasksStatus(subTasks, PatrolTaskStatusEnum.AUDIT_PASSED); // 示例:如果所有子任务都审核成功,可以更新工单状态为已完成 boolean allSubTasksAudited = subTasks.stream() .map(GdPatrolTaskEntity::getTaskStatus) .filter(Objects::nonNull) // 过滤掉撤回和验收拒绝的任务 .filter(status -> !status.equals(PatrolTaskStatusEnum.WITHDRAWN.getValue()) && !status.equals(PatrolTaskStatusEnum.REJECTED_ACCEPTANCE.getValue())) // 判断是否有小于待审核的任务 .anyMatch(status -> status.compareTo(PatrolTaskStatusEnum.PENDING_AUDIT.getValue()) < 0); if (allSubTasksAudited) { // 执行工单状态更新逻辑 return updateWorkOrderStatusAndFlow(task.getWorkOrderId(), @@ -265,7 +271,14 @@ .eq(GdPatrolTaskEntity::getWorkOrderId, task.getWorkOrderId())); // 检查是否所有子任务都验收通过(除了被撤回和验收拒绝的) boolean allSubTasksAudited = checkAllSubTasksStatus(subTasks, PatrolTaskStatusEnum.ACCEPTANCE_PASSED); boolean allSubTasksAudited = subTasks.stream() .map(GdPatrolTaskEntity::getTaskStatus) .filter(Objects::nonNull) // 过滤掉撤回和验收拒绝的任务 .filter(status -> !status.equals(PatrolTaskStatusEnum.WITHDRAWN.getValue()) && !status.equals(PatrolTaskStatusEnum.REJECTED_ACCEPTANCE.getValue())) // 判断是否有小于待审核的任务 .anyMatch(status -> status.compareTo(PatrolTaskStatusEnum.PENDING_AUDIT.getValue()) < 0); // 这里可以根据allSubTasksAudited的结果执行后续逻辑,比如更新工单状态等 if (allSubTasksAudited) { // 1.验收通过,生成报告 @@ -278,28 +291,6 @@ return b; } /** * 检查是否所有子任务都达到指定状态(除了被撤回和验收拒绝的) * * @param subTasks 子任务列表 * @param targetStatus 目标状态枚举 * @return 是否所有子任务都达到指定状态 */ private boolean checkAllSubTasksStatus(List<GdPatrolTaskEntity> subTasks, PatrolTaskStatusEnum targetStatus) { for (GdPatrolTaskEntity subTask : subTasks) { String taskStatus = subTask.getTaskStatus(); PatrolTaskStatusEnum statusEnum = PatrolTaskStatusEnum.getByValue(taskStatus); // 如果任务状态不是目标状态,且不是被撤回和验收拒绝的,则返回false if (statusEnum != targetStatus && statusEnum != PatrolTaskStatusEnum.WITHDRAWN && statusEnum != PatrolTaskStatusEnum.REJECTED_ACCEPTANCE) { return false; } } return true; } /** * 更新工单状态并保存流转记录