<?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.TDriverMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TDriver">
|
<id column="id" property="id" />
|
<result column="account" property="account" />
|
<result column="jobNumber" property="jobNumber" />
|
<result column="phone" property="phone" />
|
<result column="password" property="password" />
|
<result column="name" property="name" />
|
<result column="sex" property="sex" />
|
<result column="idCard" property="idCard" />
|
<result column="companyId" property="companyId" />
|
<result column="headImgUrl" property="headImgUrl" />
|
<result column="faceImgUrl" property="faceImgUrl" />
|
<result column="idCardImgUrl1" property="idCardImgUrl1" />
|
<result column="idCardImgUrl2" property="idCardImgUrl2" />
|
<result column="placeOfEmployment" property="placeOfEmployment" />
|
<result column="birthday" property="birthday" />
|
<result column="email" property="email"/>
|
<result column="bankCardNumber" property="bankCardNumber" />
|
<result column="driverNationality" property="driverNationality" />
|
<result column="driverNation" property="driverNation" />
|
<result column="driverMaritalStatus" property="driverMaritalStatus" />
|
<result column="driverLanguageLevel" property="driverLanguageLevel" />
|
<result column="driverEducation" property="driverEducation" />
|
<result column="driverCensus" property="driverCensus" />
|
<result column="driverAddress" property="driverAddress" />
|
<result column="driverContactAddress" property="driverContactAddress" />
|
<result column="driverAge" property="driverAge" />
|
<result column="driveCard" property="driveCard" />
|
<result column="driveCardImgUrl1" property="driveCardImgUrl1" />
|
<result column="driveCardImgUrl2" property="driveCardImgUrl2" />
|
<result column="driverType" property="driverType" />
|
<result column="getDriverLicenseDate" property="getDriverLicenseDate" />
|
<result column="driverLicenseOn" property="driverLicenseOn" />
|
<result column="driverLicenseOff" property="driverLicenseOff" />
|
<result column="taxiDriver" property="taxiDriver" />
|
<result column="taxiAptitudeCard" property="taxiAptitudeCard" />
|
<result column="networkCarlssueImg" property="networkCarlssueImg" />
|
<result column="networkCarlssueOrganization" property="networkCarlssueOrganization" />
|
<result column="networkCarlssueDate" property="networkCarlssueDate" />
|
<result column="getNetworkCarProofDate" property="getNetworkCarProofDate" />
|
<result column="networkCarProofOn" property="networkCarProofOn" />
|
<result column="networkCarProofOff" property="networkCarProofOff" />
|
<result column="registerDate" property="registerDate" />
|
<result column="fullTimeDriver" property="fullTimeDriver" />
|
<result column="inDriverBlacklist" property="inDriverBlacklist" />
|
<result column="commercialType" property="commercialType" />
|
<result column="contractCompany" property="contractCompany" />
|
<result column="contractOn" property="contractOn" />
|
<result column="contractOff" property="contractOff" />
|
<result column="emergencyContact" property="emergencyContact" />
|
<result column="emergencyContactPhone" property="emergencyContactPhone" />
|
<result column="emergencyContactAddress" property="emergencyContactAddress" />
|
<result column="remark" property="remark" />
|
<result column="isPlatCar" property="isPlatCar" />
|
<result column="carId" property="carId" />
|
<result column="authState" property="authState" />
|
<result column="state" property="state" />
|
<result column="flag" property="flag" />
|
<result column="insertTime" property="insertTime" />
|
<result column="insertUser" property="insertUser" />
|
<result column="updateTime" property="updateTime" />
|
<result column="updateUser" property="updateUser" />
|
<result column="addType" property="addType" />
|
<result column="laveBusinessMoney" property="laveBusinessMoney"/>
|
<result column="businessMoney" property="businessMoney"/>
|
<result column="uid" property="uid"/>
|
<result column="teamId" property="teamId"/>
|
</resultMap>
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
id, account, jobNumber, phone, password, name, sex, idCard, companyId, headImgUrl, faceImgUrl, idCardImgUrl1, idCardImgUrl2, placeOfEmployment, birthday, bankCardNumber, driverNationality, driverNation, driverMaritalStatus, driverLanguageLevel, driverEducation, driverCensus, driverAddress, driverContactAddress, licenseCode, licenselImgUrl, driverAge, driveCard, driveCardImgUrl, driverType, getDriverLicenseDate, driverLicenseOn, driverLicenseOff, taxiDriver, taxiAptitudeCard, networkCarlssueImg, networkCarlssueOrganization, networkCarlssueDate, getNetworkCarProofDate, networkCarProofOn, networkCarProofOff, registerDate, fullTimeDriver, inDriverBlacklist, commercialType, contractCompany, contractOn, contractOff, emergencyContact, emergencyContactPhone, emergencyContactAddress, remark, isPlatCar, carId, authState, state, flag, insertTime, insertUser, updateTime, updateUser, addType,uid,teamId
|
</sql>
|
|
<!--根据条件查询待审核司机列表-->
|
<select id="getAuthDriverList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
|
SELECT * FROM (SELECT cc1.`name` as companyName,cc2.`name` as franchiseeName,ds.serverStr,dd.* from t_driver as dd
|
LEFT JOIN (select * from t_company where type = 2 and flag != 3) as cc1 on cc1.id = dd.companyId
|
LEFT JOIN (select * from t_company where type = 3 and flag != 3) as cc2 on cc2.id = dd.franchiseeId
|
LEFT JOIN (
|
SELECT
|
GROUP_CONCAT(case when type = 1 then '专车'
|
when type = 4 then '市内小件物流'
|
else '' end ) as serverStr,driverId from t_driver_service GROUP BY driverId) as ds on ds.driverId = dd.id
|
) as o
|
<where>
|
FIND_IN_SET(o.authState,'1,4') and o.flag != 3
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (o.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="companyName != null and companyName != ''">
|
and (o.companyName LIKE CONCAT('%',#{companyName},'%') or o.franchiseeName LIKE CONCAT('%',#{companyName},'%'))
|
</if>
|
<if test="phone != null and phone != ''">
|
and o.phone LIKE CONCAT('%',#{phone},'%')
|
</if>
|
<if test="account != null and account != ''">
|
and o.account LIKE CONCAT('%',#{account},'%')
|
</if>
|
<if test="addType != null and addType != ''">
|
and o.addType = #{addType}
|
</if>
|
<if test="authState != null and authState != ''">
|
and o.authState = #{authState}
|
</if>
|
</where>
|
order by o.id desc
|
</select>
|
|
<!--根据用户ID获取用户详情-->
|
<select id="getDriverById" resultType="map">
|
SELECT cc.`name` as companyName,ds.serverStr,
|
case when dd.addType = 1 then '司机注册' when dd.addType = 2 then '平台添加' when dd.addType = 3 then '分公司添加' when dd.addType = 4 then '加盟商添加' else '' end as addTypeStr,
|
case when dd.sex = 1 then '男' when dd.sex = 2 then '女' else '' end as sexStr,
|
case when dd.authState = 1 then '待审核' when dd.authState = 2 then '正常' when dd.authState = 3 then '冻结' when dd.authState = 4 then '已拒绝' end as authStateStr,
|
dd.* from t_driver as dd
|
LEFT JOIN (select * from t_company where flag != 3) as cc on cc.id = dd.companyId
|
LEFT JOIN (
|
SELECT
|
GROUP_CONCAT(case when type = 1 then '专车'
|
when type = 4 then '市内小件物流'
|
else '' end SEPARATOR '、') as serverStr,driverId from t_driver_service GROUP BY driverId) as ds on ds.driverId = dd.id
|
where dd.id = #{driverId}
|
</select>
|
|
<!--根据审核通过的司机列表-->
|
<select id="getDriverList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
|
SELECT * FROM (SELECT cc1.`name` as companyName,cc2.`name` as franchiseeName,ci.carLicensePlate,ds.serverStr,IFNULL(oe.evaluateNum,0) as evaluateNum,
|
(IFNULL(ot1.taxiNum, 0) + IFNULL(ot3.num, 0) + IFNULL(ot5.num, 0)) as historyNum,(IFNULL(ot2.taxiMoney, 0)+ IFNULL(ot4.money, 0) + IFNULL(ot6.money, 0)) as historyMoney,dd.*,tdt.teamName from t_driver as dd
|
LEFT JOIN t_driver_team tdt on dd.teamId=tdt.id and tdt.state!=3
|
LEFT JOIN (select * from t_company where type = 2 and flag != 3) as cc1 on cc1.id = dd.companyId
|
LEFT JOIN (select * from t_company where type = 3 and flag != 3) as cc2 on cc2.id = dd.franchiseeId
|
LEFT JOIN (select * from t_car where state = 1) as ci on ci.id = dd.carId
|
LEFT JOIN (
|
SELECT
|
GROUP_CONCAT(case when type = 1 then '专车'
|
when type = 4 then '市内小件物流'
|
else '' end ) as serverStr,driverId from t_driver_service GROUP BY driverId) as ds on ds.driverId = dd.id
|
LEFT JOIN (SELECT IFNULL(SUM(fraction)/COUNT(id),0) as evaluateNum,driverId FROM t_order_evaluate GROUP BY driverId) as oe on oe.driverId = dd.id
|
LEFT JOIN (SELECT COUNT(id) as taxiNum,driverId FROM t_order_taxi where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot1 on ot1.driverId = dd.id
|
LEFT JOIN (SELECT SUM(orderMoney) as taxiMoney,driverId FROM t_order_taxi where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot2 on ot2.driverId = dd.id
|
LEFT JOIN (SELECT COUNT(id) as num,driverId FROM t_order_private_car where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot3 on ot3.driverId = dd.id
|
LEFT JOIN (SELECT SUM(orderMoney) as money,driverId FROM t_order_private_car where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot4 on ot4.driverId = dd.id
|
LEFT JOIN (SELECT COUNT(id) as num,driverId FROM t_order_cross_city where FIND_IN_SET(state,'6,7,8') GROUP BY driverId) as ot5 on ot5.driverId = dd.id
|
LEFT JOIN (SELECT SUM(orderMoney) as money,driverId FROM t_order_cross_city where FIND_IN_SET(state,'6,7,8') GROUP BY driverId) as ot6 on ot6.driverId = dd.id) as o
|
<where>
|
o.flag != 3
|
<if test="roleType != null and roleType != '' and roleType == 1">
|
and FIND_IN_SET(o.authState,'2,3')
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (o.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="companyName != null and companyName != ''">
|
and (o.companyName LIKE CONCAT('%',#{companyName},'%') or o.franchiseeName LIKE CONCAT('%',#{companyName},'%'))
|
</if>
|
<if test="phone != null and phone != ''">
|
and o.phone LIKE CONCAT('%',#{phone},'%')
|
</if>
|
<if test="name != null and name != ''">
|
and o.name LIKE CONCAT('%',#{name},'%')
|
</if>
|
<if test="addType != null and addType != ''">
|
and o.addType = #{addType}
|
</if>
|
<if test="authState != null and authState != ''">
|
and o.authState = #{authState}
|
</if>
|
<if test="roleType != null and roleType != '' and roleType == 2">
|
and (o.companyId = #{nowUserId} or FIND_IN_SET(o.franchiseeId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId)))
|
</if>
|
<if test="roleType != null and roleType != '' and roleType == 3">
|
and o.franchiseeId = #{nowUserId}
|
</if>
|
<if test="state != null and state != ''">
|
and o.state = #{state}
|
</if>
|
<if test="teamId != null and teamId != ''">
|
and o.teamId = #{teamId}
|
</if>
|
</where>
|
order by o.id desc
|
</select>
|
|
<!--查询已被使用的车辆ID-->
|
<select id="getUseCarIdStr" resultType="java.lang.String">
|
SELECT GROUP_CONCAT(dd.carId) as carIdStr from t_driver as dd where dd.authState = 2 and dd.flag != 3
|
<if test="carId != null and carId != '' and carId != 0">
|
and dd.carId != #{carId}
|
</if>
|
</select>
|
|
<!--查询当前可被选择的车辆列表-->
|
<select id="getCanSelectCarList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
|
SELECT * FROM (SELECT cm.`name` as modelName,cb.`name` as brandName,ds.serverStr,ci.* from t_car as ci
|
LEFT JOIN (select * from t_car_model where state = 1) as cm on cm.id = ci.carModelId
|
LEFT JOIN (select * from t_car_brand where state = 1) as cb on cb.id = ci.carBrandId
|
LEFT JOIN (
|
SELECT
|
GROUP_CONCAT(case when type = 1 then '专车'
|
when type = 4 then '市内小件物流'
|
else '' end ) as serverStr,carId from t_car_service GROUP BY carId) as ds on ds.carId = ci.id) as o
|
<where>
|
o.state = 1
|
<if test="carIdStr != null and carIdStr != ''">
|
and not FIND_IN_SET(o.id,#{carIdStr})
|
</if>
|
<if test="carLicensePlate != null and carLicensePlate != ''">
|
and o.carLicensePlate LIKE CONCAT('%',#{carLicensePlate},'%')
|
</if>
|
<if test="brandName != null and brandName != ''">
|
and o.brandName LIKE CONCAT('%',#{brandName},'%')
|
</if>
|
<if test="modelName != null and modelName != ''">
|
and o.modelName LIKE CONCAT('%',#{modelName},'%')
|
</if>
|
<if test="color != null and color != ''">
|
and o.carColor LIKE CONCAT('%',#{color},'%')
|
</if>
|
<if test="serverStr != null and serverStr != ''">
|
and o.serverStr LIKE CONCAT('%',#{serverStr},'%')
|
</if>
|
<if test="roleType != null and roleType != '' and roleType == 2">
|
and (o.companyId = #{nowUserId} or FIND_IN_SET(o.franchiseeId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where type = 3 and superiorId = #{nowUserId} GROUP BY superiorId)))
|
</if>
|
<if test="roleType != null and roleType != '' and roleType == 3">
|
and o.franchiseeId = #{nowUserId}
|
</if>
|
</where>
|
order by o.id desc
|
</select>
|
|
<!--修改分公司司机的状态-->
|
<update id="updateCompanyDriverState" parameterType="java.lang.Integer">
|
update t_driver
|
<set>
|
<if test="authState != null"> authState = #{authState} </if>
|
</set>
|
where companyId = #{companyId} and (franchiseeId = 0 or franchiseeId is null)
|
</update>
|
|
<!--修改加盟商司机的状态-->
|
<update id="updateFranchiseeDriverState" parameterType="java.lang.Integer">
|
update t_driver
|
<set>
|
<if test="authState != null"> authState = #{authState} </if>
|
</set>
|
where franchiseeId = #{franchiseeId}
|
</update>
|
|
<!--根据审核通过的司机列表无分页-->
|
<select id="getDriverListNoPage" resultType="map">
|
SELECT * FROM (SELECT cc1.`name` as companyName,cc2.`name` as franchiseeName,ci.carLicensePlate,ds.serverStr,IFNULL(oe.evaluateNum,0) as evaluateNum,
|
(IFNULL(ot1.taxiNum, 0) + IFNULL(ot3.num, 0) + IFNULL(ot5.num, 0)) as historyNum,(IFNULL(ot2.taxiMoney, 0)+ IFNULL(ot4.money, 0) + IFNULL(ot6.money, 0)) as historyMoney,dd.* from t_driver as dd
|
LEFT JOIN (select * from t_company where type = 2 and flag != 3) as cc1 on cc1.id = dd.companyId
|
LEFT JOIN (select * from t_company where type = 3 and flag != 3) as cc2 on cc2.id = dd.franchiseeId
|
LEFT JOIN (select * from t_car where state = 1) as ci on ci.id = dd.carId
|
LEFT JOIN (
|
SELECT
|
GROUP_CONCAT(case when type = 1 then '专车'
|
when type = 4 then '市内小件物流'
|
else '' end ) as serverStr,driverId from t_driver_service GROUP BY driverId) as ds on ds.driverId = dd.id
|
LEFT JOIN (SELECT IFNULL(SUM(fraction)/COUNT(id),0) as evaluateNum,driverId FROM t_order_evaluate GROUP BY driverId) as oe on oe.driverId = dd.id
|
LEFT JOIN (SELECT COUNT(id) as taxiNum,driverId FROM t_order_taxi where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot1 on ot1.driverId = dd.id
|
LEFT JOIN (SELECT SUM(orderMoney) as taxiMoney,driverId FROM t_order_taxi where FIND_IN_SET(state,'8,9') GROUP BY driverId) as ot2 on ot2.driverId = dd.id
|
LEFT JOIN (SELECT COUNT(id) as num,driverId FROM t_order_private_car where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot3 on ot3.driverId = dd.id
|
LEFT JOIN (SELECT SUM(orderMoney) as money,driverId FROM t_order_private_car where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot4 on ot4.driverId = dd.id
|
LEFT JOIN (SELECT COUNT(id) as num,driverId FROM t_order_cross_city where FIND_IN_SET(state,'6,7,8') GROUP BY driverId) as ot5 on ot5.driverId = dd.id
|
LEFT JOIN (SELECT SUM(orderMoney) as money,driverId FROM t_order_cross_city where FIND_IN_SET(state,'6,7,8') GROUP BY driverId) as ot6 on ot6.driverId = dd.id
|
) as o
|
<where>
|
o.flag != 3
|
<if test="roleType != null and roleType != '' and roleType == 1">
|
and FIND_IN_SET(o.authState,'2,3')
|
</if>
|
<if test="roleType != null and roleType != '' and roleType == 2">
|
and (o.companyId = #{nowUserId} or FIND_IN_SET(o.franchiseeId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId)))
|
</if>
|
<if test="roleType != null and roleType != '' and roleType == 3">
|
and o.franchiseeId = #{nowUserId}
|
</if>
|
</where>
|
order by o.id desc
|
</select>
|
|
<select id="getDriverInviteList" parameterType="com.baomidou.mybatisplus.plugins.Page" resultType="map">
|
select * from (
|
select
|
concat('user_',id) as id,
|
phone as phone,
|
IFNULL(name,nickName) as name,
|
1 as uType,
|
insertTime as insertTime
|
from t_user
|
where uid=#{tDriverId}
|
and uType=2
|
union
|
select
|
concat('driver_',id) as id,
|
phone as phone,
|
name as name,
|
2 as uType,
|
insertTime as insertTime
|
from
|
t_driver
|
where uid=#{tDriverId}
|
and uType=2
|
) a where 1=1
|
<if test="null != start and '' != start and null != end and '' != end">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end}
|
</if>
|
order by a.insertTime
|
</select>
|
<!--查询司机收益信息-->
|
<select id="queryDriverIncomeData" parameterType="com.baomidou.mybatisplus.plugins.Page" resultType="map">
|
SELECT
|
td.id as id,
|
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>
|
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')
|
<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 topc1 ON topc1.driverId = td.id
|
LEFT JOIN ( SELECT COUNT(id) AS num, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '7,12')
|
<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 topc2 ON topc2.driverId = td.id
|
LEFT JOIN ( SELECT COUNT(id) AS num, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '10,12')
|
<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 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')
|
<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 topc4 ON topc4.driverId = td.id
|
LEFT JOIN ( SELECT SUM(orderMoney) AS taxiMoney, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '7,12')
|
<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 topc5 ON topc5.driverId = td.id
|
</if>
|
<where>
|
<if test="null!= companyId and '' != companyId">
|
td.companyId=#{companyId} or td.franchiseeId=#{companyId}
|
</if>
|
</where>
|
</select>
|
|
<!--查询司机收益信息不分页-->
|
<select id="queryDriverIncomeDataNoPage" resultType="map">
|
SELECT
|
td.id as id,
|
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>
|
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')
|
<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 topc1 ON topc1.driverId = td.id
|
LEFT JOIN ( SELECT COUNT(id) AS num, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '7,12')
|
<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 topc2 ON topc2.driverId = td.id
|
LEFT JOIN ( SELECT COUNT(id) AS num, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '10,12')
|
<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 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')
|
<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 topc4 ON topc4.driverId = td.id
|
LEFT JOIN ( SELECT SUM(orderMoney) AS taxiMoney, driverId FROM t_order_private_car WHERE FIND_IN_SET(state, '7,12')
|
<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 topc5 ON topc5.driverId = td.id
|
</if>
|
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>
|
|
</select>
|
|
<select id="updateTeamIdById">
|
update
|
t_driver
|
set teamId=#{teamId}
|
where id=#{id}
|
</select>
|
|
<select id="updateBalanceAndActivityMoney">
|
update t_driver
|
set balance=balance+#{changeMoney},
|
activityMoney=activityMoney+#{changeMoney},
|
laveActivityMoney=laveActivityMoney+#{changeMoney}
|
where id=#{id}
|
</select>
|
|
</mapper>
|