From b7b04173afd9a05cedda9f44c53e52847806fb51 Mon Sep 17 00:00:00 2001
From: xiebin <123456>
Date: Thu, 04 Aug 2022 15:56:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java          |    1 
 src/main/java/org/springblade/modules/lang/mapper/LandMapper.java                             |    7 +++
 src/main/java/org/springblade/modules/farmplant/service/impl/FarmProductStockServiceImpl.java |    5 ++
 src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java                  |    5 ++
 src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java            |    8 ++++
 src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java    |   15 +++++++
 src/main/java/org/springblade/modules/lang/controller/LandController.java                     |    8 ++++
 src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml             |   45 ++++++++++++++++++++++
 src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml                              |   10 +++++
 src/main/java/org/springblade/modules/lang/service/ILandService.java                          |    8 ++++
 10 files changed, 112 insertions(+), 0 deletions(-)

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 19359ee..17bafe9 100644
--- a/src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java
+++ b/src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java
@@ -65,6 +65,15 @@
 		return R.data(pages);
 	}
 
+
+	@GetMapping("/strainCount")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入farmProductStock")
+	public R<IPage<FarmProductStockVO>> strainCount(FarmProductStockVO farmProductStock, Query query) {
+		IPage<FarmProductStockVO> pages = farmProductStockService.selectFarmProductStockPagesCount(Condition.getPage(query), farmProductStock);
+		return R.data(pages);
+	}
+
 	/**
 	 * 自定义分页
 	 */
@@ -236,4 +245,10 @@
 		return R.data(cssum);
 	}
 
+	@GetMapping("/getByLandId")
+	public R getByLandId(String strainId,String landId){
+		FarmProductStock farmProductStock = farmProductStockService.selectBy2Id(strainId,landId);
+		return R.data(farmProductStock);
+	}
+
 }
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 71199ac..c17701d 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java
@@ -25,6 +25,14 @@
 	 * @return
 	 */
 	List<FarmProductStockVO> selectFarmProductStockPage(@Param("page") IPage page, @Param("farmProductStock") FarmProductStockVO farmProductStock);
+
+	/**
+	 * 农资库存整合
+	 * @param page
+	 * @param farmProductStock
+	 * @return
+	 */
+	IPage<FarmProductStockVO> selectFarmProductStockPageCount(IPage<Object> page, FarmProductStockVO farmProductStock);
 	List<FarmProductStockVO> selectFarmProductStockPages(@Param("farmProductStock") FarmProductStockVO farmProductStock);
 
 	List<FarmProductStock> findFarmProductStockByFarmIdAndStrainId(@Param("farmId") String farmId, @Param("strainId") Integer strainId);
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 4fdd274..6fd13c1 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml
@@ -33,6 +33,51 @@
         group by sfps.id,sfps.strain_id,ss.url,ss.strain_name,sfps.land_id
     </select>
 
+    <select id="selectFarmProductStockPageCount" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO">
+        SELECT a.strainId,SUM(weight) weight,a.url,a.strainName FROM
+            (SELECT
+                 sfps.id,
+                 sfps.strain_id AS strainId,
+                 sfps.land_id,
+                 sum( sfps.weight ) AS weight,
+                 ss.url,
+                 ss.strain_name AS strainName
+             FROM
+                 sys_farm_product_stock sfps
+                     LEFT JOIN sys_strain ss ON ss.id = sfps.strain_id
+                     LEFT JOIN sys_land sl ON sl.id = sfps.land_id
+             WHERE
+                 1 = 1
+        <if test="farmProductStock.strainId!=null and farmProductStock.strainId!=''">
+            and sfps.strain_id = #{farmProductStock.strainId}
+        </if>
+        <if test="farmProductStock.leaves!=null and farmProductStock.leaves!=''">
+            and sfps.leaves = #{farmProductStock.leaves}
+        </if>
+        <if test="farmProductStock.startTime!=null and farmProductStock.startTime!=''">
+            and sfps.time &gt;= #{farmProductStock.startTime}
+        </if>
+        <if test="farmProductStock.endTime!=null and farmProductStock.endTime!=''">
+            and sfps.time &lt;= #{farmProductStock.endTime}
+        </if>
+        <if test="farmProductStock.deptId!=null and farmProductStock.deptId!=''">
+            and sfps.dept_id = #{farmProductStock.deptId}
+        </if>
+        <if test="farmProductStock.tenantId!=null and farmProductStock.tenantId!=''">
+            and sfps.tenant_id = #{farmProductStock.tenantId}
+        </if>
+        <if test="farmProductStock.farmId!=null and farmProductStock.farmId!=''">
+            and sl.farm_id = #{farmProductStock.farmId}
+        </if>
+             GROUP BY
+                 sfps.id,
+                 sfps.strain_id,
+                 ss.url,
+                 ss.strain_name,
+                 sfps.land_id
+            ) a GROUP BY strainId
+    </select>
+
     <select id="selectFarmProductStockPages" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO">
         select sfps.strain_id strainId,sfps.land_id,sum(sfps.weight) weight,ss.url,ss.strain_name strainName from
         sys_farm_product_stock sfps
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 1c04cdd..68d770b 100644
--- a/src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java
+++ b/src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java
@@ -25,6 +25,7 @@
 	 * @return
 	 */
 	IPage<FarmProductStockVO> selectFarmProductStockPage(IPage<FarmProductStockVO> page, FarmProductStockVO farmProductStock);
+	IPage<FarmProductStockVO> selectFarmProductStockPagesCount(IPage<Object> page, FarmProductStockVO farmProductStock);
 	List<FarmProductStockVO> selectFarmProductStockPages(FarmProductStockVO farmProductStock);
 
 	List<FarmProductStock> findFarmProductStockByFarmIdAndStrainId(String farmId, Integer strainId);
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 1fc8b8f..065f6b5 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
@@ -32,6 +32,11 @@
 	}
 
 	@Override
+	public IPage<FarmProductStockVO> selectFarmProductStockPagesCount(IPage<Object> page, FarmProductStockVO farmProductStock) {
+		return baseMapper.selectFarmProductStockPageCount(page,farmProductStock);
+	}
+
+	@Override
 	public List<FarmProductStockVO> selectFarmProductStockPages(FarmProductStockVO farmProductStock) {
 		return baseMapper.selectFarmProductStockPages(farmProductStock);
 	}
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 10a98d8..2cea1b2 100644
--- a/src/main/java/org/springblade/modules/lang/controller/LandController.java
+++ b/src/main/java/org/springblade/modules/lang/controller/LandController.java
@@ -107,6 +107,14 @@
 		IPage<LandVO> pages = landService.selectLandPage(Condition.getPage(query), land);
 		return R.data(pages);
 	}
+	/**
+	 * 根据品种id查询对应地块
+	 */
+	@GetMapping("/selcetByStrainId")
+	public R selcetByStrainId(String strainId,String farmId) {
+		List<Land> list = landService.selectByStrainId(strainId,farmId);
+		return R.data(list);
+	}
 
 	/**
 	 * 新增 地块表
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 52e9326..82fb314 100644
--- a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.java
+++ b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.java
@@ -88,4 +88,11 @@
 	 * @return
 	 */
     List<Integer> getLandIsAreaStatistic(@Param("land") LandVO land);
+
+	/**
+	 * 根据品种查询对应地块
+	 * @param strainId 品种id
+	 * @return
+	 */
+	List<Land> selectByStrainId(@Param("strainId") String strainId,@Param("farmId") String farmId);
 }
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 446a8b8..cef2023 100644
--- a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
+++ b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
@@ -219,4 +219,14 @@
         </if>
     </select>
 
+    <select id="selectByStrainId" resultType="org.springblade.modules.lang.entity.Land">
+        SELECT land.id,land.land_name,land.url,land.farm_id
+        FROM sys_land land
+            LEFT JOIN sys_farm_product_stock fps ON fps.land_id = land.id
+        WHERE fps.strain_id = #{strainId}
+        <if test="farmId !=null and farmId != '' ">
+            AND land.farm_id = #{farmId}
+        </if>
+    </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 928d11b..c943e43 100644
--- a/src/main/java/org/springblade/modules/lang/service/ILandService.java
+++ b/src/main/java/org/springblade/modules/lang/service/ILandService.java
@@ -92,4 +92,12 @@
 	 * @return
 	 */
     List<Integer> getLandIsAreaStatistic(LandVO land);
+
+	/**
+	 * 根据品种id查询地块
+	 * @param strainId 品种id
+	 * @param farmId 农场id
+	 * @return
+	 */
+	List<Land> selectByStrainId(String strainId,String farmId);
 }
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 70d1e89..9948fb7 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
@@ -118,4 +118,9 @@
 	public List<Integer> getLandIsAreaStatistic(LandVO land) {
 		return baseMapper.getLandIsAreaStatistic(land);
 	}
+
+	@Override
+	public List<Land> selectByStrainId(String strainId,String farmId) {
+		return baseMapper.selectByStrainId(strainId,farmId);
+	}
 }

--
Gitblit v1.9.3