Administrator 2 éve
szülő
commit
e98408fd14
48 módosított fájl, 248 hozzáadás és 314 törlés
  1. 61 9
      src/main/java/com/sysu/admin/api/crop/CropController.java
  2. 12 0
      src/main/java/com/sysu/admin/api/crop/CropVo.java
  3. 57 0
      src/main/java/com/sysu/admin/api/upload/ApiUploadRecordController.java
  4. 18 6
      src/main/java/com/sysu/admin/controller/crop/CropLand.java
  5. 9 4
      src/main/java/com/sysu/admin/controller/crop/CropLandRepository.java
  6. 40 0
      src/main/java/com/sysu/admin/controller/crop/CropLandService.java
  7. 2 2
      src/main/java/com/sysu/admin/controller/crop/CropLandVo.java
  8. 3 3
      src/main/java/com/sysu/admin/controller/crop/images/CropImage.java
  9. 7 0
      src/main/java/com/sysu/admin/controller/crop/images/CropImageRepository.java
  10. 15 0
      src/main/java/com/sysu/admin/controller/crop/images/CropImageService.java
  11. 0 31
      src/main/java/com/sysu/admin/controller/geo/CityLandService.java
  12. 10 10
      src/main/java/com/sysu/admin/controller/geo/CropLandController.java
  13. 0 7
      src/main/java/com/sysu/admin/controller/geo/land/images/FieldPointImageRepository.java
  14. 0 27
      src/main/java/com/sysu/admin/controller/geo/land/images/FieldPointImageService.java
  15. 0 93
      src/main/java/com/sysu/admin/controller/geo/land/point/FieldPoint.java
  16. 0 51
      src/main/java/com/sysu/admin/controller/geo/land/point/FieldPointController.java
  17. 0 7
      src/main/java/com/sysu/admin/controller/geo/land/point/FieldPointRepository.java
  18. 0 22
      src/main/java/com/sysu/admin/controller/geo/land/point/FieldPointService.java
  19. 0 32
      src/main/java/com/sysu/admin/controller/geo/land/point/FieldPointVo.java
  20. 4 7
      src/main/java/com/sysu/admin/support/base/RepositoryContext.java
  21. 8 1
      src/main/java/com/sysu/admin/utils/shape/GeoCastUtil.java
  22. BIN
      src/main/webapp/images/1656059819291_51.png
  23. BIN
      src/main/webapp/images/1656294546583_51.png
  24. BIN
      src/main/webapp/images/1656294915782_51.png
  25. BIN
      src/main/webapp/images/1656296562437_51.png
  26. BIN
      src/main/webapp/images/1656321960049_75.png
  27. BIN
      src/main/webapp/images/1656468231924_51.png
  28. BIN
      src/main/webapp/images/1656468962788_51.pdf
  29. BIN
      src/main/webapp/images/1656469391661_51.pdf
  30. BIN
      src/main/webapp/images/1656470493504_51.pdf
  31. BIN
      src/main/webapp/images/1656481725603_51.pdf
  32. BIN
      src/main/webapp/images/1656481960194_51.pdf
  33. BIN
      src/main/webapp/images/1656482053738_51.pdf
  34. BIN
      src/main/webapp/images/1656482697917_51.pdf
  35. BIN
      src/main/webapp/images/1656482765488_51.png
  36. BIN
      src/main/webapp/images/1656482768200_51.png
  37. BIN
      src/main/webapp/images/1656482808861_51.png
  38. BIN
      src/main/webapp/images/1656482810765_51.png
  39. BIN
      src/main/webapp/images/1656482923860_51.png
  40. BIN
      src/main/webapp/images/1656482934978_51.png
  41. BIN
      src/main/webapp/images/1656483496346_51.pdf
  42. BIN
      src/main/webapp/images/1656483574004_51.pdf
  43. BIN
      src/main/webapp/images/1656484210625_51.pdf
  44. BIN
      src/main/webapp/images/1656486408936_51.pdf
  45. BIN
      src/main/webapp/images/1656487224452_51.pdf
  46. BIN
      src/main/webapp/images/1656488180549_51.pdf
  47. 1 1
      src/main/webapp/static/package/cityland.js
  48. 1 1
      src/main/webapp/static/package/geo_server_context.js

+ 61 - 9
src/main/java/com/sysu/admin/api/crop/CropController.java

@@ -1,35 +1,87 @@
 package com.sysu.admin.api.crop;
 
 import com.alibaba.fastjson.JSON;
-import com.sysu.admin.controller.geo.CityLand;
-import com.sysu.admin.controller.geo.CityLandService;
+import com.google.common.collect.Lists;
+import com.sysu.admin.controller.crop.CropLand;
+import com.sysu.admin.controller.crop.CropLandService;
+import com.sysu.admin.support.base.BaseComponent;
+import com.sysu.admin.support.shiro.ShiroService;
+import com.sysu.admin.support.system.config.SConfigService;
+import com.sysu.admin.utils.TextUtil;
 import com.sysu.admin.utils.shape.GeoCastUtil;
 import com.xiesx.fastboot.base.result.BaseResult;
 import com.xiesx.fastboot.base.result.R;
+import com.xiesx.fastboot.utils.CopyUtils;
 import org.opengis.referencing.FactoryException;
 import org.opengis.referencing.operation.TransformException;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 @RequestMapping("/api/crop")
 @RestController
-public class CropController {
+public class CropController extends BaseComponent {
+    @Autowired
+    CropLandService cityLandService;
+    @Autowired
+    SConfigService mSConfigService;
     @Autowired
-    CityLandService cityLandService;
+    ShiroService mShiroService;
 
     @RequestMapping("/list")
     public BaseResult list(@RequestBody String data) throws FactoryException, TransformException {
         CropVo vo = JSON.parseObject(data, CropVo.class);
-        List<CityLand> cityLandList = cityLandService.findByBuffer(vo.getPoint(),vo.getMeter());
+        List<CropLand> cityLandList = cityLandService.findByBuffer(vo.getPoint(),vo.getMeter());
         cityLandList.stream().forEach(cityLand -> {
-            cityLand.setWkt(GeoCastUtil.geomToWkt(cityLand.getGeom()));
+            cityLand.setGeojson(GeoCastUtil.gjson.toString(cityLand.getGeom()));
         });
         return R.succ(cityLandList);
     }
 
+    @RequestMapping("/updateStatus")
+    public BaseResult updateStatus(@RequestBody String data){
+        CropVo vo = JSON.parseObject(data, CropVo.class);
+        cityLandService.updateStatus(vo.getId(),vo.getStatus());
+        return R.succ();
+    }
 
+    @PostMapping("/uploadData")
+    public BaseResult uploadData(@RequestParam("fay") MultipartFile fay,
+                                 @RequestParam("center") MultipartFile center,
+                                 @RequestParam("near") MultipartFile near,
+                                 String json){
+        CropVo vo = JSON.parseObject(json, CropVo.class);
+        CropLand bean = cityLandService.findOne(vo.getId());
+        BeanUtils.copyProperties(vo, bean, CopyUtils.nullNames(vo));
+        saveFile(fay, "fay");
+        saveFile(center, "center");
+        saveFile(near, "near");
+
+        return R.succ();
+    }
+
+    public String saveFile(MultipartFile file, String sign){
+        if(file != null){
+            String imageDirPath =  mSConfigService.getV("imageDirPath");
+            String hz = TextUtil.rightSubstring(".",file.getOriginalFilename());
+            String newFileName = System.currentTimeMillis() + "_" + mShiroService.getPrincipalId()+"_"+sign+"." + hz;
+            try {
+                //复制到零时文件
+                File target = new File(imageDirPath + newFileName);
+                file.transferTo(target);
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+            return newFileName;
+        }
+        return "";
+    }
 
 }

+ 12 - 0
src/main/java/com/sysu/admin/api/crop/CropVo.java

@@ -1,9 +1,21 @@
 package com.sysu.admin.api.crop;
 
+import com.sysu.admin.controller.crop.images.CropImage;
 import lombok.Data;
+import lombok.experimental.FieldNameConstants;
 
 @Data
+@FieldNameConstants(innerTypeName = "FIELDS")
 public class CropVo {
+    private Long id;
+    private Integer status;
     private Double[] point;
     private Integer meter;
+    private Integer cropType;
+    private Integer growingPeriod;
+    private Integer yield;
+    private CropImage fay;
+    private CropImage center;
+    private CropImage near;
+
 }

+ 57 - 0
src/main/java/com/sysu/admin/api/upload/ApiUploadRecordController.java

@@ -0,0 +1,57 @@
+package com.sysu.admin.api.upload;
+
+import com.sysu.admin.controller.upload.UploadRecord;
+import com.sysu.admin.controller.upload.UploadRecordRepository;
+import com.sysu.admin.support.base.ServiceContext;
+import com.sysu.admin.utils.TextUtil;
+import com.xiesx.fastboot.base.result.BaseResult;
+import com.xiesx.fastboot.base.result.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+@RequestMapping("/api")
+@Controller
+public class ApiUploadRecordController extends ServiceContext {
+
+    @Autowired
+    UploadRecordRepository mUploadRecordRepository;
+
+    /**
+     * 上传图片
+     */
+    @RequestMapping("upload_img")
+    @ResponseBody
+    public BaseResult uploadImg(@RequestParam("file") MultipartFile file) {
+        if(file != null) {
+            String imageDirPath =  mSConfigService.getV("imageDirPath");
+            String hz = TextUtil.rightSubstring(".",file.getOriginalFilename());
+            String newFileName = System.currentTimeMillis() + "_" + mShiroService.getPrincipalId()+"." + hz;
+            try {
+                //复制到零时文件
+                File target = new File(imageDirPath + newFileName);
+                file.transferTo(target);
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+            UploadRecord uploadRecord = new UploadRecord().setFilename(newFileName);
+            mUploadRecordRepository.save(uploadRecord);
+            Map<String,Object> map = new HashMap();
+            map.put("filename",newFileName);
+            map.put("id",uploadRecord.getId());
+            map.put("type",hz);
+            return R.succ(map);
+        }else {
+            return R.fail();
+        }
+    }
+
+}

+ 18 - 6
src/main/java/com/sysu/admin/controller/geo/CityLand.java → src/main/java/com/sysu/admin/controller/crop/CropLand.java

@@ -1,7 +1,6 @@
-package com.sysu.admin.controller.geo;
+package com.sysu.admin.controller.crop;
 
 import com.alibaba.fastjson.annotation.JSONField;
-import com.sysu.admin.controller.geo.land.point.FieldPoint;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -9,8 +8,6 @@ import lombok.experimental.FieldNameConstants;
 import org.hibernate.annotations.DynamicInsert;
 import org.hibernate.annotations.DynamicUpdate;
 import org.locationtech.jts.geom.MultiPolygon;
-import org.springframework.data.annotation.CreatedBy;
-import org.springframework.data.annotation.CreatedDate;
 
 import javax.persistence.*;
 import java.util.Date;
@@ -23,7 +20,7 @@ import java.util.Date;
 @Entity
 @DynamicInsert
 @DynamicUpdate
-public class CityLand {
+public class CropLand {
     /**
      * 主键
      */
@@ -40,6 +37,8 @@ public class CityLand {
 
     @Transient
     private String wkt;
+    @Transient
+    private String geojson;
     /**
      * 耕地类型
      */
@@ -51,6 +50,19 @@ public class CityLand {
     @Column
     private Integer growingPeriod;
 
+
+    /**
+     * 采集经度
+     */
+    @Column
+    private Double pickLongitude;
+
+    /**
+     * 采集纬度
+     */
+    @Column
+    private Double pickLatitude;
+
     /**
      * 产量
      */
@@ -64,7 +76,7 @@ public class CityLand {
     private Date receiveDate;
 
     @Column(nullable = false)
-    private Date finishDate;
+    private Date pickDate;
 
     /**
      * 创建人

+ 9 - 4
src/main/java/com/sysu/admin/controller/geo/CityLandRepository.java → src/main/java/com/sysu/admin/controller/crop/CropLandRepository.java

@@ -1,21 +1,26 @@
-package com.sysu.admin.controller.geo;
+package com.sysu.admin.controller.crop;
 
 import com.xiesx.fastboot.core.jpa.JpaPlusRepository;
+import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Query;
 
 import java.util.List;
 
 
-public interface CityLandRepository extends JpaPlusRepository<CityLand, Long> {
+public interface CropLandRepository extends JpaPlusRepository<CropLand, Long> {
 
 
     @Query(value = "SELECT * FROM \"p_crop\" where St_within(st_geomfromtext(?1), geom) limit 1", nativeQuery = true)
-    CityLand findByPoint(String pointWKT);
+    CropLand findByPoint(String pointWKT);
 
 
     @Query(value = "SELECT * from \"p_crop\" where St_Intersects(geom," +
             " ST_Buffer(st_geomfromtext(?1),?2, 'quad_segs=8')" +
             ");",nativeQuery = true)
-    List<CityLand> findByBuffer(String pointWKT, Double degree);
+    List<CropLand> findByBuffer(String pointWKT, Double degree);
+
+    @Query(value = "update \"p_crop\" set status = ?2 where id = ?1", nativeQuery = true)
+    @Modifying
+    int updateStatus(Long id, Integer status);
 
 }

+ 40 - 0
src/main/java/com/sysu/admin/controller/crop/CropLandService.java

@@ -0,0 +1,40 @@
+package com.sysu.admin.controller.crop;
+
+import com.sysu.admin.controller.geo.land.LandTaskStatus;
+import com.sysu.admin.support.base.BaseService;
+import com.xiesx.fastboot.core.jpa.JpaPlusRepository;
+import org.springframework.stereotype.Service;
+
+import javax.transaction.Transactional;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class CropLandService extends BaseService<CropLand, Long> {
+
+
+    public List<CropLand> findByBuffer(Double[] point, Integer meter){
+        double degree = meter / (2 * Math.PI * 6371004) * 360;
+        return mCropLandRepository.findByBuffer("Point("+point[0]+" "+point[1]+")",degree);
+    }
+
+    public CropLand findByPoint(double x, double y){
+        CropLand cityLand = mCropLandRepository.findByPoint("Point("+x+" "+y+")");
+        return cityLand;
+    }
+
+    @Transactional
+    public void updateStatus(Long id, Integer status){
+        CropLand bean = mCropLandRepository.findOne(id);
+        bean.setStatus(status);
+        if(status.equals(LandTaskStatus.receive)) {
+            bean.setReceiveDate(new Date());
+        }
+        mCropLandRepository.save(bean);
+    }
+
+    @Override
+    public JpaPlusRepository<CropLand, Long> r() {
+        return mCropLandRepository;
+    }
+}

+ 2 - 2
src/main/java/com/sysu/admin/controller/geo/CityLandVo.java → src/main/java/com/sysu/admin/controller/crop/CropLandVo.java

@@ -1,4 +1,4 @@
-package com.sysu.admin.controller.geo;
+package com.sysu.admin.controller.crop;
 
 import com.alibaba.fastjson.annotation.JSONField;
 import lombok.Data;
@@ -16,7 +16,7 @@ import java.util.Date;
 
 @Data
 @Accessors(chain = true)
-public class CityLandVo {
+public class CropLandVo {
     /**
      * 主键
      */

+ 3 - 3
src/main/java/com/sysu/admin/controller/geo/land/images/FieldPointImage.java → src/main/java/com/sysu/admin/controller/crop/images/CropImage.java

@@ -1,4 +1,4 @@
-package com.sysu.admin.controller.geo.land.images;
+package com.sysu.admin.controller.crop.images;
 
 
 import com.xiesx.fastboot.core.jpa.entity.JpaPlusEntity;
@@ -27,7 +27,7 @@ import java.util.Date;
 @EntityListeners(AuditingEntityListener.class)
 @DynamicInsert
 @DynamicUpdate
-public class FieldPointImage extends JpaPlusEntity<FieldPointImage> {
+public class CropImage extends JpaPlusEntity<CropImage> {
     private static final long serialVersionUID = 1L;
 
     /**
@@ -38,7 +38,7 @@ public class FieldPointImage extends JpaPlusEntity<FieldPointImage> {
     private Long id;
 
     @Column
-    private Long pointId;
+    private Long cropId;
 
     @Column
     private String filename;

+ 7 - 0
src/main/java/com/sysu/admin/controller/crop/images/CropImageRepository.java

@@ -0,0 +1,7 @@
+package com.sysu.admin.controller.crop.images;
+
+import com.xiesx.fastboot.core.jpa.JpaPlusRepository;
+
+public interface CropImageRepository extends JpaPlusRepository<CropImage, Long> {
+
+}

+ 15 - 0
src/main/java/com/sysu/admin/controller/crop/images/CropImageService.java

@@ -0,0 +1,15 @@
+package com.sysu.admin.controller.crop.images;
+
+
+import com.sysu.admin.support.base.BaseService;
+import com.xiesx.fastboot.core.jpa.JpaPlusRepository;
+import org.springframework.stereotype.Service;
+
+@Service
+public class CropImageService extends BaseService<CropImage, Long> {
+
+    @Override
+    public JpaPlusRepository<CropImage, Long> r() {
+        return mCropImageRepository;
+    }
+}

+ 0 - 31
src/main/java/com/sysu/admin/controller/geo/CityLandService.java

@@ -1,31 +0,0 @@
-package com.sysu.admin.controller.geo;
-
-import com.sysu.admin.support.base.BaseService;
-import com.sysu.admin.utils.shape.GeoCastUtil;
-import com.xiesx.fastboot.core.jpa.JpaPlusRepository;
-import org.locationtech.jts.geom.Geometry;
-import org.locationtech.jts.geom.Point;
-import org.locationtech.jts.operation.buffer.BufferOp;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-@Service
-public class CityLandService extends BaseService<CityLand, Long> {
-
-
-    public List<CityLand> findByBuffer(Double[] point, Integer meter){
-        double degree = meter / (2 * Math.PI * 6371004) * 360;
-        return mCityLandRepository.findByBuffer("Point("+point[0]+" "+point[1]+")",degree);
-    }
-
-    public CityLand findByPoint(double x, double y){
-        CityLand cityLand = mCityLandRepository.findByPoint("Point("+x+" "+y+")");
-        return cityLand;
-    }
-
-    @Override
-    public JpaPlusRepository<CityLand, Long> r() {
-        return mCityLandRepository;
-    }
-}

+ 10 - 10
src/main/java/com/sysu/admin/controller/geo/PostGisInfoController.java → src/main/java/com/sysu/admin/controller/geo/CropLandController.java

@@ -1,7 +1,9 @@
 package com.sysu.admin.controller.geo;
 
+import com.sysu.admin.controller.crop.CropLand;
+import com.sysu.admin.controller.crop.CropLandService;
+import com.sysu.admin.controller.crop.CropLandVo;
 import com.sysu.admin.controller.geo.land.LandTaskStatus;
-import com.sysu.admin.controller.geo.land.point.FieldPointService;
 import com.sysu.admin.support.shiro.ShiroService;
 import com.sysu.admin.utils.shape.GeoCastUtil;
 import com.xiesx.fastboot.base.result.BaseResult;
@@ -17,20 +19,18 @@ import java.util.Date;
 /**
  * 读取地图数据信息
  */
-@RequestMapping("/postGisInfo")
+@RequestMapping("/crop")
 @RestController
-public class PostGisInfoController {
+public class CropLandController {
 
     @Autowired
-    CityLandService cityLandService;
-    @Autowired
-    FieldPointService fieldPointService;
+    CropLandService cityLandService;
     @Autowired
     ShiroService shiroService;
 
     @RequestMapping("/getInfo")
-    public BaseResult getInfo(String layerName, Double x, Double y){
-        CityLand cityLand = cityLandService.findByPoint(x,y);
+    public BaseResult getInfo(Double x, Double y){
+        CropLand cityLand = cityLandService.findByPoint(x,y);
         if(cityLand == null){
             return R.fail();
         }
@@ -40,8 +40,8 @@ public class PostGisInfoController {
 
     @RequestMapping("/save")
     @ResponseBody
-    public BaseResult save(CityLandVo vo){
-        CityLand bean = cityLandService.findOne(vo.getId());
+    public BaseResult save(CropLandVo vo){
+        CropLand bean = cityLandService.findOne(vo.getId());
         if(bean.getStatus().intValue() == LandTaskStatus.unpublished.ordinal()){
             bean.setCreator(shiroService.getPrincipalId());
             bean.setCreateDate(new Date());

+ 0 - 7
src/main/java/com/sysu/admin/controller/geo/land/images/FieldPointImageRepository.java

@@ -1,7 +0,0 @@
-package com.sysu.admin.controller.geo.land.images;
-
-import com.xiesx.fastboot.core.jpa.JpaPlusRepository;
-
-public interface FieldPointImageRepository extends JpaPlusRepository<FieldPointImage, Long> {
-
-}

+ 0 - 27
src/main/java/com/sysu/admin/controller/geo/land/images/FieldPointImageService.java

@@ -1,27 +0,0 @@
-package com.sysu.admin.controller.geo.land.images;
-
-
-import com.sysu.admin.support.base.BaseService;
-import com.xiesx.fastboot.core.jpa.JpaPlusRepository;
-import com.xiesx.fastboot.core.jpa.entity.JpaPlusEntity;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import lombok.experimental.FieldNameConstants;
-import org.hibernate.annotations.DynamicInsert;
-import org.hibernate.annotations.DynamicUpdate;
-import org.springframework.data.annotation.CreatedDate;
-import org.springframework.data.jpa.domain.support.AuditingEntityListener;
-import org.springframework.stereotype.Service;
-
-import javax.persistence.*;
-import java.util.Date;
-
-@Service
-public class FieldPointImageService extends BaseService<FieldPointImage, Long> {
-
-    @Override
-    public JpaPlusRepository<FieldPointImage, Long> r() {
-        return mFieldPointImageRepository;
-    }
-}

+ 0 - 93
src/main/java/com/sysu/admin/controller/geo/land/point/FieldPoint.java

@@ -1,93 +0,0 @@
-package com.sysu.admin.controller.geo.land.point;
-
-import com.alibaba.fastjson.annotation.JSONField;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import lombok.experimental.FieldNameConstants;
-import org.hibernate.annotations.DynamicInsert;
-import org.hibernate.annotations.DynamicUpdate;
-import org.locationtech.jts.geom.MultiPolygon;
-import org.locationtech.jts.geom.Point;
-import org.springframework.data.annotation.CreatedBy;
-import org.springframework.data.annotation.CreatedDate;
-import org.springframework.data.jpa.domain.support.AuditingEntityListener;
-
-import javax.persistence.*;
-import java.util.Date;
-
-@Data
-@Accessors(chain = true)
-@EqualsAndHashCode(callSuper = false)
-@FieldNameConstants(innerTypeName = "FIELDS")
-@Table(name = "p_field_point")
-@Entity
-@EntityListeners(AuditingEntityListener.class)
-@DynamicInsert
-@DynamicUpdate
-public class FieldPoint {
-    /**
-     * 主键
-     */
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Long id;
-    /**
-     * 地块id
-     */
-    @Column
-    private Long landId;
-    /**
-     * 耕地类型
-     */
-    @Column
-    private Integer cropType;
-    /**
-     * 生长期
-     */
-    @Column
-    private Integer growingPeriod;
-
-    /**
-     * 产量
-     */
-    @Column
-    private Integer yield;
-
-    @JSONField(serialize = false)
-    @Column(columnDefinition = "geom",updatable = false)
-    private Point geom;
-
-    @Transient
-    private String wkt;
-
-    @CreatedDate
-    @Column(updatable = false, nullable = false)
-    private Date createDate;
-
-    @Column(updatable = false, nullable = false)
-    private Date receiveDate;
-
-    @Column(updatable = false, nullable = false)
-    private Date finishDate;
-
-    /**
-     * 创建人
-     */
-    @CreatedBy
-    @Column(updatable = false, nullable = false)
-    private Long creator;
-
-    /**
-     * 创建人
-     */
-    @Column(updatable = false, nullable = false)
-    private Long executor;
-
-    /**
-     * 状态
-     */
-    @Column
-    private Integer status;
-
-}

+ 0 - 51
src/main/java/com/sysu/admin/controller/geo/land/point/FieldPointController.java

@@ -1,51 +0,0 @@
-package com.sysu.admin.controller.geo.land.point;
-
-import com.sysu.admin.controller.geo.CityLand;
-import com.sysu.admin.controller.geo.CityLandService;
-import com.sysu.admin.controller.geo.land.LandTaskStatus;
-import com.sysu.admin.controller.geo.land.images.FieldPointImageService;
-import com.sysu.admin.utils.shape.GeoCastUtil;
-import com.xiesx.fastboot.base.result.BaseResult;
-import com.xiesx.fastboot.base.result.R;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.locationtech.jts.geom.Point;
-
-@Controller
-@RequestMapping(value = "/field_point")
-public class FieldPointController {
-
-    @Autowired
-    private FieldPointService mFieldPointService;
-    @Autowired
-    private CityLandService mCityLandService;
-    @Autowired
-    private FieldPointImageService mFieldPointImageService;
-
-    @RequestMapping(value = "/info")
-    public String info(){
-        return "page/land-field-point/land-point-info";
-    }
-
-    @RequestMapping(value = "/save")
-    @ResponseBody
-    public BaseResult save(FieldPointVo vo){
-        FieldPoint bean = null;
-        if(vo.getId() == null){
-            CityLand cityLand = mCityLandService.findOne(vo.getLandId());
-            bean = new FieldPoint()
-                    .setCropType(cityLand.getGridcode().intValue())
-                    .setGeom((Point)GeoCastUtil.wktToGeom(vo.getWkt()))
-                    .setStatus(LandTaskStatus.unpublished.ordinal())
-                    .setLandId(cityLand.getId());
-        }else{
-            bean = mFieldPointService.findOne(vo.getId());
-        }
-        mFieldPointService.save(bean);
-        bean.setWkt(GeoCastUtil.geomToWkt(bean.getGeom()));
-        return R.succ(bean);
-    }
-
-}

+ 0 - 7
src/main/java/com/sysu/admin/controller/geo/land/point/FieldPointRepository.java

@@ -1,7 +0,0 @@
-package com.sysu.admin.controller.geo.land.point;
-
-import com.xiesx.fastboot.core.jpa.JpaPlusRepository;
-
-public interface FieldPointRepository extends JpaPlusRepository<FieldPoint, Long> {
-
-}

+ 0 - 22
src/main/java/com/sysu/admin/controller/geo/land/point/FieldPointService.java

@@ -1,22 +0,0 @@
-package com.sysu.admin.controller.geo.land.point;
-
-import com.querydsl.core.types.Predicate;
-import com.sysu.admin.support.base.BaseService;
-import com.xiesx.fastboot.core.jpa.JpaPlusRepository;
-import org.springframework.stereotype.Service;
-
-@Service
-public class FieldPointService extends BaseService<FieldPoint, Long> {
-
-    public FieldPoint[] findAllByLandId(Long landId){
-        QFieldPoint qFieldPoint = QFieldPoint.fieldPoint;
-        Predicate predicate = qFieldPoint.landId.eq(landId);
-        return mFieldPointRepository.findAll(predicate).toArray(new FieldPoint[0]);
-    }
-
-
-    @Override
-    public JpaPlusRepository<FieldPoint, Long> r() {
-        return mFieldPointRepository;
-    }
-}

+ 0 - 32
src/main/java/com/sysu/admin/controller/geo/land/point/FieldPointVo.java

@@ -1,32 +0,0 @@
-package com.sysu.admin.controller.geo.land.point;
-
-import com.alibaba.fastjson.annotation.JSONField;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import lombok.experimental.FieldNameConstants;
-import org.hibernate.annotations.DynamicInsert;
-import org.hibernate.annotations.DynamicUpdate;
-import org.locationtech.jts.geom.Point;
-import org.springframework.data.annotation.CreatedBy;
-import org.springframework.data.annotation.CreatedDate;
-
-import javax.persistence.*;
-import java.util.Date;
-
-@Data
-@Accessors(chain = true)
-public class FieldPointVo {
-
-    private Long id;
-    /**
-     * 地块id
-     */
-    private Long landId;
-
-    private String wkt;
-
-    private Long[] imageIds;
-
-
-}

+ 4 - 7
src/main/java/com/sysu/admin/support/base/RepositoryContext.java

@@ -1,9 +1,8 @@
 package com.sysu.admin.support.base;
 
 
-import com.sysu.admin.controller.geo.CityLandRepository;
-import com.sysu.admin.controller.geo.land.point.FieldPointRepository;
-import com.sysu.admin.controller.geo.land.images.FieldPointImageRepository;
+import com.sysu.admin.controller.crop.CropLandRepository;
+import com.sysu.admin.controller.crop.images.CropImageRepository;
 import com.sysu.admin.controller.geo.qyz.QyzRepository;
 import com.sysu.admin.support.system.user_role.UserRoleRepository;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,10 +36,8 @@ public class RepositoryContext extends BaseComponent{
     @Autowired
     public QyzRepository mQyzRepository;
     @Autowired
-    public CityLandRepository mCityLandRepository;
+    public CropLandRepository mCropLandRepository;
     @Autowired
-    public FieldPointRepository mFieldPointRepository;
-    @Autowired
-    public FieldPointImageRepository mFieldPointImageRepository;
+    public CropImageRepository mCropImageRepository;
 
 }

+ 8 - 1
src/main/java/com/sysu/admin/utils/shape/GeoCastUtil.java

@@ -20,7 +20,7 @@ import java.math.BigDecimal;
 import java.text.DecimalFormat;
 
 public class GeoCastUtil {
-
+    public static GeometryJSON gjson = new GeometryJSON(20);
     private static WKTWriter2 wKTWriter2 = new WKTWriter2();
     private static WKTReader2 wktReader2 = new WKTReader2();
 
@@ -91,6 +91,8 @@ public class GeoCastUtil {
         return null;
     }
 
+
+
     public static Double[] lonlatToMactor(Double[] point){
         CoordinateReferenceSystem crsTarget = null;
         // 投影转换
@@ -142,5 +144,10 @@ public class GeoCastUtil {
 //        return Double.parseDouble(s.substring(0,index + 1) + last);
 //    }
 
+    public static void main(String[] args) {
+        Double[] res = lonlatToMactor(new Double[]{113.348406,23.166332});
+        System.out.println(res[0] + " " + res[1] );
+    }
+
 
 }

BIN
src/main/webapp/images/1656059819291_51.png


BIN
src/main/webapp/images/1656294546583_51.png


BIN
src/main/webapp/images/1656294915782_51.png


BIN
src/main/webapp/images/1656296562437_51.png


BIN
src/main/webapp/images/1656321960049_75.png


BIN
src/main/webapp/images/1656468231924_51.png


BIN
src/main/webapp/images/1656468962788_51.pdf


BIN
src/main/webapp/images/1656469391661_51.pdf


BIN
src/main/webapp/images/1656470493504_51.pdf


BIN
src/main/webapp/images/1656481725603_51.pdf


BIN
src/main/webapp/images/1656481960194_51.pdf


BIN
src/main/webapp/images/1656482053738_51.pdf


BIN
src/main/webapp/images/1656482697917_51.pdf


BIN
src/main/webapp/images/1656482765488_51.png


BIN
src/main/webapp/images/1656482768200_51.png


BIN
src/main/webapp/images/1656482808861_51.png


BIN
src/main/webapp/images/1656482810765_51.png


BIN
src/main/webapp/images/1656482923860_51.png


BIN
src/main/webapp/images/1656482934978_51.png


BIN
src/main/webapp/images/1656483496346_51.pdf


BIN
src/main/webapp/images/1656483574004_51.pdf


BIN
src/main/webapp/images/1656484210625_51.pdf


BIN
src/main/webapp/images/1656486408936_51.pdf


BIN
src/main/webapp/images/1656487224452_51.pdf


BIN
src/main/webapp/images/1656488180549_51.pdf


+ 1 - 1
src/main/webapp/static/package/cityland.js

@@ -196,7 +196,7 @@ CityLandAction.prototype = {
     //     }
     // },
     saveTask(that, feature){
-        layui.tool.submit("/postGisInfo/save",{"status":1,"id":feature.get("id")},function(res){
+        layui.tool.submit("/crop/save",{"status":1,"id":feature.get("id")},function(res){
             if(res.code == 0){
                 that.addFieldPointOfTempLayer(res.data)
             }

+ 1 - 1
src/main/webapp/static/package/geo_server_context.js

@@ -43,7 +43,7 @@ GeoServerContext.prototype = {
         console.log(layerName, coordinate)
         $.ajax({
             type : 'POST',
-            url : "/postGisInfo/getInfo",
+            url : "/crop/getInfo",
             data : {layerName: layerName, x : coordinate[0], y : coordinate[1]},
             dataType : 'json',
             success : function(res){