From aed297a5fbc8df9dab01b28da21f872ee546b43c Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期一, 13 十月 2025 16:15:11 +0800
Subject: [PATCH] 2025.10.13 1. 统一调整controller层的返回类型,通过添加全局响应增强器GlobalResponseAdvice来管理返回结果; 2. 新增mybatis-generator自定义插件,实现给数据库实体entity自动添加swagger注解@ApiModel和@ApiModelProperty
---
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdMiddleServiceImpl.kt | 29 +++++++++++++++++++++++------
1 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdMiddleServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdMiddleServiceImpl.kt
index b6e4029..458de79 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdMiddleServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdMiddleServiceImpl.kt
@@ -3,6 +3,7 @@
import cn.flightfeather.supervision.common.utils.Constant
import cn.flightfeather.supervision.common.utils.QueryByCache
import cn.flightfeather.supervision.domain.ds1.entity.SceneConstructionSite
+import cn.flightfeather.supervision.domain.ds1.repository.TaskRep
import cn.flightfeather.supervision.lightshare.service.DataProdBaseService
import cn.flightfeather.supervision.lightshare.service.DataProdMiddleService
import cn.flightfeather.supervision.lightshare.vo.dataprod.QueryOpt
@@ -10,6 +11,7 @@
import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPInspectionSummary
import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPProblemCountByArea
import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPProblemTypeCount
+import org.springframework.beans.BeanUtils
import org.springframework.stereotype.Service
/**
@@ -18,7 +20,10 @@
* @author feiyu02
*/
@Service
-class DataProdMiddleServiceImpl(private val dataProdBaseService: DataProdBaseService) : DataProdMiddleService {
+class DataProdMiddleServiceImpl(
+ private val dataProdBaseService: DataProdBaseService, private val taskRep: TaskRep,
+) : DataProdMiddleService {
+
override fun getInspectionSummary(queryOpt: QueryOpt): DPInspectionSummary {
return QueryByCache.queryCache(
@@ -34,7 +39,7 @@
when (it.scene?.typeid.toString()) {
// 瀵逛簬寤虹瓚宸ュ湴绫诲瀷锛屾牴鎹叾csStatus鍒ゆ柇鏄惁鍋滃伐鎴栧畬宸�
Constant.SceneType.TYPE1.value -> {
- when ((it.subScene as SceneConstructionSite).csStatus) {
+ when ((it.subScene as SceneConstructionSite?)?.csStatus) {
"鍋滃伐" -> {
res.stopSceneCount++
}
@@ -54,7 +59,6 @@
}
return@queryCache res
},
- save = {}
)
}
@@ -62,6 +66,16 @@
return QueryByCache.queryCache(
cache = { return@queryCache null },
calculate = {
+ // 鏌ヨ涓婁竴涓懆鏈熺殑鎬讳换鍔$粺璁℃儏鍐�
+ val lastTopTask = taskRep.findLastTopTask(queryOpt.topTaskId)
+ val lastQueryOpt = QueryOpt()
+ BeanUtils.copyProperties(queryOpt, lastQueryOpt)
+ lastQueryOpt.topTaskId = lastTopTask?.tguid
+ val lastInspectionInfo = dataProdBaseService.getInspectionInfo(lastQueryOpt)
+ val lastAllProblemList = lastInspectionInfo.flatMap { it.problems ?: emptyList() }
+ val lastAllProblemMap = lastAllProblemList.groupBy { it.typeid }
+
+ // 鏌ヨ褰撳墠鍛ㄦ湡鐨勬�讳换鍔$粺璁℃儏鍐�
val res = mutableListOf<DPProblemTypeCount>()
val inspectionInfo = dataProdBaseService.getInspectionInfo(queryOpt)
val allProblemList = inspectionInfo.flatMap { it.problems ?: emptyList() }
@@ -71,11 +85,16 @@
this.typeName = problemList.firstOrNull()?.typename
this.count = problemList.size
this.ratio = problemList.size.toDouble() / allProblemList.size
+ this.ratioDiff =
+ if (lastAllProblemMap[typeid] == null) {
+ this.ratio
+ } else {
+ this.ratio - lastAllProblemMap[typeid]!!.size.toDouble() / lastAllProblemList.size
+ }
})
}
return@queryCache res
},
- save = {}
)
}
@@ -107,7 +126,6 @@
return@queryCache res
},
- save = {}
)
}
@@ -147,7 +165,6 @@
return@queryCache res
},
- save = {}
)
}
}
\ No newline at end of file
--
Gitblit v1.9.3