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