| | |
| | | <!-- 通用查询映射结果 --> |
| | | <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="code" property="code" /> |
| | | <result column="name" property="name" /> |
| | | <result column="avatar" property="avatar" /> |
| | | <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="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="driveCardImgUrl" property="driveCardImgUrl" /> |
| | | <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="source" property="source" /> |
| | | <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="emergencyPhone" property="emergencyPhone" /> |
| | | <result column="driverLicenseNumber" property="driverLicenseNumber" /> |
| | | <result column="driverLicense" property="driverLicense" /> |
| | | <result column="idcard" property="idcard" /> |
| | | <result column="idcardFront" property="idcardFront" /> |
| | | <result column="idcardBack" property="idcardBack" /> |
| | | <result column="inviterType" property="inviterType" /> |
| | | <result column="inviterId" property="inviterId" /> |
| | | <result column="agentId" property="agentId" /> |
| | | <result column="branchOfficeId" property="branchOfficeId" /> |
| | | <result column="balance" property="balance" /> |
| | | <result column="approvalStatus" property="approvalStatus" /> |
| | | <result column="approvalNotes" property="approvalNotes" /> |
| | | <result column="approvalUserId" property="approvalUserId" /> |
| | | <result column="approvalTime" property="approvalTime" /> |
| | | <result column="serverStatus" property="serverStatus" /> |
| | | <result column="integral" property="integral" /> |
| | | <result column="status" property="status" /> |
| | | <result column="createTime" property="createTime" /> |
| | | </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 |
| | | id, code, name, avatar, phone, password, sex, source, emergencyContact, emergencyPhone, driverLicenseNumber, driverLicense, idcard, idcardFront, idcardBack, inviterType, inviterId, agentId, branchOfficeId, balance, approvalStatus, approvalNotes, approvalUserId, approvalTime, serverStatus, integral, status, createTime |
| | | </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 = 2 then '出租车' |
| | | when type = 3 then '跨城出行' |
| | | when type = 4 then '小件物流-同城' |
| | | when type = 5 then '小件物流-跨城' |
| | | when type = 6 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 = 2 then '出租车' |
| | | when type = 3 then '跨城出行' |
| | | when type = 4 then '小件物流-同城' |
| | | when type = 5 then '小件物流-跨城' |
| | | when type = 6 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) + IFNULL(ot7.num, 0)) as historyNum,(IFNULL(ot2.taxiMoney, 0)+ IFNULL(ot4.money, 0) + IFNULL(ot6.money, 0) + IFNULL(ot8.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 = 2 then '出租车' |
| | | when type = 3 then '跨城出行' |
| | | when type = 4 then '小件物流-同城' |
| | | when type = 5 then '小件物流-跨城' |
| | | when type = 6 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,8,9') 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,8,9') GROUP BY driverId) as ot6 on ot6.driverId = dd.id |
| | | LEFT JOIN (SELECT COUNT(id) as num,driverId FROM t_order_logistics where FIND_IN_SET(state,'6,9') GROUP BY driverId) as ot7 on ot7.driverId = dd.id |
| | | LEFT JOIN (SELECT SUM(orderMoney) as money,driverId FROM t_order_logistics where FIND_IN_SET(state,'6,9') GROUP BY driverId) as ot8 on ot8.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> |
| | | </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 = 2 then '出租车' |
| | | when type = 3 then '跨城出行' |
| | | when type = 4 then '小件物流-同城' |
| | | when type = 5 then '小件物流-跨城' |
| | | when type = 6 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 = 2 then '出租车' |
| | | when type = 3 then '跨城出行' |
| | | when type = 4 then '小件物流-同城' |
| | | when type = 5 then '小件物流-跨城' |
| | | when type = 6 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> |
| | | |
| | | </mapper> |