xuhy
2023-04-07 c9bcbceb7112358c780688ffbd0ebb3ef528e65e
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
@@ -112,7 +112,7 @@
        ORDER BY o.createTime
    </select>
    <select id="getDataStatisticsByYear" resultType="com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp">
        SELECT createTime AS `month`,COUNT(id) AS orderCount
        SELECT date_format(createTime, '%m') AS `month`,COUNT(id) AS orderCount
        FROM t_order
        <where>
            <if test="agentId != null">
@@ -122,7 +122,7 @@
                AND date_format(createTime, '%Y') LIKE concat('',#{yearDate},'%')
            </if>
        </where>
        GROUP BY date_format(createTime, '%Y-%m')
        GROUP BY `month`
    </select>
    <select id="getDataStatisticsOrderCount" resultType="com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp">
        SELECT date_format(o.createTime, '%Y-%m') AS monthTime,COUNT(o.id) AS amount,d.name AS userName
@@ -135,10 +135,11 @@
            <if test="monthDate != null and monthDate != ''">
                AND date_format(o.createTime, '%Y-%m') LIKE concat('',#{monthDate},'%')
            </if>
            AND (o.`state` = 108 OR o.`state` = 109)
            AND (o.`state` = 107 OR o.`state` = 108 OR o.`state` = 109)
        </where>
        GROUP BY monthTime,userName
        ORDER BY amount DESC
        LIMIT 10
    </select>
    <select id="getDataStatisticsCount" resultType="java.lang.Integer">
        SELECT COUNT(id)
@@ -170,7 +171,8 @@
                OR `state` = 104
                OR `state` = 105
                OR `state` = 106
                OR `state` = 107
                OR `state` = 201
                OR `state` = 401
            )
        </where>
    </select>
@@ -190,7 +192,8 @@
            OR o.`state` = 104
            OR o.`state` = 105
            OR o.`state` = 106
            OR o.`state` = 107
            OR o.`state` = 201
            OR o.`state` = 401
            )
        </where>
    </select>
@@ -201,10 +204,193 @@
            <if test="agentId != null">
                AND agentId = #{agentId}
            </if>
            <if test="type != null and type == 1">
                AND `state` = 101
            </if>
            <if test="type != null and type == 2">
                AND (`state` = 102
                OR `state` = 103
                OR `state` = 104
                OR `state` = 105
                OR `state` = 106
                OR `state` = 201
                OR `state` = 401
                )
            </if>
            <if test="type != null and type == 3">
                AND (`state` = 107 OR `state` = 108 OR `state` = 109)
            </if>
            <if test="type != null and type == 4">
                AND `state` = 301
            </if>
            <if test="localDate != null">
                AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
            </if>
        </where>
    </select>
    <select id="getDataStatisticsCountByIds" resultType="java.lang.Integer">
        SELECT COUNT(id)
        FROM t_order
        <where>
            <if test="ids != null and ids.size() > 0">
                AND agentId IN
                <foreach collection="ids" close=")" open="(" item="id" separator=",">
                    #{id}
                </foreach>
            </if>
            <if test="type != null">
                AND `state` = #{type}
            </if>
            <if test="localDate != null">
                AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
            </if>
        </where>
    </select>
    <select id="getDataStatisticsServerCountByIds" resultType="java.lang.Integer">
        SELECT COUNT(id)
        FROM t_order
        <where>
            <if test="ids != null and ids.size() > 0">
                AND agentId IN
                <foreach collection="ids" close=")" open="(" item="id" separator=",">
                    #{id}
                </foreach>
            </if>
            <if test="localDate != null">
                AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
            </if>
            AND (`state` = 102
            OR `state` = 103
            OR `state` = 104
            OR `state` = 105
            OR `state` = 106
            OR `state` = 201
            OR `state` = 401
            )
        </where>
    </select>
    <select id="getDataStatisticsServerListByIds" resultType="com.stylefeng.guns.modular.system.controller.resp.TOrderServerResp">
        select <include refid="Base_Column_Server_Order"></include>
        FROM t_order o
        LEFT JOIN t_driver d ON o.driverId = d.id
        <where>
            <if test="ids != null and ids.size() > 0">
                AND o.agentId IN
                <foreach collection="ids" close=")" open="(" item="id" separator=",">
                    #{id}
                </foreach>
            </if>
            <if test="localDate != null">
                AND date_format(o.createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
            </if>
            AND (o.`state` = 102
            OR o.`state` = 103
            OR o.`state` = 104
            OR o.`state` = 105
            OR o.`state` = 106
            OR o.`state` = 201
            OR o.`state` = 401
            )
        </where>
    </select>
    <select id="getDataStatisticsAllListByIds" resultType="com.stylefeng.guns.modular.system.model.TOrder">
        select <include refid="Base_Column_List"></include>
        FROM t_order
        <where>
            <if test="ids != null and ids.size() > 0">
                AND agentId IN
                <foreach collection="ids" close=")" open="(" item="id" separator=",">
                    #{id}
                </foreach>
            </if>
            <if test="type != null and type == 1">
                AND `state` = 101
            </if>
            <if test="type != null and type == 2">
                AND (`state` = 102
                OR `state` = 103
                OR `state` = 104
                OR `state` = 105
                OR `state` = 106
                OR `state` = 201
                OR `state` = 401
                )
            </if>
            <if test="type != null and type == 3">
                AND (`state` = 107 OR `state` = 108 OR `state` = 109)
            </if>
            <if test="type != null and type == 4">
                AND `state` = 301
            </if>
            <if test="localDate != null">
                AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%')
            </if>
        </where>
    </select>
    <select id="getDataStatisticsByYearByIds" resultType="com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp">
        SELECT date_format(createTime, '%m') AS `month`,COUNT(id) AS orderCount
        FROM t_order
        <where>
            <if test="ids != null and ids.size() > 0">
                AND agentId IN
                <foreach collection="ids" close=")" open="(" item="id" separator=",">
                    #{id}
                </foreach>
            </if>
            <if test="yearDate != null and yearDate != ''">
                AND date_format(createTime, '%Y') LIKE concat('',#{yearDate},'%')
            </if>
        </where>
        GROUP BY `month`
    </select>
    <select id="getDataStatisticsOrderCountByIds" resultType="com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp">
        SELECT date_format(o.createTime, '%Y-%m') AS monthTime,COUNT(o.id) AS amount,d.name AS userName
        FROM t_order o
        LEFT JOIN t_driver d ON o.driverId = d.id
        <where>
            <if test="ids != null and ids.size() > 0">
                AND o.agentId IN
                <foreach collection="ids" close=")" open="(" item="id" separator=",">
                    #{id}
                </foreach>
            </if>
            <if test="monthDate != null and monthDate != ''">
                AND date_format(o.createTime, '%Y-%m') LIKE concat('',#{monthDate},'%')
            </if>
            AND (o.`state` = 107 OR o.`state` = 108 OR o.`state` = 109)
        </where>
        GROUP BY monthTime,userName
        ORDER BY amount DESC
        LIMIT 10
    </select>
    <select id="getStatisticsOrderByMonth" resultType="com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp">
        SELECT date_format(createTime, '%d') AS `month`,COUNT(id) AS orderCount
        FROM t_order
        <where>
            <if test="agentId != null">
                AND agentId = #{agentId}
            </if>
            <if test="dayDate != null and dayDate != ''">
                AND date_format(createTime, '%Y-%m') LIKE concat('',#{dayDate},'%')
            </if>
        </where>
        GROUP BY `month`
    </select>
    <select id="getStatisticsOrderByMonthIds" resultType="com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp">
        SELECT date_format(createTime, '%d') AS `month`,COUNT(id) AS orderCount
        FROM t_order
        <where>
            <if test="ids != null and ids.size() > 0">
                AND agentId IN
                <foreach collection="ids" close=")" open="(" item="id" separator=",">
                    #{id}
                </foreach>
            </if>
            <if test="dayDate != null and dayDate != ''">
                AND date_format(createTime, '%Y-%m') LIKE concat('',#{dayDate},'%')
            </if>
        </where>
        GROUP BY `month`
    </select>
</mapper>