瀏覽代碼

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

hanzhengyi 1 年之前
父節點
當前提交
7e1f5351da

+ 15 - 2
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseGgpFacilityController.java

@@ -135,6 +135,7 @@ public class BaseGgpFacilityController {
     /**
      * 关联设备查看分页
      * @param deviceId  设备ID
+     * @param deviceType  设备类型
      * @param id  设施主键ID
      * @param current      当前页
      * @param size     每页条数
@@ -142,12 +143,13 @@ public class BaseGgpFacilityController {
      */
     @Log(title = "关联设备绑定分页", businessType = BusinessType.OTHER)
     @GetMapping("/deviceBindInfo")
-    public ApiResult<CommonPage<Object>> deviceBindInfo(@RequestParam(value = "deviceId", required = false) String deviceId,
+    public ApiResult<CommonPage<Object>> deviceBindInfo(@RequestParam(value = "deviceType", required = false) Integer deviceType,
+                                                        @RequestParam(value = "deviceId", required = false) String deviceId,
                                                            @RequestParam(value = "id") Integer id,
                                                            @RequestParam(value = "current", required = false, defaultValue = "1") Integer current,
                                                            @RequestParam(value = "size", required = false, defaultValue = "10") Integer size)
     {
-        return ApiResult.success(baseGgpFacilityService.deviceBindInfo(deviceId, id, current, size));
+        return ApiResult.success(baseGgpFacilityService.deviceBindInfo(deviceType,deviceId, id, current, size));
     }
 
     /**
@@ -179,5 +181,16 @@ public class BaseGgpFacilityController {
         return ApiResult.success(baseGgpFacilityService.baseGgpFacilityList(baseGgpFacilityVO));
     }
 
+    /**
+     * 设施弹窗查询
+     *
+     * @param id  主键ID
+     * @return
+     */
+    @GetMapping("facilityPopInfo")
+    public ApiResult<List<Object>> facilityPopInfo(@RequestParam(value = "id") Integer id) {
+        return ApiResult.success(baseGgpFacilityService.facilityPopInfo(id));
+    }
+
 }
 

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

@@ -37,7 +37,7 @@ public interface BaseGgpFacilityService extends CrudService<BaseGgpFacility> {
 
     CommonPage<DmpDeviceInfo> deviceInfo(String deviceId,Integer id,Integer current,Integer size);
 
-    CommonPage<Object> deviceBindInfo(String deviceId,Integer id,Integer current,Integer size);
+    CommonPage<Object> deviceBindInfo(Integer deviceType,String deviceId,Integer id,Integer current,Integer size);
 
     CommonPage<BaseBuild> buildInfo(String buildNum, Integer id, Integer current, Integer size);
 
@@ -48,4 +48,11 @@ public interface BaseGgpFacilityService extends CrudService<BaseGgpFacility> {
      * @return
      */
     List<BaseGgpFacility> baseGgpFacilityList(BaseGgpFacilityVO baseGgpFacilityVO);
+
+    /**
+     * 设施弹窗查询
+     *
+     * @param id  主键ID
+     */
+    List<Object> facilityPopInfo(Integer id);
 }

+ 58 - 2
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseGgpFacilityServiceImpl.java

@@ -1,6 +1,8 @@
 package com.usky.iot.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -18,6 +20,7 @@ import com.usky.iot.service.BaseFacilityDeviceService;
 import com.usky.iot.service.BaseGgpFacilityService;
 import com.usky.iot.service.vo.*;
 import com.usky.system.model.LoginUser;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -46,6 +49,8 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
     private BaseBuildService baseBuildService;
     @Autowired
     private BaseFacilityTypeMapper baseFacilityTypeMapper;
+    @Autowired
+    private DmpProductInfoService dmpProductInfoService;
 
     @Override
     public boolean add(BaseGgpFacility baseGgpFacility) {
@@ -197,7 +202,8 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
     }
 
     @Override
-    public CommonPage<Object> deviceBindInfo(String deviceId,Integer id,Integer current,Integer size) {
+    public CommonPage<Object> deviceBindInfo(Integer deviceType,String deviceId,Integer id,Integer current,
+                                             Integer size) {
         List<Object> list = new ArrayList<>();
         IPage<DmpDeviceInfo> page = new Page<>(current, size);
         LambdaQueryWrapper<BaseFacilityDevice> lambdaQuery = Wrappers.lambdaQuery();
@@ -205,8 +211,10 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
         List<BaseFacilityDevice> baseFacilityDeviceList = baseFacilityDeviceService.list(lambdaQuery);
         LambdaQueryWrapper<DmpDeviceInfo> queryWrapper1 = Wrappers.lambdaQuery();
         queryWrapper1.select(DmpDeviceInfo::getId, DmpDeviceInfo::getDeviceId,
-                DmpDeviceInfo::getDeviceName, DmpDeviceInfo::getInstallAddress)
+                DmpDeviceInfo::getDeviceName, DmpDeviceInfo::getInstallAddress,DmpDeviceInfo::getDeviceType)
                 .eq(StringUtils.isNotBlank(deviceId),DmpDeviceInfo::getDeviceId, deviceId)
+                .eq(ObjectUtils.isNotEmpty(deviceType),DmpDeviceInfo::getDeviceType,deviceType)
+                .eq(DmpDeviceInfo::getTenantId,SecurityUtils.getTenantId())
                 .eq(DmpDeviceInfo::getDeleteFlag,0);
         page = dmpDeviceInfoService.page(page,queryWrapper1);
         if (CollectionUtils.isNotEmpty(page.getRecords())) {
@@ -215,6 +223,7 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
                 map.put("id", page.getRecords().get(i).getId());
                 map.put("deviceId", page.getRecords().get(i).getDeviceId());
                 map.put("deviceName", page.getRecords().get(i).getDeviceName());
+                map.put("deviceType", page.getRecords().get(i).getDeviceType());
                 map.put("installAddress", page.getRecords().get(i).getInstallAddress());
                 map.put("bindStatus", 0);
                 map.put("bindId", 0);
@@ -275,4 +284,51 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
         List<BaseGgpFacility> list = this.list(query);
         return list;
     }
+
+    @Override
+    public List<Object> facilityPopInfo(Integer id) {
+        List<Object> list = new ArrayList<>();
+        LambdaQueryWrapper<BaseGgpFacility> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(BaseGgpFacility::getId, id);
+        List<BaseGgpFacility> baseGgpFacilityList = this.list(queryWrapper);
+        LambdaQueryWrapper<BaseFacilityDevice> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.eq(BaseFacilityDevice::getFacilityId,id);
+        List<BaseFacilityDevice> baseFacilityDeviceList = baseFacilityDeviceService.list(lambdaQuery);
+        Map<String, Object> map = new HashMap<>();
+        map.put("id", baseGgpFacilityList.get(0).getId());
+        map.put("facilityName", baseGgpFacilityList.get(0).getFacilityName());
+        map.put("facilityAddress", baseGgpFacilityList.get(0).getFacilityAddress());
+        map.put("contact", baseGgpFacilityList.get(0).getContact());
+        map.put("contactPhone", baseGgpFacilityList.get(0).getContactPhone());
+        if (CollectionUtils.isNotEmpty(baseFacilityDeviceList)) {
+            List<String> deviceIdList = new ArrayList<>();
+            for (int i = 0; i < baseFacilityDeviceList.size(); i++) {
+                deviceIdList.add(baseFacilityDeviceList.get(i).getDeviceId());
+            }
+            QueryWrapper<DmpDeviceInfo> query1 = Wrappers.query();
+            query1.select("product_code as productCode","count(id) as count")
+                    .in("device_id",deviceIdList)
+                    .eq("delete_flag",0)
+                    .groupBy("product_code");
+            List<DmpDeviceInfo> dmpDeviceInfoList1 = dmpDeviceInfoService.list(query1);
+
+            QueryWrapper<DmpDeviceInfo> query = Wrappers.query();
+            query.select("product_code as productCode","count(id) as count")
+                    .in("device_id",deviceIdList)
+                    .eq("delete_flag",0)
+                    .groupBy("product_code");
+            List<DmpDeviceInfo> dmpDeviceInfoList = dmpDeviceInfoService.list(query);
+            if (CollectionUtils.isNotEmpty(dmpDeviceInfoList)){
+                List<String> productCodeList = new ArrayList<>();
+                for (int j = 0; j < dmpDeviceInfoList.size(); j++) {
+                    productCodeList.add(dmpDeviceInfoList.get(j).getProductCode());
+                }
+                LambdaQueryWrapper<DmpProductInfo> queryWrapper2 = Wrappers.lambdaQuery();
+                queryWrapper2.in(DmpProductInfo::getProductCode, productCodeList);
+                List<DmpProductInfo> dmpProductInfoList = dmpProductInfoService.list(queryWrapper2);
+
+            }
+        }
+        return list;
+    }
 }