From 8bdbba337b312e8d5b5769f945236b9b5472ebc2 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Sat, 11 Jun 2022 09:05:33 +0800
Subject: [PATCH] 农资统计

---
 src/main/java/org/springblade/modules/lang/controller/LandController.java |  156 +++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 124 insertions(+), 32 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 4df3c4e..ccdd422 100644
--- a/src/main/java/org/springblade/modules/lang/controller/LandController.java
+++ b/src/main/java/org/springblade/modules/lang/controller/LandController.java
@@ -32,6 +32,8 @@
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.farm.entity.Farm;
 import org.springblade.modules.farm.vo.FarmVO;
+import org.springblade.modules.system.entity.DictBiz;
+import org.springblade.modules.system.service.IDictBizService;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestParam;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -60,6 +62,7 @@
 public class LandController extends BladeController {
 
 	private final ILandService landService;
+	private final IDictBizService dictService;
 
 	/**
 	 * 详情
@@ -230,60 +233,149 @@
 		List<Map<String, Object>> lists = landService.selectSAre();
 		List list1 = landService.selectNum();
 		//总面积
-		Double num=0.0;
-		for (int i=0;i<list.size();i++){
+		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);
+			Double area1 = Double.parseDouble(area);
 			//面积单位(0: 亩 1:分 2:平方米)
-			if (unit.equals("0")){
-				num+=area1;
+			if (unit.equals("0")) {
+				num += area1;
 			}
-			if (unit.equals("1")){
+			if (unit.equals("1")) {
 				double v = area1 * 0.1;
-				num+=v;
-			}
-			else {
-				double v = area1 *0.0015;
-				num+=v;
+				num += v;
+			} else {
+				double v = area1 * 0.0015;
+				num += v;
 			}
 		}
 		//使用面积
-		Double snum=0.0;
-		for (int i=0;i<lists.size();i++){
+		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);
+			Double area1 = Double.parseDouble(area);
 			//面积单位(0: 亩 1:分 2:平方米)
-			if (unit.equals("0")){
-				snum+=area1;
+			if (unit.equals("0")) {
+				snum += area1;
 			}
-			if (unit.equals("1")){
+			if (unit.equals("1")) {
 				double v = area1 * 0.1;
-				snum+=v;
-			}
-			else {
-				double v = area1 *0.0015;
-				snum+=v;
+				snum += v;
+			} else {
+				double v = area1 * 0.0015;
+				snum += v;
 			}
 		}
 		//品种数量
 		int size = list1.size();
+		Map map = new HashMap();
 		//地块使用率
-		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);
+		if(snum!=0.0|| num!=0.0){
+			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.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);
+		}
+		else {
+			map.put("rate", 0.0);
+			map.put("zarea", 0.0);
+			map.put("sarea", 0.0);
+			map.put("num", size);
+		}
+		return R.data(map);
+	}
+
+	/**
+	 * 大屏地块统计接口
+	 */
+	@GetMapping("/selectXCount")
+	public R selectXCount() {
+		List<Map<String, Object>> list = landService.selectZAre();
+		List<Map<String, Object>> lists = landService.selectSAre();
+		List<Map<String, Object>> listw = landService.selectWAre();
+		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;
+			}
+		}
+		//未使用面积
+		Double wnum = 0.0;
+		for (int i = 0; i < listw.size(); i++) {
+			//面积
+			String area = listw.get(i).get("area").toString();
+			//单位
+			String unit = listw.get(i).get("unit").toString();
+			Double area1 = Double.parseDouble(area);
+			//面积单位(0: 亩 1:分 2:平方米)
+			if (unit.equals("0")) {
+				wnum += area1;
+			}
+			if (unit.equals("1")) {
+				double v = area1 * 0.1;
+				wnum += v;
+			} else {
+				double v = area1 * 0.0015;
+				wnum += v;
+			}
+		}
+		//品种数量
+		int size = list1.size();
+		//农资种类
+		List<DictBiz> tree = dictService.getList("stockType");
+		int size1 = tree.size();
+		Map map = new HashMap();
+		map.put("num", num);
+		map.put("snum", snum);
+		map.put("wnum", wnum);
+		map.put("zynum", size);
+		map.put("nznum", size1);
 		return R.data(map);
 	}
 

--
Gitblit v1.9.3