Explorar o código

Merge branch 'han' of uskycloud/usky-modules into server-165

hanzhengyi hai 1 ano
pai
achega
438075fb71

+ 11 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseBuildController.java

@@ -5,6 +5,7 @@ import com.usky.common.core.bean.ApiResult;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.iot.domain.BaseBuild;
 import com.usky.iot.domain.BaseBuildFacility;
+import com.usky.iot.domain.BaseBuildFacilityType;
 import com.usky.iot.domain.BaseGgpFacility;
 import com.usky.iot.service.BaseBuildService;
 import com.usky.iot.service.vo.*;
@@ -116,6 +117,16 @@ public class BaseBuildController {
                                                                @RequestParam(value = "typeCode") String typeCode) {
         return ApiResult.success(baseBuildService.typeFacilityInfo(id,floor,typeCode));
     }
+
+    /**
+     * 建筑关联类型查询
+     * @param id  主键ID
+     * @return
+     */
+    @GetMapping("buildTypeInfo")
+    public ApiResult<List<BaseBuildFacilityType>> buildTypeInfo(@RequestParam(value = "id") Integer id) {
+        return ApiResult.success(baseBuildService.buildTypeInfo(id));
+    }
 }
 
 

+ 8 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseBuildService.java

@@ -4,6 +4,7 @@ import com.usky.common.core.bean.CommonPage;
 import com.usky.iot.domain.BaseBuild;
 import com.usky.common.mybatis.core.CrudService;
 import com.usky.iot.domain.BaseBuildFacility;
+import com.usky.iot.domain.BaseBuildFacilityType;
 import com.usky.iot.service.vo.BaseBuildFacilityVO;
 import com.usky.iot.service.vo.BuildFacilityRelateRequestVO;
 import com.usky.iot.service.vo.BuildFacilityRelateResponeVO;
@@ -37,7 +38,7 @@ public interface BaseBuildService extends CrudService<BaseBuild> {
     /**
      * 建筑设施关联查询
      *
-     * @param id  主键ID
+     * @param baseBuildFacilityVO  主键ID
      */
     List<Object> buildFacilityInfo(BaseBuildFacilityVO baseBuildFacilityVO);
 
@@ -50,5 +51,11 @@ public interface BaseBuildService extends CrudService<BaseBuild> {
      */
     List<BaseBuildFacility> typeFacilityInfo(Integer id, String floor, String typeCode);
 
+    /**
+     * 建筑关联类型查询
+     * @param id  主键ID
+     */
+    List<BaseBuildFacilityType> buildTypeInfo(Integer id);
+
 //    boolean checkNameUnique(BaseBuild baseBuild);
 }

+ 29 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseBuildServiceImpl.java

@@ -295,6 +295,35 @@ public class BaseBuildServiceImpl extends AbstractCrudService<BaseBuildMapper, B
         return list;
     }
 
+    @Override
+    public List<BaseBuildFacilityType> buildTypeInfo(Integer id) {
+        LambdaQueryWrapper<BaseBuildFacilityRelate> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(BaseBuildFacilityRelate::getBuildId,id);
+        List<BaseBuildFacilityRelate> baseBuildFacilityList = baseBuildFacilityRelateService.list(queryWrapper);
+        List<Integer> facilityIdList = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(baseBuildFacilityList)) {
+            for (int i = 0; i < baseBuildFacilityList.size(); i++) {
+                facilityIdList.add(baseBuildFacilityList.get(i).getFacilityId());
+            }
+        }
+        QueryWrapper<BaseBuildFacility> query4 = Wrappers.query();
+        query4.select("facility_type as facilityType","count(id) as count")
+                .in("id",facilityIdList)
+                .eq("delete_flag",0)
+                .groupBy("facility_type");
+        List<Map<String, Object>> baseBuildFacilityList5 = baseBuildFacilityService.listMaps(query4);
+        List<String> facilityTypeList = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(baseBuildFacilityList5)) {
+            for (int l = 0; l < baseBuildFacilityList5.size(); l++) {
+                facilityTypeList.add(baseBuildFacilityList5.get(l).get("facilityType").toString());
+            }
+        }
+        LambdaQueryWrapper<BaseBuildFacilityType> queryWrapper1 = Wrappers.lambdaQuery();
+        queryWrapper1.in(BaseBuildFacilityType::getTypeCode,facilityTypeList);
+        List<BaseBuildFacilityType> baseBuildFacilityType = baseBuildFacilityTypeService.list(queryWrapper1);
+        return baseBuildFacilityType;
+    }
+
 //    @Override
 //    public boolean checkNameUnique(BaseBuild baseBuild){
 //        Integer id = null == baseBuild.getId()?-1:baseBuild.getId();