wjli
2024-03-18 84fd23e5e865bd5529441a0c318809a00362f44c
xboot-modules/xboot-your/src/main/resources/mapper/SignCountMapper.xml
@@ -119,6 +119,62 @@
                AND send_date >= #{bo.sendDateStart}
            </if>
            <if test="bo.sendDateEnd != null and bo.sendDateEnd != ''">
                AND send_date &lt;= #{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 &lt;= #{bo.sendDateEnd}
            </if>
        </where>
@@ -132,6 +188,7 @@
        line ASC,
        send_date asc
    </select>
    <select id="signCountNew" resultType="cn.exrick.xboot.your.entity.OrderStatusCount">
        SELECT
        line,
@@ -147,9 +204,55 @@
        FROM
        t_sign
        <where>
            1=1
            1=1 AND
            car_name is not NULL
            <if test="bo.line != null and bo.line != ''" >
                AND  line = #{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 &lt;= #{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},'%')
@@ -182,9 +285,10 @@
    FROM
    t_sign
    <where>
        1=1
        1=1 AND
        car_name is not NULL
        <if test="bo.line != null and bo.line != ''" >
            AND  line = #{bo.line}
            AND  line like  CONCAT ('%', #{bo.line},'%')
        </if>
        <if test="bo.carName != null and bo.carName != ''" >
            AND car_name like  CONCAT ('%',#{bo.carName},'%')