From c9bcbceb7112358c780688ffbd0ebb3ef528e65e Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 07 四月 2023 18:40:06 +0800
Subject: [PATCH] 首页管理

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml |  196 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 191 insertions(+), 5 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
index 3312641..1790a30 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
@@ -112,7 +112,7 @@
         ORDER BY o.createTime
     </select>
     <select id="getDataStatisticsByYear" resultType="com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp">
-        SELECT createTime AS `month`,COUNT(id) AS orderCount
+        SELECT date_format(createTime, '%m') AS `month`,COUNT(id) AS orderCount
         FROM t_order
         <where>
             <if test="agentId != null">
@@ -122,7 +122,7 @@
                 AND date_format(createTime, '%Y') LIKE concat('',#{yearDate},'%')
             </if>
         </where>
-        GROUP BY date_format(createTime, '%Y-%m')
+        GROUP BY `month`
     </select>
     <select id="getDataStatisticsOrderCount" resultType="com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp">
         SELECT date_format(o.createTime, '%Y-%m') AS monthTime,COUNT(o.id) AS amount,d.name AS userName
@@ -135,10 +135,11 @@
             <if test="monthDate != null and monthDate != ''">
                 AND date_format(o.createTime, '%Y-%m') LIKE concat('',#{monthDate},'%')
             </if>
-            AND (o.`state` = 108 OR o.`state` = 109)
+            AND (o.`state` = 107 OR o.`state` = 108 OR o.`state` = 109)
         </where>
         GROUP BY monthTime,userName
         ORDER BY amount DESC
+        LIMIT 10
     </select>
     <select id="getDataStatisticsCount" resultType="java.lang.Integer">
         SELECT COUNT(id)
@@ -170,7 +171,8 @@
                 OR `state` = 104
                 OR `state` = 105
                 OR `state` = 106
-                OR `state` = 107
+                OR `state` = 201
+                OR `state` = 401
             )
         </where>
     </select>
@@ -190,7 +192,8 @@
             OR o.`state` = 104
             OR o.`state` = 105
             OR o.`state` = 106
-            OR o.`state` = 107
+            OR o.`state` = 201
+            OR o.`state` = 401
             )
         </where>
     </select>
@@ -201,10 +204,193 @@
             <if test="agentId != null">
                 AND agentId = #{agentId}
             </if>
+            <if test="type != null and type == 1">
+                AND `state` = 101
+            </if>
+            <if test="type != null and type == 2">
+                AND (`state` = 102
+                OR `state` = 103
+                OR `state` = 104
+                OR `state` = 105
+                OR `state` = 106
+                OR `state` = 201
+                OR `state` = 401
+                )
+            </if>
+            <if test="type != null and type == 3">
+                AND (`state` = 107 OR `state` = 108 OR `state` = 109)
+            </if>
+            <if test="type != null and type == 4">
+                AND `state` = 301
+            </if>
             <if test="localDate != null">
                 AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
             </if>
         </where>
     </select>
+    <select id="getDataStatisticsCountByIds" resultType="java.lang.Integer">
+        SELECT COUNT(id)
+        FROM t_order
+        <where>
+            <if test="ids != null and ids.size() > 0">
+                AND agentId IN
+                <foreach collection="ids" close=")" open="(" item="id" separator=",">
+                    #{id}
+                </foreach>
+            </if>
+            <if test="type != null">
+                AND `state` = #{type}
+            </if>
+            <if test="localDate != null">
+                AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
+            </if>
+        </where>
+    </select>
+    <select id="getDataStatisticsServerCountByIds" resultType="java.lang.Integer">
+        SELECT COUNT(id)
+        FROM t_order
+        <where>
+            <if test="ids != null and ids.size() > 0">
+                AND agentId IN
+                <foreach collection="ids" close=")" open="(" item="id" separator=",">
+                    #{id}
+                </foreach>
+            </if>
+            <if test="localDate != null">
+                AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
+            </if>
+            AND (`state` = 102
+            OR `state` = 103
+            OR `state` = 104
+            OR `state` = 105
+            OR `state` = 106
+            OR `state` = 201
+            OR `state` = 401
+            )
+        </where>
+    </select>
+    <select id="getDataStatisticsServerListByIds" resultType="com.stylefeng.guns.modular.system.controller.resp.TOrderServerResp">
+        select <include refid="Base_Column_Server_Order"></include>
+        FROM t_order o
+        LEFT JOIN t_driver d ON o.driverId = d.id
+        <where>
+            <if test="ids != null and ids.size() > 0">
+                AND o.agentId IN
+                <foreach collection="ids" close=")" open="(" item="id" separator=",">
+                    #{id}
+                </foreach>
+            </if>
+            <if test="localDate != null">
+                AND date_format(o.createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
+            </if>
+            AND (o.`state` = 102
+            OR o.`state` = 103
+            OR o.`state` = 104
+            OR o.`state` = 105
+            OR o.`state` = 106
+            OR o.`state` = 201
+            OR o.`state` = 401
+            )
+        </where>
+    </select>
+    <select id="getDataStatisticsAllListByIds" resultType="com.stylefeng.guns.modular.system.model.TOrder">
+        select <include refid="Base_Column_List"></include>
+        FROM t_order
+        <where>
+            <if test="ids != null and ids.size() > 0">
+                AND agentId IN
+                <foreach collection="ids" close=")" open="(" item="id" separator=",">
+                    #{id}
+                </foreach>
+            </if>
+            <if test="type != null and type == 1">
+                AND `state` = 101
+            </if>
+            <if test="type != null and type == 2">
+                AND (`state` = 102
+                OR `state` = 103
+                OR `state` = 104
+                OR `state` = 105
+                OR `state` = 106
+                OR `state` = 201
+                OR `state` = 401
+                )
+            </if>
+            <if test="type != null and type == 3">
+                AND (`state` = 107 OR `state` = 108 OR `state` = 109)
+            </if>
+            <if test="type != null and type == 4">
+                AND `state` = 301
+            </if>
+            <if test="localDate != null">
+                AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
+            </if>
+        </where>
+    </select>
+    <select id="getDataStatisticsByYearByIds" resultType="com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp">
+        SELECT date_format(createTime, '%m') AS `month`,COUNT(id) AS orderCount
+        FROM t_order
+        <where>
+            <if test="ids != null and ids.size() > 0">
+                AND agentId IN
+                <foreach collection="ids" close=")" open="(" item="id" separator=",">
+                    #{id}
+                </foreach>
+            </if>
+            <if test="yearDate != null and yearDate != ''">
+                AND date_format(createTime, '%Y') LIKE concat('',#{yearDate},'%')
+            </if>
+        </where>
+        GROUP BY `month`
+    </select>
+    <select id="getDataStatisticsOrderCountByIds" resultType="com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp">
+        SELECT date_format(o.createTime, '%Y-%m') AS monthTime,COUNT(o.id) AS amount,d.name AS userName
+        FROM t_order o
+        LEFT JOIN t_driver d ON o.driverId = d.id
+        <where>
+            <if test="ids != null and ids.size() > 0">
+                AND o.agentId IN
+                <foreach collection="ids" close=")" open="(" item="id" separator=",">
+                    #{id}
+                </foreach>
+            </if>
+            <if test="monthDate != null and monthDate != ''">
+                AND date_format(o.createTime, '%Y-%m') LIKE concat('',#{monthDate},'%')
+            </if>
+            AND (o.`state` = 107 OR o.`state` = 108 OR o.`state` = 109)
+        </where>
+        GROUP BY monthTime,userName
+        ORDER BY amount DESC
+        LIMIT 10
+    </select>
+    <select id="getStatisticsOrderByMonth" resultType="com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp">
+        SELECT date_format(createTime, '%d') AS `month`,COUNT(id) AS orderCount
+        FROM t_order
+        <where>
+            <if test="agentId != null">
+                AND agentId = #{agentId}
+            </if>
+            <if test="dayDate != null and dayDate != ''">
+                AND date_format(createTime, '%Y-%m') LIKE concat('',#{dayDate},'%')
+            </if>
+        </where>
+        GROUP BY `month`
+    </select>
+    <select id="getStatisticsOrderByMonthIds" resultType="com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp">
+        SELECT date_format(createTime, '%d') AS `month`,COUNT(id) AS orderCount
+        FROM t_order
+        <where>
+            <if test="ids != null and ids.size() > 0">
+                AND agentId IN
+                <foreach collection="ids" close=")" open="(" item="id" separator=",">
+                    #{id}
+                </foreach>
+            </if>
+            <if test="dayDate != null and dayDate != ''">
+                AND date_format(createTime, '%Y-%m') LIKE concat('',#{dayDate},'%')
+            </if>
+        </where>
+        GROUP BY `month`
+    </select>
 
 </mapper>

--
Gitblit v1.7.1