| | |
| | | |
| | | // 获取总任务下所有的子任务 |
| | | val subTasks = subTaskRep.findAll(Subtask().apply { tguid = taskId }) |
| | | if (subTasks.isEmpty()) return emptyList() |
| | | // 获取所有子任务涉及的巡查场景信息 |
| | | val sceneList = scenseMapper.selectByExample(Example(Scense::class.java).apply { |
| | | createCriteria().andIn("guid", subTasks.map { it?.scenseid }) |
| | | }) |
| | | val sceneList = if (subTasks.isEmpty()) { |
| | | emptyList() |
| | | } else { |
| | | scenseMapper.selectByExample(Example(Scense::class.java).apply { |
| | | createCriteria().andIn("guid", subTasks.map { it?.scenseid }) |
| | | }) |
| | | } |
| | | |
| | | //根据sql条件查询 |
| | | dayTasks.forEach { t -> |
| | |
| | | val userProgressMap = mutableMapOf<String, ProgressPerUserPerDay>() |
| | | filterSubTasks.forEach fst@{ fst -> |
| | | fst ?: return@fst |
| | | // fixme 2025.11.30 由于监管APP的bug,导致用户可以不选择执行人员直接创建任务,所以暂时将没有执行人员的任务定义为匿名用户 |
| | | // 2026.2.2 将没有执行人员的任务定义为匿名用户 |
| | | if (fst.executorguids.isNullOrBlank()) { |
| | | fst.executorguids = "niming" |
| | | fst.executorusernames = "niming" |
| | |
| | | // 当多个人一起执行同一任务时,平分巡查量 |
| | | this.totalTaskNum += 1.0 / ids.size |
| | | if (fst.status == Constant.TaskProgress.RUNINGSTATUS3.text) { |
| | | this.completeTaskNum += 1.0 / ids.size |
| | | } |
| | | this.completeTaskNum += 1.0 / ids.size |
| | | |
| | | // 单人整改率累计(评分) |
| | | this.totalProblemNum += proList.size.toDouble() / ids.size |
| | |
| | | override fun create(task: Task): Task { |
| | | val res = save(task) |
| | | if (res < 1) |
| | | throw BizException("任务创建失败") |
| | | throw BizException("总任务或当日任务创建失败") |
| | | else |
| | | return task |
| | | } |