Commit e7ebded0 authored by 麻笑宇's avatar 麻笑宇

各地市业务办理时效统计修改

parent 38ebf3a6
...@@ -132,5 +132,7 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> { ...@@ -132,5 +132,7 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> {
* @return 统计数量数组 * @return 统计数量数组
*/ */
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);
} }
...@@ -67,4 +67,29 @@ public interface DPStatisticsMapper { ...@@ -67,4 +67,29 @@ public interface DPStatisticsMapper {
String newVehicleCountByYear(@Param("cityCode") String cityCode); String newVehicleCountByYear(@Param("cityCode") String cityCode);
String newVehicleCountByMonth(@Param("cityCode") String cityCode); String newVehicleCountByMonth(@Param("cityCode") String cityCode);
List<Map<String, Object>> installCountByOrgCodes(@Param("orgCodes") List<String> orgCodes);
List<Map<String, Object>> maintenanceNoticeCountByOrgCodes(@Param("orgCodes") List<String> orgCodes);
List<Map<String, Object>> reformCountByOrgCodes(@Param("orgCodes") List<String> orgCodes);
List<Map<String, Object>> transferCountByOrgCodes(@Param("orgCodes") List<String> orgCodes);
List<Map<String, Object>> useCountByOrgCodes(@Param("orgCodes") List<String> orgCodes);
List<Map<String, Object>> vehicleCountByOrgCodes(@Param("orgCodes") List<String> orgCodes);
List<Map<String, Object>> changeNameCountByOrgCodes(@Param("orgCodes") List<String> orgCodes);
List<Map<String, Object>> changeReformCountByOrgCodes(@Param("orgCodes") List<String> orgCodes);
List<Map<String, Object>> changeTransferCountByOrgCodes(@Param("orgCodes") List<String> orgCodes);
List<Map<String, Object>> changeUnitCountByOrgCodes(@Param("orgCodes") List<String> orgCodes);
List<Map<String, Object>> changeVehicleCountByOrgCodes(@Param("orgCodes") List<String> orgCodes);
List<Map<String, Object>> disableCountByOrgCodes(@Param("orgCodes") List<String> orgCodes);
List<Map<String, Object>> cancelCountByOrgCodes(@Param("orgCodes") List<String> orgCodes);
} }
...@@ -1036,4 +1036,12 @@ ...@@ -1036,4 +1036,12 @@
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 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
where P.company_code in
<foreach collection="regionCodes" item="regionCode" separator="," open="(" close=")">
#{regionCode} :: VARCHAR
</foreach>
</select>
</mapper> </mapper>
...@@ -449,4 +449,229 @@ ...@@ -449,4 +449,229 @@
ORDER BY ORDER BY
ur.rec_date ur.rec_date
</select> </select>
<select id="installCountByOrgCodes" resultType="java.util.Map">
SELECT COUNT
( 1 ),
T.receive_company_org_code AS orgCode
FROM
tzs_jg_installation_notice T
WHERE
T.notice_status = 6616
AND
<foreach collection="orgCodes" item="orgCode" separator="OR" open="(" close=")">
T.receive_company_org_code LIKE CONCAT ( #{orgCode}, '%' )
</foreach>
GROUP BY
T.receive_company_org_code
</select>
<select id="maintenanceNoticeCountByOrgCodes" resultType="java.util.Map">
SELECT COUNT
( 1 ),
T.receive_company_org_code AS orgCode
FROM
tzs_jg_maintain_notice T
WHERE
T.notice_status = 6616
AND
<foreach collection="orgCodes" item="orgCode" separator="OR" open="(" close=")">
T.receive_company_org_code LIKE CONCAT ( #{orgCode}, '%' )
</foreach>
GROUP BY
T.receive_company_org_code
</select>
<select id="reformCountByOrgCodes" resultType="java.util.Map">
SELECT COUNT
( 1 ),
T.receive_company_org_code AS orgCode
FROM
tzs_jg_reform_notice T
WHERE
T.notice_status = 6616
AND
<foreach collection="orgCodes" item="orgCode" separator="OR" open="(" close=")">
T.receive_company_org_code LIKE CONCAT ( #{orgCode}, '%' )
</foreach>
GROUP BY
T.receive_company_org_code
</select>
<select id="transferCountByOrgCodes" resultType="java.util.Map">
SELECT COUNT
( 1 ),
T.receive_company_org_code AS orgCode
FROM
tzs_jg_transfer_notice T
WHERE
T.notice_status = 6616
AND
<foreach collection="orgCodes" item="orgCode" separator="OR" open="(" close=")">
T.receive_company_org_code LIKE CONCAT ( #{orgCode}, '%' )
</foreach>
GROUP BY
T.receive_company_org_code
</select>
<select id="useCountByOrgCodes" resultType="java.util.Map">
SELECT COUNT
( 1 ),
T.receive_company_org_code AS orgCode
FROM
tzs_jg_use_registration T
WHERE
T.audit_status = '已完成'
AND
<foreach collection="orgCodes" item="orgCode" separator="OR" open="(" close=")">
T.receive_company_org_code LIKE CONCAT ( #{orgCode}, '%' )
</foreach>
GROUP BY
T.receive_company_org_code
</select>
<select id="vehicleCountByOrgCodes" resultType="java.util.Map">
SELECT COUNT
( 1 ),
T.receive_org_code AS orgCode
FROM
tzs_jg_vehicle_information T
WHERE
T.status = '已完成'
AND
<foreach collection="orgCodes" item="orgCode" separator="OR" open="(" close=")">
T.receive_org_code LIKE CONCAT ( #{orgCode}, '%' )
</foreach>
GROUP BY
T.receive_org_code
</select>
<select id="changeNameCountByOrgCodes" resultType="java.util.Map">
SELECT COUNT
( 1 ),
T.org_code AS orgCode
FROM
(
SELECT
crn.sequence_nbr,
pc.org_code
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code = pc.org_code
INNER JOIN tzs_jg_change_registration_name crn ON bi.office_region LIKE CONCAT ( '%', crn.receive_company_code, '%' )
AND crn.audit_status = '已完成'
WHERE
<foreach collection="orgCodes" item="orgCode" separator="OR" open="(" close=")">
pc.org_code LIKE CONCAT ( #{orgCode}, '%' )
</foreach>
GROUP BY
crn.sequence_nbr
) T
GROUP BY
T.org_code
</select>
<select id="changeReformCountByOrgCodes" resultType="java.util.Map">
SELECT COUNT
( 1 ),
T.receive_company_org_code AS orgCode
FROM
tzs_jg_change_registration_reform T
WHERE
T.audit_status = '已完成'
AND
<foreach collection="orgCodes" item="orgCode" separator="OR" open="(" close=")">
T.receive_company_org_code LIKE CONCAT ( #{orgCode}, '%' )
</foreach>
GROUP BY
T.receive_company_org_code
</select>
<select id="changeTransferCountByOrgCodes" resultType="java.util.Map">
SELECT COUNT
( 1 ),
T.receive_company_org_code AS orgCode
FROM
tzs_jg_change_registration_transfer T
WHERE
T.audit_status = '已完成'
AND
<foreach collection="orgCodes" item="orgCode" separator="OR" open="(" close=")">
T.receive_company_org_code LIKE CONCAT ( #{orgCode}, '%' )
</foreach>
GROUP BY
T.receive_company_org_code
</select>
<select id="changeUnitCountByOrgCodes" resultType="java.util.Map">
SELECT COUNT
( 1 ),
T.receive_company_org_code AS orgCode
FROM
tzs_jg_change_registration_unit T
WHERE
T.status = '已完成'
AND
<foreach collection="orgCodes" item="orgCode" separator="OR" open="(" close=")">
T.receive_company_org_code LIKE CONCAT ( #{orgCode}, '%' )
</foreach>
GROUP BY
T.receive_company_org_code
</select>
<select id="changeVehicleCountByOrgCodes" resultType="java.util.Map">
SELECT COUNT
( 1 ),
T.receive_company_org_code AS orgCode
FROM
tzs_jg_change_vehicle_registration_unit T
WHERE
T.status = '已完成'
AND
<foreach collection="orgCodes" item="orgCode" separator="OR" open="(" close=")">
T.receive_company_org_code LIKE CONCAT ( #{orgCode}, '%' )
</foreach>
GROUP BY
T.receive_company_org_code
</select>
<select id="disableCountByOrgCodes" resultType="java.util.Map">
SELECT COUNT
( 1 ),
T.org_code AS orgCode
FROM
(
SELECT
crn.sequence_nbr,
pc.org_code
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code = pc.org_code
INNER JOIN tzs_jg_enable_disable crn ON bi.office_region LIKE CONCAT ( '%', crn.receive_company_code, '%' )
AND crn.audit_status = '已完成'
WHERE
<foreach collection="orgCodes" item="orgCode" separator="OR" open="(" close=")">
pc.org_code LIKE CONCAT ( #{orgCode}, '%' )
</foreach>
GROUP BY
crn.sequence_nbr
) T
GROUP BY
T.org_code
</select>
<select id="cancelCountByOrgCodes" resultType="java.util.Map">
SELECT COUNT
( 1 ),
T.org_code AS orgCode
FROM
(
SELECT
crn.sequence_nbr,
pc.org_code
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code = pc.org_code
INNER JOIN tzs_jg_scrap_cancel crn ON bi.office_region LIKE CONCAT ( '%', crn.receive_company_code, '%' )
AND crn.audit_status = '已完成'
WHERE
<foreach collection="orgCodes" item="orgCode" separator="OR" open="(" close=")">
pc.org_code LIKE CONCAT ( #{orgCode}, '%' )
</foreach>
GROUP BY
crn.sequence_nbr
) T
GROUP BY
T.org_code
</select>
</mapper> </mapper>
...@@ -49,6 +49,7 @@ import java.time.format.DateTimeFormatter; ...@@ -49,6 +49,7 @@ import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters; 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.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -915,152 +916,223 @@ public class DPStatisticsServiceImpl { ...@@ -915,152 +916,223 @@ public class DPStatisticsServiceImpl {
private Map<String, Object> cancelCount(Map<String, Object> resultMap, List<RegionModel> regionModelList) { private Map<String, Object> cancelCount(Map<String, Object> resultMap, List<RegionModel> regionModelList) {
Map<String,Integer> countMap = new HashMap<>();
List<Object> xDataList = new ArrayList<>(); List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>(); List<Object> yDataList = new ArrayList<>();
for(int i = 0; i < regionModelList.size(); i++) { List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList());
String orgCode = regionCodeOrgCodeMap.get(regionModelList.get(i).getRegionCode()); List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodeByCompanyCodes(regionCodeList);
if (orgCode == null) { Map<String, String> companyMap = new HashMap<>();
orgCode = commonMapper.getOrgCodeByCompanyCode(regionModelList.get(i).getRegionCode() + ""); List<String> orgCodes = new ArrayList<>();
if (orgCode != null) { orgCodeByCompanyCodes.stream().forEach(t->{
regionCodeOrgCodeMap.put(regionModelList.get(i).getRegionCode() + "", orgCode); companyMap.put(t.get("regionName")+"",t.get("orgCode"));
} if(StringUtils.isNotBlank(t.get("orgCode"))) {
orgCodes.add(t.get("orgCode"));
} }
if(orgCode != null) { });
//注销报废 //注销报废
int cancelCoount = dpStatisticsMapper.cancelCount(orgCode); List<Map<String,Object>> cancelCoountList = dpStatisticsMapper.cancelCountByOrgCodes(orgCodes);
xDataList.add(regionModelList.get(i).getRegionName()); countByMap(countMap,cancelCoountList);
yDataList.add(cancelCoount);
}else { for(int i = 0; i < regionModelList.size(); i++){
xDataList.add(regionModelList.get(i).getRegionName()); AtomicInteger count = new AtomicInteger();
yDataList.add(0); xDataList.add(regionModelList.get(i).getRegionName());
if(StringUtils.isNotEmpty(companyMap.get(regionModelList.get(i).getRegionName()))){
int finalI = i;
countMap.forEach((k, v)->{
if(k.startsWith(companyMap.get(regionModelList.get(finalI).getRegionName()))){
if(null != v){
count.addAndGet(v);
}
}
});
} }
yDataList.add(count);
} }
resultMap.put("xdata", xDataList); resultMap.put("xdata", xDataList);
resultMap.put("ydata", yDataList); resultMap.put("ydata", yDataList);
return resultMap; return resultMap;
} }
private Map<String, Object> disableCount(Map<String, Object> resultMap, List<RegionModel> regionModelList) { private Map<String, Object> disableCount(Map<String, Object> resultMap, List<RegionModel> regionModelList) {
Map<String,Integer> countMap = new HashMap<>();
List<Object> xDataList = new ArrayList<>(); List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>(); List<Object> yDataList = new ArrayList<>();
for(int i = 0; i < regionModelList.size(); i++) { List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList());
String orgCode = regionCodeOrgCodeMap.get(regionModelList.get(i).getRegionCode()); List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodeByCompanyCodes(regionCodeList);
if (orgCode == null) { Map<String, String> companyMap = new HashMap<>();
orgCode = commonMapper.getOrgCodeByCompanyCode(regionModelList.get(i).getRegionCode() + ""); List<String> orgCodes = new ArrayList<>();
if (orgCode != null) { orgCodeByCompanyCodes.stream().forEach(t->{
regionCodeOrgCodeMap.put(regionModelList.get(i).getRegionCode() + "", orgCode); companyMap.put(t.get("regionName")+"",t.get("orgCode"));
} if(StringUtils.isNotBlank(t.get("orgCode"))) {
orgCodes.add(t.get("orgCode"));
} }
if(orgCode != null) { });
//启用停用 //启用停用
int disableCount = dpStatisticsMapper.disableCount(orgCode); List<Map<String,Object>> disableCountList = dpStatisticsMapper.disableCountByOrgCodes(orgCodes);
countByMap(countMap,disableCountList);
xDataList.add(regionModelList.get(i).getRegionName());
yDataList.add(disableCount); for(int i = 0; i < regionModelList.size(); i++){
AtomicInteger count = new AtomicInteger();
}else{ xDataList.add(regionModelList.get(i).getRegionName());
xDataList.add(regionModelList.get(i).getRegionName()); if(StringUtils.isNotEmpty(companyMap.get(regionModelList.get(i).getRegionName()))){
yDataList.add(0); int finalI = i;
countMap.forEach((k, v)->{
if(k.startsWith(companyMap.get(regionModelList.get(finalI).getRegionName()))){
if(null != v){
count.addAndGet(v);
}
}
});
} }
yDataList.add(count);
} }
resultMap.put("xdata", xDataList); resultMap.put("xdata", xDataList);
resultMap.put("ydata", yDataList); resultMap.put("ydata", yDataList);
return resultMap; return resultMap;
} }
private Map<String, Object> changeCount(Map<String, Object> resultMap, List<RegionModel> regionModelList) { private Map<String, Object> changeCount(Map<String, Object> resultMap, List<RegionModel> regionModelList) {
Map<String,Integer> countMap = new HashMap<>();
List<Object> xDataList = new ArrayList<>(); List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>(); List<Object> yDataList = new ArrayList<>();
for(int i = 0; i < regionModelList.size(); i++) { List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList());
String orgCode = regionCodeOrgCodeMap.get(regionModelList.get(i).getRegionCode()); List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodeByCompanyCodes(regionCodeList);
if (orgCode == null) { Map<String, String> companyMap = new HashMap<>();
orgCode = commonMapper.getOrgCodeByCompanyCode(regionModelList.get(i).getRegionCode() + ""); List<String> orgCodes = new ArrayList<>();
if (orgCode != null) { orgCodeByCompanyCodes.stream().forEach(t->{
regionCodeOrgCodeMap.put(regionModelList.get(i).getRegionCode() + "", orgCode); companyMap.put(t.get("regionName")+"",t.get("orgCode"));
} if(StringUtils.isNotBlank(t.get("orgCode"))) {
orgCodes.add(t.get("orgCode"));
} }
if(orgCode != null) { });
//更名变更登记
int changeNameList = dpStatisticsMapper.changeNameCount(orgCode); //更名变更登记
//改造变更登记 List<Map<String,Object>> changeNameList = dpStatisticsMapper.changeNameCountByOrgCodes(orgCodes);
int reformList = dpStatisticsMapper.changeReformCount(orgCode); countByMap(countMap,changeNameList);
//移装变更登记 //改造变更登记
int transferList = dpStatisticsMapper.changeTransferCount(orgCode); List<Map<String,Object>> reformList = dpStatisticsMapper.changeReformCountByOrgCodes(orgCodes);
//单位变更登记 countByMap(countMap,reformList);
int unitList = dpStatisticsMapper.changeUnitCount(orgCode); //移装变更登记
//单位变更登记 List<Map<String,Object>> transferList = dpStatisticsMapper.changeTransferCountByOrgCodes(orgCodes);
int vehicleList = dpStatisticsMapper.changeVehicleCount(orgCode); countByMap(countMap,transferList);
//单位变更登记
xDataList.add(regionModelList.get(i).getRegionName()); List<Map<String,Object>> unitList = dpStatisticsMapper.changeUnitCountByOrgCodes(orgCodes);
yDataList.add(changeNameList + reformList + transferList + unitList + vehicleList); countByMap(countMap,unitList);
}else{ //单位变更登记
xDataList.add(regionModelList.get(i).getRegionName()); List<Map<String,Object>> vehicleList = dpStatisticsMapper.changeVehicleCountByOrgCodes(orgCodes);
yDataList.add(0); countByMap(countMap,vehicleList);
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()))){
int finalI = i;
countMap.forEach((k, v)->{
if(k.startsWith(companyMap.get(regionModelList.get(finalI).getRegionName()))){
if(null != v){
count.addAndGet(v);
}
}
});
} }
yDataList.add(count);
} }
resultMap.put("xdata", xDataList); resultMap.put("xdata", xDataList);
resultMap.put("ydata", yDataList); resultMap.put("ydata", yDataList);
return resultMap; return resultMap;
} }
private Map<String, Object> useCount(Map<String, Object> resultMap, List<RegionModel> regionModelList) { private Map<String, Object> useCount(Map<String, Object> resultMap, List<RegionModel> regionModelList) {
Map<String,Integer> countMap = new HashMap<>();
List<Object> xDataList = new ArrayList<>(); List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>(); List<Object> yDataList = new ArrayList<>();
for(int i = 0; i < regionModelList.size(); i++) { List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList());
String orgCode = regionCodeOrgCodeMap.get(regionModelList.get(i).getRegionCode()); List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodeByCompanyCodes(regionCodeList);
if (orgCode == null) { Map<String, String> companyMap = new HashMap<>();
orgCode = commonMapper.getOrgCodeByCompanyCode(regionModelList.get(i).getRegionCode()+""); List<String> orgCodes = new ArrayList<>();
if(orgCode != null) { orgCodeByCompanyCodes.stream().forEach(t->{
regionCodeOrgCodeMap.put(regionModelList.get(i).getRegionCode() + "", orgCode); companyMap.put(t.get("regionName")+"",t.get("orgCode"));
} if(StringUtils.isNotBlank(t.get("orgCode"))) {
orgCodes.add(t.get("orgCode"));
} }
if(orgCode != null) { });
//使用登记 //使用告知
int useCount = dpStatisticsMapper.useCount(orgCode); List<Map<String,Object>> useCountList = dpStatisticsMapper.useCountByOrgCodes(orgCodes);
//气瓶登记 countByMap(countMap,useCountList);
int vehicleCount = dpStatisticsMapper.vehicleCount(orgCode); //车用气瓶使用告知
List<Map<String, Object>> vehicleCountList = dpStatisticsMapper.vehicleCountByOrgCodes(orgCodes);
xDataList.add(regionModelList.get(i).getRegionName()); countByMap(countMap,vehicleCountList);
yDataList.add(useCount + vehicleCount); for(int i = 0; i < regionModelList.size(); i++){
AtomicInteger count = new AtomicInteger();
}else{ xDataList.add(regionModelList.get(i).getRegionName());
xDataList.add(regionModelList.get(i).getRegionName()); if(StringUtils.isNotEmpty(companyMap.get(regionModelList.get(i).getRegionName()))){
yDataList.add(0); int finalI = i;
countMap.forEach((k, v)->{
if(k.startsWith(companyMap.get(regionModelList.get(finalI).getRegionName()))){
if(null != v){
count.addAndGet(v);
}
}
});
} }
yDataList.add(count);
} }
resultMap.put("xdata", xDataList); resultMap.put("xdata", xDataList);
resultMap.put("ydata", yDataList); resultMap.put("ydata", yDataList);
return resultMap; return resultMap;
} }
private Map<String, Object> noticeCount(Map<String, Object> resultMap, List<RegionModel> regionModelList) { private Map<String, Object> noticeCount(Map<String, Object> resultMap, List<RegionModel> regionModelList) {
Map<String,Integer> countMap = new HashMap<>();
List<Object> xDataList = new ArrayList<>(); List<Object> xDataList = new ArrayList<>();
List<Object> yDataList = new ArrayList<>(); List<Object> yDataList = new ArrayList<>();
for(int i = 0; i < regionModelList.size(); i++) { List<Integer> regionCodeList = regionModelList.stream().map(m -> m.getRegionCode()).collect(Collectors.toList());
String orgCode = regionCodeOrgCodeMap.get(regionModelList.get(i).getRegionCode()); List<Map<String, String>> orgCodeByCompanyCodes = commonMapper.getOrgCodeByCompanyCodes(regionCodeList);
if (orgCode == null) { Map<String, String> companyMap = new HashMap<>();
orgCode = commonMapper.getOrgCodeByCompanyCode(regionModelList.get(i).getRegionCode()+""); List<String> orgCodes = new ArrayList<>();
if(orgCode != null) { orgCodeByCompanyCodes.stream().forEach(t->{
regionCodeOrgCodeMap.put(regionModelList.get(i).getRegionCode() + "", orgCode); companyMap.put(t.get("regionName")+"",t.get("orgCode"));
} if(StringUtils.isNotBlank(t.get("orgCode"))) {
orgCodes.add(t.get("orgCode"));
} }
if(orgCode != null) { });
//安装告知 //安装告知
int installCount = dpStatisticsMapper.installCount(orgCode); List<Map<String,Object>> installCountList = dpStatisticsMapper.installCountByOrgCodes(orgCodes);
//维修告知 countByMap(countMap,installCountList);
int maintenanceCount = dpStatisticsMapper.maintenanceNoticeCount(orgCode); //维修告知
//改造告知 List<Map<String, Object>> maintenanceCountList = dpStatisticsMapper.maintenanceNoticeCountByOrgCodes(orgCodes);
int reformCount = dpStatisticsMapper.reformCount(orgCode); countByMap(countMap,maintenanceCountList);
//移装告知 //改造告知
int transferCount = dpStatisticsMapper.transferCount(orgCode); List<Map<String, Object>> reformCountList = dpStatisticsMapper.reformCountByOrgCodes(orgCodes);
xDataList.add(regionModelList.get(i).getRegionName()); countByMap(countMap,reformCountList);
yDataList.add(installCount + maintenanceCount + reformCount + transferCount); //移装告知
}else{ List<Map<String, Object>> transferCountList = dpStatisticsMapper.transferCountByOrgCodes(orgCodes);
xDataList.add(regionModelList.get(i).getRegionName()); countByMap(countMap,transferCountList);
yDataList.add(0); 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()))){
int finalI = i;
countMap.forEach((k, v)->{
if(k.startsWith(companyMap.get(regionModelList.get(finalI).getRegionName()))){
if(null != v){
count.addAndGet(v);
}
}
});
} }
yDataList.add(count);
} }
resultMap.put("xdata", xDataList); resultMap.put("xdata", xDataList);
resultMap.put("ydata", yDataList); resultMap.put("ydata", yDataList);
return resultMap; return resultMap;
...@@ -1068,10 +1140,10 @@ public class DPStatisticsServiceImpl { ...@@ -1068,10 +1140,10 @@ public class DPStatisticsServiceImpl {
private void countByMap(Map<String, Integer> countMap, List<Map<String, Object>> list) { private void countByMap(Map<String, Integer> countMap, List<Map<String, Object>> list) {
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
if (null == countMap.get(list.get(i).get("regionName"))) { if (null == countMap.get(list.get(i).get("orgCode"))) {
countMap.put(list.get(i).get("regionName").toString(), Integer.valueOf(list.get(i).get("count") + "")); countMap.put(list.get(i).get("orgCode").toString(), Integer.valueOf(list.get(i).get("count")+""));
} else { } else {
countMap.put(list.get(i).get("regionName").toString(), countMap.get(list.get(i).get("regionName").toString()) + Integer.valueOf(list.get(i).get("count") + "")); countMap.put(list.get(i).get("orgCode").toString(), countMap.get(list.get(i).get("orgCode")) + Integer.valueOf(list.get(i).get("count")+""));
} }
} }
} }
......
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