|
@@ -31,6 +31,7 @@ import com.persagy.base.extensions.toJson
|
|
|
import com.persagy.database.SFilter
|
|
|
import com.persagy.database.SQueryBuilder
|
|
|
import com.persagy.mybatis.SMybatisDao
|
|
|
+import com.persagy.server.Opt
|
|
|
import com.persagy.server.datacenter.models.entities.dict.EquipCategory
|
|
|
import com.persagy.server.datacenter.models.entities.dict.EquipFamily
|
|
|
import com.persagy.server.datacenter.models.entities.dict.Family
|
|
@@ -38,6 +39,8 @@ import com.persagy.server.datacenter.models.entities.dictnew.DefClass
|
|
|
import com.persagy.server.datacenter.models.entities.graphtype.RelationTypeProject
|
|
|
import com.persagy.server.datacenter.models.entities.objects.*
|
|
|
import com.persagy.server.datacenter.models.entities.rel.REq2Sp
|
|
|
+import com.persagy.server.datacenter.models.entities.rel.RSp2Sp
|
|
|
+import com.persagy.server.datacenter.models.entities.rel.RSpinFl
|
|
|
import com.persagy.server.models.planar.PlanarEquip
|
|
|
import com.persagy.server.models.requests.PlanarEquipRequests
|
|
|
import com.persagy.server.service.base.Service
|
|
@@ -57,6 +60,8 @@ import com.persagy.service.utils.SSpringContextUtil
|
|
|
import org.slf4j.LoggerFactory
|
|
|
import java.util.*
|
|
|
import kotlin.collections.ArrayList
|
|
|
+import kotlin.collections.HashMap
|
|
|
+import kotlin.collections.HashSet
|
|
|
|
|
|
/**
|
|
|
* 设备和部件信息服务
|
|
@@ -87,6 +92,10 @@ object EquipmentComService : Service<Equipment>(SMybatisDao(Equipment::class.jav
|
|
|
|
|
|
/** 空间服务 */
|
|
|
val spaceService = SObjectService(SMybatisDao(ZoneSpace::class.java))
|
|
|
+ /** 空间建筑楼层 */
|
|
|
+ val spInFlService = SObjectService(SMybatisDao(RSpinFl::class.java))
|
|
|
+ /** 设备和空间关系 */
|
|
|
+ val rEq2SpService = SObjectService(SMybatisDao(REq2Sp::class.java))
|
|
|
|
|
|
/**
|
|
|
* 查询之前操作
|
|
@@ -659,24 +668,75 @@ object EquipmentComService : Service<Equipment>(SMybatisDao(Equipment::class.jav
|
|
|
|
|
|
val sQueryResponse = SQueryResponse<PlanarEquip>()
|
|
|
try {
|
|
|
+ /** 先查询空间数据 */
|
|
|
+ if (request.spaceIds.isNullOrEmpty()) {
|
|
|
+ request.spaceIds = ArrayList()
|
|
|
+ }
|
|
|
sQueryResponse.result = SResponseType.success
|
|
|
if (!request.equipTypes.isNullOrEmpty()&&!request.zoneTypes.isNullOrEmpty()&&!request.funcTypes.isNullOrEmpty()) {
|
|
|
- /** 先查询空间数据 */
|
|
|
- if (!request.spaceIds.isNullOrEmpty()) {
|
|
|
-
|
|
|
-// spaceService.select(SFilter.eq())
|
|
|
-
|
|
|
- } else {
|
|
|
|
|
|
+ val spInFlList = spInFlService.select(SFilter.eq("projectId", Opt.projectId!!), SFilter.eq("buildingId", request.buildingId!!),
|
|
|
+ SFilter.eq("floorId", request.floorId!!), SFilter.inList("objectType", request.zoneTypes!!)).exec()
|
|
|
+ val spIds = ArrayList<String>()
|
|
|
+ if (!spInFlList.isNullOrEmpty()){
|
|
|
+ for ( sp in spInFlList){
|
|
|
+ spIds!!.add(sp.spaceId!!)
|
|
|
+ }
|
|
|
+ val spaceList = spaceService.select(SFilter.eq("projectId", Opt.projectId!!), SFilter.inList("roomFuncType", request.funcTypes!!),
|
|
|
+ SFilter.inList("id", request.spaceIds!!)).exec()
|
|
|
+ if (!spaceList.isNullOrEmpty()) {
|
|
|
+ for (space in spaceList) {
|
|
|
+ request.spaceIds!!.add(space.id!!)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- } else if (!request.equipTypes.isNullOrEmpty()&&!request.zoneTypes.isNullOrEmpty()&&!request.funcTypes.isNullOrEmpty()){
|
|
|
-
|
|
|
+ if (request.spaceIds.isNullOrEmpty()){
|
|
|
+ sQueryResponse.content = ArrayList()
|
|
|
+ }else {
|
|
|
+ val rEq2SpList = rEq2SpService.select(SFilter.eq("projectId", Opt.projectId!!), SFilter.inList("id2", request.spaceIds!!)).exec()
|
|
|
+ if (!rEq2SpList.isNullOrEmpty()) {
|
|
|
+ val setIds = HashSet<String>()
|
|
|
+ for (rEq2Sp in rEq2SpList) {
|
|
|
+ setIds.add(rEq2Sp.id1!!)
|
|
|
+ }
|
|
|
+ val planarEquipList = planarEquipService.select(
|
|
|
+ SFilter.inList("classCode", request.equipTypes!!),SFilter.inList("id", setIds.toList()!!)
|
|
|
+ ).exec()
|
|
|
+ sQueryResponse.content = planarEquipList
|
|
|
+ } else {
|
|
|
+ sQueryResponse.content = ArrayList()
|
|
|
+ }
|
|
|
+ }
|
|
|
} else if (!request.equipTypes.isNullOrEmpty()&&!request.zoneTypes.isNullOrEmpty()){
|
|
|
|
|
|
- } else if (!request.equipTypes.isNullOrEmpty()&&!request.funcTypes.isNullOrEmpty()){
|
|
|
+ val spInFlList = spInFlService.select(SFilter.eq("projectId", Opt.projectId!!), SFilter.eq("buildingId", request.buildingId!!),
|
|
|
+ SFilter.eq("floorId", request.floorId!!), SFilter.inList("objectType", request.zoneTypes!!)).exec()
|
|
|
+ if (!spInFlList.isNullOrEmpty()){
|
|
|
+ for ( sp in spInFlList){
|
|
|
+ request.spaceIds!!.add(sp.spaceId!!)
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ if (request.spaceIds.isNullOrEmpty()){
|
|
|
+ sQueryResponse.content = ArrayList()
|
|
|
+ }else {
|
|
|
+ val rEq2SpList = rEq2SpService.select(SFilter.eq("projectId", Opt.projectId!!), SFilter.inList("id2", request.spaceIds!!)).exec()
|
|
|
+ if (!rEq2SpList.isNullOrEmpty()) {
|
|
|
+ val setIds = HashSet<String>()
|
|
|
+ for (rEq2Sp in rEq2SpList) {
|
|
|
+ setIds.add(rEq2Sp.id1!!)
|
|
|
+ }
|
|
|
+ val planarEquipList = planarEquipService.select(
|
|
|
+ SFilter.inList("classCode", request.equipTypes!!),SFilter.inList("id", setIds.toList()!!)
|
|
|
+ ).exec()
|
|
|
+ sQueryResponse.content = planarEquipList
|
|
|
+ } else {
|
|
|
+ sQueryResponse.content = ArrayList()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (!request.equipTypes.isNullOrEmpty()&&!request.funcTypes.isNullOrEmpty()){
|
|
|
+ sQueryResponse.content = ArrayList()
|
|
|
}else if (!request.equipTypes.isNullOrEmpty()){
|
|
|
|
|
|
val planarEquipList = planarEquipService.select(
|