ソースを参照

'优化消防执法动态-数据查询接口,修改数据结构,以街镇划分为横轴,类型叠加'

james 1 年間 前
コミット
2400a17f94

+ 4 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/DemEnforceReportComplaint.java

@@ -347,4 +347,8 @@ public class DemEnforceReportComplaint implements Serializable {
     @TableField(exist = false)
     private Integer followUpStatus;
 
+    /**
+     * 街镇
+     */
+    private String streetTown;
 }

+ 2 - 5
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/BscLawTrendService.java

@@ -3,10 +3,7 @@ package com.usky.fire.service;
 import com.usky.common.mybatis.core.CrudService;
 import com.usky.fire.domain.BscLawTrend;
 import com.usky.fire.domain.DemEnforceReportComplaint;
-import com.usky.fire.service.vo.AlFsdAllVO;
-import com.usky.fire.service.vo.ReportComplaintVO;
-import com.usky.fire.service.vo.ReportStatisticsVO;
-import com.usky.fire.service.vo.SiAeAllVO;
+import com.usky.fire.service.vo.*;
 
 import java.util.List;
 import java.util.Map;
@@ -63,7 +60,7 @@ public interface BscLawTrendService extends CrudService<BscLawTrend> {
      *
      * @return
      */
-    List<ReportComplaintVO> reportComplaint();
+    List<StreetTownComplaintVO> reportComplaint();
 
     /**
      * 根据火患场所名称查询总数

+ 90 - 14
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BscLawTrendServiceImpl.java

@@ -17,10 +17,8 @@ import com.usky.fire.mapper.BscLawTrendMapper;
 import com.usky.fire.service.*;
 import com.usky.fire.service.enums.BsSaOneCode;
 import com.usky.fire.service.enums.BsSaTwoCode;
-import com.usky.fire.service.vo.AlFsdAllVO;
-import com.usky.fire.service.vo.ReportComplaintVO;
-import com.usky.fire.service.vo.ReportStatisticsVO;
-import com.usky.fire.service.vo.SiAeAllVO;
+import com.usky.fire.service.util.OnlineMethod;
+import com.usky.fire.service.vo.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -260,7 +258,7 @@ public class BscLawTrendServiceImpl extends AbstractCrudService<BscLawTrendMappe
     public void lawEnforcement() {
         List<SiAeAllVO> siAeAllVOS = this.monthLaw();
         AlFsdAllVO alFsdAllVO = this.adstraLicense();
-        List<ReportComplaintVO> reportComplaintVOS = this.reportComplaint();
+        List<StreetTownComplaintVO> reportComplaintVOS = this.reportComplaint();
         ReportStatisticsVO reportStatisticsVO = this.enforceReportComplaintOne();
         BscLawTrend bscLawTrend = new BscLawTrend();
         bscLawTrend.setMonthLaw(JSON.toJSONString(siAeAllVOS));
@@ -361,16 +359,94 @@ public class BscLawTrendServiceImpl extends AbstractCrudService<BscLawTrendMappe
     }
 
     @Override
-    public List<ReportComplaintVO> reportComplaint() {
-        List<ReportComplaintVO> list = new ArrayList<>();
-        List<String> strings = this.enforceReportList();
-        strings.stream().filter(StringUtils::isNotBlank)
-                .forEach(type -> {
+    public List<StreetTownComplaintVO> reportComplaint() {
+        LambdaQueryWrapper<DemEnforceReportComplaint> wrapper = Wrappers.lambdaQuery();
+        wrapper.eq(DemEnforceReportComplaint::getEnable, 0);
+        List<DemEnforceReportComplaint> lt = demEnforceReportComplaintService.list(wrapper);
+        if(CollectionUtils.isNotEmpty(lt)){
+            for (int i = 0; i < lt.size(); i++) {
+                if(StringUtils.isBlank(lt.get(i).getStreetTown())){
+                    String longitude = lt.get(i).getLongitude();
+                    String latitude = lt.get(i).getLatitude();
+                    String location = longitude + "," + latitude;
+                    String streetTown2 = OnlineMethod.getStreetTown(location);
+
+                    lt.get(i).setStreetTown(streetTown2);
+                    demEnforceReportComplaintService.updateById(lt.get(i));
+                }
+            }
+        }
+
+        List<StreetTownComplaintVO> list = new ArrayList<>();
+        List<String> streetTownList = new ArrayList<>();
+        streetTownList.add("华漕镇");
+        streetTownList.add("新虹街道");
+        streetTownList.add("七宝镇");
+        streetTownList.add("虹桥镇");
+        streetTownList.add("古美路街道");
+        streetTownList.add("莘庄镇");
+        streetTownList.add("梅陇镇");
+        streetTownList.add("颛桥镇");
+        streetTownList.add("马桥镇");
+        streetTownList.add("江川路街道");
+        streetTownList.add("吴泾镇");
+        streetTownList.add("浦锦街道");
+        streetTownList.add("浦江镇");
+//        List<String> strings = this.enforceReportList();
+        List<String> siteNameList = new ArrayList<>();
+        siteNameList.add("居民");
+        siteNameList.add("餐饮");
+        siteNameList.add("商场");
+
+        streetTownList.stream().forEach(town -> {
+            StreetTownComplaintVO streetTownComplaintVO = new StreetTownComplaintVO();
+            streetTownComplaintVO.setStreetTown(town);
+
+            LambdaQueryWrapper<DemEnforceReportComplaint> queryWrapper1 = Wrappers.lambdaQuery();
+            queryWrapper1.select(DemEnforceReportComplaint::getReportId).eq(DemEnforceReportComplaint::getEnable, 0)
+                    .eq(DemEnforceReportComplaint::getStreetTown,town);
+            List<DemEnforceReportComplaint> list1 = demEnforceReportComplaintService.list(queryWrapper1);
+            if (CollectionUtils.isNotEmpty(list1)) {
+                List<String> reportIdList = new ArrayList<>();
+                for (int i = 0; i < list1.size(); i++) {
+                    reportIdList.add(list1.get(i).getReportId());
+                }
+                List<ReportComplaintVO> reportComplaintVOList = new ArrayList<>();
+                LambdaQueryWrapper<DemEnforceReportAttach> queryWrapper = Wrappers.lambdaQuery();
+                queryWrapper.in(DemEnforceReportAttach::getReportId, reportIdList)
+                        .ne(DemEnforceReportAttach::getHazardSiteName, "");
+                List<DemEnforceReportAttach> list2 = demEnforceReportAttachService.list(queryWrapper);
+                int siteComplaintCount = demEnforceReportAttachService.count(queryWrapper);
+                if (CollectionUtils.isNotEmpty(list2)) {
+                    int count1 = 0;
+                    for (int j = 0; j < siteNameList.size(); j++) {
+                        ReportComplaintVO reportComplaintVo = new ReportComplaintVO();
+                        reportComplaintVo.setType(siteNameList.get(j));
+                        int count = 0;
+                        for (int i = 0; i < list2.size(); i++) {
+                            if(list2.get(i).getHazardSiteName().contains(siteNameList.get(j))){
+                                count++;
+                                count1++;
+                            }
+                        }
+                        reportComplaintVo.setNumber(count);
+
+                        reportComplaintVOList.add(reportComplaintVo);
+
+                    }
                     ReportComplaintVO reportComplaintVo = new ReportComplaintVO();
-                    reportComplaintVo.setType(type);
-                    reportComplaintVo.setNumber(this.enforceReportCount(type));
-                    list.add(reportComplaintVo);
-                });
+                    reportComplaintVo.setType("其他");
+                    int otherCount = siteComplaintCount - count1;
+                    reportComplaintVo.setNumber(otherCount);
+                    reportComplaintVOList.add(reportComplaintVo);
+
+                    streetTownComplaintVO.setComplaintVOList(reportComplaintVOList);
+                }
+
+
+            }
+            list.add(streetTownComplaintVO);
+        });
         return list;
     }
 

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

@@ -65,6 +65,7 @@ public class DemFireHazardsNoticeServiceImpl extends AbstractCrudService<DemFire
     public List<Map<String, Object>> hazardsNoticeStatistic() {
         List<Map<String, Object>> list = new ArrayList<>();
         LambdaQueryWrapper<DemFireHazardsNotice> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(DemFireHazardsNotice::getDeleteFlag,0);
         int noticeNum = this.count(queryWrapper);
         LambdaQueryWrapper<DemFireHazardsCancellation> queryWrapper1 = Wrappers.lambdaQuery();
         int cancellationNum = demFireHazardsCancellationService.count(queryWrapper1);

+ 20 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/StreetTownComplaintVO.java

@@ -0,0 +1,20 @@
+package com.usky.fire.service.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class StreetTownComplaintVO {
+
+    /**
+     * 街镇
+     */
+    private String streetTown;
+
+
+    /**
+     * 投诉统计
+     */
+    private List<ReportComplaintVO> complaintVOList;
+}

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

@@ -65,6 +65,7 @@
         <result column="type_id5" property="typeId5" />
         <result column="longitude" property="longitude" />
         <result column="latitude" property="latitude" />
+        <result column="street_town" property="streetTown" />
     </resultMap>
 
 </mapper>