| | |
| | | td.`name` as driverName, |
| | | tc1.name as companyName, |
| | | tc2.name as franchiseeName, |
| | | <if test="1 == type"> |
| | | topc1.num as privateCarTotalNum, |
| | | IFNULL(topc2.num, 0) as privateCarNotPayNum, |
| | | IFNULL(topc3.num, 0) as privateCarcancelNum, |
| | | IFNULL(topc4.taxiMoney, 0) as privateCarTotalMoney, |
| | | IFNULL(topc5.taxiMoney, 0) as privateCarNotPayMoney, |
| | | </if> |
| | | IFNULL(topc6.payMoney, 0) as payMoney, |
| | | td.state as driverState, |
| | | td.phone as driverPhone |
| | | FROM |
| | | t_driver td |
| | | LEFT JOIN (SELECT id,name FROM t_company WHERE FIND_IN_SET(type, '1,2') AND flag != 3 ) AS tc1 ON td.companyId=tc1.id |
| | | LEFT JOIN ( SELECT id,name FROM t_company WHERE type = 3 AND flag != 3 ) AS tc2 ON tc2.id = td.franchiseeId |
| | | <if test="1 == type"> |
| | | INNER JOIN ( SELECT COUNT(id) AS num, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '7,8,9,10,12') |
| | | INNER JOIN ( SELECT COUNT(id) AS num, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '8,9') |
| | | <if test="null != start and '' != start and null != end and '' != end"> |
| | | and DATE_FORMAT(travelTime, '%Y-%m-%d') between #{start} and #{end} |
| | | </if> |
| | |
| | | </if> |
| | | GROUP BY driverId |
| | | ) AS topc3 ON topc3.driverId = td.id |
| | | LEFT JOIN ( SELECT SUM(orderMoney) AS taxiMoney, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '7,8,9,12') |
| | | LEFT JOIN ( SELECT SUM(orderMoney) AS taxiMoney, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '8,9') |
| | | <if test="null != start and '' != start and null != end and '' != end"> |
| | | and DATE_FORMAT(travelTime, '%Y-%m-%d') between #{start} and #{end} |
| | | </if> |
| | |
| | | </if> |
| | | GROUP BY driverId |
| | | ) AS topc5 ON topc5.driverId = td.id |
| | | </if> |
| | | LEFT JOIN ( SELECT SUM(payMoney) AS payMoney, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '8,9') |
| | | <if test="null != start and '' != start and null != end and '' != end"> |
| | | and DATE_FORMAT(travelTime, '%Y-%m-%d') between #{start} and #{end} |
| | | </if> |
| | | GROUP BY driverId |
| | | ) AS topc6 ON topc6.driverId = td.id |
| | | <where> |
| | | <if test="null!= companyId and '' != companyId"> |
| | | td.companyId=#{companyId} or td.franchiseeId=#{companyId} |
| | | </if> |
| | | |
| | | <if test="null!= driverName and '' != driverName"> |
| | | and td.name LIKE CONCAT('%',#{driverName},'%') |
| | | </if> |
| | | </where> |
| | | </select> |
| | |
| | | td.`name` as driverName, |
| | | tc1.name as companyName, |
| | | tc2.name as franchiseeName, |
| | | <if test="1 == type"> |
| | | topc1.num as privateCarTotalNum, |
| | | IFNULL(topc2.num, 0) as privateCarNotPayNum, |
| | | IFNULL(topc3.num, 0) as privateCarcancelNum, |
| | | IFNULL(topc4.taxiMoney, 0) as privateCarTotalMoney, |
| | | IFNULL(topc5.taxiMoney, 0) as privateCarNotPayMoney, |
| | | </if> |
| | | IFNULL(topc6.payMoney, 0) as payMoney, |
| | | td.state as driverState, |
| | | td.phone as driverPhone |
| | | FROM |
| | | t_driver td |
| | | LEFT JOIN (SELECT id,name FROM t_company WHERE FIND_IN_SET(type, '1,2') AND flag != 3 ) AS tc1 ON td.companyId=tc1.id |
| | | LEFT JOIN ( SELECT id,name FROM t_company WHERE type = 3 AND flag != 3 ) AS tc2 ON tc2.id = td.franchiseeId |
| | | <if test="1 == type"> |
| | | INNER JOIN ( SELECT COUNT(id) AS num, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '7,8,9,10,12') |
| | | INNER JOIN ( SELECT COUNT(id) AS num, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '8,9') |
| | | <if test="null != start and '' != start and null != end and '' != end"> |
| | | and DATE_FORMAT(travelTime, '%Y-%m-%d') between #{start} and #{end} |
| | | </if> |
| | |
| | | </if> |
| | | GROUP BY driverId |
| | | ) AS topc3 ON topc3.driverId = td.id |
| | | LEFT JOIN ( SELECT SUM(orderMoney) AS taxiMoney, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '7,8,9,12') |
| | | LEFT JOIN ( SELECT SUM(orderMoney) AS taxiMoney, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '8,9') |
| | | <if test="null != start and '' != start and null != end and '' != end"> |
| | | and DATE_FORMAT(travelTime, '%Y-%m-%d') between #{start} and #{end} |
| | | </if> |
| | |
| | | </if> |
| | | GROUP BY driverId |
| | | ) AS topc5 ON topc5.driverId = td.id |
| | | LEFT JOIN ( SELECT SUM(payMoney) AS payMoney, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '8,9') |
| | | <if test="null != start and '' != start and null != end and '' != end"> |
| | | and DATE_FORMAT(travelTime, '%Y-%m-%d') between #{start} and #{end} |
| | | </if> |
| | | GROUP BY driverId |
| | | ) AS topc6 ON topc6.driverId = td.id |
| | | where 1=1 |
| | | <if test="null!= companyId and '' != companyId"> |
| | | and td.companyId=#{companyId} or td.franchiseeId=#{companyId} |
| | | </if> |
| | | <if test="1 == type"> |
| | | order by privateCarTotalNum desc,privateCarTotalMoney desc |
| | | <if test="null!= driverName and '' != driverName"> |
| | | and td.name LIKE CONCAT('%',#{driverName},'%') |
| | | </if> |
| | | order by privateCarTotalNum desc,privateCarTotalMoney desc |
| | | |
| | | |
| | | </select> |
| | | |