From fe9a0e82ce550d4c819cd002ca98f9c4aeb028cc Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Mon, 06 Jun 2022 15:03:45 +0800
Subject: [PATCH] 农资统计

---
 src/main/java/org/springblade/modules/farmplant/service/impl/FarmPlantServiceImpl.java |   81 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 76 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/springblade/modules/farmplant/service/impl/FarmPlantServiceImpl.java b/src/main/java/org/springblade/modules/farmplant/service/impl/FarmPlantServiceImpl.java
index 89466ef..2e620d9 100644
--- a/src/main/java/org/springblade/modules/farmplant/service/impl/FarmPlantServiceImpl.java
+++ b/src/main/java/org/springblade/modules/farmplant/service/impl/FarmPlantServiceImpl.java
@@ -1,12 +1,16 @@
 package org.springblade.modules.farmplant.service.impl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.farm.entity.Farm;
 import org.springblade.modules.farmplant.entity.FarmPlant;
+import org.springblade.modules.farmplant.entity.Strain;
 import org.springblade.modules.farmplant.mapper.FarmPlantMapper;
 import org.springblade.modules.farmplant.service.FarmPlantService;
 import org.springblade.modules.farmplant.vo.FarmPlantVO;
+import org.springblade.modules.farmplant.vo.StrainVO;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -29,16 +33,83 @@
 		List<FarmPlantVO> farmPlantVOS = baseMapper.selectFarmPlantPage(page, farm);
 		//遍历
 		farmPlantVOS.forEach(farmPlantVO -> {
-			if (farmPlantVO.getLandUnit().equals("0")){
-				farmPlantVO.setArea(farmPlantVO.getArea()+"亩");
-			}
 			if (farmPlantVO.getLandUnit().equals("1")){
-				farmPlantVO.setArea(farmPlantVO.getArea()+"分");
+				farmPlantVO.setArea(String.format("%.2f", Double.parseDouble(farmPlantVO.getArea())*0.1));
 			}
 			if (farmPlantVO.getLandUnit().equals("2")){
-				farmPlantVO.setArea(farmPlantVO.getArea()+"平方米");
+				farmPlantVO.setArea(String.format("%.2f",Double.parseDouble(farmPlantVO.getArea())*0.0015));
 			}
 		});
 		return page.setRecords(farmPlantVOS);
 	}
+
+	/**
+	 * 农产品种养统计
+	 * @param farm 农产品种植对象
+	 * @param page 分页查询对象
+	 * @return
+	 */
+	@Override
+	public IPage<FarmPlantVO> getFarmPlantStatistics(IPage<FarmPlantVO> page, FarmPlantVO farm) {
+		List<FarmPlantVO> farmPlantVOS = baseMapper.getFarmPlantStatistics(page, farm);
+		//遍历
+		farmPlantVOS.forEach(farmPlantVO -> {
+			if (farmPlantVO.getLandUnit().equals("1")){
+				BigDecimal bg = new BigDecimal(farmPlantVO.getAreas()*0.1);
+				farmPlantVO.setAreas(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
+			}
+			if (farmPlantVO.getLandUnit().equals("2")){
+				BigDecimal bg = new BigDecimal(farmPlantVO.getAreas()*0.0015);
+				farmPlantVO.setAreas(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
+			}
+		});
+		return page.setRecords(farmPlantVOS);
+	}
+
+
+	/**
+	 * 农产品列表
+	 * @param farm 农产品对象
+	 * @return
+	 */
+	@Override
+	public List<Strain> strainTree(FarmPlantVO farm) {
+		return baseMapper.strainTree(farm);
+	}
+
+	/**
+	 * 农产品种养统计(累计和)
+	 * @param farm 农产品种植对象
+	 * @return
+	 */
+	@Override
+	public FarmPlantVO getFarmPlantStatisticsCount(FarmPlantVO farm) {
+		List<FarmPlantVO> farmPlantVOS = baseMapper.getFarmPlantStatisticsCount(farm);
+		FarmPlantVO plantVO = new FarmPlantVO();
+		if (farmPlantVOS.size()>0){
+			BigDecimal decimal = new BigDecimal(0.0);
+			//遍历
+			for (FarmPlantVO farmPlantVO : farmPlantVOS) {
+				if (farmPlantVO.getLandUnit().equals("0")){
+					BigDecimal bg = new BigDecimal(farmPlantVO.getAreas()*1);
+					decimal = decimal.add(bg.setScale(2, BigDecimal.ROUND_HALF_UP));
+				}
+				if (farmPlantVO.getLandUnit().equals("1")){
+					BigDecimal bg = new BigDecimal(farmPlantVO.getAreas()*0.1);
+					decimal = decimal.add(bg.setScale(2, BigDecimal.ROUND_HALF_UP));
+				}
+				if (farmPlantVO.getLandUnit().equals("2")){
+					BigDecimal bg = new BigDecimal(farmPlantVO.getAreas()*0.0015);
+					decimal = decimal.add(bg.setScale(2, BigDecimal.ROUND_HALF_UP));
+				}
+			}
+			//求和
+			plantVO.setArea(decimal.toString());
+		}else {
+			//求和
+			plantVO.setArea("0");
+		}
+		//返回
+		return plantVO;
+	}
 }

--
Gitblit v1.9.3