From 72b971c98c46531064d74b68fc8fe8864ed0b544 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 08 Nov 2022 09:04:56 +0800
Subject: [PATCH] 大屏溯源统计次数sql修改

---
 src/main/java/org/springblade/modules/sale/mapper/SaleMapper.xml |   92 +++++++++++++++++++++++++++++++--------------
 1 files changed, 63 insertions(+), 29 deletions(-)

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 ab93b76..6f97f7c 100644
--- a/src/main/java/org/springblade/modules/sale/mapper/SaleMapper.xml
+++ b/src/main/java/org/springblade/modules/sale/mapper/SaleMapper.xml
@@ -29,42 +29,76 @@
 
 
     <select id="selectSalePage" resultMap="saleResultMap">
+<!--        SELECT-->
+<!--            sale.*,-->
+<!--            user.real_name,-->
+<!--            strain.strain_name,-->
+<!--            strain.url,-->
+<!--            district.name as district,-->
+<!--            region.city_name,-->
+<!--            region.district_name,-->
+<!--        CASE WHEN sale.type = 1 THEN-->
+<!--        (-->
+<!--        SELECT m.machining_type FROM sys_process_inv inv-->
+<!--        LEFT JOIN sys_machining m ON m.id = inv.product_id-->
+<!--        WHERE sale.prod_id = inv.id-->
+<!--        )-->
+<!--        ELSE-->
+<!--        (-->
+<!--        SELECT strain.strain_name FROM sys_farm_product_stock sfps-->
+<!--        LEFT JOIN sys_strain strain ON strain.id = sfps.strain_id-->
+<!--        WHERE sale.prod_id = sfps.id-->
+<!--        )-->
+<!--        END AS proName-->
+<!--        FROM-->
+<!--            sys_sale sale-->
+<!--        LEFT JOIN blade_user user on sale.create_user = user.id-->
+<!--        LEFT JOIN sys_strain strain on sale.strain_id = strain.id-->
+<!--        LEFT JOIN sys_district district on sale.sale_destination = district.code-->
+<!--        LEFT JOIN blade_region region on sale.county = region.district_code-->
+<!--        LEFT JOIN sys_land land ON land.id = sale.land_id-->
+<!--        WHERE-->
+<!--        <if test="sale.strainId !=null and sale.strainId != '' ">-->
+<!--            sale.strain_id = #{sale.strainId} AND-->
+<!--        </if>-->
+<!--        <if test="sale.farmId != null and sale.farmId !=''">-->
+<!--           land.farm_id = #{sale.farmId} AND-->
+<!--        </if>-->
+<!--            sale.is_deleted = 0 ORDER BY sale.create_time DESC-->
+
         SELECT
             sale.*,
-            user.real_name,
+            USER.real_name,
             strain.strain_name,
+            mach.machining_type AS proName,
             strain.url,
-            district.name as district,
+            district.NAME AS district,
             region.city_name,
-            region.district_name,
-        CASE WHEN sale.type = 1 THEN
-        (
-        SELECT m.machining_type FROM sys_process_inv inv
-        LEFT JOIN sys_machining m ON m.id = inv.product_id
-        WHERE sale.prod_id = inv.id
-        )
-        ELSE
-        (
-        SELECT strain.strain_name FROM sys_farm_product_stock sfps
-        LEFT JOIN sys_strain strain ON strain.id = sfps.strain_id
-        WHERE sale.prod_id = sfps.id
-        )
-        END AS proName
+            region.district_name
         FROM
             sys_sale sale
-        LEFT JOIN blade_user user on sale.create_user = user.id
-        LEFT JOIN sys_strain strain on sale.strain_id = strain.id
-        LEFT JOIN sys_district district on sale.sale_destination = district.code
-        LEFT JOIN blade_region region on sale.county = region.district_code
-        LEFT JOIN sys_land land ON land.id = sale.land_id
+            LEFT JOIN blade_user USER ON sale.create_user = USER.id
+            LEFT JOIN sys_strain strain ON sale.strain_id = strain.id
+            LEFT JOIN sys_district district ON sale.sale_destination = district.CODE
+            LEFT JOIN blade_region region ON sale.county = region.district_code
+            LEFT JOIN sys_land land ON land.id = sale.land_id
+            LEFT JOIN sys_process_inv inv ON inv.id = sale.prod_id
+            LEFT JOIN sys_machining mach ON mach.id = inv.product_id
         WHERE
-        <if test="sale.strainId !=null and sale.strainId != '' ">
-            sale.strain_id = #{sale.strainId} AND
-        </if>
+            1 = 1
         <if test="sale.farmId != null and sale.farmId !=''">
-           land.farm_id = #{sale.farmId} AND
+            AND (land.farm_id = #{sale.farmId} OR inv.fps_id = #{sale.farmId})
         </if>
-            sale.is_deleted = 0 ORDER BY sale.create_time DESC
+        <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
+
     </select>
 
 
@@ -145,7 +179,8 @@
             sys_sale sale
             LEFT JOIN sys_district dis ON sale.sale_destination = dis.CODE
             LEFT JOIN sys_land sl ON sl.id = sale.land_id
-        WHERE 1 = 1
+            LEFT JOIN sys_process_inv inv ON inv.id = sale.prod_id
+        WHERE 1 = 1 AND sale.is_deleted = 0
         <if test="startTime != null and startTime != ''">
             and sale_time &gt;= #{startTime}
         </if>
@@ -155,9 +190,8 @@
         <if test="startTime == null and endTime == null ">
             and YEAR ( sale_time ) = YEAR ( NOW( ) )
         </if>
-
         <if test="farmId != null and farmId != ''">
-            and sl.farm_id = #{farmId}
+            and (sl.farm_id = #{farmId} or inv.fps_id = #{farmId})
         </if>
         GROUP BY
             dis.NAME,

--
Gitblit v1.9.3