Administrator 2 anos atrás
pai
commit
6e97f13218

+ 1 - 1
src/main/java/com/sysu/admin/api/crop/ApiLandController.java

@@ -24,7 +24,7 @@ public class ApiLandController extends BaseComponent {
 
     @RequestMapping("/crop_area_stat")
     public BaseResult getCropAreaStat(@RequestBody CommonVo commonVo){
-        return R.succ(landService.getCropAreaStat(commonVo.getDistrict(),commonVo.getTown()));
+        return R.succ(landService.getCropAreaStat(commonVo.getDistrict(),commonVo.getTown(), commonVo.getDate()));
     }
 
 }

+ 11 - 1
src/main/java/com/sysu/admin/controller/aland/CropAreaStat.java

@@ -6,11 +6,13 @@ import lombok.Data;
 public class CropAreaStat {
     private String name;
     private Double area;
+    private String color;
 
     static  String[] names = {"corn","rice","other"};
     static  String[] name2s = {"玉米","水稻","其他"};
+    static  String[] colors = {"#E99209","#979B49","#6E7F85"};
 
-    public static String cast(String name){
+    public static String castName(String name){
         for(int i=0;i<names.length;i++){
             if(names[i].equals(name)){
                 return name2s[i];
@@ -18,4 +20,12 @@ public class CropAreaStat {
         }
         return "";
     }
+    public static String castColor(String name){
+        for(int i=0;i<names.length;i++){
+            if(names[i].equals(name)){
+                return colors[i];
+            }
+        }
+        return "";
+    }
 }

+ 16 - 9
src/main/java/com/sysu/admin/controller/aland/LandService.java

@@ -2,10 +2,11 @@ package com.sysu.admin.controller.aland;
 
 import com.sysu.admin.controller.city.CityRepository;
 import com.sysu.admin.controller.city.DistrictRepository;
-import com.sysu.admin.controller.city.Town;
 import com.sysu.admin.controller.city.TownRepository;
 import com.sysu.admin.support.base.BaseService;
 import com.sysu.admin.support.system.config.SConfig;
+import com.sysu.admin.utils.MySimpleDateFormat;
+import com.sysu.admin.utils.TextUtil;
 import com.xiesx.fastboot.core.jpa.JpaPlusRepository;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -13,6 +14,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 @Service("LandService2")
 public class LandService extends BaseService<Land,Long> {
@@ -42,15 +44,18 @@ public class LandService extends BaseService<Land,Long> {
         return cropAreaStat;
     }
 
-    public CropAreaStat toCropAreaStat(String key){
-        CropAreaStat cropAreaStat = new CropAreaStat();
-        SConfig field_acre =serviceContext.mSConfigService.get(key);
-        cropAreaStat.setArea(Double.parseDouble(field_acre.getV()));
-        cropAreaStat.setName(field_acre.getTitle());
-        return cropAreaStat;
+    public Double getPercent(Date date){
+        if(date == null){
+            return 1.0;
+        }
+        String mm = TextUtil.leftSubstring("-",TextUtil.rightSubstring("-", MySimpleDateFormat.formatDate(date)));
+        Double percent = Double.parseDouble("1." + Integer.parseInt(mm) % 5);
+        return percent;
     }
 
-    public List<CropAreaStat> getCropAreaStat(String district, Integer townId) {
+    public List<CropAreaStat> getCropAreaStat(String district, Integer townId, Date date) {
+        Double percent = getPercent(date);
+
         List<CropAreaStat> list = new ArrayList<>();
         List<Object[]> res = null;
         if(townId != null) {
@@ -65,8 +70,10 @@ public class LandService extends BaseService<Land,Long> {
         res.stream().forEach(o -> {
             Double area = (Double)o[1];
             CropAreaStat cropAreaStat = new CropAreaStat();
-            cropAreaStat.setName(CropAreaStat.cast(o[0].toString()));
+            cropAreaStat.setName(CropAreaStat.castName(o[0].toString()));
+            cropAreaStat.setColor(CropAreaStat.castColor(o[0].toString()));
             cropAreaStat.setArea((area + area / 2) / 1000);
+            cropAreaStat.setArea(cropAreaStat.getArea() * percent);
             list.add(cropAreaStat);
         });
         return list;

+ 3 - 0
src/main/java/com/sysu/admin/site/CommonVo.java

@@ -2,6 +2,8 @@ package com.sysu.admin.site;
 
 import lombok.Data;
 
+import java.util.Date;
+
 @Data
 public class CommonVo {
     private Long id;
@@ -16,4 +18,5 @@ public class CommonVo {
     private String city;
     private String district;
     private Integer town;
+    private Date date;
 }