Commit 464b85a4 authored by 麻笑宇's avatar 麻笑宇

监管大屏代码提交

parent eaeed283
...@@ -133,6 +133,6 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> { ...@@ -133,6 +133,6 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> {
*/ */
List<Long> countAllInFlowingForDPNoFinishedBizData(@Param("orgCode")String orgCode, @Param("dto") DPFilterParamDto dpFilterParamDto); List<Long> countAllInFlowingForDPNoFinishedBizData(@Param("orgCode")String orgCode, @Param("dto") DPFilterParamDto dpFilterParamDto);
List<Map<String, String>> getOrgCodeByCompanyCodes(@Param("regionCodes") List<Integer> regionCodes); List<Map<String, String>> getOrgCodesByCompanyCodes(@Param("regionCodes") List<Integer> regionCodes);
} }
...@@ -8,8 +8,8 @@ import java.util.Map; ...@@ -8,8 +8,8 @@ import java.util.Map;
public interface DPStatisticsMapper { public interface DPStatisticsMapper {
List<Map<String, Object>> maintenanceCountTopTen(@Param("dpFilterParamDto") DPFilterParamDto dpFilterParamDto); List<Map<String, Object>> maintenanceCountTopTen(@Param("dpFilterParamDto") DPFilterParamDto dpFilterParamDto, @Param("regionCodeList") List<Integer> regionCodeList);
List<Map<String, Object>> maintenanceCount(@Param("dpFilterParamDto") DPFilterParamDto dpFilterParamDto); List<Map<String, Object>> maintenanceCount(@Param("dpFilterParamDto") DPFilterParamDto dpFilterParamDto, @Param("regionCodeList") List<Integer> regionCodeList);
List<Map<String, Object>> installEquCount(@Param("cityCode") String cityCode,@Param("startTime") String startTime); List<Map<String, Object>> installEquCount(@Param("cityCode") String cityCode,@Param("startTime") String startTime);
......
...@@ -1036,9 +1036,8 @@ ...@@ -1036,9 +1036,8 @@
union all union all
select count(1) from tzs_jg_scrap_cancel a, privilege_company b where a.receive_org_code= b.company_code and b.org_code like CONCAT(#{orgCode}, '%') and a.audit_status != '使用单位待提交' and a.audit_status != '使用单位已撤回' and a.audit_status != '已作废' and a.audit_status != '已完成' and date_ge(CAST(a.create_date as date),#{dto.beginDate}) and date_le(CAST(a.create_date as date),#{dto.endDate}) select count(1) from tzs_jg_scrap_cancel a, privilege_company b where a.receive_org_code= b.company_code and b.org_code like CONCAT(#{orgCode}, '%') and a.audit_status != '使用单位待提交' and a.audit_status != '使用单位已撤回' and a.audit_status != '已作废' and a.audit_status != '已完成' and date_ge(CAST(a.create_date as date),#{dto.beginDate}) and date_le(CAST(a.create_date as date),#{dto.endDate})
</select> </select>
<select id="getOrgCodeByCompanyCodes" resultType="java.util.Map"> <select id="getOrgCodesByCompanyCodes" resultType="java.util.Map">
select P.org_code AS orgCode,R.region_name AS regionName from privilege_company P select P.org_code AS orgCode,P.company_code AS companyCode from privilege_company P
INNER JOIN systemctl_region R ON P.company_code = R.region_code
where P.company_code in where P.company_code in
<foreach collection="regionCodes" item="regionCode" separator="," open="(" close=")"> <foreach collection="regionCodes" item="regionCode" separator="," open="(" close=")">
#{regionCode} :: VARCHAR #{regionCode} :: VARCHAR
......
...@@ -6,16 +6,18 @@ ...@@ -6,16 +6,18 @@
SELECT SELECT
COUNT(1), COUNT(1),
pc.company_name AS companyName, pc.company_name AS companyName,
sr.region_name AS regionName pc.company_code AS companyCode
FROM FROM
privilege_company pc privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' ) INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN ( SELECT DISTINCT record, ME_UNIT_CREDIT_CODE FROM idx_biz_jg_maintenance_record_info ) AS jri ON jri.ME_UNIT_CREDIT_CODE = bi.use_unit_code INNER JOIN ( SELECT DISTINCT record, ME_UNIT_CREDIT_CODE FROM idx_biz_jg_maintenance_record_info ) AS jri ON jri.ME_UNIT_CREDIT_CODE = bi.use_unit_code
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{dpFilterParamDto.cityCode} ) pc.company_code IN
<foreach collection="regionCodeList" item="item" open="(" separator="," close=")">
#{item} :: VARCHAR
</foreach>
GROUP BY GROUP BY
sr.region_code pc.company_code
ORDER BY ORDER BY
COUNT DESC COUNT DESC
LIMIT 10; LIMIT 10;
...@@ -25,16 +27,18 @@ ...@@ -25,16 +27,18 @@
SELECT SELECT
COUNT(1), COUNT(1),
pc.company_name AS companyName, pc.company_name AS companyName,
sr.region_name AS regionName pc.company_code AS companyCode
FROM FROM
privilege_company pc privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' ) INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN ( SELECT DISTINCT record, ME_UNIT_CREDIT_CODE FROM idx_biz_jg_maintenance_record_info ) AS jri ON jri.ME_UNIT_CREDIT_CODE = bi.use_unit_code INNER JOIN ( SELECT DISTINCT record, ME_UNIT_CREDIT_CODE FROM idx_biz_jg_maintenance_record_info ) AS jri ON jri.ME_UNIT_CREDIT_CODE = bi.use_unit_code
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{dpFilterParamDto.cityCode} ) pc.company_code IN
<foreach collection="regionCodeList" item="item" open="(" separator="," close=")">
#{item} :: VARCHAR
</foreach>
GROUP BY GROUP BY
sr.region_code pc.company_code
</select> </select>
<select id="installEquCount" resultType="java.util.Map"> <select id="installEquCount" resultType="java.util.Map">
SELECT COUNT SELECT COUNT
......
...@@ -50,6 +50,7 @@ import java.time.temporal.TemporalAdjusters; ...@@ -50,6 +50,7 @@ import java.time.temporal.TemporalAdjusters;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -866,12 +867,15 @@ public class DPStatisticsServiceImpl { ...@@ -866,12 +867,15 @@ public class DPStatisticsServiceImpl {
} }
public List<Map<String, Object>> maintenanceCountTopTen(DPFilterParamDto dpFilterParamDto) { public List<Map<String, Object>> maintenanceCountTopTen(DPFilterParamDto dpFilterParamDto) {
List<Map<String, Object>> list = dpStatisticsMapper.maintenanceCountTopTen(dpFilterParamDto); List<RegionModel> regionModels = setRegionIfRootParent(dpFilterParamDto);
List<Integer> regionCodeList = regionModels.stream().map(m -> m.getRegionCode()).collect(Collectors.toList());
Map<Integer,RegionModel> regionMap = regionModels.stream().collect(Collectors.toMap(RegionModel::getRegionCode, Function.identity()));
List<Map<String, Object>> list = dpStatisticsMapper.maintenanceCountTopTen(dpFilterParamDto,regionCodeList);
List<Map<String, Object>> resultList = new ArrayList<>(); List<Map<String, Object>> resultList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
result.put("key", i); result.put("key", i);
result.put("city", list.get(i).get("regionName")); result.put("city", regionMap.get(Integer.valueOf(list.get(i).get("companyCode")+"")).getRegionName());
result.put("count", list.get(i).get("count")); result.put("count", list.get(i).get("count"));
result.put("name", list.get(i).get("companyName")); result.put("name", list.get(i).get("companyName"));
resultList.add(result); resultList.add(result);
...@@ -880,12 +884,15 @@ public class DPStatisticsServiceImpl { ...@@ -880,12 +884,15 @@ public class DPStatisticsServiceImpl {
} }
public Map<String, Object> maintenanceCount(DPFilterParamDto dpFilterParamDto) { public Map<String, Object> maintenanceCount(DPFilterParamDto dpFilterParamDto) {
List<Map<String, Object>> list = dpStatisticsMapper.maintenanceCount(dpFilterParamDto); List<RegionModel> regionModels = setRegionIfRootParent(dpFilterParamDto);
List<Integer> regionCodeList = regionModels.stream().map(m -> m.getRegionCode()).collect(Collectors.toList());
Map<Integer,RegionModel> regionMap = regionModels.stream().collect(Collectors.toMap(RegionModel::getRegionCode, Function.identity()));
List<Map<String, Object>> list = dpStatisticsMapper.maintenanceCount(dpFilterParamDto,regionCodeList);
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
List xList = new ArrayList(); List xList = new ArrayList();
List yList = new ArrayList(); List yList = new ArrayList();
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
xList.add(list.get(i).get("regionName")); xList.add(regionMap.get(Integer.valueOf(list.get(i).get("companyCode")+"")).getRegionName());
yList.add(list.get(i).get("count")); yList.add(list.get(i).get("count"));
} }
resultMap.put("xdata", xList); resultMap.put("xdata", xList);
...@@ -920,11 +927,11 @@ public class DPStatisticsServiceImpl { ...@@ -920,11 +927,11 @@ public class DPStatisticsServiceImpl {
List<Object> xDataList = new ArrayList<>(); List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>(); List<Object> yDataList = new ArrayList<>();
List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList()); List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList());
List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodeByCompanyCodes(regionCodeList); List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodesByCompanyCodes(regionCodeList);
Map<String, String> companyMap = new HashMap<>(); Map<String, String> companyMap = new HashMap<>();
List<String> orgCodes = new ArrayList<>(); List<String> orgCodes = new ArrayList<>();
orgCodeByCompanyCodes.stream().forEach(t->{ orgCodeByCompanyCodes.stream().forEach(t->{
companyMap.put(t.get("regionName")+"",t.get("orgCode")); companyMap.put(t.get("companyCode")+"",t.get("orgCode"));
if(StringUtils.isNotBlank(t.get("orgCode"))) { if(StringUtils.isNotBlank(t.get("orgCode"))) {
orgCodes.add(t.get("orgCode")); orgCodes.add(t.get("orgCode"));
} }
...@@ -936,10 +943,10 @@ public class DPStatisticsServiceImpl { ...@@ -936,10 +943,10 @@ public class DPStatisticsServiceImpl {
for(int i = 0; i < regionModelList.size(); i++){ for(int i = 0; i < regionModelList.size(); i++){
AtomicInteger count = new AtomicInteger(); AtomicInteger count = new AtomicInteger();
xDataList.add(regionModelList.get(i).getRegionName()); xDataList.add(regionModelList.get(i).getRegionName());
if(StringUtils.isNotEmpty(companyMap.get(regionModelList.get(i).getRegionName()))){ if(StringUtils.isNotEmpty(companyMap.get(regionModelList.get(i).getRegionCode()+""))){
int finalI = i; int finalI = i;
countMap.forEach((k, v)->{ countMap.forEach((k, v)->{
if(k.startsWith(companyMap.get(regionModelList.get(finalI).getRegionName()))){ if(k.startsWith(companyMap.get(regionModelList.get(finalI).getRegionCode()+""))){
if(null != v){ if(null != v){
count.addAndGet(v); count.addAndGet(v);
} }
...@@ -960,11 +967,11 @@ public class DPStatisticsServiceImpl { ...@@ -960,11 +967,11 @@ public class DPStatisticsServiceImpl {
List<Object> xDataList = new ArrayList<>(); List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>(); List<Object> yDataList = new ArrayList<>();
List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList()); List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList());
List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodeByCompanyCodes(regionCodeList); List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodesByCompanyCodes(regionCodeList);
Map<String, String> companyMap = new HashMap<>(); Map<String, String> companyMap = new HashMap<>();
List<String> orgCodes = new ArrayList<>(); List<String> orgCodes = new ArrayList<>();
orgCodeByCompanyCodes.stream().forEach(t->{ orgCodeByCompanyCodes.stream().forEach(t->{
companyMap.put(t.get("regionName")+"",t.get("orgCode")); companyMap.put(t.get("companyCode")+"",t.get("orgCode"));
if(StringUtils.isNotBlank(t.get("orgCode"))) { if(StringUtils.isNotBlank(t.get("orgCode"))) {
orgCodes.add(t.get("orgCode")); orgCodes.add(t.get("orgCode"));
} }
...@@ -976,10 +983,10 @@ public class DPStatisticsServiceImpl { ...@@ -976,10 +983,10 @@ public class DPStatisticsServiceImpl {
for(int i = 0; i < regionModelList.size(); i++){ for(int i = 0; i < regionModelList.size(); i++){
AtomicInteger count = new AtomicInteger(); AtomicInteger count = new AtomicInteger();
xDataList.add(regionModelList.get(i).getRegionName()); xDataList.add(regionModelList.get(i).getRegionName());
if(StringUtils.isNotEmpty(companyMap.get(regionModelList.get(i).getRegionName()))){ if(StringUtils.isNotEmpty(companyMap.get(regionModelList.get(i).getRegionCode()+""))){
int finalI = i; int finalI = i;
countMap.forEach((k, v)->{ countMap.forEach((k, v)->{
if(k.startsWith(companyMap.get(regionModelList.get(finalI).getRegionName()))){ if(k.startsWith(companyMap.get(regionModelList.get(finalI).getRegionCode()+""))){
if(null != v){ if(null != v){
count.addAndGet(v); count.addAndGet(v);
} }
...@@ -1000,11 +1007,11 @@ public class DPStatisticsServiceImpl { ...@@ -1000,11 +1007,11 @@ public class DPStatisticsServiceImpl {
List<Object> xDataList = new ArrayList<>(); List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>(); List<Object> yDataList = new ArrayList<>();
List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList()); List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList());
List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodeByCompanyCodes(regionCodeList); List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodesByCompanyCodes(regionCodeList);
Map<String, String> companyMap = new HashMap<>(); Map<String, String> companyMap = new HashMap<>();
List<String> orgCodes = new ArrayList<>(); List<String> orgCodes = new ArrayList<>();
orgCodeByCompanyCodes.stream().forEach(t->{ orgCodeByCompanyCodes.stream().forEach(t->{
companyMap.put(t.get("regionName")+"",t.get("orgCode")); companyMap.put(t.get("companyCode")+"",t.get("orgCode"));
if(StringUtils.isNotBlank(t.get("orgCode"))) { if(StringUtils.isNotBlank(t.get("orgCode"))) {
orgCodes.add(t.get("orgCode")); orgCodes.add(t.get("orgCode"));
} }
...@@ -1029,10 +1036,10 @@ public class DPStatisticsServiceImpl { ...@@ -1029,10 +1036,10 @@ public class DPStatisticsServiceImpl {
for(int i = 0; i < regionModelList.size(); i++){ for(int i = 0; i < regionModelList.size(); i++){
AtomicInteger count = new AtomicInteger(); AtomicInteger count = new AtomicInteger();
xDataList.add(regionModelList.get(i).getRegionName()); xDataList.add(regionModelList.get(i).getRegionName());
if(StringUtils.isNotEmpty(companyMap.get(regionModelList.get(i).getRegionName()))){ if(StringUtils.isNotEmpty(companyMap.get(regionModelList.get(i).getRegionCode()+""))){
int finalI = i; int finalI = i;
countMap.forEach((k, v)->{ countMap.forEach((k, v)->{
if(k.startsWith(companyMap.get(regionModelList.get(finalI).getRegionName()))){ if(k.startsWith(companyMap.get(regionModelList.get(finalI).getRegionCode()+""))){
if(null != v){ if(null != v){
count.addAndGet(v); count.addAndGet(v);
} }
...@@ -1054,11 +1061,11 @@ public class DPStatisticsServiceImpl { ...@@ -1054,11 +1061,11 @@ public class DPStatisticsServiceImpl {
List<Object> xDataList = new ArrayList<>(); List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>(); List<Object> yDataList = new ArrayList<>();
List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList()); List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList());
List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodeByCompanyCodes(regionCodeList); List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodesByCompanyCodes(regionCodeList);
Map<String, String> companyMap = new HashMap<>(); Map<String, String> companyMap = new HashMap<>();
List<String> orgCodes = new ArrayList<>(); List<String> orgCodes = new ArrayList<>();
orgCodeByCompanyCodes.stream().forEach(t->{ orgCodeByCompanyCodes.stream().forEach(t->{
companyMap.put(t.get("regionName")+"",t.get("orgCode")); companyMap.put(t.get("companyCode")+"",t.get("orgCode"));
if(StringUtils.isNotBlank(t.get("orgCode"))) { if(StringUtils.isNotBlank(t.get("orgCode"))) {
orgCodes.add(t.get("orgCode")); orgCodes.add(t.get("orgCode"));
} }
...@@ -1072,10 +1079,10 @@ public class DPStatisticsServiceImpl { ...@@ -1072,10 +1079,10 @@ public class DPStatisticsServiceImpl {
for(int i = 0; i < regionModelList.size(); i++){ for(int i = 0; i < regionModelList.size(); i++){
AtomicInteger count = new AtomicInteger(); AtomicInteger count = new AtomicInteger();
xDataList.add(regionModelList.get(i).getRegionName()); xDataList.add(regionModelList.get(i).getRegionName());
if(StringUtils.isNotEmpty(companyMap.get(regionModelList.get(i).getRegionName()))){ if(StringUtils.isNotEmpty(companyMap.get(regionModelList.get(i).getRegionCode()+""))){
int finalI = i; int finalI = i;
countMap.forEach((k, v)->{ countMap.forEach((k, v)->{
if(k.startsWith(companyMap.get(regionModelList.get(finalI).getRegionName()))){ if(k.startsWith(companyMap.get(regionModelList.get(finalI).getRegionCode()+""))){
if(null != v){ if(null != v){
count.addAndGet(v); count.addAndGet(v);
} }
...@@ -1096,11 +1103,11 @@ public class DPStatisticsServiceImpl { ...@@ -1096,11 +1103,11 @@ public class DPStatisticsServiceImpl {
List<Object> xDataList = new ArrayList<>(); List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>(); List<Object> yDataList = new ArrayList<>();
List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList()); List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList());
List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodeByCompanyCodes(regionCodeList); List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodesByCompanyCodes(regionCodeList);
Map<String, String> companyMap = new HashMap<>(); Map<String, String> companyMap = new HashMap<>();
List<String> orgCodes = new ArrayList<>(); List<String> orgCodes = new ArrayList<>();
orgCodeByCompanyCodes.stream().forEach(t->{ orgCodeByCompanyCodes.stream().forEach(t->{
companyMap.put(t.get("regionName")+"",t.get("orgCode")); companyMap.put(t.get("companyCode")+"",t.get("orgCode"));
if(StringUtils.isNotBlank(t.get("orgCode"))) { if(StringUtils.isNotBlank(t.get("orgCode"))) {
orgCodes.add(t.get("orgCode")); orgCodes.add(t.get("orgCode"));
} }
...@@ -1120,10 +1127,10 @@ public class DPStatisticsServiceImpl { ...@@ -1120,10 +1127,10 @@ public class DPStatisticsServiceImpl {
for(int i = 0; i < regionModelList.size(); i++){ for(int i = 0; i < regionModelList.size(); i++){
AtomicInteger count = new AtomicInteger(); AtomicInteger count = new AtomicInteger();
xDataList.add(regionModelList.get(i).getRegionName()); xDataList.add(regionModelList.get(i).getRegionName());
if(StringUtils.isNotEmpty(companyMap.get(regionModelList.get(i).getRegionName()))){ if(StringUtils.isNotEmpty(companyMap.get(regionModelList.get(i).getRegionCode()+""))){
int finalI = i; int finalI = i;
countMap.forEach((k, v)->{ countMap.forEach((k, v)->{
if(k.startsWith(companyMap.get(regionModelList.get(finalI).getRegionName()))){ if(k.startsWith(companyMap.get(regionModelList.get(finalI).getRegionCode()+""))){
if(null != v){ if(null != v){
count.addAndGet(v); count.addAndGet(v);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment