<?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.TOrderTaxiMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TOrderTaxi">
|
<id column="id" property="id" />
|
<result column="userId" property="userId" />
|
<result column="driverId" property="driverId" />
|
<result column="carId" property="carId" />
|
<result column="orderNum" property="orderNum" />
|
<result column="placementLon" property="placementLon" />
|
<result column="placementLat" property="placementLat" />
|
<result column="placementAddress" property="placementAddress" />
|
<result column="startLon" property="startLon" />
|
<result column="startLat" property="startLat" />
|
<result column="endLon" property="endLon" />
|
<result column="startAddress" property="startAddress" />
|
<result column="endLat" property="endLat" />
|
<result column="endAddress" property="endAddress" />
|
<result column="boardingLon" property="boardingLon" />
|
<result column="boardingLat" property="boardingLat" />
|
<result column="boardingAddress" property="boardingAddress" />
|
<result column="boardingTime" property="boardingTime" />
|
<result column="getoffLon" property="getoffLon" />
|
<result column="getoffLat" property="getoffLat" />
|
<result column="getoffAddress" property="getoffAddress" />
|
<result column="getoffTime" property="getoffTime" />
|
<result column="mileage" property="mileage" />
|
<result column="payManner" property="payManner" />
|
<result column="payType" property="payType" />
|
<result column="orderMoney" property="orderMoney" />
|
<result column="travelMoney" property="travelMoney" />
|
<result column="parkMoney" property="parkMoney" />
|
<result column="roadTollMoney" property="roadTollMoney" />
|
<result column="tipMoney" property="tipMoney" />
|
<result column="redPacketMoney" property="redPacketMoney" />
|
<result column="couponMoney" property="couponMoney" />
|
<result column="redPacketId" property="redPacketId" />
|
<result column="couponId" property="couponId" />
|
<result column="companyId" property="companyId" />
|
<result column="payMoney" property="payMoney" />
|
<result column="substitute" property="substitute" />
|
<result column="passengers" property="passengers" />
|
<result column="passengersPhone" property="passengersPhone" />
|
<result column="state" property="state" />
|
<result column="insertTime" property="insertTime" />
|
<result column="travelTime" property="travelTime" />
|
<result column="snatchOrderTime" property="snatchOrderTime" />
|
<result column="setOutTime" property="setOutTime" />
|
<result column="arriveTime" property="arriveTime" />
|
<result column="startServiceTime" property="startServiceTime" />
|
<result column="endServiceTime" property="endServiceTime" />
|
<result column="orderType" property="orderType" />
|
<result column="orderSource" property="orderSource" />
|
<result column="invoiceId" property="invoiceId" />
|
<result column="isReassign" property="isReassign" />
|
</resultMap>
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
id, userId, driverId, carId, orderNum, placementLon, placementLat, placementAddress, startLon, startLat, endLon, startAddress, endLat, endAddress, boardingLon, boardingLat, boardingAddress, boardingTime, getoffLon, getoffLat, getoffAddress, getoffTime, mileage, payManner, payType, orderMoney, travelMoney, parkMoney, roadTollMoney, tipMoney, redPacketMoney, couponMoney, redPacketId, couponId, companyId, payMoney, substitute, passengers, passengersPhone, state, insertTime, travelTime, snatchOrderTime, setOutTime, arriveTime, startServiceTime, endServiceTime, orderType, orderSource, invoiceId, isReassign
|
</sql>
|
<select id="getTaxiOrderListExport" resultType="java.util.Map">
|
SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.`name`,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car,
|
ot.* FROM t_order_taxi as ot
|
LEFT JOIN t_user as ui on ui.id = ot.userId
|
LEFT JOIN t_driver as di on di.id = ot.driverId
|
LEFT JOIN t_car as ci on ci.id= ot.carId
|
LEFT JOIN t_car_brand as cb on cb.id = ci.carBrandId) as o
|
<where>
|
o.isDelete = 1 and o.type = 1
|
<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="orderNum != null and orderNum != ''">
|
and o.orderNum LIKE CONCAT('%',#{orderNum},'%')
|
</if>
|
<if test="orderSource != null and orderSource != ''">
|
and o.orderSource = #{orderSource}
|
</if>
|
<if test="userName != null and userName != ''">
|
and o.userName LIKE CONCAT('%',#{userName},'%')
|
</if>
|
<if test="userPhone != null and userPhone != ''">
|
and o.userPhone LIKE CONCAT('%',#{userPhone},'%')
|
</if>
|
<if test="passengers != null and passengers != ''">
|
and o.passengers LIKE CONCAT('%',#{passengers},'%')
|
</if>
|
<if test="passengersPhone != null and passengersPhone != ''">
|
and o.passengersPhone LIKE CONCAT('%',#{passengersPhone},'%')
|
</if>
|
<if test="driver != null and driver != ''">
|
and o.driver LIKE CONCAT('%',#{driver},'%')
|
</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>
|
|
<if test="null != abnormal">
|
and o.abnormal = #{abnormal}
|
</if>
|
<if test="null != promotion">
|
and o.promotion = #{promotion}
|
</if>
|
<if test="null != promotionUser and promotionUser!='' ">
|
and o.promotionUser =#{promotionUser}
|
</if>
|
<if test="null != abnormalStatus">
|
and o.abnormalStatus = #{abnormalStatus}
|
</if>
|
</where>
|
order by o.id desc
|
</select>
|
<!--根据条件查询出租车订单列表-->
|
<select id="getTaxiOrderList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
|
SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.`name`,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car,
|
ot.* FROM t_order_taxi as ot
|
LEFT JOIN t_user as ui on ui.id = ot.userId
|
LEFT JOIN t_driver as di on di.id = ot.driverId
|
LEFT JOIN t_car as ci on ci.id= ot.carId
|
LEFT JOIN t_car_brand as cb on cb.id = ci.carBrandId) as o
|
<where>
|
o.isDelete = 1 and o.type = 1
|
<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="orderNum != null and orderNum != ''">
|
and o.orderNum LIKE CONCAT('%',#{orderNum},'%')
|
</if>
|
<if test="orderSource != null and orderSource != ''">
|
and o.orderSource = #{orderSource}
|
</if>
|
<if test="userName != null and userName != ''">
|
and o.userName LIKE CONCAT('%',#{userName},'%')
|
</if>
|
<if test="userPhone != null and userPhone != ''">
|
and o.userPhone LIKE CONCAT('%',#{userPhone},'%')
|
</if>
|
<if test="passengers != null and passengers != ''">
|
and o.passengers LIKE CONCAT('%',#{passengers},'%')
|
</if>
|
<if test="passengersPhone != null and passengersPhone != ''">
|
and o.passengersPhone LIKE CONCAT('%',#{passengersPhone},'%')
|
</if>
|
<if test="driver != null and driver != ''">
|
and o.driver LIKE CONCAT('%',#{driver},'%')
|
</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>
|
|
<if test="null != abnormal">
|
and o.abnormal = #{abnormal}
|
</if>
|
<if test="null != promotion">
|
and o.promotion = #{promotion}
|
</if>
|
<if test="null != promotionUser and promotionUser!='' ">
|
and o.promotionUser =#{promotionUser}
|
</if>
|
<if test="null != abnormalStatus">
|
and o.abnormalStatus = #{abnormalStatus}
|
</if>
|
</where>
|
order by o.id desc
|
</select>
|
|
<!--根据出租车订单ID获取出租车订单详情-->
|
<select id="getTaxiOrderDetailById" resultType="map">
|
SELECT
|
DATE_FORMAT(ot.insertTime,'%Y-%m-%d %H:%i') as insertTimeStr,
|
DATE_FORMAT(ot.travelTime,'%Y-%m-%d %H:%i') as travelTimeStr,
|
DATE_FORMAT(ot.boardingTime,'%Y-%m-%d %H:%i') as boardingTimeStr,
|
DATE_FORMAT(ot.getoffTime,'%Y-%m-%d %H:%i') as getoffTimeStr,
|
case when ot.orderSource = 1 then 'APP下单'
|
when ot.orderSource = 2 then '扫码下单'
|
when ot.orderSource = 3 then '小程序下单'
|
when ot.orderSource = 4 then '司机下单'
|
when ot.orderSource = 5 then '调度下单'
|
when ot.orderSource = 6 then '道行龙城下单' else '' end orderSourceStr,
|
ui.nickName as userName,ui.phone as userPhone,
|
case when ot.payType = 1 then '微信'
|
when ot.payType = 2 then '支付宝'
|
when ot.payType = 3 then '余额'
|
when ot.payType = 4 then '云闪付'
|
else '预备金' end as payTypeStr,
|
CONCAT(di.`name`,'-',di.phone) as driver,
|
CONCAT(cb.`name`,'-',ci.carLicensePlate) as car,
|
cc.`name` as companyName,ot.*
|
FROM t_order_taxi as ot
|
LEFT JOIN t_user as ui on ui.id = ot.userId
|
LEFT JOIN t_driver as di on di.id = ot.driverId
|
LEFT JOIN t_car as ci on ci.id= ot.carId
|
LEFT JOIN t_car_brand as cb on cb.id = ci.carBrandId
|
LEFT JOIN t_company as cc on cc.id = ot.companyId
|
where ot.id = #{orderId}
|
</select>
|
|
<!--根据条件查询可被选择的出租车司机列表-->
|
<select id="getCanSelectTaxiDriverList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
|
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 = 2) 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>
|
|
<!--查询所有订单条数-->
|
<select id="getAllOrderNum" resultType="java.lang.Integer">
|
SELECT IFNULL(SUM(num),0) as value FROM (
|
(SELECT IFNULL(COUNT(id),0) as num FROM t_order_taxi where FIND_IN_SET(state,'8,9')
|
<if test="companyId != null and companyId != ''">
|
and companyId = #{companyId}
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
)
|
union all
|
(SELECT IFNULL(COUNT(id),0) as num FROM t_order_chartered_car where FIND_IN_SET(state,'2')
|
<if test="companyId != null and companyId != ''">
|
and companyId = #{companyId}
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
)
|
union all
|
(SELECT IFNULL(COUNT(id),0) as num FROM t_order_cross_city where FIND_IN_SET(state,'8,9')
|
<if test="companyId != null and companyId != ''">
|
and companyId = #{companyId}
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
)
|
union all
|
(SELECT IFNULL(COUNT(id),0) as num FROM t_order_logistics where FIND_IN_SET(state,'8,9')
|
<if test="companyId != null and companyId != ''">
|
and companyId = #{companyId}
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
)
|
union all
|
(SELECT IFNULL(COUNT(id),0) as num FROM t_order_private_car where FIND_IN_SET(state,'8,9')
|
<if test="companyId != null and companyId != ''">
|
and companyId = #{companyId}
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
)
|
) as o
|
</select>
|
|
<!--查询所有总交易金额-->
|
<select id="getAllTradeMoney" resultType="java.lang.Double">
|
SELECT IFNULL(SUM(num),0) as value FROM (
|
(SELECT IFNULL(SUM(payMoney),0) as num FROM t_order_taxi where FIND_IN_SET(state,'8,9')
|
<if test="companyId != null and companyId != ''">
|
and companyId = #{companyId}
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
)
|
union all
|
(SELECT IFNULL(SUM(payMoney),0) as num FROM t_order_cross_city where FIND_IN_SET(state,'8,9')
|
<if test="companyId != null and companyId != ''">
|
and companyId = #{companyId}
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
)
|
union all
|
(SELECT IFNULL(SUM(payMoney),0) as num FROM t_order_logistics where FIND_IN_SET(state,'8,9')
|
<if test="companyId != null and companyId != ''">
|
and companyId = #{companyId}
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
)
|
union all
|
(SELECT IFNULL(SUM(payMoney),0) as num FROM t_order_private_car where FIND_IN_SET(state,'8,9')
|
<if test="companyId != null and companyId != ''">
|
and companyId = #{companyId}
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
)
|
) as o
|
</select>
|
|
<!--查询所有总收益-->
|
<select id="getAllIncomeMoney" resultType="java.lang.Double">
|
SELECT IFNULL(SUM(money),0) as value FROM t_income where userType = 1
|
<if test="companyId != null and companyId != ''">
|
and objectId = #{companyId}
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
</select>
|
<select id="getOrderList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
|
SELECT
|
o.*,
|
IFNULL(d.`name`,'') driverName,
|
IFNULL(d.phone,'') driverPhone,
|
u.nickName userName,
|
u.phone userPhone,
|
(SELECT IFNULL(SUM(money),0) FROM t_income WHERE incomeId=o.id AND orderType=o.type) totalMoney,
|
(SELECT IFNULL(SUM(money),0) FROM t_income WHERE incomeId=o.id AND orderType=o.type AND userType=2 AND objectId=o.driverId) driverMoney,
|
(SELECT IFNULL(SUM(money),0) FROM t_order_cancel WHERE orderId=o.id AND orderType=o.type) cancleMoney,
|
(SELECT IFNULL(SUM(money),0) FROM t_reassign WHERE orderId=o.id AND orderType=o.type and payTime is not null) reassignMoney,
|
CASE WHEN o.type>3 THEN (SELECT IFNULL(SUM(payMoney),0) FROM t_order_logistics_spread WHERE orderLogisticsId=o.id) ELSE 0 END spreadMoney,
|
(SELECT IFNULL(SUM(amount),0) FROM t_order_additional_fee WHERE orderId=o.id AND orderType=o.type) additionalMoney
|
|
FROM (
|
SELECT id,insertTime,orderNum,2 type,payType,ifnull(payMoney, 0) as payMoney,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '其他' WHEN payType=4 THEN '云闪付' ELSE '' END payTypeName,driverId,userId,ifnull(orderMoney, 0) as orderMoney,travelMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(redPacketMoney,0)+IFNULL(couponMoney,0)+IFNULL(discountMoney,0)+IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, state FROM t_order_taxi WHERE state>=7 AND 10>=state AND (payManner is NULL or payManner!=2)
|
UNION ALL
|
SELECT id,insertTime,orderNum,1 type,payType,ifnull(payMoney, 0) as payMoney,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '其他' WHEN payType=4 THEN '云闪付' ELSE '' END payTypeName,driverId,userId,ifnull(orderMoney, 0) as orderMoney,0 as travelMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(redPacketMoney,0)+IFNULL(couponMoney,0)+IFNULL(discountMoney,0)+IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, state FROM t_order_private_car WHERE state>=7 AND 10>=state AND (payManner is NULL or payManner!=2)
|
UNION ALL
|
SELECT id,insertTime,orderNum,3 type,payType,ifnull(payMoney, 0) as payMoney,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '其他' WHEN payType=4 THEN '云闪付' WHEN payType=5 THEN '扫码下单' ELSE '' END payTypeName,driverId,userId,ifnull(orderMoney, 0) as orderMoney,0 as travelMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(redPacketMoney,0)+IFNULL(couponMoney,0)+IFNULL(discountMoney,0)+IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, state FROM t_order_cross_city WHERE state>=7 AND 10>=state AND (payManner is NULL or payManner!=2)
|
UNION ALL
|
SELECT id,insertTime,orderNum,type type,payType,ifnull(payMoney, 0) as payMoney,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '其他' WHEN payType=4 THEN '云闪付' ELSE '' END payTypeName,driverId,userId,ifnull(orderMoney, 0) as orderMoney,0 as travelMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,timeOutMoney,IFNULL(redPacketMoney,0)+IFNULL(couponMoney,0)+IFNULL(discountMoney,0)+IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, state FROM t_order_logistics WHERE state=6 AND (payManner is NULL or payManner!=2)
|
) o
|
LEFT JOIN t_driver d ON d.id=o.driverId
|
LEFT JOIN t_user u ON o.userId=u.id
|
<where>
|
1=1 and d.companyId=#{companyId}
|
<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="userId != null and userId != ''">
|
and find_in_set(o.driverId, #{userId})
|
</if>
|
<if test="type != null and type != ''">
|
and o.type=#{type}
|
</if>
|
<if test="payType != null and payType != ''">
|
and o.payType=#{payType}
|
</if>
|
</where>
|
order by o.insertTime desc
|
</select>
|
<select id="getOrderListEx" resultType="map">
|
SELECT
|
o.*,
|
IFNULL(d.`name`,'') driverName,
|
IFNULL(d.phone,'') driverPhone,
|
u.nickName userName,
|
u.phone userPhone,
|
(SELECT IFNULL(SUM(money),0) FROM t_income WHERE incomeId=o.id AND orderType=o.type) totalMoney,
|
(SELECT IFNULL(SUM(money),0) FROM t_income WHERE incomeId=o.id AND orderType=o.type AND userType=2 AND objectId=o.driverId) driverMoney,
|
(SELECT IFNULL(SUM(money),0) FROM t_order_cancel WHERE orderId=o.id AND orderType=o.type) cancleMoney,
|
(SELECT IFNULL(SUM(money),0) FROM t_reassign WHERE orderId=o.id AND orderType=o.type and payTime is not null) reassignMoney,
|
CASE WHEN o.type>3 THEN (SELECT IFNULL(SUM(payMoney),0) FROM t_order_logistics_spread WHERE orderLogisticsId=o.id) ELSE 0 END spreadMoney,
|
(SELECT IFNULL(SUM(amount),0) FROM t_order_additional_fee WHERE orderId=o.id AND orderType=o.type) additionalMoney
|
|
FROM (
|
SELECT id,insertTime,orderNum,2 type,payType,ifnull(payMoney, 0) as payMoney,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '其他' WHEN payType=4 THEN '云闪付' ELSE '' END payTypeName,driverId,userId,ifnull(orderMoney, 0) as orderMoney,travelMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(redPacketMoney,0)+IFNULL(couponMoney,0)+IFNULL(discountMoney,0)+IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, state FROM t_order_taxi WHERE state>=7 AND 10>=state AND (payManner is NULL or payManner!=2)
|
UNION ALL
|
SELECT id,insertTime,orderNum,1 type,payType,ifnull(payMoney, 0) as payMoney,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '其他' WHEN payType=4 THEN '云闪付' ELSE '' END payTypeName,driverId,userId,ifnull(orderMoney, 0) as orderMoney,0 as travelMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(redPacketMoney,0)+IFNULL(couponMoney,0)+IFNULL(discountMoney,0)+IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, state FROM t_order_private_car WHERE state>=7 AND 10>=state AND (payManner is NULL or payManner!=2)
|
UNION ALL
|
SELECT id,insertTime,orderNum,3 type,payType,ifnull(payMoney, 0) as payMoney,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '其他' WHEN payType=4 THEN '云闪付' WHEN payType=5 THEN '扫码下单' ELSE '' END payTypeName,driverId,userId,ifnull(orderMoney, 0) as orderMoney,0 as travelMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(redPacketMoney,0)+IFNULL(couponMoney,0)+IFNULL(discountMoney,0)+IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, state FROM t_order_cross_city WHERE state>=7 AND 10>=state AND (payManner is NULL or payManner!=2)
|
UNION ALL
|
SELECT id,insertTime,orderNum,type type,payType,ifnull(payMoney, 0) as payMoney,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '其他' WHEN payType=4 THEN '云闪付' ELSE '' END payTypeName,driverId,userId,ifnull(orderMoney, 0) as orderMoney,0 as travelMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,timeOutMoney,IFNULL(redPacketMoney,0)+IFNULL(couponMoney,0)+IFNULL(discountMoney,0)+IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, state FROM t_order_logistics WHERE state=6 AND (payManner is NULL or payManner!=2)
|
) o
|
LEFT JOIN t_driver d ON d.id=o.driverId
|
LEFT JOIN t_user u ON o.userId=u.id
|
<where>
|
1=1 and d.companyId=#{companyId}
|
<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="userId != null and userId != ''">
|
and find_in_set(o.driverId, #{userId})
|
</if>
|
<if test="type != null and type != ''">
|
and o.type=#{type}
|
</if>
|
<if test="payType != null and payType != ''">
|
and o.payType=#{payType}
|
</if>
|
</where>
|
order by o.insertTime desc
|
</select>
|
<select id="getIncomeOrderList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
|
|
select * from (
|
select * from (
|
SELECT
|
IFNULL(f.`name`,'') driverName,
|
IFNULL(f.phone,'') driverPhone,
|
IFNULL(u.nickName,'') userName,
|
IFNULL(u.phone,'') userPhone,
|
i.insertTime,
|
i.money money,
|
4 as incomeType,
|
IFNULL(g.carLicensePlate,'') as carLicensePlate,
|
i.orderType,
|
|
0 as other,
|
(SELECT SUM(amount) FROM t_order_additional_fee WHERE orderType = o.type and orderId = o.id) as additionalFee,
|
o.*,
|
i.payType payTypes
|
FROM t_reassign i LEFT JOIN (
|
SELECT id,orderNum,2 type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payManner = 1 and payType=1 THEN '微信' WHEN payManner = 1 and payType=2 THEN '支付宝' WHEN payManner = 1 and payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_taxi where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,1 type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_private_car where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,3 type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=4 THEN '云闪付' WHEN payType=5 THEN '扫码下单' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, lineId FROM t_order_cross_city where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,type type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, recipient as passengers, recipientPhone as passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_logistics where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
) o ON i.orderId=o.id AND i.orderType=o.type
|
LEFT JOIN t_driver f ON (f.id=i.originalDriverId)
|
left join t_car g on (f.carId = g.id)
|
LEFT JOIN t_user u ON o.userId=u.id
|
where i.payTime is not null
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and f.companyId=#{companyId}
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (i.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="phone != null and phone != ''">
|
and f.phone LIKE CONCAT('%',#{phone},'%')
|
</if>
|
<if test="name != null and name != ''">
|
and f.name LIKE CONCAT('%',#{name},'%')
|
</if>
|
<if test="type != null and type != ''">
|
and o.type=#{type}
|
</if>
|
) as aa
|
|
union all
|
|
select * from (
|
SELECT
|
IFNULL(d.`name`,'') driverName,
|
IFNULL(d.phone,'') driverPhone,
|
IFNULL(u.nickName,'') userName,
|
IFNULL(u.phone,'') userPhone,i.insertTime,
|
i.money money,
|
3 as incomeType,
|
IFNULL(c.carLicensePlate,'') as carLicensePlate,
|
i.orderType,
|
0 as other,
|
(SELECT SUM(amount) FROM t_order_additional_fee WHERE orderType = o.type and orderId = o.id) as additionalFee,
|
o.*,
|
0 as payTypes
|
FROM t_income i LEFT JOIN (
|
SELECT id,orderNum,2 type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payManner = 1 and payType=1 THEN '微信' WHEN payManner = 1 and payType=2 THEN '支付宝' WHEN payManner = 1 and payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_taxi where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,1 type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_private_car where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,3 type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, lineId FROM t_order_cross_city where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,type type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, recipient as passengers, recipientPhone as passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_logistics where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
) o ON i.incomeId=o.id AND i.orderType=o.type
|
LEFT JOIN t_driver d ON (d.id=o.driverId)
|
LEFT JOIN t_user u ON o.userId=u.id
|
left join t_car c on (o.carId = c.id)
|
where i.userType=1 and i.type in (3)
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and i.objectId=#{companyId}
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (i.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="phone != null and phone != ''">
|
and d.phone LIKE CONCAT('%',#{phone},'%')
|
</if>
|
<if test="name != null and name != ''">
|
and d.name LIKE CONCAT('%',#{name},'%')
|
</if>
|
<if test="type != null and type != ''">
|
and o.type=#{type}
|
</if>
|
) as bb
|
|
union all
|
|
select * from (
|
select
|
IFNULL(d.`name`,'') driverName,IFNULL(d.phone,'') driverPhone,IFNULL(u.nickName,'') userName,IFNULL(u.phone,'') userPhone,o.insertTime1 as insertTime,
|
0 money,
|
2 incomeType,
|
c.carLicensePlate,
|
o.type orderType,
|
0 as other,
|
(SELECT SUM(amount) FROM t_order_additional_fee WHERE orderType = o.type and orderId = o.id) as additionalFee,
|
o.*,
|
0 as payTypes
|
from (
|
SELECT id,orderNum,2 type,payType,ifnull(payManner, 1) as payManner,''payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_taxi where state in (7, 8, 9) and isDelete = 1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,1 type,payType,ifnull(payManner, 1) as payManner,'' payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_private_car where state in (7, 8, 9) and isDelete = 1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,3 type,payType,ifnull(payManner, 1) as payManner,'' payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, lineId FROM t_order_cross_city where state in (7, 8, 9) and isDelete = 1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,type type,payType,ifnull(payManner, 1) as payManner,'' payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, recipient as passengers, recipientPhone as passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_logistics where state in (6, 7, 9) and isDelete = 1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
) as o
|
LEFT JOIN t_driver d ON d.id=o.driverId
|
LEFT JOIN t_user u ON o.userId=u.id
|
left join t_car c on (o.carId = c.id)
|
where 1=1
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (o.insertTime1 between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="phone != null and phone != ''">
|
and d.phone LIKE CONCAT('%',#{phone},'%')
|
</if>
|
<if test="name != null and name != ''">
|
and d.name LIKE CONCAT('%',#{name},'%')
|
</if>
|
<if test="type != null and type != ''">
|
and o.type=#{type}
|
</if>
|
) as cc
|
) as data where 1 = 1
|
<if test="state!=null and state!='' and state==1">
|
and payState='未支付'
|
</if>
|
|
<if test="state!=null and state!='' and state==2">
|
and payState='已支付'
|
</if>
|
<if test="null != income">
|
and incomeType = #{income}
|
</if>
|
<if test="payType!=null and payType!=3 and payType!=4">
|
and data.payType = #{payType}
|
</if>
|
<if test="payType!=null and payType==3">
|
and data.payType = 3 and data.payManner = 1
|
</if>
|
<if test="payType!=null and payType==4">
|
and data.payManner = 2
|
</if>
|
order by insertTime desc
|
|
<!--
|
SELECT o.*,IFNULL(d.`name`,'') driverName,IFNULL(d.phone,'') driverPhone,IFNULL(u.nickName,'') userName,IFNULL(u.phone,'') userPhone,i.insertTime,
|
i.money money,
|
i.type incomeType,
|
c.carLicensePlate,
|
i.orderType,
|
(SELECT SUM(amount) FROM t_order_additional_fee WHERE orderType = o.type and orderId = o.id) as additionalFee
|
FROM t_income i LEFT JOIN (
|
SELECT id,orderNum,2 type,payType,payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId FROM t_order_taxi
|
UNION ALL
|
SELECT id,orderNum,1 type,payType,payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId FROM t_order_private_car
|
UNION ALL
|
SELECT id,orderNum,3 type,payType,payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId FROM t_order_cross_city
|
UNION ALL
|
SELECT id,orderNum,type type,payType,payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, recipient as passengers, recipientPhone as passengersPhone, startAddress, endAddress, carId FROM t_order_logistics
|
) o ON i.incomeId=o.id AND i.orderType=o.type
|
LEFT JOIN t_driver d ON d.id=o.driverId
|
LEFT JOIN t_user u ON o.userId=u.id
|
left join t_car c on (o.carId = c.id)
|
|
<where>
|
1=1 and i.userType=1 and i.objectId=#{companyId} AND i.type!=5 and i.type in (2, 3, 4)
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (i.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="phone != null and phone != ''">
|
and d.phone LIKE CONCAT('%',#{phone},'%')
|
</if>
|
<if test="name != null and name != ''">
|
and d.name LIKE CONCAT('%',#{name},'%')
|
</if>
|
<if test="type != null and type != ''">
|
and o.type=#{type}
|
</if>
|
<if test="state!=null and state!='' and state==1">
|
and payState='未支付'
|
</if>
|
|
<if test="state!=null and state!='' and state==2">
|
and payState='已支付'
|
</if>
|
<if test="null != income">
|
and i.type = #{income}
|
</if>
|
<if test="payType!=null and payType!=3 and payType!=4">
|
and o.payType = #{payType}
|
</if>
|
<if test="payType!=null and payType==3">
|
and o.payType = 3 and o.payManner = 1
|
</if>
|
<if test="payType!=null and payType==4">
|
and o.payManner = 2
|
</if>
|
</where>
|
|
|
|
|
order by i.insertTime desc
|
-->
|
</select>
|
<select id="getIncomeOrderListEx" resultType="map">
|
select * from (
|
select * from (
|
SELECT
|
IFNULL(f.`name`,'') driverName,
|
IFNULL(f.phone,'') driverPhone,
|
IFNULL(u.nickName,'') userName,
|
IFNULL(u.phone,'') userPhone,
|
i.insertTime,
|
i.money money,
|
4 as incomeType,
|
IFNULL(g.carLicensePlate,'') as carLicensePlate,
|
i.orderType,
|
|
0 as other,
|
(SELECT SUM(amount) FROM t_order_additional_fee WHERE orderType = o.type and orderId = o.id) as additionalFee,
|
o.*,
|
i.payType payTypes
|
FROM t_reassign i LEFT JOIN (
|
SELECT id,orderNum,2 type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payManner = 1 and payType=1 THEN '微信' WHEN payManner = 1 and payType=2 THEN '支付宝' WHEN payManner = 1 and payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_taxi where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,1 type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_private_car where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,3 type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=4 THEN '云闪付' WHEN payType=5 THEN '扫码下单' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, lineId FROM t_order_cross_city where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,type type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, recipient as passengers, recipientPhone as passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_logistics where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
) o ON i.orderId=o.id AND i.orderType=o.type
|
LEFT JOIN t_driver f ON (f.id=i.originalDriverId)
|
left join t_car g on (f.carId = g.id)
|
LEFT JOIN t_user u ON o.userId=u.id
|
where i.payTime is not null
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and f.companyId=#{companyId}
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (i.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="phone != null and phone != ''">
|
and f.phone LIKE CONCAT('%',#{phone},'%')
|
</if>
|
<if test="name != null and name != ''">
|
and f.name LIKE CONCAT('%',#{name},'%')
|
</if>
|
<if test="type != null and type != ''">
|
and o.type=#{type}
|
</if>
|
) as aa
|
|
union all
|
|
select * from (
|
SELECT
|
IFNULL(d.`name`,'') driverName,
|
IFNULL(d.phone,'') driverPhone,
|
IFNULL(u.nickName,'') userName,
|
IFNULL(u.phone,'') userPhone,i.insertTime,
|
i.money money,
|
3 as incomeType,
|
IFNULL(c.carLicensePlate,'') as carLicensePlate,
|
i.orderType,
|
0 as other,
|
(SELECT SUM(amount) FROM t_order_additional_fee WHERE orderType = o.type and orderId = o.id) as additionalFee,
|
o.*,
|
0 as payTypes
|
FROM t_income i LEFT JOIN (
|
SELECT id,orderNum,2 type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payManner = 1 and payType=1 THEN '微信' WHEN payManner = 1 and payType=2 THEN '支付宝' WHEN payManner = 1 and payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_taxi where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,1 type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_private_car where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,3 type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, lineId FROM t_order_cross_city where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,type type,payType,ifnull(payManner, 1) as payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, recipient as passengers, recipientPhone as passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_logistics where 1=1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
) o ON i.incomeId=o.id AND i.orderType=o.type
|
LEFT JOIN t_driver d ON (d.id=o.driverId)
|
LEFT JOIN t_user u ON o.userId=u.id
|
left join t_car c on (o.carId = c.id)
|
where i.userType=1 and i.type in (3)
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and i.objectId=#{companyId}
|
</if>
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (i.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="phone != null and phone != ''">
|
and d.phone LIKE CONCAT('%',#{phone},'%')
|
</if>
|
<if test="name != null and name != ''">
|
and d.name LIKE CONCAT('%',#{name},'%')
|
</if>
|
<if test="type != null and type != ''">
|
and o.type=#{type}
|
</if>
|
) as bb
|
|
union all
|
|
select * from (
|
select
|
IFNULL(d.`name`,'') driverName,IFNULL(d.phone,'') driverPhone,IFNULL(u.nickName,'') userName,IFNULL(u.phone,'') userPhone,o.insertTime1 as insertTime,
|
0 money,
|
2 incomeType,
|
c.carLicensePlate,
|
o.type orderType,
|
0 as other,
|
(SELECT SUM(amount) FROM t_order_additional_fee WHERE orderType = o.type and orderId = o.id) as additionalFee,
|
o.*,
|
0 as payTypes
|
from (
|
SELECT id,orderNum,2 type,payType,ifnull(payManner, 1) as payManner,''payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_taxi where state in (7, 8, 9) and isDelete = 1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,1 type,payType,ifnull(payManner, 1) as payManner,'' payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_private_car where state in (7, 8, 9) and isDelete = 1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,3 type,payType,ifnull(payManner, 1) as payManner,'' payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, passengers, passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, lineId FROM t_order_cross_city where state in (7, 8, 9) and isDelete = 1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
UNION ALL
|
SELECT id,orderNum,type type,payType,ifnull(payManner, 1) as payManner,'' payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState, recipient as passengers, recipientPhone as passengersPhone, startAddress, endAddress, carId, insertTime as insertTime1, companyId, '' as lineId FROM t_order_logistics where state in (6, 7, 9) and isDelete = 1
|
<if test="companyId !=null and companyId !='' and companyId !=1">
|
and companyId=#{companyId}
|
</if>
|
) as o
|
LEFT JOIN t_driver d ON d.id=o.driverId
|
LEFT JOIN t_user u ON o.userId=u.id
|
left join t_car c on (o.carId = c.id)
|
where 1=1
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (o.insertTime1 between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="phone != null and phone != ''">
|
and d.phone LIKE CONCAT('%',#{phone},'%')
|
</if>
|
<if test="name != null and name != ''">
|
and d.name LIKE CONCAT('%',#{name},'%')
|
</if>
|
<if test="type != null and type != ''">
|
and o.type=#{type}
|
</if>
|
) as cc
|
) as data where 1 = 1
|
<if test="state!=null and state!='' and state==1">
|
and payState='未支付'
|
</if>
|
|
<if test="state!=null and state!='' and state==2">
|
and payState='已支付'
|
</if>
|
<if test="null != income">
|
and incomeType = #{income}
|
</if>
|
<if test="payType!=null and payType!=3 and payType!=4">
|
and data.payType = #{payType}
|
</if>
|
<if test="payType!=null and payType==3">
|
and data.payType = 3 and data.payManner = 1
|
</if>
|
<if test="payType!=null and payType==4">
|
and data.payManner = 2
|
</if>
|
order by insertTime desc
|
</select>
|
|
<select id="getIncomeOrderSumMoney" resultType="map">
|
SELECT sum(o.orderMoney) orderMoney,sum(i.money) money,sum(o.payMoney) payMoney,sum(o.couponMoney) couponMoney,sum(o.discountAmount) discountAmount,sum(o.redPacketMoney) redPacketMoney,
|
(SELECT SUM(amount) FROM t_order_additional_fee WHERE orderType = o.type and orderId = o.id) as additionalFee
|
FROM t_income i LEFT JOIN (
|
SELECT id,insertTime,orderNum,2 type,payType,payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState FROM t_order_taxi
|
UNION ALL
|
SELECT id,insertTime,orderNum,1 type,payType,payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState FROM t_order_private_car
|
UNION ALL
|
SELECT id,insertTime,orderNum,3 type,payType,payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,0 tipMoney,IFNULL(holidayFee,0) holidayFee,0 timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState FROM t_order_cross_city
|
UNION ALL
|
SELECT id,insertTime,orderNum,type type,payType,payManner,CASE WHEN payType=1 THEN '微信' WHEN payType=2 THEN '支付宝' WHEN payType=3 THEN '余额支付' WHEN payManner = 2 THEN '线下支付' ELSE '' END payTypeName,driverId,userId,orderMoney,tipMoney,IFNULL(holidayFee,0) holidayFee,timeOutMoney,IFNULL(couponMoney,0)+IFNULL(discountMoney,0) as couponMoney, IFNULL(discountAmount,0) discountAmount,IFNULL(thankYouFee,0) thankYouFee, IFNULL(redPacketMoney,0) as redPacketMoney, IFNULL(payMoney, 0) AS payMoney,CASE WHEN state=7 THEN '未支付' ELSE '已支付' END payState FROM t_order_logistics
|
) o ON i.incomeId=o.id AND i.orderType=o.type
|
LEFT JOIN t_driver d ON d.id=o.driverId
|
LEFT JOIN t_user u ON o.userId=u.id
|
|
<where>
|
1=1 and i.userType=1 and i.objectId=#{companyId} AND i.type!=5 and i.type in (2, 3, 4)
|
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
|
AND (i.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
|
</if>
|
<if test="phone != null and phone != ''">
|
and d.phone LIKE CONCAT('%',#{phone},'%')
|
</if>
|
<if test="name != null and name != ''">
|
and d.name LIKE CONCAT('%',#{name},'%')
|
</if>
|
<if test="type != null and type != ''">
|
and o.type=#{type}
|
</if>
|
<if test="state!=null and state!='' and state==1">
|
and payState='未支付'
|
</if>
|
|
<if test="state!=null and state!='' and state==2">
|
and payState='已支付'
|
</if>
|
<if test="null != income">
|
and i.type = #{income}
|
</if>
|
<if test="payType!=null and payType!=3 and payType!=4">
|
and o.payType = #{payType}
|
</if>
|
<if test="payType!=null and payType==3">
|
and o.payType = 3 and o.payManner = 1
|
</if>
|
<if test="payType!=null and payType==4">
|
and o.payManner = 2
|
</if>
|
</where>
|
|
order by i.insertTime desc
|
</select>
|
|
|
<select id="queryOtherIncomeDetail" resultType="map">
|
select * from (
|
select
|
a.id,
|
1 as orderType,
|
a.orderNum,
|
b.nickName,
|
b.phone,
|
a.thankYouFee,
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime
|
from t_order_private_car a
|
left join t_user b on (a.userId = b.id)
|
where a.state in (8, 9) and a.isDelete = 1
|
<if test="null != beginTime and '' != beginTime and null != endTime and '' != endTime">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{beginTime} and #{endTime}
|
</if>
|
<if test="null != companyId and '' != companyId and companyId !=1 ">
|
and a.companyId =#{companyId}
|
</if>
|
<if test="null != orderNo and '' != orderNo">
|
and a.orderNum like CONCAT('%', #{orderNo}, '%')
|
</if>
|
<if test="null != name and '' != name">
|
and b.nickName like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != phone and '' != phone">
|
and b.phone like CONCAT('%', #{phone}, '%')
|
</if>
|
|
union all
|
|
select
|
a.id,
|
2 as orderType,
|
a.orderNum,
|
b.nickName,
|
b.phone,
|
a.thankYouFee,
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime
|
from t_order_taxi a
|
left join t_user b on (a.userId = b.id)
|
where a.state in (8, 9) and a.isDelete = 1
|
<if test="null != beginTime and '' != beginTime and null != endTime and '' != endTime">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{beginTime} and #{endTime}
|
</if>
|
<if test="null != companyId and '' != companyId and companyId !=1 ">
|
and a.companyId =#{companyId}
|
</if>
|
<if test="null != orderNo and '' != orderNo">
|
and a.orderNum like CONCAT('%', #{orderNo}, '%')
|
</if>
|
<if test="null != name and '' != name">
|
and b.nickName like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != phone and '' != phone">
|
and b.phone like CONCAT('%', #{phone}, '%')
|
</if>
|
|
union all
|
|
select
|
a.id,
|
3 as orderType,
|
a.orderNum,
|
b.nickName,
|
b.phone,
|
a.thankYouFee,
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime
|
from t_order_cross_city a
|
left join t_user b on (a.userId = b.id)
|
where a.state in (8, 9) and a.isDelete = 1
|
<if test="null != beginTime and '' != beginTime and null != endTime and '' != endTime">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{beginTime} and #{endTime}
|
</if>
|
<if test="null != companyId and '' != companyId and companyId !=1 ">
|
and a.companyId =#{companyId}
|
</if>
|
<if test="null != orderNo and '' != orderNo">
|
and a.orderNum like CONCAT('%', #{orderNo}, '%')
|
</if>
|
<if test="null != name and '' != name">
|
and b.nickName like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != phone and '' != phone">
|
and b.phone like CONCAT('%', #{phone}, '%')
|
</if>
|
|
union all
|
|
select
|
a.id,
|
type as orderType,
|
a.orderNum,
|
b.nickName,
|
b.phone,
|
a.thankYouFee,
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime
|
from t_order_logistics a
|
left join t_user b on (a.userId = b.id)
|
where a.state in (6, 9) and a.isDelete = 1
|
<if test="null != beginTime and '' != beginTime and null != endTime and '' != endTime">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{beginTime} and #{endTime}
|
</if>
|
<if test="null != companyId and '' != companyId and companyId !=1 ">
|
and a.companyId =#{companyId}
|
</if>
|
<if test="null != orderNo and '' != orderNo">
|
and a.orderNum like CONCAT('%', #{orderNo}, '%')
|
</if>
|
<if test="null != name and '' != name">
|
and b.nickName like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != phone and '' != phone">
|
and b.phone like CONCAT('%', #{phone}, '%')
|
</if>
|
|
union all
|
|
select
|
a.id,
|
7 as orderType,
|
a.orderNum,
|
b.nickName,
|
b.phone,
|
a.thankYouFee,
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime
|
from t_order_call a
|
left join t_user b on (a.userId = b.id)
|
where a.state in (8, 9) and a.isDelete = 1
|
<if test="null != beginTime and '' != beginTime and null != endTime and '' != endTime">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{beginTime} and #{endTime}
|
</if>
|
<if test="null != companyId and '' != companyId and companyId !=1 ">
|
and a.companyId =#{companyId}
|
</if>
|
<if test="null != orderNo and '' != orderNo">
|
and a.orderNum like CONCAT('%', #{orderNo}, '%')
|
</if>
|
<if test="null != name and '' != name">
|
and b.nickName like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != phone and '' != phone">
|
and b.phone like CONCAT('%', #{phone}, '%')
|
</if>
|
) as aa where aa.thankYouFee != 0 order by aa.insertTime desc
|
</select>
|
|
<select id="exportOtherIncomeDetail" resultType="map">
|
select * from (
|
select
|
a.id,
|
1 as orderType,
|
a.orderNum,
|
b.nickName,
|
b.phone,
|
a.thankYouFee,
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime
|
from t_order_private_car a
|
left join t_user b on (a.userId = b.id)
|
where a.state in (8, 9) and a.isDelete = 1
|
<if test="null != beginTime and '' != beginTime and null != endTime and '' != endTime">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{beginTime} and #{endTime}
|
</if>
|
<if test="null != companyId and '' != orderNo and companyId !=1 ">
|
and a.companyId =#{companyId}
|
</if>
|
<if test="null != orderNo and '' != orderNo">
|
and a.orderNum like CONCAT('%', #{orderNo}, '%')
|
</if>
|
<if test="null != name and '' != name">
|
and b.nickName like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != phone and '' != phone">
|
and b.phone like CONCAT('%', #{phone}, '%')
|
</if>
|
|
union all
|
|
select
|
a.id,
|
2 as orderType,
|
a.orderNum,
|
b.nickName,
|
b.phone,
|
a.thankYouFee,
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime
|
from t_order_taxi a
|
left join t_user b on (a.userId = b.id)
|
where a.state in (8, 9) and a.isDelete = 1
|
<if test="null != beginTime and '' != beginTime and null != endTime and '' != endTime">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{beginTime} and #{endTime}
|
</if>
|
<if test="null != companyId and '' != orderNo and companyId !=1 ">
|
and a.companyId =#{companyId}
|
</if>
|
<if test="null != orderNo and '' != orderNo">
|
and a.orderNum like CONCAT('%', #{orderNo}, '%')
|
</if>
|
<if test="null != name and '' != name">
|
and b.nickName like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != phone and '' != phone">
|
and b.phone like CONCAT('%', #{phone}, '%')
|
</if>
|
|
union all
|
|
select
|
a.id,
|
3 as orderType,
|
a.orderNum,
|
b.nickName,
|
b.phone,
|
a.thankYouFee,
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime
|
from t_order_cross_city a
|
left join t_user b on (a.userId = b.id)
|
where a.state in (8, 9) and a.isDelete = 1
|
<if test="null != beginTime and '' != beginTime and null != endTime and '' != endTime">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{beginTime} and #{endTime}
|
</if>
|
<if test="null != companyId and '' != orderNo and companyId !=1 ">
|
and a.companyId =#{companyId}
|
</if>
|
<if test="null != orderNo and '' != orderNo">
|
and a.orderNum like CONCAT('%', #{orderNo}, '%')
|
</if>
|
<if test="null != name and '' != name">
|
and b.nickName like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != phone and '' != phone">
|
and b.phone like CONCAT('%', #{phone}, '%')
|
</if>
|
|
union all
|
|
select
|
a.id,
|
type as orderType,
|
a.orderNum,
|
b.nickName,
|
b.phone,
|
a.thankYouFee,
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime
|
from t_order_logistics a
|
left join t_user b on (a.userId = b.id)
|
where a.state in (6, 9) and a.isDelete = 1
|
<if test="null != beginTime and '' != beginTime and null != endTime and '' != endTime">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{beginTime} and #{endTime}
|
</if>
|
<if test="null != companyId and '' != orderNo and companyId !=1 ">
|
and a.companyId =#{companyId}
|
</if>
|
<if test="null != orderNo and '' != orderNo">
|
and a.orderNum like CONCAT('%', #{orderNo}, '%')
|
</if>
|
<if test="null != name and '' != name">
|
and b.nickName like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != phone and '' != phone">
|
and b.phone like CONCAT('%', #{phone}, '%')
|
</if>
|
|
union all
|
|
select
|
a.id,
|
7 as orderType,
|
a.orderNum,
|
b.nickName,
|
b.phone,
|
a.thankYouFee,
|
DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as insertTime
|
from t_order_call a
|
left join t_user b on (a.userId = b.id)
|
where a.state in (8, 9) and a.isDelete = 1
|
<if test="null != beginTime and '' != beginTime and null != endTime and '' != endTime">
|
and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{beginTime} and #{endTime}
|
</if>
|
<if test="null != companyId and '' != orderNo and companyId !=1 ">
|
and a.companyId =#{companyId}
|
</if>
|
<if test="null != orderNo and '' != orderNo">
|
and a.orderNum like CONCAT('%', #{orderNo}, '%')
|
</if>
|
<if test="null != name and '' != name">
|
and b.nickName like CONCAT('%', #{name}, '%')
|
</if>
|
<if test="null != phone and '' != phone">
|
and b.phone like CONCAT('%', #{phone}, '%')
|
</if>
|
) as aa where aa.thankYouFee != 0 order by aa.insertTime desc
|
</select>
|
|
</mapper>
|