智慧农业后台管理
zengh
2022-07-06 99d5e944c228fc07ace318427a25d340b16612ac
src/main/java/org/springblade/modules/sale/mapper/SaleMapper.xml
@@ -30,24 +30,60 @@
    <!--大屏销售每个月统计-->
    <select id="selctSaletCount" resultType="java.util.HashMap">
        SELECT SUM(CASE WHEN MONTH ( s.sale_time ) = 1 THEN s.sale_price END ) AS '1', SUM(CASE WHEN MONTH ( s.sale_time ) = 2 THEN s.sale_price END ) AS '2', SUM(CASE WHEN MONTH ( s.sale_time ) = 3 THEN s.sale_price END ) AS '3', SUM(CASE WHEN MONTH ( s.sale_time ) = 4 THEN s.sale_price END ) AS '4', SUM(CASE WHEN MONTH ( s.sale_time ) = 5 THEN s.sale_price END ) AS '5', SUM(CASE WHEN MONTH ( s.sale_time ) = 6 THEN s.sale_price END ) AS '6', SUM(CASE WHEN MONTH ( s.sale_time ) = 7 THEN s.sale_price END ) AS '7', SUM(CASE WHEN MONTH ( s.sale_time ) = 8 THEN s.sale_price END ) AS '8', SUM(CASE WHEN MONTH ( s.sale_time ) = 9 THEN s.sale_price END ) AS '9', SUM(CASE WHEN MONTH ( s.sale_time ) = 10 THEN s.sale_price END ) AS '10', SUM(CASE WHEN MONTH ( s.sale_time ) = 11 THEN s.sale_price END ) AS '11', SUM(CASE WHEN MONTH ( s.sale_time ) = 12 THEN s.sale_price END ) AS '12'
        FROM sys_sale AS s
        SELECT
            IFNULL(SUM( CASE WHEN MONTH ( s.sale_time ) = 1 THEN s.sale_num * sale_price END ),0) AS '1',
            IFNULL(SUM( CASE WHEN MONTH ( s.sale_time ) = 2 THEN s.sale_num * sale_price END ),0) AS '2',
            IFNULL(SUM( CASE WHEN MONTH ( s.sale_time ) = 3 THEN s.sale_num * sale_price END ),0) AS '3',
            IFNULL(SUM( CASE WHEN MONTH ( s.sale_time ) = 4 THEN s.sale_num * sale_price END ),0) AS '4',
            IFNULL(SUM( CASE WHEN MONTH ( s.sale_time ) = 5 THEN s.sale_num * sale_price END ),0) AS '5',
            IFNULL(SUM( CASE WHEN MONTH ( s.sale_time ) = 6 THEN s.sale_num * sale_price END ),0) AS '6',
            IFNULL(SUM( CASE WHEN MONTH ( s.sale_time ) = 7 THEN s.sale_num * sale_price END ),0) AS '7',
            IFNULL(SUM( CASE WHEN MONTH ( s.sale_time ) = 8 THEN s.sale_num * sale_price END ),0) AS '8',
            IFNULL(SUM( CASE WHEN MONTH ( s.sale_time ) = 9 THEN s.sale_num * sale_price END ),0) AS '9',
            IFNULL(SUM( CASE WHEN MONTH ( s.sale_time ) = 10 THEN s.sale_num * sale_price END ),0) AS '10',
            IFNULL(SUM( CASE WHEN MONTH ( s.sale_time ) = 11 THEN s.sale_num * sale_price END ),0) AS '11',
            IFNULL(SUM( CASE WHEN MONTH ( s.sale_time ) = 12 THEN s.sale_num * sale_price END ),0) AS '12'
        FROM
            sys_sale AS s
        WHERE
            YEAR ( s.sale_time ) = #{year}
            YEAR ( sale_time ) = YEAR ( NOW( ) )
    </select>
    <!--统计今年和去年的销售总额-->
    <select id="selctSaletZ" resultType="java.util.HashMap" >
        SELECT IFNULL(SUM(sale_num), 0) AS num
        FROM sys_sale
        SELECT
            IFNULL( SUM( sale_num * sale_price), 0 ) AS num
        FROM
            sys_sale
        WHERE
            YEAR ( sale_time ) = YEAR ( NOW( ) )
        UNION ALL
        SELECT IFNULL(SUM(sale_num), 0) AS num
        FROM sys_sale
            YEAR ( sale_time ) = YEAR ( NOW( ) ) UNION ALL
        SELECT
            IFNULL( SUM( sale_num * sale_price ), 0 ) AS num
        FROM
            sys_sale
        WHERE
            YEAR ( sale_time ) = YEAR ( date_sub( now( )
            , INTERVAL 1 YEAR ) );
            YEAR ( sale_time ) = YEAR ( date_sub( now( ), INTERVAL 1 YEAR ) )
    </select>
    <!--统计市场流通/去年流通量/本月流通量-->
    <select id="selectMarketCirculate" resultType="java.util.HashMap" >
        SELECT
            IFNULL( SUM( sale_num ), 0 ) AS num
        FROM
            sys_sale
        WHERE
            YEAR ( sale_time ) = YEAR ( NOW( ) ) UNION ALL
        SELECT
            IFNULL( SUM( sale_num ), 0 ) AS num
        FROM
            sys_sale
        WHERE
            YEAR ( sale_time ) = YEAR ( date_sub( now( ), INTERVAL 1 YEAR ) ) UNION ALL
        SELECT
            IFNULL( SUM( sale_num ), 0 ) AS num
        FROM
            sys_sale
        WHERE
            DATE_FORMAT( sale_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
    </select>
</mapper>