Selaa lähdekoodia

关系纵览数据修改

caiaf 4 vuotta sitten
vanhempi
commit
ecc5e20718

+ 1 - 1
data-core/src/main/kotlin/com/persagy/server/datacenter/wanda/rel/RelEq2FlEquip.kt

@@ -18,6 +18,6 @@ class RelEq2FlEquip: EquipmentBase() {
     /** 级联-设备服务的建筑 */
     @Schema(description = "级联-设备服务的建筑")
     @SCascade(table="public.equipment", idColumn="id", childIdColumn="floor_id")
-    var objectInfo: ArrayList<RelBuilding>? = null
+    var objectInfo: ArrayList<RelFloor>? = null
 
 }

+ 1 - 1
data-core/src/main/kotlin/com/persagy/server/datacenter/wanda/rel/RelSy2EqSystem.kt

@@ -16,7 +16,7 @@ class RelSy2EqSystem : RelGeneralSystem() {
 
     /** 级联-设备服务的建筑 */
     @Schema(description = "级联-设备服务的建筑")
-    @SCascade(table="relationship.r_sy_eq", idColumn="sy_id", childIdColumn="eq_id")
+    @SCascade(table="relationship.r_sy2eq", idColumn="sy_id", childIdColumn="eq_id")
     var objectInfo: ArrayList<EquipmentBase>? = null
 
 

+ 24 - 0
datacenter/src/main/kotlin/com/persagy/server/datacenter/mappers/IRelationExcelImportMapper.kt

@@ -92,6 +92,30 @@ interface IRelationExcelImportMapper {
     fun Eq2FlIn(projectId: String, type: String, id1: String, id2: String)
 
     /**
+     * 建筑下空间
+     *
+     * @param   projectId       项目ID
+     * @param   type            关系类型
+     * @param   id1             建筑ID
+     * @param   id2             空间ID
+     * @return  excel需要的记录
+     */
+    @Update("UPDATE public.zone_space_base SET building_id = #{id1} WHERE project_id = #{projectId} AND id = #{id2}")
+    fun Bd2Sp(projectId: String, type: String, id1: String, id2: String)
+
+    /**
+     * 楼层下空间
+     *
+     * @param   projectId       项目ID
+     * @param   type            关系类型
+     * @param   id1             楼层ID
+     * @param   id2             空间ID
+     * @return  excel需要的记录
+     */
+    @Update("UPDATE public.equipment SET floor_id = #{id1} WHERE project_id = #{projectId} AND id = #{id2}")
+    fun Fl2Sp(projectId: String, type: String, id1: String, id2: String)
+
+    /**
      * 楼层与设备关系
      *
      * @param   projectId       项目ID

+ 1 - 1
datacenter/src/main/kotlin/com/persagy/server/datacenter/services/graphtype/GraphicTypeService.kt

@@ -85,7 +85,7 @@ object GraphicTypeService : RService<GraphicType>(SMybatisDao(GraphicType::class
                     if (!content.childGraphicTypeList.isNullOrEmpty()){
                         val childGraphicTypeList = content.childGraphicTypeList
                         for (childGraphicType in childGraphicTypeList!!){
-                            val relationTypeProjectList = service.select(SFilter.eq("projectId", projectId), SFilter.eq("graphicId", childGraphicType.graphTypeId!!)).order("relationTypeCode").exec()
+                            val relationTypeProjectList = service.select(SFilter.eq("projectId", projectId), SFilter.eq("graphicId", childGraphicType.graphTypeId!!)).order("graphicType asc,relationType asc,zoneType asc").exec()
                             if (relationTypeProjectList.size>0){
                                 childGraphicType.relationTypeProjectList = relationTypeProjectList
                             }

+ 4 - 1
datacenter/src/main/kotlin/com/persagy/server/datacenter/services/graphtype/RelationTypeProjectService.kt

@@ -403,7 +403,10 @@ object RelationTypeProjectService : RService<RelationTypeProject>(SMybatisDao(Re
 
             val importMethod = if (relType == RelationType.Eq2Bd || relType == RelationType.Eq2Fl) {
                 excelImport.javaClass.getDeclaredMethod("${relType}In", String::class.java, String::class.java, String::class.java, String::class.java)
-            } else {
+            }else if(relType == RelationType.Bd2Sp || relType == RelationType.Fl2Sp){
+                excelImport.javaClass.getDeclaredMethod(relType, String::class.java, String::class.java, String::class.java, String::class.java)
+            }
+            else {
                 if(zoneType.isNullOrEmpty()) {
                     excelImport.javaClass.getDeclaredMethod(relType, String::class.java, String::class.java, String::class.java, String::class.java)
                 } else {

+ 7 - 0
datacenter/src/main/kotlin/com/persagy/server/datacenter/services/objects/EquipmentService.kt

@@ -27,16 +27,20 @@
 package com.persagy.server.datacenter.services.objects
 
 import com.persagy.database.SFilter
+import com.persagy.database.SQueryBuilder
+import com.persagy.database.enums.SOps
 import com.persagy.database.extensions.keyValue
 import com.persagy.mybatis.SMybatisDao
 import com.persagy.server.Opt
 import com.persagy.server.datacenter.models.entities.graphtype.RelationTypeProject
 import com.persagy.server.datacenter.wanda.obj.Equipment
+import com.persagy.server.datacenter.wanda.rel.REq2Sy
 import com.persagy.server.services.base.Service
 import com.persagy.server.services.log.DataCenterLogsService
 import com.persagy.server.utils.IdUtils
 import com.persagy.server.utils.ShaftNameUtil
 import com.persagy.service.SBaseService
+import com.persagy.service.SObjectService
 
 import org.slf4j.LoggerFactory
 
@@ -52,6 +56,9 @@ object EquipmentService : Service<Equipment>(SMybatisDao(Equipment::class.java))
     /** 关系总览服务 */
     val relationTypeProjectservice = SBaseService(SMybatisDao(RelationTypeProject::class.java))
 
+    /** 设备和系统关系 */
+    private val rEq2SyService = SObjectService(SMybatisDao(REq2Sy::class.java))
+
     /**
      * 创建前赋值操作
      *

+ 1 - 1
datacenter/src/main/kotlin/com/persagy/server/datacenter/services/rel/RelStatisticService.kt

@@ -97,7 +97,7 @@ open class RelStatisticService {
                 val rEq2Sps = CommonObjectService.rEq2SpService.select(SFilter.eq("projectId",projectId),SFilter.eq("type",type), SFilter.eq("graphCode",graphCode), SFilter.eq("zoneType",zoneType!!)).exec()
                 val equipIds = rEq2Sps.stream().map { r -> r.id1!! }.collect(Collectors.toList())
                 if(equipIds.size > 0){
-                    val equipments = EquipmentService.select(SFilter.eq("projectId",projectId), SFilter.inList("id",equipIds)).exec()
+                    val equipments = EquipmentService.select(SFilter.eq("projectId",projectId), SFilter.inList("id",equipIds)).projection(listOf("classCode")).distinct().exec()
                     for (equipment in equipments) {
                         val classCode = equipment.classCode!!
                         val item = HashMap<String,String?>()

+ 16 - 2
datacenter/src/main/kotlin/com/persagy/server/datacenter/services/relation_calc/ManualRelationCalcService.kt

@@ -547,7 +547,12 @@ open class ManualRelationCalcService {
                 for (spbuilding in spbuildingIdVagueToZoneType) {
                     listBuildingId.add(spbuilding.id!!)
                 }
-                val rBd2SpBuilidingList = rBd2SpBuilidingService.select(SFilter.eq("projectId", Opt.projectId!!), SFilter.inList("id", listBuildingId)).exec()
+                var rBd2SpBuilidingList: ArrayList<RBd2SpBuiliding>
+                if(spbuildingIdVagueToZoneType.size > 0){
+                    rBd2SpBuilidingList = rBd2SpBuilidingService.select(SFilter.eq("projectId", Opt.projectId!!), SFilter.inList("id", listBuildingId)).exec()
+                }else{
+                    rBd2SpBuilidingList = rBd2SpBuilidingService.select(SFilter.eq("projectId", Opt.projectId!!)).exec()
+                }
                 for (spbuilding in rBd2SpBuilidingList) {
                     for (spaceBase in spaceBaseList) {
                         if (spaceBase.buildingId == spbuilding.id) {
@@ -962,6 +967,11 @@ open class ManualRelationCalcService {
         list.add(SFilter.eq("projectId",Opt.projectId!!))
 
         val rEq2SyList = rEq2SyService.select(SFilter.eq("projectId", Opt.projectId!!)).exec()
+        val syIds = LinkedHashSet<String>()
+        for (rEq2Sy in rEq2SyList) {
+            syIds.add(rEq2Sy.id1!!)
+        }
+
         if (rEq2SyList.size>0) {
             if (manualRelationCalcRequest.objectType == "1") {
                 if (!manualRelationCalcRequest.vagueFrom.isNullOrEmpty()) {
@@ -970,8 +980,12 @@ open class ManualRelationCalcService {
                 if (!manualRelationCalcRequest.categoryFrom.isNullOrEmpty()) {
                     list.add(SFilter.eq("classCode",manualRelationCalcRequest.categoryFrom!!))
                 }
+                if(syIds.size > 0){
+                    list.add(SFilter.inList("id",ArrayList(syIds)))
+                }
+//                list.add(SFilter.not(SFilter.isNull("objectInfo")))
                 val pageQuery = relSy2EqSystemService.pageQuery(sQueryRequest, list)
-                manualRelationCalcResponse.content = pageQuery.content
+                manualRelationCalcResponse.content = pageQuery.content!!.filter { r -> r.objectInfo != null }
                 manualRelationCalcResponse.message = pageQuery.message
                 manualRelationCalcResponse.pageNumber = pageQuery.pageNumber
                 manualRelationCalcResponse.pageSize = pageQuery.pageSize

+ 3 - 3
datacenter/src/main/kotlin/com/persagy/server/datacenter/services/relation_calc/RelationCalcService.kt

@@ -1130,8 +1130,8 @@ open class RelationCalcService {
                 e.printStackTrace()
             }
             /** 启动计算   ******************************/
-            val result = mapper.calcEq2Sp(projectId)
-//            var result = 0
+//            val result = mapper.calcEq2Sp(projectId)
+            var result = 0
             logger.debug("计算结果= ${result}")
 
             /*************************上面添加数据**********************************/
@@ -1175,7 +1175,7 @@ open class RelationCalcService {
                     }
                     val rEq2SpList = REq2SpService.select(SFilter.eq("projectId", projectId),
                             SFilter.inList("id1", listId)
-                            , SFilter.eq("graphCode", graphCode), SFilter.eq("type",relType), SFilter.eq("zoneType",tables!!)).exec()
+                            , SFilter.eq("graphCode", "MechInArch"), SFilter.eq("type",relType), SFilter.eq("zoneType",tables!!)).exec()
                     val rEq2Sps = ArrayList<REq2Sp>()
                     if (rEq2SpList.size > 0) {
                         for (rEq2Sp in rEq2SpList) {