智慧农业后台管理
zengh
2022-07-09 764f066d8d459b49da0bdafa8abbcb98672365ef
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.modules.sale.mapper.SaleMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="saleResultMap" type="org.springblade.modules.sale.entity.Sale">
        <result column="id" property="id"/>
        <result column="create_user" property="createUser"/>
        <result column="create_dept" property="createDept"/>
        <result column="create_time" property="createTime"/>
        <result column="update_user" property="updateUser"/>
        <result column="update_time" property="updateTime"/>
        <result column="status" property="status"/>
        <result column="is_deleted" property="isDeleted"/>
        <result column="strain_id" property="strainId"/>
        <result column="sale_time" property="saleTime"/>
        <result column="sale_num" property="saleNum"/>
        <result column="sale_destination" property="saleDestination"/>
        <result column="sale_destination1" property="saleDestination1"/>
        <result column="sale_price" property="salePrice"/>
    </resultMap>
 
 
    <select id="selectSalePage" resultMap="saleResultMap">
        select *
        from sys_sale
        where is_deleted = 0
    </select>
 
 
    <!--大屏销售每个月统计-->
    <select id="selctSaletCount" resultType="java.util.HashMap">
        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 ( sale_time ) = YEAR ( NOW( ) )
    </select>
 
    <!--统计今年和去年的销售总额-->
    <select id="selctSaletZ" resultType="java.util.HashMap" >
        SELECT
            IFNULL( SUM( sale_num * sale_price), 0 ) AS num
        FROM
            sys_sale
        WHERE
            YEAR ( sale_time ) = YEAR ( NOW( )-1 ) 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 ) )
    </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>
    <select id="selectMarketDistrict" resultType="java.util.HashMap" >
        SELECT
            IFNULL( SUM( sale_num ), 0 ) AS num,
            dis.`name`,
            dis.lat,
            dis.lng
        FROM
            sys_sale sale
            LEFT JOIN sys_district dis ON sale.sale_destination = dis.CODE
        WHERE
            YEAR ( sale_time ) = YEAR ( NOW( ) )
        GROUP BY
            dis.NAME,
            dis.lat,
            dis.lng
    </select>
 
</mapper>