Commit d4a99495 authored by hezhuozhi's avatar hezhuozhi

Merge remote-tracking branch 'origin/developer_bw' into developer_bw

parents 9ac1e8a5 e948f0a3
...@@ -4,10 +4,10 @@ ...@@ -4,10 +4,10 @@
<select id="surveyStatusTotal" resultType="map"> <select id="surveyStatusTotal" resultType="map">
SELECT SELECT
SUM(CASE WHEN ps.process_status = '不通过' THEN 1 ELSE 0 END) AS '未通过', CAST(FLOOR(SUM(CASE WHEN ps.process_status = '不通过' THEN 1 ELSE 0 END)) AS SIGNED)AS '未通过',
SUM(CASE WHEN ps.process_status = '进行中' AND ps.business_status = '通过' THEN 1 ELSE 0 END) AS '已完成(法务审核)', CAST(FLOOR(SUM(CASE WHEN ps.process_status = '进行中' AND ps.business_status = '通过' THEN 1 ELSE 0 END)) AS SIGNED) AS '已完成(法务审核)',
SUM(CASE WHEN ps.process_status = '完成' THEN 1 ELSE 0 END) AS completeTotal, CAST(FLOOR(SUM(CASE WHEN ps.process_status = '完成' THEN 1 ELSE 0 END)) AS SIGNED) AS completeTotal,
SUM(CASE WHEN ps.process_status = '进行中' AND (ps.business_status IS NULL OR ps.design_status IS NULL OR ps.technology_status IS NULL) THEN 1 ELSE 0 END) AS '进行中(审核)', CAST(FLOOR(SUM(CASE WHEN ps.process_status = '进行中' AND (ps.business_status IS NULL OR ps.design_status IS NULL OR ps.technology_status IS NULL) THEN 1 ELSE 0 END)) AS SIGNED) AS '进行中(审核)',
( SELECT count(*) FROM hygf_peasant_household WHERE construction_state = '待勘察' and is_delete = 0 ( SELECT count(*) FROM hygf_peasant_household WHERE construction_state = '待勘察' and is_delete = 0
<if test="developerCode != null and developerCode != ''"> <if test="developerCode != null and developerCode != ''">
AND hygf_peasant_household.developer_code = #{developerCode} AND hygf_peasant_household.developer_code = #{developerCode}
...@@ -52,9 +52,9 @@ ...@@ -52,9 +52,9 @@
<select id="contractStatusTotal" resultType="map"> <select id="contractStatusTotal" resultType="map">
SELECT SELECT
SUM(CASE WHEN status = '未签署' and initiate_status = '未发起' THEN 1 ELSE 0 END) AS '未发起', CAST(SUM(CASE WHEN status = '未签署' and initiate_status = '未发起' THEN 1 ELSE 0 END) AS SIGNED)AS '未发起',
SUM(CASE WHEN status = '双方已签署' THEN 1 ELSE 0 END) AS '双方已签署', CAST(SUM(CASE WHEN status = '双方已签署' THEN 1 ELSE 0 END) AS SIGNED) AS '双方已签署',
SUM(CASE WHEN status = '农户已签署' THEN 1 ELSE 0 END) AS '农户已签署' CAST(SUM(CASE WHEN status = '农户已签署' THEN 1 ELSE 0 END) AS SIGNED) AS '农户已签署'
FROM FROM
hygf_household_contract hygf_household_contract
LEFT JOIN LEFT JOIN
...@@ -104,9 +104,9 @@ ...@@ -104,9 +104,9 @@
<select id="preparationMoneyTotal" resultType="map"> <select id="preparationMoneyTotal" resultType="map">
SELECT SELECT
SUM( CASE WHEN preparation_money_state = '待发货' or preparation_money_state = '暂存发货' THEN 1 ELSE 0 END ) AS '待发货', CAST(SUM( CASE WHEN preparation_money_state = '待发货' or preparation_money_state = '暂存发货' THEN 1 ELSE 0 END ) AS SIGNED)AS '待发货',
SUM( CASE WHEN preparation_money_state = '备货完成' THEN 1 ELSE 0 END ) AS '已收货', CAST(SUM( CASE WHEN preparation_money_state = '备货完成' THEN 1 ELSE 0 END ) AS SIGNED) AS '已收货',
SUM( CASE WHEN preparation_money_state = '待收货' THEN 1 ELSE 0 END ) AS '已发货' CAST(SUM( CASE WHEN preparation_money_state = '待收货' THEN 1 ELSE 0 END ) AS SIGNED)AS '已发货'
FROM FROM
hygf_peasant_household hygf_peasant_household
WHERE WHERE
...@@ -250,7 +250,8 @@ ...@@ -250,7 +250,8 @@
SELECT SELECT
COUNT( * ) AS total, COUNT( * ) AS total,
status AS statusText, 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 FROM
hygf_financing_info hygf_financing_info
LEFT JOIN hygf_work_order_power_station ps ON ps.peasant_household_id = hygf_financing_info.peasant_household_id 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 { ...@@ -28,40 +28,63 @@ public class StatisticsHomepageServiceImpl {
public Map<String, Object> statisticsHomepage( String developerCode,String regionalCompaniesCode, String province, String city, String district){ 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> 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); 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); 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); 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); 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); 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); 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); 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); 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<String> regionNodeByCode = jpStationMapper.getRegionNodeByCode(province);
List<Map<String, Object>> inverterMaps = statisticsHomepageMapper.inverterTotal(developerCode, regionalCompaniesCode, province, city, district,regionNodeByCode); List<Map<String, Object>> inverterMaps = statisticsHomepageMapper.inverterTotal(developerCode, regionalCompaniesCode, province, city, district,regionNodeByCode);
this.resuleMapBuild(resultMap,inverterMaps,"inverter"); this.resuleMapBuild(map,resultMap,inverterMaps,"inverter");
resultMap.put("above",map);
return resultMap; 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; long total= 0;
double realScale = 0.00; 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<>(); List<Map<String, Object>> list = new ArrayList<>();
switch(type){ switch(type){
case "surey" : case "surey" :
Map<String, Object> surey = maps.get(0); Map<String, Object> surey = maps.get(0);
surey.keySet().forEach(e->{ for (String e : surey.keySet()) {
if (!e.equals("审核完成")){ if (!e.equals("completeTotal")){
list.add( MapBuilder.<String, Object>create().put("statusText",e).put("total",surey.get(e)).build()); 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("surey",list);
resultMap.put("sureyComplete",surey.get("completeTotal")); resultMap.put("sureyComplete",surey.get("completeTotal"));
break; break;
...@@ -87,21 +110,27 @@ public class StatisticsHomepageServiceImpl { ...@@ -87,21 +110,27 @@ public class StatisticsHomepageServiceImpl {
break; break;
case "preparationMoney": case "preparationMoney":
Map<String, Object> preparationMoney = maps.get(0); 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()); list.add( MapBuilder.<String, Object>create().put("statusText",e).put("total",preparationMoney.get(e)).build());
}); preparationNum += (long) preparationMoney.get(e);
}
resultMap.put("preparationMoney",list); resultMap.put("preparationMoney",list);
li.put("preparationNum",preparationNum);
break; break;
case "workOrder": case "workOrder":
Iterator<Map<String, Object>> iterator = maps.iterator(); Iterator<Map<String, Object>> iterator = maps.iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
Map<String, Object> map = iterator.next(); Map<String, Object> map = iterator.next();
workNum += (long) map.get("total");
stationRealScale += (double)map.get("realScale");
if ("审核中".equals(map.get("statusText"))) { if ("审核中".equals(map.get("statusText"))) {
total += (long) map.get("total"); total += (long) map.get("total");
realScale += (double) map.get("realScale"); realScale += (double) map.get("realScale");
iterator.remove(); 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()); maps.add(MapBuilder.<String, Object>create().put("statusText","审核中").put("total",total).put("realScale",realScale).build());
resultMap.put("workOrder",maps); resultMap.put("workOrder",maps);
break; break;
...@@ -109,6 +138,7 @@ public class StatisticsHomepageServiceImpl { ...@@ -109,6 +138,7 @@ public class StatisticsHomepageServiceImpl {
Iterator<Map<String, Object>> iterator1 = maps.iterator(); Iterator<Map<String, Object>> iterator1 = maps.iterator();
while (iterator1.hasNext()) { while (iterator1.hasNext()) {
Map<String, Object> map = iterator1.next(); Map<String, Object> map = iterator1.next();
gridNum += (long) map.get("total");
if ("审核中".equals(map.get("statusText"))) { if ("审核中".equals(map.get("statusText"))) {
total +=(long) map.get("total"); total +=(long) map.get("total");
realScale += (double) map.get("realScale"); realScale += (double) map.get("realScale");
...@@ -117,11 +147,13 @@ public class StatisticsHomepageServiceImpl { ...@@ -117,11 +147,13 @@ public class StatisticsHomepageServiceImpl {
} }
maps.add(MapBuilder.<String, Object>create().put("statusText","审核中").put("total",total).put("realScale",realScale).build()); maps.add(MapBuilder.<String, Object>create().put("statusText","审核中").put("total",total).put("realScale",realScale).build());
resultMap.put("grid",maps); resultMap.put("grid",maps);
li.put("gridNum",gridNum);
break; break;
case "acceptance": case "acceptance":
Iterator<Map<String, Object>> iterator2 = maps.iterator(); Iterator<Map<String, Object>> iterator2 = maps.iterator();
while (iterator2.hasNext()) { while (iterator2.hasNext()) {
Map<String, Object> map = iterator2.next(); Map<String, Object> map = iterator2.next();
acceptanceNum += (long) map.get("total");
if ("审核中".equals(map.get("statusText"))) { if ("审核中".equals(map.get("statusText"))) {
total += (long) map.get("total"); total += (long) map.get("total");
realScale += (double) map.get("realScale"); realScale += (double) map.get("realScale");
...@@ -130,9 +162,18 @@ public class StatisticsHomepageServiceImpl { ...@@ -130,9 +162,18 @@ public class StatisticsHomepageServiceImpl {
} }
maps.add(MapBuilder.<String, Object>create().put("statusText","审核中").put("total",total).put("realScale",realScale).build()); maps.add(MapBuilder.<String, Object>create().put("statusText","审核中").put("total",total).put("realScale",realScale).build());
resultMap.put("acceptance",maps); resultMap.put("acceptance",maps);
li.put("acceptanceNum",acceptanceNum);
break; break;
case "financing": case "financing":
resultMap.put("financing",maps); 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; break;
default: default:
resultMap.put("inverter",maps); 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