puzhibing
2024-02-07 387f61d55a8e20bc772b026cba4f8c34dfce5665
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/IncomeMapper.xml
@@ -66,58 +66,30 @@
        ORDER BY date_format(insertTime, '%Y-%m-%d')  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
            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
   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 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,
   d. NAME,
   CONCAT(d.firstName, ' ', d.lastName) as NAME,
   o.timeNumber
FROM
   t_driver_work w