Browse Source

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

hanzhengyi 1 year ago
parent
commit
c38735d0da

+ 28 - 5
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseFacilityDeviceController.java

@@ -1,9 +1,12 @@
 package com.usky.iot.controller.web;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.stereotype.Controller;
+import com.usky.common.core.bean.ApiResult;
+import com.usky.iot.domain.BaseFacilityDevice;
+import com.usky.iot.domain.BaseFacilityType;
+import com.usky.iot.service.BaseFacilityDeviceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -13,9 +16,29 @@ import org.springframework.stereotype.Controller;
  * @author han
  * @since 2023-06-07
  */
-@Controller
+@RestController
 @RequestMapping("/baseFacilityDevice")
 public class BaseFacilityDeviceController {
-
+    @Autowired
+    private BaseFacilityDeviceService baseFacilityDeviceService;
+    /**
+     * 新增
+     * @param baseFacilityDevice
+     * @return
+     */
+    @PostMapping("/add")
+    public ApiResult<Void> add(@RequestBody BaseFacilityDevice baseFacilityDevice){
+        baseFacilityDeviceService.add(baseFacilityDevice);
+        return ApiResult.success();
+    }
+    /**
+     * 删除
+     */
+    @DeleteMapping("/{id}")
+    public ApiResult<Void> remove(@PathVariable("id") Integer id)
+    {
+        baseFacilityDeviceService.remove(id);
+        return ApiResult.success();
+    }
 }
 

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

@@ -104,14 +104,14 @@ public class BaseGgpFacilityController {
     }
 
     /**
-     * 关联设备分页
+     * 关联设备查看分页
      * @param deviceId  设备ID
      * @param id  设施主键ID
      * @param current      当前页
      * @param size     每页条数
      * @return
      */
-    @Log(title = "关联设备分页", businessType = BusinessType.OTHER)
+    @Log(title = "关联设备查看分页", businessType = BusinessType.OTHER)
     @GetMapping("/deviceInfo")
     public ApiResult<CommonPage<DmpDeviceInfo>> deviceInfo(@RequestParam(value = "deviceId", required = false) String deviceId,
                                                            @RequestParam(value = "id") Integer id,
@@ -121,6 +121,24 @@ public class BaseGgpFacilityController {
         return ApiResult.success(baseGgpFacilityService.deviceInfo(deviceId, id, current, size));
     }
 
+    /**
+     * 关联设备查看分页
+     * @param deviceId  设备ID
+     * @param id  设施主键ID
+     * @param current      当前页
+     * @param size     每页条数
+     * @return
+     */
+    @Log(title = "关联设备绑定分页", businessType = BusinessType.OTHER)
+    @GetMapping("/deviceBindInfo")
+    public ApiResult<CommonPage<Object>> deviceBindInfo(@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));
+    }
+
     /**
      * 关联建筑分页
      * @param buildNum  建筑编号

+ 1 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseFacilityDevice.java

@@ -35,7 +35,7 @@ public class BaseFacilityDevice implements Serializable {
     /**
      * 设备id
      */
-    private Integer deviceId;
+    private String deviceId;
 
     /**
      * 创建人

+ 3 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseFacilityDeviceService.java

@@ -2,6 +2,7 @@ package com.usky.iot.service;
 
 import com.usky.iot.domain.BaseFacilityDevice;
 import com.usky.common.mybatis.core.CrudService;
+import com.usky.iot.domain.BaseFacilityType;
 
 /**
  * <p>
@@ -12,5 +13,7 @@ import com.usky.common.mybatis.core.CrudService;
  * @since 2023-06-07
  */
 public interface BaseFacilityDeviceService extends CrudService<BaseFacilityDevice> {
+    boolean add(BaseFacilityDevice baseFacilityDevice);
 
+    boolean remove(Integer id);
 }

+ 2 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseGgpFacilityService.java

@@ -34,6 +34,8 @@ 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<BaseBuild> buildInfo(String buildNum, Integer id, Integer current, Integer size);
 
     /**

+ 14 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseFacilityDeviceServiceImpl.java

@@ -1,11 +1,15 @@
 package com.usky.iot.service.impl;
 
+import com.usky.common.security.utils.SecurityUtils;
 import com.usky.iot.domain.BaseFacilityDevice;
+import com.usky.iot.domain.BaseFacilityType;
 import com.usky.iot.mapper.BaseFacilityDeviceMapper;
 import com.usky.iot.service.BaseFacilityDeviceService;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
+
 /**
  * <p>
  * 地理设施设备关联表 服务实现类
@@ -16,5 +20,15 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class BaseFacilityDeviceServiceImpl extends AbstractCrudService<BaseFacilityDeviceMapper, BaseFacilityDevice> implements BaseFacilityDeviceService {
+    @Override
+    public boolean add(BaseFacilityDevice baseFacilityDevice) {
+        baseFacilityDevice.setCreatedBy(SecurityUtils.getUsername());
+        baseFacilityDevice.setCreatedTime(LocalDateTime.now());
+        return this.save(baseFacilityDevice);
+    }
 
+    @Override
+    public boolean remove(Integer id) {
+        return this.removeById(id);
+    }
 }

+ 2 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseFacilityTypeServiceImpl.java

@@ -100,7 +100,8 @@ public class BaseFacilityTypeServiceImpl extends AbstractCrudService<BaseFacilit
         lambdaQuery.like(StringUtils.isNotBlank(typeName),BaseFacilityType::getTypeName,
                 typeName)
                 .eq(StringUtils.isNotBlank(typeCode),BaseFacilityType::getTypeCode,
-                        typeCode);
+                        typeCode)
+                .orderByDesc(BaseFacilityType::getId);
         page = this.page(page,lambdaQuery);
         return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
     }

+ 72 - 24
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseGgpFacilityServiceImpl.java

@@ -7,13 +7,13 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.usky.common.core.bean.CommonPage;
+import com.usky.common.core.util.UUIDUtils;
 import com.usky.common.security.utils.SecurityUtils;
 import com.usky.iot.domain.*;
 import com.usky.iot.mapper.BaseGgpFacilityMapper;
 import com.usky.iot.service.*;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.iot.service.vo.BaseGgpFacilityExportVo;
-import com.usky.iot.service.vo.BaseGgpFacilityListVO;
 import com.usky.iot.service.vo.BaseGgpFacilityRequest;
 import com.usky.iot.service.vo.BaseGgpFacilityVO;
 import com.usky.system.model.LoginUser;
@@ -23,7 +23,9 @@ import org.springframework.stereotype.Service;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -43,9 +45,12 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
     private DmpDeviceInfoService dmpDeviceInfoService;
     @Autowired
     private BaseBuildService baseBuildService;
+    @Autowired
+    private BaseFacilityTypeService baseFacilityTypeService;
 
     @Override
     public boolean add(BaseGgpFacility baseGgpFacility) {
+        baseGgpFacility.setFacilityNum(UUIDUtils.uuid());
         baseGgpFacility.setCreator(SecurityUtils.getUsername());
         baseGgpFacility.setCreateTime(LocalDateTime.now());
         return this.save(baseGgpFacility);
@@ -82,34 +87,41 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
     @Override
     public List<BaseGgpFacilityExportVo> recordLsitExport(BaseGgpFacilityRequest exRequest) {
         DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-        LoginUser loginUser = SecurityUtils.getLoginUser();
-        String userType = null;
-        if (loginUser != null && !"".equals(loginUser)) {
-            userType = loginUser.getUserType();
-        }
         LambdaQueryWrapper<BaseGgpFacility> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper
 //                .eq(BaseGgpFacility::getTenantId, SecurityUtils.getTenantId())
                 .like(StringUtils.isNotBlank(exRequest.getFacilityName()), BaseGgpFacility::getFacilityName, exRequest.getFacilityName())
                 .eq(StringUtils.isNotBlank(exRequest.getFacilityNum()), BaseGgpFacility::getFacilityNum, exRequest.getFacilityNum())
-                .eq(null != exRequest.getFacilityType(),BaseGgpFacility::getFacilityType,exRequest.getFacilityType())
+                .eq(exRequest.getFacilityType() != 0,BaseGgpFacility::getFacilityType,exRequest.getFacilityType())
                 .orderByDesc(BaseGgpFacility::getId);
         List<BaseGgpFacility> baseGgpFacilityList = this.list(queryWrapper);
         List<BaseGgpFacilityExportVo> list = new ArrayList<>();
-        for (int i = 0; i < baseGgpFacilityList.size(); i++) {
-            BaseGgpFacilityExportVo baseGgpFacilityExportVo = new BaseGgpFacilityExportVo();
-            baseGgpFacilityExportVo.setXh(i + 1);
-            baseGgpFacilityExportVo.setId(baseGgpFacilityList.get(i).getId());
-            baseGgpFacilityExportVo.setFacilityNum(baseGgpFacilityList.get(i).getFacilityNum());
-            baseGgpFacilityExportVo.setFacilityType(baseGgpFacilityList.get(i).getFacilityType());
-            baseGgpFacilityExportVo.setFacilityName(baseGgpFacilityList.get(i).getFacilityName());
-            baseGgpFacilityExportVo.setAddress(baseGgpFacilityList.get(i).getAddress());
-            baseGgpFacilityExportVo.setImagesUrl(baseGgpFacilityList.get(i).getImagesUrl());
-            baseGgpFacilityExportVo.setContact(baseGgpFacilityList.get(i).getContact());
-            baseGgpFacilityExportVo.setContactPhone(baseGgpFacilityList.get(i).getContactPhone());
-            baseGgpFacilityExportVo.setStatus(baseGgpFacilityList.get(i).getStatus());
-            baseGgpFacilityExportVo.setCreateTime(baseGgpFacilityList.get(i).getCreateTime().format(df));
-            list.add(baseGgpFacilityExportVo);
+        LambdaQueryWrapper<BaseFacilityType> lambdaQuery = Wrappers.lambdaQuery();
+        List<BaseFacilityType> typeList = baseFacilityTypeService.list(lambdaQuery);
+        if (CollectionUtils.isNotEmpty(baseGgpFacilityList)) {
+            for (int i = 0; i < baseGgpFacilityList.size(); i++) {
+                BaseGgpFacilityExportVo baseGgpFacilityExportVo = new BaseGgpFacilityExportVo();
+                baseGgpFacilityExportVo.setXh(i + 1);
+                baseGgpFacilityExportVo.setId(baseGgpFacilityList.get(i).getId());
+                baseGgpFacilityExportVo.setFacilityNum(baseGgpFacilityList.get(i).getFacilityNum());
+                baseGgpFacilityExportVo.setFacilityType("未知");
+                if (CollectionUtils.isNotEmpty(typeList)) {
+                    for (int j = 0; j < typeList.size(); j++) {
+                        if (baseGgpFacilityList.get(i).getFacilityType().equals(typeList.get(j).getId())) {
+                            baseGgpFacilityExportVo.setFacilityType(typeList.get(j).getTypeName());
+                        }
+                    }
+                }
+
+                baseGgpFacilityExportVo.setFacilityName(baseGgpFacilityList.get(i).getFacilityName());
+                baseGgpFacilityExportVo.setAddress(baseGgpFacilityList.get(i).getAddress());
+                baseGgpFacilityExportVo.setImagesUrl(baseGgpFacilityList.get(i).getImagesUrl());
+                baseGgpFacilityExportVo.setContact(baseGgpFacilityList.get(i).getContact());
+                baseGgpFacilityExportVo.setContactPhone(baseGgpFacilityList.get(i).getContactPhone());
+                baseGgpFacilityExportVo.setStatus(baseGgpFacilityList.get(i).getStatus());
+                baseGgpFacilityExportVo.setCreateTime(baseGgpFacilityList.get(i).getCreateTime().format(df));
+                list.add(baseGgpFacilityExportVo);
+            }
         }
         return list;
     }
@@ -129,7 +141,7 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
         lambdaQuery.eq(BaseFacilityDevice::getFacilityId,id);
         List<BaseFacilityDevice> baseFacilityDeviceList = baseFacilityDeviceService.list(lambdaQuery);
         if (CollectionUtils.isNotEmpty(baseFacilityDeviceList)) {
-            List<Integer> deviceIdList = new ArrayList<>();
+            List<String> deviceIdList = new ArrayList<>();
             for (int i = 0; i < baseFacilityDeviceList.size(); i++) {
                 deviceIdList.add(baseFacilityDeviceList.get(i).getDeviceId());
             }
@@ -138,7 +150,7 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
                     LambdaQueryWrapper<DmpDeviceInfo> queryWrapper1 = Wrappers.lambdaQuery();
                     queryWrapper1.select(DmpDeviceInfo::getId, DmpDeviceInfo::getDeviceId,
                             DmpDeviceInfo::getDeviceName, DmpDeviceInfo::getInstallAddress)
-                            .in(DmpDeviceInfo::getId, deviceIdList)
+                            .in(DmpDeviceInfo::getDeviceId, deviceIdList)
                             .eq(DmpDeviceInfo::getDeviceId, deviceId)
                             .eq(DmpDeviceInfo::getDeleteFlag,0);
                     page = dmpDeviceInfoService.page(page,queryWrapper1);
@@ -146,7 +158,7 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
                     LambdaQueryWrapper<DmpDeviceInfo> queryWrapper1 = Wrappers.lambdaQuery();
                     queryWrapper1.select(DmpDeviceInfo::getId, DmpDeviceInfo::getDeviceId,
                             DmpDeviceInfo::getDeviceName, DmpDeviceInfo::getInstallAddress)
-                            .in(DmpDeviceInfo::getId, deviceIdList)
+                            .in(DmpDeviceInfo::getDeviceId, deviceIdList)
                             .eq(DmpDeviceInfo::getDeleteFlag,0);
                     page = dmpDeviceInfoService.page(page,queryWrapper1);
                 }
@@ -155,6 +167,42 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
         return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
     }
 
+    @Override
+    public CommonPage<Object> deviceBindInfo(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();
+        lambdaQuery.eq(BaseFacilityDevice::getFacilityId,id);
+        List<BaseFacilityDevice> baseFacilityDeviceList = baseFacilityDeviceService.list(lambdaQuery);
+        LambdaQueryWrapper<DmpDeviceInfo> queryWrapper1 = Wrappers.lambdaQuery();
+        queryWrapper1.select(DmpDeviceInfo::getId, DmpDeviceInfo::getDeviceId,
+                DmpDeviceInfo::getDeviceName, DmpDeviceInfo::getInstallAddress)
+                .eq(StringUtils.isNotBlank(deviceId),DmpDeviceInfo::getDeviceId, deviceId)
+                .eq(DmpDeviceInfo::getDeleteFlag,0);
+        page = dmpDeviceInfoService.page(page,queryWrapper1);
+        if (CollectionUtils.isNotEmpty(page.getRecords())) {
+            for (int i = 0; i < page.getRecords().size(); i++) {
+                Map<String, Object> map = new HashMap<>();
+                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("installAddress", page.getRecords().get(i).getInstallAddress());
+                map.put("bindStatus", 0);
+                map.put("bindId", 0);
+                if (CollectionUtils.isNotEmpty(baseFacilityDeviceList)) {
+                    for (int j = 0; j < baseFacilityDeviceList.size(); j++) {
+                        if (page.getRecords().get(i).getDeviceId().equals(baseFacilityDeviceList.get(j).getDeviceId())) {
+                            map.put("bindStatus", 1);
+                            map.put("bindId", baseFacilityDeviceList.get(j).getId());
+                        }
+                    }
+                }
+                list.add(map);
+            }
+        }
+        return new CommonPage<>(list,page.getTotal(),page.getCurrent(),page.getSize());
+    }
+
     @Override
     public CommonPage<BaseBuild> buildInfo(String buildNum, Integer id, Integer current, Integer size) {
         IPage<BaseBuild> page = new Page<>(current, size);

+ 2 - 2
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/vo/BaseGgpFacilityExportVo.java

@@ -46,7 +46,7 @@ public class BaseGgpFacilityExportVo implements Serializable {
      * 设施类型
      */
     @Excel(name = "设施类型")
-    private Integer facilityType;
+    private String facilityType;
 
     /**
      * 设施名称
@@ -87,7 +87,7 @@ public class BaseGgpFacilityExportVo implements Serializable {
     /**
      * 开始时间
      */
-    @Excel(name = "开始时间")
+    @Excel(name = "创建时间")
     private String createTime;