| 
														
															@@ -39,8 +39,8 @@ public class LandService extends BaseService<Land,Long> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Map<Integer,String> namesMap = townService.getNames(districtCode); 
														 | 
														
														 | 
														
															         Map<Integer,String> namesMap = townService.getNames(districtCode); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         TownStat sumStat = new TownStat(); 
														 | 
														
														 | 
														
															         TownStat sumStat = new TownStat(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sumStat.setTownName("汇总信息"); 
														 | 
														
														 | 
														
															         sumStat.setTownName("汇总信息"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        sumStat.setSumMap(new HashMap<>()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         townStatList.add(sumStat); 
														 | 
														
														 | 
														
															         townStatList.add(sumStat); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        HashMap<String,LandAreaStat > sumMap = new HashMap<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         for(Object[] o : res){ 
														 | 
														
														 | 
														
															         for(Object[] o : res){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if(currentTownId == null || !o[0].toString().equals(currentTownId.toString())){ 
														 | 
														
														 | 
														
															             if(currentTownId == null || !o[0].toString().equals(currentTownId.toString())){ 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -62,15 +62,21 @@ public class LandService extends BaseService<Land,Long> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             bean.setCount(Integer.valueOf(o[3].toString())); 
														 | 
														
														 | 
														
															             bean.setCount(Integer.valueOf(o[3].toString())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             townStat.getList().add(bean); 
														 | 
														
														 | 
														
															             townStat.getList().add(bean); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             //汇总信息 
														 | 
														
														 | 
														
															             //汇总信息 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            LandAreaStat sum = sumStat.getSumMap().get(bean.getParcelType()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            LandAreaStat sum = sumMap.get(bean.getParcelType()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if(sum == null){ 
														 | 
														
														 | 
														
															             if(sum == null){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 sum = new LandAreaStat(bean.getParcelType(), bean.getName(), bean.getColor()); 
														 | 
														
														 | 
														
															                 sum = new LandAreaStat(bean.getParcelType(), bean.getName(), bean.getColor()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                sumStat.getSumMap().put(bean.getParcelType().toString(), sum); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                sumMap.put(bean.getParcelType().toString(), sum); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sum.setArea(sum.getArea() + bean.getArea()); 
														 | 
														
														 | 
														
															             sum.setArea(sum.getArea() + bean.getArea()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sum.setCount(sum.getCount() + bean.getCount()); 
														 | 
														
														 | 
														
															             sum.setCount(sum.getCount() + bean.getCount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //组装汇总List 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        LandAreaStat[] sumArrays = new LandAreaStat[sumMap.size()]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        for(String key : sumMap.keySet()){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            sumArrays[Integer.valueOf(key)] = sumMap.get(key); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        sumStat.setList(Arrays.asList(sumArrays)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return townStatList; 
														 | 
														
														 | 
														
															         return townStatList; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -84,31 +90,48 @@ public class LandService extends BaseService<Land,Long> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return percent; 
														 | 
														
														 | 
														
															         return percent; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    public List<CropAreaStat> getCropAreaStat(String district, Integer townId, Date date) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public List<TownStatCrop> getCropAreaStat(Date date, String districtCode) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Double percent = getPercent(date); 
														 | 
														
														 | 
														
															         Double percent = getPercent(date); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        List<Object[]> res = landRepository.statParcelTypeAll(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        List<TownStat> townStatList = new ArrayList<>(30); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Integer currentTownId = null; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        TownStat townStat = null; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Map<Integer,String> namesMap = townService.getNames(districtCode); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        TownStat sumStat = new TownStat(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        sumStat.setTownName("汇总信息"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//        sumStat.setSumMap(new HashMap<>()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        townStatList.add(sumStat); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        List<CropAreaStat> list = new ArrayList<>(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        List<Object[]> res = null; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if(townId != null) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            String wkt = townService.findWktById(townId); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            res = landRepository.statCropType(wkt); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        }else if(StringUtils.isNotBlank(district)) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            String wkt = districtRepository.findWktByCode(district); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            res = landRepository.statCropType(wkt); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        }else{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            res =landRepository.statCropTypeAll(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        res.stream().forEach(o -> { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            Double area = (Double)o[1]; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            CropAreaStat bean = new CropAreaStat(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            bean.setName(CropAreaStat.castName(o[0].toString())); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            bean.setColor(CropAreaStat.castColor(o[0].toString())); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        for(Object[] o : res){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if(currentTownId == null || !o[0].toString().equals(currentTownId.toString())){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                townStat = new TownStat(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                townStat.setList(new ArrayList<>()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                currentTownId = Integer.valueOf(o[0].toString()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                townStat.setTownId(currentTownId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                townStat.setTownName(namesMap.get(currentTownId)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                townStatList.add(townStat); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            LandAreaStat bean = new LandAreaStat(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            bean.setParcelType(Integer.valueOf(o[1].toString())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            bean.setColor(LandAreaStat.castColor(bean.getParcelType())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            bean.setName(LandAreaStat.castName(bean.getParcelType())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            Double area = (Double)o[2]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             bean.setArea((area + area / 2) / 1000); 
														 | 
														
														 | 
														
															             bean.setArea((area + area / 2) / 1000); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             bean.setArea(bean.getArea() * percent); 
														 | 
														
														 | 
														
															             bean.setArea(bean.getArea() * percent); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            bean.setCount(Integer.valueOf(o[2].toString())); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            list.add(bean); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        }); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        return list; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            bean.setCount(Integer.valueOf(o[3].toString())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            townStat.getList().add(bean); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            //汇总信息 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//            LandAreaStat sum = sumStat.getSumMap().get(bean.getParcelType()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//            if(sum == null){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//                sum = new LandAreaStat(bean.getParcelType(), bean.getName(), bean.getColor()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//                sumStat.getSumMap().put(bean.getParcelType().toString(), sum); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//            sum.setArea(sum.getArea() + bean.getArea()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//            sum.setCount(sum.getCount() + bean.getCount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return null; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public List<Land> list(String district, Integer townId, Integer limit, String cropType){ 
														 | 
														
														 | 
														
															     public List<Land> list(String district, Integer townId, Integer limit, String cropType){ 
														 |