|
@@ -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
|
|
@@ -33,11 +34,15 @@ import com.google.gson.reflect.TypeToken
|
|
|
import com.persagy.base.extensions.toJson
|
|
|
import com.persagy.database.SFilter
|
|
|
import com.persagy.database.SPageQueryInfo
|
|
|
+import com.persagy.database.functions.SLength
|
|
|
import com.persagy.mybatis.SMybatisDao
|
|
|
import com.persagy.server.Opts
|
|
|
import com.persagy.server.datacenter.models.entities.assistant.TaskPic
|
|
|
import com.persagy.server.datacenter.models.entities.dict.EquipFamilyCategory
|
|
|
+import com.persagy.server.datacenter.models.entities.dictnew.DefClass
|
|
|
+import com.persagy.server.datacenter.models.entities.objects.Equipment
|
|
|
import com.persagy.server.datacenter.models.entities.objects.Property
|
|
|
+import com.persagy.server.datacenter.models.entities.task.EquipScanTaskQuery
|
|
|
import com.persagy.server.datacenter.models.entities.task.PropertyScanTask
|
|
|
import com.persagy.server.datacenter.models.entities.task.SchemeUtils
|
|
|
import com.persagy.server.scanbuilding.UserLog
|
|
@@ -49,11 +54,15 @@ 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 com.persagy.service.models.responses.SQueryResponse
|
|
|
import org.slf4j.LoggerFactory
|
|
|
import org.springframework.beans.factory.annotation.Autowired
|
|
|
import org.springframework.web.bind.annotation.RequestBody
|
|
|
import java.util.*
|
|
|
+import java.util.stream.Collectors
|
|
|
import kotlin.collections.ArrayList
|
|
|
|
|
|
/**
|
|
@@ -80,6 +89,103 @@ object PropertyScanTaskService : RService<PropertyScanTask>(SMybatisDao(Property
|
|
|
@Autowired
|
|
|
private val dmpBaseService: DmpBaseService? = DmpBaseService()
|
|
|
|
|
|
+
|
|
|
+ fun pageQuerys(request: SQueryRequest): SQueryResponse<PropertyScanTask> {
|
|
|
+ //查询设备台账任务
|
|
|
+ val projectId = SPageContext.getHeader("projectId").toString()
|
|
|
+ val withFilterList = ArrayList<SFilter>()
|
|
|
+ withFilterList.add(SFilter.eq("projectId", SPageContext.getHeader("projectId").toString()))
|
|
|
+ //withFilterList.add(SFilter.lt(SLength("classCode"), 7))
|
|
|
+ val pageQuery = PropertyScanTaskService.pageQuery(request, withFilterList)
|
|
|
+ if (!pageQuery.content.isNullOrEmpty()&&pageQuery.content!!.size>0){
|
|
|
+
|
|
|
+ //级联查询设备相关信息:建筑,楼层,空间等
|
|
|
+ val equipScanTaskList = pageQuery.content
|
|
|
+ var cascadeQueryAdmEquip = arrayListOf<Property>()
|
|
|
+ if (equipScanTaskList != null) {
|
|
|
+
|
|
|
+ val cascades = ArrayList<SCascadeQuery>()
|
|
|
+ //级联查询建筑
|
|
|
+ val buildCacade = SCascadeQuery()
|
|
|
+ buildCacade.name = "building"
|
|
|
+ cascades.add(buildCacade)
|
|
|
+ //级联查询楼层
|
|
|
+ val floorCacade = SCascadeQuery()
|
|
|
+ floorCacade.name="floor"
|
|
|
+ cascades.add(floorCacade)
|
|
|
+
|
|
|
+ val cascade = request.cascade
|
|
|
+ if (cascade != null) {
|
|
|
+ cascade.addAll(cascades)
|
|
|
+ request.cascade= cascade
|
|
|
+ }else{
|
|
|
+ request.cascade= cascades
|
|
|
+ }
|
|
|
+ cascadeQueryAdmEquip = cascadeQueryAdmProperty(equipScanTaskList, request) as ArrayList<Property>
|
|
|
+ }
|
|
|
+ val equipMap = cascadeQueryAdmEquip?.stream()?.collect(Collectors.groupingBy { item: Property -> item.id })
|
|
|
+ for (content in pageQuery.content!!){
|
|
|
+ //设置级联查询结果
|
|
|
+ val caseNodes = equipMap.get(content.equipId)
|
|
|
+ if(CollUtil.isNotEmpty(caseNodes)){
|
|
|
+ val equip = caseNodes?.get(0)
|
|
|
+ if (equip != null) {
|
|
|
+ content.building = equip.building
|
|
|
+ content.floor = equip.floor
|
|
|
+ /*val component = equip.component
|
|
|
+ val toAdmMultiEntity = AdmEntityTransferUtil.toAdmMultiEntity(component, null, EquipScanTaskQuery::class.java)
|
|
|
+ content.component = toAdmMultiEntity*/
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //查询组件
|
|
|
+ /* val exec = EquipScanTaskQueryService.select(SFilter.eq("parentId", content.equipId!!), SFilter.eq("taskParentId", content.id!!)).exec()
|
|
|
+ if (exec.size>0){
|
|
|
+ content.component = exec
|
|
|
+ }*/
|
|
|
+ //查询中台类型数据,2021.10.25日中心中台整合调整
|
|
|
+ val param = JSONObject()
|
|
|
+ val criteria = JSONObject()
|
|
|
+ criteria["code"] = content.classCode!!
|
|
|
+ param["criteria"] = criteria
|
|
|
+ val dictTypes = dmpBaseService?.queryDictType(param)
|
|
|
+ val entity = AdmEntityTransferUtil.toAdmMultiEntity(dictTypes, null, EquipFamilyCategory::class.java)?.get(0)
|
|
|
+ if (entity!=null) {
|
|
|
+ content.equipFamily = entity
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return pageQuery
|
|
|
+ } // Fun
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 级联查询资产相关信息:建筑,楼层,空间等
|
|
|
+ */
|
|
|
+ fun cascadeQueryAdmProperty(equipScanTaskList: List<PropertyScanTask>?, request: SQueryRequest): List<Property>? {
|
|
|
+ //级联查询设备相关信息:建筑,楼层,空间等
|
|
|
+ if(CollUtil.isEmpty(equipScanTaskList)){
|
|
|
+ return ArrayList<Property>()
|
|
|
+ }
|
|
|
+ val equipIds = equipScanTaskList?.stream()?.map(PropertyScanTask::equipId)?.collect(Collectors.toList<String>())
|
|
|
+ var equipRequest = SQueryRequest()
|
|
|
+ equipRequest.filters = "id in "+"(\'" + java.lang.String.join("\',\'", equipIds) + "\')"
|
|
|
+
|
|
|
+ val requestCascade = request.cascade
|
|
|
+ //查询级联关系
|
|
|
+ val cascadeList = arrayListOf<SCascadeQuery>()
|
|
|
+ if (requestCascade != null) {
|
|
|
+ for(cascade in requestCascade){
|
|
|
+ if("scanScheme".equals(cascade.name)){
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ cascadeList.add(cascade)
|
|
|
+ }
|
|
|
+ equipRequest.cascade = cascadeList;
|
|
|
+ return admBaseService?.queryProperty(equipRequest)
|
|
|
+ }
|
|
|
+ return ArrayList<Property>()
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 插入之前先过滤已经存在未验证任务的对象,返回新列表
|
|
|
*/
|
|
@@ -351,7 +457,7 @@ object PropertyScanTaskService : RService<PropertyScanTask>(SMybatisDao(Property
|
|
|
} // Fun onUpdateSuccess
|
|
|
|
|
|
override fun onQuerySuccess(pageInfo: SPageQueryInfo<PropertyScanTask>) {
|
|
|
- if (!pageInfo.content.isNullOrEmpty()){
|
|
|
+ /* if (!pageInfo.content.isNullOrEmpty()){
|
|
|
for (content in pageInfo.content!!){
|
|
|
// val entity = equipFamilyCategoryService.select(SFilter.eq("family", content.classCode!!)).entity()
|
|
|
//查询中台类型数据,2021.10.25日中心中台整合调整
|
|
@@ -367,8 +473,10 @@ object PropertyScanTaskService : RService<PropertyScanTask>(SMybatisDao(Property
|
|
|
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ }*/
|
|
|
super.onQuerySuccess(pageInfo)
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
} // Class PropertyScanTaskService
|