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