<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.stylefeng.guns.modular.system.dao.IncomeMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.Income">
|
<id column="id" property="id"/>
|
<result column="userType" property="userType"/>
|
<result column="objectId" property="objectId"/>
|
<result column="type" property="type"/>
|
<result column="incomeId" property="incomeId"/>
|
<result column="orderType" property="orderType"/>
|
<result column="money" property="money"/>
|
<result column="insertTime" property="insertTime"/>
|
</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
|
</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>
|
<select id="getList1" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
|
select
|
a.`date` as times,
|
a.driverNum,
|
b.duration as timeNumber
|
from (
|
select `date`, count(driverId) as driverNum from t_driver_online where assessment = 0 group by `date`
|
) as a
|
left join (
|
select `date`, sum(duration) as duration from t_driver_online where assessment = 0 group by `date`
|
) as b on (a.date = b.date)
|
ORDER BY a.date DESC
|
</select>
|
<select id="getList2" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
|
select
|
CONCAT(b.firstName, ' ', b.lastName) as `name`,
|
a.duration as timeNumber
|
from t_driver_online a
|
left join t_driver b on (a.driverId = b.id)
|
where a.assessment = 0 and DATE_FORMAT(a.`date`, '%Y-%m-%d') = #{times}
|
</select>
|
<select id="getTotal" resultType="map">
|
SELECT COUNT(o.driverId) driverNum,SUM(o.timeNumber) timeNumber from (SELECT
|
w.driverId,
|
CONCAT(d.firstName, ' ', d.lastName) as 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) o
|
</select>
|
|
</mapper>
|