From d18eb5bd8b9cf93ba7adb4ee97fdcaccd3838e79 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 24 Aug 2022 10:36:10 +0800
Subject: [PATCH] 删除回滚完善,销售损耗添加字段type、prodId、地块选择数据返回增加库存量和面积

---
 src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

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 14e002b..2f5c3ad 100644
--- a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
+++ b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
@@ -26,7 +26,8 @@
         c.dict_value as dica,
         v.farm_name as deptname,
         l.farm_id as farmId,
-        l.land_type,l.type
+        l.land_type,l.type,
+        GROUP_CONCAT(a.url) AS strainUrl
         FROM `sys_land` l
         LEFT JOIN (SELECT dict_key, dict_value FROM blade_dict_biz WHERE CODE = 'land' AND is_deleted = 0 <if
         test="land.tenantId!=null and land.tenantId != ''">
@@ -41,6 +42,10 @@
         AND blade_dict_biz.tenant_id = #{land.tenantId}
     </if> ) c ON c.dict_key = l.land_unit
         LEFT JOIN ( SELECT id, farm_name FROM sys_farm ) v ON v.id = l.farm_id
+        LEFT JOIN
+        (
+            SELECT sfp.strain_id,strain.url,sfp.land_id FROM sys_farm_plant sfp LEFT JOIN sys_strain strain ON strain.id = sfp.strain_id WHERE sfp.`status` = 1
+        ) a ON l.id = a.land_id
         where l.is_deleted = 0
         <if test="land.landType!=null and land.landType != '' or land.landType == 0 ">
             and l.land_type = #{land.landType}
@@ -60,6 +65,7 @@
         <if test="land.farmId !=null and land.farmId !=''">
             AND l.farm_id = #{land.farmId}
         </if>
+        GROUP BY l.id,d.dict_value,c.dict_value
     </select>
 
     <!--查询地块列表(不分页)-->
@@ -222,11 +228,16 @@
         </if>
     </select>
 
-    <select id="selectByStrainId" resultType="org.springblade.modules.lang.entity.Land">
-        SELECT land.id,land.land_name,land.url,land.farm_id
+    <select id="selectByStrainId" resultType="org.springblade.modules.lang.vo.LandVO">
+        SELECT DISTINCT land.id,land.land_name,land.url,land.farm_id,fps.weight,
+        ( CASE WHEN land_unit = 2 THEN FORMAT(land.land_area * 0.0015,3) WHEN land_unit = 1 THEN land.land_area * 0.1 ELSE land.land_area END ) land_area
         FROM sys_land land
             LEFT JOIN sys_farm_product_stock fps ON fps.land_id = land.id
-        WHERE fps.strain_id = #{strainId}
+            LEFT JOIN sys_farm_plant sfp ON sfp.land_id = land.id
+        WHERE 1=1
+        <if test="strainId !=null and strainId != ''">
+            AND fps.strain_id = #{strainId}
+        </if>
         <if test="farmId !=null and farmId != '' ">
             AND land.farm_id = #{farmId}
         </if>
@@ -246,5 +257,12 @@
             AND sfp.status = #{land.sfpStatus}
         </if>
     </select>
+    <select id="findPlantInLand" resultType="org.springblade.modules.lang.vo.LandVO">
+        SELECT land.*,sfp.id AS sfpId,sfp.strain_id
+        FROM sys_land land
+        LEFT JOIN sys_farm_plant sfp ON land.id = sfp.land_id
+        WHERE land.is_deleted = 0  AND sfp.status = 1
+        AND land.id = #{ids}
+    </select>
 
 </mapper>

--
Gitblit v1.9.3