From aca591255f0376f82d4d760b4028d1c801b26c5b Mon Sep 17 00:00:00 2001 From: zouyx <1798599149@qq.com> Date: Wed, 19 Mar 2025 11:03:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=91=E7=9D=A3=E7=AB=AF-=E7=BB=BC=E5=90=88?= =?UTF-8?q?=E5=88=86=E6=9E=901=E9=83=A8=E5=88=86=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/domain/ComprehensiveAnalysis.java | 117 +++++ .../mapper/ComprehensiveAnalysisMapper.java | 88 ++++ .../service/ComprehensiveAnalysisService.java | 44 ++ .../ComprehensiveAnalysisServiceImpl.java | 267 +++++++++- .../mapper/ComprehensiveAnalysisMapper.xml | 476 +++++++++++++++++- 5 files changed, 980 insertions(+), 12 deletions(-) diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/ComprehensiveAnalysis.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/ComprehensiveAnalysis.java index dcfa38fc..32a165e0 100644 --- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/ComprehensiveAnalysis.java +++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/ComprehensiveAnalysis.java @@ -8,6 +8,8 @@ public class ComprehensiveAnalysis { * 企业社会统一信用代码 */ private String enterpriseNumber; + private String enterpriseName; + private String enterpriseAddress; /** * 检查类型 */ @@ -23,6 +25,9 @@ public class ComprehensiveAnalysis { */ private String complaintType; private Integer complaintTypeNumber; + /** + * 投诉数量 + */ private Integer complaintTotal; /** * 评论数量 @@ -59,6 +64,7 @@ public class ComprehensiveAnalysis { private Long userId; private String bureauDeptId; + private String bureauDeptName; /** * user or bureauDept */ @@ -73,6 +79,29 @@ public class ComprehensiveAnalysis { private Integer day; private String beginTime; private String endTime; + private String qy; + private String jd; + private Integer limit; + /** + * 涉企检查数量 + */ + private Integer registrationTotal; + /** + * 联合检查数量 + */ + private Integer uniteTotal; + /** + * 执法检查预告数量 + */ + private Integer noticeTotal; + /** + * 执法预警数量 + */ + private Integer warningTotal; + /** + * 企业数量 + */ + private Integer enterpriseTotal; public String getCheckCategory() { return checkCategory; @@ -347,4 +376,92 @@ public class ComprehensiveAnalysis { public void setEnterpriseNumber(String enterpriseNumber) { this.enterpriseNumber = enterpriseNumber; } + + public Integer getLimit() { + return limit; + } + + public void setLimit(Integer limit) { + this.limit = limit; + } + + public String getEnterpriseName() { + return enterpriseName; + } + + public void setEnterpriseName(String enterpriseName) { + this.enterpriseName = enterpriseName; + } + + public String getEnterpriseAddress() { + return enterpriseAddress; + } + + public void setEnterpriseAddress(String enterpriseAddress) { + this.enterpriseAddress = enterpriseAddress; + } + + public String getQy() { + return qy; + } + + public void setQy(String qy) { + this.qy = qy; + } + + public String getJd() { + return jd; + } + + public void setJd(String jd) { + this.jd = jd; + } + + public Integer getRegistrationTotal() { + return registrationTotal; + } + + public void setRegistrationTotal(Integer registrationTotal) { + this.registrationTotal = registrationTotal; + } + + public Integer getUniteTotal() { + return uniteTotal; + } + + public void setUniteTotal(Integer uniteTotal) { + this.uniteTotal = uniteTotal; + } + + public Integer getNoticeTotal() { + return noticeTotal; + } + + public void setNoticeTotal(Integer noticeTotal) { + this.noticeTotal = noticeTotal; + } + + public Integer getWarningTotal() { + return warningTotal; + } + + public void setWarningTotal(Integer warningTotal) { + this.warningTotal = warningTotal; + } + + public Integer getEnterpriseTotal() { + return enterpriseTotal; + } + + public void setEnterpriseTotal(Integer enterpriseTotal) { + this.enterpriseTotal = enterpriseTotal; + } + + public String getBureauDeptName() { + return bureauDeptName; + } + + public void setBureauDeptName(String bureauDeptName) { + this.bureauDeptName = bureauDeptName; + } } diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/mapper/ComprehensiveAnalysisMapper.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/mapper/ComprehensiveAnalysisMapper.java index b54cca0c..1920a4d0 100644 --- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/mapper/ComprehensiveAnalysisMapper.java +++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/mapper/ComprehensiveAnalysisMapper.java @@ -9,6 +9,7 @@ public interface ComprehensiveAnalysisMapper { * 获取执法记录,关联企业信息(本时段) * @param comprehensiveAnalysis * @return + * 注:企业名称使用的执法表内非企业表 */ List primarySectionA(ComprehensiveAnalysis comprehensiveAnalysis); @@ -47,4 +48,91 @@ public interface ComprehensiveAnalysisMapper { * @return */ List complaintTypeList(ComprehensiveAnalysis comprehensiveAnalysis); + /** + * 获取执法预告,关联企业信息(本时段) + * @param comprehensiveAnalysis + * @return + */ + List primaryNotice(ComprehensiveAnalysis comprehensiveAnalysis); + + /** + * 获取执法预告,关联企业信息(环比时段) + * @param comprehensiveAnalysis + * @return + */ + List huanNotice(ComprehensiveAnalysis comprehensiveAnalysis); + + + /** + * 获取执法预告,关联企业信息(同比时段) + * @param comprehensiveAnalysis + * @return + */ + List tongNotice(ComprehensiveAnalysis comprehensiveAnalysis); + /** + * 获取执法投诉统计表,关联企业信息(本时段) + * @param comprehensiveAnalysis + * @return + * 字段:企业信息、投诉类型 + */ + List primaryComplaint(ComprehensiveAnalysis comprehensiveAnalysis); + + /** + * 获取执法投诉统计表,关联企业信息(环比时段) + * @param comprehensiveAnalysis + * @return + */ + List huanComplaint(ComprehensiveAnalysis comprehensiveAnalysis); + + + /** + * 获取执法投诉统计表,关联企业信息(同比时段) + * @param comprehensiveAnalysis + * @return + */ + List tongComplaint(ComprehensiveAnalysis comprehensiveAnalysis); + /** + * 获取执法预警本企业,关联企业信息(本时段) + * @param comprehensiveAnalysis + * @return + */ + List primaryWarning(ComprehensiveAnalysis comprehensiveAnalysis); + + /** + * 获取执法预警本企业,关联企业信息(环比时段) + * @param comprehensiveAnalysis + * @return + */ + List huanWarning(ComprehensiveAnalysis comprehensiveAnalysis); + + + /** + * 获取执法预警本企业,关联企业信息(同比时段) + * @param comprehensiveAnalysis + * @return + */ + List tongWarning(ComprehensiveAnalysis comprehensiveAnalysis); + /** + * 获取企业信息(本时段) + * @param comprehensiveAnalysis + * @return + */ + List primaryEnterprise(ComprehensiveAnalysis comprehensiveAnalysis); + + /** + * 获取企业信息(环比时段) + * @param comprehensiveAnalysis + * @return + */ + List huanEnterprise(ComprehensiveAnalysis comprehensiveAnalysis); + + + /** + * 获取企业信息(同比时段) + * @param comprehensiveAnalysis + * @return + */ + List tongEnterprise(ComprehensiveAnalysis comprehensiveAnalysis); + + List complaintGetBureauDept(ComprehensiveAnalysis comprehensiveAnalysis); } diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/ComprehensiveAnalysisService.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/ComprehensiveAnalysisService.java index 74047918..b8b12202 100644 --- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/ComprehensiveAnalysisService.java +++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/ComprehensiveAnalysisService.java @@ -2,8 +2,52 @@ package com.zdxt.code.service; import com.zdxt.code.domain.ComprehensiveAnalysis; +import java.util.List; + public interface ComprehensiveAnalysisService { ComprehensiveAnalysis whole(ComprehensiveAnalysis comprehensiveAnalysis); String getBureauDeptId(ComprehensiveAnalysis comprehensiveAnalysis); + + /** + * web:获取六项指标同环比 + */ + List sixIndicators(ComprehensiveAnalysis comprehensiveAnalysis); + + /** + * web:获取各区域六项指标(本时段) + */ + List sixIndicatorsGroupByQY(ComprehensiveAnalysis comprehensiveAnalysis); + + /** + * web:获取各街道六项指标(本时段) + */ + List sixIndicatorsGroupByJD(ComprehensiveAnalysis comprehensiveAnalysis); + + /** + * web:检查类型图 + */ + List checkCategoryList(ComprehensiveAnalysis comprehensiveAnalysis); + + /** + * web:企业类型图 + */ + List companyOrgTypeList(ComprehensiveAnalysis comprehensiveAnalysis); + + /** + * web:投诉类型图 + */ + List complaintTypeList(ComprehensiveAnalysis comprehensiveAnalysis); + /** + * web:被检查企业次数排名 + */ + List registrationNumberRankingByEnterprise(ComprehensiveAnalysis comprehensiveAnalysis); + /** + * web:被投诉主体排名 + */ + List complaintNumberRankingByBureauDept(ComprehensiveAnalysis comprehensiveAnalysis); + /** + * web:主体检查次数排名 + */ + List registrationNumberRankingByBureauDept(ComprehensiveAnalysis comprehensiveAnalysis); } diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ComprehensiveAnalysisServiceImpl.java b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ComprehensiveAnalysisServiceImpl.java index 462a1787..8f81802e 100644 --- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ComprehensiveAnalysisServiceImpl.java +++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ComprehensiveAnalysisServiceImpl.java @@ -83,6 +83,267 @@ public class ComprehensiveAnalysisServiceImpl implements ComprehensiveAnalysisSe } } + /** + * + * @param comprehensiveAnalysis(区域需做前置处理转成字符串) + * @return + */ + @Override + public List sixIndicators(ComprehensiveAnalysis comprehensiveAnalysis) { + List comprehensiveAnalysisList=new ArrayList<>(); + //涉企检查数量 + ComprehensiveAnalysis registrationCA=new ComprehensiveAnalysis(); + //涉企检查数量本时段 + List registrationNowList=comprehensiveAnalysisMapper.primarySectionA(comprehensiveAnalysis); + //涉企检查数量环比时段 + List registrationHuanList=comprehensiveAnalysisMapper.huanSectionA(comprehensiveAnalysis); + //涉企检查数量同比时段 + List registrationTongList=comprehensiveAnalysisMapper.tongSectionA(comprehensiveAnalysis); + registrationCA.setName("registration"); + registrationCA.setTotal(registrationNowList.size()); + registrationCA.setHuanPercentage((double)(registrationHuanList.size()- registrationNowList.size())/registrationHuanList.size()); + registrationCA.setTongPercentage((double)(registrationTongList.size()- registrationNowList.size())/registrationTongList.size()); + comprehensiveAnalysisList.add(registrationCA); + //联合检查数量 + ComprehensiveAnalysis unitCA=new ComprehensiveAnalysis(); + unitCA.setName("unitCheck"); + comprehensiveAnalysisList.add(unitCA); + //行政检查预告 + ComprehensiveAnalysis noticeCA=new ComprehensiveAnalysis(); + //行政检查预告本时段 + List noticeNowList=comprehensiveAnalysisMapper.primaryNotice(comprehensiveAnalysis); + //行政检查预告环比时段 + List noticeHuanList=comprehensiveAnalysisMapper.huanNotice(comprehensiveAnalysis); + //行政检查预告同比时段 + List noticeTongList=comprehensiveAnalysisMapper.tongNotice(comprehensiveAnalysis); + noticeCA.setName("notice"); + noticeCA.setTotal(noticeNowList.size()); + noticeCA.setHuanPercentage((double)(noticeHuanList.size()- noticeNowList.size())/ noticeHuanList.size()); + noticeCA.setTongPercentage((double)(noticeTongList.size()- noticeNowList.size())/ noticeTongList.size()); + comprehensiveAnalysisList.add(noticeCA); + //涉企投诉数量 + ComprehensiveAnalysis complaintCA=new ComprehensiveAnalysis(); + //涉企投诉数量本时段 + List complaintNowList=comprehensiveAnalysisMapper.primaryComplaint(comprehensiveAnalysis); + //涉企投诉数量环比时段 + List complaintHuanList=comprehensiveAnalysisMapper.huanComplaint(comprehensiveAnalysis); + //涉企投诉数量同比时段 + List complaintTongList=comprehensiveAnalysisMapper.tongComplaint(comprehensiveAnalysis); + complaintCA.setName("complaint"); + complaintCA.setTotal(complaintNowList.size()); + complaintCA.setHuanPercentage((double)(complaintHuanList.size()-complaintNowList.size())/complaintHuanList.size()); + complaintCA.setTongPercentage((double)(complaintTongList.size()-complaintNowList.size())/complaintTongList.size()); + comprehensiveAnalysisList.add(complaintCA); + //执法预警 + ComprehensiveAnalysis warningCA=new ComprehensiveAnalysis(); + //执法预警本时段 + List warningNowList=comprehensiveAnalysisMapper.primaryWarning(comprehensiveAnalysis); + //执法预警环比时段 + List warningHuanList=comprehensiveAnalysisMapper.huanWarning(comprehensiveAnalysis); + //执法预警同比时段 + List warningTongList=comprehensiveAnalysisMapper.tongWarning(comprehensiveAnalysis); + warningCA.setName("warning"); + warningCA.setTotal(warningNowList.size()); + warningCA.setHuanPercentage((double)(warningHuanList.size()- warningNowList.size())/warningHuanList.size()); + warningCA.setTongPercentage((double)(warningTongList.size()-warningNowList.size())/ warningTongList.size()); + comprehensiveAnalysisList.add(warningCA); + //企业数量 + ComprehensiveAnalysis enterpriseCA=new ComprehensiveAnalysis(); + //企业数量本时段 + List enterpriseNowList=comprehensiveAnalysisMapper.primaryEnterprise(comprehensiveAnalysis); + //企业数量环比时段 + List enterpriseHuanList=comprehensiveAnalysisMapper.huanEnterprise(comprehensiveAnalysis); + //企业数量同比时段 + List enterpriseTongList=comprehensiveAnalysisMapper.tongEnterprise(comprehensiveAnalysis); + enterpriseCA.setName("complaint"); + enterpriseCA.setTotal(enterpriseNowList.size()); + enterpriseCA.setHuanPercentage((double)(enterpriseHuanList.size()-enterpriseNowList.size())/enterpriseHuanList.size()); + enterpriseCA.setTongPercentage((double)(enterpriseTongList.size()-enterpriseNowList.size())/enterpriseTongList.size()); + comprehensiveAnalysisList.add(enterpriseCA); + return comprehensiveAnalysisList; + } + + @Override + public List sixIndicatorsGroupByQY(ComprehensiveAnalysis comprehensiveAnalysis) { + //区域数组,一个区域为一个对象 + List comprehensiveAnalysisList=new ArrayList<>(); + //涉企检查数量本时段 + List registrationList=comprehensiveAnalysisMapper.primarySectionA(comprehensiveAnalysis).stream().filter(item->!Objects.isNull(item)&&item.getEnterpriseAddress()!=null&&!item.getEnterpriseAddress().isEmpty()).collect(Collectors.toList()); + //联合检查数量 + //行政检查预告本时段 + List noticeList=comprehensiveAnalysisMapper.primaryNotice(comprehensiveAnalysis).stream().filter(item->!Objects.isNull(item)&&item.getEnterpriseAddress()!=null&&!item.getEnterpriseAddress().isEmpty()).collect(Collectors.toList()); + //涉企投诉数量本时段 + List complaintList=comprehensiveAnalysisMapper.primaryComplaint(comprehensiveAnalysis).stream().filter(item->!Objects.isNull(item)&&item.getEnterpriseAddress()!=null&&!item.getEnterpriseAddress().isEmpty()).collect(Collectors.toList()); + //执法预警本时段 + List warningList=comprehensiveAnalysisMapper.primaryWarning(comprehensiveAnalysis).stream().filter(item->!Objects.isNull(item)&&item.getEnterpriseAddress()!=null&&!item.getEnterpriseAddress().isEmpty()).collect(Collectors.toList()); + //企业数量本时段 + List enterpriseList=comprehensiveAnalysisMapper.primaryEnterprise(comprehensiveAnalysis).stream().filter(item->!Objects.isNull(item)&&item.getEnterpriseAddress()!=null&&!item.getEnterpriseAddress().isEmpty()).collect(Collectors.toList()); + List qyStrList=new ArrayList<>(); + if(comprehensiveAnalysis.getQy()==null|| comprehensiveAnalysis.getQy().isEmpty()){ + qyStrList=dictDataMapper.selectDictDataByType("address_type").stream().map(DictData::getDictLabel).collect(Collectors.toList()); + }else{ + qyStrList.add(comprehensiveAnalysis.getQy()); + } + for(String string:qyStrList){ + ComprehensiveAnalysis qyCA=new ComprehensiveAnalysis(); + qyCA.setName(string); + qyCA.setRegistrationTotal(registrationList.stream().filter(item -> item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区") || item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区")).collect(Collectors.toList()).size()); + qyCA.setNoticeTotal(noticeList.stream().filter(item -> item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区") || item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区")).collect(Collectors.toList()).size()); + qyCA.setComplaintTotal(complaintList.stream().filter(item -> item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区") || item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区")).collect(Collectors.toList()).size()); + qyCA.setWarningTotal(warningList.stream().filter(item -> item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区") || item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区")).collect(Collectors.toList()).size()); + qyCA.setEnterpriseTotal(enterpriseList.stream().filter(item -> item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区") || item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区")).collect(Collectors.toList()).size()); + comprehensiveAnalysisList.add(qyCA); +/* + registrationList=registrationList.stream().filter(item -> !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区") && !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区")).collect(Collectors.toList()); + noticeList=noticeList.stream().filter(item -> !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区") && !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区")).collect(Collectors.toList()); + complaintList=complaintList.stream().filter(item -> !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区") && !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区")).collect(Collectors.toList()); + warningList=warningList.stream().filter(item -> !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区") && !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区")).collect(Collectors.toList()); + enterpriseList=enterpriseList.stream().filter(item -> !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区") && !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区")).collect(Collectors.toList()); +*/ + } + return comprehensiveAnalysisList; + } + + @Override + public List sixIndicatorsGroupByJD(ComprehensiveAnalysis comprehensiveAnalysis) { + //区域数组,一个区域为一个对象 + List comprehensiveAnalysisList=new ArrayList<>(); + //涉企检查数量本时段 + List registrationList=comprehensiveAnalysisMapper.primarySectionA(comprehensiveAnalysis).stream().filter(item->!Objects.isNull(item)&&item.getEnterpriseAddress()!=null&&!item.getEnterpriseAddress().isEmpty()).collect(Collectors.toList()); + //联合检查数量 + //行政检查预告本时段 + List noticeList=comprehensiveAnalysisMapper.primaryNotice(comprehensiveAnalysis).stream().filter(item->!Objects.isNull(item)&&item.getEnterpriseAddress()!=null&&!item.getEnterpriseAddress().isEmpty()).collect(Collectors.toList()); + //涉企投诉数量本时段 + List complaintList=comprehensiveAnalysisMapper.primaryComplaint(comprehensiveAnalysis).stream().filter(item->!Objects.isNull(item)&&item.getEnterpriseAddress()!=null&&!item.getEnterpriseAddress().isEmpty()).collect(Collectors.toList()); + //执法预警本时段 + List warningList=comprehensiveAnalysisMapper.primaryWarning(comprehensiveAnalysis).stream().filter(item->!Objects.isNull(item)&&item.getEnterpriseAddress()!=null&&!item.getEnterpriseAddress().isEmpty()).collect(Collectors.toList()); + //企业数量本时段 + List enterpriseList=comprehensiveAnalysisMapper.primaryEnterprise(comprehensiveAnalysis).stream().filter(item->!Objects.isNull(item)&&item.getEnterpriseAddress()!=null&&!item.getEnterpriseAddress().isEmpty()).collect(Collectors.toList()); + List addressStrList=new ArrayList<>(); + if(comprehensiveAnalysis.getQy()==null|| comprehensiveAnalysis.getQy().isEmpty()){ + List qyList=dictDataMapper.selectDictDataByType("address_type"); + for(DictData qy:qyList){ + ListjdList=dictDataMapper.selectDictDataByType(qy.getDictValue()); + for(DictData jd:jdList){ + addressStrList.add(qy.getDictLabel()+jd.getDictLabel()); + } + } + }else{ + if(comprehensiveAnalysis.getJd()==null|| comprehensiveAnalysis.getJd().isEmpty()){ + DictData dictData=new DictData(); + dictData.setDictType("address_type"); + dictData.setDictLabel(comprehensiveAnalysis.getQy()); + DictData qy=dictDataMapper.selectDictData(dictData); + List jdList=dictDataMapper.selectDictDataByType(qy.getDictValue()); + for(DictData jd:jdList){ + addressStrList.add(comprehensiveAnalysis.getQy()+jd.getDictLabel()); + } + }else{ + addressStrList.add(comprehensiveAnalysis.getQy()+comprehensiveAnalysis.getJd()); + } + } + for(String string:addressStrList){ +/* + System.out.println(string); + System.out.println("深圳市" + string.substring(0, string.indexOf("区")) + "区"+ string.substring(string.indexOf("区")+1)); + System.out.println("深圳市" + string.substring(0, string.indexOf("区")) + "新区"+ string.substring(string.indexOf("区")+1)); +*/ + ComprehensiveAnalysis qyCA=new ComprehensiveAnalysis(); + qyCA.setName(string); + qyCA.setRegistrationTotal(registrationList.stream().filter(item -> item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区"+ string.substring(string.indexOf("区")+1)) || item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区"+ string.substring(string.indexOf("区")+1))).collect(Collectors.toList()).size()); + qyCA.setNoticeTotal(noticeList.stream().filter(item -> item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区"+ string.substring(string.indexOf("区")+1)) || item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区"+ string.substring(string.indexOf("区")+1))).collect(Collectors.toList()).size()); + qyCA.setComplaintTotal(complaintList.stream().filter(item -> item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区"+ string.substring(string.indexOf("区")+1)) || item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区"+ string.substring(string.indexOf("区")+1))).collect(Collectors.toList()).size()); + qyCA.setWarningTotal(warningList.stream().filter(item -> item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区"+ string.substring(string.indexOf("区")+1)) || item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区"+ string.substring(string.indexOf("区")+1))).collect(Collectors.toList()).size()); + qyCA.setEnterpriseTotal(enterpriseList.stream().filter(item -> item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区"+ string.substring(string.indexOf("区")+1)) || item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区"+ string.substring(string.indexOf("区")+1))).collect(Collectors.toList()).size()); + comprehensiveAnalysisList.add(qyCA); +/* + registrationList=registrationList.stream().filter(item -> !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区"+ string.substring(string.indexOf("区")+1) && !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区"+ string.substring(string.indexOf("区")+1))).collect(Collectors.toList()); + noticeList=noticeList.stream().filter(item -> !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区"+ string.substring(string.indexOf("区")+1) && !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区"+ string.substring(string.indexOf("区")+1))).collect(Collectors.toList()); + complaintList=complaintList.stream().filter(item -> !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区"+ string.substring(string.indexOf("区")+1) && !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区"+ string.substring(string.indexOf("区")+1))).collect(Collectors.toList()); + warningList=warningList.stream().filter(item -> !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区"+ string.substring(string.indexOf("区")+1) && !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区"+ string.substring(string.indexOf("区")+1))).collect(Collectors.toList()); + enterpriseList=enterpriseList.stream().filter(item -> !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "区"+ string.substring(string.indexOf("区")+1) && !item.getEnterpriseAddress().startsWith("深圳市" + string.substring(0, string.indexOf("区")) + "新区"+ string.substring(string.indexOf("区")+1))).collect(Collectors.toList()); +*/ + } + return comprehensiveAnalysisList; + } + + @Override + public List checkCategoryList(ComprehensiveAnalysis comprehensiveAnalysis) { + List comprehensiveAnalysisList=comprehensiveAnalysisMapper.primarySectionA(comprehensiveAnalysis); + comprehensiveAnalysisList=getCheckCategoryList(comprehensiveAnalysisList); + return comprehensiveAnalysisList; + } + + @Override + public List companyOrgTypeList(ComprehensiveAnalysis comprehensiveAnalysis) { + List comprehensiveAnalysisList=comprehensiveAnalysisMapper.primaryEnterprise(comprehensiveAnalysis); + comprehensiveAnalysisList=getCompanyOrgTypeList(comprehensiveAnalysisList); + return comprehensiveAnalysisList; + } + + @Override + public List complaintTypeList(ComprehensiveAnalysis comprehensiveAnalysis) { + List comprehensiveAnalysisList=comprehensiveAnalysisMapper.primaryComplaint(comprehensiveAnalysis); + comprehensiveAnalysisList=getCompanyOrgTypeList(comprehensiveAnalysisList); + return comprehensiveAnalysisList; + } + + /** + * 被检查企业受检次数排名 + * @param comprehensiveAnalysis + * @return + */ + @Override + public List registrationNumberRankingByEnterprise(ComprehensiveAnalysis comprehensiveAnalysis) { + List comprehensiveAnalysisList=comprehensiveAnalysisMapper.primarySectionA(comprehensiveAnalysis); + Map> enterpriseMap=comprehensiveAnalysisList.stream().collect(Collectors.groupingBy(ComprehensiveAnalysis::getEnterpriseNumber)); + Map registrationNumberMap=comprehensiveAnalysisList.stream().collect(Collectors.groupingBy(ComprehensiveAnalysis::getEnterpriseNumber,Collectors.counting())); + Map sortMap=registrationNumberMap.entrySet().stream().sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, + (oldValue, newValue) -> oldValue, LinkedHashMap::new)); + List list=new ArrayList<>(); + for(String string:sortMap.keySet()){ + ComprehensiveAnalysis ca=new ComprehensiveAnalysis(); + ca.setName(enterpriseMap.get(string).get(0).getEnterpriseName()); + ca.setTotal(Integer.parseInt(sortMap.get(string)+"")); + list.add(ca); + } + return list; + } + + /** + * 被投诉部门排名 + * @param comprehensiveAnalysis + * @return + */ + @Override + public List complaintNumberRankingByBureauDept(ComprehensiveAnalysis comprehensiveAnalysis) { + return comprehensiveAnalysisMapper.complaintGetBureauDept(comprehensiveAnalysis); + } + + /** + * 主体检查数量排名 + * @param comprehensiveAnalysis + * @return + */ + @Override + public List registrationNumberRankingByBureauDept(ComprehensiveAnalysis comprehensiveAnalysis) { + List comprehensiveAnalysisList=comprehensiveAnalysisMapper.primarySectionA(comprehensiveAnalysis); + Map> bureauDeptMap=comprehensiveAnalysisList.stream().collect(Collectors.groupingBy(ComprehensiveAnalysis::getBureauDeptId)); + Map registrationNumberMap=comprehensiveAnalysisList.stream().collect(Collectors.groupingBy(ComprehensiveAnalysis::getBureauDeptId,Collectors.counting())); + Map sortMap=registrationNumberMap.entrySet().stream().sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, + (oldValue, newValue) -> oldValue, LinkedHashMap::new)); + List list=new ArrayList<>(); + for(String string:sortMap.keySet()){ + ComprehensiveAnalysis ca=new ComprehensiveAnalysis(); + ca.setName(bureauDeptMap.get(string).get(0).getBureauDeptName()); + ca.setTotal(Integer.parseInt(sortMap.get(string)+"")); + list.add(ca); + } + return list; + } + public List getCheckCategoryList(List registrationList) { int num = registrationList.size(); List checkCategoryList = new ArrayList<>(); @@ -112,9 +373,9 @@ public class ComprehensiveAnalysisServiceImpl implements ComprehensiveAnalysisSe List companyOrgTypeList = new ArrayList<>(); //企业类型字典 List dictDataList = dictDataMapper.selectDictDataByType("enterpriseType"); - //筛出社会统一信用代码为空 - List companyOrgTypeIsNullList = registrationList.stream().filter(item -> item.getCompanyOrgType() == null || item.getCompanyOrgType().equals("")).collect(Collectors.toList()); - registrationList = registrationList.stream().filter(item -> item.getCompanyOrgType() != null && !item.getCompanyOrgType().equals("")).collect(Collectors.toList()); + //筛出企业类型为空 + List companyOrgTypeIsNullList = registrationList.stream().filter(item -> Objects.isNull(item)||item.getCompanyOrgType() == null || item.getCompanyOrgType().isEmpty()).collect(Collectors.toList()); + registrationList = registrationList.stream().filter(item -> !Objects.isNull(item)&&item.getCompanyOrgType() != null && !item.getCompanyOrgType().equals("")).collect(Collectors.toList()); //企业去重 Map> enterpriseMap = registrationList.stream().collect(Collectors.groupingBy(item -> item.getEnterpriseNumber())); List enterpriseList = new ArrayList<>(); diff --git a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/ComprehensiveAnalysisMapper.xml b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/ComprehensiveAnalysisMapper.xml index df128249..a9a84111 100644 --- a/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/ComprehensiveAnalysisMapper.xml +++ b/lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/ComprehensiveAnalysisMapper.xml @@ -6,20 +6,34 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file