From baf2cc2ce3dfd1235c012a3750132769fcd9ad2f Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期四, 18 九月 2025 17:02:05 +0800 Subject: [PATCH] 2025.9.18 1. 联合前端调试数据产品接口(待完成) --- src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPEvaluateInfo.kt | 1 + src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/NightConstructionImpl.kt | 11 ++++++++++- src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPInspectionInfo.kt | 1 + src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdBaseServiceImpl.kt | 36 ++++++++++++++++++++++++++++++------ src/main/kotlin/cn/flightfeather/supervision/lightshare/web/NightConstructionController.kt | 7 +++++++ src/main/kotlin/cn/flightfeather/supervision/lightshare/service/NightConstructionService.kt | 2 ++ 6 files changed, 51 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/NightConstructionService.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/NightConstructionService.kt index f1202cf..eaaadda 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/NightConstructionService.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/NightConstructionService.kt @@ -12,5 +12,7 @@ fun signFile(userId: String, fileNum: String, id: Int): BaseResponse<Int> + fun updateRecord(recordId: Int, userId: String?, sceneId: String?): NightConstruction + fun getSummary(cityCode: String?, districtCode: String): BaseResponse<NightWorkSummary> } \ No newline at end of file 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..0cd663b 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 @@ -120,11 +120,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,6 +148,7 @@ } }) } + res.sortBy { it.index } return@queryCache res }, save = { } @@ -152,16 +165,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,7 +199,7 @@ } }) } - + res.sortBy { it.index } return@queryCache res }, save = { } diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/NightConstructionImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/NightConstructionImpl.kt index 12ad943..4da12af 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/NightConstructionImpl.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/NightConstructionImpl.kt @@ -1,5 +1,6 @@ package cn.flightfeather.supervision.lightshare.service.impl +import cn.flightfeather.supervision.common.exception.BizException import cn.flightfeather.supervision.domain.ds1.entity.NightConstruction import cn.flightfeather.supervision.domain.ds1.mapper.NightConstructionMapper import cn.flightfeather.supervision.domain.ds1.mapper.UserinfoMapper @@ -24,7 +25,7 @@ .andEqualTo("ncDistrictCode", districtCode) orderBy("ncRead").orderBy("ncId").desc() }) - return BaseResponse(true, head = DataHead(p.pageNum, p.pages), data = result) + return BaseResponse(true, head = DataHead(p.pageNum, p.pages, p.total), data = result) } override fun getNightWorkFile(userId: String, isRead: Boolean?, page: Int, perPage: Int): BaseResponse<List<NightConstruction?>> { @@ -64,6 +65,14 @@ } } + override fun updateRecord(recordId: Int, userId: String?, sceneId: String?): NightConstruction { + val record = nightConstructionMapper.selectByPrimaryKey(recordId) ?: throw BizException("澶滈棿璁稿彲璇佽褰曚笉瀛樺湪") + record.ncUserId = userId + record.ncSceneId = sceneId + nightConstructionMapper.updateByPrimaryKey(record) + return record + } + override fun getSummary(cityCode: String?, districtCode: String): BaseResponse<NightWorkSummary> { val total = nightConstructionMapper.selectCountByExample(Example(NightConstruction::class.java).apply { createCriteria().andEqualTo("ncCityCode", cityCode ?: "3100") diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPEvaluateInfo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPEvaluateInfo.kt index 2ec2707..f08a3be 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPEvaluateInfo.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPEvaluateInfo.kt @@ -10,6 +10,7 @@ * @author feiyu02 */ class DPEvaluateInfo { + var index: Int? = null var subTask:Subtask? = null var evaluate: Evaluation? = null var scoreLevel: String? = null diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPInspectionInfo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPInspectionInfo.kt index 3b79a72..a46a45f 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPInspectionInfo.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPInspectionInfo.kt @@ -10,6 +10,7 @@ * @author feiyu02 */ class DPInspectionInfo { + var index: Int? = null var subTask: Subtask? = null var problems: List<ProblemListVo>? = null } \ No newline at end of file diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/NightConstructionController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/NightConstructionController.kt index 59d5bbb..5164525 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/NightConstructionController.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/NightConstructionController.kt @@ -32,6 +32,13 @@ @RequestParam("id") id: Int ) = nightConstructionService.signFile(userId, fileNum, id) + @PostMapping("/record") + fun updateRecord( + @RequestParam recordId: Int, + @RequestParam(required = false) userId: String?, + @RequestParam(required = false) sceneId: String?, + ) = resPack { nightConstructionService.updateRecord(recordId, userId, sceneId) } + @GetMapping("/summary") fun getSummary( @RequestParam(value = "cityCode", required = false) cityCode: String?, -- Gitblit v1.9.3