From d95f6551e8214d69cd0fd511ec693641eb61ba16 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Mon, 01 Aug 2022 10:36:26 +0800
Subject: [PATCH] 1、大屏首页接口修复,解决double类型相加精度问题

---
 src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml |  174 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 172 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..393e48d 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,181 @@
         <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,
+        u.real_name as reaname
+        from sys_task t
+        LEFT JOIN sys_land l ON t.land_id = l.id
+        LEFT JOIN sys_stockfactory f ON f.id=t.stock_id
+        LEFT JOIN blade_user u ON u.id=t.task_user
+        where t.is_deleted = 0 and t.status=#{task.status}
+        <if test="task.taskUser!=null and task.taskUser!=''">
+            and t.task_user=#{task.taskUser}
+        </if>
+        <if test="task.farmId!=null and task.farmId!=''">
+            and l.farm_id = #{task.farmId}
+        </if>
     </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}
+    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}
+    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() > st.time
+        AND sl.farm_id = #{task.farmId}
+    </select>
 </mapper>

--
Gitblit v1.9.3