From a6cc72176607a0950cbae2f0ff97d49e5725efd4 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Mon, 18 Jul 2022 17:41:44 +0800
Subject: [PATCH] 地块
---
src/main/java/org/springblade/modules/lang/mapper/LandMapper.java | 1
src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java | 9 ++++
src/main/java/org/springblade/modules/process/mapper/ProcessMapper.xml | 7 ++-
src/main/java/org/springblade/modules/lang/controller/LandController.java | 68 +++++++++++++++++++++++++++++++---
src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml | 11 +++++
src/main/java/org/springblade/modules/lang/service/ILandService.java | 1
6 files changed, 89 insertions(+), 8 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 847ecb8..a68688b 100644
--- a/src/main/java/org/springblade/modules/lang/controller/LandController.java
+++ b/src/main/java/org/springblade/modules/lang/controller/LandController.java
@@ -148,12 +148,12 @@
v1 = (double) Math.round(area * 100) / 100;
}
land.setLandArea(String.valueOf(v1));
- }else {
+ } else {
land.setLandArea("0");
}
//图片转换上传
- if (null!=land.getUrl() && !land.getUrl().equals("")){
+ if (null != land.getUrl() && !land.getUrl().equals("")) {
try {
//上传
String url = ossEndpoint.uploadBase64String(land.getUrl());
@@ -209,7 +209,7 @@
}
//图片转换上传
- if (null!=land.getUrl() && !land.getUrl().equals("")){
+ if (null != land.getUrl() && !land.getUrl().equals("")) {
try {
//上传
String url = ossEndpoint.uploadBase64String(land.getUrl());
@@ -221,6 +221,61 @@
}
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.setLandArea(String.valueOf(v1));
return R.status(landService.updateLandById(land));
}
@@ -256,6 +311,7 @@
/**
* 地块列表(不分页)
+ *
* @param land
* @return
*/
@@ -317,7 +373,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");
@@ -327,8 +383,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);
@@ -339,6 +394,7 @@
/**
* 大屏地块统计接口
+ *
* @param land 农场
* @return
*/
diff --git a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.java b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.java
index 88986c7..1ec5415 100644
--- a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.java
+++ b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.java
@@ -63,6 +63,7 @@
* @return
*/
int updateLandById(@Param("land") Land land);
+ int updateLandAr(@Param("land") Land land);
List selectLandList(String userid);
diff --git a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
index f790a3a..7f30be0 100644
--- a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
+++ b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
@@ -17,6 +17,7 @@
<select id="selectLandPage" resultMap="landResultMap">
SELECT l.land_name,
+ l.land_unit,
l.id,
l.land_area ,
ST_ASTEXT(land_range) as land_range,
@@ -139,6 +140,16 @@
where id = #{land.id}
</update>
+ <update id="updateLandAr">
+ update sys_land set user_id = #{land.userId},
+ land_area = #{land.landArea},
+ <if test="land.landRange!=null and land.landRange!=''">
+ land_range = ST_GeomFromText(${land.landRange}),
+ </if>
+ url = #{land.url},
+ where id = #{land.id}
+ </update>
+
<select id="selectLandList" resultType="java.util.HashMap">
select id, land_name as landName
from sys_land
diff --git a/src/main/java/org/springblade/modules/lang/service/ILandService.java b/src/main/java/org/springblade/modules/lang/service/ILandService.java
index 1ea559c..216b9da 100644
--- a/src/main/java/org/springblade/modules/lang/service/ILandService.java
+++ b/src/main/java/org/springblade/modules/lang/service/ILandService.java
@@ -61,6 +61,7 @@
* @return
*/
boolean updateLandById(Land land);
+ boolean updateLandAr(Land land);
/**
* 地块列表
diff --git a/src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java b/src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java
index 7b5314a..d2db78b 100644
--- a/src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java
+++ b/src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java
@@ -66,6 +66,15 @@
}
@Override
+ public boolean updateLandAr(Land land) {
+ int i =baseMapper.updateLandAr(land);
+ if (i > 0) {
+ return true;
+ }
+ return false;
+ }
+
+ @Override
public List selectLandList(String userid) {
return baseMapper.selectLandList(userid);
}
diff --git a/src/main/java/org/springblade/modules/process/mapper/ProcessMapper.xml b/src/main/java/org/springblade/modules/process/mapper/ProcessMapper.xml
index 374bda2..ff3e375 100644
--- a/src/main/java/org/springblade/modules/process/mapper/ProcessMapper.xml
+++ b/src/main/java/org/springblade/modules/process/mapper/ProcessMapper.xml
@@ -22,8 +22,10 @@
<select id="selectProcessPage" resultMap="processResultMap">
- SELECT p.*,
- m.machining_type as processName,
+ SELECT p.strain_id,
+ p.land_id,
+ SUM(p.process_num) as process_num,
+ m.machining_type AS processName,
m.machining_tp AS tpurl
FROM sys_process p
LEFT JOIN sys_machining m ON m.id = p.process_id
@@ -32,6 +34,7 @@
<if test="process.farmId!=null and process.farmId!=''">
and sl.farm_id = #{process.farmId}
</if>
+ GROUP BY p.strain_id,m.machining_type,m.machining_tp,p.land_id
</select>
</mapper>
--
Gitblit v1.9.3