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

监管大屏代码提交

parent eaeed283
......@@ -133,6 +133,6 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> {
*/
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;
public interface DPStatisticsMapper {
List<Map<String, Object>> maintenanceCountTopTen(@Param("dpFilterParamDto") DPFilterParamDto dpFilterParamDto);
List<Map<String, Object>> maintenanceCount(@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, @Param("regionCodeList") List<Integer> regionCodeList);
List<Map<String, Object>> installEquCount(@Param("cityCode") String cityCode,@Param("startTime") String startTime);
......
......@@ -1036,9 +1036,8 @@
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>
<select id="getOrgCodeByCompanyCodes" resultType="java.util.Map">
select P.org_code AS orgCode,R.region_name AS regionName from privilege_company P
INNER JOIN systemctl_region R ON P.company_code = R.region_code
<select id="getOrgCodesByCompanyCodes" resultType="java.util.Map">
select P.org_code AS orgCode,P.company_code AS companyCode from privilege_company P
where P.company_code in
<foreach collection="regionCodes" item="regionCode" separator="," open="(" close=")">
#{regionCode} :: VARCHAR
......
......@@ -6,16 +6,18 @@
SELECT
COUNT(1),
pc.company_name AS companyName,
sr.region_name AS regionName
pc.company_code AS companyCode
FROM
privilege_company pc
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 systemctl_region sr ON pc.company_code = sr.region_code
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
sr.region_code
pc.company_code
ORDER BY
COUNT DESC
LIMIT 10;
......@@ -25,16 +27,18 @@
SELECT
COUNT(1),
pc.company_name AS companyName,
sr.region_name AS regionName
pc.company_code AS companyCode
FROM
privilege_company pc
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 systemctl_region sr ON pc.company_code = sr.region_code
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
sr.region_code
pc.company_code
</select>
<select id="installEquCount" resultType="java.util.Map">
SELECT COUNT
......
......@@ -50,6 +50,7 @@ import java.time.temporal.TemporalAdjusters;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
......@@ -866,12 +867,15 @@ public class DPStatisticsServiceImpl {
}
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<>();
for (int i = 0; i < list.size(); i++) {
Map<String, Object> result = new HashMap<>();
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("name", list.get(i).get("companyName"));
resultList.add(result);
......@@ -880,12 +884,15 @@ public class DPStatisticsServiceImpl {
}
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<>();
List xList = new ArrayList();
List yList = new ArrayList();
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"));
}
resultMap.put("xdata", xList);
......@@ -920,11 +927,11 @@ public class DPStatisticsServiceImpl {
List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>();
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<>();
List<String> orgCodes = new ArrayList<>();
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"))) {
orgCodes.add(t.get("orgCode"));
}
......@@ -936,10 +943,10 @@ public class DPStatisticsServiceImpl {
for(int i = 0; i < regionModelList.size(); i++){
AtomicInteger count = new AtomicInteger();
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;
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){
count.addAndGet(v);
}
......@@ -960,11 +967,11 @@ public class DPStatisticsServiceImpl {
List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>();
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<>();
List<String> orgCodes = new ArrayList<>();
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"))) {
orgCodes.add(t.get("orgCode"));
}
......@@ -976,10 +983,10 @@ public class DPStatisticsServiceImpl {
for(int i = 0; i < regionModelList.size(); i++){
AtomicInteger count = new AtomicInteger();
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;
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){
count.addAndGet(v);
}
......@@ -1000,11 +1007,11 @@ public class DPStatisticsServiceImpl {
List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>();
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<>();
List<String> orgCodes = new ArrayList<>();
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"))) {
orgCodes.add(t.get("orgCode"));
}
......@@ -1029,10 +1036,10 @@ public class DPStatisticsServiceImpl {
for(int i = 0; i < regionModelList.size(); i++){
AtomicInteger count = new AtomicInteger();
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;
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){
count.addAndGet(v);
}
......@@ -1054,11 +1061,11 @@ public class DPStatisticsServiceImpl {
List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>();
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<>();
List<String> orgCodes = new ArrayList<>();
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"))) {
orgCodes.add(t.get("orgCode"));
}
......@@ -1072,10 +1079,10 @@ public class DPStatisticsServiceImpl {
for(int i = 0; i < regionModelList.size(); i++){
AtomicInteger count = new AtomicInteger();
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;
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){
count.addAndGet(v);
}
......@@ -1096,11 +1103,11 @@ public class DPStatisticsServiceImpl {
List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>();
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<>();
List<String> orgCodes = new ArrayList<>();
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"))) {
orgCodes.add(t.get("orgCode"));
}
......@@ -1120,10 +1127,10 @@ public class DPStatisticsServiceImpl {
for(int i = 0; i < regionModelList.size(); i++){
AtomicInteger count = new AtomicInteger();
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;
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){
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