From 1bd9b7f5767b2f1dce2b63b4c9174f457e5775bc Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Thu, 19 May 2022 15:55:58 +0800
Subject: [PATCH] 首页地块统计

---
 src/main/java/org/springblade/common/config/BladeConfiguration.java          |    2 +
 src/main/java/org/springblade/modules/lang/mapper/LandMapper.java            |    4 ++
 src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java |   16 ++++++++
 src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java     |    1 
 src/main/java/org/springblade/modules/lang/controller/LandController.java    |   69 ++++++++++++++++++++++++++++++++++
 src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml             |   11 +++++
 src/main/java/org/springblade/modules/lang/service/ILandService.java         |    9 ++++
 7 files changed, 112 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/common/config/BladeConfiguration.java b/src/main/java/org/springblade/common/config/BladeConfiguration.java
index 10b3dd2..405bf2d 100644
--- a/src/main/java/org/springblade/common/config/BladeConfiguration.java
+++ b/src/main/java/org/springblade/common/config/BladeConfiguration.java
@@ -51,6 +51,8 @@
 		secureRegistry.excludePathPatterns("/webjars/**");
 		secureRegistry.excludePathPatterns("/swagger-resources/**");
 		secureRegistry.excludePathPatterns("/druid/**");
+		secureRegistry.excludePathPatterns("/land/land/**");
+		secureRegistry.excludePathPatterns("/blade-resource/oss/endpoint/**");
 		return secureRegistry;
 	}
 
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 8be108d..4df3c4e 100644
--- a/src/main/java/org/springblade/modules/lang/controller/LandController.java
+++ b/src/main/java/org/springblade/modules/lang/controller/LandController.java
@@ -43,7 +43,9 @@
 import java.awt.geom.Point2D;
 import java.text.DecimalFormat;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 地块表 控制器
@@ -218,4 +220,71 @@
 		return R.data(landService.selectLandList(userid));
 	}
 
+
+	/**
+	 * 首页地块统计接口
+	 */
+	@GetMapping("/selectCount")
+	public R selectCount() {
+		List<Map<String, Object>> list = landService.selectZAre();
+		List<Map<String, Object>> lists = landService.selectSAre();
+		List list1 = landService.selectNum();
+		//总面积
+		Double num=0.0;
+		for (int i=0;i<list.size();i++){
+			//面积
+			String area = list.get(i).get("area").toString();
+			//单位
+			String unit = list.get(i).get("unit").toString();
+			Double area1=Double.parseDouble(area);
+			//面积单位(0: 亩 1:分 2:平方米)
+			if (unit.equals("0")){
+				num+=area1;
+			}
+			if (unit.equals("1")){
+				double v = area1 * 0.1;
+				num+=v;
+			}
+			else {
+				double v = area1 *0.0015;
+				num+=v;
+			}
+		}
+		//使用面积
+		Double snum=0.0;
+		for (int i=0;i<lists.size();i++){
+			//面积
+			String area = lists.get(i).get("area").toString();
+			//单位
+			String unit = lists.get(i).get("unit").toString();
+			Double area1=Double.parseDouble(area);
+			//面积单位(0: 亩 1:分 2:平方米)
+			if (unit.equals("0")){
+				snum+=area1;
+			}
+			if (unit.equals("1")){
+				double v = area1 * 0.1;
+				snum+=v;
+			}
+			else {
+				double v = area1 *0.0015;
+				snum+=v;
+			}
+		}
+		//品种数量
+		int size = list1.size();
+		//地块使用率
+		double v = snum / num;
+		double v1 = v * 100;
+		DecimalFormat df = new DecimalFormat("#0.00");
+		String format = df.format(v1);
+		Double a=Double.parseDouble(format);
+		Map map =new HashMap();
+		map.put("rate",a);
+		map.put("zarea",(double) Math.round(num * 100) / 100);
+		map.put("sarea",(double) Math.round(snum * 100) / 100);
+		map.put("num",size);
+		return R.data(map);
+	}
+
 }
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 b306b83..f4d03c0 100644
--- a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.java
+++ b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.java
@@ -24,6 +24,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 地块表 Mapper 接口
@@ -54,4 +55,7 @@
 	 */
 	int updateLandById(@Param("land") Land land);
 	List selectLandList(String userid);
+	List selectNum();
+	List<Map<String, Object>> selectZAre();
+	List<Map<String, Object>> selectSAre();
 }
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 7bf73dd..4bd7a54 100644
--- a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
+++ b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
@@ -63,5 +63,16 @@
     <select id="selectLandList" resultType="java.util.HashMap">
       select id,land_name as landName from sys_land where user_id=#{userid} and is_deleted = 0
     </select>
+    <!--土地总面积-->
+    <select id="selectZAre" resultType="java.util.HashMap">
+        SELECT land_area as area,land_unit as unit FROM sys_land WHERE is_deleted=0
+    </select>
+    <!--土地使用面积-->
+    <select id="selectSAre" resultType="java.util.HashMap">
+        SELECT land_area as area,land_unit as unit FROM sys_land WHERE is_deleted=0 and type=0
+    </select>
+    <select id="selectNum" resultType="java.util.HashMap">
+        SELECT strain_id FROM `sys_farm_plant` WHERE status=1 GROUP BY strain_id
+    </select>
 
 </mapper>
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 1fd7099..ff29c77 100644
--- a/src/main/java/org/springblade/modules/lang/service/ILandService.java
+++ b/src/main/java/org/springblade/modules/lang/service/ILandService.java
@@ -24,6 +24,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 地块表 服务类
@@ -60,4 +61,12 @@
 	 * @return
 	 */
 	List selectLandList(String userid);
+
+	/**
+	 * 土地总面积
+	 * @return
+	 */
+	List<Map<String, Object>> selectZAre();
+	List<Map<String, Object>> selectSAre();
+	List selectNum();
 }
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 8b13d64..f28ba01 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
@@ -25,6 +25,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 地块表 服务实现类
@@ -64,4 +65,19 @@
 		return baseMapper.selectLandList(userid);
 	}
 
+	@Override
+	public List<Map<String, Object>> selectZAre() {
+		return baseMapper.selectZAre();
+	}
+
+	@Override
+	public List<Map<String, Object>> selectSAre() {
+		return baseMapper.selectSAre();
+	}
+
+	@Override
+	public List selectNum() {
+		return baseMapper.selectNum();
+	}
+
 }
diff --git a/src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java b/src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java
index e048470..ebc25ca 100644
--- a/src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java
+++ b/src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java
@@ -159,6 +159,7 @@
 		return R.data(bladeFile);
 	}
 
+
 	/**
 	 * 文件上传,自定义上传
 	 *

--
Gitblit v1.9.3