Parcourir la source

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

hanzhengyi il y a 1 an
Parent
commit
842f4ad865
40 fichiers modifiés avec 2171 ajouts et 128 suppressions
  1. 1 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/MybatisGeneratorUtils.java
  2. 21 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/ReportConfigController.java
  3. 21 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/ReportIndexConfigController.java
  4. 52 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/ReportIndexResultController.java
  5. 22 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/ReportResultController.java
  6. 61 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/ReportConfig.java
  7. 91 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/ReportIndexConfig.java
  8. 87 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/ReportIndexResult.java
  9. 82 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/ReportResult.java
  10. 16 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/mapper/ReportConfigMapper.java
  11. 16 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/mapper/ReportIndexConfigMapper.java
  12. 16 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/mapper/ReportIndexResultMapper.java
  13. 16 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/mapper/ReportResultMapper.java
  14. 1 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/AlarmHydrantWaterService.java
  15. 1 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/AlarmSmokeControlService.java
  16. 7 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/BaseCompanyPersonService.java
  17. 16 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/ReportConfigService.java
  18. 24 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/ReportIndexConfigService.java
  19. 31 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/ReportIndexResultService.java
  20. 16 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/ReportResultService.java
  21. 3 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/AlarmFireServiceImpl.java
  22. 3 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/AlarmHydrantWaterServiceImpl.java
  23. 2 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/AlarmSmokeControlServiceImpl.java
  24. 1 6
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BaseBuildServiceImpl.java
  25. 8 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BaseCompanyPersonServiceImpl.java
  26. 7 4
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BaseDeviceStatusServiceImpl.java
  27. 20 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/ReportConfigServiceImpl.java
  28. 33 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/ReportIndexConfigServiceImpl.java
  29. 1034 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/ReportIndexResultServiceImpl.java
  30. 20 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/ReportResultServiceImpl.java
  31. 110 110
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/listener/MqttListener.java
  32. 67 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/IndexResult1Vo.java
  33. 68 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/IndexResult2Vo.java
  34. 63 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/IndexResult3Vo.java
  35. 53 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/IndexResultVo.java
  36. 2 2
      service-fire/service-fire-biz/src/main/resources/bootstrap.yml
  37. 16 0
      service-fire/service-fire-biz/src/main/resources/mapper/fire/ReportConfigMapper.xml
  38. 22 0
      service-fire/service-fire-biz/src/main/resources/mapper/fire/ReportIndexConfigMapper.xml
  39. 21 0
      service-fire/service-fire-biz/src/main/resources/mapper/fire/ReportIndexResultMapper.xml
  40. 20 0
      service-fire/service-fire-biz/src/main/resources/mapper/fire/ReportResultMapper.xml

+ 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("base_ggp_facility");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        strategy.setInclude("report_result");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
         mpg.setStrategy(strategy);
 
         // 关闭默认 xml 生成,调整生成 至 根目录

+ 21 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/ReportConfigController.java

@@ -0,0 +1,21 @@
+package com.usky.fire.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 报告配置表 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-27
+ */
+@Controller
+@RequestMapping("/reportConfig")
+public class ReportConfigController {
+
+}
+

+ 21 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/ReportIndexConfigController.java

@@ -0,0 +1,21 @@
+package com.usky.fire.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 指数配置表 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-27
+ */
+@Controller
+@RequestMapping("/reportIndexConfig")
+public class ReportIndexConfigController {
+
+}
+

+ 52 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/ReportIndexResultController.java

@@ -0,0 +1,52 @@
+package com.usky.fire.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.log.annotation.Log;
+import com.usky.common.log.enums.BusinessType;
+import com.usky.fire.service.ReportIndexResultService;
+import com.usky.fire.service.vo.CompanyDataVo;
+import com.usky.fire.service.vo.IndexResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 指数结果表 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-27
+ */
+@RestController
+@RequestMapping("/reportIndexResult")
+public class ReportIndexResultController {
+    @Autowired
+    private ReportIndexResultService reportIndexResultService;
+    /**
+     * 报告指数结果
+     *
+     * @return
+     */
+    @GetMapping("/countResult")
+    public ApiResult<Void> countResult() {
+        reportIndexResultService.reportIndexResult();
+        return ApiResult.success();
+    }
+
+    /**
+     * 报告指数结果-查询
+     *
+     * @param id   对象ID
+     * @param createDate   生成日期
+     * @return
+     */
+    @GetMapping("/indexResultSelect")
+    public ApiResult<List<IndexResultVo>> indexResultSelect(@RequestParam(value = "id", required = false) Integer id,
+                                                            @RequestParam(value = "createDate", required = false) String createDate) {
+        return ApiResult.success(reportIndexResultService.indexResultSelect(id,createDate));
+    }
+}
+

+ 22 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/ReportResultController.java

@@ -0,0 +1,22 @@
+package com.usky.fire.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 报告结果表 前端控制器
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-28
+ */
+@RestController
+@RequestMapping("/reportResult")
+public class ReportResultController {
+
+}
+

+ 61 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/ReportConfig.java

@@ -0,0 +1,61 @@
+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-06-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class ReportConfig implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 报告模版名称
+     */
+    private String reportName;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 租户ID
+     */
+    private Integer tenantId;
+
+
+}

+ 91 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/ReportIndexConfig.java

@@ -0,0 +1,91 @@
+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-06-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class ReportIndexConfig implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 报告模版ID
+     */
+    private Integer reportId;
+
+    /**
+     * 指数名称
+     */
+    private String indexName;
+
+    /**
+     * 指数编号
+     */
+    private String indexCode;
+
+    /**
+     * 指数等级
+     */
+    private Integer indexGrade;
+
+    /**
+     * 上级指数ID;一级该值为0
+     */
+    private Integer seniorIndex;
+
+    /**
+     * 指数权重分
+     */
+    private Double indexWeight;
+
+    /**
+     * 指数评分说明
+     */
+    private String indexDesc;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新人
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 租户ID
+     */
+    private Integer tenantId;
+
+
+}

+ 87 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/ReportIndexResult.java

@@ -0,0 +1,87 @@
+package com.usky.fire.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+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-06-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class ReportIndexResult implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 指数编号
+     */
+    private String indexCode;
+
+    /**
+     * 指数名称
+     */
+    private String indexName;
+
+    /**
+     * 对象ID
+     */
+    private Integer objectId;
+
+    /**
+     * 得分
+     */
+    private Double indexScore;
+
+    /**
+     * 指数值
+     */
+    private String indexData;
+
+    /**
+     * 生成日期
+     */
+    private LocalDate createDate;
+
+    /**
+     * 评分类型
+     */
+    private Integer scoreType;
+
+    /**
+     * 评分说明
+     */
+    private String scoreDesc;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 租户ID
+     */
+    private Integer tenantId;
+
+
+}

+ 82 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/ReportResult.java

@@ -0,0 +1,82 @@
+package com.usky.fire.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+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-06-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class ReportResult implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 对象ID
+     */
+    private Integer objectId;
+
+    /**
+     * 生成日期
+     */
+    private LocalDate createDate;
+
+    /**
+     * 综合得分
+     */
+    private Double overallScore;
+
+    /**
+     * 报告地址
+     */
+    private String reportUrl;
+
+    /**
+     * 报告对象
+     */
+    private String reportObject;
+
+    /**
+     * 对象类型
+     */
+    private Integer objectType;
+
+    /**
+     * 报告配置ID
+     */
+    private Integer configId;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 租户ID
+     */
+    private Integer tenantId;
+
+
+}

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

@@ -0,0 +1,16 @@
+package com.usky.fire.mapper;
+
+import com.usky.fire.domain.ReportConfig;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 报告配置表 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-27
+ */
+public interface ReportConfigMapper extends CrudMapper<ReportConfig> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.usky.fire.mapper;
+
+import com.usky.fire.domain.ReportIndexConfig;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 指数配置表 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-27
+ */
+public interface ReportIndexConfigMapper extends CrudMapper<ReportIndexConfig> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.usky.fire.mapper;
+
+import com.usky.fire.domain.ReportIndexResult;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 指数结果表 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-27
+ */
+public interface ReportIndexResultMapper extends CrudMapper<ReportIndexResult> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.usky.fire.mapper;
+
+import com.usky.fire.domain.ReportResult;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 报告结果表 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-28
+ */
+public interface ReportResultMapper extends CrudMapper<ReportResult> {
+
+}

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

@@ -68,7 +68,7 @@ public interface AlarmHydrantWaterService extends CrudService<AlarmHydrantWater>
      * @param companyId 单位ID
      * @return
      */
-    Integer hydrantWaterCount(String companyId, String startTime, String endTime);
+    Integer hydrantWaterCount(String companyId, Integer handlingStatus, String startTime, String endTime);
 
     /**
      * 消防给水及消火栓列表查询

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

@@ -68,7 +68,7 @@ public interface AlarmSmokeControlService extends CrudService<AlarmSmokeControl>
      * @param companyId 单位ID
      * @return
      */
-    Integer smokeControlCount(String companyId, String startTime, String endTime);
+    Integer smokeControlCount(String companyId, Integer handlingStatus, String startTime, String endTime);
 
     /**
      * 防排烟列表查询

+ 7 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/BaseCompanyPersonService.java

@@ -37,4 +37,11 @@ public interface BaseCompanyPersonService extends CrudService<BaseCompanyPerson>
      * @return
      */
     Map<String, Object> postInspectStatistics();
+    /**
+     * 根据单位ID查询消防管理人(数据分析)
+     *
+     * @param companyId 单位编号
+     * @return
+     */
+    List<BaseCompanyPerson> baseCompanyPersonByCompanyId(String companyId);
 }

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

@@ -0,0 +1,16 @@
+package com.usky.fire.service;
+
+import com.usky.fire.domain.ReportConfig;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 报告配置表 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-27
+ */
+public interface ReportConfigService extends CrudService<ReportConfig> {
+
+}

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

@@ -0,0 +1,24 @@
+package com.usky.fire.service;
+
+import com.usky.fire.domain.ReportIndexConfig;
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.fire.service.vo.BaseBuildAddVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 指数配置表 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-27
+ */
+public interface ReportIndexConfigService extends CrudService<ReportIndexConfig> {
+    /**
+     * 指数配置-查询
+     *
+     * @param indexGrade 上级指数
+     */
+    List<ReportIndexConfig> indexConfigList(Integer reportId,Integer indexGrade);
+}

+ 31 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/ReportIndexResultService.java

@@ -0,0 +1,31 @@
+package com.usky.fire.service;
+
+import com.usky.fire.domain.ReportIndexResult;
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.fire.service.vo.CompanyDataVo;
+import com.usky.fire.service.vo.IndexResultVo;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 指数结果表 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-27
+ */
+public interface ReportIndexResultService extends CrudService<ReportIndexResult> {
+    /**
+     * 指数结果定时生成任务逻辑
+     */
+    void reportIndexResult();
+
+    /**
+     * 报告指数结果-查询
+     *
+     * @param id   对象ID
+     * @param createDate   生成日期
+     */
+    List<IndexResultVo> indexResultSelect(Integer id, String createDate);
+}

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

@@ -0,0 +1,16 @@
+package com.usky.fire.service;
+
+import com.usky.fire.domain.ReportResult;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 报告结果表 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-28
+ */
+public interface ReportResultService extends CrudService<ReportResult> {
+
+}

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

@@ -381,7 +381,9 @@ public class AlarmFireServiceImpl extends AbstractCrudService<AlarmFireMapper, A
                 .between(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime), AlarmFire::getAlarmTime, startTime, endTime);
         if (alarmType.equals("100")) {
             queryWrapper.notIn(AlarmFire::getAlarmType, 2, 3);
-        } else {
+        }else if (alarmType.equals("101")){
+
+        }else {
             queryWrapper.eq(StringUtils.isNotBlank(alarmType), AlarmFire::getAlarmType, alarmType);
         }
         int count = this.count(queryWrapper);

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

@@ -9,6 +9,7 @@ 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.AlarmFire;
 import com.usky.fire.domain.AlarmHydrantWater;
 import com.usky.fire.domain.BaseUserCompany;
 import com.usky.fire.mapper.AlarmHydrantWaterMapper;
@@ -150,9 +151,10 @@ public class AlarmHydrantWaterServiceImpl extends AbstractCrudService<AlarmHydra
 
 
     @Override
-    public Integer hydrantWaterCount(String companyId, String startTime, String endTime) {
+    public Integer hydrantWaterCount(String companyId, Integer handlingStatus, String startTime, String endTime) {
         LambdaQueryWrapper<AlarmHydrantWater> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(AlarmHydrantWater::getCompanyId, companyId)
+                .eq(handlingStatus != null, AlarmHydrantWater::getHandlingStatus, handlingStatus)
                 .between(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime), AlarmHydrantWater::getAlarmTime, startTime, endTime);
         int count = this.count(queryWrapper);
         return count;

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

@@ -152,9 +152,10 @@ public class AlarmSmokeControlServiceImpl extends AbstractCrudService<AlarmSmoke
     }
 
     @Override
-    public Integer smokeControlCount(String companyId, String startTime, String endTime) {
+    public Integer smokeControlCount(String companyId, Integer handlingStatus, String startTime, String endTime) {
         LambdaQueryWrapper<AlarmSmokeControl> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(AlarmSmokeControl::getCompanyId, companyId)
+                .eq(handlingStatus != null, AlarmSmokeControl::getHandlingStatus, handlingStatus)
                 .between(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime), AlarmSmokeControl::getAlarmTime, startTime, endTime);
         int count = this.count(queryWrapper);
         return count;

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

@@ -161,12 +161,7 @@ public class BaseBuildServiceImpl extends AbstractCrudService<BaseBuildMapper, B
     public List<BaseBuildAddVO> baseBuildByIdList(String companyId, String buildName){
         List<BaseBuildAddVO> list = new ArrayList<>();
         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::getAboveFloor, BaseBuild::getUnderFloor,
-                BaseBuild::getFireFacilitySystem, BaseBuild::getOtherSystem, BaseBuild::getOtherFacilities)
-                .eq(BaseBuild::getDeleteFlag, 0)
+        queryWrapper.eq(BaseBuild::getDeleteFlag, 0)
                 .eq(BaseBuild::getCompanyId, companyId)
                 .orderByDesc(BaseBuild::getId);
         List<BaseBuild> list1 = this.list(queryWrapper);

+ 8 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BaseCompanyPersonServiceImpl.java

@@ -152,4 +152,12 @@ public class BaseCompanyPersonServiceImpl extends AbstractCrudService<BaseCompan
         map.put("notAnsweredCount", notAnsweredCount);
         return map;
     }
+    @Override
+    public List<BaseCompanyPerson> baseCompanyPersonByCompanyId(String companyId){
+        LambdaQueryWrapper<BaseCompanyPerson> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.select(BaseCompanyPerson::getFireManageName)
+                .eq(BaseCompanyPerson::getCompanyId, companyId);
+        List<BaseCompanyPerson> list = this.list(queryWrapper);
+        return list;
+    }
 }

+ 7 - 4
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BaseDeviceStatusServiceImpl.java

@@ -60,10 +60,13 @@ public class BaseDeviceStatusServiceImpl extends AbstractCrudService<BaseDeviceS
                 deviceCodeList.add(list2.get(j).getDeviceCode());
             }
         }
-        LambdaQueryWrapper<BaseDeviceStatus> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(deviceStatus != null, BaseDeviceStatus::getDeviceStatus, deviceStatus)
-                .in(BaseDeviceStatus::getDeviceCode, deviceCodeList);
-        int count = this.count(queryWrapper);
+        int count = 0;
+        if (CollectionUtils.isNotEmpty(deviceCodeList)){
+            LambdaQueryWrapper<BaseDeviceStatus> queryWrapper = Wrappers.lambdaQuery();
+            queryWrapper.eq(deviceStatus != null, BaseDeviceStatus::getDeviceStatus, deviceStatus)
+                    .in(BaseDeviceStatus::getDeviceCode, deviceCodeList);
+            count = this.count(queryWrapper);
+        }
         return count;
     }
 

+ 20 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/ReportConfigServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.fire.service.impl;
+
+import com.usky.fire.domain.ReportConfig;
+import com.usky.fire.mapper.ReportConfigMapper;
+import com.usky.fire.service.ReportConfigService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 报告配置表 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-27
+ */
+@Service
+public class ReportConfigServiceImpl extends AbstractCrudService<ReportConfigMapper, ReportConfig> implements ReportConfigService {
+
+}

+ 33 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/ReportIndexConfigServiceImpl.java

@@ -0,0 +1,33 @@
+package com.usky.fire.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.fire.domain.BaseBuild;
+import com.usky.fire.domain.ReportIndexConfig;
+import com.usky.fire.mapper.ReportIndexConfigMapper;
+import com.usky.fire.service.ReportIndexConfigService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.fire.service.vo.BaseBuildAddVO;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 指数配置表 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-27
+ */
+@Service
+public class ReportIndexConfigServiceImpl extends AbstractCrudService<ReportIndexConfigMapper, ReportIndexConfig> implements ReportIndexConfigService {
+    @Override
+    public List<ReportIndexConfig> indexConfigList(Integer reportId,Integer indexGrade){
+        LambdaQueryWrapper<ReportIndexConfig> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(ReportIndexConfig::getIndexGrade,indexGrade)
+        .eq(ReportIndexConfig::getReportId,reportId);
+        List<ReportIndexConfig> list1 = this.list(queryWrapper);
+        return list1;
+    }
+}

+ 1034 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/ReportIndexResultServiceImpl.java

@@ -0,0 +1,1034 @@
+package com.usky.fire.service.impl;
+
+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.common.security.utils.SecurityUtils;
+import com.usky.fire.domain.*;
+import com.usky.fire.mapper.ReportIndexResultMapper;
+import com.usky.fire.service.*;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.fire.service.vo.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.List;
+
+/**
+ * <p>
+ * 指数结果表 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-27
+ */
+@Service
+public class ReportIndexResultServiceImpl extends AbstractCrudService<ReportIndexResultMapper, ReportIndexResult> implements ReportIndexResultService {
+    @Autowired
+    private BaseCompanyService baseCompanyService;
+    @Autowired
+    private BaseBuildService baseBuildService;
+    @Autowired
+    private ReportIndexConfigService reportIndexConfigService;
+    @Autowired
+    private BaseDeviceService baseDeviceService;
+    @Autowired
+    private BaseDeviceStatusService baseDeviceStatusService;
+    @Autowired
+    private AlarmFireService alarmFireService;
+    @Autowired
+    private AlarmSmokeControlService alarmSmokeControlService;
+    @Autowired
+    private AlarmHydrantWaterService alarmHydrantWaterService;
+    @Autowired
+    private AlarmSprayWaterService alarmSprayWaterService;
+    @Autowired
+    private BaseCompanyPersonService baseCompanyPersonService;
+    @Autowired
+    private DemEnforceInspectRecordService demEnforceInspectRecordService;
+    @Autowired
+    private DemLawSituationService demLawSituationService;
+    @Autowired
+    private DemEnforceReportComplaintService demEnforceReportComplaintService;
+    @Autowired
+    private DemFireStatisticsService demFireStatisticsService;
+    @Autowired
+    private ReportResultService reportResultService;
+
+    @Override
+    public void reportIndexResult() {
+        try {
+            List<BaseCompany> baseCompanies = baseCompanyService.companyIdByTypeList("1");
+            if (CollectionUtils.isNotEmpty(baseCompanies)) {
+                Calendar now = Calendar.getInstance();
+                LocalDate date=LocalDate.now();
+                LocalDateTime dateTime=LocalDateTime.now();
+                for (int i = 0; i < baseCompanies.size(); i++) {
+                    ReportResult reportResult = new ReportResult();
+                    reportResult.setObjectId(baseCompanies.get(i).getId());
+                    reportResult.setReportObject(baseCompanies.get(i).getCompanyName());
+                    reportResult.setObjectType(1);
+                    reportResult.setCreateDate(date);
+                    reportResult.setConfigId(1);
+                    reportResult.setCreateTime(dateTime);
+                    reportResult.setCreateBy(SecurityUtils.getUsername());
+                    List<BaseBuildAddVO> baseBuilds =
+                            baseBuildService.baseBuildByIdList(baseCompanies.get(i).getCompanyId(), "");
+                    List<ReportIndexConfig> indexConfig3 = reportIndexConfigService.indexConfigList(1, 3);
+                    List<ReportIndexConfig> indexConfig2 = reportIndexConfigService.indexConfigList(1, 2);
+                    List<ReportIndexConfig> indexConfig1 = reportIndexConfigService.indexConfigList(1, 1);
+                    int fireDeviceNum = baseDeviceService.deviceCount(baseCompanies.get(i).getCompanyId(), 1);
+                    int smokeDeviceNum = baseDeviceService.deviceCount(baseCompanies.get(i).getCompanyId(), 3);
+                    int fireDeviceOfflineNum =
+                            baseDeviceStatusService.deviceStatusByTypeCount(baseCompanies.get(i).getCompanyId(), 0, 1);
+                    int smokeDeviceOfflineNum =
+                            baseDeviceStatusService.deviceStatusByTypeCount(baseCompanies.get(i).getCompanyId(), 0, 3);
+                    int fireDeviceHitchNum =
+                            baseDeviceStatusService.deviceStatusByTypeCount(baseCompanies.get(i).getCompanyId(), 2, 1);
+                    int smokeDeviceHitchNum =
+                            baseDeviceStatusService.deviceStatusByTypeCount(baseCompanies.get(i).getCompanyId(), 2, 3);
+                    int fireAlarmOfflineNum = fireDeviceOfflineNum + smokeDeviceOfflineNum;
+                    int fireAlarmHitchNum = fireDeviceHitchNum + smokeDeviceHitchNum;
+                    int fireAlarmNum = fireDeviceNum + smokeDeviceNum;
+                    double fireOnlineRate = 0;
+                    double fireFaultRate = 0;
+                    if (fireAlarmNum > 0) {
+                        fireOnlineRate = 1 - Math.round(fireAlarmOfflineNum / fireAlarmNum * 100) * 0.01;
+                        fireFaultRate = Math.round(fireAlarmHitchNum / fireAlarmNum * 100) * 0.01;
+                    }
+                    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+                    Calendar lastMonthFirstDateCal = Calendar.getInstance();
+                    lastMonthFirstDateCal.add(Calendar.MONTH, -1);
+                    String lastMonthFirstTime = format.format(lastMonthFirstDateCal.getTime());
+                    Calendar lastYearFirstDateCal = Calendar.getInstance();
+                    lastYearFirstDateCal.add(Calendar.YEAR, -2);
+                    String lastYearFirstTime = format.format(lastYearFirstDateCal.getTime());
+                    Calendar lastYearFirstDateCal2 = Calendar.getInstance();
+                    lastYearFirstDateCal2.add(Calendar.YEAR, -1);
+                    String lastYearFirstTime2 = format.format(lastYearFirstDateCal2.getTime());
+                    Integer fireAlarmWcl = alarmFireService.fireAlarmCount(baseCompanies.get(i).getCompanyId(), 0,
+                            "101", lastYearFirstTime2, lastMonthFirstTime);
+                    LambdaQueryWrapper<AlarmFire> queryWrapper6 = Wrappers.lambdaQuery();
+                    queryWrapper6.eq(AlarmFire::getCompanyId, baseCompanies.get(i).getCompanyId())
+                            .eq(AlarmFire::getHandlingStatus, 1)
+                            .last("limit 1");
+                    List<AlarmFire> list6 = alarmFireService.list(queryWrapper6);
+                    long clFireDays = 0;
+                    if (CollectionUtils.isNotEmpty(list6)) {
+                        clFireDays = ChronoUnit.DAYS.between(list6.get(0).getAlarmTime(),
+                                list6.get(0).getHandlingTime());
+                    }
+                    LambdaQueryWrapper<BaseDevice> queryWrapper2 = Wrappers.lambdaQuery();
+                    queryWrapper2.select(BaseDevice::getId, BaseDevice::getDeviceCode)
+                            .eq(BaseDevice::getCompanyId, baseCompanies.get(i).getCompanyId())
+                            .in(BaseDevice::getDeviceType, 2, 5, 6)
+                            .notLike(BaseDevice::getDeviceName, "风机");
+                    List<BaseDevice> list2 = baseDeviceService.list(queryWrapper2);
+                    double waterOnlineRate = 0;
+                    double waterFaultRate = 0;
+                    Integer waterAlarmWcl = 0;
+                    long clHydrantWaterDays = 0;
+                    if (CollectionUtils.isNotEmpty(list2)) {
+                        List<String> deviceCodeList = new ArrayList<>();
+                        for (int j = 0; j < list2.size(); j++) {
+                            deviceCodeList.add(list2.get(j).getDeviceCode());
+                        }
+                        List<BaseDeviceStatus> list3 = new ArrayList<>();
+                        List<BaseDeviceStatus> list3l = new ArrayList<>();
+                        if (CollectionUtils.isNotEmpty(deviceCodeList)) {
+                            LambdaQueryWrapper<BaseDeviceStatus> queryWrapper3 = Wrappers.lambdaQuery();
+                            queryWrapper3.select(BaseDeviceStatus::getId, BaseDeviceStatus::getDeviceCode)
+                                    .in(BaseDeviceStatus::getDeviceCode, deviceCodeList)
+                                    .ne(BaseDeviceStatus::getDeviceStatus, 0);
+                            list3 = baseDeviceStatusService.list(queryWrapper3);
+                            waterOnlineRate = Math.round(list3.size() / list2.size() * 100) * 0.01;
+                            LambdaQueryWrapper<BaseDeviceStatus> queryWrapper3l = Wrappers.lambdaQuery();
+                            queryWrapper3l.select(BaseDeviceStatus::getId, BaseDeviceStatus::getDeviceCode)
+                                    .in(BaseDeviceStatus::getDeviceCode, deviceCodeList)
+                                    .eq(BaseDeviceStatus::getDeviceStatus, 2);
+                            list3l = baseDeviceStatusService.list(queryWrapper3l);
+                            waterFaultRate = Math.round(list3l.size() / list2.size() * 100) * 0.01;
+                        }
+                        waterAlarmWcl = alarmHydrantWaterService.hydrantWaterCount(baseCompanies.get(i).getCompanyId(), 0,
+                                lastYearFirstTime2, lastMonthFirstTime);
+                        LambdaQueryWrapper<AlarmHydrantWater> queryWrapper7 = Wrappers.lambdaQuery();
+                        queryWrapper7.eq(AlarmHydrantWater::getCompanyId, baseCompanies.get(i).getCompanyId())
+                                .eq(AlarmHydrantWater::getHandlingStatus, 1)
+                                .last("limit 1");
+                        List<AlarmHydrantWater> list7 = alarmHydrantWaterService.list(queryWrapper7);
+                        if (CollectionUtils.isNotEmpty(list7)) {
+                            clHydrantWaterDays = ChronoUnit.DAYS.between(list7.get(0).getAlarmTime(),
+                                    list7.get(0).getHandlingTime());
+                        }
+                    }
+                    LambdaQueryWrapper<BaseDevice> queryWrapper4 = Wrappers.lambdaQuery();
+                    queryWrapper4.select(BaseDevice::getId, BaseDevice::getDeviceCode)
+                            .eq(BaseDevice::getCompanyId, baseCompanies.get(i).getCompanyId())
+                            .eq(BaseDevice::getDeviceType, 6)
+                            .like(BaseDevice::getDeviceName, "风机");
+                    List<BaseDevice> list4 = baseDeviceService.list(queryWrapper4);
+                    double smokeOnlineRate = 0;
+                    double smokeFaultRate = 0;
+                    Integer smokeAlarmWcl = 0;
+                    long clSmokeDays = 0;
+                    if (CollectionUtils.isNotEmpty(list4)) {
+                        List<String> deviceCodeList = new ArrayList<>();
+                        for (int j = 0; j < list4.size(); j++) {
+                            deviceCodeList.add(list4.get(j).getDeviceCode());
+                        }
+                        List<BaseDeviceStatus> list5 = new ArrayList<>();
+                        List<BaseDeviceStatus> list5l = new ArrayList<>();
+                        if (CollectionUtils.isNotEmpty(deviceCodeList)) {
+                            LambdaQueryWrapper<BaseDeviceStatus> queryWrapper5 = Wrappers.lambdaQuery();
+                            queryWrapper5.select(BaseDeviceStatus::getId, BaseDeviceStatus::getDeviceCode)
+                                    .in(BaseDeviceStatus::getDeviceCode, deviceCodeList)
+                                    .ne(BaseDeviceStatus::getDeviceStatus, 0);
+                            list5 = baseDeviceStatusService.list(queryWrapper5);
+                            smokeOnlineRate = Math.round(list5.size() / list4.size()) * 0.01;
+                            LambdaQueryWrapper<BaseDeviceStatus> queryWrapper5l = Wrappers.lambdaQuery();
+                            queryWrapper5l.select(BaseDeviceStatus::getId, BaseDeviceStatus::getDeviceCode)
+                                    .in(BaseDeviceStatus::getDeviceCode, deviceCodeList)
+                                    .ne(BaseDeviceStatus::getDeviceStatus, 2);
+                            list5l = baseDeviceStatusService.list(queryWrapper5l);
+                            smokeFaultRate = Math.round(list5l.size() / list4.size()) * 0.01;
+                        }
+                        smokeAlarmWcl = alarmSmokeControlService.smokeControlCount(baseCompanies.get(i).getCompanyId(), 0,
+                                lastYearFirstTime2, lastMonthFirstTime);
+                        LambdaQueryWrapper<AlarmSmokeControl> queryWrapper8 = Wrappers.lambdaQuery();
+                        queryWrapper8.eq(AlarmSmokeControl::getCompanyId, baseCompanies.get(i).getCompanyId())
+                                .eq(AlarmSmokeControl::getHandlingStatus, 1)
+                                .last("limit 1");
+                        List<AlarmSmokeControl> list8 = alarmSmokeControlService.list(queryWrapper8);
+                        if (CollectionUtils.isNotEmpty(list8)) {
+                            clSmokeDays = ChronoUnit.DAYS.between(list8.get(0).getAlarmTime(),
+                                    list8.get(0).getHandlingTime());
+                        }
+                    }
+                    LambdaQueryWrapper<BaseCompanyPerson> queryWrapperPerson = Wrappers.lambdaQuery();
+                    queryWrapperPerson.select(BaseCompanyPerson::getFireManageName)
+                            .eq(BaseCompanyPerson::getCompanyId, baseCompanies.get(i).getCompanyId());
+                    List<BaseCompanyPerson> list9 =
+                            baseCompanyPersonService.list(queryWrapperPerson);
+                    LambdaQueryWrapper<DemEnforceInspectRecord> queryWrapper10 = Wrappers.lambdaQuery();
+                    queryWrapper10.select(DemEnforceInspectRecord::getId)
+                            .like(DemEnforceInspectRecord::getCompanyName, baseCompanies.get(i).getCompanyName())
+                            .eq(DemEnforceInspectRecord::getInspectQualified, 0)
+                            .between(DemEnforceInspectRecord::getInspectEndTime, lastYearFirstTime, date);
+                    List<DemEnforceInspectRecord> list10 = demEnforceInspectRecordService.list(queryWrapper10);
+                    Calendar lastYearFirstDateCal3 = Calendar.getInstance();
+                    lastYearFirstDateCal3.add(Calendar.YEAR, -3);
+                    String lastYearFirstTime3 = format.format(lastYearFirstDateCal3.getTime());
+                    LambdaQueryWrapper<DemLawSituation> queryWrapper11 = Wrappers.lambdaQuery();
+                    queryWrapper11.select(DemLawSituation::getId)
+                            .like(DemLawSituation::getPunishedPerson, baseCompanies.get(i).getCompanyName())
+                            .eq(DemLawSituation::getEnable, 0)
+                            .between(DemLawSituation::getPunishmentDecisionTime, lastYearFirstTime3, date);
+                    List<DemLawSituation> list11 = demLawSituationService.list(queryWrapper11);
+                    LambdaQueryWrapper<DemEnforceReportComplaint> queryWrapper12 = Wrappers.lambdaQuery();
+                    queryWrapper12.select(DemEnforceReportComplaint::getId)
+                            .like(DemEnforceReportComplaint::getReportAddress, baseCompanies.get(i).getAddress())
+                            .eq(DemEnforceReportComplaint::getEnable, 0)
+                            .in(DemEnforceReportComplaint::getFactFind, 1, 2)
+                            .between(DemEnforceReportComplaint::getReportTime, lastYearFirstTime, date);
+                    List<DemEnforceReportComplaint> list12 = demEnforceReportComplaintService.list(queryWrapper12);
+                    Calendar lastYearFirstDateCal1 = Calendar.getInstance();
+                    lastYearFirstDateCal1.add(Calendar.YEAR, -1);
+                    String lastYearFirstTime1 = format.format(lastYearFirstDateCal1.getTime());
+                    LambdaQueryWrapper<DemFireStatistics> queryWrapper13 = Wrappers.lambdaQuery();
+                    queryWrapper13.select(DemFireStatistics::getId)
+                            .like(DemFireStatistics::getFireAddress, baseCompanies.get(i).getAddress())
+                            .between(DemFireStatistics::getFireTime, lastYearFirstTime1, date);
+                    List<DemFireStatistics> list13 = demFireStatisticsService.list(queryWrapper13);
+                    if (CollectionUtils.isNotEmpty(indexConfig1)) {
+                        for (int l = 0; l < indexConfig1.size(); l++) {
+                            ReportIndexResult reportIndexResult1 = new ReportIndexResult();
+                            reportIndexResult1.setIndexCode(indexConfig1.get(l).getIndexCode());
+                            reportIndexResult1.setIndexName(indexConfig1.get(l).getIndexName());
+                            reportIndexResult1.setObjectId(baseCompanies.get(i).getId());
+                            reportIndexResult1.setCreateDate(date);
+                            reportIndexResult1.setScoreDesc(indexConfig1.get(l).getIndexDesc());
+                            if (CollectionUtils.isNotEmpty(indexConfig2)) {
+                                for (int k = 0; k < indexConfig2.size(); k++) {
+                                    if (indexConfig1.get(l).getId().equals(indexConfig2.get(k).getSeniorIndex())) {
+                                        ReportIndexResult reportIndexResult2 = new ReportIndexResult();
+                                        reportIndexResult2.setIndexCode(indexConfig2.get(k).getIndexCode());
+                                        reportIndexResult2.setIndexName(indexConfig2.get(k).getIndexName());
+                                        reportIndexResult2.setObjectId(baseCompanies.get(i).getId());
+                                        reportIndexResult2.setCreateDate(date);
+                                        reportIndexResult2.setScoreDesc(indexConfig2.get(k).getIndexDesc());
+                                        if (CollectionUtils.isNotEmpty(indexConfig3)) {
+                                            for (int j = 0; j < indexConfig3.size(); j++) {
+                                                if (indexConfig2.get(k).getId().equals(indexConfig3.get(j).getSeniorIndex())) {
+                                                    ReportIndexResult reportIndexResult = new ReportIndexResult();
+                                                    reportIndexResult.setIndexCode(indexConfig3.get(j).getIndexCode());
+                                                    reportIndexResult.setIndexName(indexConfig3.get(j).getIndexName());
+                                                    reportIndexResult.setObjectId(baseCompanies.get(i).getId());
+                                                    reportIndexResult.setCreateDate(date);
+                                                    reportIndexResult.setScoreDesc(indexConfig3.get(j).getIndexDesc());
+                                                    if (CollectionUtils.isNotEmpty(baseBuilds)) {
+                                                        reportIndexResult.setScoreType(1);
+                                                        if (indexConfig3.get(j).getSeniorIndex().equals(2)) {
+                                                            if (indexConfig3.get(j).getIndexCode().equals("10024")) {
+                                                                reportIndexResult.setIndexData(baseBuilds.get(0).getBaseBuild().getFireRating().toString());
+                                                                if (baseBuilds.get(0).getBaseBuild().getFireRating().equals(1)) {
+                                                                    reportIndexResult.setIndexScore(100 * indexConfig3.get(j).getIndexWeight());
+                                                                    reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight() * indexConfig2.get(k).getIndexWeight());
+                                                                } else if (baseBuilds.get(0).getBaseBuild().getFireRating().equals(2)) {
+                                                                    reportIndexResult.setIndexScore(75 * indexConfig3.get(j).getIndexWeight());
+                                                                    reportIndexResult2.setIndexScore(75 * indexConfig3.get(j).getIndexWeight() * indexConfig2.get(k).getIndexWeight());
+                                                                } else if (baseBuilds.get(0).getBaseBuild().getFireRating().equals(3)) {
+                                                                    reportIndexResult.setIndexScore(50 * indexConfig3.get(j).getIndexWeight());
+                                                                    reportIndexResult2.setIndexScore(50 * indexConfig3.get(j).getIndexWeight() * indexConfig2.get(k).getIndexWeight());
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(25 * indexConfig3.get(j).getIndexWeight());
+                                                                    reportIndexResult2.setIndexScore(25 * indexConfig3.get(j).getIndexWeight() * indexConfig2.get(k).getIndexWeight());
+                                                                }
+                                                            }
+                                                            this.save(reportIndexResult);
+                                                        }else if (indexConfig3.get(j).getSeniorIndex().equals(7)){
+                                                            if (indexConfig3.get(j).getIndexCode().equals("10025")) {
+                                                                reportIndexResult.setIndexData(baseBuilds.get(0).getBaseBuild().getAboveFloor().toString());
+                                                                if (baseBuilds.get(0).getBaseBuild().getAboveFloor() < 10) {
+                                                                    reportIndexResult.setIndexScore(100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else if (baseBuilds.get(0).getBaseBuild().getAboveFloor() > 10 && baseBuilds.get(0).getBaseBuild().getAboveFloor() < 40) {
+                                                                    reportIndexResult.setIndexScore(66.67 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(66.67 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else{
+                                                                        reportIndexResult2.setIndexScore(66.67 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(33.33 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(33.33 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                    reportIndexResult.setIndexScore(33.33 * indexConfig3.get(j).getIndexWeight());
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10026")) {
+                                                                reportIndexResult.setIndexData(baseBuilds.get(0).getBaseBuild().getUnderSpace().toString());
+                                                                if (baseBuilds.get(0).getBaseBuild().getUnderSpace() > 20000) {
+                                                                    reportIndexResult.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else if (baseBuilds.get(0).getBaseBuild().getUnderSpace() > 10000 && baseBuilds.get(0).getBaseBuild().getUnderSpace() < 20000) {
+                                                                    reportIndexResult.setIndexScore(-75 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(-75 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(-75 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else if (baseBuilds.get(0).getBaseBuild().getUnderSpace() > 5000 && baseBuilds.get(0).getBaseBuild().getUnderSpace() < 10000) {
+                                                                    reportIndexResult.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(-25 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(-25 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(-25 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            }
+                                                            this.save(reportIndexResult);
+                                                        }else if (indexConfig3.get(j).getSeniorIndex().equals(8)){
+                                                            if (indexConfig3.get(j).getIndexCode().equals("10027")) {
+                                                                reportIndexResult.setIndexData(baseBuilds.get(0).getBaseBuild().getUseCharacter().toString());
+                                                                if (baseBuilds.get(0).getBaseBuild().getUseCharacter().equals(16)) {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                } else if (baseBuilds.get(0).getBaseBuild().getUseCharacter().equals(14) || baseBuilds.get(0).getBaseBuild().getUseCharacter().equals(15)) {
+                                                                    reportIndexResult.setIndexScore(50 * indexConfig3.get(j).getIndexWeight());
+                                                                    reportIndexResult2.setIndexScore(50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                } else if (baseBuilds.get(0).getBaseBuild().getUseCharacter().equals(2)) {
+                                                                    reportIndexResult.setIndexScore(75 * indexConfig3.get(j).getIndexWeight());
+                                                                    reportIndexResult2.setIndexScore(75 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(100 * indexConfig3.get(j).getIndexWeight());
+                                                                    reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10028")) {
+                                                                reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                reportIndexResult.setScoreType(0);
+                                                            }
+                                                            this.save(reportIndexResult);
+                                                        }else if (indexConfig3.get(j).getSeniorIndex().equals(9)){
+                                                             if (indexConfig3.get(j).getIndexCode().equals("10029")) {
+                                                                reportIndexResult.setIndexData(baseBuilds.get(0).getBaseBuild().getCompleteYear().toString());
+                                                                long days = date.toEpochDay() - baseBuilds.get(0).getBaseBuild().getCompleteYear().toEpochDay();
+                                                                if (days < 7300) {
+                                                                    reportIndexResult.setIndexScore(100 * indexConfig3.get(j).getIndexWeight());
+                                                                    reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                }
+                                                            }
+                                                            this.save(reportIndexResult);
+                                                        }
+                                                    } else {
+                                                        if (indexConfig3.get(j).getSeniorIndex().equals(2) || indexConfig3.get(j).getSeniorIndex().equals(7) || indexConfig3.get(j).getSeniorIndex().equals(8) || indexConfig3.get(j).getSeniorIndex().equals(9)) {
+                                                            if (indexConfig3.get(j).getIndexCode().equals("10026") || indexConfig3.get(j).getIndexCode().equals("10028")) {
+                                                                reportIndexResult.setIndexScore(0.00);
+                                                            } else {
+                                                                reportIndexResult.setIndexScore(50 * indexConfig3.get(j).getIndexWeight());
+                                                            }
+                                                            reportIndexResult.setScoreType(0);
+                                                            reportIndexResult2.setIndexScore(50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            this.save(reportIndexResult);
+                                                        }
+                                                    }
+                                                    if (indexConfig3.get(j).getSeniorIndex().equals(10)) {
+                                                        if (fireAlarmNum == 0) {
+                                                            reportIndexResult.setScoreType(0);
+                                                            if (indexConfig3.get(j).getIndexCode().equals("10030")) {
+                                                                reportIndexResult.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight());
+                                                                if (reportIndexResult2.getIndexScore()!=null){
+                                                                    reportIndexResult2.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                }else {
+                                                                    reportIndexResult2.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10031")) {
+                                                                reportIndexResult.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight());
+                                                                if (reportIndexResult2.getIndexScore()!=null){
+                                                                    reportIndexResult2.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                }else {
+                                                                    reportIndexResult2.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                }
+                                                            } else {
+                                                                reportIndexResult.setIndexScore(50 * indexConfig3.get(j).getIndexWeight());
+                                                                if (reportIndexResult2.getIndexScore()!=null){
+                                                                    reportIndexResult2.setIndexScore(50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                }else {
+                                                                    reportIndexResult2.setIndexScore(50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                }
+                                                            }
+                                                        } else {
+                                                            reportIndexResult.setScoreType(1);
+                                                            if (indexConfig3.get(j).getIndexCode().equals("10030")) {
+                                                                reportIndexResult.setIndexData(String.valueOf(fireOnlineRate));
+                                                                if (fireOnlineRate < 0.95) {
+                                                                    reportIndexResult.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10031")) {
+                                                                reportIndexResult.setIndexData(String.valueOf(fireFaultRate));
+                                                                if (fireFaultRate > 0.05) {
+                                                                    reportIndexResult.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10032")) {
+                                                                reportIndexResult.setIndexData(String.valueOf(fireOnlineRate));
+                                                                if (fireOnlineRate > 0.9) {
+                                                                    reportIndexResult.setIndexScore(100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10033")) {
+                                                                reportIndexResult.setIndexData(String.valueOf(fireFaultRate));
+                                                                if (fireFaultRate < 0.05) {
+                                                                    reportIndexResult.setIndexScore(100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10034")) {
+                                                                reportIndexResult.setIndexData(String.valueOf(fireAlarmWcl));
+                                                                if (fireAlarmWcl > 0) {
+                                                                    reportIndexResult.setIndexScore(-15 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(-15 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(-15 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else if (clFireDays < 7) {
+                                                                    reportIndexResult.setIndexScore(100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else if (clFireDays < 30) {
+                                                                    reportIndexResult.setIndexScore(25 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(25 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(25 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            }
+                                                        }
+                                                        this.save(reportIndexResult);
+                                                    }
+                                                    if (indexConfig3.get(j).getSeniorIndex().equals(11)) {
+                                                        if (list2.size() == 0) {
+                                                            reportIndexResult.setScoreType(0);
+                                                            if (indexConfig3.get(j).getIndexCode().equals("10035")) {
+                                                                reportIndexResult.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight());
+                                                                if (reportIndexResult2.getIndexScore()!=null){
+                                                                    reportIndexResult2.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                }else {
+                                                                    reportIndexResult2.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10036")) {
+                                                                reportIndexResult.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight());
+                                                                if (reportIndexResult2.getIndexScore()!=null){
+                                                                    reportIndexResult2.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                }else {
+                                                                    reportIndexResult2.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                }
+                                                            } else {
+                                                                reportIndexResult.setIndexScore(50 * indexConfig3.get(j).getIndexWeight());
+                                                                if (reportIndexResult2.getIndexScore()!=null){
+                                                                    reportIndexResult2.setIndexScore(50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                }else {
+                                                                    reportIndexResult2.setIndexScore(50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                }
+                                                            }
+                                                        } else {
+                                                            reportIndexResult.setScoreType(1);
+                                                            if (indexConfig3.get(j).getIndexCode().equals("10035")) {
+                                                                reportIndexResult.setIndexData(String.valueOf(waterOnlineRate));
+                                                                if (waterOnlineRate < 0.95) {
+                                                                    reportIndexResult.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10036")) {
+                                                                reportIndexResult.setIndexData(String.valueOf(waterFaultRate));
+                                                                if (waterFaultRate > 0.05) {
+                                                                    reportIndexResult.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10037")) {
+                                                                reportIndexResult.setIndexData(String.valueOf(waterOnlineRate));
+                                                                if (waterOnlineRate > 0.9) {
+                                                                    reportIndexResult.setIndexScore(100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10038")) {
+                                                                reportIndexResult.setIndexData(String.valueOf(waterFaultRate));
+                                                                if (waterFaultRate < 0.05) {
+                                                                    reportIndexResult.setIndexScore(100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10039")) {
+                                                                reportIndexResult.setIndexData(String.valueOf(waterAlarmWcl));
+                                                                if (waterAlarmWcl > 0) {
+                                                                    reportIndexResult.setIndexScore(-15 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(-15 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(-15 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else if (clHydrantWaterDays < 7) {
+                                                                    reportIndexResult.setIndexScore(100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else if (clHydrantWaterDays < 30) {
+                                                                    reportIndexResult.setIndexScore(25 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(25 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(25 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            }
+                                                        }
+                                                        this.save(reportIndexResult);
+                                                    }
+                                                    if (indexConfig3.get(j).getSeniorIndex().equals(12)) {
+                                                        if (list4.size() == 0) {
+                                                            reportIndexResult.setScoreType(0);
+                                                            if (indexConfig3.get(j).getIndexCode().equals("10040")) {
+                                                                reportIndexResult.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight());
+                                                                if (reportIndexResult2.getIndexScore()!=null){
+                                                                    reportIndexResult2.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                }else {
+                                                                    reportIndexResult2.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10041")) {
+                                                                reportIndexResult.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight());
+                                                                if (reportIndexResult2.getIndexScore()!=null){
+                                                                    reportIndexResult2.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                }else {
+                                                                    reportIndexResult2.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                }
+                                                            } else {
+                                                                reportIndexResult.setIndexScore(50 * indexConfig3.get(j).getIndexWeight());
+                                                                if (reportIndexResult2.getIndexScore()!=null){
+                                                                    reportIndexResult2.setIndexScore(50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                }else {
+                                                                    reportIndexResult2.setIndexScore(50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                }
+                                                            }
+                                                        } else {
+                                                            reportIndexResult.setScoreType(1);
+                                                            if (indexConfig3.get(j).getIndexCode().equals("10040")) {
+                                                                reportIndexResult.setIndexData(String.valueOf(smokeOnlineRate));
+                                                                if (smokeOnlineRate < 0.95) {
+                                                                    reportIndexResult.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10041")) {
+                                                                reportIndexResult.setIndexData(String.valueOf(smokeFaultRate));
+                                                                if (smokeFaultRate > 0.05) {
+                                                                    reportIndexResult.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10042")) {
+                                                                reportIndexResult.setIndexData(String.valueOf(smokeOnlineRate));
+                                                                if (smokeOnlineRate > 0.9) {
+                                                                    reportIndexResult.setIndexScore(100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10043")) {
+                                                                reportIndexResult.setIndexData(String.valueOf(smokeFaultRate));
+                                                                if (smokeFaultRate < 0.05) {
+                                                                    reportIndexResult.setIndexScore(100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            } else if (indexConfig3.get(j).getIndexCode().equals("10044")) {
+                                                                reportIndexResult.setIndexData(String.valueOf(smokeAlarmWcl));
+                                                                if (smokeAlarmWcl > 0) {
+                                                                    reportIndexResult.setIndexScore(-15 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(-15 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(-15 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else if (clSmokeDays < 7) {
+                                                                    reportIndexResult.setIndexScore(100 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else if (clSmokeDays < 30) {
+                                                                    reportIndexResult.setIndexScore(25 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(25 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(25 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                } else {
+                                                                    reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                    if (reportIndexResult2.getIndexScore()!=null){
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                    }else {
+                                                                        reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                    }
+                                                                }
+                                                            }
+                                                        }
+                                                        this.save(reportIndexResult);
+                                                    }
+                                                    if (indexConfig3.get(j).getSeniorIndex().equals(13)) {
+                                                        reportIndexResult.setScoreType(0);
+                                                        if (indexConfig3.get(j).getIndexCode().equals("10046") || indexConfig3.get(j).getIndexCode().equals("10048")) {
+                                                            reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                            if (reportIndexResult2.getIndexScore()!=null){
+                                                                reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                            }else {
+                                                                reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            }
+                                                        } else {
+                                                            reportIndexResult.setIndexScore(50 * indexConfig3.get(j).getIndexWeight());
+                                                            if (reportIndexResult2.getIndexScore()!=null){
+                                                                reportIndexResult2.setIndexScore(50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                            }else {
+                                                                reportIndexResult2.setIndexScore(50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            }
+                                                        }
+                                                        this.save(reportIndexResult);
+                                                    }
+                                                    if (indexConfig3.get(j).getSeniorIndex().equals(14) || indexConfig3.get(j).getSeniorIndex().equals(15) || indexConfig3.get(j).getSeniorIndex().equals(16) || indexConfig3.get(j).getSeniorIndex().equals(17)) {
+                                                        if (indexConfig3.get(j).getIndexCode().equals("10054")) {
+                                                            if (CollectionUtils.isNotEmpty(list9)) {
+                                                                reportIndexResult.setIndexData(list9.get(0).getFireManageName());
+                                                            }
+                                                            if (list9.size() == 0 || list9.get(0).getFireManageName() == null || list9.get(0).getFireManageName().equals("暂缺") || list9.get(0).getFireManageName().equals("")) {
+                                                                reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                if (reportIndexResult2.getIndexScore()!=null){
+                                                                    reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                }else {
+                                                                    reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                }
+                                                            } else {
+                                                                reportIndexResult.setIndexScore(100 * indexConfig3.get(j).getIndexWeight());
+                                                                if (reportIndexResult2.getIndexScore()!=null){
+                                                                    reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                                }else {
+                                                                    reportIndexResult2.setIndexScore(100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                                }
+                                                            }
+                                                            reportIndexResult.setScoreType(1);
+                                                        } else {
+                                                            reportIndexResult.setIndexScore(50 * indexConfig3.get(j).getIndexWeight());
+                                                            if (reportIndexResult2.getIndexScore()!=null){
+                                                                reportIndexResult2.setIndexScore(50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight()+reportIndexResult2.getIndexScore());
+                                                            }else {
+                                                                reportIndexResult2.setIndexScore(50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            }
+                                                            reportIndexResult.setScoreType(0);
+                                                        }
+                                                        this.save(reportIndexResult);
+                                                    }
+                                                    if (indexConfig3.get(j).getSeniorIndex().equals(18) || indexConfig3.get(j).getSeniorIndex().equals(19) || indexConfig3.get(j).getSeniorIndex().equals(20) || indexConfig3.get(j).getSeniorIndex().equals(21)) {
+                                                        if (indexConfig3.get(j).getIndexCode().equals("10067")) {
+                                                            reportIndexResult.setIndexData(String.valueOf(list10.size()));
+                                                            if (list10.size() == 0) {
+                                                                reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            } else if (list10.size() < 4) {
+                                                                reportIndexResult.setIndexScore(-20 * indexConfig3.get(j).getIndexWeight());
+                                                                reportIndexResult2.setIndexScore(-20 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            } else if (list10.size() < 7) {
+                                                                reportIndexResult.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight());
+                                                                reportIndexResult2.setIndexScore(-50 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            } else {
+                                                                reportIndexResult.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight());
+                                                                reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            }
+                                                            reportIndexResult.setScoreType(1);
+                                                        } else if (indexConfig3.get(j).getIndexCode().equals("10068")) {
+                                                            reportIndexResult.setIndexData(String.valueOf(list11.size()));
+                                                            if (list11.size() == 0) {
+                                                                reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                                reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            } else if (list11.size() == 1) {
+                                                                reportIndexResult.setIndexScore(-20 * indexConfig3.get(j).getIndexWeight());
+                                                                reportIndexResult2.setIndexScore(-20 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            } else if (list11.size() == 2) {
+                                                                reportIndexResult.setIndexScore(-40 * indexConfig3.get(j).getIndexWeight());
+                                                                reportIndexResult2.setIndexScore(-40 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            } else if (list11.size() == 3) {
+                                                                reportIndexResult.setIndexScore(-80 * indexConfig3.get(j).getIndexWeight());
+                                                                reportIndexResult2.setIndexScore(-80 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            } else {
+                                                                reportIndexResult.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight());
+                                                                reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            }
+                                                            reportIndexResult.setScoreType(1);
+                                                        } else if (indexConfig3.get(j).getIndexCode().equals("10069")) {
+                                                            reportIndexResult.setIndexData(String.valueOf(list12.size()));
+                                                            if (list12.size() < 5) {
+                                                                reportIndexResult.setIndexScore(-25 * list12.size() * indexConfig3.get(j).getIndexWeight());
+                                                                reportIndexResult2.setIndexScore(-25 * list12.size() * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            } else {
+                                                                reportIndexResult.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight());
+                                                                reportIndexResult2.setIndexScore(-100 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            }
+                                                            reportIndexResult.setScoreType(1);
+                                                        } else if (indexConfig3.get(j).getIndexCode().equals("10070")) {
+                                                            reportIndexResult.setScoreType(0);
+                                                            reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                            reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                        }
+                                                        this.save(reportIndexResult);
+                                                    }
+                                                    if (indexConfig3.get(j).getSeniorIndex().equals(22) || indexConfig3.get(j).getSeniorIndex().equals(23)) {
+                                                        if (indexConfig3.get(j).getIndexCode().equals("10071")) {
+                                                            reportIndexResult.setIndexData(String.valueOf(list13.size()));
+                                                            reportIndexResult.setIndexScore(-100 * list13.size() * indexConfig3.get(j).getIndexWeight());
+                                                            reportIndexResult2.setIndexScore(-100 * list13.size() * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            reportIndexResult.setScoreType(1);
+                                                        } else {
+                                                            reportIndexResult.setIndexScore(0 * indexConfig3.get(j).getIndexWeight());
+                                                            reportIndexResult2.setIndexScore(0 * indexConfig3.get(j).getIndexWeight()* indexConfig2.get(k).getIndexWeight());
+                                                            reportIndexResult.setScoreType(0);
+                                                        }
+                                                        this.save(reportIndexResult);
+                                                    }
+                                                }
+                                            }
+                                        }
+                                        this.save(reportIndexResult2);
+                                        if (indexConfig1.get(l).getId().equals(5)||indexConfig1.get(l).getId().equals(6)){
+                                            if (reportIndexResult1.getIndexScore()!=null){
+                                                reportIndexResult1.setIndexScore(reportIndexResult2.getIndexScore()* indexConfig1.get(l).getIndexWeight()+reportIndexResult1.getIndexScore());
+                                            }else {
+                                                reportIndexResult1.setIndexScore(100*indexConfig1.get(l).getIndexWeight()+reportIndexResult2.getIndexScore()* indexConfig1.get(l).getIndexWeight());
+                                            }
+                                        }else {
+                                            if (reportIndexResult1.getIndexScore()!=null){
+                                                reportIndexResult1.setIndexScore(reportIndexResult2.getIndexScore()* indexConfig1.get(l).getIndexWeight()+reportIndexResult1.getIndexScore());
+                                            }else {
+                                                reportIndexResult1.setIndexScore(reportIndexResult2.getIndexScore()* indexConfig1.get(l).getIndexWeight());
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                            this.save(reportIndexResult1);
+                            if (reportResult.getOverallScore()!=null){
+                                reportResult.setOverallScore(reportIndexResult1.getIndexScore()+reportResult.getOverallScore());
+                            }else {
+                                reportResult.setOverallScore(reportIndexResult1.getIndexScore());
+                            }
+                        }
+                    }
+                    reportResultService.save(reportResult);
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public List<IndexResultVo> indexResultSelect(Integer id, String createDate) {
+        List<IndexResultVo> list = new ArrayList<>();
+        List<IndexResult1Vo> list2 = new ArrayList<>();
+        LambdaQueryWrapper<ReportResult> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.select(ReportResult::getId,ReportResult::getObjectId,ReportResult::getCreateDate,
+                ReportResult::getOverallScore)
+                .eq(ReportResult::getId,id);
+        List<ReportResult> list1 = reportResultService.list(queryWrapper);
+        IndexResultVo indexResultVo = new IndexResultVo();
+        if (CollectionUtils.isNotEmpty(list1)) {
+            indexResultVo.setCreateDate(list1.get(0).getCreateDate());
+            indexResultVo.setId(list1.get(0).getId());
+            indexResultVo.setOverallScore(list1.get(0).getOverallScore());
+            LambdaQueryWrapper<ReportIndexResult> queryWrapper1 = Wrappers.lambdaQuery();
+            queryWrapper1
+                    .eq(ReportIndexResult::getObjectId,list1.get(0).getObjectId())
+                    .eq(ReportIndexResult::getCreateDate,list1.get(0).getCreateDate());
+            List<ReportIndexResult> list3 = this.list(queryWrapper1);
+            if (CollectionUtils.isNotEmpty(list3)) {
+                List<String> indexIdList = new ArrayList<>();
+                for (int i = 0; i < list3.size(); i++) {
+                    indexIdList.add(list3.get(i).getIndexCode());
+                }
+                LambdaQueryWrapper<ReportIndexConfig> queryWrapper2 = Wrappers.lambdaQuery();
+                queryWrapper2
+                        .in(ReportIndexConfig::getIndexCode,indexIdList);
+//                        .eq(ReportIndexConfig::getIndexGrade,1);
+                List<ReportIndexConfig> list4 = reportIndexConfigService.list(queryWrapper2);
+                for (int j = 0; j < list3.size(); j++) {
+                    IndexResult1Vo indexResult1Vo = new IndexResult1Vo();
+                    if (CollectionUtils.isNotEmpty(list4)){
+                        for (int k = 0; k < list4.size(); k++) {
+                            if (list3.get(j).getIndexCode().equals(list4.get(k).getIndexCode()) && list4.get(k).getIndexGrade().equals(1)){
+                                indexResult1Vo.setId(list3.get(j).getId());
+                                indexResult1Vo.setIndexData(list3.get(j).getIndexData());
+                                indexResult1Vo.setIndexName(list3.get(j).getIndexName());
+                                indexResult1Vo.setIndexScore(list3.get(j).getIndexScore());
+                                indexResult1Vo.setIndexWeight(list4.get(k).getIndexWeight());
+                                indexResult1Vo.setScoreDesc(list3.get(j).getScoreDesc());
+                                indexResult1Vo.setScoreType(list3.get(j).getScoreType());
+                                List<IndexResult2Vo> list5 = new ArrayList<>();
+                                for (int m = 0; m < list4.size(); m++) {
+                                    if (list4.get(m).getSeniorIndex().equals(list4.get(k).getId()) && list4.get(m).getIndexGrade().equals(2)) {
+                                        for (int l = 0; l < list3.size(); l++) {
+                                            if (list3.get(l).getIndexCode().equals(list4.get(m).getIndexCode())) {
+                                                IndexResult2Vo indexResult2Vo = new IndexResult2Vo();
+                                                indexResult2Vo.setId(list3.get(l).getId());
+                                                indexResult2Vo.setIndexData(list3.get(l).getIndexData());
+                                                indexResult2Vo.setIndexName(list3.get(l).getIndexName());
+                                                indexResult2Vo.setIndexScore(list3.get(l).getIndexScore());
+                                                indexResult2Vo.setIndexWeight(list4.get(m).getIndexWeight());
+                                                indexResult2Vo.setScoreDesc(list3.get(l).getScoreDesc());
+                                                indexResult2Vo.setScoreType(list3.get(l).getScoreType());
+                                                List<IndexResult3Vo> list6 = new ArrayList<>();
+                                                for (int o = 0; o < list4.size(); o++) {
+                                                    if (list4.get(o).getSeniorIndex().equals(list4.get(m).getId()) && list4.get(o).getIndexGrade().equals(3)) {
+                                                        for (int n = 0; n < list3.size(); n++) {
+                                                            if (list3.get(n).getIndexCode().equals(list4.get(o).getIndexCode())) {
+                                                                IndexResult3Vo indexResult3Vo = new IndexResult3Vo();
+                                                                indexResult3Vo.setId(list3.get(n).getId());
+                                                                indexResult3Vo.setIndexData(list3.get(n).getIndexData());
+                                                                indexResult3Vo.setIndexName(list3.get(n).getIndexName());
+                                                                indexResult3Vo.setIndexScore(list3.get(n).getIndexScore());
+                                                                indexResult3Vo.setIndexWeight(list4.get(o).getIndexWeight());
+                                                                indexResult3Vo.setScoreDesc(list3.get(n).getScoreDesc());
+                                                                indexResult3Vo.setScoreType(list3.get(n).getScoreType());
+                                                                list6.add(indexResult3Vo);
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                                indexResult2Vo.setIndexResult3List(list6);
+                                                list5.add(indexResult2Vo);
+                                            }
+                                        }
+                                    }
+                                }
+                                indexResult1Vo.setIndexResult2List(list5);
+                                list2.add(indexResult1Vo);
+                            }
+                        }
+                    }
+                }
+            }
+            indexResultVo.setIndexResult1List(list2);
+            list.add(indexResultVo);
+        }
+
+        return list;
+    }
+}

+ 20 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/ReportResultServiceImpl.java

@@ -0,0 +1,20 @@
+package com.usky.fire.service.impl;
+
+import com.usky.fire.domain.ReportResult;
+import com.usky.fire.mapper.ReportResultMapper;
+import com.usky.fire.service.ReportResultService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 报告结果表 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-28
+ */
+@Service
+public class ReportResultServiceImpl extends AbstractCrudService<ReportResultMapper, ReportResult> implements ReportResultService {
+
+}

+ 110 - 110
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/listener/MqttListener.java

@@ -1,110 +1,110 @@
-package com.usky.fire.service.listener;
-
-
-import com.usky.fire.service.config.mqtt.MqttInConfig;
-import com.usky.fire.service.enums.TopListener;
-import com.usky.fire.service.mqtt.SimpleContext;
-import com.usky.fire.service.vo.MqttBaseVO;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.context.annotation.Bean;
-import org.springframework.integration.annotation.ServiceActivator;
-import org.springframework.messaging.MessageHandler;
-import org.springframework.stereotype.Component;
-
-/**
- * @author yq
- * @date 2021/11/3 8:13
- */
-@ConditionalOnProperty(prefix = "mqtt", value = {"enabled"}, havingValue = "true")
-@Slf4j
-@Component
-public class MqttListener {
-
-    public static final String MESSAGE_NAME = "messageInput";
-
-    @Autowired
-    private SimpleContext simpleContext;
-
-    /**
-     * 处理消息-消费者
-     *
-     * @return
-     */
-    @Bean(MESSAGE_NAME)
-    @ServiceActivator(inputChannel = MqttInConfig.CHANNEL_NAME_INPUT)
-    public MessageHandler handler() {
-        return message -> {
-            String payload = message.getPayload().toString();
-            //进行接口推送
-            String[] code1 = TopListener.FIRE_ALERT.getCode().split("/");
-            String[] code2 = TopListener.WATER_ALERT.getCode().split("/");
-            String[] code3 = TopListener.RTU_ALERT.getCode().split("/");
-            String[] code4 = TopListener.VIDEO_ALERT.getCode().split("/");
-            String[] code5 = TopListener.SMOKE_ALERT.getCode().split("/");
-            String[] code6 = TopListener.ELECTRICAL_ALERT.getCode().split("/");
-            String[] code7 = TopListener.LIQUID_ALERT.getCode().split("/");
-            String[] infoCode1 = TopListener.FIRE_INFO.getCode().split("/");
-            String[] infoCode2 = TopListener.WATER_INFO.getCode().split("/");
-            String[] infoCode3 = TopListener.SMOKE_INFO.getCode().split("/");
-            String[] infoCode4 = TopListener.LIQUID_INFO.getCode().split("/");
-            String[] infoCode5 = TopListener.RTU_INFO.getCode().split("/");
-            String[] infoCode6 = TopListener.ELECTRICAL_INFO.getCode().split("/");
-            String[] infoCode7 = TopListener.MH_COVER_INFO.getCode().split("/");
-            String[] infoCode8 = TopListener.LR_SMOKE_INFO.getCode().split("/");
-            Object mqttReceivedTopic = message.getHeaders().get("mqtt_receivedTopic");
-            if (null != mqttReceivedTopic) {
-                String topic = mqttReceivedTopic.toString();
-                MqttBaseVO mqttBaseVO = new MqttBaseVO();
-                mqttBaseVO.setTopic(topic);
-                if (TopListener.MH_WATER_INFO.getCode().equals(topic)) {
-                    mqttBaseVO.setDescribe("cy");
-                    mqttBaseVO.setData(payload);
-                } else if (TopListener.MH_WATER_ALERT.getCode().equals(topic)) {
-                    mqttBaseVO.setDescribe("cy");
-                    mqttBaseVO.setData(payload);
-                } else if (TopListener.MH_WATER_STATISTICS.getCode().equals(topic)) {
-                    mqttBaseVO.setDescribe("cy");
-                    mqttBaseVO.setData(payload);
-                } else if (TopListener.DEVICE_DETAIL.getCode().equals(topic)) {
-                    mqttBaseVO.setDescribe("mhwater");
-                    mqttBaseVO.setData(payload);
-                } else if (TopListener.DEVICE_INFO.getCode().equals(topic)) {
-                    mqttBaseVO.setDescribe("mhwater");
-                    mqttBaseVO.setData(payload);
-                } else if (TopListener.DEVICE_ALERT.getCode().equals(topic)) {
-                    mqttBaseVO.setDescribe("mhwater");
-                    mqttBaseVO.setData(payload);
-                } else if (TopListener.DEVICE_AJ.getCode().equals(topic)) {
-                    mqttBaseVO.setDescribe("mhwater");
-                    mqttBaseVO.setData(payload);
-                } else if ((topic.indexOf(code1[2]) != -1 && topic.indexOf(code1[5]) != -1) ||
-                        (topic.indexOf(code2[2]) != -1 && topic.indexOf(code2[5]) != -1) ||
-                        (topic.indexOf(code3[2]) != -1 && topic.indexOf(code3[5]) != -1) ||
-                        (topic.indexOf(code4[2]) != -1 && topic.indexOf(code4[5]) != -1) ||
-                        (topic.indexOf(code5[2]) != -1 && topic.indexOf(code5[5]) != -1) ||
-                        (topic.indexOf(code6[2]) != -1 && topic.indexOf(code6[5]) != -1) ||
-                        (topic.indexOf(code7[2]) != -1 && topic.indexOf(code7[5]) != -1)) {
-                    mqttBaseVO.setDescribe("alarm");
-                    mqttBaseVO.setData(payload);
-                }else if((topic.indexOf(infoCode1[2]) != -1 && topic.indexOf(infoCode1[5]) != -1) ||
-                        (topic.indexOf(infoCode2[2]) != -1 && topic.indexOf(infoCode2[5]) != -1) ||
-                        (topic.indexOf(infoCode3[2]) != -1 && topic.indexOf(infoCode3[5]) != -1) ||
-                        (topic.indexOf(infoCode4[2]) != -1 && topic.indexOf(infoCode4[5]) != -1) ||
-                        (topic.indexOf(infoCode5[2]) != -1 && topic.indexOf(infoCode5[5]) != -1) ||
-                        (topic.indexOf(infoCode6[2]) != -1 && topic.indexOf(infoCode6[5]) != -1) ||
-                        (topic.indexOf(infoCode7[2]) != -1 && topic.indexOf(infoCode7[5]) != -1) ||
-                        (topic.indexOf(infoCode8[2]) != -1 && topic.indexOf(infoCode8[5]) != -1)) {
-                    mqttBaseVO.setDescribe("info");
-                    mqttBaseVO.setData(payload);
-                }else {
-                    mqttBaseVO.setDescribe("fireInfoAndAlarm");
-                    mqttBaseVO.setData(payload);
-                }
-                //统一处理数据
-                simpleContext.getResource(mqttBaseVO);
-            }
-        };
-    }
-}
+//package com.usky.fire.service.listener;
+//
+//
+//import com.usky.fire.service.config.mqtt.MqttInConfig;
+//import com.usky.fire.service.enums.TopListener;
+//import com.usky.fire.service.mqtt.SimpleContext;
+//import com.usky.fire.service.vo.MqttBaseVO;
+//import lombok.extern.slf4j.Slf4j;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.integration.annotation.ServiceActivator;
+//import org.springframework.messaging.MessageHandler;
+//import org.springframework.stereotype.Component;
+//
+///**
+// * @author yq
+// * @date 2021/11/3 8:13
+// */
+//@ConditionalOnProperty(prefix = "mqtt", value = {"enabled"}, havingValue = "true")
+//@Slf4j
+//@Component
+//public class MqttListener {
+//
+//    public static final String MESSAGE_NAME = "messageInput";
+//
+//    @Autowired
+//    private SimpleContext simpleContext;
+//
+//    /**
+//     * 处理消息-消费者
+//     *
+//     * @return
+//     */
+//    @Bean(MESSAGE_NAME)
+//    @ServiceActivator(inputChannel = MqttInConfig.CHANNEL_NAME_INPUT)
+//    public MessageHandler handler() {
+//        return message -> {
+//            String payload = message.getPayload().toString();
+//            //进行接口推送
+//            String[] code1 = TopListener.FIRE_ALERT.getCode().split("/");
+//            String[] code2 = TopListener.WATER_ALERT.getCode().split("/");
+//            String[] code3 = TopListener.RTU_ALERT.getCode().split("/");
+//            String[] code4 = TopListener.VIDEO_ALERT.getCode().split("/");
+//            String[] code5 = TopListener.SMOKE_ALERT.getCode().split("/");
+//            String[] code6 = TopListener.ELECTRICAL_ALERT.getCode().split("/");
+//            String[] code7 = TopListener.LIQUID_ALERT.getCode().split("/");
+//            String[] infoCode1 = TopListener.FIRE_INFO.getCode().split("/");
+//            String[] infoCode2 = TopListener.WATER_INFO.getCode().split("/");
+//            String[] infoCode3 = TopListener.SMOKE_INFO.getCode().split("/");
+//            String[] infoCode4 = TopListener.LIQUID_INFO.getCode().split("/");
+//            String[] infoCode5 = TopListener.RTU_INFO.getCode().split("/");
+//            String[] infoCode6 = TopListener.ELECTRICAL_INFO.getCode().split("/");
+//            String[] infoCode7 = TopListener.MH_COVER_INFO.getCode().split("/");
+//            String[] infoCode8 = TopListener.LR_SMOKE_INFO.getCode().split("/");
+//            Object mqttReceivedTopic = message.getHeaders().get("mqtt_receivedTopic");
+//            if (null != mqttReceivedTopic) {
+//                String topic = mqttReceivedTopic.toString();
+//                MqttBaseVO mqttBaseVO = new MqttBaseVO();
+//                mqttBaseVO.setTopic(topic);
+//                if (TopListener.MH_WATER_INFO.getCode().equals(topic)) {
+//                    mqttBaseVO.setDescribe("cy");
+//                    mqttBaseVO.setData(payload);
+//                } else if (TopListener.MH_WATER_ALERT.getCode().equals(topic)) {
+//                    mqttBaseVO.setDescribe("cy");
+//                    mqttBaseVO.setData(payload);
+//                } else if (TopListener.MH_WATER_STATISTICS.getCode().equals(topic)) {
+//                    mqttBaseVO.setDescribe("cy");
+//                    mqttBaseVO.setData(payload);
+//                } else if (TopListener.DEVICE_DETAIL.getCode().equals(topic)) {
+//                    mqttBaseVO.setDescribe("mhwater");
+//                    mqttBaseVO.setData(payload);
+//                } else if (TopListener.DEVICE_INFO.getCode().equals(topic)) {
+//                    mqttBaseVO.setDescribe("mhwater");
+//                    mqttBaseVO.setData(payload);
+//                } else if (TopListener.DEVICE_ALERT.getCode().equals(topic)) {
+//                    mqttBaseVO.setDescribe("mhwater");
+//                    mqttBaseVO.setData(payload);
+//                } else if (TopListener.DEVICE_AJ.getCode().equals(topic)) {
+//                    mqttBaseVO.setDescribe("mhwater");
+//                    mqttBaseVO.setData(payload);
+//                } else if ((topic.indexOf(code1[2]) != -1 && topic.indexOf(code1[5]) != -1) ||
+//                        (topic.indexOf(code2[2]) != -1 && topic.indexOf(code2[5]) != -1) ||
+//                        (topic.indexOf(code3[2]) != -1 && topic.indexOf(code3[5]) != -1) ||
+//                        (topic.indexOf(code4[2]) != -1 && topic.indexOf(code4[5]) != -1) ||
+//                        (topic.indexOf(code5[2]) != -1 && topic.indexOf(code5[5]) != -1) ||
+//                        (topic.indexOf(code6[2]) != -1 && topic.indexOf(code6[5]) != -1) ||
+//                        (topic.indexOf(code7[2]) != -1 && topic.indexOf(code7[5]) != -1)) {
+//                    mqttBaseVO.setDescribe("alarm");
+//                    mqttBaseVO.setData(payload);
+//                }else if((topic.indexOf(infoCode1[2]) != -1 && topic.indexOf(infoCode1[5]) != -1) ||
+//                        (topic.indexOf(infoCode2[2]) != -1 && topic.indexOf(infoCode2[5]) != -1) ||
+//                        (topic.indexOf(infoCode3[2]) != -1 && topic.indexOf(infoCode3[5]) != -1) ||
+//                        (topic.indexOf(infoCode4[2]) != -1 && topic.indexOf(infoCode4[5]) != -1) ||
+//                        (topic.indexOf(infoCode5[2]) != -1 && topic.indexOf(infoCode5[5]) != -1) ||
+//                        (topic.indexOf(infoCode6[2]) != -1 && topic.indexOf(infoCode6[5]) != -1) ||
+//                        (topic.indexOf(infoCode7[2]) != -1 && topic.indexOf(infoCode7[5]) != -1) ||
+//                        (topic.indexOf(infoCode8[2]) != -1 && topic.indexOf(infoCode8[5]) != -1)) {
+//                    mqttBaseVO.setDescribe("info");
+//                    mqttBaseVO.setData(payload);
+//                }else {
+//                    mqttBaseVO.setDescribe("fireInfoAndAlarm");
+//                    mqttBaseVO.setData(payload);
+//                }
+//                //统一处理数据
+//                simpleContext.getResource(mqttBaseVO);
+//            }
+//        };
+//    }
+//}

+ 67 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/IndexResult1Vo.java

@@ -0,0 +1,67 @@
+package com.usky.fire.service.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class IndexResult1Vo implements Serializable {
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 指数名称
+     */
+    private String indexName;
+
+    /**
+     * 指数权重分
+     */
+    private Double indexWeight;
+
+    /**
+     * 得分
+     */
+    private Double indexScore;
+
+    /**
+     * 指数值
+     */
+    private String indexData;
+
+    /**
+     * 评分说明
+     */
+    private String scoreDesc;
+
+    /**
+     * 评分类型
+     */
+    private Integer scoreType;
+
+    /**
+     * 二级指数结果清单
+     */
+    private List<IndexResult2Vo> indexResult2List;
+
+}

+ 68 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/IndexResult2Vo.java

@@ -0,0 +1,68 @@
+package com.usky.fire.service.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.usky.fire.domain.BaseBuild;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class IndexResult2Vo implements Serializable {
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 指数名称
+     */
+    private String indexName;
+
+    /**
+     * 指数权重分
+     */
+    private Double indexWeight;
+
+    /**
+     * 得分
+     */
+    private Double indexScore;
+
+    /**
+     * 指数值
+     */
+    private String indexData;
+
+    /**
+     * 评分说明
+     */
+    private String scoreDesc;
+
+    /**
+     * 评分类型
+     */
+    private Integer scoreType;
+
+    /**
+     * 三级指数结果清单
+     */
+    private List<IndexResult3Vo> indexResult3List;
+
+}

+ 63 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/IndexResult3Vo.java

@@ -0,0 +1,63 @@
+package com.usky.fire.service.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.usky.fire.domain.BaseBuild;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class IndexResult3Vo implements Serializable {
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 指数名称
+     */
+    private String indexName;
+
+    /**
+     * 指数权重分
+     */
+    private Double indexWeight;
+
+    /**
+     * 得分
+     */
+    private Double indexScore;
+
+    /**
+     * 指数值
+     */
+    private String indexData;
+
+    /**
+     * 评分说明
+     */
+    private String scoreDesc;
+
+    /**
+     * 评分类型
+     */
+    private Integer scoreType;
+
+}

+ 53 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/IndexResultVo.java

@@ -0,0 +1,53 @@
+package com.usky.fire.service.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author han
+ * @since 2023-06-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class IndexResultVo implements Serializable {
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 生成日期
+     */
+    private LocalDate createDate;
+
+    /**
+     * 对象ID
+     */
+    private Integer objectId;
+
+    /**
+     * 得分
+     */
+    private Double overallScore;
+
+    /**
+     * 一级指数结果清单
+     */
+    private List<IndexResult1Vo> indexResult1List;
+
+}

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

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

+ 16 - 0
service-fire/service-fire-biz/src/main/resources/mapper/fire/ReportConfigMapper.xml

@@ -0,0 +1,16 @@
+<?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.ReportConfigMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.fire.domain.ReportConfig">
+        <id column="id" property="id" />
+        <result column="report_name" property="reportName" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+        <result column="tenant_id" property="tenantId" />
+    </resultMap>
+
+</mapper>

+ 22 - 0
service-fire/service-fire-biz/src/main/resources/mapper/fire/ReportIndexConfigMapper.xml

@@ -0,0 +1,22 @@
+<?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.ReportIndexConfigMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.fire.domain.ReportIndexConfig">
+        <id column="id" property="id" />
+        <result column="report_id" property="reportId" />
+        <result column="index_name" property="indexName" />
+        <result column="index_code" property="indexCode" />
+        <result column="index_grade" property="indexGrade" />
+        <result column="senior_index" property="seniorIndex" />
+        <result column="index_weight" property="indexWeight" />
+        <result column="index_desc" property="indexDesc" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+        <result column="tenant_id" property="tenantId" />
+    </resultMap>
+
+</mapper>

+ 21 - 0
service-fire/service-fire-biz/src/main/resources/mapper/fire/ReportIndexResultMapper.xml

@@ -0,0 +1,21 @@
+<?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.ReportIndexResultMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.fire.domain.ReportIndexResult">
+        <id column="id" property="id" />
+        <result column="index_code" property="indexCode" />
+        <result column="index_name" property="indexName" />
+        <result column="object_id" property="objectId" />
+        <result column="index_score" property="indexScore" />
+        <result column="index_data" property="indexData" />
+        <result column="create_date" property="createDate" />
+        <result column="score_type" property="scoreType" />
+        <result column="score_desc" property="scoreDesc" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="tenant_id" property="tenantId" />
+    </resultMap>
+
+</mapper>

+ 20 - 0
service-fire/service-fire-biz/src/main/resources/mapper/fire/ReportResultMapper.xml

@@ -0,0 +1,20 @@
+<?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.ReportResultMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.fire.domain.ReportResult">
+        <id column="id" property="id" />
+        <result column="object_id" property="objectId" />
+        <result column="create_date" property="createDate" />
+        <result column="overall_score" property="overallScore" />
+        <result column="report_url" property="reportUrl" />
+        <result column="report_object" property="reportObject" />
+        <result column="object_type" property="objectType" />
+        <result column="config_id" property="configId" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="tenant_id" property="tenantId" />
+    </resultMap>
+
+</mapper>