From 8b09fbc19a96b57bf1d0e4d7c79b51a76aeca554 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 28 三月 2025 19:57:56 +0800 Subject: [PATCH] 修改bug --- ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/IncomeMapper.xml | 147 ++++++++++++++++++------------------------------- 1 files changed, 54 insertions(+), 93 deletions(-) diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/IncomeMapper.xml b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/IncomeMapper.xml index f633c71..bece06e 100644 --- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/IncomeMapper.xml +++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/IncomeMapper.xml @@ -15,109 +15,69 @@ </resultMap> <select id="getList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> SELECT - date_format(insertTime, '%Y-%m-%d') times, - SUM( - CASE - WHEN type = 1 THEN - money - ELSE - 0 - END - ) activityMoney, - SUM( - CASE - WHEN type = 1 THEN - 0 - ELSE - money - END - ) orderMoney - FROM - t_income - WHERE userType=2 AND objectId=#{id} - GROUP BY - date_format(insertTime, '%Y-%m-%d') - ORDER BY date_format(insertTime, '%Y-%m-%d') DESC + aa.times, + ROUND(sum(aa.activityMoney), 2) as activityMoney, + ROUND(sum(aa.onlineMoney), 2) as onlineMoney, + ROUND(sum(aa.cashMoney), 2) as cashMoney + FROM ( + SELECT + date_format(insertTime, '%Y-%m-%d') times, + SUM(CASE WHEN type = 1 THEN money ELSE 0 END) activityMoney, + SUM(CASE WHEN type = 1 THEN 0 ELSE money END) onlineMoney, + 0 cashMoney + FROM + t_income + WHERE userType=2 AND objectId=#{id} GROUP BY date_format(insertTime, '%Y-%m-%d') + union all + select date_format(travelTime, '%Y-%m-%d') times, 0, 0, ROUND(sum(payMoney), 2) from t_order_private_car where driverId = #{id} and payType = 4 and state in (8, 9) and isDelete = 1 GROUP BY date_format(travelTime, '%Y-%m-%d') + union all + select date_format(travelTime, '%Y-%m-%d') times, 0, 0, ROUND(sum(payMoney), 2) from t_order_logistics where driverId = #{id} and payType = 4 and state in (8, 9) and isDelete = 1 GROUP BY date_format(travelTime, '%Y-%m-%d') + ) AS aa GROUP BY aa.times ORDER BY aa.times DESC </select> <select id="getExcelList" resultType="map"> - SELECT - date_format(insertTime, '%Y-%m-%d') times, - SUM( - CASE - WHEN type = 1 THEN - money - ELSE - 0 - END - ) activityMoney, - SUM( - CASE - WHEN type = 1 THEN - 0 - ELSE - money - END - ) orderMoney - FROM - t_income - WHERE userType=2 AND objectId=#{id} - GROUP BY - date_format(insertTime, '%Y-%m-%d') - ORDER BY date_format(insertTime, '%Y-%m-%d') DESC + SELECT + aa.times, + ROUND(sum(aa.activityMoney), 2) as activityMoney, + ROUND(sum(aa.onlineMoney), 2) as onlineMoney, + ROUND(sum(aa.cashMoney), 2) as cashMoney + FROM ( + SELECT + date_format(insertTime, '%Y-%m-%d') times, + SUM(CASE WHEN type = 1 THEN money ELSE 0 END) activityMoney, + SUM(CASE WHEN type = 1 THEN 0 ELSE money END) onlineMoney, + 0 cashMoney + FROM + t_income + WHERE userType=2 AND objectId=#{id} GROUP BY date_format(insertTime, '%Y-%m-%d') + union all + select date_format(travelTime, '%Y-%m-%d') times, 0, 0, ROUND(sum(payMoney), 2) from t_order_private_car where driverId = #{id} and payType = 4 and state in (8, 9) and isDelete = 1 GROUP BY date_format(travelTime, '%Y-%m-%d') + union all + select date_format(travelTime, '%Y-%m-%d') times, 0, 0, ROUND(sum(payMoney), 2) from t_order_logistics where driverId = #{id} and payType = 4 and state in (8, 9) and isDelete = 1 GROUP BY date_format(travelTime, '%Y-%m-%d') + ) AS aa GROUP BY aa.times ORDER BY aa.times DESC </select> <select id="getList1" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> - SELECT - date_format(startTime, '%Y-%m-%d') times - FROM - t_driver_work - GROUP BY - date_format(startTime, '%Y-%m-%d') - ORDER BY - date_format(startTime, '%Y-%m-%d') DESC + select aa.startTime as times, aa.driverNum, bb.duration as timeNumber from ( + select a.startTime, count(a.driverId) as driverNum from ( + select DATE_FORMAT(startTime, '%Y-%m-%d') as startTime, driverId from t_driver_work group by DATE_FORMAT(startTime, '%Y-%m-%d'), driverId + ) as a group by a.startTime + ) as aa + left join ( + select DATE_FORMAT(startTime, '%Y-%m-%d') as startTime, sum(if(endTime is null, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(endTime)) - UNIX_TIMESTAMP(startTime)) as duration from t_driver_work group by DATE_FORMAT(startTime, '%Y-%m-%d') + ) as bb on (aa.startTime = bb.startTime) + ORDER BY aa.startTime DESC </select> <select id="getList2" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> - SELECT - w.driverId, - d. NAME, - o.timeNumber -FROM - t_driver_work w -LEFT JOIN t_driver d ON d.id = w.driverId -LEFT JOIN ( - SELECT - IFNULL(SUM(o.timeNumber), 0) timeNumber, - driverId - FROM - ( - SELECT - TIMESTAMPDIFF( - MINUTE, - startTime, - CASE - WHEN endTime IS NULL THEN - NOW() - ELSE - endTime - END - ) timeNumber, - driverId - FROM - t_driver_work - WHERE - date_format(startTime, '%Y-%m-%d') = #{times} - - ) o GROUP BY - driverId -) o ON o.driverId = d.id -WHERE - date_format(startTime, '%Y-%m-%d') = #{times} -GROUP BY - w.driverId + select + CONCAT(b.firstName, ' ', b.lastName) as `name`, + a.duration as timeNumber + from (select DATE_FORMAT(startTime, '%Y-%m-%d') as startTime, driverId, sum(if(endTime is null, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(endTime)) - UNIX_TIMESTAMP(startTime)) as duration from t_driver_work group by DATE_FORMAT(startTime, '%Y-%m-%d'), driverId) as a + left join t_driver b on (a.driverId = b.id) + where a.startTime = #{times} </select> <select id="getTotal" resultType="map"> SELECT COUNT(o.driverId) driverNum,SUM(o.timeNumber) timeNumber from (SELECT w.driverId, - d. NAME, + CONCAT(d.firstName, ' ', d.lastName) as NAME, o.timeNumber FROM t_driver_work w @@ -153,4 +113,5 @@ GROUP BY w.driverId) o </select> + </mapper> \ No newline at end of file -- Gitblit v1.7.1