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/task/mapper/TaskMapper.xml |  205 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 203 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
index 57ea9d6..7d1aba6 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
@@ -3,7 +3,7 @@
 <mapper namespace="org.springblade.modules.task.mapper.TaskMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="taskResultMap" type="org.springblade.modules.task.entity.Task">
+    <resultMap id="taskResultMap" type="org.springblade.modules.task.vo.TaskVO">
         <result column="id" property="id"/>
         <result column="create_user" property="createUser"/>
         <result column="create_dept" property="createDept"/>
@@ -21,11 +21,212 @@
         <result column="remark" property="remark"/>
         <result column="tp" property="tp"/>
         <result column="farm" property="farm"/>
+        <result column="landname" property="landname"/>
     </resultMap>
 
 
     <select id="selectTaskPage" resultMap="taskResultMap">
-        select * from sys_task where is_deleted = 0
+        select t.*, l.land_name as landname,
+        f.agricultural_name as argname,
+        s.specs1,
+        d.dict_value specsVal1,
+        c.dict_value specsVal2,
+        u.real_name as reaname
+        from sys_task t
+        LEFT JOIN sys_land l ON t.land_id = l.id
+        LEFT JOIN sys_soldr s ON s.id = t.stock_id
+        LEFT JOIN sys_stockfactory f ON f.id = s.stock_id1
+        LEFT JOIN (SELECT dict_key, dict_value FROM blade_dict_biz WHERE CODE = 'stockSpecs1' AND is_deleted = 0) d ON d.dict_key = s.specs_val1
+        LEFT JOIN (SELECT dict_key, dict_value FROM blade_dict_biz WHERE CODE = 'stockSpecs2' AND is_deleted = 0) c ON c.dict_key = s.specs_val2
+        LEFT JOIN blade_user u ON u.id=t.task_user
+        where t.is_deleted = 0
+        <if test="task.taskUser!=null and task.taskUser!=''">
+            and t.task_user=#{task.taskUser}
+        </if>
+        <if test="task.status!=null and task.status!='' or task.status == 0 " >
+            and t.status=#{task.status}
+        </if>
+        <if test="task.farmId!=null and task.farmId!=''">
+            and l.farm_id = #{task.farmId}
+        </if>
+        <if test="task.User!=null and task.User!=''">
+            and t.create_user=#{task.User}
+        </if>
+        ORDER BY t.create_time DESC
     </select>
 
+    <!--统计待处理任务数量-->
+    <select id="selectCount" resultType="java.lang.Integer">
+        SELECT COUNT(*)
+        FROM `sys_task`
+        WHERE status = 2
+          AND is_deleted = 0
+          AND task_user = #{taskuser}
+    </select>
+
+
+    <!--任务监管  code=1(当天)-->
+    <select id="selectTask" resultType="java.util.HashMap">
+        select a.order_hour as date, ifnull(b.num, 0) as num
+        from (
+        SELECT 0 AS order_hour UNION ALL SELECT 1 AS order_hour UNION ALL
+        SELECT 2 AS order_hour UNION ALL SELECT 3 AS order_hour UNION ALL
+        SELECT 4 AS order_hour UNION ALL SELECT 5 AS order_hour UNION ALL
+        SELECT 6 AS order_hour UNION ALL SELECT 7 AS order_hour UNION ALL
+        SELECT 8 AS order_hour UNION ALL SELECT 9 AS order_hour UNION ALL
+        SELECT 10 AS order_hour UNION ALL SELECT 11 AS order_hour UNION ALL
+        SELECT 12 AS order_hour UNION ALL SELECT 13 AS order_hour UNION ALL
+        SELECT 14 AS order_hour UNION ALL SELECT 15 AS order_hour UNION ALL
+        SELECT 16 AS order_hour UNION ALL SELECT 17 AS order_hour UNION ALL
+        SELECT 18 AS order_hour UNION ALL SELECT 19 AS order_hour UNION ALL
+        SELECT 20 AS order_hour UNION ALL SELECT 21 AS order_hour UNION ALL
+        SELECT 22 AS order_hour UNION ALL SELECT 23 AS order_hour
+        ) as a
+        LEFT JOIN
+        (
+        SELECT HOUR(create_time) AS order_hour, count(*) AS num FROM sys_task
+        WHERE create_time >= str_to_date('2022-06-29 00:00:00','%Y-%m-%d %T')
+        AND create_time&lt;= str_to_date('2022-06-29 23:59:59','%Y-%m-%d %T')
+        GROUP BY order_hour
+        ) b ON a.order_hour=b.order_hour
+
+        ORDER BY order_hour;
+    </select>
+    <!--任务监管  code=2(当月)-->
+    <select id="selectM" resultType="java.util.HashMap">
+        SELECT lefttable.date,
+               IFNULL(righttable.m, '0') AS num
+        FROM (
+                 SELECT ADDDATE(y.FIRST, x.d - 1) AS date
+                 FROM
+                     (
+                     SELECT
+                     1 AS d UNION ALL
+                     SELECT
+                     2 UNION ALL
+                     SELECT
+                     3 UNION ALL
+                     SELECT
+                     4 UNION ALL
+                     SELECT
+                     5 UNION ALL
+                     SELECT
+                     6 UNION ALL
+                     SELECT
+                     7 UNION ALL
+                     SELECT
+                     8 UNION ALL
+                     SELECT
+                     9 UNION ALL
+                     SELECT
+                     10 UNION ALL
+                     SELECT
+                     11 UNION ALL
+                     SELECT
+                     12 UNION ALL
+                     SELECT
+                     13 UNION ALL
+                     SELECT
+                     14 UNION ALL
+                     SELECT
+                     15 UNION ALL
+                     SELECT
+                     16 UNION ALL
+                     SELECT
+                     17 UNION ALL
+                     SELECT
+                     18 UNION ALL
+                     SELECT
+                     19 UNION ALL
+                     SELECT
+                     20 UNION ALL
+                     SELECT
+                     21 UNION ALL
+                     SELECT
+                     22 UNION ALL
+                     SELECT
+                     23 UNION ALL
+                     SELECT
+                     24 UNION ALL
+                     SELECT
+                     25 UNION ALL
+                     SELECT
+                     26 UNION ALL
+                     SELECT
+                     27 UNION ALL
+                     SELECT
+                     28 UNION ALL
+                     SELECT
+                     29 UNION ALL
+                     SELECT
+                     30 UNION ALL
+                     SELECT
+                     31
+                     ) x,
+                     ( SELECT CONCAT( '2022-06', '-01' ) AS FIRST, DAY ( LAST_DAY( str_to_date( '2022-06-01', '%Y-%m-%d' ) ) ) AS
+                     last ) y
+                 WHERE
+                     x.d&lt;= y.last
+                   AND ADDDATE( y.FIRST
+                     , x.d - 1 ) &lt;= CURDATE( )
+             ) AS lefttable
+                 LEFT JOIN (
+            SELECT IFNULL(COUNT(*), 0)                  AS m,
+                   DATE_FORMAT(create_time, '%Y-%c-%d') AS gptime
+            FROM sys_task
+            WHERE DATE_FORMAT(create_time, '%Y%m') = '202206'
+            GROUP BY gptime
+        ) AS righttable ON DATE_FORMAT(lefttable.date, '%Y-%c-%d') = righttable.gptime
+    </select>
+    <!--任务监管  code=3(当年)-->
+    <select id="selectY" resultType="java.util.HashMap">
+        SELECT IFNULL(COUNT(*), 0) AS num,
+               DATE_FORMAT(create_time, "%Y-%m-%d") as date
+        FROM
+            sys_task
+        WHERE 1=1 and YEAR (create_time)=#{time};
+    </select>
+
+    <select id="countTaskNum" resultType="java.util.HashMap">
+    <!--已完成 -->
+    SELECT count( * ) AS count FROM sys_task st
+    left join sys_land sl on sl.id = st.land_id
+    WHERE 1 = 1
+        AND st.STATUS = '0'
+        AND st.create_time like concat('%',#{task.year},'%')
+        AND sl.farm_id = #{task.farmId}
+        AND st.is_deleted = 0
+    UNION ALL
+    <!--未完成 -->
+    SELECT count( * ) AS count FROM sys_task st
+    left join sys_land sl on sl.id = st.land_id
+    WHERE
+        1 = 1
+        AND ( st.STATUS = '1' OR st.STATUS = '2' )
+        AND  st.create_time like concat('%',#{task.year},'%')
+        AND sl.farm_id = #{task.farmId}
+        AND st.is_deleted = 0
+    UNION ALL
+    <!--超期完成 -->
+    SELECT count( * ) AS count FROM sys_task st
+    left join sys_land sl on sl.id = st.land_id
+    WHERE
+        1 = 1
+        AND st.STATUS = '0'
+        AND  st.create_time like concat('%',#{task.year},'%')
+        AND st.update_time > DATE_ADD(st.time,INTERVAL 1 DAY)
+        AND sl.farm_id = #{task.farmId}
+        AND st.is_deleted = 0
+    UNION ALL
+    <!--超期未完成 -->
+    SELECT count( * ) AS count FROM sys_task st
+    left join sys_land sl on sl.id = st.land_id
+    WHERE
+        1 = 1
+        AND ( st.STATUS = '1' OR st.STATUS = '2' )
+        AND st.create_time like concat('%',#{task.year},'%')
+        AND now() > DATE_ADD(st.time,INTERVAL 1 DAY)
+        AND sl.farm_id = #{task.farmId}
+        AND st.is_deleted = 0
+    </select>
 </mapper>

--
Gitblit v1.9.3