From 4e8eedbcaa35a3cce9e50dad54db9633e71d169f Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 05 Sep 2022 17:02:48 +0800
Subject: [PATCH] 修改文件上传路径
---
src/main/java/org/springblade/modules/lang/controller/LandController.java | 196 ++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 152 insertions(+), 44 deletions(-)
diff --git a/src/main/java/org/springblade/modules/lang/controller/LandController.java b/src/main/java/org/springblade/modules/lang/controller/LandController.java
index 88d098c..662e076 100644
--- a/src/main/java/org/springblade/modules/lang/controller/LandController.java
+++ b/src/main/java/org/springblade/modules/lang/controller/LandController.java
@@ -30,6 +30,7 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
import org.springblade.modules.farm.entity.Farm;
import org.springblade.modules.farm.vo.FarmVO;
import org.springblade.modules.resource.endpoint.OssEndpoint;
@@ -107,6 +108,23 @@
IPage<LandVO> pages = landService.selectLandPage(Condition.getPage(query), land);
return R.data(pages);
}
+ /**
+ * 根据品种id查询对应地块(农产品库存)
+ */
+ @GetMapping("/selcetByStrainId")
+ public R selcetByStrainId(String strainId,String farmId) {
+ List<LandVO> list = landService.selectByStrainId(strainId,farmId);
+ return R.data(list);
+ }
+
+ /**
+ * 根据品种id查询对应地块(种养品种)
+ */
+ @GetMapping("/getByStrainIdFarmId")
+ public R getByStrainIdFarmId(LandVO land) {
+ List<Land> list = landService.getByStrainIdFarmId(land);
+ return R.data(list);
+ }
/**
* 新增 地块表
@@ -123,33 +141,39 @@
//替换分号为逗号
String replaceAll = sNull.replaceAll(";", ",");
land.setLandRange("'POLYGON((" + replaceAll + "))'");
- }
- List<Point2D.Double> points = new ArrayList<Point2D.Double>();
- double v1;
- String landRange = range;
- String[] s1 = landRange.split(";");
- for (String ss : s1) {
- String[] temp = ss.split(",");
- Point2D.Double point = new Point2D.Double(Double.parseDouble(temp[0]),
- Double.parseDouble(temp[1]));
- points.add(point);
- }
- PolyginArea tp = new PolyginArea();
- double area = tp.getAreaByxy(points);
- Integer landUnit = land.getLandUnit();
- //(0: 亩 1:分 2:平方米
- if (landUnit == 0) {
- double v = area * 0.0015;
- v1 = (double) Math.round(v * 100) / 100;
- } else if (landUnit == 1) {
- double v = area * 0.015;
- v1 = (double) Math.round(v * 100) / 100;
+
+ List<Point2D.Double> points = new ArrayList<Point2D.Double>();
+ double v1;
+ String landRange = range;
+ String[] s1 = landRange.split(";");
+ for (String ss : s1) {
+ String[] temp = ss.split(",");
+ Point2D.Double point = new Point2D.Double(Double.parseDouble(temp[0]),
+ Double.parseDouble(temp[1]));
+ points.add(point);
+ }
+ PolyginArea tp = new PolyginArea();
+ double area = tp.getAreaByxy(points);
+ Integer landUnit = land.getLandUnit();
+ //(0: 亩 1:分 2:平方米
+ if (landUnit == 0) {
+ double v = area * 0.0015;
+ v1 = (double) Math.round(v * 100) / 100;
+ } else if (landUnit == 1) {
+ double v = area * 0.015;
+ v1 = (double) Math.round(v * 100) / 100;
+ } else {
+ v1 = (double) Math.round(area * 100) / 100;
+ }
+ String myArea = land.getLandArea();
+ land.setLandArea(String.valueOf(v1));
+ land.setLandArea(myArea);
} else {
- v1 = (double) Math.round(area * 100) / 100;
+ land.setLandArea("0");
}
//图片转换上传
- if (null!=land.getUrl() && !land.getUrl().equals("")){
+ if (null != land.getUrl() && !land.getUrl().equals("")) {
try {
//上传
String url = ossEndpoint.uploadBase64String(land.getUrl());
@@ -159,7 +183,9 @@
e.printStackTrace();
}
}
- land.setLandArea(String.valueOf(v1));
+
+
+
land.setType(1);
return R.status(landService.saveLandInfo(land));
}
@@ -205,7 +231,7 @@
}
//图片转换上传
- if (null!=land.getUrl() && !land.getUrl().equals("")){
+ if (null != land.getUrl() && !land.getUrl().equals("")) {
try {
//上传
String url = ossEndpoint.uploadBase64String(land.getUrl());
@@ -217,6 +243,69 @@
}
land.setLandArea(String.valueOf(v1));
land.setType(1);
+ return R.status(landService.updateLandById(land));
+ }
+
+ /**
+ * 地块详情页面修改地块面积
+ */
+ @PostMapping("/updateLandAr")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "修改", notes = "传入land")
+ public R updateLandAr(@Valid @RequestBody Land land) {
+ String range = land.getLandRange();
+ //坐标转换
+ if (null != land.getLandRange() && !land.getLandRange().equals("")) {
+ //替换逗号为空格
+ String sNull = land.getLandRange().replaceAll(",", " ");
+ //替换分号为逗号
+ String replaceAll = sNull.replaceAll(";", ",");
+ land.setLandRange("'POLYGON((" + replaceAll + "))'");
+ }
+ List<Point2D.Double> points = new ArrayList<Point2D.Double>();
+ double v1;
+ String landRange = range;
+ String[] s1 = landRange.split(";");
+ for (String ss : s1) {
+ String[] temp = ss.split(",");
+ Point2D.Double point = new Point2D.Double(Double.parseDouble(temp[0]),
+ Double.parseDouble(temp[1]));
+ points.add(point);
+ }
+ PolyginArea tp = new PolyginArea();
+ double area = tp.getAreaByxy(points);
+ Integer landUnit = land.getLandUnit();
+ //(0: 亩 1:分 2:平方米
+ if (landUnit == 0) {
+ double v = area * 0.0015;
+ v1 = (double) Math.round(v * 100) / 100;
+ } else if (landUnit == 1) {
+ double v = area * 0.015;
+ v1 = (double) Math.round(v * 100) / 100;
+ } else {
+ v1 = (double) Math.round(area * 100) / 100;
+ }
+
+ //图片转换上传
+ if (null != land.getUrl() && !land.getUrl().equals("")) {
+ try {
+ //上传
+ String url = ossEndpoint.uploadBase64String(land.getUrl());
+ //回填url
+ land.setUrl(url);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ Land myLand = landService.getById(land.getId());
+ if (myLand.getLandArea().equals(land.getLandArea())){
+ land.setLandArea(String.valueOf(v1));
+ }else {
+ land.setLandArea(land.getLandArea());
+ }
+
+
return R.status(landService.updateLandById(land));
}
@@ -238,7 +327,13 @@
@ApiOperationSupport(order = 7)
@ApiOperation(value = "逻辑删除", notes = "传入ids")
public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
- return R.status(landService.deleteLogic(Func.toLongList(ids)));
+ //先要判断该地块是否还有正在种植的作物,先结束才能删除地块
+ List<LandVO> land= landService.findPlantInLand(ids);
+ if (land.size()<=0) {
+ return R.status(landService.deleteLogic(Func.toLongList(ids)));
+ }else {
+ throw new org.springblade.core.log.exception.ServiceException(StringUtil.format("请先结束该地块正在种养品种"));
+ }
}
/**
@@ -252,6 +347,7 @@
/**
* 地块列表(不分页)
+ *
* @param land
* @return
*/
@@ -265,10 +361,10 @@
* 首页地块统计接口
*/
@GetMapping("/selectCount")
- public R selectCount(String deptId) {
- List<Map<String, Object>> list = landService.selectZAre(deptId);
- List<Map<String, Object>> lists = landService.selectSAre(deptId);
- List list1 = landService.selectNum(deptId);
+ public R selectCount(LandVO land) {
+ List<Map<String, Object>> list = landService.selectZAre(land);
+ List<Map<String, Object>> lists = landService.selectSAre(land);
+ List list1 = landService.selectNum(land);
//总面积
Double num = 0.0;
for (int i = 0; i < list.size(); i++) {
@@ -281,7 +377,7 @@
if (unit.equals("0")) {
num += area1;
}
- if (unit.equals("1")) {
+ else if (unit.equals("1")) {
double v = area1 * 0.1;
num += v;
} else {
@@ -301,10 +397,10 @@
if (unit.equals("0")) {
snum += area1;
}
- if (unit.equals("1")) {
+ else if (unit.equals("1")) {
double v = area1 * 0.1;
snum += v;
- } else {
+ } else{
double v = area1 * 0.0015;
snum += v;
}
@@ -313,7 +409,7 @@
int size = list1.size();
Map map = new HashMap();
//地块使用率
- if(snum!=0.0|| num!=0.0){
+ if (snum != 0.0 || num != 0.0) {
double v = snum / num;
double v1 = v * 100;
DecimalFormat df = new DecimalFormat("#0.00");
@@ -323,8 +419,7 @@
map.put("zarea", (double) Math.round(num * 100) / 100);
map.put("sarea", (double) Math.round(snum * 100) / 100);
map.put("num", size);
- }
- else {
+ } else {
map.put("rate", 0.0);
map.put("zarea", 0.0);
map.put("sarea", 0.0);
@@ -335,13 +430,16 @@
/**
* 大屏地块统计接口
+ *
+ * @param land 农场
+ * @return
*/
@GetMapping("/selectXCount")
- public R selectXCount(String deptId) {
- List<Map<String, Object>> list = landService.selectZAre(deptId);
- List<Map<String, Object>> lists = landService.selectSAre(deptId);
- List<Map<String, Object>> listw = landService.selectWAre(deptId);
- List list1 = landService.selectNum(deptId);
+ public R selectXCount(LandVO land) {
+ List<Map<String, Object>> list = landService.selectZAre(land);
+ List<Map<String, Object>> lists = landService.selectSAre(land);
+ List<Map<String, Object>> listw = landService.selectWAre(land);
+ List list1 = landService.selectNum(land);
//总面积
Double num = 0.0;
for (int i = 0; i < list.size(); i++) {
@@ -354,7 +452,7 @@
if (unit.equals("0")) {
num += area1;
}
- if (unit.equals("1")) {
+ else if (unit.equals("1")) {
double v = area1 * 0.1;
num += v;
} else {
@@ -374,7 +472,7 @@
if (unit.equals("0")) {
snum += area1;
}
- if (unit.equals("1")) {
+ else if (unit.equals("1")) {
double v = area1 * 0.1;
snum += v;
} else {
@@ -394,7 +492,7 @@
if (unit.equals("0")) {
wnum += area1;
}
- if (unit.equals("1")) {
+ else if (unit.equals("1")) {
double v = area1 * 0.1;
wnum += v;
} else {
@@ -416,4 +514,14 @@
return R.data(map);
}
+ /**
+ * 查询统计地块是否有轮廓(是否有圈出区域)
+ * @param land
+ * @return
+ */
+ @GetMapping("/getLandIsAreaStatistic")
+ public R getLandIsAreaStatistic(LandVO land){
+ return R.data(landService.getLandIsAreaStatistic(land));
+ }
+
}
--
Gitblit v1.9.3