Browse Source

大屏定时任务相关接口开发

jichaobo 2 years ago
parent
commit
e53716fce7
35 changed files with 700 additions and 80 deletions
  1. 1 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/MybatisGeneratorUtils.java
  2. 1 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/BscEnterpriseScreenController.java
  3. 51 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/DemBuildScoreRecord.java
  4. 16 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/mapper/DemBuildScoreRecordMapper.java
  5. 8 2
      service-fire/service-fire-biz/src/main/java/com/usky/fire/mapper/PatrolInspectionPlanSiteSonMapper.java
  6. 8 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/AlarmElectricalFireService.java
  7. 1 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/AlarmFireService.java
  8. 8 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/AlarmHydrantWaterService.java
  9. 8 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/AlarmSmokeControlService.java
  10. 8 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/AlarmSprayWaterService.java
  11. 8 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/AlarmVideoService.java
  12. 8 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/BscEnterpriseScreenService.java
  13. 42 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/DemBuildScoreRecordService.java
  14. 7 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/DemBuildScoreService.java
  15. 8 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/PatrolInspectionAreaService.java
  16. 20 2
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/PatrolInspectionPlanSiteSonService.java
  17. 12 2
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/PatrolInspectionPlanSonService.java
  18. 10 3
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/PatrolInspectionSiteService.java
  19. 9 2
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/AlarmElectricalFireServiceImpl.java
  20. 7 2
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/AlarmFireServiceImpl.java
  21. 10 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/AlarmHydrantWaterServiceImpl.java
  22. 9 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/AlarmSmokeControlServiceImpl.java
  23. 9 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/AlarmSprayWaterServiceImpl.java
  24. 9 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/AlarmVideoServiceImpl.java
  25. 193 8
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BscEnterpriseScreenServiceImpl.java
  26. 53 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/DemBuildScoreRecordServiceImpl.java
  27. 8 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/DemBuildScoreServiceImpl.java
  28. 14 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PatrolInspectionAreaServiceImpl.java
  29. 34 34
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PatrolInspectionPlanServiceImpl.java
  30. 27 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PatrolInspectionPlanSiteSonServiceImpl.java
  31. 25 12
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PatrolInspectionPlanSonServiceImpl.java
  32. 13 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PatrolInspectionSiteServiceImpl.java
  33. 15 0
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/util/OnlineMethod.java
  34. 14 0
      service-fire/service-fire-biz/src/main/resources/mapper/fire/DemBuildScoreRecordMapper.xml
  35. 26 5
      service-fire/service-fire-biz/src/main/resources/mapper/fire/PatrolInspectionPlanSiteSonMapper.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("dem_build_score_risk");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        strategy.setInclude("dem_build_score_record");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
         mpg.setStrategy(strategy);
 
         // 关闭默认 xml 生成,调整生成 至 根目录

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

@@ -40,7 +40,7 @@ public class BscEnterpriseScreenController {
 
     @GetMapping("postInspectStatistics")
     public ApiResult<Object> postInspectStatistics(@RequestParam(value = "companyId") String companyId) {
-        return ApiResult.success(bscEnterpriseScreenService.hiddenDangerStatistics(companyId));
+        return ApiResult.success(bscEnterpriseScreenService.buildScoreStatistics(companyId));
     }
 
 }

+ 51 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/DemBuildScoreRecord.java

@@ -0,0 +1,51 @@
+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 JCB
+ * @since 2022-09-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DemBuildScoreRecord implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 得分
+     */
+    private Integer buildScore;
+
+    /**
+     * 得分日期(年-月)
+     */
+    private String scoreDate;
+
+    /**
+     * 单位ID
+     */
+    private String companyId;
+
+    /**
+     * 定时创建时间
+     */
+    private LocalDateTime createTime;
+
+
+}

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

@@ -0,0 +1,16 @@
+package com.usky.fire.mapper;
+
+import com.usky.fire.domain.DemBuildScoreRecord;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 建筑评分历史记录表 Mapper 接口
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-09-08
+ */
+public interface DemBuildScoreRecordMapper extends CrudMapper<DemBuildScoreRecord> {
+
+}

+ 8 - 2
service-fire/service-fire-biz/src/main/java/com/usky/fire/mapper/PatrolInspectionPlanSiteSonMapper.java

@@ -1,16 +1,22 @@
 package com.usky.fire.mapper;
 
-import com.usky.fire.domain.PatrolInspectionPlanSiteSon;
 import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.fire.domain.PatrolInspectionPlanSiteSon;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
 
 /**
  * <p>
- *  Mapper 接口
+ * Mapper 接口
  * </p>
  *
  * @author JCB
  * @since 2022-07-18
  */
+@Repository
 public interface PatrolInspectionPlanSiteSonMapper extends CrudMapper<PatrolInspectionPlanSiteSon> {
 
+    int planSonSiteCout(@Param("startTime") String startTime,
+                        @Param("endTime") String endTime,
+                        @Param("inspectionStatus") Integer inspectionStatus);
 }

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

@@ -135,4 +135,12 @@ public interface AlarmElectricalFireService extends CrudService<AlarmElectricalF
      * @return
      */
     Map<String, Object> alarmFireCount(String companyId);
+
+    /**
+     * 根据单位ID查询电器火灾告警数
+     *
+     * @param companyId 单位ID
+     * @return
+     */
+    Integer electricalFireCount(String companyId, String startTime, String endTime);
 }

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

@@ -65,5 +65,5 @@ public interface AlarmFireService extends CrudService<AlarmFire> {
      * @param alarmType      告警类型(2 火警、4 故障、16 监管等)
      * @return
      */
-    Integer fireAlarmCount(String companyId, Integer handlingStatus, String alarmType);
+    Integer fireAlarmCount(String companyId, Integer handlingStatus, String alarmType, String startTime, String endTime);
 }

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

@@ -60,4 +60,12 @@ public interface AlarmHydrantWaterService extends CrudService<AlarmHydrantWater>
      * @return
      */
     List<AlarmHydrantWater> alarmHydrantWaterListOne(String companyName, Integer handlingStatus, String startDate, String endDate);
+
+    /**
+     * 根据单位ID查询消防给水及消火栓告警总数
+     *
+     * @param companyId 单位ID
+     * @return
+     */
+    Integer hydrantWaterCount(String companyId, String startTime, String endTime);
 }

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

@@ -60,4 +60,12 @@ public interface AlarmSmokeControlService extends CrudService<AlarmSmokeControl>
      * @return
      */
     List<AlarmSmokeControl> alarmSmokeListOne(String companyName, Integer handlingStatus, String startDate, String endDate);
+
+    /**
+     * 根据单位ID查询防排烟告警数
+     *
+     * @param companyId 单位ID
+     * @return
+     */
+    Integer smokeControlCount(String companyId, String startTime, String endTime);
 }

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

@@ -59,4 +59,12 @@ public interface AlarmSprayWaterService extends CrudService<AlarmSprayWater> {
      * @return
      */
     List<AlarmSprayWater> alarmSprayWaterListOne(String companyName, Integer handlingStatus, String startDate, String endDate);
+
+    /**
+     * 根据单位ID查询自动喷水灭火告警数
+     *
+     * @param companyId 单位ID
+     * @return
+     */
+    Integer sprayWaterCount(String companyId, String startTime, String endTime);
 }

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

@@ -59,4 +59,12 @@ public interface AlarmVideoService extends CrudService<AlarmVideo> {
      * @return
      */
     List<AlarmVideo> alarmVideoListOne(String companyName, Integer handlingStatus, String startDate, String endDate);
+
+    /**
+     * 根据单位ID查询视频监控告警数
+     *
+     * @param companyId 单位ID
+     * @return
+     */
+    Integer videoCount(String companyId, String startTime, String endTime);
 }

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

@@ -53,4 +53,12 @@ public interface BscEnterpriseScreenService extends CrudService<BscEnterpriseScr
      * @return
      */
     Object hiddenDangerStatistics(String companyId);
+
+    /**
+     * 大屏建筑评分模块JSON数据查询
+     *
+     * @param companyId 单位ID
+     * @return
+     */
+    Object buildScoreStatistics(String companyId);
 }

+ 42 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/DemBuildScoreRecordService.java

@@ -0,0 +1,42 @@
+package com.usky.fire.service;
+
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.fire.domain.DemBuildScoreRecord;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 建筑评分历史记录表 服务类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-09-08
+ */
+public interface DemBuildScoreRecordService extends CrudService<DemBuildScoreRecord> {
+
+    /**
+     * 查询建筑评分记录数
+     *
+     * @param scoreDate  时间(年-月)
+     * @param buildScore 评分
+     * @return
+     */
+    int demBuildScoreRecordCount(String scoreDate, Integer buildScore, String companyId);
+
+    /**
+     * 查询建筑评分记录列表
+     *
+     * @param companyId 单位ID
+     * @param scoreDate 时间(年-月)
+     * @return
+     */
+    List<DemBuildScoreRecord> demBuildScoreRecordList(String companyId, String scoreDate);
+
+    /**
+     * 查询建筑评分记录新增
+     *
+     * @param demBuildScoreRecord
+     */
+    void demBuildScoreRecordAdd(DemBuildScoreRecord demBuildScoreRecord);
+}

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

@@ -28,4 +28,11 @@ public interface DemBuildScoreService extends CrudService<DemBuildScore> {
      * @return
      */
     List<Object> buildScoreList();
+
+    /**
+     * 建筑评分配置查询
+     *
+     * @return
+     */
+    List<DemBuildScore> buildScoreListOne();
 }

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

@@ -27,4 +27,12 @@ public interface PatrolInspectionAreaService extends CrudService<PatrolInspectio
     List<PatrolInspectionArea> patrolInspectionAreaList(Integer id, String areaName);
 
     List<PatrolInspectionArea> patrolInspectionAreaSelect(Integer areaFid);
+
+    /**
+     * 根据单位ID获取区域ID
+     *
+     * @param companyId 单位ID
+     * @return
+     */
+    List<Integer> areaIdList(String companyId);
 }

+ 20 - 2
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/PatrolInspectionPlanSiteSonService.java

@@ -1,11 +1,13 @@
 package com.usky.fire.service;
 
-import com.usky.fire.domain.PatrolInspectionPlanSiteSon;
 import com.usky.common.mybatis.core.CrudService;
+import com.usky.fire.domain.PatrolInspectionPlanSiteSon;
+
+import java.util.List;
 
 /**
  * <p>
- *  服务类
+ * 服务类
  * </p>
  *
  * @author JCB
@@ -13,4 +15,20 @@ import com.usky.common.mybatis.core.CrudService;
  */
 public interface PatrolInspectionPlanSiteSonService extends CrudService<PatrolInspectionPlanSiteSon> {
 
+    /**
+     * 根据地点ID查询巡检数
+     *
+     * @param planSonIdList    子计划ID
+     * @param inspectionStatus 巡检状态(1 未巡检,2 已巡检)
+     * @return
+     */
+    Integer siteCount(List<Integer> planSonIdList, Integer inspectionStatus);
+
+    /**
+     * 根据地点ID查询子计划ID
+     *
+     * @param siteIdList 地点ID
+     * @return
+     */
+    List<Integer> planSonSiteIdList(List<Integer> siteIdList);
 }

+ 12 - 2
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/PatrolInspectionPlanSonService.java

@@ -52,7 +52,7 @@ public interface PatrolInspectionPlanSonService extends CrudService<PatrolInspec
      * @param siteNubmber 地点号码
      * @return
      */
-    Map<String, Object> siteDetails(Integer siteId, String siteNubmber,Integer planSonId);
+    Map<String, Object> siteDetails(Integer siteId, String siteNubmber, Integer planSonId);
 
 
     /**
@@ -95,7 +95,7 @@ public interface PatrolInspectionPlanSonService extends CrudService<PatrolInspec
      * @param sort        排序 (正序:ASC 倒序:DESC)
      * @return
      */
-    List<PatrolInspectionRecordVo> recordList(String currentDate, String sort, Integer id,Integer planSonId,Integer siteId);
+    List<PatrolInspectionRecordVo> recordList(String currentDate, String sort, Integer id, Integer planSonId, Integer siteId);
 
     /**
      * 手机端-巡检自检-巡检记录-查看巡检项
@@ -159,4 +159,14 @@ public interface PatrolInspectionPlanSonService extends CrudService<PatrolInspec
      * @return
      */
     Integer planSonCount(List<Integer> planIdList, Integer completion, String currentDate);
+
+    /**
+     * 根据时间查询子计划ID
+     *
+     * @param planSonSiteIdList 子计划ID
+     * @param startTime         开始日期
+     * @param endTime           结束日期
+     * @return
+     */
+    List<Integer> planSonIdList(List<Integer> planSonSiteIdList, String startTime, String endTime);
 }

+ 10 - 3
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/PatrolInspectionSiteService.java

@@ -11,7 +11,7 @@ import java.util.List;
 
 /**
  * <p>
- *  服务类
+ * 服务类
  * </p>
  *
  * @author JCB
@@ -34,6 +34,13 @@ public interface PatrolInspectionSiteService extends CrudService<PatrolInspectio
     Integer[] siteContentList(Integer siteId);
 
     List<PatrolInspectionSiteExportVo> patrolInspectionSiteListExport(Integer areaId, String siteName, String idList);
-//
-//    String correspondDeviceExport(Integer areaId, String siteName, Integer id);
+
+    /**
+     * 根据区域ID查询地点ID
+     *
+     * @param areaIdList 区域ID
+     * @return
+     */
+    List<Integer> siteIdList(List<Integer> areaIdList);
+
 }

+ 9 - 2
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/AlarmElectricalFireServiceImpl.java

@@ -375,7 +375,7 @@ public class AlarmElectricalFireServiceImpl extends AbstractCrudService<AlarmEle
     }
 
     @Override
-    public Map<String, Object> alarmFireCount(String companyId){
+    public Map<String, Object> alarmFireCount(String companyId) {
         List<DataCountVo> dataCountVos = baseMapper.alarmFireCount(companyId);
         int count1 = 0;
         int count2 = 0;
@@ -395,5 +395,12 @@ public class AlarmElectricalFireServiceImpl extends AbstractCrudService<AlarmEle
         return map;
     }
 
-
+    @Override
+    public Integer electricalFireCount(String companyId, String startTime, String endTime) {
+        LambdaQueryWrapper<AlarmElectricalFire> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(AlarmElectricalFire::getCompanyId, companyId)
+                .between(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime), AlarmElectricalFire::getAlarmTime, startTime, endTime);
+        int count = this.count(queryWrapper);
+        return count;
+    }
 }

+ 7 - 2
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/AlarmFireServiceImpl.java

@@ -373,11 +373,16 @@ public class AlarmFireServiceImpl extends AbstractCrudService<AlarmFireMapper, A
     }
 
     @Override
-    public Integer fireAlarmCount(String companyId, Integer handlingStatus, String alarmType) {
+    public Integer fireAlarmCount(String companyId, Integer handlingStatus, String alarmType, String startTime, String endTime) {
         LambdaQueryWrapper<AlarmFire> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(AlarmFire::getCompanyId, companyId)
                 .eq(handlingStatus != null, AlarmFire::getHandlingStatus, handlingStatus)
-                .eq(StringUtils.isNotBlank(alarmType), AlarmFire::getAlarmType, alarmType);
+                .between(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime), AlarmFire::getAlarmTime, startTime, endTime);
+        if (alarmType.equals("100")) {
+            queryWrapper.notIn(AlarmFire::getAlarmType, 2, 3);
+        } else {
+            queryWrapper.eq(StringUtils.isNotBlank(alarmType), AlarmFire::getAlarmType, alarmType);
+        }
         int count = this.count(queryWrapper);
         return count;
     }

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

@@ -10,7 +10,6 @@ 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.AlarmHydrantWater;
-import com.usky.fire.domain.AlarmSprayWater;
 import com.usky.fire.domain.BaseUserCompany;
 import com.usky.fire.mapper.AlarmHydrantWaterMapper;
 import com.usky.fire.service.AlarmHydrantWaterService;
@@ -146,4 +145,14 @@ public class AlarmHydrantWaterServiceImpl extends AbstractCrudService<AlarmHydra
         }
         return list;
     }
+
+
+    @Override
+    public Integer hydrantWaterCount(String companyId, String startTime, String endTime) {
+        LambdaQueryWrapper<AlarmHydrantWater> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(AlarmHydrantWater::getCompanyId, companyId)
+                .between(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime), AlarmHydrantWater::getAlarmTime, startTime, endTime);
+        int count = this.count(queryWrapper);
+        return count;
+    }
 }

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

@@ -9,7 +9,6 @@ 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.AlarmHydrantWater;
 import com.usky.fire.domain.AlarmSmokeControl;
 import com.usky.fire.domain.BaseUserCompany;
 import com.usky.fire.mapper.AlarmSmokeControlMapper;
@@ -146,4 +145,13 @@ public class AlarmSmokeControlServiceImpl extends AbstractCrudService<AlarmSmoke
         }
         return list;
     }
+
+    @Override
+    public Integer smokeControlCount(String companyId, String startTime, String endTime) {
+        LambdaQueryWrapper<AlarmSmokeControl> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(AlarmSmokeControl::getCompanyId, companyId)
+                .between(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime), AlarmSmokeControl::getAlarmTime, startTime, endTime);
+        int count = this.count(queryWrapper);
+        return count;
+    }
 }

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

@@ -15,7 +15,6 @@ import com.usky.fire.mapper.AlarmSprayWaterMapper;
 import com.usky.fire.service.AlarmSprayWaterService;
 import com.usky.fire.service.BaseUserCompanyService;
 import com.usky.fire.service.util.OnlineMethod;
-import com.usky.system.domain.SysPerson;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -147,4 +146,13 @@ public class AlarmSprayWaterServiceImpl extends AbstractCrudService<AlarmSprayWa
         }
         return list;
     }
+
+    @Override
+    public Integer sprayWaterCount(String companyId, String startTime, String endTime) {
+        LambdaQueryWrapper<AlarmSprayWater> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(AlarmSprayWater::getCompanyId, companyId)
+                .between(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime), AlarmSprayWater::getAlarmTime, startTime, endTime);
+        int count = this.count(queryWrapper);
+        return count;
+    }
 }

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

@@ -9,7 +9,6 @@ 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.AlarmSmokeControl;
 import com.usky.fire.domain.AlarmVideo;
 import com.usky.fire.domain.BaseUserCompany;
 import com.usky.fire.mapper.AlarmVideoMapper;
@@ -147,4 +146,13 @@ public class AlarmVideoServiceImpl extends AbstractCrudService<AlarmVideoMapper,
         }
         return list;
     }
+
+    @Override
+    public Integer videoCount(String companyId, String startTime, String endTime) {
+        LambdaQueryWrapper<AlarmVideo> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(AlarmVideo::getCompanyId, companyId)
+                .between(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime), AlarmVideo::getAlarmTime, startTime, endTime);
+        int count = this.count(queryWrapper);
+        return count;
+    }
 }

+ 193 - 8
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BscEnterpriseScreenServiceImpl.java

@@ -9,16 +9,19 @@ import com.usky.common.core.exception.BusinessException;
 import com.usky.common.core.util.Arith;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.fire.domain.BscEnterpriseScreen;
+import com.usky.fire.domain.DemBuildScore;
+import com.usky.fire.domain.DemBuildScoreRecord;
 import com.usky.fire.mapper.BscEnterpriseScreenMapper;
+import com.usky.fire.mapper.PatrolInspectionPlanSiteSonMapper;
 import com.usky.fire.service.*;
+import com.usky.fire.service.util.OnlineMethod;
 import com.usky.fire.service.vo.DataCountVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * <p>
@@ -49,6 +52,15 @@ public class BscEnterpriseScreenServiceImpl extends AbstractCrudService<BscEnter
     @Autowired
     private AlarmElectricalFireService alarmElectricalFireService;
 
+    @Autowired
+    private DemBuildScoreService demBuildScoreService;
+
+    @Autowired
+    private DemBuildScoreRecordService demBuildScoreRecordService;
+
+    @Autowired
+    private PatrolInspectionPlanSiteSonMapper patrolInspectionPlanSiteSonMapper;
+
     @Override
     public Object screenDataStatistic(String dataType, String moduleType) {
         String companyId = baseUserCompanyService.companyId();
@@ -142,12 +154,12 @@ public class BscEnterpriseScreenServiceImpl extends AbstractCrudService<BscEnter
 
     @Override
     public Object fireAlarmStatistics(String companyId) {
-        int fireUntreated = alarmFireService.fireAlarmCount(companyId, 0, "2");
-        int fireProcessed = alarmFireService.fireAlarmCount(companyId, 1, "2");
+        int fireUntreated = alarmFireService.fireAlarmCount(companyId, 0, "2", null, null);
+        int fireProcessed = alarmFireService.fireAlarmCount(companyId, 1, "2", null, null);
         int fireCount = fireUntreated + fireProcessed;
         double fireRatio = Arith.div(fireProcessed, fireCount, 2) * 100;
-        int faultUntreated = alarmFireService.fireAlarmCount(companyId, 0, "4");
-        int faultProcessed = alarmFireService.fireAlarmCount(companyId, 1, "4");
+        int faultUntreated = alarmFireService.fireAlarmCount(companyId, 0, "4", null, null);
+        int faultProcessed = alarmFireService.fireAlarmCount(companyId, 1, "4", null, null);
         int faultCount = faultUntreated + faultProcessed;
         double faultRatio = Arith.div(faultProcessed, faultCount, 2) * 100;
         int deviceCount = baseDeviceService.deviceCount(companyId, 1);
@@ -354,4 +366,177 @@ public class BscEnterpriseScreenServiceImpl extends AbstractCrudService<BscEnter
         map.put("data2", map4);
         return map;
     }
+
+    @Override
+    public Object buildScoreStatistics(String companyId) {
+        String LastMonthDate = OnlineMethod.getLastMonth(new Date());
+        DecimalFormat df = new DecimalFormat("0.00");
+        int deviceDamageCount = 20;
+        int fireCount = 0;
+        int rectificationCount = 40;
+        int buildTypeCount = 10;
+        int highRiskCount = 30;
+        int hiddenDangerCount = 70;
+
+        List<DemBuildScore> list1 = demBuildScoreService.buildScoreListOne();
+        int demBuildScoreRecordsCount = demBuildScoreRecordService.demBuildScoreRecordCount(LastMonthDate, null, companyId);
+        Double deviceDamageRieo = 0.00;
+        Double fireRieo = 0.00;
+        Double rectificationRieo = 0.00;
+        Double buildTypeRieo = 0.00;
+        Double highRiskRieo = 0.00;
+        Double hiddenDangerRieo = 0.00;
+
+        Double deviceDamageScore = 0.00;
+        Double fireScore = 0.00;
+        Double rectificationScore = 0.00;
+        Double buildTypeScore = 0.00;
+        Double highRiskScore = 0.00;
+        Double hiddenDangerScore = 0.00;
+
+        for (int i = 0; i < list1.size(); i++) {
+            int riskMax = Integer.parseInt(list1.get(i).getRiskMax());
+            int weightProportion = Integer.parseInt(list1.get(i).getWeightProportion());
+            switch (list1.get(i).getRiskId()) {
+                case 1:
+                    deviceDamageRieo = Double.valueOf(df.format((float) deviceDamageCount / riskMax * 100));
+                    deviceDamageScore = (100 - deviceDamageRieo) * (weightProportion / 100);
+                    break;
+                case 2:
+                    fireRieo = Double.valueOf(df.format((float) fireCount / riskMax * 100));
+                    fireScore = (100 - fireRieo) * (weightProportion / 100);
+                    break;
+                case 3:
+                    rectificationRieo = Double.valueOf(df.format((float) rectificationCount / riskMax * 100));
+                    rectificationScore = (100 - rectificationRieo) * (weightProportion / 100);
+                    break;
+                case 4:
+                    buildTypeRieo = Double.valueOf(df.format((float) buildTypeCount / riskMax * 100));
+                    buildTypeScore = (100 - buildTypeRieo) * (weightProportion / 100);
+                    break;
+                case 5:
+                    highRiskRieo = Double.valueOf(df.format((float) highRiskCount / riskMax * 100));
+                    highRiskScore = (100 - highRiskRieo) * (weightProportion / 100);
+                    break;
+                case 6:
+                    hiddenDangerRieo = Double.valueOf(df.format((float) hiddenDangerCount / riskMax * 100));
+                    hiddenDangerScore = (100 - hiddenDangerRieo) * (weightProportion / 100);
+                    break;
+            }
+        }
+
+        Double totalScore1 = deviceDamageScore + fireScore + rectificationScore + buildTypeScore + highRiskScore + hiddenDangerScore;
+        int totalScore = totalScore1.intValue();
+        List<Object> data1 = new ArrayList<>();
+        for (int i = 0; i < 6; i++) {
+            Map<String, Object> map1 = new HashMap<>();
+            map1.put("text", "DataA");
+            switch (i) {
+                case 0:
+                    map1.put("name", "设备状况指数");
+                    map1.put("value", deviceDamageRieo);
+                    break;
+                case 1:
+                    map1.put("name", "执法监管安全指数");
+                    map1.put("value", rectificationRieo);
+                    break;
+                case 2:
+                    map1.put("name", "历史火灾指数");
+                    map1.put("value", fireRieo);
+                    break;
+                case 3:
+                    map1.put("name", "隐患状况指数");
+                    map1.put("value", highRiskRieo);
+                    break;
+                case 4:
+                    map1.put("name", "建筑整体风险指");
+                    map1.put("value", buildTypeRieo);
+                    break;
+                case 5:
+                    map1.put("name", "场所行业风险指数");
+                    map1.put("value", highRiskRieo);
+                    break;
+            }
+            data1.add(map1);
+        }
+
+        Map<String, Object> data2 = new HashMap<>();
+        data2.put("value", totalScore);
+
+        Map<String, Object> data3 = new HashMap<>();
+        data3.put("value", 10);
+
+        Map<String, Object> data4 = new HashMap<>();
+        data4.put("value", 80);
+        if (demBuildScoreRecordsCount <= 0) {
+            DemBuildScoreRecord demBuildScoreRecord = new DemBuildScoreRecord();
+            demBuildScoreRecord.setBuildScore(totalScore);
+            demBuildScoreRecord.setScoreDate(LastMonthDate);
+            demBuildScoreRecord.setCompanyId(companyId);
+            demBuildScoreRecordService.demBuildScoreRecordAdd(demBuildScoreRecord);
+        }
+        List<DemBuildScoreRecord> demBuildScoreRecordsList = demBuildScoreRecordService.demBuildScoreRecordList(companyId, null);
+        List<String> categoriesList = new ArrayList<>();
+        List<Integer> seriesDataList = new ArrayList<>();
+        for (int i = 0; i < demBuildScoreRecordsList.size(); i++) {
+            categoriesList.add(demBuildScoreRecordsList.get(demBuildScoreRecordsList.size() - (i + 1)).getScoreDate());
+            seriesDataList.add(demBuildScoreRecordsList.get(demBuildScoreRecordsList.size() - (i + 1)).getBuildScore());
+        }
+        List<Object> series = new ArrayList<>();
+        Map<String, Object> map3 = new HashMap<>();
+        map3.put("name", "得分");
+        map3.put("data", seriesDataList);
+        series.add(map3);
+        Map<String, Object> map4 = new HashMap<>();
+        map4.put("categories", categoriesList);
+        map4.put("series", series);
+        Map<String, Object> data5 = new HashMap<>();
+        data5.put("data", map4);
+
+        Map<String, Object> map2 = new HashMap<>();
+        map2.put("data1", data1);
+        map2.put("data2", data2);
+        map2.put("data3", data3);
+        map2.put("data4", data4);
+        map2.put("data5", data5);
+        return map2;
+    }
+
+    public Object patrolInspectionStatistics(String companyId) {
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        String sameDay = format.format(new Date());
+        String startTime = null;
+        String endTime = null;
+        int qualifiedCount = 0;
+        int undetectedCount = 0;
+        List<Integer> seriesDataList1 = new ArrayList<>();
+        List<Integer> seriesDataList2 = new ArrayList<>();
+        List<Integer> seriesDataList3 = new ArrayList<>();
+        for (int i = 0; i < 3; i++) {
+            if (i == 0) {
+                startTime = sameDay;
+                endTime = sameDay;
+            } else if (i == 1) {
+                startTime = sameDay;
+                endTime = sameDay;
+            } else if (i == 2) {
+                startTime = sameDay;
+                endTime = sameDay;
+            }
+            qualifiedCount = patrolInspectionPlanSiteSonMapper.planSonSiteCout(startTime, endTime, 2);
+            undetectedCount = patrolInspectionPlanSiteSonMapper.planSonSiteCout(startTime, endTime, 1);
+            if (i == 0) {
+                seriesDataList1.add(qualifiedCount);
+                seriesDataList1.add(undetectedCount);
+            } else if (i == 1) {
+                seriesDataList2.add(qualifiedCount);
+                seriesDataList2.add(undetectedCount);
+            } else if (i == 2) {
+                seriesDataList3.add(qualifiedCount);
+                seriesDataList3.add(undetectedCount);
+            }
+        }
+        return null;
+    }
+
 }

+ 53 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/DemBuildScoreRecordServiceImpl.java

@@ -0,0 +1,53 @@
+package com.usky.fire.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.fire.domain.DemBuildScoreRecord;
+import com.usky.fire.mapper.DemBuildScoreRecordMapper;
+import com.usky.fire.service.DemBuildScoreRecordService;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ * 建筑评分历史记录表 服务实现类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-09-08
+ */
+@Service
+public class DemBuildScoreRecordServiceImpl extends AbstractCrudService<DemBuildScoreRecordMapper, DemBuildScoreRecord> implements DemBuildScoreRecordService {
+
+    @Override
+    public int demBuildScoreRecordCount(String scoreDate, Integer buildScore, String companyId) {
+        LambdaQueryWrapper<DemBuildScoreRecord> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(StringUtils.isNotBlank(scoreDate), DemBuildScoreRecord::getScoreDate, scoreDate)
+                .lt(buildScore != null, DemBuildScoreRecord::getBuildScore, buildScore)
+                .eq(StringUtils.isNotBlank(companyId), DemBuildScoreRecord::getCompanyId, companyId);
+        int count = this.count(queryWrapper);
+        return count;
+    }
+
+    @Override
+    public List<DemBuildScoreRecord> demBuildScoreRecordList(String companyId, String scoreDate) {
+        LambdaQueryWrapper<DemBuildScoreRecord> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(StringUtils.isNotBlank(companyId), DemBuildScoreRecord::getCompanyId, companyId)
+                .eq(StringUtils.isNotBlank(scoreDate), DemBuildScoreRecord::getScoreDate, scoreDate)
+                .orderByDesc(DemBuildScoreRecord::getId)
+                .last(" limit 3");
+        List<DemBuildScoreRecord> list = this.list(queryWrapper);
+        return list;
+    }
+
+    @Override
+    public void demBuildScoreRecordAdd(DemBuildScoreRecord demBuildScoreRecord) {
+        demBuildScoreRecord.setCreateTime(LocalDateTime.now());
+        this.save(demBuildScoreRecord);
+    }
+
+}

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

@@ -63,4 +63,12 @@ public class DemBuildScoreServiceImpl extends AbstractCrudService<DemBuildScoreM
         return list;
     }
 
+    @Override
+    public List<DemBuildScore> buildScoreListOne(){
+        LambdaQueryWrapper<DemBuildScore> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(DemBuildScore::getEnable, 1);
+        List<DemBuildScore> list1 = this.list(queryWrapper);
+        return list1;
+    }
+
 }

+ 14 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PatrolInspectionAreaServiceImpl.java

@@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -229,4 +230,17 @@ public class PatrolInspectionAreaServiceImpl extends AbstractCrudService<PatrolI
         queryWrapper.orderByDesc(PatrolInspectionArea::getId);
         return this.list(queryWrapper);
     }
+
+    @Override
+    public List<Integer> areaIdList(String companyId){
+        LambdaQueryWrapper<PatrolInspectionArea> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(PatrolInspectionArea::getCompanyId, companyId)
+                .eq(PatrolInspectionArea::getEnable, 1);
+        List<PatrolInspectionArea> list = this.list(queryWrapper);
+        List<Integer> areaIdList = new ArrayList<>();
+        for (int i = 0; i < list.size(); i++) {
+            areaIdList.add(list.get(i).getId());
+        }
+        return areaIdList;
+    }
 }

+ 34 - 34
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PatrolInspectionPlanServiceImpl.java

@@ -483,40 +483,40 @@ public class PatrolInspectionPlanServiceImpl extends AbstractCrudService<PatrolI
         patrolInspectionPlan.setId(id);
         patrolInspectionPlan.setEnable(0);
         this.updateById(patrolInspectionPlan);
-//        //特殊休息日关联信息更改
-//        LambdaQueryWrapper<SpecialRestDay> queryWrapperFour= Wrappers.lambdaQuery();
-//        queryWrapperFour.eq(SpecialRestDay::getPlanId, id);
-//        List<SpecialRestDay> specialRestDayList = specialRestDayService.list(queryWrapperFour);
-//        for (int i = 0; i < specialRestDayList.size(); i++) {
-//            specialRestDayService.removeById(specialRestDayList.get(i).getId());
-//        }
-//        //巡检日程删除
-//        LambdaQueryWrapper<PlanSchedule> queryWrapper = Wrappers.lambdaQuery();
-//        queryWrapper.eq(PlanSchedule::getPlanId, id);
-//        List<PlanSchedule> planScheduleList = planScheduleService.list(queryWrapper);
-//        for (int i = 0; i < planScheduleList.size(); i++) {
-//            planScheduleService.removeById(planScheduleList.get(i).getId());
-//        }
-//        //主计划地点删除
-//        LambdaQueryWrapper<PlanSite> queryWrapperOne = Wrappers.lambdaQuery();
-//        queryWrapperOne.eq(PlanSite::getPlanId, id);
-//        List<PlanSite> planSiteList = planSiteService.list(queryWrapperOne);
-//        for (int i = 0; i < planSiteList.size(); i++) {
-//            planSiteService.removeById(planSiteList.get(i).getId());
-//        }
-//        //子表数据删除
-//        LambdaQueryWrapper<PatrolInspectionPlanSon> queryWrapperTwo = Wrappers.lambdaQuery();
-//        queryWrapperTwo.eq(PatrolInspectionPlanSon::getPlanId,id);
-//        List<PatrolInspectionPlanSon> patrolInspectionPlanSonList = patrolInspectionPlanSonService.list(queryWrapperTwo);
-//        for (int i = 0; i < patrolInspectionPlanSonList.size(); i++) {
-//            LambdaQueryWrapper<PlanSiteSon> queryWrapperThree = Wrappers.lambdaQuery();
-//            queryWrapperThree.eq(PlanSiteSon::getPlanId, patrolInspectionPlanSonList.get(i).getId());
-//            List<PlanSiteSon> planSiteSonList = planSiteSonService.list(queryWrapperThree);
-//            for (int j = 0; j < planSiteSonList.size(); j++) {
-//                planSiteSonService.removeById(planSiteSonList.get(j).getId());
-//            }
-//            patrolInspectionPlanSonService.removeById(patrolInspectionPlanSonList.get(i).getId());
-//        }
+        //特殊休息日关联信息更改
+        LambdaQueryWrapper<PatrolInspectionSpecialRestDay> queryWrapperFour= Wrappers.lambdaQuery();
+        queryWrapperFour.eq(PatrolInspectionSpecialRestDay::getPlanId, id);
+        List<PatrolInspectionSpecialRestDay> specialRestDayList = specialRestDayService.list(queryWrapperFour);
+        for (int i = 0; i < specialRestDayList.size(); i++) {
+            specialRestDayService.removeById(specialRestDayList.get(i).getId());
+        }
+        //巡检日程删除
+        LambdaQueryWrapper<PatrolInspectionPlanSchedule> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(PatrolInspectionPlanSchedule::getPlanId, id);
+        List<PatrolInspectionPlanSchedule> planScheduleList = planScheduleService.list(queryWrapper);
+        for (int i = 0; i < planScheduleList.size(); i++) {
+            planScheduleService.removeById(planScheduleList.get(i).getId());
+        }
+        //主计划地点删除
+        LambdaQueryWrapper<PatrolInspectionPlanSite> queryWrapperOne = Wrappers.lambdaQuery();
+        queryWrapperOne.eq(PatrolInspectionPlanSite::getPlanId, id);
+        List<PatrolInspectionPlanSite> planSiteList = planSiteService.list(queryWrapperOne);
+        for (int i = 0; i < planSiteList.size(); i++) {
+            planSiteService.removeById(planSiteList.get(i).getId());
+        }
+        //子表数据删除
+        LambdaQueryWrapper<PatrolInspectionPlanSon> queryWrapperTwo = Wrappers.lambdaQuery();
+        queryWrapperTwo.eq(PatrolInspectionPlanSon::getPlanId,id);
+        List<PatrolInspectionPlanSon> patrolInspectionPlanSonList = patrolInspectionPlanSonService.list(queryWrapperTwo);
+        for (int i = 0; i < patrolInspectionPlanSonList.size(); i++) {
+            LambdaQueryWrapper<PatrolInspectionPlanSiteSon> queryWrapperThree = Wrappers.lambdaQuery();
+            queryWrapperThree.eq(PatrolInspectionPlanSiteSon::getPlanId, patrolInspectionPlanSonList.get(i).getId());
+            List<PatrolInspectionPlanSiteSon> planSiteSonList = planSiteSonService.list(queryWrapperThree);
+            for (int j = 0; j < planSiteSonList.size(); j++) {
+                planSiteSonService.removeById(planSiteSonList.get(j).getId());
+            }
+            patrolInspectionPlanSonService.removeById(patrolInspectionPlanSonList.get(i).getId());
+        }
     }
 
     @Override

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

@@ -1,14 +1,19 @@
 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.PatrolInspectionPlanSiteSon;
 import com.usky.fire.mapper.PatrolInspectionPlanSiteSonMapper;
 import com.usky.fire.service.PatrolInspectionPlanSiteSonService;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  *
  * @author JCB
@@ -17,4 +22,25 @@ import org.springframework.stereotype.Service;
 @Service
 public class PatrolInspectionPlanSiteSonServiceImpl extends AbstractCrudService<PatrolInspectionPlanSiteSonMapper, PatrolInspectionPlanSiteSon> implements PatrolInspectionPlanSiteSonService {
 
+    @Override
+    public Integer siteCount(List<Integer> planSonIdList, Integer inspectionStatus) {
+        LambdaQueryWrapper<PatrolInspectionPlanSiteSon> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(PatrolInspectionPlanSiteSon::getInspectionStatus, inspectionStatus)
+                .in(PatrolInspectionPlanSiteSon::getPlanId, planSonIdList);
+        int count = this.count(queryWrapper);
+        return count;
+    }
+
+    @Override
+    public List<Integer> planSonSiteIdList(List<Integer> siteIdList){
+        LambdaQueryWrapper<PatrolInspectionPlanSiteSon> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.in(PatrolInspectionPlanSiteSon::getSiteId, siteIdList)
+                .groupBy(PatrolInspectionPlanSiteSon::getPlanId);
+        List<PatrolInspectionPlanSiteSon> list = this.list(queryWrapper);
+        List<Integer> planSonSiteIdList = new ArrayList<>();
+        for (int i = 0; i < list.size(); i++) {
+            planSonSiteIdList.add(list.get(i).getPlanId());
+        }
+        return planSonSiteIdList;
+    }
 }

+ 25 - 12
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PatrolInspectionPlanSonServiceImpl.java

@@ -110,9 +110,9 @@ public class PatrolInspectionPlanSonServiceImpl extends AbstractCrudService<Patr
             LambdaQueryWrapper<PatrolInspectionPlanSchedule> queryWrapper = Wrappers.lambdaQuery();
             queryWrapper.select(PatrolInspectionPlanSchedule::getPlanId)
                     .in(PatrolInspectionPlanSchedule::getPersonnelId, personnelIdList);
-            if (sort.equals("DESC")){
+            if (sort.equals("DESC")) {
                 queryWrapper.orderByDesc(PatrolInspectionPlanSchedule::getId);
-            }else {
+            } else {
                 queryWrapper.orderByAsc(PatrolInspectionPlanSchedule::getId);
             }
 //            queryWrapper.groupBy(PatrolInspectionPlanSchedule::getPlanId);
@@ -415,10 +415,10 @@ public class PatrolInspectionPlanSonServiceImpl extends AbstractCrudService<Patr
                     recordIdList.add(recordList.get(i).getId());
                 }
                 List<PatrolInspectionSite> list1 = new ArrayList<>();
-                if (id != null && id != 0){
+                if (id != null && id != 0) {
                     LambdaQueryWrapper<PatrolInspectionSite> queryWrapper1 = Wrappers.lambdaQuery();
-                    queryWrapper1.select(PatrolInspectionSite::getId,PatrolInspectionSite::getPictureUrl)
-                            .eq(PatrolInspectionSite::getId,recordList.get(0).getSiteId());
+                    queryWrapper1.select(PatrolInspectionSite::getId, PatrolInspectionSite::getPictureUrl)
+                            .eq(PatrolInspectionSite::getId, recordList.get(0).getSiteId());
                     list1 = patrolInspectionSiteService.list(queryWrapper1);
                 }
 
@@ -443,7 +443,7 @@ public class PatrolInspectionPlanSonServiceImpl extends AbstractCrudService<Patr
                 for (int i = 0; i < recordList.size(); i++) {
                     PatrolInspectionRecordVo record = new PatrolInspectionRecordVo();
                     for (int j = 0; j < list1.size(); j++) {
-                        if (recordList.get(i).getSiteId()==list1.get(j).getId()){
+                        if (recordList.get(i).getSiteId() == list1.get(j).getId()) {
                             record.setPictureUrl(list1.get(j).getPictureUrl());
                         }
                     }
@@ -523,7 +523,7 @@ public class PatrolInspectionPlanSonServiceImpl extends AbstractCrudService<Patr
                 queryWrapper.eq(PatrolInspectionRecordOption::getRecordId, recordId);
                 List<PatrolInspectionRecordOption> recordOptionList = patrolInspectionRecordOptionService.list(queryWrapper);
                 for (int i = 0; i < recordOptionList.size(); i++) {
-                    if (recordOptionList.get(i).getContentOptionId()!=null){
+                    if (recordOptionList.get(i).getContentOptionId() != null) {
                         contentOptionIdList.add(recordOptionList.get(i).getContentOptionId());
                     }
                 }
@@ -537,7 +537,7 @@ public class PatrolInspectionPlanSonServiceImpl extends AbstractCrudService<Patr
                     contentOptionList.get(i).setEnable(contentOptionList.get(i).getEnable());
                     contentOptionList.get(i).setSelectStatus(false);
                     for (int j = 0; j < recordOptionList.size(); j++) {
-                        if (recordOptionList.get(j).getContentOptionId()!=null){
+                        if (recordOptionList.get(j).getContentOptionId() != null) {
                             int contentOptionId1 = contentOptionList.get(i).getId();
                             int contentOptionId2 = recordOptionList.get(j).getContentOptionId();
                             if (contentOptionId1 == contentOptionId2) {
@@ -568,12 +568,12 @@ public class PatrolInspectionPlanSonServiceImpl extends AbstractCrudService<Patr
                     contentVo.setCompanyId(contentList.get(i).getCompanyId());
                     contentVo.setContentOptionValue(contentOptionIdList);
 
-                    if (contentList.get(i).getSubmissionMethod()==3){
+                    if (contentList.get(i).getSubmissionMethod() == 3) {
                         for (int j = 0; j < recordOptionList.size(); j++) {
-                            if (recordOptionList.get(j).getContentOptionId()==null||recordOptionList.get(j).getContentOptionId()==0){
+                            if (recordOptionList.get(j).getContentOptionId() == null || recordOptionList.get(j).getContentOptionId() == 0) {
                                 int id11 = contentList.get(i).getId();
                                 int id22 = recordOptionList.get(j).getContentId();
-                                if (id11==id22){
+                                if (id11 == id22) {
                                     if (recordOptionList.get(j).getRemarks() != null && !"".equals(recordOptionList.get(j).getRemarks())) {
                                         contentVo.setRemarks(recordOptionList.get(j).getRemarks());
                                     }
@@ -587,7 +587,7 @@ public class PatrolInspectionPlanSonServiceImpl extends AbstractCrudService<Patr
                                 }
                             }
                         }
-                    }else {
+                    } else {
                         for (int j = 0; j < contentOptionVoList.size(); j++) {
                             int id1 = contentList.get(i).getId();
                             int id2 = contentOptionVoList.get(j).getContentId();
@@ -863,4 +863,17 @@ public class PatrolInspectionPlanSonServiceImpl extends AbstractCrudService<Patr
         Integer planSonCount = this.count(queryWrapper);
         return planSonCount;
     }
+
+    @Override
+    public List<Integer> planSonIdList(List<Integer> planSonSiteIdList, String startTime, String endTime) {
+        LambdaQueryWrapper<PatrolInspectionPlanSon> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.in(PatrolInspectionPlanSon::getId, planSonSiteIdList)
+                .between(PatrolInspectionPlanSon::getInspectionDate, startTime, endTime);
+        List<PatrolInspectionPlanSon> list = this.list(queryWrapper);
+        List<Integer> planSonIdList = new ArrayList<>();
+        for (int i = 0; i < list.size(); i++) {
+            planSonIdList.add(list.get(i).getId());
+        }
+        return planSonIdList;
+    }
 }

+ 13 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PatrolInspectionSiteServiceImpl.java

@@ -267,4 +267,17 @@ public class PatrolInspectionSiteServiceImpl extends AbstractCrudService<PatrolI
         }
         return list;
     }
+
+    @Override
+    public List<Integer> siteIdList(List<Integer> areaIdList){
+        LambdaQueryWrapper<PatrolInspectionSite> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(PatrolInspectionSite::getEnable, 1)
+                .in(PatrolInspectionSite::getAreaId, areaIdList);
+        List<PatrolInspectionSite> list = this.list(queryWrapper);
+        List<Integer> siteIdList = new ArrayList<>();
+        for (int i = 0; i < list.size(); i++) {
+            siteIdList.add(list.get(i).getId());
+        }
+        return siteIdList;
+    }
 }

+ 15 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/util/OnlineMethod.java

@@ -19,6 +19,21 @@ import java.util.regex.Pattern;
 public class OnlineMethod {
 
 
+    /**
+     * 获取当前月的上一个月
+     * @return
+     */
+    public static String getLastMonth(Date date) {
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date); // 设置为当前时间
+        calendar.add(Calendar.MONTH,-1);
+        date = calendar.getTime();
+        String accDate = format.format(date);
+        return accDate;
+    }
+
+
     /**
      * 获取字段值
      *

+ 14 - 0
service-fire/service-fire-biz/src/main/resources/mapper/fire/DemBuildScoreRecordMapper.xml

@@ -0,0 +1,14 @@
+<?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.DemBuildScoreRecordMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.fire.domain.DemBuildScoreRecord">
+        <id column="id" property="id" />
+        <result column="build_score" property="buildScore" />
+        <result column="score_date" property="scoreDate" />
+        <result column="company_id" property="companyId" />
+        <result column="create_time" property="createTime" />
+    </resultMap>
+
+</mapper>

+ 26 - 5
service-fire/service-fire-biz/src/main/resources/mapper/fire/PatrolInspectionPlanSiteSonMapper.xml

@@ -4,11 +4,32 @@
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.usky.fire.domain.PatrolInspectionPlanSiteSon">
-        <id column="id" property="id" />
-        <result column="plan_id" property="planId" />
-        <result column="site_id" property="siteId" />
-        <result column="inspection_status" property="inspectionStatus" />
-        <result column="create_time" property="createTime" />
+        <id column="id" property="id"/>
+        <result column="plan_id" property="planId"/>
+        <result column="site_id" property="siteId"/>
+        <result column="inspection_status" property="inspectionStatus"/>
+        <result column="create_time" property="createTime"/>
     </resultMap>
 
+    <select id="planSonSiteCout" resultType="int">
+        SELECT
+        COUNT(*)
+        FROM
+        patrol_inspection_area AS pia
+        JOIN patrol_inspection_plan_son AS pips ON pia.id = pips.area_id
+        JOIN patrol_inspection_plan_site_son AS pipss ON pips.id = pipss.plan_id
+        <where>
+            pia.company_id = 1
+            AND pia. ENABLE = 1
+            AND pips.interval_time BETWEEN #{startTime}
+            AND #{endTime}
+            <if test="inspectionStatus != null and inspectionStatus!=0">
+                AND pipss.inspection_status = #{inspectionStatus}
+            </if>
+
+        </where>
+        GROUP BY
+        alarmTime
+    </select>
+
 </mapper>