|
@@ -33,7 +33,8 @@ public class BatchServiceImpl{
|
|
|
year ="";
|
|
year ="";
|
|
|
}
|
|
}
|
|
|
List<Map<String,Object>> ydbpNotSupplyList = ydbpMapper.queryRemainGeomListByYearOfYdbp(year);
|
|
List<Map<String,Object>> ydbpNotSupplyList = ydbpMapper.queryRemainGeomListByYearOfYdbp(year);
|
|
|
- List<Map<String,Object>> ydbpDataNotSupplyList = ydbpDataMapper.queryRemainGeomListByYear(year);
|
|
|
|
|
|
|
+ List<Map<String,Object>> ydbpDataNotSupplyList = ydbpDataMapper.queryDifferenceGeomAreaByYear(year);
|
|
|
|
|
+
|
|
|
if(CollectionUtils.isNotEmpty(ydbpNotSupplyList)){
|
|
if(CollectionUtils.isNotEmpty(ydbpNotSupplyList)){
|
|
|
resList.addAll(ydbpNotSupplyList);
|
|
resList.addAll(ydbpNotSupplyList);
|
|
|
}
|
|
}
|
|
@@ -44,6 +45,7 @@ public class BatchServiceImpl{
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* batchType (1-单批次项目,2-报批项目,0-全部)
|
|
* batchType (1-单批次项目,2-报批项目,0-全部)
|
|
|
* 获取项目列表
|
|
* 获取项目列表
|
|
@@ -247,11 +249,104 @@ public class BatchServiceImpl{
|
|
|
return resList;
|
|
return resList;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
public List<Map<String,Object>> approvalAndNotSupply(String year) {
|
|
public List<Map<String,Object>> approvalAndNotSupply(String year) {
|
|
|
if (StringUtils.isBlank(year) || "0".equals(year)) {
|
|
if (StringUtils.isBlank(year) || "0".equals(year)) {
|
|
|
year = "";
|
|
year = "";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ List<Map<String,Object>> resList = new ArrayList<>();
|
|
|
|
|
+ List<Map<String,Object>> singleBatchList = ydbpMapper.queryRemainGeomAreaByYearOfYdbp();
|
|
|
|
|
+ List<Map<String,Object>> reportBatchList = ydbpDataMapper.queryDifferenceGeomAreaByYear("");
|
|
|
|
|
+
|
|
|
|
|
+ Map<String,Map<String,Object>> groupedSingleBatch = new HashMap<>();
|
|
|
|
|
+ Map<String,Map<String,Object>> groupedReportBatch = new HashMap<>();
|
|
|
|
|
+
|
|
|
|
|
+ if(CollectionUtils.isNotEmpty(singleBatchList)) {
|
|
|
|
|
+ groupedSingleBatch = singleBatchList.stream()
|
|
|
|
|
+ .collect(Collectors.toMap(
|
|
|
|
|
+ s -> {
|
|
|
|
|
+ Object nfStr = s.get("stat_year");
|
|
|
|
|
+ if(nfStr==null || String.valueOf(nfStr).isEmpty()||"1000".equals(String.valueOf(nfStr))){
|
|
|
|
|
+ return "其它";
|
|
|
|
|
+ }
|
|
|
|
|
+ return String.valueOf(nfStr);
|
|
|
|
|
+ },
|
|
|
|
|
+ s -> s // value直接是当前对象
|
|
|
|
|
+ ));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if(CollectionUtils.isNotEmpty(reportBatchList)) {
|
|
|
|
|
+ groupedReportBatch = reportBatchList.stream()
|
|
|
|
|
+ .collect(Collectors.toMap(s->{
|
|
|
|
|
+ Object nfStr = s.get("nf");
|
|
|
|
|
+ if(nfStr==null || String.valueOf(nfStr).isEmpty()||"1000".equals(String.valueOf(nfStr))){
|
|
|
|
|
+ return "其它";
|
|
|
|
|
+ }
|
|
|
|
|
+ return String.valueOf(nfStr);
|
|
|
|
|
+ },
|
|
|
|
|
+ s->s));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Set<String> yearSet = new TreeSet<>();
|
|
|
|
|
+ if(MapUtils.isNotEmpty(groupedSingleBatch)) {
|
|
|
|
|
+ yearSet.addAll(groupedSingleBatch.keySet());
|
|
|
|
|
+ }
|
|
|
|
|
+ if(MapUtils.isNotEmpty(groupedReportBatch)) {
|
|
|
|
|
+ yearSet.addAll(groupedReportBatch.keySet());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ for(String yearKey : yearSet){
|
|
|
|
|
+ Map<String,Object> single = groupedSingleBatch.get(yearKey);
|
|
|
|
|
+ Map<String,Object> report = groupedReportBatch.get(yearKey);
|
|
|
|
|
+
|
|
|
|
|
+ Double singleArea = Objects.nonNull(single) ? (Double)single.get("total_area_mu"):0d;
|
|
|
|
|
+ Double reportArea = Objects.nonNull(report) ? (Double) report.get("rest_area"):0d;
|
|
|
|
|
+
|
|
|
|
|
+ Long singleCount = Objects.nonNull(single) ? (Long) single.get("patch_count"):0;
|
|
|
|
|
+ Long reportCount = 0L;
|
|
|
|
|
+
|
|
|
|
|
+ Map<String,Object> itemMap = new HashMap<>();
|
|
|
|
|
+ itemMap.put("year",yearKey);
|
|
|
|
|
+ itemMap.put("area",String.format("%.2f", (singleArea+reportArea)));
|
|
|
|
|
+ itemMap.put("count",singleCount+reportCount);
|
|
|
|
|
+ resList.add(itemMap);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if(CollectionUtils.isNotEmpty(resList)) {
|
|
|
|
|
+ int tmpYear = 2015;
|
|
|
|
|
+ double tmpArea = 0d;
|
|
|
|
|
+ List<Map<String,Object>> newResList = new ArrayList<>();
|
|
|
|
|
+ for(Map<String,Object> map : resList) {
|
|
|
|
|
+ String theYear = String.valueOf(map.get("year"));
|
|
|
|
|
+ if (StringUtils.isNumeric(theYear) && Integer.parseInt(theYear) <= tmpYear) {
|
|
|
|
|
+ tmpArea += Double.parseDouble(String.valueOf(map.get("area")));
|
|
|
|
|
+ }else {
|
|
|
|
|
+ newResList.add(map);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // 这里增加到list中
|
|
|
|
|
+ Map<String,Object> itemMap = new HashMap<>();
|
|
|
|
|
+ itemMap.put("year","2016年前");
|
|
|
|
|
+ itemMap.put("area",String.format("%.2f", tmpArea));
|
|
|
|
|
+ itemMap.put("count",0);
|
|
|
|
|
+ newResList.add(itemMap);
|
|
|
|
|
+ resList = newResList;
|
|
|
|
|
+ }
|
|
|
|
|
+ return resList;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ public List<Map<String,Object>> approvalAndNotSupply_delete(String year) {
|
|
|
|
|
+ if (StringUtils.isBlank(year) || "0".equals(year)) {
|
|
|
|
|
+ year = "";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
List<Map<String,Object>> resList = new ArrayList<>();
|
|
List<Map<String,Object>> resList = new ArrayList<>();
|
|
|
|
|
|
|
|
List<Map<String,Object>> singleBatchList = ydbpMapper.queryRemainGeomAreaByYearOfYdbp();
|
|
List<Map<String,Object>> singleBatchList = ydbpMapper.queryRemainGeomAreaByYearOfYdbp();
|
|
@@ -320,12 +415,6 @@ public class BatchServiceImpl{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* 年度统计
|
|
* 年度统计
|
|
|
* @param year
|
|
* @param year
|
|
@@ -389,6 +478,38 @@ public class BatchServiceImpl{
|
|
|
itemMap.put("reportCount",reportCount);
|
|
itemMap.put("reportCount",reportCount);
|
|
|
resList.add(itemMap);
|
|
resList.add(itemMap);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ //这里折合2015年前的数据
|
|
|
|
|
+ if(CollectionUtils.isNotEmpty(resList)){
|
|
|
|
|
+ int tmpYear = 2015;
|
|
|
|
|
+ Double tmpSingleArea = 0d;
|
|
|
|
|
+ Double tmpReportArea = 0d;
|
|
|
|
|
+ Integer tmpSingleCount = 0;
|
|
|
|
|
+ Integer tmpReportCount = 0;
|
|
|
|
|
+
|
|
|
|
|
+ List<Map<String,Object>> newResList = new ArrayList<>();
|
|
|
|
|
+ for(Map<String,Object> map:resList){
|
|
|
|
|
+ String theYear = String.valueOf(map.get("year"));
|
|
|
|
|
+ if(StringUtils.isNumeric(theYear) && Integer.parseInt(theYear)>tmpYear){
|
|
|
|
|
+ newResList.add(map);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ tmpSingleArea += (Double) map.get("singleArea");
|
|
|
|
|
+ tmpReportArea += (Double) map.get("reportArea");
|
|
|
|
|
+ tmpSingleCount += (Integer) map.get("singleCount");
|
|
|
|
|
+ tmpReportCount += (Integer) map.get("reportCount");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Map<String,Object> itemMap = new HashMap<>();
|
|
|
|
|
+ itemMap.put("year","2016年前");
|
|
|
|
|
+ itemMap.put("singleArea",tmpSingleArea);
|
|
|
|
|
+ itemMap.put("reportArea",tmpReportArea);
|
|
|
|
|
+ itemMap.put("singleCount",tmpSingleCount);
|
|
|
|
|
+ itemMap.put("reportCount",tmpReportCount);
|
|
|
|
|
+ newResList.add(itemMap);
|
|
|
|
|
+ resList = newResList;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return resList;
|
|
return resList;
|
|
|
}
|
|
}
|
|
|
|
|
|