From f373bbf83d9d2a7e5f96118d7dcd658c9fea8bc8 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期四, 14 八月 2025 17:27:44 +0800 Subject: [PATCH] 2025.8.14 1. 新增文件导入场景信息接口 2. 新增导出接口文档接口 --- 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