From cfcb55d0559b59302564e3a26aa3f9936181da47 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Tue, 05 Jul 2022 17:16:16 +0800
Subject: [PATCH] 大屏接口对接

---
 src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java           |   39 +++++++++++++++++++
 src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java          |    3 +
 src/main/java/org/springblade/modules/farmplant/service/impl/FarmProductStockServiceImpl.java |    9 ++++
 src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java            |    2 +
 src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java    |   28 ++++++++++++++
 src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml             |   35 +++++++++++++++++
 6 files changed, 116 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java b/src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
index 74c080c..6584403 100644
--- a/src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
+++ b/src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
@@ -105,6 +105,45 @@
 		return R.data(pages);
 	}
 
+
+	/**
+	 * 分页统计
+	 */
+	@GetMapping("/pageCount")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入farmPlant")
+	public R<List<FarmPlantVO>> pageCount(FarmPlantVO farmPlant, Query query) {
+		IPage<FarmPlantVO> pages = farmplantService.selectFarmPlantPage(Condition.getPage(query), farmPlant);
+		List<FarmPlantVO> res = pages.getRecords();
+		List<FarmPlantVO> count = new ArrayList<>();
+		//按种类合并种植物
+		for (int i = 0; i < res.size(); i++) {
+			if (i == 0){
+				count.add(res.get(0));
+			}else {
+				boolean type = false;
+				for (int j = 0; j < count.size(); j++) {
+					if (res.get(i).getStrainId().equals(count.get(j).getStrainId())){
+						FarmPlantVO data = new FarmPlantVO();
+						data.setStrainId(res.get(i).getStrainId());
+						data.setArea((Double.parseDouble(res.get(i).getArea()) + Double.parseDouble(count.get(j).getArea()))+"");
+						data.setStrainName(res.get(i).getStrainName());
+						count.set(j,data);
+						type = false;
+						break;
+					}else{
+						type = true;
+					}
+				}
+				if (type){
+					count.add(res.get(i));
+				}
+			}
+		}
+
+		return R.data(count);
+	}
+
 	/**
 	 * 新增
 	 */
diff --git a/src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java b/src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java
index 11a101b..41c7ac5 100644
--- a/src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java
+++ b/src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java
@@ -157,4 +157,32 @@
 		return R.data(list);
 	}
 
+	/**
+	 * 大屏经营概况库存数量与年产量
+	 */
+	@GetMapping("/statisticsStockAndYield")
+	public R statisticsStockAndYield(String year,String deptId) {
+
+		//库存数量统计
+		Map map = new HashMap();
+		//统计当前库存农产品
+		Map<String, String> sum = farmProductStockService.statisticsStock(year, deptId);
+		//统计当前库存加工产品
+		Map<String, String> jgsum = null;
+		map.put("sum",sum.get("sum"));
+		map.put("jgsum",0);
+
+		//农产品年产量统计
+		List<Map<String, Double>> Nsum = farmProductStockService.statisticsYield(year, deptId);
+		double ncpNcl = Nsum.get(1).get("sum") + Nsum.get(0).get("sum");
+		System.out.println("cscsc"+ncpNcl);
+		System.out.println(map.get("sum"));
+
+		map.put("ncpNcl",ncpNcl + Double.parseDouble(map.get("sum").toString()));
+
+		//加工产品年产量统计
+		map.put("jgNcl",0);
+		return R.data(map);
+	}
+
 }
diff --git a/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java b/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java
index 1f5e2d2..cc2fd4b 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java
@@ -34,6 +34,8 @@
 	List<FarmProductStockVO> statisticsProduct(@Param("farmProductStock") FarmProductStockVO farmProductStock);
 	List<FarmProductStockVO> statisticsProductx(@Param("page") IPage page, @Param("farmProductStock") FarmProductStockVO farmProductStock);
 	Map<String, String> selctProductCount(String year);
+	Map<String, String> statisticsStock(String year,String deptId);
+	List<Map<String, Double>> statisticsYield(String year,String deptId);
 	boolean stockCompare(double sale,String id);
 	boolean stockReduce(double sale,String id);
 }
diff --git a/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml b/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml
index 50aed43..6ab39ff 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml
@@ -65,6 +65,41 @@
             YEAR ( s.time ) =#{year}
     </select>
 
+    <!--大屏经营概况库存数量统计-->
+    <select id="statisticsStock" resultType="java.util.HashMap">
+        SELECT
+            SUM(stock.weight) AS sum
+        FROM
+            sys_farm_product_stock as stock
+        where 1 = 1
+        <if test="year!=null and year!=''">
+            and YEAR ( stock.time ) = #{year}
+        </if>
+        <if test="deptId!=null and deptId!=''">
+            and stock.dept_id = #{deptId}
+        </if>
+    </select>
+    <!--大屏经营概况年产量统计-->
+    <select id="statisticsYield" resultType="java.util.HashMap">
+        SELECT
+            SUM( sale.sale_num ) AS sum
+        FROM
+            sys_sale AS sale
+        WHERE 1 = 1
+            <if test="year!=null and year!=''">
+                and YEAR ( sale.sale_time ) = #{year}
+            </if>
+            union all
+            SELECT
+            SUM( inventory.sale_num ) AS sum
+        FROM
+            sys_inventory AS inventory
+        WHERE 1 = 1
+        <if test="year!=null and year!=''">
+            and YEAR ( inventory.loss_time ) = #{year}
+        </if>
+    </select>
+
     <!--小程序农产品库存详情数据-->
     <select id="statisticsProductx" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO">
         select sfps.strain_id strainId,sfps.weight,ss.url,ss.strain_name strainName from
diff --git a/src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java b/src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java
index a03c30a..f6e3017 100644
--- a/src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java
+++ b/src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java
@@ -6,6 +6,7 @@
 import org.springblade.modules.farmplant.entity.FarmProductStock;
 import org.springblade.modules.farmplant.vo.FarmProductStockVO;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -32,6 +33,8 @@
 	FarmProductStockVO statisticsProduct(FarmProductStockVO farmProductStock);
 	IPage<FarmProductStockVO> statisticsProductx(IPage<FarmProductStockVO> page, FarmProductStockVO farmProductStock);
 	Map<String, String> selctProductCount(String year);
+	Map<String, String> statisticsStock(String year,String deptId);
+	List<Map<String, Double>> statisticsYield(String year, String deptId);
 	//查看库存是否充足
 	boolean stockCompare(double sale,String id);
 	//减去相应库存
diff --git a/src/main/java/org/springblade/modules/farmplant/service/impl/FarmProductStockServiceImpl.java b/src/main/java/org/springblade/modules/farmplant/service/impl/FarmProductStockServiceImpl.java
index 82f9f7b..4841e0e 100644
--- a/src/main/java/org/springblade/modules/farmplant/service/impl/FarmProductStockServiceImpl.java
+++ b/src/main/java/org/springblade/modules/farmplant/service/impl/FarmProductStockServiceImpl.java
@@ -62,6 +62,15 @@
 	}
 
 	@Override
+	public Map<String, String> statisticsStock(String year,String deptId) {
+		return baseMapper.statisticsStock(year,deptId);
+	}
+	@Override
+	public List<Map<String, Double>> statisticsYield(String year,String deptId) {
+		return baseMapper.statisticsYield(year,deptId);
+	}
+
+	@Override
 	public boolean stockCompare(double sale,String id) {
 		return baseMapper.stockCompare(sale,id);
 	}

--
Gitblit v1.9.3