فهرست منبع

Merge branch 'master' into server-165

james 1 سال پیش
والد
کامیت
b33a06dd09
83فایلهای تغییر یافته به همراه2479 افزوده شده و 423 حذف شده
  1. 6 10
      service-backend/service-backend-biz/pom.xml
  2. 23 3
      service-backend/service-backend-biz/src/main/java/com/usky/backend/BackendApplication.java
  3. 2 2
      service-backend/service-backend-biz/src/main/resources/bootstrap.yml
  4. 1 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/MybatisGeneratorUtils.java
  5. 3 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/BaseBuildController.java
  6. 42 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/BaseGgpFacilityController.java
  7. 6 8
      service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/DemFireStationController.java
  8. 37 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/DemStreetMicroStationController.java
  9. 166 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/BaseGgpFacility.java
  10. 5 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/DemFireStation.java
  11. 100 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/DemStreetMicroStation.java
  12. 5 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/mapper/BaseCompanyMapper.java
  13. 16 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/mapper/BaseGgpFacilityMapper.java
  14. 16 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/mapper/DemStreetMicroStationMapper.java
  15. 2 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/BaseBuildService.java
  16. 28 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/BaseGgpFacilityService.java
  17. 3 2
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/DemFireStationService.java
  18. 25 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/DemStreetMicroStationService.java
  19. 26 5
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BaseBuildServiceImpl.java
  20. 5 3
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BaseCompanyServiceImpl.java
  21. 52 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BaseGgpFacilityServiceImpl.java
  22. 5 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/DemFireStationServiceImpl.java
  23. 32 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/DemStreetMicroStationServiceImpl.java
  24. 1 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PatrolInspectionPersonnelServiceImpl.java
  25. 24 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/BaseGgpFacilityListVO.java
  26. 28 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/BaseGgpFacilityVO.java
  27. 28 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/DemFireStationVO.java
  28. 53 33
      service-fire/service-fire-biz/src/main/resources/logback.xml
  29. 14 1
      service-fire/service-fire-biz/src/main/resources/mapper/fire/BaseCompanyMapper.xml
  30. 37 0
      service-fire/service-fire-biz/src/main/resources/mapper/fire/BaseGgpFacilityMapper.xml
  31. 1 0
      service-fire/service-fire-biz/src/main/resources/mapper/fire/DemFireStationMapper.xml
  32. 24 0
      service-fire/service-fire-biz/src/main/resources/mapper/fire/DemStreetMicroStationMapper.xml
  33. 108 108
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/MybatisGeneratorUtils.java
  34. 76 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseGgpFacilityController.java
  35. 0 20
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/DmpProductAttributeAttachController.java
  36. 25 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/TaskController.java
  37. 166 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseGgpFacility.java
  38. 16 10
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpDeviceInfo.java
  39. 2 10
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpDeviceStatus.java
  40. 0 3
      service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpProductAttribute.java
  41. 16 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseGgpFacilityMapper.java
  42. 0 17
      service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/DmpProductAttributeAttachMapper.java
  43. 24 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/BaseGgpFacilityService.java
  44. 0 26
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/DmpProductAttributeAttachService.java
  45. 60 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseGgpFacilityServiceImpl.java
  46. 25 6
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpDeviceInfoServiceImpl.java
  47. 1 1
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpDeviceStatusServiceImpl.java
  48. 0 48
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpProductAttributeAttachServiceImpl.java
  49. 0 21
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpProductAttributeServiceImpl.java
  50. 53 15
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpProductInfoServiceImpl.java
  51. 29 0
      service-iot/service-iot-biz/src/main/java/com/usky/iot/service/vo/BaseGgpFacilityRequest.java
  52. 37 0
      service-iot/service-iot-biz/src/main/resources/mapper/iot/BaseGgpFacilityMapper.xml
  53. 1 2
      service-iot/service-iot-biz/src/main/resources/mapper/iot/DmpDeviceInfoMapper.xml
  54. 4 5
      service-iot/service-iot-biz/src/main/resources/mapper/iot/DmpDeviceStatusMapper.xml
  55. 0 13
      service-iot/service-iot-biz/src/main/resources/mapper/iot/DmpProductAttributeAttachMapper.xml
  56. 3 2
      service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DataEvHistoryController.java
  57. 24 3
      service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DataLgHistoryController.java
  58. 9 1
      service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DataRealTimeController.java
  59. 345 0
      service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DeviceHttpController.java
  60. 13 0
      service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DmpDeviceController.java
  61. 51 0
      service-park/service-park-biz/src/main/java/com/usky/park/controller/web/EgConfigController.java
  62. 7 3
      service-park/service-park-biz/src/main/java/com/usky/park/controller/web/EventEgController.java
  63. 55 0
      service-park/service-park-biz/src/main/java/com/usky/park/controller/web/EventLcController.java
  64. 13 12
      service-park/service-park-biz/src/main/java/com/usky/park/domain/EgConfig.java
  65. 106 0
      service-park/service-park-biz/src/main/java/com/usky/park/domain/EventLc.java
  66. 16 0
      service-park/service-park-biz/src/main/java/com/usky/park/mapper/EgConfigMapper.java
  67. 16 0
      service-park/service-park-biz/src/main/java/com/usky/park/mapper/EventLcMapper.java
  68. 3 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/DataLgHistoryService.java
  69. 3 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/DataRealTimeService.java
  70. 10 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/DmpDeviceService.java
  71. 34 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/EgConfigService.java
  72. 2 2
      service-park/service-park-biz/src/main/java/com/usky/park/service/EventEgService.java
  73. 31 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/EventLcService.java
  74. 22 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/impl/DataLgHistoryServiceImpl.java
  75. 7 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/impl/DataRealTimeServiceImpl.java
  76. 62 4
      service-park/service-park-biz/src/main/java/com/usky/park/service/impl/DmpDeviceServiceImpl.java
  77. 39 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/impl/EgConfigServiceImpl.java
  78. 54 16
      service-park/service-park-biz/src/main/java/com/usky/park/service/impl/EventEgServiceImpl.java
  79. 45 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/impl/EventLcServiceImpl.java
  80. 10 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/vo/DmpDeviceVO.java
  81. 2 2
      service-park/service-park-biz/src/main/resources/bootstrap.yml
  82. 13 0
      service-park/service-park-biz/src/main/resources/mapper/park/EgConfigMapper.xml
  83. 25 0
      service-park/service-park-biz/src/main/resources/mapper/park/EventLcMapper.xml

+ 6 - 10
service-backend/service-backend-biz/pom.xml

@@ -19,25 +19,21 @@
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
         </dependency>
-        <!-- Pagehelper -->
         <dependency>
             <groupId>com.github.pagehelper</groupId>
             <artifactId>pagehelper-spring-boot-starter</artifactId>
         </dependency>
 
-
         <dependency>
             <groupId>com.usky</groupId>
-            <artifactId>service-backend-api</artifactId>
-            <version>0.0.1</version>
+            <artifactId>ruoyi-common-swagger</artifactId>
         </dependency>
 
-<!--        <dependency>-->
-<!--            <groupId>com.usky</groupId>-->
-<!--            <artifactId>usky-module-demo-api</artifactId>-->
-<!--            <version>0.0.1</version>-->
-<!--        </dependency>-->
-
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+            <version>${swagger.fox.version}</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 23 - 3
service-backend/service-backend-biz/src/main/java/com/usky/backend/BackendApplication.java

@@ -1,11 +1,19 @@
 package com.usky.backend;
 
 
+import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2;
 import org.mybatis.spring.annotation.MapperScan;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.ConfigurableApplicationContext;
 import org.springframework.context.annotation.ComponentScan;
+import org.springframework.core.env.Environment;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
 
 /**
  * 系统模块
@@ -14,14 +22,26 @@ import org.springframework.context.annotation.ComponentScan;
  */
 
 
+@EnableCustomSwagger2
 @EnableFeignClients(basePackages = "com.usky")
 @MapperScan(value = "com.usky.backend.mapper")
 @ComponentScan("com.usky")
 @SpringBootApplication
 public class BackendApplication
 {
-    public static void main(String[] args)
-    {
-        SpringApplication.run(BackendApplication.class, args);
+    private static final Logger LOGGER = LoggerFactory.getLogger(BackendApplication.class);
+
+    public static void main(String[] args) throws UnknownHostException {
+        ConfigurableApplicationContext application = SpringApplication.run(BackendApplication.class, args);
+        Environment env = application.getEnvironment();
+        String ip = InetAddress.getLocalHost().getHostAddress();
+        String port = env.getProperty("server.port");
+        String path = env.getProperty("server.servlet.context-path");
+        LOGGER.info("\n----------------------------------------------------------\n\t" +
+                "Application is running! Access URLs:\n\t" +
+                "Local: \t\thttp://localhost:" + port + (null==path?"":path) + "/\n\t" +
+                "External: \thttp://" + ip + ":" + port + (null==path?"":path) + "/\n\t" +
+                "Api: \t\thttp://" + ip + ":" + port + (null==path?"":path) + "/swagger-ui/index.html\n\t" +
+                "----------------------------------------------------------");
     }
 }

+ 2 - 2
service-backend/service-backend-biz/src/main/resources/bootstrap.yml

@@ -14,10 +14,10 @@ spring:
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: 101.133.214.75:8848
+        server-addr: usky-cloud-nacos:8848
       config:
         # 配置中心地址
-        server-addr: 101.133.214.75:8848
+        server-addr: usky-cloud-nacos:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置

+ 1 - 1
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/MybatisGeneratorUtils.java

@@ -71,7 +71,7 @@ public class MybatisGeneratorUtils {
         // strategy.setTablePrefix("t_"); // 表名前缀
         strategy.setEntityLombokModel(true); //使用lombok
         //修改自己想要生成的表
-        strategy.setInclude("dem_fire_station");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        strategy.setInclude("base_ggp_facility");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
         mpg.setStrategy(strategy);
 
         // 关闭默认 xml 生成,调整生成 至 根目录

+ 3 - 1
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/BaseBuildController.java

@@ -38,6 +38,7 @@ public class BaseBuildController {
      *
      * @param buildNum  建筑编号
      * @param buildName 建筑名称
+     * @param companyId 单位ID
      * @param pageNum   当前页
      * @param pageSize  每页条数
      * @return
@@ -45,9 +46,10 @@ public class BaseBuildController {
     @GetMapping("baseBuildList")
     public ApiResult<CommonPage<Object>> baseBuildList(@RequestParam(value = "buildNum", required = false) String buildNum,
                                                        @RequestParam(value = "buildName", required = false) String buildName,
+                                                       @RequestParam(value = "companyId", required = false) String companyId,
                                                        @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
                                                        @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
-        return ApiResult.success(baseBuildService.baseBuildList(buildNum, buildName, pageNum, pageSize));
+        return ApiResult.success(baseBuildService.baseBuildList(buildNum, buildName, companyId, pageNum, pageSize));
     }
 
     /**

+ 42 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/BaseGgpFacilityController.java

@@ -0,0 +1,42 @@
+package com.usky.fire.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.fire.domain.BaseGgpFacility;
+import com.usky.fire.service.BaseGgpFacilityService;
+import com.usky.fire.service.vo.BaseGgpFacilityListVO;
+import com.usky.fire.service.vo.BaseGgpFacilityVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 地理信息 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2023-04-10
+ */
+@RestController
+@RequestMapping("/baseGgpFacility")
+public class BaseGgpFacilityController {
+    @Autowired
+    private BaseGgpFacilityService baseGgpFacilityService;
+    /**
+     * 地理信息-撒点
+     *
+     * @param baseGgpFacilityVO
+     * @return
+     */
+    @PostMapping("baseGgpFacilityList")
+    public ApiResult<List<BaseGgpFacility>> baseGgpFacilityList(@RequestBody BaseGgpFacilityVO baseGgpFacilityVO) {
+        return ApiResult.success(baseGgpFacilityService.baseGgpFacilityList(baseGgpFacilityVO));
+    }
+}
+

+ 6 - 8
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/DemFireStationController.java

@@ -6,13 +6,11 @@ import com.usky.fire.domain.DemFireStation;
 import com.usky.fire.domain.DemHighRise;
 import com.usky.fire.service.DemFireStationService;
 import com.usky.fire.service.DemHighRiseService;
+import com.usky.fire.service.vo.DemFireStationVO;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.*;
 
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
 
@@ -32,12 +30,12 @@ public class DemFireStationController {
     /**
      * 消防站-撒点
      *
-     * @param id  主键ID
+     * @param demFireStationVO
      * @return
      */
-    @GetMapping("demFireStationList")
-    public ApiResult<List<DemFireStation>> demFireStationList(@RequestParam(value = "id", required = false) Integer id) {
-        return ApiResult.success(demFireStationService.demFireStationList(id));
+    @PostMapping("demFireStationList")
+    public ApiResult<List<DemFireStation>> demFireStationList(@RequestBody DemFireStationVO demFireStationVO) {
+        return ApiResult.success(demFireStationService.demFireStationList(demFireStationVO));
     }
 }
 

+ 37 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/DemStreetMicroStationController.java

@@ -0,0 +1,37 @@
+package com.usky.fire.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.fire.domain.DemStreetMicroStation;
+import com.usky.fire.service.DemStreetMicroStationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 街镇微型消防站 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2023-04-06
+ */
+@RestController
+@RequestMapping("/demStreetMicroStation")
+public class DemStreetMicroStationController {
+    @Autowired
+    private DemStreetMicroStationService demStreetMicroStationService;
+
+    /**
+     * 街镇微型消防站-撒点
+     *
+     * @param streetTown
+     * @return
+     */
+    @GetMapping("demStreetMicroStationList")
+    public ApiResult<List<DemStreetMicroStation>> demStreetMicroStationList(@RequestParam(value = "streetTown", required = false) String streetTown) {
+        return ApiResult.success(demStreetMicroStationService.demStreetMicroStationList(streetTown));
+    }
+}
+

+ 166 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/BaseGgpFacility.java

@@ -0,0 +1,166 @@
+package com.usky.fire.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 地理信息
+ * </p>
+ *
+ * @author han
+ * @since 2023-04-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BaseGgpFacility implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设施编号
+     */
+    private String facilityNum;
+
+    /**
+     * 设施名称
+     */
+    private String facilityName;
+
+    /**
+     * 设施状态
+     */
+    private Integer status;
+
+    /**
+     * 设施地址
+     */
+    private String address;
+
+    /**
+     * 设施类型(1、天然水源 2、建筑)
+     */
+    private Integer facilityType;
+
+    /**
+     * 经度(当设施类型为点时使用该字段)
+     */
+    private String longitude;
+
+    /**
+     * 纬度(当设施类型为点时使用该字段)
+     */
+    private String latitude;
+
+    /**
+     * 经纬度集合(由多个GPS点组成的多边形,当设施类型为线和面时使用该字段)
+     */
+    private String gpsAreas;
+
+    /**
+     * 省
+     */
+    private String province;
+
+    /**
+     * 市
+     */
+    private String city;
+
+    /**
+     * 区(县)
+     */
+    private String area;
+
+    /**
+     * 所属街镇
+     */
+    private String streetTown;
+
+    /**
+     * 联系人
+     */
+    private String contact;
+
+    /**
+     * 联系方式
+     */
+    private String contactPhone;
+
+    /**
+     * 审核状态
+     */
+    private Integer checkStatus;
+
+    /**
+     * 审核人编号
+     */
+    private Integer checkId;
+
+    /**
+     * 审核人姓名
+     */
+    private String checkName;
+
+    /**
+     * 审核批复
+     */
+    private String checkComment;
+
+    /**
+     * 扩展属性(json格式存储每个设施独有的属性)
+     */
+    private String extendData;
+
+    /**
+     * 图⽚地址URL
+     */
+    private String imagesUrl;
+
+    /**
+     * 组织结构ID
+     */
+    private Integer deptId;
+
+    /**
+     * 租户ID
+     */
+    private Integer tenantId;
+
+    /**
+     * 单位ID
+     */
+    private Integer companyId;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 更新人
+     */
+    private String updatePerson;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+
+}

+ 5 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/DemFireStation.java

@@ -51,5 +51,10 @@ public class DemFireStation implements Serializable {
      */
     private String latitude;
 
+    /**
+     * 所属街镇
+     */
+    private String streetTown;
+
 
 }

+ 100 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/DemStreetMicroStation.java

@@ -0,0 +1,100 @@
+package com.usky.fire.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 街镇微型消防站
+ * </p>
+ *
+ * @author han
+ * @since 2023-04-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DemStreetMicroStation implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 所属街镇
+     */
+    private String streetTown;
+
+    /**
+     * 编号
+     */
+    private Integer stationCode;
+
+    /**
+     * 消防站地址
+     */
+    private String stationAddress;
+
+    /**
+     * 距消防站直线距离
+     */
+    private String linearDistance;
+
+    /**
+     * 距消防站行驶距离
+     */
+    private String driveDistance;
+
+    /**
+     * 交通拥堵行驶时间
+     */
+    private String jamDrive;
+
+    /**
+     * 交通畅通行驶时间
+     */
+    private String unimpededDrive;
+
+    /**
+     * 点位情况
+     */
+    private String pointSituation;
+
+    /**
+     * 建筑情况
+     */
+    private String buildSituation;
+
+    /**
+     * 车辆停放
+     */
+    private String vehiclePark;
+
+    /**
+     * 是否有产证
+     */
+    private String birthCert;
+
+    /**
+     * 产证情况
+     */
+    private String birthCertSituation;
+
+    /**
+     * 经度
+     */
+    private String longitude;
+
+    /**
+     * 纬度
+     */
+    private String latitude;
+
+
+}

+ 5 - 1
service-fire/service-fire-biz/src/main/java/com/usky/fire/mapper/BaseCompanyMapper.java

@@ -2,8 +2,12 @@ package com.usky.fire.mapper;
 
 import com.usky.fire.domain.BaseCompany;
 import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.fire.service.vo.DemFireReformVO;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 /**
  * <p>
  * 联网单位信息表 Mapper 接口
@@ -14,5 +18,5 @@ import org.springframework.stereotype.Repository;
  */
 @Repository
 public interface BaseCompanyMapper extends CrudMapper<BaseCompany> {
-
+    List<BaseCompany> companyNameList(@Param("companyIdList") String[] companyIdList);
 }

+ 16 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/mapper/BaseGgpFacilityMapper.java

@@ -0,0 +1,16 @@
+package com.usky.fire.mapper;
+
+import com.usky.fire.domain.BaseGgpFacility;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 地理信息 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2023-04-10
+ */
+public interface BaseGgpFacilityMapper extends CrudMapper<BaseGgpFacility> {
+
+}

+ 16 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/mapper/DemStreetMicroStationMapper.java

@@ -0,0 +1,16 @@
+package com.usky.fire.mapper;
+
+import com.usky.fire.domain.DemStreetMicroStation;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 街镇微型消防站 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2023-04-06
+ */
+public interface DemStreetMicroStationMapper extends CrudMapper<DemStreetMicroStation> {
+
+}

+ 2 - 1
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/BaseBuildService.java

@@ -22,11 +22,12 @@ public interface BaseBuildService extends CrudService<BaseBuild> {
      *
      * @param buildNum 项目编号
      * @param buildName 单位编号
+     * @param companyId 单位ID
      * @param pageNum     当前页
      * @param pageSize    每页条数
      * @return
      */
-    CommonPage<Object> baseBuildList(String buildNum, String buildName, Integer pageNum, Integer pageSize);
+    CommonPage<Object> baseBuildList(String buildNum, String buildName, String companyId, Integer pageNum, Integer pageSize);
 
     /**
      * 建筑信息-列表查询-导出

+ 28 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/BaseGgpFacilityService.java

@@ -0,0 +1,28 @@
+package com.usky.fire.service;
+
+import com.usky.fire.domain.BaseGgpFacility;
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.fire.domain.DemFireStation;
+import com.usky.fire.service.vo.BaseGgpFacilityListVO;
+import com.usky.fire.service.vo.BaseGgpFacilityVO;
+import com.usky.fire.service.vo.DemFireStationVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 地理信息 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2023-04-10
+ */
+public interface BaseGgpFacilityService extends CrudService<BaseGgpFacility> {
+    /**
+     * 地理信息-撒点
+     *
+     * @param baseGgpFacilityVO  主键ID
+     * @return
+     */
+    List<BaseGgpFacility> baseGgpFacilityList(BaseGgpFacilityVO baseGgpFacilityVO);
+}

+ 3 - 2
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/DemFireStationService.java

@@ -3,6 +3,7 @@ package com.usky.fire.service;
 import com.usky.fire.domain.DemFireStation;
 import com.usky.common.mybatis.core.CrudService;
 import com.usky.fire.domain.DemHighRise;
+import com.usky.fire.service.vo.DemFireStationVO;
 
 import java.util.List;
 
@@ -18,8 +19,8 @@ public interface DemFireStationService extends CrudService<DemFireStation> {
     /**
      * 消防站-撒点
      *
-     * @param id  主键ID
+     * @param demFireStationVO  主键ID
      * @return
      */
-    List<DemFireStation> demFireStationList(Integer id);
+    List<DemFireStation> demFireStationList(DemFireStationVO demFireStationVO);
 }

+ 25 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/DemStreetMicroStationService.java

@@ -0,0 +1,25 @@
+package com.usky.fire.service;
+
+import com.usky.fire.domain.DemHighRise;
+import com.usky.fire.domain.DemStreetMicroStation;
+import com.usky.common.mybatis.core.CrudService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 街镇微型消防站 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2023-04-06
+ */
+public interface DemStreetMicroStationService extends CrudService<DemStreetMicroStation> {
+    /**
+     * 街镇微型消防站-撒点
+     *
+     * @param streetTown
+     * @return
+     */
+    List<DemStreetMicroStation> demStreetMicroStationList(String streetTown);
+}

+ 26 - 5
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BaseBuildServiceImpl.java

@@ -9,13 +9,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.common.security.utils.SecurityUtils;
-import com.usky.fire.domain.BaseBuildAttach;
-import com.usky.fire.domain.BaseBuildExtinguish;
+import com.usky.fire.domain.*;
+import com.usky.fire.mapper.BaseCompanyMapper;
 import com.usky.fire.service.BaseBuildAttachService;
 import com.usky.fire.service.BaseBuildExtinguishService;
 import com.usky.fire.service.BaseBuildService;
-import com.usky.fire.domain.BaseBuild;
 import com.usky.fire.mapper.BaseBuildMapper;
+import com.usky.fire.service.BaseCompanyService;
 import com.usky.fire.service.vo.BaseBuildAddVO;
 import com.usky.fire.service.vo.BaseBuildExportVO;
 import com.usky.fire.service.vo.CompanyDataVo;
@@ -47,20 +47,34 @@ public class BaseBuildServiceImpl extends AbstractCrudService<BaseBuildMapper, B
     @Autowired
     private BaseBuildExtinguishService baseBuildExtinguishService;
 
+    @Autowired
+    private BaseCompanyMapper baseCompanyMapper;
+
     @Override
-    public CommonPage<Object> baseBuildList(String buildNum, String buildName, Integer pageNum, Integer pageSize) {
+    public CommonPage<Object> baseBuildList(String buildNum, String buildName, String companyId, Integer pageNum, Integer pageSize) {
         List<Object> list = new ArrayList<>();
         IPage<BaseBuild> page = new Page<>(pageNum, pageSize);
         LambdaQueryWrapper<BaseBuild> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.select(BaseBuild::getId, BaseBuild::getBuildNum, BaseBuild::getBuildName, BaseBuild::getAddress, BaseBuild::getBuildArea,
                 BaseBuild::getFireRating, BaseBuild::getUseCharacter, BaseBuild::getBuildStructure, BaseBuild::getBuildHigh,
-                BaseBuild::getCompleteYear, BaseBuild::getSafePerson, BaseBuild::getManagePerson, BaseBuild::getFireRisk, BaseBuild::getBuildPlan)
+                BaseBuild::getCompleteYear, BaseBuild::getSafePerson, BaseBuild::getManagePerson,
+                BaseBuild::getFireRisk, BaseBuild::getBuildPlan, BaseBuild::getCompanyId)
                 .eq(BaseBuild::getDeleteFlag, 0)
                 .like(StringUtils.isNotBlank(buildNum), BaseBuild::getBuildNum, buildNum)
                 .like(StringUtils.isNotBlank(buildName), BaseBuild::getBuildName, buildName)
+                .eq(StringUtils.isNotBlank(companyId), BaseBuild::getCompanyId, companyId)
                 .orderByDesc(BaseBuild::getId);
         page = this.page(page, queryWrapper);
         if (CollectionUtils.isNotEmpty(page.getRecords())) {
+            List<String> companyIdList = new ArrayList<>();
+            for (int j = 0; j < page.getRecords().size(); j++) {
+                companyIdList.add(page.getRecords().get(j).getCompanyId());
+            }
+            List<BaseCompany> list1 = new ArrayList<>();
+            if (CollectionUtils.isNotEmpty(companyIdList)) {
+                String[] a2 = companyIdList.toArray(new String[companyIdList.size()]);
+                list1 = baseCompanyMapper.companyNameList(a2);
+            }
             for (int i = 0; i < page.getRecords().size(); i++) {
                 Map<String, Object> map = new HashMap<>();
                 map.put("id", page.getRecords().get(i).getId());
@@ -77,6 +91,13 @@ public class BaseBuildServiceImpl extends AbstractCrudService<BaseBuildMapper, B
                 map.put("managePerson", page.getRecords().get(i).getManagePerson());
                 map.put("fireRisk", page.getRecords().get(i).getFireRisk());
                 map.put("buildPlan", page.getRecords().get(i).getBuildPlan());
+                if (CollectionUtils.isNotEmpty(list1)) {
+                    for (int j = 0; j < list1.size(); j++) {
+                        if (page.getRecords().get(i).getCompanyId().equals(list1.get(j).getCompanyId())) {
+                            map.put("companyName", list1.get(j).getCompanyName());
+                        }
+                    }
+                }
                 list.add(map);
             }
         }

+ 5 - 3
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BaseCompanyServiceImpl.java

@@ -124,7 +124,8 @@ public class BaseCompanyServiceImpl extends AbstractCrudService<BaseCompanyMappe
             if (CollectionUtils.isNotEmpty(companyIdList)) {
                 LambdaQueryWrapper<BaseCompanyPerson> queryWrapper1 = Wrappers.lambdaQuery();
                 queryWrapper1.select(BaseCompanyPerson::getId, BaseCompanyPerson::getCompanyId, BaseCompanyPerson::getFireDutyName,
-                        BaseCompanyPerson::getFireManageName, BaseCompanyPerson::getDelegateName)
+                        BaseCompanyPerson::getFireManageName, BaseCompanyPerson::getFireManagePhone,
+                        BaseCompanyPerson::getDelegateName)
                         .in(BaseCompanyPerson::getCompanyId, companyIdList);
                 list1 = baseCompanyPersonService.list(queryWrapper1);
                 LambdaQueryWrapper<BaseCompanyAttach1> queryWrapper2 = Wrappers.lambdaQuery();
@@ -165,6 +166,7 @@ public class BaseCompanyServiceImpl extends AbstractCrudService<BaseCompanyMappe
                         map.put("id1", list1.get(j).getId());
                         map.put("fireDutyName", list1.get(j).getFireDutyName());
                         map.put("fireManageName", list1.get(j).getFireManageName());
+                        map.put("fireManagePhone", list1.get(j).getFireManagePhone());
                         map.put("delegateName", list1.get(j).getDelegateName());
                     }
                 }
@@ -1081,12 +1083,12 @@ public class BaseCompanyServiceImpl extends AbstractCrudService<BaseCompanyMappe
                         BaseBuildAddVO baseBuildAddVO = new BaseBuildAddVO();
                         baseBuildAddVO.setBaseBuild(list4.get(j));
                         for (int k = 0; k < list5.size(); k++) {
-                            if (list4.get(j).getId()==list5.get(k).getBuildId()){
+                            if (list4.get(j).getId().equals(list5.get(k).getBuildId())){
                                 baseBuildAddVO.setBaseBuildAttach(list5.get(k));
                             }
                         }
                         for (int l = 0; l < list6.size(); l++) {
-                            if (list4.get(j).getId()==list6.get(l).getBuildId()){
+                            if (list4.get(j).getId().equals(list6.get(l).getBuildId())){
                                 list8.add(list6.get(l));
                                 baseBuildAddVO.setBaseBuildExtinguishList(list8);
                             }

+ 52 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BaseGgpFacilityServiceImpl.java

@@ -0,0 +1,52 @@
+package com.usky.fire.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.fire.domain.BaseGgpFacility;
+import com.usky.fire.mapper.BaseGgpFacilityMapper;
+import com.usky.fire.service.BaseGgpFacilityService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.fire.service.vo.BaseGgpFacilityListVO;
+import com.usky.fire.service.vo.BaseGgpFacilityVO;
+import com.usky.fire.service.vo.CompanyDataVo;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 地理信息 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2023-04-10
+ */
+@Service
+public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacilityMapper, BaseGgpFacility> implements BaseGgpFacilityService {
+    @Override
+    public List<BaseGgpFacility> baseGgpFacilityList(BaseGgpFacilityVO baseGgpFacilityVO) {
+        List<BaseGgpFacilityListVO> list1 = new ArrayList<>();
+        LambdaQueryWrapper<BaseGgpFacility> query = Wrappers.lambdaQuery();
+        query.eq(StringUtils.isNotBlank(baseGgpFacilityVO.getStreetTown()),BaseGgpFacility::getStreetTown, baseGgpFacilityVO.getStreetTown());
+        query.in(CollectionUtils.isNotEmpty(baseGgpFacilityVO.getFacilityType()),BaseGgpFacility::getFacilityType,
+                baseGgpFacilityVO.getFacilityType());
+
+        List<BaseGgpFacility> list = this.list(query);
+//        if (CollectionUtils.isNotEmpty(list)) {
+//            for (int j = 0; j < list.size(); j++) {
+//                BaseGgpFacilityListVO baseGgpFacilityListVO = new BaseGgpFacilityListVO();
+//                Object data = null;
+//                data = list.get(j).getExtendData();
+//                JSONObject jsonObject = JSONObject.parseObject(data.toString());
+//                baseGgpFacilityListVO.setBaseGgpFacility(list.get(j));
+//                baseGgpFacilityListVO.setExtendData(jsonObject);
+//                list1.add(baseGgpFacilityListVO);
+//            }
+//        }
+        return list;
+    }
+}

+ 5 - 1
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/DemFireStationServiceImpl.java

@@ -1,12 +1,14 @@
 package com.usky.fire.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.usky.fire.domain.DemFireStation;
 import com.usky.fire.domain.DemHighRise;
 import com.usky.fire.mapper.DemFireStationMapper;
 import com.usky.fire.service.DemFireStationService;
 import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.fire.service.vo.DemFireStationVO;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -22,8 +24,10 @@ import java.util.List;
 @Service
 public class DemFireStationServiceImpl extends AbstractCrudService<DemFireStationMapper, DemFireStation> implements DemFireStationService {
     @Override
-    public List<DemFireStation> demFireStationList(Integer id) {
+    public List<DemFireStation> demFireStationList(DemFireStationVO demFireStationVO) {
         LambdaQueryWrapper<DemFireStation> query = Wrappers.lambdaQuery();
+        query.eq(StringUtils.isNotBlank(demFireStationVO.getStreetTown()),DemFireStation::getStreetTown, demFireStationVO.getStreetTown());
+        query.in(DemFireStation::getStationType, demFireStationVO.getStationType());
         List<DemFireStation> list = this.list(query);
         return list;
     }

+ 32 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/DemStreetMicroStationServiceImpl.java

@@ -0,0 +1,32 @@
+package com.usky.fire.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.fire.domain.DemHighRise;
+import com.usky.fire.domain.DemStreetMicroStation;
+import com.usky.fire.mapper.DemStreetMicroStationMapper;
+import com.usky.fire.service.DemStreetMicroStationService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 街镇微型消防站 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2023-04-06
+ */
+@Service
+public class DemStreetMicroStationServiceImpl extends AbstractCrudService<DemStreetMicroStationMapper, DemStreetMicroStation> implements DemStreetMicroStationService {
+    @Override
+    public List<DemStreetMicroStation> demStreetMicroStationList(String streetTown) {
+        LambdaQueryWrapper<DemStreetMicroStation> query = Wrappers.lambdaQuery();
+        query.eq(StringUtils.isNotBlank(streetTown),DemStreetMicroStation::getStreetTown, streetTown);
+        List<DemStreetMicroStation> list = this.list(query);
+        return list;
+    }
+}

+ 1 - 1
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PatrolInspectionPersonnelServiceImpl.java

@@ -96,7 +96,7 @@ public class PatrolInspectionPersonnelServiceImpl extends AbstractCrudService<Pa
         queryWrapper.eq(PatrolInspectionPlanSchedule::getPersonnelId, id);
         List<PatrolInspectionPlanSchedule> listOne = planScheduleService.list(queryWrapper);
         if (listOne.size() > 0) {
-            throw new BusinessException("人员使用中重复不可删除");
+            throw new BusinessException("人员使用中不可删除");
         }
         this.removeById(id);
     }

+ 24 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/BaseGgpFacilityListVO.java

@@ -0,0 +1,24 @@
+package com.usky.fire.service.vo;
+
+import com.alibaba.fastjson.JSONObject;
+import com.usky.fire.domain.*;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author han
+ * @since 2023-02-22
+ */
+@Data
+public class BaseGgpFacilityListVO {
+
+        private BaseGgpFacility baseGgpFacility;
+
+        private JSONObject extendData;
+
+}

+ 28 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/BaseGgpFacilityVO.java

@@ -0,0 +1,28 @@
+package com.usky.fire.service.vo;
+
+import com.usky.fire.domain.BaseBuild;
+import com.usky.fire.domain.BaseCompany;
+import com.usky.fire.domain.BaseCompanyAttach1;
+import com.usky.fire.domain.BaseCompanyPerson;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author han
+ * @since 2023-04-06
+ */
+@Data
+public class BaseGgpFacilityVO {
+
+        private Integer id;
+
+        private String streetTown;
+
+        private List<Integer> facilityType;
+
+}

+ 28 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/DemFireStationVO.java

@@ -0,0 +1,28 @@
+package com.usky.fire.service.vo;
+
+import com.usky.fire.domain.BaseBuild;
+import com.usky.fire.domain.BaseCompany;
+import com.usky.fire.domain.BaseCompanyAttach1;
+import com.usky.fire.domain.BaseCompanyPerson;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author han
+ * @since 2023-04-06
+ */
+@Data
+public class DemFireStationVO {
+
+        private Integer id;
+
+        private String streetTown;
+
+        private List<Integer> stationType;
+
+}

+ 53 - 33
service-fire/service-fire-biz/src/main/resources/logback.xml

@@ -1,31 +1,49 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="60 seconds" debug="false">
     <!-- 日志存放路径 -->
-	<property name="log.path" value="/var/log/uskycloud/service-fire-biz" />
-   <!-- 日志输出格式 -->
-	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
+    <property name="log.path" value="/var/log/uskycloud/service-fire" />
+    <!-- 日志输出格式 -->
+    <property name="log.pattern" value="%d{MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{26}:%line: %msg%n" />
+    <!--    	<property name="log.pattern" value="%gray(%d{MM-dd HH:mm:ss.SSS}) %highlight(%-5level) &#45;&#45; [%gray(%thread)] %cyan(%logger{26}:%line): %msg%n" />-->
+
+
+    <property name="SQL_PACKAGE" value="com.usky.fire.mapper"/>
 
     <!-- 控制台输出 -->
-	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-	</appender>
+    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>${log.pattern}</pattern>
+        </encoder>
+    </appender>
+
+    <appender name="file_sql" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${log.path}/sql.log</file>
+        <!-- 循环政策:基于时间创建日志文件 -->
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!-- 日志文件名格式 -->
+            <fileNamePattern>${log.path}/sql.%d{yyyy-MM-dd}.log</fileNamePattern>
+            <!-- 日志最大的历史 60天 -->
+            <maxHistory>3</maxHistory>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${log.pattern}</pattern>
+        </encoder>
+    </appender>
 
     <!-- 系统日志输出 -->
-	<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/info.log</file>
+    <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${log.path}/info.log</file>
         <!-- 循环政策:基于时间创建日志文件 -->
-		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
             <!-- 日志文件名格式 -->
-			<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
-		</rollingPolicy>
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-		<filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
+            <!-- 日志最大的历史 60天 -->
+            <maxHistory>3</maxHistory>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${log.pattern}</pattern>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
             <!-- 过滤的级别 -->
             <level>INFO</level>
             <!-- 匹配时的操作:接收(记录) -->
@@ -33,16 +51,16 @@
             <!-- 不匹配时的操作:拒绝(不记录) -->
             <onMismatch>DENY</onMismatch>
         </filter>
-	</appender>
+    </appender>
 
     <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/error.log</file>
+        <file>${log.path}/error.log</file>
         <!-- 循环政策:基于时间创建日志文件 -->
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
             <!-- 日志文件名格式 -->
             <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
+            <!-- 日志最大的历史 60天 -->
+            <maxHistory>60</maxHistory>
         </rollingPolicy>
         <encoder>
             <pattern>${log.pattern}</pattern>
@@ -50,25 +68,27 @@
         <filter class="ch.qos.logback.classic.filter.LevelFilter">
             <!-- 过滤的级别 -->
             <level>ERROR</level>
-			<!-- 匹配时的操作:接收(记录) -->
+            <!-- 匹配时的操作:接收(记录) -->
             <onMatch>ACCEPT</onMatch>
-			<!-- 不匹配时的操作:拒绝(不记录) -->
+            <!-- 不匹配时的操作:拒绝(不记录) -->
             <onMismatch>DENY</onMismatch>
         </filter>
     </appender>
 
     <!-- 系统模块日志级别控制  -->
-	<logger name="com.usky.fire" level="info" />
-	<!-- Spring日志级别控制  -->
-	<logger name="org.springframework" level="warn" />
+    <!--	<logger name="com.usky" level="info" />-->
+    <!-- Spring日志级别控制  -->
+    <!--	<logger name="org.springframework" level="warn" />-->
+
+    <logger name="${SQL_PACKAGE}" additivity="false" level="debug">
+        <appender-ref ref="console"/>
+        <appender-ref ref="file_sql"/>
+    </logger>
 
-	<root level="info">
-		<appender-ref ref="console" />
-	</root>
-	
-	<!--系统操作日志-->
+    <!--系统操作日志-->
     <root level="info">
         <appender-ref ref="file_info" />
         <appender-ref ref="file_error" />
+        <appender-ref ref="console" />
     </root>
 </configuration>

+ 14 - 1
service-fire/service-fire-biz/src/main/resources/mapper/fire/BaseCompanyMapper.xml

@@ -37,5 +37,18 @@
         <result column="update_person" property="updatePerson" />
         <result column="update_time" property="updateTime" />
     </resultMap>
-
+    <select id="companyNameList" resultType="com.usky.fire.domain.BaseCompany">
+        SELECT
+        *
+        FROM
+        base_company
+        <where>
+            <if test="companyIdList != null and companyIdList != ''">
+                company_id in
+                <foreach collection="companyIdList" item="companyId" index="index" open="(" close=")" separator=",">
+                   #{companyId}
+                </foreach>
+            </if>
+        </where>
+    </select>
 </mapper>

+ 37 - 0
service-fire/service-fire-biz/src/main/resources/mapper/fire/BaseGgpFacilityMapper.xml

@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.fire.mapper.BaseGgpFacilityMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.fire.domain.BaseGgpFacility">
+        <id column="id" property="id" />
+        <result column="facility_num" property="facilityNum" />
+        <result column="facility_name" property="facilityName" />
+        <result column="status" property="status" />
+        <result column="address" property="address" />
+        <result column="facility_type" property="facilityType" />
+        <result column="longitude" property="longitude" />
+        <result column="latitude" property="latitude" />
+        <result column="gps_areas" property="gpsAreas" />
+        <result column="province" property="province" />
+        <result column="city" property="city" />
+        <result column="area" property="area" />
+        <result column="street_town" property="streetTown" />
+        <result column="contact" property="contact" />
+        <result column="contact_phone" property="contactPhone" />
+        <result column="check_status" property="checkStatus" />
+        <result column="check_id" property="checkId" />
+        <result column="check_name" property="checkName" />
+        <result column="check_comment" property="checkComment" />
+        <result column="extend_data" property="extendData" />
+        <result column="images_url" property="imagesUrl" />
+        <result column="dept_id" property="deptId" />
+        <result column="tenant_id" property="tenantId" />
+        <result column="company_id" property="companyId" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="update_person" property="updatePerson" />
+        <result column="creator" property="creator" />
+    </resultMap>
+
+</mapper>

+ 1 - 0
service-fire/service-fire-biz/src/main/resources/mapper/fire/DemFireStationMapper.xml

@@ -10,6 +10,7 @@
         <result column="station_type" property="stationType" />
         <result column="longitude" property="longitude" />
         <result column="latitude" property="latitude" />
+        <result column="street_town" property="streetTown" />
     </resultMap>
 
 </mapper>

+ 24 - 0
service-fire/service-fire-biz/src/main/resources/mapper/fire/DemStreetMicroStationMapper.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.fire.mapper.DemStreetMicroStationMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.fire.domain.DemStreetMicroStation">
+        <id column="id" property="id" />
+        <result column="street_town" property="streetTown" />
+        <result column="station_code" property="stationCode" />
+        <result column="station_address" property="stationAddress" />
+        <result column="linear_distance" property="linearDistance" />
+        <result column="drive_distance" property="driveDistance" />
+        <result column="jam_drive" property="jamDrive" />
+        <result column="unimpeded_drive" property="unimpededDrive" />
+        <result column="point_situation" property="pointSituation" />
+        <result column="build_situation" property="buildSituation" />
+        <result column="vehicle_park" property="vehiclePark" />
+        <result column="birth_cert" property="birthCert" />
+        <result column="birth_cert_situation" property="birthCertSituation" />
+        <result column="longitude" property="longitude" />
+        <result column="latitude" property="latitude" />
+    </resultMap>
+
+</mapper>

+ 108 - 108
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/MybatisGeneratorUtils.java

@@ -1,108 +1,108 @@
-//package com.usky.iot.controller;//package com.usky.iot.controller;//package com.usky.dm.controller.web.business;//package com.usky.dm.controller.web;
-//
-//
-//import com.baomidou.mybatisplus.core.toolkit.StringPool;
-//import com.baomidou.mybatisplus.generator.AutoGenerator;
-//import com.baomidou.mybatisplus.generator.InjectionConfig;
-//import com.baomidou.mybatisplus.generator.config.*;
-//import com.baomidou.mybatisplus.generator.config.po.TableInfo;
-//import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
-//
-//import java.util.ArrayList;
-//import java.util.List;
-//
-///**
-// * @author yq
-// * @date 2021/7/6 11:42
-// */
-//public class MybatisGeneratorUtils {
-//    public static void main(String[] args) {
-//
-//            shell("service-iot","service-iot-biz");
-//    }
-//
-//    private static void shell(String parentName,String model) {
-//
-//        AutoGenerator mpg = new AutoGenerator();
-//        //1、全局配置
-//        GlobalConfig gc = new GlobalConfig();
-////        File file = new File(model);
-////        String path = file.getAbsolutePath();
-//        String projectPath = System.getProperty("user.dir");
-//        projectPath+="/"+parentName;
-//        projectPath+="/"+model;
-//        gc.setOutputDir(projectPath+ "/src/main/java");  //生成路径(一般都是生成在此项目的src/main/java下面)
-//        //修改为自己的名字
-//        gc.setAuthor("ya"); //设置作者
-//        gc.setOpen(false);
-//        gc.setFileOverride(true); //第二次生成会把第一次生成的覆盖掉
-//        gc.setServiceName("%sService"); //生成的service接口名字首字母是否为I,这样设置就没有
-//        gc.setBaseResultMap(true); //生成resultMap
-//        mpg.setGlobalConfig(gc);
-//
-//        //2、数据源配置
-//        //修改数据源
-//        DataSourceConfig dsc = new DataSourceConfig();
-//        dsc.setUrl("jdbc:mysql://101.133.214.75:3306/usky-cloud?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
-//        dsc.setDriverName("com.mysql.jdbc.Driver");
-//        dsc.setUsername("usky");
-//        dsc.setPassword("Yt#75Usky");
-//        mpg.setDataSource(dsc);
-//
-//        // 3、包配置
-//        PackageConfig pc = new PackageConfig();
-//        pc.setParent("com.usky.iot");
-//        pc.setController("controller.web");
-//        pc.setEntity("domain");
-//        pc.setMapper("mapper");
-//        pc.setService("service");
-//        pc.setServiceImpl("service.impl");
-////        pc.setXml("mapper.demo");
-//        //pc.setModuleName("test");
-//        mpg.setPackageInfo(pc);
-//
-//        // 4、策略配置
-//        StrategyConfig strategy = new StrategyConfig();
-//        strategy.setNaming(NamingStrategy.underline_to_camel);
-//        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
-//        strategy.setSuperMapperClass("com.usky.common.mybatis.core.CrudMapper");
-//        strategy.setSuperServiceClass("com.usky.common.mybatis.core.CrudService");
-//        strategy.setSuperServiceImplClass("com.usky.common.mybatis.core.AbstractCrudService");
-//        // strategy.setTablePrefix("t_"); // 表名前缀
-//        strategy.setEntityLombokModel(true); //使用lombok
-//        //修改自己想要生成的表
-//        strategy.setInclude("dmp_data_overview");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
-//        mpg.setStrategy(strategy);
-//
-//        // 关闭默认 xml 生成,调整生成 至 根目录
-//        //修改对应的模块名称
-//        TemplateConfig tc = new TemplateConfig();
-//        // 自定义配置
-//        InjectionConfig cfg = new InjectionConfig() {
-//            @Override
-//            public void initMap() {
-//                // to do nothing
-//            }
-//        };
-//        //如果模板引擎是 velocity
-//        String templatePath = "/templates/mapper.xml.vm";
-//        // 自定义输出配置
-//        List<FileOutConfig> focList = new ArrayList<>();
-//        // 自定义配置会被优先输出
-//        String finalProjectPath = projectPath;
-//        focList.add(new FileOutConfig(templatePath) {
-//            @Override
-//            public String outputFile(TableInfo tableInfo) {
-//                // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!
-//                return finalProjectPath + "/src/main/resources/mapper/iot" + "/"
-//                        + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
-//            }
-//        });
-//        cfg.setFileOutConfigList(focList);
-//        mpg.setCfg(cfg);
-//        tc.setXml(null);
-//        mpg.setTemplate(tc);
-//        //5、执行
-//        mpg.execute();
-//    }
-//}
+package com.usky.iot.controller;//package com.usky.iot.controller;//package com.usky.dm.controller.web.business;//package com.usky.dm.controller.web;
+
+
+import com.baomidou.mybatisplus.core.toolkit.StringPool;
+import com.baomidou.mybatisplus.generator.AutoGenerator;
+import com.baomidou.mybatisplus.generator.InjectionConfig;
+import com.baomidou.mybatisplus.generator.config.*;
+import com.baomidou.mybatisplus.generator.config.po.TableInfo;
+import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author yq
+ * @date 2021/7/6 11:42
+ */
+public class MybatisGeneratorUtils {
+    public static void main(String[] args) {
+
+            shell("service-iot","service-iot-biz");
+    }
+
+    private static void shell(String parentName,String model) {
+
+        AutoGenerator mpg = new AutoGenerator();
+        //1、全局配置
+        GlobalConfig gc = new GlobalConfig();
+//        File file = new File(model);
+//        String path = file.getAbsolutePath();
+        String projectPath = System.getProperty("user.dir");
+        projectPath+="/"+parentName;
+        projectPath+="/"+model;
+        gc.setOutputDir(projectPath+ "/src/main/java");  //生成路径(一般都是生成在此项目的src/main/java下面)
+        //修改为自己的名字
+        gc.setAuthor("ya"); //设置作者
+        gc.setOpen(false);
+        gc.setFileOverride(true); //第二次生成会把第一次生成的覆盖掉
+        gc.setServiceName("%sService"); //生成的service接口名字首字母是否为I,这样设置就没有
+        gc.setBaseResultMap(true); //生成resultMap
+        mpg.setGlobalConfig(gc);
+
+        //2、数据源配置
+        //修改数据源
+        DataSourceConfig dsc = new DataSourceConfig();
+        dsc.setUrl("jdbc:mysql://172.16.120.165:3306/usky-fire?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
+        dsc.setDriverName("com.mysql.jdbc.Driver");
+        dsc.setUsername("usky");
+        dsc.setPassword("Yt#75Usky");
+        mpg.setDataSource(dsc);
+
+        // 3、包配置
+        PackageConfig pc = new PackageConfig();
+        pc.setParent("com.usky.iot");
+        pc.setController("controller.web");
+        pc.setEntity("domain");
+        pc.setMapper("mapper");
+        pc.setService("service");
+        pc.setServiceImpl("service.impl");
+//        pc.setXml("mapper.demo");
+        //pc.setModuleName("test");
+        mpg.setPackageInfo(pc);
+
+        // 4、策略配置
+        StrategyConfig strategy = new StrategyConfig();
+        strategy.setNaming(NamingStrategy.underline_to_camel);
+        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
+        strategy.setSuperMapperClass("com.usky.common.mybatis.core.CrudMapper");
+        strategy.setSuperServiceClass("com.usky.common.mybatis.core.CrudService");
+        strategy.setSuperServiceImplClass("com.usky.common.mybatis.core.AbstractCrudService");
+        // strategy.setTablePrefix("t_"); // 表名前缀
+        strategy.setEntityLombokModel(true); //使用lombok
+        //修改自己想要生成的表
+        strategy.setInclude("base_ggp_facility");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        mpg.setStrategy(strategy);
+
+        // 关闭默认 xml 生成,调整生成 至 根目录
+        //修改对应的模块名称
+        TemplateConfig tc = new TemplateConfig();
+        // 自定义配置
+        InjectionConfig cfg = new InjectionConfig() {
+            @Override
+            public void initMap() {
+                // to do nothing
+            }
+        };
+        //如果模板引擎是 velocity
+        String templatePath = "/templates/mapper.xml.vm";
+        // 自定义输出配置
+        List<FileOutConfig> focList = new ArrayList<>();
+        // 自定义配置会被优先输出
+        String finalProjectPath = projectPath;
+        focList.add(new FileOutConfig(templatePath) {
+            @Override
+            public String outputFile(TableInfo tableInfo) {
+                // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!
+                return finalProjectPath + "/src/main/resources/mapper/iot" + "/"
+                        + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
+            }
+        });
+        cfg.setFileOutConfigList(focList);
+        mpg.setCfg(cfg);
+        tc.setXml(null);
+        mpg.setTemplate(tc);
+        //5、执行
+        mpg.execute();
+    }
+}

+ 76 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/BaseGgpFacilityController.java

@@ -0,0 +1,76 @@
+package com.usky.iot.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.common.log.annotation.Log;
+import com.usky.common.log.enums.BusinessType;
+import com.usky.iot.domain.BaseGgpFacility;
+import com.usky.iot.service.BaseGgpFacilityService;
+import com.usky.iot.service.vo.BaseGgpFacilityRequest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 地理信息 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-02
+ */
+@RestController
+@RequestMapping("/baseGgpFacility")
+public class BaseGgpFacilityController {
+    @Autowired
+    private BaseGgpFacilityService baseGgpFacilityService;
+
+    /**
+     * 新增
+     * @param baseGgpFacility
+     * @return
+     */
+    @PostMapping("/add")
+    public ApiResult<Void> add(@RequestBody BaseGgpFacility baseGgpFacility){
+        baseGgpFacilityService.add(baseGgpFacility);
+        return ApiResult.success();
+    }
+
+    /**
+     * 修改
+     * @param baseGgpFacility
+     * @return
+     */
+    @PutMapping("/edit")
+    public ApiResult<Void> edit(@RequestBody BaseGgpFacility baseGgpFacility){
+        baseGgpFacilityService.update(baseGgpFacility);
+        return ApiResult.success();
+    }
+
+
+    /**
+     * 分页
+     * @param baseGgpFacilityRequest
+     * @return
+     */
+    @Log(title = "分页", businessType = BusinessType.OTHER)
+    @PostMapping("/page")
+    public ApiResult<CommonPage<BaseGgpFacility>> page(@RequestBody BaseGgpFacilityRequest baseGgpFacilityRequest)
+    {
+        return ApiResult.success(baseGgpFacilityService.page(baseGgpFacilityRequest));
+    }
+
+
+
+    /**
+     * 删除记录
+     */
+    @DeleteMapping("/{id}")
+    public ApiResult<Void> remove(@PathVariable("id") Integer id)
+    {
+        baseGgpFacilityService.remove(id);
+        return ApiResult.success();
+    }
+
+}
+

+ 0 - 20
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/DmpProductAttributeAttachController.java

@@ -1,20 +0,0 @@
-package com.usky.iot.controller.web;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 产品属性附表 前端控制器
- * </p>
- *
- * @author ya
- * @since 2022-10-08
- */
-@RestController
-@RequestMapping("/dmpProductAttributeAttach")
-public class DmpProductAttributeAttachController {
-
-}
-

+ 25 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/controller/web/TaskController.java

@@ -0,0 +1,25 @@
+package com.usky.iot.controller.web;
+
+import com.usky.iot.service.job.DmpDataOverviewJob;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author zyj
+ * @since 2023-06-05
+ */
+@EnableScheduling
+@Component
+public class TaskController {
+    @Autowired
+    private DmpDataOverviewJob dmpDataOverviewJob;
+
+    @Scheduled(cron = "0 0 1 * * ? ") //每天凌晨1点执行
+    public void task() {
+        System.out.println(Thread.currentThread().getName() + "定时任务执行中");
+        dmpDataOverviewJob.execute();
+    }
+
+}

+ 166 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/BaseGgpFacility.java

@@ -0,0 +1,166 @@
+package com.usky.iot.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 地理信息
+ * </p>
+ *
+ * @author ya
+ * @since 2023-06-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BaseGgpFacility implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设施编号
+     */
+    private String facilityNum;
+
+    /**
+     * 设施名称
+     */
+    private String facilityName;
+
+    /**
+     * 设施状态
+     */
+    private Integer status;
+
+    /**
+     * 设施地址
+     */
+    private String address;
+
+    /**
+     * 设施类型(1、天然水源 2、五万方综合体 3、三到五万方综合体 4、拟列区级重大火灾隐患单位 5、拟列市级重大火灾隐患单位 6、一般重大火灾隐患单位 7、扣分5以下九小场所 8、扣分6-14九小场所 9、扣分15-24九小场所 10、钢瓶九小场所 11、电瓶车九小场所 12、三合一九小场所 13、重点单位微站 14、一般单位微站 15、居委会微站 16、村委会微站)
+     */
+    private Integer facilityType;
+
+    /**
+     * 经度(当设施类型为点时使用该字段)
+     */
+    private String longitude;
+
+    /**
+     * 纬度(当设施类型为点时使用该字段)
+     */
+    private String latitude;
+
+    /**
+     * 经纬度集合(由多个GPS点组成的多边形,当设施类型为线和面时使用该字段)
+     */
+    private String gpsAreas;
+
+    /**
+     * 省
+     */
+    private String province;
+
+    /**
+     * 市
+     */
+    private String city;
+
+    /**
+     * 区(县)
+     */
+    private String area;
+
+    /**
+     * 所属街镇
+     */
+    private String streetTown;
+
+    /**
+     * 联系人
+     */
+    private String contact;
+
+    /**
+     * 联系方式
+     */
+    private String contactPhone;
+
+    /**
+     * 审核状态
+     */
+    private Integer checkStatus;
+
+    /**
+     * 审核人编号
+     */
+    private Integer checkId;
+
+    /**
+     * 审核人姓名
+     */
+    private String checkName;
+
+    /**
+     * 审核批复
+     */
+    private String checkComment;
+
+    /**
+     * 扩展属性(json格式存储每个设施独有的属性)
+     */
+    private String extendData;
+
+    /**
+     * 图⽚地址URL
+     */
+    private String imagesUrl;
+
+    /**
+     * 组织结构ID
+     */
+    private Integer deptId;
+
+    /**
+     * 租户ID
+     */
+    private Integer tenantId;
+
+    /**
+     * 单位ID
+     */
+    private Integer companyId;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 更新人
+     */
+    private String updatePerson;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+
+}

+ 16 - 10
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpDeviceInfo.java

@@ -8,6 +8,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.io.Serializable;
+import java.time.LocalDateTime;
 import java.util.Date;
 
 /**
@@ -36,11 +37,6 @@ public class DmpDeviceInfo implements Serializable {
      */
     private String deviceId;
 
-    /**
-     * 设备编号
-     */
-    private String deviceCode;
-
     /**
      * 设备名称
      */
@@ -89,7 +85,7 @@ public class DmpDeviceInfo implements Serializable {
     /**
      * 创建时间
      */
-    private Date createdTime;
+    private LocalDateTime createdTime;
 
     /**
      * 更新人
@@ -99,7 +95,7 @@ public class DmpDeviceInfo implements Serializable {
     /**
      * 更新时间
      */
-    private Date updatedTime;
+    private LocalDateTime updatedTime;
 
     /**
      * 租户号
@@ -111,14 +107,24 @@ public class DmpDeviceInfo implements Serializable {
      */
     @TableField(exist = false)
     private String productName;
+
     /**
-     * 设备状态
+     * 业务状态;1:未激活,2:已激活,3:禁用
      */
-    @TableField(exist = false)
-    private Integer deviceStatus;
+    private Integer serviceStatus;
 
     /**
      * 是否自动订阅
      */
     private Integer subscribeFlag;
+
+    /**
+     * 单位编号
+     */
+    private String companyCode;
+
+    /**
+     * 安装位置
+     */
+    private String installAddress;
 }

+ 2 - 10
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpDeviceStatus.java

@@ -2,6 +2,7 @@ package com.usky.iot.domain;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -33,24 +34,15 @@ public class DmpDeviceStatus implements Serializable {
      */
     private String deviceId;
 
-    /**
-     * 设备编号
-     */
-    private String deviceCode;
-
     /**
      * 产品ID
      */
     private Integer productId;
 
     /**
-     * 设备状态;1:正常,2:故障,3:告警,4:离线
+     * 设备状态;1:在线,2:离线
      */
     private Integer deviceStatus;
-    /**
-     * 业务状态1:已注册,2:待激活,3:已激活
-     */
-    private Integer serviceStatus;
 
     /**
      * 最后上线时间

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

@@ -136,7 +136,4 @@ public class DmpProductAttribute implements Serializable {
      */
     private Integer tenantId;
 
-
-    @TableField(exist = false)
-    private List<DmpProductAttributeAttach> dmpProductAttributeAttachList;
 }

+ 16 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/BaseGgpFacilityMapper.java

@@ -0,0 +1,16 @@
+package com.usky.iot.mapper;
+
+import com.usky.iot.domain.BaseGgpFacility;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 地理信息 Mapper 接口
+ * </p>
+ *
+ * @author ya
+ * @since 2023-06-02
+ */
+public interface BaseGgpFacilityMapper extends CrudMapper<BaseGgpFacility> {
+
+}

+ 0 - 17
service-iot/service-iot-biz/src/main/java/com/usky/iot/mapper/DmpProductAttributeAttachMapper.java

@@ -1,17 +0,0 @@
-package com.usky.iot.mapper;
-
-import com.usky.common.mybatis.core.CrudMapper;
-import com.usky.iot.domain.DmpProductAttributeAttach;
-
-
-/**
- * <p>
- * 产品属性附表 Mapper 接口
- * </p>
- *
- * @author ya
- * @since 2022-10-08
- */
-public interface DmpProductAttributeAttachMapper extends CrudMapper<DmpProductAttributeAttach> {
-
-}

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

@@ -0,0 +1,24 @@
+package com.usky.iot.service;
+
+import com.usky.common.core.bean.CommonPage;
+import com.usky.iot.domain.BaseGgpFacility;
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.iot.service.vo.BaseGgpFacilityRequest;
+
+/**
+ * <p>
+ * 地理信息 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-02
+ */
+public interface BaseGgpFacilityService extends CrudService<BaseGgpFacility> {
+    boolean add(BaseGgpFacility baseGgpFacility);
+
+    void update(BaseGgpFacility baseGgpFacility);
+
+    CommonPage<BaseGgpFacility> page(BaseGgpFacilityRequest baseGgpFacilityRequest);
+
+    boolean remove(Integer id);
+}

+ 0 - 26
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/DmpProductAttributeAttachService.java

@@ -1,26 +0,0 @@
-package com.usky.iot.service;
-
-import com.usky.common.mybatis.core.CrudService;
-import com.usky.iot.domain.DmpProductAttribute;
-import com.usky.iot.domain.DmpProductAttributeAttach;
-
-import java.util.List;
-
-
-/**
- * <p>
- * 产品属性附表 服务类
- * </p>
- *
- * @author ya
- * @since 2022-10-08
- */
-public interface DmpProductAttributeAttachService extends CrudService<DmpProductAttributeAttach> {
-
-
-    void addBatch(DmpProductAttribute dmpProductAttribute);
-
-    void deleteBatch(DmpProductAttribute dmpProductAttribute);
-
-    List<DmpProductAttributeAttach> listByAttributeIds(List<Integer> attributeIds);
-}

+ 60 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseGgpFacilityServiceImpl.java

@@ -0,0 +1,60 @@
+package com.usky.iot.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+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.security.utils.SecurityUtils;
+import com.usky.iot.domain.BaseGgpFacility;
+import com.usky.iot.mapper.BaseGgpFacilityMapper;
+import com.usky.iot.service.BaseGgpFacilityService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.iot.service.vo.BaseGgpFacilityRequest;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 地理信息 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-02
+ */
+@Service
+public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacilityMapper, BaseGgpFacility> implements BaseGgpFacilityService {
+    @Override
+    public boolean add(BaseGgpFacility baseGgpFacility) {
+        baseGgpFacility.setCreator(SecurityUtils.getUsername());
+        baseGgpFacility.setCreateTime(LocalDateTime.now());
+        return this.save(baseGgpFacility);
+    }
+
+    @Override
+    public void update(BaseGgpFacility baseGgpFacility) {
+        baseGgpFacility.setUpdateTime(LocalDateTime.now());
+        baseGgpFacility.setUpdatePerson(SecurityUtils.getUsername());
+        this.updateById(baseGgpFacility);
+    }
+
+    @Override
+    public CommonPage<BaseGgpFacility> page(BaseGgpFacilityRequest piRequest) {
+        IPage<BaseGgpFacility> page = new Page<>(piRequest.getCurrent(), piRequest.getSize());
+        LambdaQueryWrapper<BaseGgpFacility> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery
+                .like(StringUtils.isNotBlank(piRequest.getFacilityName()),BaseGgpFacility::getFacilityName,
+                        piRequest.getFacilityName())
+                .eq(StringUtils.isNotBlank(piRequest.getFacilityNum()),BaseGgpFacility::getFacilityNum,piRequest.getFacilityNum())
+                .eq(null != piRequest.getId(),BaseGgpFacility::getId,piRequest.getId());
+        page = this.page(page,lambdaQuery);
+        return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
+    }
+
+    @Override
+    public boolean remove(Integer id) {
+        return this.removeById(id);
+    }
+}

+ 25 - 6
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpDeviceInfoServiceImpl.java

@@ -8,6 +8,7 @@ import cn.afterturn.easypoi.excel.entity.ImportParams;
 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.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -18,19 +19,24 @@ import com.usky.common.core.exception.BusinessException;
 import com.usky.common.core.util.BeanMapperUtils;
 import com.usky.common.core.util.UUIDUtils;
 import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.common.security.utils.SecurityUtils;
 import com.usky.iot.domain.DmpDeviceInfo;
+import com.usky.iot.domain.DmpDeviceStatus;
 import com.usky.iot.mapper.DmpDeviceInfoMapper;
 import com.usky.iot.service.DmpDeviceInfoService;
+import com.usky.iot.service.DmpDeviceStatusService;
 import com.usky.iot.service.vo.DmpDeviceExcelVO;
 import com.usky.iot.service.vo.DmpDeviceExportVO;
 import com.usky.iot.service.vo.DmpDeviceInfoRequest;
 import org.apache.poi.ss.usermodel.Workbook;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -44,23 +50,36 @@ import java.util.stream.Collectors;
  */
 @Service
 public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoMapper, DmpDeviceInfo> implements DmpDeviceInfoService {
+    @Autowired
+    private DmpDeviceStatusService dmpDeviceStatusService;
 
     @Override
     public boolean add(DmpDeviceInfo dmpDeviceInfo) {
         dmpDeviceInfo.setDeviceId(UUIDUtils.uuid());
+        dmpDeviceInfo.setCreatedBy(SecurityUtils.getUsername());
+        dmpDeviceInfo.setCreatedTime(LocalDateTime.now());
         if (checkNameUnique(dmpDeviceInfo)){
             throw new BusinessException("新增设备信息'" + dmpDeviceInfo.getDeviceName() + "'失败,设备信息已存在");
         }
+        DmpDeviceStatus dmpDeviceStatus = new DmpDeviceStatus();
+        dmpDeviceStatus.setDeviceId(dmpDeviceInfo.getDeviceId());
+        dmpDeviceStatus.setProductId(dmpDeviceInfo.getProductId());
+        dmpDeviceStatus.setDeviceStatus(2);
+        dmpDeviceStatus.setLastOfflineTime(LocalDateTime.now());
+        dmpDeviceStatusService.save(dmpDeviceStatus);
+
         return this.save(dmpDeviceInfo);
     }
 
     @Override
     public void update(DmpDeviceInfo dmpDeviceInfo) {
-        dmpDeviceInfo.setUpdatedTime(new Date());
-        if (checkNameUnique(dmpDeviceInfo)){
-            throw new BusinessException("修改设备信息'" + dmpDeviceInfo.getDeviceName() + "'失败,设备信息已存在");
-        }
+        dmpDeviceInfo.setUpdatedBy(SecurityUtils.getUsername());
+        dmpDeviceInfo.setUpdatedTime(LocalDateTime.now());
+//        if (checkNameUnique(dmpDeviceInfo)){
+//            throw new BusinessException("修改设备信息'" + dmpDeviceInfo.getDeviceName() + "'失败,设备信息已存在");
+//        }
         this.updateById(dmpDeviceInfo);
+
     }
 
     @Override
@@ -93,8 +112,9 @@ public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoM
     @Override
     public List<Map<String, Object>> deviceCollect(List<Integer> productIds) {
         QueryWrapper<DmpDeviceInfo> query = Wrappers.query();
-        query.select("product_id as productId","count(*) as count")
+        query.select("product_id as productId","count(*) as count","count(service_status != 1 or null) as serviceCount")
                 .in(CollectionUtil.isNotEmpty(productIds),"product_id",productIds)
+                .eq("delete_flag",0)
                 .groupBy("product_id");
         return this.listMaps(query);
     }
@@ -192,7 +212,6 @@ public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoM
                     device.setDeviceId(UUIDUtils.uuid());})
                     .filter(device -> StringUtils.isBlank(device.getDeviceName()) ||
                     StringUtils.isBlank(device.getDeviceName())
-                    || StringUtils.isBlank(device.getDeviceCode())
                     || StringUtils.isBlank(device.getSimCode())
                     || null == device.getSubscribeFlag()
             ).count();

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

@@ -26,7 +26,7 @@ public class DmpDeviceStatusServiceImpl extends AbstractCrudService<DmpDeviceSta
     @Override
     public List<Map<String, Object>> getCollectByProduct(List<Integer> productIds) {
         QueryWrapper<DmpDeviceStatus> query = Wrappers.query();
-        query.select("product_id as productId","count(device_status != 4 or null) as deviceCount","count(service_status = 3 or null) as serviceCount")
+        query.select("product_id as productId","count(device_status != 2 or null) as deviceCount")
                 .in(CollectionUtil.isNotEmpty(productIds),"product_id",productIds)
                 .groupBy("product_id");
         return this.listMaps(query);

+ 0 - 48
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpProductAttributeAttachServiceImpl.java

@@ -1,48 +0,0 @@
-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.toolkit.Wrappers;
-import com.usky.common.mybatis.core.AbstractCrudService;
-import com.usky.iot.domain.DmpProductAttribute;
-import com.usky.iot.domain.DmpProductAttributeAttach;
-import com.usky.iot.mapper.DmpProductAttributeAttachMapper;
-import com.usky.iot.service.DmpProductAttributeAttachService;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * <p>
- * 产品属性附表 服务实现类
- * </p>
- *
- * @author ya
- * @since 2022-10-08
- */
-@Service
-public class DmpProductAttributeAttachServiceImpl extends AbstractCrudService<DmpProductAttributeAttachMapper, DmpProductAttributeAttach> implements DmpProductAttributeAttachService {
-
-    @Override
-    public void addBatch(DmpProductAttribute dmpProductAttribute) {
-        List<DmpProductAttributeAttach> dmpProductAttributeAttachList = dmpProductAttribute.getDmpProductAttributeAttachList();
-        if (CollectionUtil.isNotEmpty(dmpProductAttributeAttachList)){
-            dmpProductAttributeAttachList.forEach(s -> s.setAttributeId(dmpProductAttribute.getId()));
-            this.saveBatch(dmpProductAttributeAttachList);
-        }
-    }
-
-    @Override
-    public void deleteBatch(DmpProductAttribute dmpProductAttribute) {
-        LambdaQueryWrapper<DmpProductAttributeAttach> lambdaQuery = Wrappers.lambdaQuery();
-        lambdaQuery.eq(DmpProductAttributeAttach::getAttributeId,dmpProductAttribute.getId());
-        this.remove(lambdaQuery);
-    }
-
-    @Override
-    public List<DmpProductAttributeAttach> listByAttributeIds(List<Integer> attributeIds) {
-        LambdaQueryWrapper<DmpProductAttributeAttach> lambdaQuery = Wrappers.lambdaQuery();
-        lambdaQuery.in(CollectionUtil.isNotEmpty(attributeIds),DmpProductAttributeAttach::getAttributeId,attributeIds);
-        return this.list(lambdaQuery);
-    }
-}

+ 0 - 21
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpProductAttributeServiceImpl.java

@@ -10,9 +10,7 @@ import com.usky.common.core.bean.CommonPage;
 import com.usky.common.core.exception.BusinessException;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.iot.domain.DmpProductAttribute;
-import com.usky.iot.domain.DmpProductAttributeAttach;
 import com.usky.iot.mapper.DmpProductAttributeMapper;
-import com.usky.iot.service.DmpProductAttributeAttachService;
 import com.usky.iot.service.DmpProductAttributeService;
 import com.usky.iot.service.vo.DmpProductAttributeRequest;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -23,7 +21,6 @@ import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
-import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -37,9 +34,6 @@ import java.util.stream.Collectors;
 public class DmpProductAttributeServiceImpl extends AbstractCrudService<DmpProductAttributeMapper, DmpProductAttribute> implements DmpProductAttributeService {
 
 
-    @Autowired
-    private DmpProductAttributeAttachService dmpProductAttributeAttachService;
-
     @Transactional(rollbackFor = Exception.class)
     @Override
     public boolean add(DmpProductAttribute dmpProductAttribute) {
@@ -47,7 +41,6 @@ public class DmpProductAttributeServiceImpl extends AbstractCrudService<DmpProdu
             throw new BusinessException("新增产品属性信息'" + dmpProductAttribute.getAttributeName() + "'失败,产品信息已存在");
         }
         this.save(dmpProductAttribute);
-        dmpProductAttributeAttachService.addBatch(dmpProductAttribute);
         return true;
     }
 
@@ -59,8 +52,6 @@ public class DmpProductAttributeServiceImpl extends AbstractCrudService<DmpProdu
             throw new BusinessException("新增产品属性信息'" + dmpProductAttribute.getAttributeName() + "'失败,产品信息已存在");
         }
         this.updateById(dmpProductAttribute);
-        dmpProductAttributeAttachService.deleteBatch(dmpProductAttribute);
-        dmpProductAttributeAttachService.addBatch(dmpProductAttribute);
     }
 
     @Override
@@ -82,21 +73,9 @@ public class DmpProductAttributeServiceImpl extends AbstractCrudService<DmpProdu
                 .eq(null != paRequest.getProductId(),DmpProductAttribute::getProductId,paRequest.getProductId())
                 .eq(DmpProductAttribute::getDeleteFlag,0);
         page = this.page(page,lambdaQuery);
-        List<DmpProductAttribute> records = page.getRecords();
-        List<DmpProductAttributeAttach> dmpProductAttributeAttaches = dmpProductAttributeAttachService.listByAttributeIds(records.stream().map(DmpProductAttribute::getId).collect(Collectors.toList()));
-        page.getRecords().forEach(s ->
-            enhanceDmpProductAttribute(s,dmpProductAttributeAttaches));
         return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
     }
 
-    public void enhanceDmpProductAttribute(DmpProductAttribute dmpProductAttribute, List<DmpProductAttributeAttach> dmpProductAttributeAttachList){
-        List<DmpProductAttributeAttach> collect = dmpProductAttributeAttachList
-                .stream()
-                .filter(s -> s.getAttributeId().equals(dmpProductAttribute.getProductId()))
-                .collect(Collectors.toList());
-        dmpProductAttribute.setDmpProductAttributeAttachList(collect);
-    }
-
     @Override
     public boolean remove(Integer id) {
         DmpProductAttribute dmpProductAttribute = this.getById(id);

+ 53 - 15
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/DmpProductInfoServiceImpl.java

@@ -74,31 +74,69 @@ public class DmpProductInfoServiceImpl extends AbstractCrudService<DmpProductInf
                 .eq(StringUtils.isNotBlank(piRequest.getDeviceModel()),DmpProductInfo::getDeviceModel,piRequest.getDeviceModel())
                 .eq(null != piRequest.getId(),DmpProductInfo::getId,piRequest.getId())
                 .eq(DmpProductInfo::getDeleteFlag,0);
-        List<DmpProductInfo> records = page.getRecords();
+        List<DmpProductInfo> records = this.list(lambdaQuery);
         List<Integer> productIds = records.stream().map(DmpProductInfo::getId).collect(Collectors.toList());
         List<Map<String, Object>> maps = dmpDeviceInfoService.deviceCollect(productIds);
         List<Map<String, Object>> collectByProduct = dmpDeviceStatusService.getCollectByProduct(productIds);
-        records.forEach(s -> {enhanceByDevice(s,maps);
-            enhanceByDeviceStatus(s,collectByProduct);
-        });
-        page = this.page(page,lambdaQuery);
-        return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
+
+//        maps.forEach(s -> {enhanceByDevice(records,s);});
+//        collectByProduct.forEach(s -> {enhanceByDeviceStatus(records,s);});
+        if(records.size()>0){
+            for(int i=0;i<records.size();i++){
+                if(maps.size()>0){
+                    for(int j=0;j<maps.size();j++){
+                        if(maps.get(j).get("productId")==(records.get(i).getId())){
+                            String coun = maps.get(j).get("count").toString();
+                            Integer it = Integer.parseInt(maps.get(j).get("count").toString());
+                            records.get(i).setDeviceCount(Integer.parseInt(maps.get(j).get("count").toString()));
+                            records.get(i).setServiceStatusCount(Integer.parseInt(maps.get(j).get("serviceCount").toString()));
+                            continue;
+                        }
+                    }
+                }
+                if(collectByProduct.size()>0){
+                    for(int j=0;j<collectByProduct.size();j++){
+                        if(collectByProduct.get(j).get("productId")==(records.get(i).getId())){
+                            records.get(i).setDeviceStatusCount(Integer.parseInt(collectByProduct.get(j).get("deviceCount").toString()));
+                            continue;
+                        }
+                    }
+                }
+            }
+
+        }
+        int total = 0;
+        if(records.size()>0){
+            total = records.size();
+        }
+        int current = 0;
+        Integer pageNum = piRequest.getCurrent();
+        Integer pageSize = piRequest.getSize();
+        if(pageNum != null && pageSize > 0){
+            current = (pageNum - 1)*pageSize;
+        }
+        List<DmpProductInfo> list = records.stream().skip(current).limit(pageSize).collect(Collectors.toList());
+
+        return new CommonPage<>(list,total,page.getCurrent(),page.getSize());
     }
 
-    public void enhanceByDevice(DmpProductInfo dmpProductInfo, List<Map<String,Object>> list){
-        list.stream()
-                .filter(s -> dmpProductInfo.getId().toString().equals(s.get("productId")))
+    public void enhanceByDevice(List<DmpProductInfo> dmpProductInfo, Map<String,Object> map){
+        dmpProductInfo.stream()
+                .filter(s -> map.get("productId").equals(s.getId().toString()))
                 .findAny()
-                .ifPresent(s -> dmpProductInfo.setDeviceCount(Integer.getInteger(s.get("count").toString())));
+                .ifPresent(s -> {
+                    s.setDeviceCount(Integer.parseInt(map.get("count").toString()));
+                    s.setServiceStatusCount(Integer.parseInt(map.get("serviceCount").toString()));
+                });
+
     }
 
-    public void enhanceByDeviceStatus(DmpProductInfo dmpProductInfo, List<Map<String,Object>> list){
-        list.stream()
-                .filter(s -> dmpProductInfo.getId().toString().equals(s.get("productId")))
+    public void enhanceByDeviceStatus(List<DmpProductInfo> dmpProductInfo, Map<String,Object> map){
+        dmpProductInfo.stream()
+                .filter(s -> map.get("productId").equals(s.getId().toString()))
                 .findAny()
                 .ifPresent(s -> {
-                    dmpProductInfo.setDeviceStatusCount(Integer.getInteger(s.get("deviceCount").toString()));
-                            dmpProductInfo.setServiceStatusCount(Integer.getInteger(s.get("serviceCount").toString()));
+                    s.setDeviceStatusCount(Integer.parseInt(map.get("deviceCount").toString()));
                 }
                 );
     }

+ 29 - 0
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/vo/BaseGgpFacilityRequest.java

@@ -0,0 +1,29 @@
+package com.usky.iot.service.vo;
+
+import lombok.Data;
+
+@Data
+public class BaseGgpFacilityRequest {
+
+    /**
+     * 页数
+     */
+    private Integer current;
+    /**
+     * 条数
+     */
+    private Integer size;
+
+    /**
+     * 设施名称
+     */
+    private String facilityName;
+    /**
+     * 设施编号
+     */
+    private String facilityNum;
+    /**
+     * id
+     */
+    private Integer id;
+}

+ 37 - 0
service-iot/service-iot-biz/src/main/resources/mapper/iot/BaseGgpFacilityMapper.xml

@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.iot.mapper.BaseGgpFacilityMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.iot.domain.BaseGgpFacility">
+        <id column="id" property="id" />
+        <result column="facility_num" property="facilityNum" />
+        <result column="facility_name" property="facilityName" />
+        <result column="status" property="status" />
+        <result column="address" property="address" />
+        <result column="facility_type" property="facilityType" />
+        <result column="longitude" property="longitude" />
+        <result column="latitude" property="latitude" />
+        <result column="gps_areas" property="gpsAreas" />
+        <result column="province" property="province" />
+        <result column="city" property="city" />
+        <result column="area" property="area" />
+        <result column="street_town" property="streetTown" />
+        <result column="contact" property="contact" />
+        <result column="contact_phone" property="contactPhone" />
+        <result column="check_status" property="checkStatus" />
+        <result column="check_id" property="checkId" />
+        <result column="check_name" property="checkName" />
+        <result column="check_comment" property="checkComment" />
+        <result column="extend_data" property="extendData" />
+        <result column="images_url" property="imagesUrl" />
+        <result column="dept_id" property="deptId" />
+        <result column="tenant_id" property="tenantId" />
+        <result column="company_id" property="companyId" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="update_person" property="updatePerson" />
+        <result column="creator" property="creator" />
+    </resultMap>
+
+</mapper>

+ 1 - 2
service-iot/service-iot-biz/src/main/resources/mapper/iot/DmpDeviceInfoMapper.xml

@@ -6,7 +6,6 @@
     <resultMap id="BaseResultMap" type="com.usky.iot.domain.DmpDeviceInfo">
         <id column="id" property="id" />
         <result column="device_id" property="deviceId" />
-        <result column="device_code" property="deviceCode" />
         <result column="device_name" property="deviceName" />
         <result column="device_type" property="deviceType" />
         <result column="product_id" property="productId" />
@@ -27,7 +26,7 @@
         inner join dmp_device ddi
         on dpi.id = ddi.product_id
         left join dmp_device_status dds
-        on dpi.id  = dds.product_id
+        on ddi.device_id  = dds.device_id
         <where>
             <if test="ar.startTime != null and ar.endTime != null">
                 and  dds.last_online_time between #{ar.startTime}

+ 4 - 5
service-iot/service-iot-biz/src/main/resources/mapper/iot/DmpDeviceStatusMapper.xml

@@ -6,7 +6,6 @@
     <resultMap id="BaseResultMap" type="com.usky.iot.domain.DmpDeviceStatus">
         <id column="id" property="id" />
         <result column="device_id" property="deviceId" />
-        <result column="device_code" property="deviceCode" />
         <result column="product_id" property="productId" />
         <result column="device_status" property="deviceStatus" />
         <result column="last_online_time" property="lastOnlineTime" />
@@ -17,8 +16,8 @@
         select ddi.product_id as productId,
         count(*) as deviceCount,
         COUNT(to_days(last_online_time) = to_days(now()) or null) as hyCount,
-        count(service_status = 3 or null) as jhCount,
-        count(service_status = 1 or null) as zcCount,
+        count(service_status = 2 or null) as jhCount,
+        count(service_status) as zcCount,
         count(device_status = 1 or null) as dzcCount,
         count(device_status = 4 or null) as dlxCount
         from dmp_device ddi
@@ -71,8 +70,8 @@
         select ddi.product_id as productId,
         count(*) as deviceCount,
         COUNT(to_days(last_online_time) = to_days(now()) or null) as hyCount,
-        count(service_status = 3 or null) as jhCount,
-        count(service_status = 1 or null) as zcCount,
+        count(service_status = 2 or null) as jhCount,
+        count(service_status) as zcCount,
         count(device_status = 1 or null) as dzcCount,
         count(device_status = 4 or null) as dlxCount
         from dmp_device ddi

+ 0 - 13
service-iot/service-iot-biz/src/main/resources/mapper/iot/DmpProductAttributeAttachMapper.xml

@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.usky.iot.mapper.DmpProductAttributeAttachMapper">
-
-    <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.usky.iot.domain.DmpProductAttributeAttach">
-        <id column="id" property="id" />
-        <result column="attribute_id" property="attributeId" />
-        <result column="parameter_value" property="parameterValue" />
-        <result column="parameter_describe" property="parameterDescribe" />
-    </resultMap>
-
-</mapper>

+ 3 - 2
service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DataEvHistoryController.java

@@ -1,9 +1,11 @@
 package com.usky.park.controller.web;
 
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * <p>
@@ -13,9 +15,8 @@ import org.springframework.stereotype.Controller;
  * @author zyj
  * @since 2023-04-03
  */
-@Controller
+@RestController
 @RequestMapping("/dataEvHistory")
 public class DataEvHistoryController {
-
 }
 

+ 24 - 3
service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DataLgHistoryController.java

@@ -1,9 +1,15 @@
 package com.usky.park.controller.web;
 
 
+import com.usky.common.core.bean.ApiResult;
+import com.usky.park.service.DataLgHistoryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
-import org.springframework.stereotype.Controller;
+import java.util.Map;
 
 /**
  * <p>
@@ -13,9 +19,24 @@ import org.springframework.stereotype.Controller;
  * @author zyj
  * @since 2023-04-03
  */
-@Controller
+@RestController
 @RequestMapping("/dataLgHistory")
 public class DataLgHistoryController {
-
+    @Autowired
+    private DataLgHistoryService dataLgHistoryService;
+    /**
+     * 数据中心-照明系统单个设备状态为开的时长(分钟)汇总和照明系统所有设备状态为开的时长(分钟)汇总
+     *
+     * @param deviceId 设备Id
+     * @param startDate 开始时间  格式 yyyy-MM-dd HH:mm:ss
+     * @param endDate  结束时间  格式 yyyy-MM-dd HH:mm:ss
+     * @return
+     */
+    @GetMapping("ElectricalStatistics")
+    public ApiResult<Map<String,Object>> ElectricalStatistics(@RequestParam(value = "deviceId",required = false) String deviceId,
+                                                       @RequestParam(value = "startDate") String startDate,
+                                                       @RequestParam(value = "endDate") String endDate){
+        return ApiResult.success(dataLgHistoryService.ElectricalStatistics(deviceId,startDate,endDate));
+    }
 }
 

+ 9 - 1
service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DataRealTimeController.java

@@ -1,9 +1,17 @@
 package com.usky.park.controller.web;
 
 
+import com.usky.common.core.bean.ApiResult;
+import com.usky.park.domain.DataRealTime;
+import com.usky.park.service.DataRealTimeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
 
 /**
  * <p>
@@ -13,7 +21,7 @@ import org.springframework.stereotype.Controller;
  * @author zyj
  * @since 2023-03-30
  */
-@Controller
+@RestController
 @RequestMapping("/dataRealTime")
 public class DataRealTimeController {
 

+ 345 - 0
service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DeviceHttpController.java

@@ -0,0 +1,345 @@
+package com.usky.park.controller.web;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.common.core.exception.BusinessException;
+import com.usky.common.core.util.HttpUtils;
+import com.usky.common.core.util.JsonUtils;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.park.ApplicationRun;
+import com.usky.park.domain.DmpDevice;
+import com.usky.park.service.DmpDeviceService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.io.IOException;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.List;
+
+/**
+ * @author zyj
+ * @date 2023/2/24 14:52:05
+ */
+@RestController
+@RequestMapping("deviceHttp")
+public class DeviceHttpController {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(DeviceHttpController.class);
+
+    @Autowired
+    private DmpDeviceService dmpDeviceService;
+
+
+    public static final String light_url = "http://172.17.35.51:15224";
+    public static final String video_url = "http://172.17.35.51:15225";
+    public static final String video1_url = "http://172.17.35.51:15226";
+    public static final String guard_url = "http://172.17.35.51:15227";
+    public static final String video_devinfo = "http://172.17.35.51:15228";
+    public static final String guard_devinfo = "http://172.17.35.51:15229";
+    public static final String elevator_devinfo = "http://172.17.35.51:15230";
+    public static final String generator_devinfo = "http://172.17.35.51:15231";
+
+    /**
+     * 设备管理-照明开关状态控制
+     *
+     * @param deviceId  设备Id
+     * @param switchStatus  开关状态(0 关 1 开)
+     * @return
+     */
+    @GetMapping("lightControl")
+    public static String lightControl(@RequestParam(value = "deviceId") String deviceId,
+                                      @RequestParam(value = "switchStatus") Integer switchStatus){
+        String result;
+        Map<String,Object> map = new HashMap<>();
+        map.put("jsonrpc","2.0");
+        map.put("method","lightControl");
+        Map<String,Object> map1 = new HashMap<>();
+        map1.put("device_id",deviceId);
+        map1.put("switch_status",switchStatus);
+        map.put("params",map1);
+        map.put("id",3);
+        try {
+            result  = HttpUtils.postJson(light_url,map,null);
+        } catch (IOException e) {
+            result = "{\"code\": \"0\",\"msg\": \"success\",\"data\": \""+e.getMessage()+"\"}";
+        }
+        return result;
+    }
+
+    /**
+     * 设备管理-监控系统实时视频预览取流
+     *
+     * @param deviceId  设备Id
+     * @param streamType  码流类型,0:主码流 1:子码流 2:第三码流 参数不填,默认为主码流
+     * @param protocol  取流协议(应用层协议),“rtsp”:RTSP协议,“rtmp”:RTMP协议,“hls”:HLS协议(HLS协议只支持海康SDK协议、EHOME协议、GB28181协议、ONVIF协议接入的设备;只支持H264视频编码和AAC音频编码),参数不填,默认为RTSP协议
+     * @param transmode  传输协议(传输层协议),0:UDP 1:TCP 默认是TCP 注: GB28181 2011及以前版本只支持UDP传输
+     * @return
+     */
+    @GetMapping("videoUrl")
+    public static String videoUrl(@RequestParam(value = "deviceId") String deviceId,
+                                  @RequestParam(value = "streamType") Integer streamType,
+                                  @RequestParam(value = "protocol") String protocol,
+                                  @RequestParam(value = "transmode") Integer transmode){
+        String result;
+        Map<String,Object> map = new HashMap<>();
+        map.put("jsonrpc","2.0");
+        map.put("method","videoUrl");
+        Map<String,Object> map1 = new HashMap<>();
+        map1.put("device_id",deviceId);
+        map1.put("streamType",streamType);
+        map1.put("protocol",protocol);
+        map1.put("transmode",transmode);
+        map.put("params",map1);
+        map.put("id",3);
+        try {
+            result  = HttpUtils.postJson(video_url,map,null);
+        } catch (IOException e) {
+            throw new BusinessException("设备管理-监控系统实时视频预览取流http调用异常"+e.getMessage());
+        }
+        return result;
+    }
+
+    /**
+     * 设备管理-监控系统云台操作
+     *
+     * @param deviceId  设备Id
+     * @param action  0-开始 1-停止 注:GOTO_PRESET命令下填任意值均可转到预置点,建议填0即可
+     * @param command  不区分大小写 说明: LEFT 左转 RIGHT右转 UP 上转 DOWN 下转 ZOOM_IN 焦距变大 ZOOM_OUT 焦距变小 LEFT_UP 左上 LEFT_DOWN 左下 RIGHT_UP 右上 RIGHT_DOWN 右下 FOCUS_NEAR 焦点前移 FOCUS_FAR 焦点后移 IRIS_ENLARGE 光圈扩大 IRIS_REDUCE 光圈缩小 WIPER_SWITCH 接通雨刷开关 START_RECORD_TRACK 开始记录轨迹 STOP_RECORD_TRACK 停止记录轨迹 START_TRACK 开始轨迹 STOP_TRACK 停止轨迹 以下命令presetIndex不可 为空: GOTO_PRESET到预置点
+     * @param speed  云台速度,取值范围为1-100,默认50
+     * @param presetIndex 预置点编号,整数,通常在300以内
+     * @return
+     */
+    @GetMapping("videoControl")
+    public static String videoControl(@RequestParam(value = "deviceId") String deviceId,
+                                    @RequestParam(value = "action") Integer action,
+                                    @RequestParam(value = "command") String command,
+                                    @RequestParam(value = "speed") Integer speed,
+                                     @RequestParam(value = "presetIndex") Integer presetIndex){
+        String result;
+        Map<String,Object> map = new HashMap<>();
+        map.put("jsonrpc","2.0");
+        map.put("method","videoControl");
+        Map<String,Object> map1 = new HashMap<>();
+        map1.put("device_id",deviceId);
+        map1.put("action",action);
+        map1.put("command",command);
+        map1.put("speed",speed);
+        map1.put("presetIndex",presetIndex);
+        map.put("params",map1);
+        map.put("id",3);
+        try {
+            result  = HttpUtils.postJson(video1_url,map,null);
+        } catch (IOException e) {
+            throw new BusinessException("设备管理-监控系统云台操作http调用异常"+e.getMessage());
+        }
+        return result;
+    }
+
+    /**
+     * 设备管理-门禁系统门禁点反控
+     *
+     * @param deviceId  设备Id
+     * @param controlType  0-常开 1-门闭 2-门开 3-常闭
+     * @return
+     */
+    @GetMapping("guardControl")
+    public static String guardControl(@RequestParam(value = "deviceId") String deviceId,
+                                      @RequestParam(value = "controlType") Integer controlType){
+        String result;
+        Map<String,Object> map = new HashMap<>();
+        map.put("jsonrpc","2.0");
+        map.put("method","guardControl");
+        Map<String,Object> map1 = new HashMap<>();
+        map1.put("device_id",deviceId);
+        map1.put("controlType",controlType);
+        map.put("params",map1);
+        map.put("id",3);
+        try {
+            result  = HttpUtils.postJson(guard_url,map,null);
+        } catch (IOException e) {
+            throw new BusinessException("设备管理-门禁系统门禁点反控http调用异常"+e.getMessage());
+        }
+        return result;
+    }
+
+    /**
+     * 设备管理-监控系统、门禁系统、梯控系统设备信息同步
+     *
+     * @param deviceType  设备类型(501、监控系统  502、门禁系统  503、梯控系统 )
+     * @param regionIndexCodes  所在区域
+     * @return
+     */
+    @GetMapping("DeviceInfo")
+    public String DeviceInfo(@RequestParam(value = "deviceType") Integer deviceType,
+                                      @RequestParam(value = "regionIndexCodes") List<String> regionIndexCodes){
+        String result = "";
+        Map<String,Object> map = new HashMap<>();
+        map.put("jsonrpc","2.0");
+        map.put("method","DeviceInfo");
+        Map<String,Object> map1 = new HashMap<>();
+        map1.put("regionIndexCodes",regionIndexCodes);
+        map.put("params",map1);
+        map.put("id",3);
+        try {
+            if(deviceType == 501){
+                result  = HttpUtils.postJson(video_devinfo,map,null);
+            }else if(deviceType == 502){
+                result  = HttpUtils.postJson(guard_devinfo,map,null);
+            }else if(deviceType == 503){
+                result  = HttpUtils.postJson(elevator_devinfo,map,null);
+            }
+            Map data_map = JsonUtils.fromJson(result,Map.class);
+            List<Map<String,Object>> data = (List) JSONObject.parseArray(JSONObject.toJSONString(data_map.get("data")));
+            for(int i=0;i<data.size();i++){
+                int flag = (int)(data.get(i).get("flag"));   //1 新增 0 更新 -1 删除
+                String device_id = data.get(i).get("device_id").toString();
+                String device_code = data.get(i).get("device_code").toString();
+                String device_name = data.get(i).get("device_name").toString();
+                String product_id = data.get(i).get("product_id").toString();
+                String company_code = data.get(i).get("company_code").toString();
+
+
+                if(flag == -1){
+                    LambdaUpdateWrapper<DmpDevice> updateWrapper = Wrappers.lambdaUpdate();
+                    updateWrapper.set(DmpDevice::getDeviceId,device_id)
+                            .set(DmpDevice::getProductId,product_id)
+                            .set(DmpDevice::getUpdatedTime,LocalDateTime.now())
+                            .set(DmpDevice::getDeleteFlag,1)
+                            .eq(DmpDevice::getDeviceCode,device_code);
+                    dmpDeviceService.update(updateWrapper);
+
+                }else if(flag == 0){
+                    LambdaUpdateWrapper<DmpDevice> updateWrapper = Wrappers.lambdaUpdate();
+                    updateWrapper.set(DmpDevice::getDeviceId,device_id)
+                            .set(DmpDevice::getDeviceName,device_name)
+                            .set(DmpDevice::getProductId,product_id)
+                            .set(DmpDevice::getUpdatedTime,LocalDateTime.now())
+                            .eq(DmpDevice::getDeviceCode,device_code);
+                    dmpDeviceService.update(updateWrapper);
+                }else if(flag == 1){
+                    DmpDevice dmpDevice = new DmpDevice();
+                    dmpDevice.setDeviceId(device_id);
+                    dmpDevice.setDeviceCode(device_code);
+                    dmpDevice.setDeviceName(device_name);
+                    dmpDevice.setDeviceType(deviceType);
+                    dmpDevice.setProductId(Integer.parseInt(product_id));
+                    dmpDevice.setCompanyCode(company_code);
+                    dmpDevice.setDeleteFlag(0);
+                    dmpDevice.setCreatedTime(LocalDateTime.now());
+                    dmpDeviceService.save(dmpDevice);
+                }
+            }
+
+        } catch (IOException e) {
+            throw new BusinessException("设备管理-监控系统、门禁系统、梯控系统设备信息同步http调用异常"+e.getMessage());
+        }
+
+        String data = "{\"code\": \"0\",\"msg\": \"success\",\"data\": \"\"}";
+        return data;
+    }
+
+    /**
+     * 设备管理-机房系统设备信息同步
+     *
+     * @param sceneId  项目ID
+     * @return
+     */
+    @GetMapping("GeneratorDevInfo")
+    public String GeneratorDevInfo(@RequestParam(value = "sceneId") String sceneId){
+        String result = "";
+        Map<String,Object> map = new HashMap<>();
+        map.put("jsonrpc","2.0");
+        map.put("method","GeneratorDevInfo");
+        Map<String,Object> map1 = new HashMap<>();
+        map1.put("scene_id",sceneId);
+        map.put("params",map1);
+        map.put("id",3);
+        String str = "";
+        try {
+            result  = HttpUtils.postJson(generator_devinfo,map,null);
+
+            Map data_map = JsonUtils.fromJson(result,Map.class);
+            List<Map<String,Object>> data = (List) JSONObject.parseArray(JSONObject.toJSONString(data_map.get("data")));
+            LOGGER.info(JSONObject.toJSONString(data));
+            for(int i=0;i<data.size();i++){
+                int flag = (int)(data.get(i).get("flag"));   //1 新增 0 更新 -1 删除
+                String device_id = data.get(i).get("device_id").toString();
+                String device_code = data.get(i).get("device_code").toString();
+                String device_name = data.get(i).get("device_name").toString();
+                String product_id = data.get(i).get("product_id").toString();
+                String company_code = data.get(i).get("company_code").toString();
+
+                if(flag == -1){
+//                    LambdaQueryWrapper<DmpDevice> queryWrapper = Wrappers.lambdaQuery();
+//                    queryWrapper.eq(DmpDevice::getDeleteFlag,0)
+//                            .eq(DmpDevice::getDeviceCode,device_code);
+//                    List<DmpDevice> list = dmpDeviceService.list(queryWrapper);
+//
+//                    if(CollectionUtils.isNotEmpty(list)){
+//                        DmpDevice dmpDevice = new DmpDevice();
+//                        dmpDevice.setId(list.get(0).getId());
+//                        dmpDevice.setDeviceId(device_id);
+//                        dmpDevice.setDeviceCode(device_code);
+//                        dmpDevice.setDeviceName(device_name);
+//                        dmpDevice.setDeviceType(504);
+//                        dmpDevice.setProductId(Integer.parseInt(product_id));
+//                        dmpDevice.setCompanyCode(company_code);
+//                        dmpDevice.setUpdatedTime(LocalDateTime.now());
+//                        if(flag == -1){
+//                            dmpDevice.setDeviceName(list.get(0).getDeviceName());
+//                            dmpDevice.setDeleteFlag(1);
+//                           dmpDeviceService.updateById(dmpDevice);
+//                        }else if(flag == 0){
+//                            dmpDeviceService.updateById(dmpDevice);
+//                        }
+//                    }
+                    LambdaUpdateWrapper<DmpDevice> updateWrapper = Wrappers.lambdaUpdate();
+                    updateWrapper.set(DmpDevice::getDeviceId,device_id)
+                            .set(DmpDevice::getProductId,product_id)
+                            .set(DmpDevice::getUpdatedTime,LocalDateTime.now())
+                            .set(DmpDevice::getDeleteFlag,1)
+                            .eq(DmpDevice::getDeviceCode,device_code);
+                    dmpDeviceService.update(updateWrapper);
+
+                }else if(flag == 0){
+                    LambdaUpdateWrapper<DmpDevice> updateWrapper = Wrappers.lambdaUpdate();
+                    updateWrapper.set(DmpDevice::getDeviceId,device_id)
+                            .set(DmpDevice::getDeviceName,device_name)
+                            .set(DmpDevice::getProductId,product_id)
+                            .set(DmpDevice::getUpdatedTime,LocalDateTime.now())
+                            .eq(DmpDevice::getDeviceCode,device_code);
+                    dmpDeviceService.update(updateWrapper);
+                }else if(flag == 1){
+                    DmpDevice dmpDevice = new DmpDevice();
+                    dmpDevice.setDeviceId(device_id);
+                    dmpDevice.setDeviceCode(device_code);
+                    dmpDevice.setDeviceName(device_name);
+                    dmpDevice.setDeviceType(504);
+                    dmpDevice.setProductId(Integer.parseInt(product_id));
+                    dmpDevice.setCompanyCode(company_code);
+                    dmpDevice.setDeleteFlag(0);
+                    dmpDevice.setCreatedTime(LocalDateTime.now());
+                    dmpDeviceService.save(dmpDevice);
+                }
+            }
+
+        } catch (IOException e) {
+            throw new BusinessException("设备管理-机房系统设备信息同步http调用异常"+e.getMessage());
+        }
+        String data = "{\"code\": \"0\",\"msg\": \"success\",\"data\": \"\"}";
+        return data;
+    }
+}

+ 13 - 0
service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DmpDeviceController.java

@@ -3,6 +3,8 @@ package com.usky.park.controller.web;
 
 import com.usky.common.core.bean.ApiResult;
 import com.usky.common.core.bean.CommonPage;
+import com.usky.park.domain.DataRealTime;
+import com.usky.park.service.DataRealTimeService;
 import com.usky.park.service.DmpDeviceService;
 import com.usky.park.service.vo.DmpDeviceVO;
 import com.usky.park.service.vo.HistoryAttributeVO;
@@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -100,6 +103,16 @@ public class DmpDeviceController {
         return ApiResult.success(deviceService.deviceHistoryDataList(deviceId,deviceType,deviceAttribute,startDate,endDate));
     }
 
+    /**
+     * 数据中心-环境系统楼宇健康监测查询
+     *
+     * @return
+     */
+    @GetMapping("evBuildHealth")
+    public ApiResult<Map<String,Object>> evBuildHealth(){
+        return ApiResult.success(deviceService.evBuildHealth());
+    }
+
 
 }
 

+ 51 - 0
service-park/service-park-biz/src/main/java/com/usky/park/controller/web/EgConfigController.java

@@ -0,0 +1,51 @@
+package com.usky.park.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.park.domain.EgConfig;
+import com.usky.park.service.EgConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import retrofit2.http.PUT;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 门禁进出统计配置设备表 前端控制器
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-04-26
+ */
+@RestController
+@RequestMapping("/egConfig")
+public class EgConfigController {
+    @Autowired
+    private EgConfigService egConfigService;
+
+    /**
+     * 数据中心-门禁系统统计进出设备配置保存接口
+     *
+     * @param egConfig
+     * @return
+     */
+    @PutMapping("updateEgConfig")
+    public ApiResult<Void> updateEgConfig(@RequestBody EgConfig egConfig){
+        egConfigService.updateEgConfig(egConfig);
+        return ApiResult.success();
+    }
+
+    /**
+     * 数据中心-门禁系统统计进出设备配置查询接口
+     *
+     * @return
+     */
+    @GetMapping("getEgConfig")
+    public ApiResult<List<EgConfig>> getEgConfig(){
+        return ApiResult.success(egConfigService.getEgConfig());
+    }
+
+
+}
+

+ 7 - 3
service-park/service-park-biz/src/main/java/com/usky/park/controller/web/EventEgController.java

@@ -6,8 +6,6 @@ import com.usky.common.core.bean.CommonPage;
 import com.usky.park.domain.EventEg;
 import com.usky.park.service.EventEgService;
 import com.usky.park.service.vo.EventEgStatisticVO;
-import jdk.nashorn.internal.objects.annotations.Getter;
-import org.bouncycastle.util.StringList;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -57,15 +55,21 @@ public class EventEgController {
      * 数据中心-单个门禁人员进出通行历史记录列表查询
      *
      * @param deviceId 设备Id
+     * @param personName 通行人员名称
+     * @param startDate 开始时间  格式 yyyy-MM-dd HH:mm:ss
+     * @param endDate  结束时间  格式 yyyy-MM-dd HH:mm:ss
      * @param pageNum 当前页
      * @param pageSize 每页条数
      * @return
      */
     @GetMapping("eventEgOne")
     ApiResult<CommonPage<EventEg>> eventEgOne(@RequestParam(value = "deviceId") String deviceId,
+                                              @RequestParam(value = "personName",required = false) String personName,
+                                              @RequestParam(value = "startDate",required = false) String startDate,
+                                              @RequestParam(value = "endDate",required = false) String endDate,
                                               @RequestParam(value = "pageNum",required = false,defaultValue = "1") Integer pageNum,
                                               @RequestParam(value = "pageSize",required = false,defaultValue = "10") Integer pageSize){
-        return ApiResult.success(eventEgService.eventEgOne(deviceId,pageNum,pageSize));
+        return ApiResult.success(eventEgService.eventEgOne(deviceId,personName,startDate,endDate,pageNum,pageSize));
     }
 
     /**

+ 55 - 0
service-park/service-park-biz/src/main/java/com/usky/park/controller/web/EventLcController.java

@@ -0,0 +1,55 @@
+package com.usky.park.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.park.domain.EventLc;
+import com.usky.park.service.EventLcService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 梯控历史事件表 前端控制器
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-04-10
+ */
+@RestController
+@RequestMapping("/eventLc")
+public class EventLcController {
+
+    @Autowired
+    private EventLcService eventLcService;
+
+    /**
+     * 数据中心-梯控系统人员通行列表查询
+     *
+     * @param personName 人员名称
+     * @param cardNo 卡号
+     * @param liftName 电梯名称
+     * @param startDate 开始时间  格式 yyyy-MM-dd HH:mm:ss
+     * @param endDate  结束时间  格式 yyyy-MM-dd HH:mm:ss
+     * @param pageNum  当前页
+     * @param pageSize  每页条数
+     * @return
+     */
+    @GetMapping("eventLcList")
+    public ApiResult<CommonPage<EventLc>> eventLcList(@RequestParam(value = "personName",required = false) String personName,
+                                                      @RequestParam(value = "cardNo",required = false) String cardNo,
+                                                      @RequestParam(value = "liftName",required = false) String liftName,
+                                                      @RequestParam(value = "startDate",required = false) String startDate,
+                                                      @RequestParam(value = "endDate",required = false) String endDate,
+                                                      @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
+                                                      @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize){
+        return ApiResult.success(eventLcService.eventLcList(personName,cardNo,liftName,startDate,endDate,pageNum,pageSize));
+    }
+
+}
+

+ 13 - 12
service-iot/service-iot-biz/src/main/java/com/usky/iot/domain/DmpProductAttributeAttach.java → service-park/service-park-biz/src/main/java/com/usky/park/domain/EgConfig.java

@@ -1,45 +1,46 @@
-package com.usky.iot.domain;
+package com.usky.park.domain;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
 import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 /**
  * <p>
- * 产品属性附
+ * 门禁进出统计配置设备
  * </p>
  *
- * @author ya
- * @since 2022-10-08
+ * @author zyj
+ * @since 2023-04-26
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-public class DmpProductAttributeAttach implements Serializable {
+public class EgConfig implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
     /**
-     * 主键id
+     * 主键ID
      */
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
     /**
-     * 属性id
+     * 进入统计设备ID汇总
      */
-    private Integer attributeId;
+    private String inDeviceids;
 
     /**
-     * 参数值
+     * 出去统计设备ID汇总
      */
-    private Integer parameterValue;
+    private String outDeviceids;
 
     /**
-     * 参数描述
+     * 配置时间
      */
-    private String parameterDescribe;
+    private LocalDateTime configTime;
 
 
 }

+ 106 - 0
service-park/service-park-biz/src/main/java/com/usky/park/domain/EventLc.java

@@ -0,0 +1,106 @@
+package com.usky.park.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 梯控历史事件表
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-04-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class EventLc implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备ID
+     */
+    private String deviceId;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备名称
+     */
+    private String deviceName;
+
+    /**
+     * 电梯名称
+     */
+    private String liftName;
+
+    /**
+     * 事件ID
+     */
+    private String eventId;
+
+    /**
+     * 事件类型
+     */
+    private Integer eventType;
+
+    /**
+     * 事件名称
+     */
+    private String eventName;
+
+    /**
+     * 事件产生的时间
+     */
+    private LocalDateTime eventTime;
+
+    /**
+     * 人员唯一编码
+     */
+    private String personId;
+
+    /**
+     * 卡号
+     */
+    private String cardNo;
+
+    /**
+     * 人员名称
+     */
+    private String personName;
+
+    /**
+     * 组织编码
+     */
+    private String orgId;
+
+    /**
+     * 组织名称
+     */
+    private String orgName;
+
+    /**
+     * 平台接收事件时间
+     */
+    private LocalDateTime receiveTime;
+
+    /**
+     * 租户号
+     */
+    private Integer tenantId;
+
+
+}

+ 16 - 0
service-park/service-park-biz/src/main/java/com/usky/park/mapper/EgConfigMapper.java

@@ -0,0 +1,16 @@
+package com.usky.park.mapper;
+
+import com.usky.park.domain.EgConfig;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 门禁进出统计配置设备表 Mapper 接口
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-04-26
+ */
+public interface EgConfigMapper extends CrudMapper<EgConfig> {
+
+}

+ 16 - 0
service-park/service-park-biz/src/main/java/com/usky/park/mapper/EventLcMapper.java

@@ -0,0 +1,16 @@
+package com.usky.park.mapper;
+
+import com.usky.park.domain.EventLc;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 梯控历史事件表 Mapper 接口
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-04-10
+ */
+public interface EventLcMapper extends CrudMapper<EventLc> {
+
+}

+ 3 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/DataLgHistoryService.java

@@ -3,6 +3,8 @@ package com.usky.park.service;
 import com.usky.park.domain.DataLgHistory;
 import com.usky.common.mybatis.core.CrudService;
 
+import java.util.Map;
+
 /**
  * <p>
  * 照明系统历史数据 服务类
@@ -13,4 +15,5 @@ import com.usky.common.mybatis.core.CrudService;
  */
 public interface DataLgHistoryService extends CrudService<DataLgHistory> {
 
+    Map<String,Object> ElectricalStatistics(String deviceId, String startDate, String endDate);
 }

+ 3 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/DataRealTimeService.java

@@ -1,8 +1,11 @@
 package com.usky.park.service;
 
+import com.usky.common.core.bean.ApiResult;
 import com.usky.park.domain.DataRealTime;
 import com.usky.common.mybatis.core.CrudService;
 
+import java.util.Map;
+
 /**
  * <p>
  * 实时数据表 服务类

+ 10 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/DmpDeviceService.java

@@ -7,6 +7,7 @@ import com.usky.park.service.vo.DmpDeviceVO;
 import com.usky.park.service.vo.HistoryAttributeVO;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -56,4 +57,13 @@ public interface DmpDeviceService extends CrudService<DmpDevice> {
      * @return
      */
     List<HistoryAttributeVO> deviceHistoryDataList(String deviceId, Integer deviceType, List<String> deviceAttribute, String startDate, String endDate);
+
+    /**
+     * 数据中心-环境系统楼宇健康监测查询
+     *
+     * @return
+     */
+    Map<String,Object> evBuildHealth();
+
+    float attributeStatistic(Integer deviceType,String attribute_name);
 }

+ 34 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/EgConfigService.java

@@ -0,0 +1,34 @@
+package com.usky.park.service;
+
+import com.usky.park.domain.EgConfig;
+import com.usky.common.mybatis.core.CrudService;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 门禁进出统计配置设备表 服务类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-04-26
+ */
+public interface EgConfigService extends CrudService<EgConfig> {
+
+    /**
+     * 数据中心-门禁系统统计进出设备配置保存接口
+     *
+     * @param egConfig
+     * @return
+     */
+    void updateEgConfig(EgConfig egConfig);
+
+    /**
+     * 数据中心-门禁系统统计进出设备配置查询接口
+     *
+     * @return
+     */
+    List<EgConfig> getEgConfig();
+
+}

+ 2 - 2
service-park/service-park-biz/src/main/java/com/usky/park/service/EventEgService.java

@@ -40,11 +40,11 @@ public interface EventEgService extends CrudService<EventEg> {
      * @param pageSize 每页条数
      * @return
      */
-    CommonPage<EventEg> eventEgOne(String deviceId,Integer pageNum,Integer pageSize);
+    CommonPage<EventEg> eventEgOne(String deviceId, String personName, String startDate, String endDate,Integer pageNum,Integer pageSize);
 
 
     List<EventEgStatisticVO> eventEgStatistic(List<String> enterDeviceId, List<String> outDeviceId, String startDate, String endDate);
 
-    Integer numStatistic(List<String> deviceId,String startDate,String endDate,Integer iType);
+    Integer numStatistic(List<String> deviceId,String startDate,String endDate);
 
 }

+ 31 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/EventLcService.java

@@ -0,0 +1,31 @@
+package com.usky.park.service;
+
+import com.usky.common.core.bean.CommonPage;
+import com.usky.park.domain.EventLc;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 梯控历史事件表 服务类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-04-10
+ */
+public interface EventLcService extends CrudService<EventLc> {
+
+    /**
+     * 数据中心-梯控系统人员通行列表查询
+     *
+     * @param personName 人员名称
+     * @param cardNo 卡号
+     * @param liftName 电梯名称
+     * @param startDate 开始时间  格式 yyyy-MM-dd HH:mm:ss
+     * @param endDate  结束时间  格式 yyyy-MM-dd HH:mm:ss
+     * @param pageNum  当前页
+     * @param pageSize  每页条数
+     * @return
+     */
+    CommonPage<EventLc> eventLcList(String personName,String cardNo,String liftName,String startDate,String endDate,Integer pageNum,Integer pageSize);
+
+}

+ 22 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/impl/DataLgHistoryServiceImpl.java

@@ -1,11 +1,19 @@
 package com.usky.park.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.park.domain.DataGrHistory;
 import com.usky.park.domain.DataLgHistory;
 import com.usky.park.mapper.DataLgHistoryMapper;
 import com.usky.park.service.DataLgHistoryService;
 import com.usky.common.mybatis.core.AbstractCrudService;
+import org.apache.catalina.security.SecurityUtil;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * <p>
  * 照明系统历史数据 服务实现类
@@ -17,4 +25,18 @@ import org.springframework.stereotype.Service;
 @Service
 public class DataLgHistoryServiceImpl extends AbstractCrudService<DataLgHistoryMapper, DataLgHistory> implements DataLgHistoryService {
 
+    @Override
+    public Map<String,Object> ElectricalStatistics(String deviceId,String startDate,String endDate)
+    {
+        Map<String,Object> map = new HashMap<>();
+        LambdaQueryWrapper<DataLgHistory> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(StringUtils.isNotBlank(deviceId),DataLgHistory::getDeviceId,deviceId)
+                .eq(DataLgHistory::getAttributeName,"switch_status")
+                .between(DataLgHistory::getDataTime,startDate,endDate)
+                .eq(DataLgHistory::getAttributeData,"1");
+        int count = this.count(queryWrapper);
+        map.put("count",count);
+
+        return map;
+    }
 }

+ 7 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/impl/DataRealTimeServiceImpl.java

@@ -1,11 +1,17 @@
 package com.usky.park.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.usky.park.domain.DataRealTime;
+import com.usky.park.domain.DmpDevice;
 import com.usky.park.mapper.DataRealTimeMapper;
 import com.usky.park.service.DataRealTimeService;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * <p>
  * 实时数据表 服务实现类
@@ -17,4 +23,5 @@ import org.springframework.stereotype.Service;
 @Service
 public class DataRealTimeServiceImpl extends AbstractCrudService<DataRealTimeMapper, DataRealTime> implements DataRealTimeService {
 
+
 }

+ 62 - 4
service-park/service-park-biz/src/main/java/com/usky/park/service/impl/DmpDeviceServiceImpl.java

@@ -57,8 +57,9 @@ public class DmpDeviceServiceImpl extends AbstractCrudService<DmpDeviceMapper, D
     public CommonPage<DmpDeviceVO> dmpDeviceList(String deviceName,String installAddress,Integer deviceType,String deviceStatus,String doorStatus,String switchStatus,String startDate,String endDate,Integer pageNum,Integer pageSize){
 
         LambdaQueryWrapper<DmpDevice> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.select(DmpDevice::getDeviceId,DmpDevice::getDeviceName,DmpDevice::getDeviceType,DmpDevice::getInstallAddress,DmpDevice::getCreatedTime)
+        queryWrapper.select(DmpDevice::getDeviceId,DmpDevice::getDeviceCode,DmpDevice::getDeviceName,DmpDevice::getDeviceType,DmpDevice::getInstallAddress,DmpDevice::getCreatedTime,DmpDevice::getUpdatedTime)
                 .eq(DmpDevice::getDeviceType,deviceType)
+                .eq(DmpDevice::getDeleteFlag,0)
                 .like(StringUtils.isNotBlank(deviceName),DmpDevice::getDeviceName,deviceName)
                 .like(StringUtils.isNotBlank(installAddress),DmpDevice::getInstallAddress,installAddress)
                 .between(StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate),DmpDevice::getCreatedTime,startDate,endDate)
@@ -99,9 +100,14 @@ public class DmpDeviceServiceImpl extends AbstractCrudService<DmpDeviceMapper, D
 
                 DmpDeviceVO dmpDeviceVO = new DmpDeviceVO();
                 dmpDeviceVO.setDeviceId(pagelist.get(i).getDeviceId());
+                dmpDeviceVO.setDeviceCode(pagelist.get(i).getDeviceCode());
                 dmpDeviceVO.setDeviceName(pagelist.get(i).getDeviceName());
                 dmpDeviceVO.setInstallAddress(pagelist.get(i).getInstallAddress());
                 dmpDeviceVO.setCreatedTime((pagelist.get(i).getCreatedTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+                if(pagelist.get(i).getUpdatedTime() != null){
+                    dmpDeviceVO.setUpdateTime((pagelist.get(i).getUpdatedTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+
+                }
 
 
                 if(list1.size()>0){
@@ -172,6 +178,7 @@ public class DmpDeviceServiceImpl extends AbstractCrudService<DmpDeviceMapper, D
         List<DmpDevice> devList = new ArrayList<>();
         LambdaQueryWrapper<DmpDevice> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.select(DmpDevice::getDeviceId,DmpDevice::getDeviceName,DmpDevice::getInstallAddress)
+                .eq(DmpDevice::getDeleteFlag,0)
                 .like(StringUtils.isNotBlank(deviceName),DmpDevice::getDeviceName,deviceName)
                 .like(StringUtils.isNotBlank(installAddress),DmpDevice::getInstallAddress,installAddress)
                 .eq(DmpDevice::getDeviceType,deviceType);
@@ -249,7 +256,8 @@ public class DmpDeviceServiceImpl extends AbstractCrudService<DmpDeviceMapper, D
                     queryWrapper1.select(DataGrHistory::getAttributeData,DataGrHistory::getDataTime)
                             .eq(DataGrHistory::getDeviceId,deviceId)
                             .eq(DataGrHistory::getAttributeName,deviceAttribute.get(i))
-                            .between(DataGrHistory::getDataTime,startDate,endDate);
+                            .between(DataGrHistory::getDataTime,startDate,endDate)
+                            .orderByDesc(DataGrHistory::getId);
                     List<DataGrHistory> grList = dataGrHistoryService.list(queryWrapper1);
                     if(CollectionUtils.isNotEmpty(grList)){
                         for(int j=0;j< grList.size();j++){
@@ -275,7 +283,8 @@ public class DmpDeviceServiceImpl extends AbstractCrudService<DmpDeviceMapper, D
                     queryWrapper1.select(DataEvHistory::getAttributeData,DataEvHistory::getDataTime)
                             .eq(DataEvHistory::getDeviceId,deviceId)
                             .eq(DataEvHistory::getAttributeName,deviceAttribute.get(i))
-                            .between(DataEvHistory::getDataTime,startDate,endDate);
+                            .between(DataEvHistory::getDataTime,startDate,endDate)
+                            .orderByDesc(DataEvHistory::getId);
                     List<DataEvHistory> evList = dataEvHistoryService.list(queryWrapper1);
                     if(CollectionUtils.isNotEmpty(evList)){
                         for(int j=0;j< evList.size();j++){
@@ -300,7 +309,8 @@ public class DmpDeviceServiceImpl extends AbstractCrudService<DmpDeviceMapper, D
                     queryWrapper1.select(DataLgHistory::getAttributeData,DataLgHistory::getDataTime)
                             .eq(DataLgHistory::getDeviceId,deviceId)
                             .eq(DataLgHistory::getAttributeName,deviceAttribute.get(i))
-                            .between(DataLgHistory::getDataTime,startDate,endDate);
+                            .between(DataLgHistory::getDataTime,startDate,endDate)
+                            .orderByDesc(DataLgHistory::getId);
                     List<DataLgHistory> lgList = dataLgHistoryService.list(queryWrapper1);
                     if(CollectionUtils.isNotEmpty(lgList)){
                         for(int j=0;j< lgList.size();j++){
@@ -320,4 +330,52 @@ public class DmpDeviceServiceImpl extends AbstractCrudService<DmpDeviceMapper, D
 
     }
 
+
+    @Override
+    public Map<String,Object> evBuildHealth(){
+        Map<String,Object> map = new HashMap<>();
+        float co2 = attributeStatistic(509,"co2");
+        map.put("co2",co2);
+        float jq = attributeStatistic(509,"jq");
+        map.put("jq",jq);
+        float pm2_5 = attributeStatistic(509,"pm2.5");
+        map.put("pm2.5",pm2_5);
+        float pm1_0 = attributeStatistic(509,"pm1.0");
+        map.put("pm1.0",pm1_0);
+        float pm10 = attributeStatistic(509,"pm10");
+        map.put("pm10",pm10);
+        float tvoc = attributeStatistic(509,"tvoc");
+        map.put("tvoc",tvoc);
+        float wd = attributeStatistic(509,"wd");
+        map.put("wd",wd);
+        float sd = attributeStatistic(509,"sd");
+        map.put("sd",sd);
+
+        return map;
+    }
+
+    public float attributeStatistic(Integer deviceType,String attribute_name){
+        float f = 0;
+        int deviceCount = 0;
+//        LambdaQueryWrapper<DmpDevice> queryWrapper = Wrappers.lambdaQuery();
+//        queryWrapper.eq(DmpDevice::getDeviceType,deviceType)
+//                .eq(DmpDevice::getDeleteFlag,0);
+//        deviceCount = this.count(queryWrapper);
+        LambdaQueryWrapper<DataRealTime> queryWrapper1 = Wrappers.lambdaQuery();
+        queryWrapper1.select(DataRealTime::getAttributeData)
+                .eq(DataRealTime::getDeviceType,deviceType)
+                .eq(DataRealTime::getAttributeName,attribute_name)
+                .ne(DataRealTime::getAttributeData,-50)
+                .ne(DataRealTime::getAttributeData,0);
+        List<DataRealTime> list = dataRealTimeService.list(queryWrapper1);
+        if(list.size() > 0){
+            for(int i=0;i<list.size();i++){
+                f += Float.parseFloat(list.get(i).getAttributeData());
+                deviceCount++;
+            }
+        }
+        float data = f/deviceCount;
+        return data;
+    }
+
 }

+ 39 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/impl/EgConfigServiceImpl.java

@@ -0,0 +1,39 @@
+package com.usky.park.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.park.domain.EgConfig;
+import com.usky.park.mapper.EgConfigMapper;
+import com.usky.park.service.EgConfigService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 门禁进出统计配置设备表 服务实现类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-04-26
+ */
+@Service
+public class EgConfigServiceImpl extends AbstractCrudService<EgConfigMapper, EgConfig> implements EgConfigService {
+    @Override
+    public void updateEgConfig(EgConfig egConfig){
+        egConfig.setConfigTime(LocalDateTime.now());
+        this.updateById(egConfig);
+    }
+
+    @Override
+    public List<EgConfig> getEgConfig(){
+        LambdaQueryWrapper<EgConfig> queryWrapper = Wrappers.lambdaQuery();
+        List<EgConfig> list = this.list(queryWrapper);
+        return list;
+    }
+
+}

+ 54 - 16
service-park/service-park-biz/src/main/java/com/usky/park/service/impl/EventEgServiceImpl.java

@@ -6,16 +6,21 @@ 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.park.domain.DmpDevice;
 import com.usky.park.domain.EventEg;
 import com.usky.park.mapper.EventEgMapper;
+import com.usky.park.service.DmpDeviceService;
 import com.usky.park.service.EventEgService;
 import com.usky.common.mybatis.core.AbstractCrudService;
+import java.util.Comparator;
 import com.usky.park.service.vo.EventEgStatisticVO;
 import org.bouncycastle.util.StringList;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -27,30 +32,64 @@ import java.util.List;
  */
 @Service
 public class EventEgServiceImpl extends AbstractCrudService<EventEgMapper, EventEg> implements EventEgService {
+    @Autowired
+    private DmpDeviceService deviceService;
 
     @Override
     public CommonPage<EventEg> eventEgList(String deviceName,String installAddress,String cardNo,String orgName,Integer eventType,Integer pageNum,Integer pageSize){
         IPage<EventEg> page = new Page<>(pageNum,pageSize);
         List<EventEg> list = new ArrayList<>();
-        LambdaQueryWrapper<EventEg> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.like(StringUtils.isNotBlank(deviceName),EventEg::getDeviceName,deviceName)
-                    .like(StringUtils.isNotBlank(installAddress),EventEg::getInstallAddress,installAddress)
-                    .like(StringUtils.isNotBlank(cardNo),EventEg::getCardNo,cardNo)
-                    .like(StringUtils.isNotBlank(orgName),EventEg::getOrgName,orgName)
-                    .eq(eventType  != null,EventEg::getEventType,eventType)
-                    .orderByDesc(EventEg::getId);
-        page = this.page(page,queryWrapper);
-        list = page.getRecords();
+        List<EventEg> list2 = new ArrayList<>();
+
+        LambdaQueryWrapper<DmpDevice> queryWrapper1 = Wrappers.lambdaQuery();
+        queryWrapper1.select(DmpDevice::getDeviceId)
+                .eq(DmpDevice::getDeleteFlag,0)
+                .eq(DmpDevice::getDeviceType,502);
+        List<DmpDevice> deviceList = deviceService.list(queryWrapper1);
+        if(deviceList.size() > 0){
+            for(int i=0;i<deviceList.size();i++){
+                LambdaQueryWrapper<EventEg> queryWrapper = Wrappers.lambdaQuery();
+                queryWrapper.eq(EventEg::getDeviceId,deviceList.get(i).getDeviceId())
+                        .like(StringUtils.isNotBlank(deviceName),EventEg::getDeviceName,deviceName)
+                        .like(StringUtils.isNotBlank(installAddress),EventEg::getInstallAddress,installAddress)
+                        .like(StringUtils.isNotBlank(cardNo),EventEg::getCardNo,cardNo)
+                        .like(StringUtils.isNotBlank(orgName),EventEg::getOrgName,orgName)
+                        .eq(eventType != null,EventEg::getEventType,eventType)
+                        .orderByDesc(EventEg::getEventTime);
+                List<EventEg> list1 = this.list(queryWrapper);
+                if(list1.size()>0){
+                    list.add(list1.get(0));
+
+                }
+            }
+
+        }
+
+        List<EventEg> objectList = new ArrayList<>();
+        int total = 0;
+        if(list.size() > 0){
+            total = list.size();
+        }
+        int current = 0;
+        if(pageNum != 0 && pageSize > 0){
+            current = (pageNum - 1)*pageSize;
+        }
+
+        objectList = list.stream().skip(current).limit(pageSize).collect(Collectors.toList());
+        objectList = objectList.stream().sorted(Comparator.comparing(EventEg::getEventTime).reversed()).collect(Collectors.toList());
+
 
-        return new CommonPage<>(list,page.getTotal(),pageNum,pageSize);
+        return new CommonPage<>(objectList,total,pageNum,pageSize);
 
     }
 
     @Override
-    public CommonPage<EventEg> eventEgOne(String deviceId,Integer pageNum,Integer pageSize){
+    public CommonPage<EventEg> eventEgOne(String deviceId, String personName, String startDate, String endDate,Integer pageNum,Integer pageSize){
         IPage<EventEg> page = new Page<>(pageNum,pageSize);
         LambdaQueryWrapper<EventEg> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(EventEg::getDeviceId,deviceId)
+                .like(StringUtils.isNotBlank(personName),EventEg::getPersonName,personName)
+                .between(StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate),EventEg::getEventTime,startDate,endDate)
                 .orderByDesc(EventEg::getId);
         page = this.page(page,queryWrapper);
 
@@ -61,19 +100,18 @@ public class EventEgServiceImpl extends AbstractCrudService<EventEgMapper, Event
     public List<EventEgStatisticVO> eventEgStatistic(List<String> enterDeviceId, List<String> outDeviceId, String startDate, String endDate){
         List<EventEgStatisticVO> list = new ArrayList<>();
         EventEgStatisticVO eventEgStatisticVO = new EventEgStatisticVO();
-        eventEgStatisticVO.setEnterNum(numStatistic(enterDeviceId,startDate,endDate,1));
-        eventEgStatisticVO.setOutNum(numStatistic(outDeviceId,startDate,endDate,0));
+        eventEgStatisticVO.setEnterNum(numStatistic(enterDeviceId,startDate,endDate));
+        eventEgStatisticVO.setOutNum(numStatistic(outDeviceId,startDate,endDate));
         list.add(eventEgStatisticVO);
 
         return list;
     }
 
-    public Integer numStatistic(List<String> deviceId,String startDate,String endDate,Integer iType){
+    public Integer numStatistic(List<String> deviceId,String startDate,String endDate){
         Integer num = 0;
         LambdaQueryWrapper<EventEg> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.in(EventEg::getDeviceId,deviceId)
-                .between(EventEg::getEventTime,startDate,endDate)
-                .eq(EventEg::getInOutType,iType);
+                .between(EventEg::getEventTime,startDate,endDate);
         num = this.count(queryWrapper);
 
         return num;

+ 45 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/impl/EventLcServiceImpl.java

@@ -0,0 +1,45 @@
+package com.usky.park.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+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.park.domain.EventLc;
+import com.usky.park.mapper.EventLcMapper;
+import com.usky.park.service.EventLcService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 梯控历史事件表 服务实现类
+ * </p>
+ *
+ * @author zyj
+ * @since 2023-04-10
+ */
+@Service
+public class EventLcServiceImpl extends AbstractCrudService<EventLcMapper, EventLc> implements EventLcService {
+
+    @Override
+    public CommonPage<EventLc> eventLcList(String personName,String cardNo,String liftName,String startDate,String endDate,Integer pageNum,Integer pageSize){
+        IPage<EventLc> page = new Page<>(pageNum,pageSize);
+        List<EventLc> list = new ArrayList<>();
+        LambdaQueryWrapper<EventLc> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.like(StringUtils.isNotBlank(personName),EventLc::getPersonName,personName)
+                    .like(StringUtils.isNotBlank(cardNo),EventLc::getCardNo,cardNo)
+                    .like(StringUtils.isNotBlank(liftName),EventLc::getLiftName,liftName)
+                    .between(StringUtils.isNotBlank(startDate)&&StringUtils.isNotBlank(endDate),EventLc::getEventTime,startDate,endDate)
+                    .orderByDesc(EventLc::getId);
+        page = this.page(page,queryWrapper);
+        list = page.getRecords();
+
+        return new CommonPage<>(list,page.getTotal(),pageNum,pageSize);
+    }
+
+}

+ 10 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/vo/DmpDeviceVO.java

@@ -29,6 +29,11 @@ public class DmpDeviceVO  implements Serializable {
      */
     private String deviceId;
 
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
     /**
      * 设备名称
      */
@@ -44,6 +49,11 @@ public class DmpDeviceVO  implements Serializable {
      */
     private String createdTime;
 
+    /**
+     * 更新时间
+     */
+    private String updateTime;
+
     /**
      * 设备状态(0 离线 1 在线)
      */

+ 2 - 2
service-park/service-park-biz/src/main/resources/bootstrap.yml

@@ -14,10 +14,10 @@ spring:
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: 172.16.120.165:8848
+        server-addr: usky-cloud-nacos:8848
       config:
         # 配置中心地址
-        server-addr: 172.16.120.165:8848
+        server-addr: usky-cloud-nacos:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置

+ 13 - 0
service-park/service-park-biz/src/main/resources/mapper/park/EgConfigMapper.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.park.mapper.EgConfigMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.park.domain.EgConfig">
+        <id column="id" property="id" />
+        <result column="in_deviceids" property="inDeviceids" />
+        <result column="out_deviceids" property="outDeviceids" />
+        <result column="config_time" property="configTime" />
+    </resultMap>
+
+</mapper>

+ 25 - 0
service-park/service-park-biz/src/main/resources/mapper/park/EventLcMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.park.mapper.EventLcMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.park.domain.EventLc">
+        <id column="id" property="id" />
+        <result column="device_id" property="deviceId" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_name" property="deviceName" />
+        <result column="lift_name" property="liftName" />
+        <result column="event_id" property="eventId" />
+        <result column="event_type" property="eventType" />
+        <result column="event_name" property="eventName" />
+        <result column="event_time" property="eventTime" />
+        <result column="person_id" property="personId" />
+        <result column="card_no" property="cardNo" />
+        <result column="person_name" property="personName" />
+        <result column="org_id" property="orgId" />
+        <result column="org_name" property="orgName" />
+        <result column="receive_time" property="receiveTime" />
+        <result column="tenant_id" property="tenantId" />
+    </resultMap>
+
+</mapper>