浏览代码

合格率,投诉举报办理数,火灾的缺省字段的处理

yq 4 年之前
父节点
当前提交
6116fca4fd

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

@@ -43,13 +43,13 @@ public interface FireStatisticsMapper {
      * @param address
      * @return
      */
-    Page<Map<String,Object>> page(IPage<Map<String,Object>> page,
+    Page<Map<String,String>> page(IPage<Map<String,String>> page,
                                   @Param("startTime") Date startTime,
                                   @Param("endTime")Date endTime,
                                   @Param("address")String address);
 
 
-    Map<String,Object> getOne(@Param("id") String id);
+    Map<String,String> getOne(@Param("id") String id);
 
 
     List<String> groupByCause();

+ 1 - 0
mhfire-mapping/src/main/resources/mapper/mysql/ReportComplaintMapper.xml

@@ -22,6 +22,7 @@
             <if test="satisfaction !=null and satisfaction != ''">
                 and `是否满意` = #{satisfaction}
             </if>
+            and `工单状态名称` != '已撤销'
         </where>
     </select>
     <select id="selectType" resultType="java.lang.String">

+ 3 - 0
mhfire-service/src/main/java/com/bizmatics/mhfire/service/impl/AlFsdAllServiceImpl.java

@@ -34,9 +34,12 @@ public class AlFsdAllServiceImpl implements AlFsdAllService {
         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);
+        alFsdAllVo.setQualifiedRadio((double) (seqCount/(seqCount+disagreeCount)));
         return alFsdAllVo;
     }
 }

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

@@ -12,6 +12,7 @@ import com.bizmatics.mhfire.service.UnitService;
 
 import com.bizmatics.mhfire.service.vo.FireLevelRatioVO;
 import com.bizmatics.mhfire.service.vo.FireUnitPoliceVO;
+import org.checkerframework.checker.nullness.Opt;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -35,7 +36,6 @@ public class FireStatisticsServiceImpl implements FireStatisticsService {
         for (int i = 0; i < 12; i++) {
             date.setDate(1);
             Date setMonths = DateUtils.setMonths(date, i);
-            System.out.println(DateUtils.format(setMonths,"yyyy-MM-dd HH:mm:ss"));
             Date firstDayOfMonth = DateUtils.getFirstDayOfMonth(setMonths);
             Date lastDayOfMonth = DateUtils.getLastDayOfMonth(setMonths);
             list.add(fireStatisticsMapper.selectCount(firstDayOfMonth, lastDayOfMonth, address,fireType,null));
@@ -46,7 +46,7 @@ public class FireStatisticsServiceImpl implements FireStatisticsService {
 
     @Override
     public CommonPage<FireStatisticsPO> page(Integer current, Integer size, Date startTime, Date endTime, String address) {
-        Page<Map<String, Object>> page = new Page<>(current, size);
+        Page<Map<String, String>> page = new Page<>(current, size);
         page = fireStatisticsMapper.page(page, startTime, endTime, address);
         List<FireStatisticsPO> list = new ArrayList<>();
         page.getRecords().forEach(stringObjectMap -> list.add(enhanceFireStatisticsPo(stringObjectMap)));
@@ -104,16 +104,16 @@ public class FireStatisticsServiceImpl implements FireStatisticsService {
         return fireStatisticsMapper.getAddress();
     }
 
-    public FireStatisticsPO enhanceFireStatisticsPo(Map<String,Object> map){
+    public FireStatisticsPO enhanceFireStatisticsPo(Map<String,String> map){
         FireStatisticsPO fireStatisticsPo = new FireStatisticsPO();
-        fireStatisticsPo.setId(map.get("火灾序号").toString());
-        fireStatisticsPo.setAddress(map.get("起火地点").toString());
-        fireStatisticsPo.setBurnedArea(map.get("过火面积").toString());
-        fireStatisticsPo.setPropertyLoss(map.get("直接财产损失").toString());
-        fireStatisticsPo.setDeathToll(map.get("死亡人数").toString());
-        fireStatisticsPo.setNonFatal(map.get("受灾人数").toString());
-        fireStatisticsPo.setDisasterHome(map.get("受灾户数").toString());
-        fireStatisticsPo.setFireCause(Optional.ofNullable(map.get("火灾原因分类(一级)")).orElse("").toString());
+        fireStatisticsPo.setId(map.get("火灾序号"));
+        fireStatisticsPo.setAddress(map.get("起火地点"));
+        fireStatisticsPo.setBurnedArea(Optional.ofNullable(map.get("过火面积")).orElse(""));
+        fireStatisticsPo.setPropertyLoss(Optional.ofNullable(map.get("直接财产损失")).orElse(""));
+        fireStatisticsPo.setDeathToll(map.get("死亡人数"));
+        fireStatisticsPo.setNonFatal(Optional.ofNullable(map.get("受灾人数")).orElse(""));
+        fireStatisticsPo.setDisasterHome(Optional.ofNullable(map.get("受灾户数")).orElse(""));
+        fireStatisticsPo.setFireCause(Optional.ofNullable(map.get("火灾原因分类(一级)")).orElse(""));
         return fireStatisticsPo;
     }
 }

+ 11 - 5
mhfire-service/src/main/java/com/bizmatics/mhfire/service/impl/ReportComplaintServiceImpl.java

@@ -8,9 +8,11 @@ import com.bizmatics.mhfire.service.vo.ReportStatisticsVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Optional;
 
 /**
  * @author yq
@@ -24,15 +26,19 @@ public class ReportComplaintServiceImpl implements ReportComplaintService {
 
     @Override
     public ReportStatisticsVO getReportStatistics(Date startTime, Date endTime) {
+        //办结数 = 已处理+已归档 处理数 = 总-办结数
         ReportStatisticsVO reportStatisticsVo = new ReportStatisticsVO();
+        //总数
         Integer count = reportComplaintMapper.selectCount(null, null, null, null, null);
         reportStatisticsVo.setComplaintNumber(count);
-        reportStatisticsVo.setConcludeNumber(
-                reportComplaintMapper.selectCount(null,null,null,"已归档",null));
-        reportStatisticsVo.setCheckNumber(
-                reportComplaintMapper.selectCount(null,null,null,"已办结",null));
+        Integer fireCount = reportComplaintMapper.selectCount(null, null, null, "已归档", null);
+        Integer concludeCount = reportComplaintMapper.selectCount(null, null, null, "已办结", null);
+        reportStatisticsVo.setConcludeNumber(fireCount+concludeCount);
+        reportStatisticsVo.setCheckNumber(count - fireCount - concludeCount);
         Integer satisfactionRateNumber = reportComplaintMapper.selectCount(null, null, null, null, "3");
-        reportStatisticsVo.setSatisfactionRate(satisfactionRateNumber/count.doubleValue());
+
+        BigDecimal b = new BigDecimal(satisfactionRateNumber/count.doubleValue());
+        reportStatisticsVo.setSatisfactionRate(b.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue());
         return reportStatisticsVo;
     }
 

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

@@ -46,11 +46,11 @@ public class SiAeAllServiceImpl implements SiAeAllService {
                 Double radio = aeAll.get(type);
                 siAeAllVO.setNumber(radio);
                 if (0 != radio){
-                    Double upRadio = Optional.ofNullable(upAllCollect).map(up -> up.get(type)).orElse(0.0)/radio;
+                    double upRadio = Optional.ofNullable(upAllCollect).map(up -> up.get(type)).orElse(0.0)/radio;
                     BigDecimal b = new BigDecimal(upRadio);
                     upRadio = b.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
                     siAeAllVO.setSameRatio(upRadio);
-                    Double linkRadio = Optional.ofNullable(linkAllCollect).map(link -> link.get(type)).orElse(0.0)/radio;
+                    double linkRadio = Optional.ofNullable(linkAllCollect).map(link -> link.get(type)).orElse(0.0)/radio;
                     b = new BigDecimal(linkRadio);
                     linkRadio = b.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
                     siAeAllVO.setLinkRelativeRatio(linkRadio);

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

@@ -25,4 +25,10 @@ public class AlFsdAllVO {
      * 出文数
      */
     private Integer articleNumber;
+
+
+    /**
+     * 合格率
+     */
+    private Double qualifiedRadio;
 }