From a3cc1d220f8a1de11874bebceba0130d32157ff1 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期二, 30 九月 2025 09:26:32 +0800 Subject: [PATCH] 2025.9.30 1. 联合前端调试数据产品接口(待完成) --- src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdBaseServiceImpl.kt | 54 ++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 40 insertions(+), 14 deletions(-) diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdBaseServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdBaseServiceImpl.kt index 4fd0203..d13bfe1 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdBaseServiceImpl.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdBaseServiceImpl.kt @@ -105,8 +105,7 @@ } } return@queryCache res - }, - save = { } + } ) } @@ -120,11 +119,23 @@ }) if (subtaskList.isEmpty()) return@queryCache emptyList<DPEvaluateInfo>() + val sceneList = aopDbMapper.scenseMapper.selectByExample(Example(Scense::class.java).apply { + createCriteria().andIn("guid", subtaskList.map { it.scenseid }) + .andEqualTo("typeid", queryOpt.sceneTypeId) + }) + + val validSubtaskList = subtaskList.filter { sceneList.find { scene -> scene.guid == it.scenseid } != null } + aopDbMapper.evaluationMapper.selectByExample(Example(Evaluation::class.java).apply { - createCriteria().andIn("stguid", subtaskList.map { it.stguid }) + createCriteria().andIn("stguid", validSubtaskList.map { it.stguid }) }).forEach { res.add(DPEvaluateInfo().apply { - subTask = subtaskList.find { sub-> sub.stguid == it.stguid } + val scene = sceneList.find { sce-> sce.guid == it.sguid } + index = scene?.index + subTask = validSubtaskList.find { sub-> sub.stguid == it.stguid }?.apply { + towncode = scene?.towncode + townname = scene?.townname + } evaluate = it val score = it.resultscorebef?.toIntOrNull() ?: -1 scoreLevel = when { @@ -136,9 +147,9 @@ } }) } + res.sortBy { it.index } return@queryCache res }, - save = { } ) } @@ -152,16 +163,27 @@ }) if (subtaskList.isEmpty()) return@queryCache emptyList<DPInspectionInfo>() + val sceneList = aopDbMapper.scenseMapper.selectByExample(Example(Scense::class.java).apply { + createCriteria().andIn("guid", subtaskList.map { it.scenseid }) + .andEqualTo("typeid", queryOpt.sceneTypeId) + }) + val validSubtaskList = subtaskList.filter { sceneList.find { scene -> scene.guid == it.scenseid } != null } + val problemList = aopDbMapper.problemlistMapper.selectByExample(Example(Problemlist::class.java).apply { - createCriteria().andIn("stguid", subtaskList.map { it.stguid }) + createCriteria().andIn("stguid", validSubtaskList.map { it.stguid }) }) val problemTypeList = aopDbMapper.problemtypeMapper.selectByExample(Example(Problemtype::class.java) .apply { createCriteria().andIn("guid", problemList.map { it.ptguid }) }) - subtaskList.forEach { + validSubtaskList.forEach { res.add(DPInspectionInfo().apply { - subTask = it + val scene = sceneList.find { sce-> sce.guid == it.scenseid } + index = scene?.index + subTask = it.apply { + towncode = scene?.towncode + townname = scene?.townname + } problems = problemList.filter { problem-> problem.stguid == it.stguid }.map { problem-> val problemListVo = ProblemListVo() BeanUtils.copyProperties(problem, problemListVo) @@ -175,10 +197,9 @@ } }) } - + res.sortBy { it.index } return@queryCache res }, - save = { } ) } @@ -187,23 +208,28 @@ cache = { return@queryCache null }, calculate = { val res = mutableListOf<DPMonitorDataInfo>() - val objList = aopDbMapper.monitorobjectversionMapper.selectByExample(Example(Monitorobjectversion::class.java).apply { + val sceneIdList = aopDbMapper.monitorobjectversionMapper.selectByExample(Example(Monitorobjectversion::class.java).apply { createCriteria().andEqualTo("tid", queryOpt.topTaskId) + }).map { it.sguid } + if (sceneIdList.isEmpty()) return@queryCache res + + val sceneList = aopDbMapper.scenseMapper.selectByExample(Example(Scense::class.java).apply { + createCriteria().andIn("guid", sceneIdList) + .andEqualTo("typeid", queryOpt.sceneTypeId) }) - if (objList.isEmpty()) return@queryCache res aopDbMapper.dustDataResultMapper.selectByExample(Example(DustDataResult::class.java).apply { createCriteria().andBetween("drTime", queryOpt.startTime, queryOpt.endTime) - .andIn("objectId", objList.map { it.sguid }) + .andIn("drSceneId", sceneList.map { it.guid }) }).forEach { res.add(DPMonitorDataInfo().apply { + scene = sceneList.find { scene -> scene.guid == it?.drSceneId } data = it }) } return@queryCache res }, - save = { } ) } } \ No newline at end of file -- Gitblit v1.9.3