wjli
2023-05-11 a067fdbf6b1374a1402096c722257575916eab99
xboot-modules/xboot-your/src/main/resources/mapper/SignCountMapper.xml
@@ -132,4 +132,80 @@
        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 = #{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 = #{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>