xuhy
2024-05-15 7939ac40bc242bce6efb90970356ed977be6dd0e
ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TReassignMapper.xml
@@ -260,5 +260,73 @@
        </if>
        order by a.id desc
    </select>
    <select id="getTransferOrderList" resultType="java.util.Map">
        SELECT * FROM (SELECT rr.id,rr.insertTime,
        dd1.name as originalDriverName,dd1.phone as originalDriverPhone,
        CONCAT(dd1.name,'-',dd1.phone) as originalDriver,rr.reason,opc.orderNum,
        CONCAT(uu1.nickName,'-',uu1.phone) as addOrderUser,opc.travelTime,opc.startAddress,opc.endAddress,
        CONCAT(cb1.`name`,'-',cc1.carLicensePlate) as originalCar,rr.money,opc.state as orderState,
        dd2.name as nowDriverName,dd2.phone as nowDriverPhone,
        CONCAT(dd2.name,'-',dd2.phone) as nowDriver,CONCAT(cb2.`name`,'-',cc2.carLicensePlate) as nowCar,
        opc.companyId,rr.state,rr.orderType FROM t_reassign as rr
        LEFT JOIN t_driver as dd1 on dd1.id = rr.originalDriverId
        LEFT JOIN t_order_transfer as opc on opc.id = rr.orderId
        LEFT JOIN t_user as uu1 on uu1.id = opc.userId
        LEFT JOIN t_car as cc1 on cc1.id= rr.originalCarId
        LEFT JOIN t_car_brand as cb1 on cb1.id = cc1.carBrandId
        LEFT JOIN t_driver as dd2 on dd2.id = rr.nowDriverId
        LEFT JOIN t_car as cc2 on cc2.id= rr.nowCarId
        LEFT JOIN t_car_brand as cb2 on cb2.id = cc2.carBrandId) as o
        <where>
            o.orderType = 7 and o.state != 6
            <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="originalDriverName != null and originalDriverName != ''">
                and o.originalDriverName  LIKE CONCAT('%',#{originalDriverName},'%')
            </if>
            <if test="originalDriverPhone != null and originalDriverPhone != ''">
                and o.originalDriverPhone  LIKE CONCAT('%',#{originalDriverPhone},'%')
            </if>
            <if test="orderNum != null and orderNum != ''">
                and o.orderNum  LIKE CONCAT('%',#{orderNum},'%')
            </if>
            <if test="nowDriverName != null and nowDriverName != ''">
                and o.nowDriverName = #{nowDriverName}
            </if>
            <if test="nowDriverPhone != null and nowDriverPhone != ''">
                and o.nowDriverPhone  LIKE CONCAT('%',#{nowDriverPhone},'%')
            </if>
            <if test="orderState != null and orderState != ''">
                and o.orderState = #{orderState}
            </if>
            <if test="state != null and state != ''">
                and o.state = #{state}
            </if>
            <if test="roleType != null and roleType != '' and roleType == 2">
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.companyId,(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.companyId = #{nowUserId}
            </if>
        </where>
        order by o.id desc
    </select>
    <select id="getCanSelectTransferDriverList" resultType="java.util.Map">
        SELECT dd.*,c1.name as companyName,c2.name as franchiseeName from t_driver AS dd
        LEFT JOIN t_company as c1 on c1.id = dd.companyId
        LEFT JOIN t_company as c2 on c2.id = dd.franchiseeId
        LEFT JOIN (SELECT * from t_driver_service where type = #{type}) as ds on ds.driverId = dd.id
        <where>
            (dd.companyId = #{companyId} or dd.franchiseeId = #{companyId}) and dd.authState = 2 and dd.state = 2 and (ds.id is not null ) and (dd.carId is not null)
            <if test="name != null and name != ''">
                and dd.name LIKE CONCAT('%',#{name},'%')
            </if>
            <if test="phone != null and phone != ''">
                and dd.phone LIKE CONCAT('%',#{phone},'%')
            </if>
        </where>
        order by dd.id desc
    </select>
</mapper>