wjli
2023-05-16 5c12c5a4490898f20259e9de83767c4dadff10ba
xboot-modules/xboot-your/src/main/resources/mapper/SignCountMapper.xml
@@ -80,22 +80,22 @@
    <select id="signCount" resultType="cn.exrick.xboot.your.entity.OrderStatusCount">
        SELECT
        DATE_FORMAT(send_date,'%Y-%m-%d')  as  sendDate,
        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',
        CONCAT_WS('',YEAR(send_date),'年',MONTH(send_date),'月')sendMonth,
        amount,
        abnormal_sign as abnormalSign,
        not_sign_count as  notSignCount,
        sign_count as signCount ,
        CONCAT_WS( '',ROUND(proportion,0), '%') as proportion,
        car_name,
        line,
        batch,
        user_name as userName
        user_name as userName,
        line
        FROM
        t_sign
        <where>
@@ -123,18 +123,190 @@
            </if>
        </where>
        GROUP BY
         send_date,
        car_name,
        line,
        send_date,
        batch,
        amount,
        abnormal_sign,
        not_sign_count,
        sign_count,
        proportion,
        user_name
        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>
        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
            <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 &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
            <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 &lt;= #{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
        <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 &lt;= #{bo.sendDateEnd}
        </if>
    </where>
    GROUP BY
    car_name
    </select>
</mapper>