Commit 50319641 authored by chenzhao's avatar chenzhao

首页统计上方补充

parent 83e499aa
......@@ -250,7 +250,8 @@
SELECT
COUNT( * ) AS total,
status AS statusText,
ROUND(COALESCE(SUM(ei.real_scale), 0), 2) AS realScale
ROUND(COALESCE(SUM(ei.real_scale), 0), 2) AS realScale,
SUM(disbursement_money) as disbursementMoney
FROM
hygf_financing_info
LEFT JOIN hygf_work_order_power_station ps ON ps.peasant_household_id = hygf_financing_info.peasant_household_id
......
......@@ -28,40 +28,63 @@ public class StatisticsHomepageServiceImpl {
public Map<String, Object> statisticsHomepage( String developerCode,String regionalCompaniesCode, String province, String city, String district){
Map<String, Object> resultMap = MapBuilder.<String, Object>create().build();
Map<String, Object> map = MapBuilder.<String, Object>create().build();
List<Map<String, Object>> surveyMaps = statisticsHomepageMapper.surveyStatusTotal(developerCode, regionalCompaniesCode, province, city, district);
this.resuleMapBuild(resultMap,surveyMaps,"surey");
this.resuleMapBuild(map,resultMap,surveyMaps,"surey");
List<Map<String, Object>> desionMaps = statisticsHomepageMapper.desionTotal(developerCode, regionalCompaniesCode, province, city, district);
this.resuleMapBuild(resultMap,desionMaps,"desion");
this.resuleMapBuild(map,resultMap,desionMaps,"desion");
List<Map<String, Object>> contractMaps = statisticsHomepageMapper.contractStatusTotal(developerCode, regionalCompaniesCode, province, city, district);
this.resuleMapBuild(resultMap,contractMaps,"contract");
this.resuleMapBuild(map,resultMap,contractMaps,"contract");
List<Map<String, Object>> preparationMoneyMaps = statisticsHomepageMapper.preparationMoneyTotal(developerCode, regionalCompaniesCode, province, city, district);
this.resuleMapBuild(resultMap,preparationMoneyMaps,"preparationMoney");
this.resuleMapBuild(map,resultMap,preparationMoneyMaps,"preparationMoney");
List<Map<String, Object>> workOrderMaps = statisticsHomepageMapper.workOrderTotal(developerCode, regionalCompaniesCode, province, city, district);
this.resuleMapBuild(resultMap,workOrderMaps,"workOrder");
this.resuleMapBuild(map,resultMap,workOrderMaps,"workOrder");
List<Map<String, Object>> gridMaps = statisticsHomepageMapper.gridStatusTotal(developerCode, regionalCompaniesCode, province, city, district);
this.resuleMapBuild(resultMap,gridMaps,"grid");
this.resuleMapBuild(map,resultMap,gridMaps,"grid");
List<Map<String, Object>> acceptanceMaps = statisticsHomepageMapper.acceptanceStatusTotal(developerCode, regionalCompaniesCode, province, city, district);
this.resuleMapBuild(resultMap,acceptanceMaps,"acceptance");
this.resuleMapBuild(map,resultMap,acceptanceMaps,"acceptance");
List<Map<String, Object>> financingMaps = statisticsHomepageMapper.financingStatusTotal(developerCode, regionalCompaniesCode, province, city, district);
this.resuleMapBuild(resultMap,financingMaps,"financing");
this.resuleMapBuild(map,resultMap,financingMaps,"financing");
List<String> regionNodeByCode = jpStationMapper.getRegionNodeByCode(province);
List<Map<String, Object>> inverterMaps = statisticsHomepageMapper.inverterTotal(developerCode, regionalCompaniesCode, province, city, district,regionNodeByCode);
this.resuleMapBuild(resultMap,inverterMaps,"inverter");
this.resuleMapBuild(map,resultMap,inverterMaps,"inverter");
return resultMap;
}
Map<String,Object> resuleMapBuild( Map<String, Object> resultMap,List<Map<String, Object>> maps,String type){
Map<String,Object> resuleMapBuild(Map<String, Object> li, Map<String, Object> resultMap,List<Map<String, Object>> maps,String type){
long total= 0;
double realScale = 0.00;
long sureyNum = 0;
long workNum = 0;
long preparationNum = 0;
long gridNum = 0;
long acceptanceNum = 0;
long financingNum = 0;
long stationNum =0;
double stationRealScale = 0.00;
double disbursementMoney = 0.00;
List<Map<String, Object>> list = new ArrayList<>();
switch(type){
case "surey" :
Map<String, Object> surey = maps.get(0);
surey.keySet().forEach(e->{
if (!e.equals("审核完成")){
for (String e : surey.keySet()) {
if (!e.equals("completeTotal")){
list.add( MapBuilder.<String, Object>create().put("statusText",e).put("total",surey.get(e)).build());
}
});
if (!e.equals("未勘察")){
sureyNum += (long)surey.get(e);
} else {
stationNum += (long)surey.get(e);
}
}
li.put("surveNum",sureyNum);
li.put("stationNum",sureyNum+stationNum);
resultMap.put("surey",list);
resultMap.put("sureyComplete",surey.get("completeTotal"));
break;
......@@ -87,21 +110,27 @@ public class StatisticsHomepageServiceImpl {
break;
case "preparationMoney":
Map<String, Object> preparationMoney = maps.get(0);
preparationMoney.keySet().forEach(e->{
for (String e : preparationMoney.keySet()) {
list.add( MapBuilder.<String, Object>create().put("statusText",e).put("total",preparationMoney.get(e)).build());
});
preparationNum += (long) preparationMoney.get(e);
}
resultMap.put("preparationMoney",list);
li.put("preparationNum",preparationNum);
break;
case "workOrder":
Iterator<Map<String, Object>> iterator = maps.iterator();
while (iterator.hasNext()) {
Map<String, Object> map = iterator.next();
workNum += (long) map.get("total");
stationRealScale += (double)map.get("realScale");
if ("审核中".equals(map.get("statusText"))) {
total += (long) map.get("total");
realScale += (double) map.get("realScale");
iterator.remove();
}
}
li.put("workNum",workNum);
li.put("stationRealScale",stationRealScale);
maps.add(MapBuilder.<String, Object>create().put("statusText","审核中").put("total",total).put("realScale",realScale).build());
resultMap.put("workOrder",maps);
break;
......@@ -109,6 +138,7 @@ public class StatisticsHomepageServiceImpl {
Iterator<Map<String, Object>> iterator1 = maps.iterator();
while (iterator1.hasNext()) {
Map<String, Object> map = iterator1.next();
gridNum += (long) map.get("total");
if ("审核中".equals(map.get("statusText"))) {
total +=(long) map.get("total");
realScale += (double) map.get("realScale");
......@@ -117,11 +147,13 @@ public class StatisticsHomepageServiceImpl {
}
maps.add(MapBuilder.<String, Object>create().put("statusText","审核中").put("total",total).put("realScale",realScale).build());
resultMap.put("grid",maps);
li.put("gridNum",gridNum);
break;
case "acceptance":
Iterator<Map<String, Object>> iterator2 = maps.iterator();
while (iterator2.hasNext()) {
Map<String, Object> map = iterator2.next();
acceptanceNum += (long) map.get("total");
if ("审核中".equals(map.get("statusText"))) {
total += (long) map.get("total");
realScale += (double) map.get("realScale");
......@@ -130,9 +162,18 @@ public class StatisticsHomepageServiceImpl {
}
maps.add(MapBuilder.<String, Object>create().put("statusText","审核中").put("total",total).put("realScale",realScale).build());
resultMap.put("acceptance",maps);
li.put("acceptanceNum",acceptanceNum);
break;
case "financing":
resultMap.put("financing",maps);
for (Map<String, Object> map : maps) {
financingNum += (long) map.get("total");
if (map.get("statusText").equals("放款完成")){
disbursementMoney += (double)map.get("disbursementMoney");
}
}
li.put("financingNum",financingNum);
li.put("disbursementMoney",financingNum);
break;
default:
resultMap.put("inverter",maps);
......
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