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 @@
<select id="surveyStatusTotal" resultType="map">
SELECT
SUM(CASE WHEN ps.process_status = '不通过' THEN 1 ELSE 0 END) AS '未通过',
SUM(CASE WHEN ps.process_status = '进行中' AND ps.business_status = '通过' THEN 1 ELSE 0 END) AS '已完成(法务审核)',
SUM(CASE WHEN ps.process_status = '完成' THEN 1 ELSE 0 END) 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 = '不通过' THEN 1 ELSE 0 END)) AS SIGNED)AS '未通过',
CAST(FLOOR(SUM(CASE WHEN ps.process_status = '进行中' AND ps.business_status = '通过' THEN 1 ELSE 0 END)) AS SIGNED) AS '已完成(法务审核)',
CAST(FLOOR(SUM(CASE WHEN ps.process_status = '完成' THEN 1 ELSE 0 END)) AS SIGNED) AS completeTotal,
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
<if test="developerCode != null and developerCode != ''">
AND hygf_peasant_household.developer_code = #{developerCode}
......@@ -52,9 +52,9 @@
<select id="contractStatusTotal" resultType="map">
SELECT
SUM(CASE WHEN status = '未签署' and initiate_status = '未发起' THEN 1 ELSE 0 END) AS '未发起',
SUM(CASE WHEN status = '双方已签署' THEN 1 ELSE 0 END) AS '双方已签署',
SUM(CASE WHEN status = '农户已签署' THEN 1 ELSE 0 END) AS '农户已签署'
CAST(SUM(CASE WHEN status = '未签署' and initiate_status = '未发起' THEN 1 ELSE 0 END) AS SIGNED)AS '未发起',
CAST(SUM(CASE WHEN status = '双方已签署' THEN 1 ELSE 0 END) AS SIGNED) AS '双方已签署',
CAST(SUM(CASE WHEN status = '农户已签署' THEN 1 ELSE 0 END) AS SIGNED) AS '农户已签署'
FROM
hygf_household_contract
LEFT JOIN
......@@ -104,9 +104,9 @@
<select id="preparationMoneyTotal" resultType="map">
SELECT
SUM( CASE WHEN preparation_money_state = '待发货' or preparation_money_state = '暂存发货' THEN 1 ELSE 0 END ) AS '待发货',
SUM( CASE WHEN preparation_money_state = '备货完成' THEN 1 ELSE 0 END ) AS '已收货',
SUM( CASE WHEN 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 '待发货',
CAST(SUM( CASE WHEN preparation_money_state = '备货完成' THEN 1 ELSE 0 END ) AS SIGNED) AS '已收货',
CAST(SUM( CASE WHEN preparation_money_state = '待收货' THEN 1 ELSE 0 END ) AS SIGNED)AS '已发货'
FROM
hygf_peasant_household
WHERE
......@@ -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");
resultMap.put("above",map);
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