From 991770ca69d356362f123d1ff6d8df1ec7046c9c Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 17 Oct 2022 11:21:42 +0800
Subject: [PATCH] 修复销售、加工、出库、损耗记录表的查询功能

---
 src/main/java/org/springblade/modules/InventoryLoss/vo/InventoryVO.java             |    4 ++
 src/main/java/org/springblade/modules/sale/mapper/SaleMapper.xml                    |    6 +++
 src/main/java/org/springblade/modules/process/vo/ProcessVO.java                     |    4 ++
 src/main/java/org/springblade/modules/farmplant/service/impl/StrainServiceImpl.java |    6 +++
 src/main/java/org/springblade/modules/retrieval/vo/RetrievalVO.java                 |    4 ++
 src/main/java/org/springblade/modules/farmplant/controller/StrainController.java    |    9 ++++
 src/main/java/org/springblade/modules/farmplant/mapper/StrainMapper.java            |    2 +
 src/main/java/org/springblade/modules/sale/vo/SaleVO.java                           |    4 ++
 src/main/java/org/springblade/modules/farmplant/service/StrainService.java          |    3 +
 src/main/java/org/springblade/modules/InventoryLoss/mapper/InventoryMapper.xml      |    6 +++
 src/main/java/org/springblade/modules/farmplant/mapper/StrainMapper.xml             |    8 ++++
 src/main/java/org/springblade/modules/process/mapper/ProcessMapper.xml              |    4 +-
 src/main/java/org/springblade/modules/retrieval/mapper/RetrievalMapper.xml          |    6 +++
 13 files changed, 64 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/springblade/modules/InventoryLoss/mapper/InventoryMapper.xml b/src/main/java/org/springblade/modules/InventoryLoss/mapper/InventoryMapper.xml
index 8c1aa58..ffec6f1 100644
--- a/src/main/java/org/springblade/modules/InventoryLoss/mapper/InventoryMapper.xml
+++ b/src/main/java/org/springblade/modules/InventoryLoss/mapper/InventoryMapper.xml
@@ -24,6 +24,12 @@
         <if test="inventory.farmId != null and inventory.farmId !=''">
             AND (land.farm_id = #{inventory.farmId} OR inv.fps_id = #{inventory.farmId})
         </if>
+        <if test="inventory.type != null and inventory.type !='' ">
+            AND inventory.type = #{inventory.type}
+        </if>
+        <if test="inventory.kind != null and inventory.kind !='' ">
+            AND (inv.product_id = #{inventory.kind} OR inventory.strain_id = #{inventory.kind})
+        </if>
             AND bdb.code = "lossReason"
             AND inventory.is_deleted = 0
             ORDER BY inventory.create_time DESC
diff --git a/src/main/java/org/springblade/modules/InventoryLoss/vo/InventoryVO.java b/src/main/java/org/springblade/modules/InventoryLoss/vo/InventoryVO.java
index edd8683..57cb8fc 100644
--- a/src/main/java/org/springblade/modules/InventoryLoss/vo/InventoryVO.java
+++ b/src/main/java/org/springblade/modules/InventoryLoss/vo/InventoryVO.java
@@ -50,4 +50,8 @@
 	 * 品种名
 	 */
 	private String proName;
+	/**
+	 * 选择产品的id
+	 */
+	private String kind;
 }
diff --git a/src/main/java/org/springblade/modules/farmplant/controller/StrainController.java b/src/main/java/org/springblade/modules/farmplant/controller/StrainController.java
index c6aed71..7df4d37 100644
--- a/src/main/java/org/springblade/modules/farmplant/controller/StrainController.java
+++ b/src/main/java/org/springblade/modules/farmplant/controller/StrainController.java
@@ -127,4 +127,13 @@
 		return R.data(pages);
 	}
 
+	/**
+	 * 获取农产品和加工产品列表
+	 * @return
+	 */
+	@GetMapping("kind-tree")
+	public R kindTree(){
+		return R.data(strainService.kindTree());
+	}
+
 }
diff --git a/src/main/java/org/springblade/modules/farmplant/mapper/StrainMapper.java b/src/main/java/org/springblade/modules/farmplant/mapper/StrainMapper.java
index 03ffc44..5e444f6 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/StrainMapper.java
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/StrainMapper.java
@@ -8,6 +8,7 @@
 import org.springblade.modules.farmplant.vo.StrainVO;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  *  种养品种Mapper 接口
@@ -25,4 +26,5 @@
 	 */
 	List<StrainVO> selectStrainPage(@Param("page") IPage page, @Param("strain") StrainVO strain);
 
+	List<Map<String,String>> kindTree();
 }
diff --git a/src/main/java/org/springblade/modules/farmplant/mapper/StrainMapper.xml b/src/main/java/org/springblade/modules/farmplant/mapper/StrainMapper.xml
index cad71a6..e3e1c0e 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/StrainMapper.xml
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/StrainMapper.xml
@@ -15,5 +15,13 @@
             and strain_name like concat('%',#{strain.strainName},'%')
         </if>
     </select>
+    <select id="kindTree" resultType="java.util.Map">
+        SELECT strain.id,strain.strain_name kindName,0 AS type
+        FROM sys_strain strain
+        UNION
+        SELECT m.id ,m.machining_type,1 AS type
+        FROM sys_machining m
+        WHERE m.is_deleted = 0
+    </select>
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/farmplant/service/StrainService.java b/src/main/java/org/springblade/modules/farmplant/service/StrainService.java
index 4c80586..940e683 100644
--- a/src/main/java/org/springblade/modules/farmplant/service/StrainService.java
+++ b/src/main/java/org/springblade/modules/farmplant/service/StrainService.java
@@ -8,6 +8,7 @@
 import org.springblade.modules.farmplant.vo.StrainVO;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 种养品种服务类
@@ -32,4 +33,6 @@
 	 * @return
 	 */
 	List<Strain> strainTree(StrainVO strain);
+
+    List<Map<String,String>> kindTree();
 }
diff --git a/src/main/java/org/springblade/modules/farmplant/service/impl/StrainServiceImpl.java b/src/main/java/org/springblade/modules/farmplant/service/impl/StrainServiceImpl.java
index 38bb11c..24b6616 100644
--- a/src/main/java/org/springblade/modules/farmplant/service/impl/StrainServiceImpl.java
+++ b/src/main/java/org/springblade/modules/farmplant/service/impl/StrainServiceImpl.java
@@ -11,6 +11,7 @@
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 种养品种服务实现类
@@ -40,4 +41,9 @@
 	public List<Strain> strainTree(StrainVO strain) {
 		return list(new QueryWrapper<>(strain));
 	}
+
+	@Override
+	public List<Map<String,String>> kindTree() {
+		return baseMapper.kindTree();
+	}
 }
diff --git a/src/main/java/org/springblade/modules/process/mapper/ProcessMapper.xml b/src/main/java/org/springblade/modules/process/mapper/ProcessMapper.xml
index abbab9e..3090eb0 100644
--- a/src/main/java/org/springblade/modules/process/mapper/ProcessMapper.xml
+++ b/src/main/java/org/springblade/modules/process/mapper/ProcessMapper.xml
@@ -44,8 +44,8 @@
         <if test="process.farmId!=null and process.farmId!=''">
             AND (sl.farm_id = #{process.farmId} or (inv.fps_id = #{process.farmId} AND p.land_id IS NULL))
         </if>
-        <if test="process.strainId !=null and process.strainId !=''">
-            and p.strain_id = #{process.strainId}
+        <if test="process.kind !=null and process.kind !=''">
+            and (p.strain_id = #{process.kind} OR p.parent_id = #{process.kind})
         </if>
         GROUP BY p.id
         ORDER BY p.create_time DESC
diff --git a/src/main/java/org/springblade/modules/process/vo/ProcessVO.java b/src/main/java/org/springblade/modules/process/vo/ProcessVO.java
index d32490c..063a400 100644
--- a/src/main/java/org/springblade/modules/process/vo/ProcessVO.java
+++ b/src/main/java/org/springblade/modules/process/vo/ProcessVO.java
@@ -48,4 +48,8 @@
 	 * 源头名
 	 */
 	private String parentName;
+	/**
+	 * 选择产品的id
+	 */
+	private String kind;
 }
diff --git a/src/main/java/org/springblade/modules/retrieval/mapper/RetrievalMapper.xml b/src/main/java/org/springblade/modules/retrieval/mapper/RetrievalMapper.xml
index 83d9e0f..0acac46 100644
--- a/src/main/java/org/springblade/modules/retrieval/mapper/RetrievalMapper.xml
+++ b/src/main/java/org/springblade/modules/retrieval/mapper/RetrievalMapper.xml
@@ -66,6 +66,12 @@
         <if test="retrieval.farmId != null and retrieval.farmId !=''">
             AND (land.farm_id = #{retrieval.farmId} OR inv.fps_id = #{retrieval.farmId})
         </if>
+        <if test="retrieval.type != null and retrieval.type !='' ">
+            AND retrieval.type = #{retrieval.type}
+        </if>
+        <if test="retrieval.kind != null and retrieval.kind !='' ">
+            AND (inv.product_id = #{retrieval.kind} OR retrieval.strain_id = #{retrieval.kind})
+        </if>
         AND retrieval.is_deleted = 0 ORDER BY retrieval.create_time DESC
     </select>
 
diff --git a/src/main/java/org/springblade/modules/retrieval/vo/RetrievalVO.java b/src/main/java/org/springblade/modules/retrieval/vo/RetrievalVO.java
index 624fde7..8615630 100644
--- a/src/main/java/org/springblade/modules/retrieval/vo/RetrievalVO.java
+++ b/src/main/java/org/springblade/modules/retrieval/vo/RetrievalVO.java
@@ -66,4 +66,8 @@
 	 * 品种名
 	 */
 	private String proName;
+	/**
+	 * 选择产品的id
+	 */
+	private String kind;
 }
diff --git a/src/main/java/org/springblade/modules/sale/mapper/SaleMapper.xml b/src/main/java/org/springblade/modules/sale/mapper/SaleMapper.xml
index 9a28c0f..6f97f7c 100644
--- a/src/main/java/org/springblade/modules/sale/mapper/SaleMapper.xml
+++ b/src/main/java/org/springblade/modules/sale/mapper/SaleMapper.xml
@@ -89,6 +89,12 @@
         <if test="sale.farmId != null and sale.farmId !=''">
             AND (land.farm_id = #{sale.farmId} OR inv.fps_id = #{sale.farmId})
         </if>
+        <if test="sale.type != null and sale.type !='' ">
+            AND sale.type = #{sale.type}
+        </if>
+        <if test="sale.kind != null and sale.kind !='' ">
+            AND (inv.product_id = #{sale.kind} OR sale.strain_id = #{sale.kind})
+        </if>
         AND sale.is_deleted = 0
         ORDER BY
         sale.create_time DESC
diff --git a/src/main/java/org/springblade/modules/sale/vo/SaleVO.java b/src/main/java/org/springblade/modules/sale/vo/SaleVO.java
index 49a2b7c..9c87696 100644
--- a/src/main/java/org/springblade/modules/sale/vo/SaleVO.java
+++ b/src/main/java/org/springblade/modules/sale/vo/SaleVO.java
@@ -84,4 +84,8 @@
 	 * 产品名
 	 */
 	private String proName;
+	/**
+	 * 选择产品的id
+	 */
+	private String kind;
 }

--
Gitblit v1.9.3