<?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="cn.exrick.xboot.your.mapper.SignCountMapper">
|
<select id="signCounts" resultType="cn.exrick.xboot.your.entity.OrderStatusCount">
|
|
SELECT
|
<if test="bo.StatisticalType!=null and bo.StatisticalType !='' and bo.StatisticalType == '1'.toString()">
|
DATE(DATE_FORMAT(send_date,'%Y-%m-%d') ) sendDate,
|
amount,
|
abnormal_sign as abnormalSign,
|
not_sign_count as notSignCount,
|
sign_count as signCount ,
|
CONCAT_WS( '',ROUND(proportion,0), '%') as proportion,
|
</if>
|
<if test="bo.StatisticalType!=null and bo.StatisticalType !='' and bo.StatisticalType == '2'.toString()">
|
WEEK(DATE_FORMAT(DATE_SUB(send_date,INTERVAL 1 DAY),'%Y-%m-%d')) sendDate,
|
</if>
|
<if test="bo.StatisticalType!=null and bo.StatisticalType !='' and bo.StatisticalType == '3'.toString()">
|
CONCAT_WS('',YEAR(send_date),'年',MONTH(DATE_FORMAT(send_date,'%Y-%m-%d')),'月')sendDate,
|
sum(amount),
|
sum(abnormal_sign) AS abnormalSign,
|
sum(not_sign_count) AS notSignCount,
|
sum(sign_count )AS signCount,
|
ROUND(AVG(proportion),0) as proportionInt,
|
</if>
|
<if test="bo.StatisticalType!=null and bo.StatisticalType !='' and bo.StatisticalType == '4'.toString()">
|
YEAR(DATE_FORMAT(DATE_SUB(send_date,INTERVAL 1 DAY),'%Y-%m-%d')) sendDate,
|
</if>
|
car_name,
|
(CASE `batch` WHEN '01段' THEN batch ELSE 0 END) as 'oneBatch',
|
(CASE `batch` WHEN '02段' THEN batch ELSE 0 END) as 'twoBatch',
|
(CASE `batch` WHEN '03段' THEN batch ELSE 0 END) as 'threeBatch',
|
(CASE `batch` WHEN '04段' THEN batch ELSE 0 END) as 'fourBatch',
|
(CASE `batch` WHEN '05段' THEN batch ELSE 0 END) as 'fiveBatch',
|
line,
|
batch,
|
user_name as userName
|
FROM
|
t_sign
|
<where>
|
1=1
|
<if test="bo.line != null and bo.line != ''" >
|
AND line = #{bo.line}
|
</if>
|
<if test="bo.carName != null and bo.carName != ''" >
|
AND car_name like CONCAT ('%',#{bo.carName},'%')
|
</if>
|
<if test="bo.batch != null and bo.batch != ''" >
|
AND batch = #{bo.batch}
|
</if>
|
<if test="bo.userName != null and bo.userName != ''" >
|
AND user_name = #{bo.userName}
|
</if>
|
<if test="bo.sendDate != null and bo.sendDate != ''">
|
AND DATE_FORMAT(send_date,'%Y-%m-%d') = #{bo.sendDate}
|
</if>
|
<if test="bo.sendDateStart != null and bo.sendDateStart != ''">
|
AND send_date >= #{bo.sendDateStart}
|
</if>
|
<if test="bo.sendDateEnd != null and bo.sendDateEnd != ''">
|
AND send_date <= #{bo.sendDateEnd}
|
</if>
|
</where>
|
GROUP BY
|
send_date,
|
car_name,
|
line,
|
batch,
|
amount,
|
abnormal_sign,
|
not_sign_count,
|
sign_count,
|
proportion,
|
user_name
|
ORDER BY
|
line ASC,
|
send_date asc
|
</select>
|
|
<select id="signCount" resultType="cn.exrick.xboot.your.entity.OrderStatusCount">
|
|
SELECT
|
CONCAT_WS('',YEAR(send_date),'年',MONTH(send_date),'月')sendMonth,
|
DATE(DATE_FORMAT(send_date,'%Y-%m-%d') ) sendDate,
|
car_name,
|
batch,
|
SUM( amount ) amount,
|
SUM( abnormal_sign ) as abnormalSign,
|
SUM( not_sign_count ) as notSignCount,
|
SUM( sign_count ) as signCount ,
|
CONCAT_WS( '',( FORMAT((SUM( sign_count ) / SUM( amount )),4 ) *100), '%') as proportion,
|
(CASE `batch` WHEN '01段' THEN batch ELSE 0 END) as 'oneBatch',
|
(CASE `batch` WHEN '02段' THEN batch ELSE 0 END) as 'twoBatch',
|
(CASE `batch` WHEN '03段' THEN batch ELSE 0 END) as 'threeBatch',
|
(CASE `batch` WHEN '04段' THEN batch ELSE 0 END) as 'fourBatch',
|
(CASE `batch` WHEN '05段' THEN batch ELSE 0 END) as 'fiveBatch',
|
user_name as userName,
|
line
|
FROM
|
t_sign
|
<where>
|
1=1
|
<if test="bo.line != null and bo.line != ''" >
|
AND line = #{bo.line}
|
</if>
|
<if test="bo.carName != null and bo.carName != ''" >
|
AND car_name like CONCAT ('%',#{bo.carName},'%')
|
</if>
|
<if test="bo.batch != null and bo.batch != ''" >
|
AND batch = #{bo.batch}
|
</if>
|
<if test="bo.userName != null and bo.userName != ''" >
|
AND user_name = #{bo.userName}
|
</if>
|
<if test="bo.sendDate != null and bo.sendDate != ''">
|
AND DATE_FORMAT(send_date,'%Y-%m-%d') = #{bo.sendDate}
|
</if>
|
<if test="bo.sendDateStart != null and bo.sendDateStart != ''">
|
AND send_date >= #{bo.sendDateStart}
|
</if>
|
<if test="bo.sendDateEnd != null and bo.sendDateEnd != ''">
|
AND send_date <= #{bo.sendDateEnd} + ' 23:59:59'
|
</if>
|
</where>
|
GROUP BY
|
car_name,
|
send_date,
|
batch,
|
user_name,
|
line
|
ORDER BY
|
line ASC,
|
send_date asc
|
</select>
|
|
<select id="signCount" resultType="cn.exrick.xboot.your.entity.OrderStatusCount">
|
|
SELECT
|
CONCAT_WS('',YEAR(send_date),'年',MONTH(send_date),'月')sendMonth,
|
DATE(DATE_FORMAT(send_date,'%Y-%m-%d') ) sendDate,
|
car_name,
|
batch,
|
SUM( amount ) amount,
|
SUM( abnormal_sign ) as abnormalSign,
|
SUM( not_sign_count ) as notSignCount,
|
SUM( sign_count ) as signCount ,
|
CONCAT_WS( '',( FORMAT((SUM( sign_count ) / SUM( amount )),4 ) *100), '%') as proportion,
|
(CASE `batch` WHEN '01段' THEN batch ELSE 0 END) as 'oneBatch',
|
(CASE `batch` WHEN '02段' THEN batch ELSE 0 END) as 'twoBatch',
|
(CASE `batch` WHEN '03段' THEN batch ELSE 0 END) as 'threeBatch',
|
(CASE `batch` WHEN '04段' THEN batch ELSE 0 END) as 'fourBatch',
|
(CASE `batch` WHEN '05段' THEN batch ELSE 0 END) as 'fiveBatch',
|
user_name as userName,
|
line
|
FROM
|
t_sign
|
<where>
|
1=1
|
<if test="bo.line != null and bo.line != ''" >
|
AND line = #{bo.line}
|
</if>
|
<if test="bo.carName != null and bo.carName != ''" >
|
AND car_name like CONCAT ('%',#{bo.carName},'%')
|
</if>
|
<if test="bo.batch != null and bo.batch != ''" >
|
AND batch = #{bo.batch}
|
</if>
|
<if test="bo.userName != null and bo.userName != ''" >
|
AND user_name = #{bo.userName}
|
</if>
|
<if test="bo.sendDate != null and bo.sendDate != ''">
|
AND DATE_FORMAT(send_date,'%Y-%m-%d') = #{bo.sendDate}
|
</if>
|
<if test="bo.sendDateStart != null and bo.sendDateStart != ''">
|
AND send_date >= #{bo.sendDateStart}
|
</if>
|
<if test="bo.sendDateEnd != null and bo.sendDateEnd != ''">
|
AND send_date <= #{bo.sendDateEnd}
|
</if>
|
</where>
|
GROUP BY
|
car_name,
|
send_date,
|
batch,
|
user_name,
|
line
|
ORDER BY
|
line ASC,
|
send_date asc
|
</select>
|
|
<select id="signCountNew" resultType="cn.exrick.xboot.your.entity.OrderStatusCount">
|
SELECT
|
line,
|
user_name as userName,
|
car_name,SUM(sign_count) as signCount,
|
SUM(amount) as amount,
|
CONCAT_WS( '',( FORMAT((SUM( sign_count ) / SUM( amount )),4 ) *100), '%') as proportion,
|
(CASE `batch` WHEN '01段' THEN batch ELSE 0 END) as 'oneBatch',
|
(CASE `batch` WHEN '02段' THEN batch ELSE 0 END) as 'twoBatch',
|
(CASE `batch` WHEN '03段' THEN batch ELSE 0 END) as 'threeBatch',
|
(CASE `batch` WHEN '04段' THEN batch ELSE 0 END) as 'fourBatch',
|
(CASE `batch` WHEN '05段' THEN batch ELSE 0 END) as 'fiveBatch'
|
FROM
|
t_sign
|
<where>
|
1=1 AND
|
car_name is not NULL
|
<if test="bo.line != null and bo.line != ''" >
|
AND line like CONCAT ('%', #{bo.line},'%')
|
</if>
|
<if test="bo.carName != null and bo.carName != ''" >
|
AND car_name like CONCAT ('%',#{bo.carName},'%')
|
</if>
|
<if test="bo.batch != null and bo.batch != ''" >
|
AND batch = #{bo.batch}
|
</if>
|
<if test="bo.userName != null and bo.userName != ''" >
|
AND user_name = #{bo.userName}
|
</if>
|
<if test="bo.sendDate != null and bo.sendDate != ''">
|
AND DATE_FORMAT(send_date,'%Y-%m-%d') = #{bo.sendDate}
|
</if>
|
<if test="bo.sendDateStart != null and bo.sendDateStart != ''">
|
AND send_date >= #{bo.sendDateStart}
|
</if>
|
<if test="bo.sendDateEnd != null and bo.sendDateEnd != ''">
|
AND send_date <= #{bo.sendDateEnd}
|
</if>
|
</where>
|
GROUP BY line,
|
user_name,
|
car_name,
|
batch
|
</select>
|
<select id="signCount2New" resultType="cn.exrick.xboot.your.entity.OrderStatusCount">
|
SELECT
|
line,
|
user_name as userName,
|
car_name,SUM(sign_count) as signCount,
|
SUM(amount) as amount,
|
SUM(not_sign_count) as not_sign_count,
|
CONCAT_WS( '',( FORMAT((SUM( sign_count ) / SUM( amount )),4 ) *100), '%') as proportion,
|
(CASE `batch` WHEN '01段' THEN batch ELSE 0 END) as 'oneBatch',
|
(CASE `batch` WHEN '02段' THEN batch ELSE 0 END) as 'twoBatch',
|
(CASE `batch` WHEN '03段' THEN batch ELSE 0 END) as 'threeBatch',
|
(CASE `batch` WHEN '04段' THEN batch ELSE 0 END) as 'fourBatch',
|
(CASE `batch` WHEN '05段' THEN batch ELSE 0 END) as 'fiveBatch'
|
FROM
|
t_sign
|
<where>
|
1=1 AND
|
car_name is not NULL
|
<if test="bo.line != null and bo.line != ''" >
|
AND line like CONCAT ('%', #{bo.line},'%')
|
</if>
|
<if test="bo.carName != null and bo.carName != ''" >
|
AND car_name like CONCAT ('%',#{bo.carName},'%')
|
</if>
|
<if test="bo.batch != null and bo.batch != ''" >
|
AND batch = #{bo.batch}
|
</if>
|
<if test="bo.userName != null and bo.userName != ''" >
|
AND user_name = #{bo.userName}
|
</if>
|
<if test="bo.sendDate != null and bo.sendDate != ''">
|
AND DATE_FORMAT(send_date,'%Y-%m-%d') = #{bo.sendDate}
|
</if>
|
<if test="bo.sendDateStart != null and bo.sendDateStart != ''">
|
AND send_date >= #{bo.sendDateStart}
|
</if>
|
<if test="bo.sendDateEnd != null and bo.sendDateEnd != ''">
|
AND send_date <= #{bo.sendDateEnd}
|
</if>
|
</where>
|
GROUP BY line,
|
user_name,
|
car_name,
|
batch
|
</select>
|
<select id="signCountNewTotal" resultType="cn.exrick.xboot.your.entity.OrderStatusCount">
|
SELECT
|
car_name,
|
CONCAT_WS( '',( FORMAT((SUM( sign_count ) / SUM( amount )),4 ) *100), '%') as proportion
|
FROM
|
t_sign
|
<where>
|
1=1 AND
|
car_name is not NULL
|
<if test="bo.line != null and bo.line != ''" >
|
AND line like CONCAT ('%', #{bo.line},'%')
|
</if>
|
<if test="bo.carName != null and bo.carName != ''" >
|
AND car_name like CONCAT ('%',#{bo.carName},'%')
|
</if>
|
<if test="bo.batch != null and bo.batch != ''" >
|
AND batch = #{bo.batch}
|
</if>
|
<if test="bo.userName != null and bo.userName != ''" >
|
AND user_name = #{bo.userName}
|
</if>
|
<if test="bo.sendDate != null and bo.sendDate != ''">
|
AND DATE_FORMAT(send_date,'%Y-%m-%d') = #{bo.sendDate}
|
</if>
|
<if test="bo.sendDateStart != null and bo.sendDateStart != ''">
|
AND send_date >= #{bo.sendDateStart}
|
</if>
|
<if test="bo.sendDateEnd != null and bo.sendDateEnd != ''">
|
AND send_date <= #{bo.sendDateEnd}
|
</if>
|
</where>
|
GROUP BY
|
car_name
|
</select>
|
</mapper>
|