From 9cb8d7e0f4ffca386b14a15f8a0aca4d1db23252 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 30 十月 2025 15:58:45 +0800
Subject: [PATCH] 2025.10.30 新增单场景纵向统计接口
---
src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/SceneRep.kt | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 109 insertions(+), 3 deletions(-)
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/SceneRep.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/SceneRep.kt
index b47f19a..7a8e29e 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/SceneRep.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/SceneRep.kt
@@ -1,8 +1,14 @@
package cn.flightfeather.supervision.domain.ds1.repository
-import cn.flightfeather.supervision.domain.ds1.entity.Scense
-import cn.flightfeather.supervision.domain.ds1.mapper.ScenseMapper
+import cn.flightfeather.supervision.common.exception.BizException
+import cn.flightfeather.supervision.common.utils.Constant
+import cn.flightfeather.supervision.common.utils.UUIDGenerator
+import cn.flightfeather.supervision.domain.ds1.entity.*
+import cn.flightfeather.supervision.domain.ds1.mapper.*
+import com.google.gson.Gson
import org.springframework.stereotype.Repository
+import tk.mybatis.mapper.entity.Example
+import java.util.*
/**
* 鍦烘櫙淇℃伅鏁版嵁搴撶浉鍏虫搷浣�
@@ -10,12 +16,112 @@
@Repository
class SceneRep(
private val scenseMapper: ScenseMapper,
+ private val userinfoMapper: UserinfoMapper,
+ private val subTaskRep: SubTaskRep,
+ val sceneConstructionSiteMapper: SceneConstructionSiteMapper,
+ val sceneDeviceMapper: SceneDeviceMapper,
+ val sceneMixingPlantMapper: SceneMixingPlantMapper,
+ val sceneStorageYardMapper: SceneStorageYardMapper,
+ val sceneWharfMapper: SceneWharfMapper,
) {
+
+ fun insert(scene: Scense?):Int {
+ scene ?: return 0
+ if (scene.guid == null) scene.guid = UUIDGenerator.generate16ShortUUID()
+ scene.createdate = Date()
+ return scenseMapper.insertSelective(scene)
+ }
+
+ fun insertOrUpdateSubScene(typeId: Int?, guid: String?, subScene: BaseScene?): Pair<Boolean, Int> {
+ var r = 0
+ var isUpdate = false
+ subScene ?: return false to 0
+
+ when (typeId.toString()) {
+ Constant.SceneType.TYPE1.value -> {
+ if ((subScene as SceneConstructionSite).getsGuid() == null) {
+ subScene.setsGuid(guid)
+ }
+ subScene.csUpdateTime = Date()
+ val record = sceneConstructionSiteMapper.selectByPrimaryKey(subScene.getsGuid())
+ r = if (record == null) {
+ sceneConstructionSiteMapper.insert(subScene)
+ } else {
+ sceneConstructionSiteMapper.updateByPrimaryKeySelective(subScene)
+ }
+ }
+
+ Constant.SceneType.TYPE2.value -> {
+ if ((subScene as SceneWharf).getsGuid() == null) {
+ subScene.setsGuid(guid)
+ }
+ val record = sceneWharfMapper.selectByPrimaryKey(subScene.getsGuid())
+ r = if (record == null) {
+ sceneWharfMapper.insert(subScene)
+ } else {
+ sceneWharfMapper.updateByPrimaryKeySelective(subScene)
+ }
+ }
+
+ Constant.SceneType.TYPE3.value -> {
+ if ((subScene as SceneMixingPlant).getsGuid() == null) {
+ subScene.setsGuid(guid)
+ }
+ val record = sceneMixingPlantMapper.selectByPrimaryKey(subScene.getsGuid())
+ r = if (record == null) {
+ sceneMixingPlantMapper.insert(subScene)
+ } else {
+ sceneMixingPlantMapper.updateByPrimaryKeySelective(subScene)
+ }
+ }
+
+ Constant.SceneType.TYPE14.value -> {
+ if ((subScene as SceneStorageYard).getsGuid() == null) {
+ subScene.setsGuid(guid)
+ }
+ val record = sceneStorageYardMapper.selectByPrimaryKey(subScene.getsGuid())
+ isUpdate = record != null
+ r = if (record == null) {
+ sceneStorageYardMapper.insert(subScene)
+ } else {
+ sceneStorageYardMapper.updateByPrimaryKeySelective(subScene)
+ }
+ }
+ }
+ return isUpdate to r
+ }
+
+ fun findScene(userId: String?): Scense? {
+ val user = userinfoMapper.selectByPrimaryKey(userId) ?: throw BizException("鐢ㄦ埛id涓嶅瓨鍦�")
+ return scenseMapper.selectByPrimaryKey(user.dGuid)
+ }
+
+ fun findScene(sceneId: String? = null, sceneName: String? = null): Scense? {
+ return scenseMapper.selectOne(Scense().apply {
+ guid = sceneId
+ name = sceneName
+ })
+ }
+
+ fun findSceneList(scene: Scense): List<Scense?> {
+ return scenseMapper.select(scene)
+ }
+
+ fun findSceneList(nameList: List<String?>): List<Scense?> {
+ return scenseMapper.selectByExample(Example(Scense::class.java).apply {
+ createCriteria().andIn("name", nameList)
+ })
+ }
/**
* 鏌ユ壘鍦烘櫙
*/
- fun findScene(topTaskId: String, sceneTypeId: Int? = null, townCode: String? = null): List<Scense?> {
+ fun findSceneList(topTaskId: String, sceneTypeId: Int? = null, townCode: String? = null): List<Scense?> {
return scenseMapper.getSceneByType(topTaskId, sceneTypeId, townCode)
}
+
+ fun findBySubTask(subTaskId: String): Scense? {
+ val subtask = subTaskRep.findOne(subTaskId)
+ return scenseMapper.selectByPrimaryKey(subtask?.scenseid)
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3