From 5a003a42d2b34e8362910ac1d3e5a8866768e5fe Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期六, 20 十二月 2025 16:50:28 +0800
Subject: [PATCH] 2025.12.20 巡查任务统计相关功能修改
---
src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/SceneRep.kt | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 101 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 7db939a..e29beea 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,10 +1,11 @@
package cn.flightfeather.supervision.domain.ds1.repository
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.Scense
-import cn.flightfeather.supervision.domain.ds1.mapper.ScenseMapper
-import cn.flightfeather.supervision.domain.ds1.mapper.UserinfoMapper
+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.*
@@ -17,6 +18,11 @@
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 {
@@ -24,6 +30,94 @@
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 findSubSceneList(scenes: List<Scense>): List<BaseScene?> {
+ val result = mutableListOf<BaseScene>()
+ scenes.groupBy { it.typeid }.forEach {
+ when (it.key.toString()) {
+ Constant.SceneType.TYPE1.value -> {
+ sceneConstructionSiteMapper.selectByExample(Example(SceneConstructionSite::class.java).apply {
+ createCriteria().andIn("sGuid", it.value.map { v-> v.guid })
+ }).let { s-> result.addAll(s) }
+ }
+ Constant.SceneType.TYPE2.value -> {
+ sceneWharfMapper.selectByExample(Example(SceneWharf::class.java).apply {
+ createCriteria().andIn("sGuid", it.value.map { v-> v.guid })
+ }).let { s-> result.addAll(s) }
+ }
+ Constant.SceneType.TYPE3.value -> {
+ sceneMixingPlantMapper.selectByExample(Example(SceneMixingPlant::class.java).apply {
+ createCriteria().andIn("sGuid", it.value.map { v-> v.guid })
+ }).let { s-> result.addAll(s) }
+ }
+ Constant.SceneType.TYPE14.value -> {
+ sceneStorageYardMapper.selectByExample(Example(SceneStorageYard::class.java).apply {
+ createCriteria().andIn("sGuid", it.value.map { v-> v.guid })
+ }).let { s-> result.addAll(s) }
+ }
+ }
+ }
+ return result
}
fun findScene(userId: String?): Scense? {
@@ -38,6 +132,10 @@
})
}
+ 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)
--
Gitblit v1.9.3