Browse Source

Merge remote-tracking branch 'origin/develop' into develop

lijie 3 years ago
parent
commit
1ac0949c49

+ 76 - 35
scanbuilding/src/main/kotlin/com/persagy/server/services/task/EquipScanTaskService.kt

@@ -26,6 +26,7 @@
 
 package com.persagy.server.services.task
 
+import cn.hutool.core.collection.CollUtil
 import cn.sagacloud.server.scanbuilding.User
 import com.alibaba.fastjson.JSONObject
 import com.google.gson.Gson
@@ -39,15 +40,19 @@ import com.persagy.server.datacenter.models.entities.objects.Equipment
 import com.persagy.server.datacenter.models.entities.task.EquipScanTask
 import com.persagy.server.datacenter.models.entities.task.SchemeUtils
 import com.persagy.server.scanbuilding.UserLog
+import com.persagy.server.services.AdmBaseService
 import com.persagy.server.services.EquipmentService
-
 import com.persagy.server.services.base.RService
+
 import com.persagy.server.util.IdUtils
 import com.persagy.service.SBaseService
 import com.persagy.service.SObjectService
 import com.persagy.service.SPageContext
+import com.persagy.service.models.SCascadeQuery
 import com.persagy.service.models.requests.SCreateRequest
+import com.persagy.service.models.requests.SQueryRequest
 import org.slf4j.LoggerFactory
+import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.web.bind.annotation.RequestBody
 
 /**
@@ -65,6 +70,10 @@ object EquipScanTaskService : RService<EquipScanTask>(SMybatisDao(EquipScanTask:
     /** 用户 */
     var userService = SObjectService(SMybatisDao(User::class.java))
 
+    @Autowired
+    private val admBaseService: AdmBaseService? = AdmBaseService()
+
+
     /**
      * 插入之前先过滤已经存在未验证任务的对象,返回新列表
      */
@@ -72,7 +81,8 @@ object EquipScanTaskService : RService<EquipScanTask>(SMybatisDao(EquipScanTask:
         val equipList = request.content;
         var newList = arrayListOf<EquipScanTask>()
         for(equip in equipList){
-            val equipTask = EquipScanTaskService.select("equipId" to equip.equipId!!,"taskState" to 1).entity()
+          val equipTask = EquipScanTaskService.select(SFilter.eq("id", equip.equipId!!),SFilter.eq("taskState", 1!!)).entity()
+           // val equipTask = select(SFilter.eq("id", equip.equipId!!)).entity()
             if(equipTask==null){//表示当前设备不存在未验证的任务
                 equip.id = IdUtils.uuidCreate()
                 newList.add(equip)
@@ -108,12 +118,25 @@ object EquipScanTaskService : RService<EquipScanTask>(SMybatisDao(EquipScanTask:
             equipScanTask.taskType = "1"
 
             if (!equipScanTask.equipId.isNullOrEmpty()) {//当设备id不为空时,去设备表查询对应的详细信息
-                val equipmentService = SBaseService(SMybatisDao(Equipment::class.java))
-                val equipment = equipmentService.select("id" to equipScanTask.equipId!!).entity()
+               /* val equipmentService = SBaseService(SMybatisDao(Equipment::class.java))
+                val equipment = equipmentService.select(SFilter.eq("id", equipScanTask.equipId!!)).entity()*/
+                //2021.10.26调整为从中间件查询设备信息
+                var equipRequest = SQueryRequest()
+                equipRequest.filters = "id = '"+equipScanTask.equipId+"'"
+                val equipmentList = admBaseService?.queryEquip(equipRequest)
+
+                if(CollUtil.isEmpty(equipmentList)){
+                    return false
+                    logger.info("设备任务创建:设备不存在 id "+equipScanTask.equipId)
+                }
+                val equipment = equipmentList?.get(0)
                 if (equipScanTask.schemeId.isNullOrEmpty()){
-                    equipScanTask.schemeId = SchemeUtils.setScheme(equipment!!.classCode!!)
+                    if (equipmentList != null) {
+                        equipScanTask.schemeId = SchemeUtils.setScheme(equipmentList.get(0)!!.classCode!!)
+                    }
                 }
 //                equipment.ledgerParam.PhotoDoc.Pic
+
                 if(equipment!!.infos != null){//设备图片信息
                     val photoDoc = equipment!!.infos!!.get("photoDoc")
                     if( photoDoc != null){
@@ -252,38 +275,56 @@ object EquipScanTaskService : RService<EquipScanTask>(SMybatisDao(EquipScanTask:
         val projectId = SPageContext.getHeader("projectId")
 
         for(task in equipScanTaskList){
-            val equipmentService = SBaseService(SMybatisDao(Equipment::class.java))
-            val componentList = equipmentService.select("parentId" to task.equipId!!).exec()
+            //val equipmentService = SBaseService(SMybatisDao(Equipment::class.java))
+           // val componentList = equipmentService.select(SFilter.eq("parentId", task.equipId!!)).exec()
+            //val componentList = equipmentService.select("parentId" to task.equipId!!).exec()
+
+            //2021.10.26调整为从中间件查询设备信息
+            var equipRequest = SQueryRequest()
+            equipRequest.filters = "id = '"+task.equipId+"'"
+            //级联查询部件
+            var cascade = SCascadeQuery()
+            cascade.name = "component"
+            equipRequest.cascade = arrayListOf(cascade)
+
+            val equipmentList = admBaseService?.queryEquip(equipRequest)
+            if(CollUtil.isEmpty(equipmentList)){
+                return ;
+            }
+            val equipment = equipmentList?.get(0)
+
+            val componentList = equipment?.component
+            if (componentList != null) {
+                for(equipment in componentList){
+                    val equipScanTask = EquipScanTask()
+                    equipScanTask.id = IdUtils.uuidCreate()
+                    if(!task.projectId.isNullOrEmpty()){
+                        equipScanTask.projectId = task.projectId
+                    }else{
+                        equipScanTask.projectId = projectId
+                    }
+                    equipScanTask.taskSource = 4//数据源为设备台账
+                    equipScanTask.taskState = 1//任务状态为待验证
+                    equipScanTask.parentId = task.equipId
+                    equipScanTask.equipId = equipment!!.id
+                    equipScanTask.equipName = equipment!!.name
+                    equipScanTask.localId = equipment!!.localId
+                    equipScanTask.localName = equipment!!.localName
+                    equipScanTask.bimId = equipment!!.bimId
+                    equipScanTask.classCode = equipment!!.classCode
+                    equipScanTask.buildingId = equipment!!.buildingId
+                    equipScanTask.floorId = equipment!!.floorId
+                    equipScanTask.cadId = equipment!!.cadId
+                    equipScanTask.bimLocation = equipment.bimLocation
+                    equipScanTask.taskParentId = task.id
+                    if (equipment.codeType!=null){
+                        equipScanTask.taskType = equipment.codeType.toString()
+                    }else {
+                        equipScanTask.taskType = "1"
+                    }
 
-            for(equipment in componentList){
-                val equipScanTask = EquipScanTask()
-                equipScanTask.id = IdUtils.uuidCreate()
-                if(!task.projectId.isNullOrEmpty()){
-                    equipScanTask.projectId = task.projectId
-                }else{
-                    equipScanTask.projectId = projectId
+                    EquipScanTaskService.insert(equipScanTask)
                 }
-                equipScanTask.taskSource = 4//数据源为设备台账
-                equipScanTask.taskState = 1//任务状态为待验证
-                equipScanTask.parentId = task.equipId
-                equipScanTask.equipId = equipment!!.id
-                equipScanTask.equipName = equipment!!.name
-                equipScanTask.localId = equipment!!.localId
-                equipScanTask.localName = equipment!!.localName
-                equipScanTask.bimId = equipment!!.bimId
-                equipScanTask.classCode = equipment!!.classCode
-                equipScanTask.buildingId = equipment!!.buildingId
-                equipScanTask.floorId = equipment!!.floorId
-                equipScanTask.cadId = equipment!!.cadId
-                equipScanTask.bimLocation = equipment.bimLocation
-                equipScanTask.taskParentId = task.id
-                if (equipment.codeType!=null){
-                    equipScanTask.taskType = equipment.codeType.toString()
-                }else {
-                    equipScanTask.taskType = "1"
-                }
-
-                EquipScanTaskService.insert(equipScanTask)
             }
             resetObjStatus(task)
         }

+ 3 - 0
scanbuilding/src/main/kotlin/com/persagy/server/services/task/ModelScanTaskService.kt

@@ -605,6 +605,9 @@ object ModelScanTaskService : RService<ModelScanTask>(SMybatisDao(ModelScanTask:
 
         try {
             val entity2 = EquipScanTaskService.select(SFilter.eq("id", entity.id!!)).entity()
+            if(entity2 == null){
+                return false
+            }
             val entity1 = EquipmentService.select(SFilter.eq("id", entity2!!.equipId!!)).entity()
             if (entity1!=null){
                 if (entity1.taskState == 1){