Просмотр исходного кода

同比环比 火灾行政区域

yq 4 лет назад
Родитель
Сommit
29bf70122d

+ 5 - 0
mhfire-controller/src/main/java/com/bizmatics/mhfire/controller/web/FireStatisticsControllerWeb.java

@@ -108,4 +108,9 @@ public class FireStatisticsControllerWeb {
     public ApiResult<List<String>> getFireType(){
         return ApiResult.success(fireStatisticsService.getFireType());
     }
+
+    @GetMapping("fireAddress")
+    public ApiResult<List<String>> getAddress(){
+        return ApiResult.success(fireStatisticsService.getAddress());
+    }
 }

+ 4 - 2
mhfire-controller/src/main/java/com/bizmatics/mhfire/controller/web/UnitControllerWeb.java

@@ -8,6 +8,8 @@ import com.bizmatics.mhfire.service.vo.UnitAlCheckVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
+
 /**
  * 单位信息
  * @author yq
@@ -52,8 +54,8 @@ public class UnitControllerWeb {
      */
     @GetMapping("/unitAlCheck")
     public ApiResult<UnitAlCheckVO> getUnitAlCheck(@RequestParam String unitId,
-                                                   @RequestParam(required = false) String startTime,
-                                                   @RequestParam(required = false) String endTime){
+                                                   @RequestParam(required = false) Date startTime,
+                                                   @RequestParam(required = false) Date endTime){
         return ApiResult.success(unitService.getUnitAlCheck(unitId,startTime,endTime));
     }
 }

+ 4 - 2
mhfire-mapping/src/main/java/com/bizmatics/mhfire/persistence/mapper/BsSupervisionAllMapper.java

@@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import javax.xml.crypto.Data;
+import java.util.Date;
 import java.util.Map;
 
 /**
@@ -17,8 +18,9 @@ public interface BsSupervisionAllMapper {
 
     Integer selectCount(@Param("typeOneLetter") String typeOneLetter,
                         @Param("typeTwoLetter") String typeTwoLetter,
-                        @Param("startTime") Data startTime,
-                        @Param("endTime") Data endTime);
+                        @Param("startTime") Date startTime,
+                        @Param("endTime") Date endTime,
+                        @Param("unitId") String unitId);
 
 
     Map<String,String> selectByRecentlyOne(@Param("typeOneLetter") String typeOneLetter,

+ 3 - 0
mhfire-mapping/src/main/java/com/bizmatics/mhfire/persistence/mapper/FireStatisticsMapper.java

@@ -55,4 +55,7 @@ public interface FireStatisticsMapper {
     List<String> groupByCause();
 
 
+    List<String> getAddress();
+
+
 }

+ 3 - 0
mhfire-mapping/src/main/resources/mapper/mysql/BsSupervisionAll.xml

@@ -18,6 +18,9 @@
             <if test="endTime != null">
                 and `项目创建时间` &lt;= #{endTime}
             </if>
+            <if test="unitId != null and unitId != ''">
+                and `项目单位ID` = #{unitId}
+            </if>
         </where>
     </select>
     <select id="selectByRecentlyOne" resultType="java.util.Map">

+ 3 - 0
mhfire-mapping/src/main/resources/mapper/mysql/FireStatisticsMapper.xml

@@ -44,4 +44,7 @@
     <select id="groupByCause" resultType="java.lang.String">
         select `火灾原因分类(一级)` from `hzdc-hztjb` group by `火灾原因分类(一级)`
     </select>
+    <select id="getAddress" resultType="java.lang.String">
+        select `行政区域` from `hzdc-hztjb` group by `行政区域`
+    </select>
 </mapper>

+ 6 - 0
mhfire-service/src/main/java/com/bizmatics/mhfire/service/FireStatisticsService.java

@@ -68,5 +68,11 @@ public interface FireStatisticsService {
      */
     List<String> getFireType();
 
+    /**
+     * 火灾行政区域
+      * @return
+     */
+    List<String> getAddress();
+
 
 }

+ 3 - 1
mhfire-service/src/main/java/com/bizmatics/mhfire/service/UnitService.java

@@ -4,6 +4,8 @@ import com.bizmatics.common.core.bean.CommonPage;
 import com.bizmatics.mhfire.persistence.mapper.po.UnitPO;
 import com.bizmatics.mhfire.service.vo.UnitAlCheckVO;
 
+import java.util.Date;
+
 /**
  * @author yq
  * @date 2021/5/25 17:25
@@ -34,5 +36,5 @@ public interface UnitService {
      * @param endTime
      * @return
      */
-    UnitAlCheckVO getUnitAlCheck(String unitId,String startTime,String endTime);
+    UnitAlCheckVO getUnitAlCheck(String unitId, Date startTime, Date endTime);
 }

+ 22 - 1
mhfire-service/src/main/java/com/bizmatics/mhfire/service/impl/AlFsdAllServiceImpl.java

@@ -1,7 +1,12 @@
 package com.bizmatics.mhfire.service.impl;
 
+import com.bizmatics.mhfire.persistence.mapper.*;
 import com.bizmatics.mhfire.service.AlFsdAllService;
+import com.bizmatics.mhfire.service.AlFsdSeqService;
+import com.bizmatics.mhfire.service.enums.BsSaOneCode;
+import com.bizmatics.mhfire.service.enums.BsSaTwoCode;
 import com.bizmatics.mhfire.service.vo.AlFsdAllVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
@@ -12,10 +17,26 @@ import java.util.Date;
  */
 @Service
 public class AlFsdAllServiceImpl implements AlFsdAllService {
+
+    @Autowired
+    private AlFsdSeqMapper alFsdSeqMapper;
+    @Autowired
+    private AlFsdVoucherMapper alFsdVoucherMapper;
+    @Autowired
+    private AlFsdDisagreeMapper alFsdDisagreeMapper;
+
+    @Autowired
+    private BsSupervisionAllMapper bsSupervisionAllMapper;
+
     @Override
     public AlFsdAllVO getAlFsdAllNumber(Date startTime, Date endTime) {
-        //TODO 现有的数据库有不知道来自于哪些表
         AlFsdAllVO alFsdAllVo = new AlFsdAllVO();
+        alFsdAllVo.setAcceptNumber(alFsdVoucherMapper.selectCount(startTime,endTime));
+        alFsdAllVo.setCheckNumber(bsSupervisionAllMapper.selectCount
+                (BsSaOneCode.SAFETY_CHECK.getLetter(), BsSaTwoCode.R_C_C.getLetter(),startTime,endTime,null));
+        Integer seqCount = alFsdSeqMapper.selectCount(startTime, endTime);
+        Integer disagreeCount = alFsdDisagreeMapper.selectCount(startTime, endTime);
+        alFsdAllVo.setArticleNumber(seqCount+disagreeCount);
         return alFsdAllVo;
     }
 }

+ 5 - 0
mhfire-service/src/main/java/com/bizmatics/mhfire/service/impl/FireStatisticsServiceImpl.java

@@ -99,6 +99,11 @@ public class FireStatisticsServiceImpl implements FireStatisticsService {
         return fireStatisticsMapper.groupByCause();
     }
 
+    @Override
+    public List<String> getAddress() {
+        return fireStatisticsMapper.getAddress();
+    }
+
     public FireStatisticsPO enhanceFireStatisticsPo(Map<String,Object> map){
         FireStatisticsPO fireStatisticsPo = new FireStatisticsPO();
         fireStatisticsPo.setId(map.get("火灾序号").toString());

+ 17 - 2
mhfire-service/src/main/java/com/bizmatics/mhfire/service/impl/SiAeAllServiceImpl.java

@@ -1,5 +1,6 @@
 package com.bizmatics.mhfire.service.impl;
 
+import com.bizmatics.common.core.util.DateUtils;
 import com.bizmatics.mhfire.persistence.mapper.SiAeAllMapper;
 import com.bizmatics.mhfire.service.SiAeAllService;
 import com.bizmatics.mhfire.service.vo.SiAeAllVO;
@@ -24,11 +25,25 @@ public class SiAeAllServiceImpl implements SiAeAllService {
     public List<SiAeAllVO> getAeAllCollect(Date startTime, Date endTime) {
         List<SiAeAllVO> allVoS = new ArrayList<>();
         Map<String, Double> aeAllCollect = siAeAllMapper.selectAeAllCollect(startTime,endTime);
-        //TODO 获取同比和环比时间
+        //获取同比
+        startTime.setYear(Integer.parseInt(DateUtils.getYear(startTime)) - 1 -1900);
+        endTime.setYear(Integer.parseInt(DateUtils.getYear(endTime)) - 1 -1900);
+        Map<String, Double> upAllCollect = siAeAllMapper.selectAeAllCollect(startTime,endTime);
+        //获取环比
+        startTime.setYear(Integer.parseInt(DateUtils.getYear(startTime)) + 1 - 1900);
+        endTime.setYear(Integer.parseInt(DateUtils.getYear(endTime)) + 1 - 1900);
+        //获取两个时间天数之差
+        int distanceOfTwoDate = DateUtils.getDistanceOfTwoDate(startTime, endTime);
+        Date linkEndTime = DateUtils.addDays(startTime, -1);
+        Date linkStartTime = DateUtils.addDays(linkEndTime, -distanceOfTwoDate);
+        Map<String, Double> linkAllCollect = siAeAllMapper.selectAeAllCollect(linkStartTime,linkEndTime);
         for (String type:aeAllCollect.keySet()) {
             SiAeAllVO siAeAllVO = new SiAeAllVO();
             siAeAllVO.setCheckType(type);
-            siAeAllVO.setNumber(aeAllCollect.get(type).intValue());
+            Double radio = aeAllCollect.get(type);
+            siAeAllVO.setNumber(radio.intValue());
+            siAeAllVO.setSameRatio(upAllCollect.get(type)/radio);
+            siAeAllVO.setLinkRelativeRatio(linkAllCollect.get(type)/radio);
             allVoS.add(siAeAllVO);
         }
         return allVoS;

+ 32 - 9
mhfire-service/src/main/java/com/bizmatics/mhfire/service/impl/UnitServiceImpl.java

@@ -3,18 +3,21 @@ package com.bizmatics.mhfire.service.impl;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.bizmatics.common.core.bean.CommonPage;
 import com.bizmatics.common.core.util.BeanMapperUtils;
+import com.bizmatics.mhfire.persistence.mapper.BsSupervisionAllMapper;
+import com.bizmatics.mhfire.persistence.mapper.FireStatisticsMapper;
 import com.bizmatics.mhfire.persistence.mapper.UnitMapper;
+import com.bizmatics.mhfire.persistence.mapper.po.BsSupervisionAllPO;
 import com.bizmatics.mhfire.persistence.mapper.po.UnitPO;
+import com.bizmatics.mhfire.service.BsSupervisionAllService;
 import com.bizmatics.mhfire.service.UnitService;
 
+import com.bizmatics.mhfire.service.enums.BsSaOneCode;
+import com.bizmatics.mhfire.service.enums.BsSaTwoCode;
 import com.bizmatics.mhfire.service.vo.UnitAlCheckVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
 
 /**
  * @author yq
@@ -25,6 +28,14 @@ public class UnitServiceImpl implements UnitService {
 
     @Autowired
     private UnitMapper unitMapper;
+    @Autowired
+    private BsSupervisionAllMapper bsSupervisionAllMapper;
+
+    @Autowired
+    private FireStatisticsMapper fireStatisticsMapper;
+
+    @Autowired
+    private BsSupervisionAllService bsSupervisionAllService;
     @Override
     public UnitPO getOne(UnitPO unitPo) {
         Map<String, Object> map = unitMapper.selectOne(unitPo);
@@ -42,12 +53,25 @@ public class UnitServiceImpl implements UnitService {
     }
 
     @Override
-    public UnitAlCheckVO getUnitAlCheck(String unitId, String startTime, String endTime) {
+    public UnitAlCheckVO getUnitAlCheck(String unitId, Date startTime, Date endTime) {
         UnitPO unitPo = new UnitPO();
         unitPo.setId(unitId);
         UnitAlCheckVO unitAlCheckVo = BeanMapperUtils.map(getOne(unitPo), UnitAlCheckVO.class);
-        //TODO 行政检查记录,历史处罚情况没有找见对应的记录
-
+        Integer checkNumber = bsSupervisionAllMapper.selectCount(null, null, startTime, endTime, unitId);
+        unitAlCheckVo.setCheckNumber(checkNumber);
+        //历史火灾统计
+        Integer fireCount = fireStatisticsMapper.selectCount(startTime, endTime, null, null, unitId);
+        unitAlCheckVo.setHistoryFire(fireCount);
+        //审核时间
+        BsSupervisionAllPO byRecentlyOne = bsSupervisionAllService.getByRecentlyOne(BsSaOneCode.A_P.getLetter(), BsSaTwoCode.J_G_S_G_AUDIT.getLetter());
+        unitAlCheckVo.setAuditTime(byRecentlyOne.getProductCreatTime());
+        //验收
+        BsSupervisionAllPO acceptOne = bsSupervisionAllService.getByRecentlyOne(BsSaOneCode.A_P.getLetter(), BsSaTwoCode.J_G_S_G_ACCPET.getLetter());
+        unitAlCheckVo.setAcceptTime(acceptOne.getProductCreatTime());
+        //行政许可安检时间
+        BsSupervisionAllPO serviceByRecentlyOne = bsSupervisionAllService.getByRecentlyOne(BsSaOneCode.A_P.getLetter(), BsSaTwoCode.R_C_C.getLetter());
+        unitAlCheckVo.setSecurityTime(serviceByRecentlyOne.getProductCreatTime());
+        //TODO 历史检查情况,历史隐患次数找不见对应记录
         return unitAlCheckVo;
     }
 
@@ -63,8 +87,7 @@ public class UnitServiceImpl implements UnitService {
                     unitPo.setId(unit.get("ID").toString());
                     unitPo.setName(Optional.ofNullable(unit.get("单位名称")).orElse("").toString());
                     unitPo.setAddress(unit.get("单位地址").toString());
-                    //TODO 没有找见对应字段
-                    unitPo.setPrincipal(unit.get("单位名称").toString());
+                    unitPo.setPrincipal(unit.get("法人代表或主要负责人").toString());
                     unitPo.setPhone(unit.get("单位电话").toString());
                 }
                 );

+ 6 - 0
mhfire-service/src/main/java/com/bizmatics/mhfire/service/vo/UnitAlCheckVO.java

@@ -59,6 +59,12 @@ public class UnitAlCheckVO {
     private Integer checkNumber;
 
 
+    /**
+     * 历史火灾
+     */
+    private Integer historyFire;
+
+
     /**
      * 隐患次数
      */