智慧农业后台管理
zengh
2022-08-01 d95f6551e8214d69cd0fd511ec693641eb61ba16
src/main/java/org/springblade/modules/sale/mapper/SaleMapper.xml
@@ -23,6 +23,8 @@
        <result column="url" property="url"/>
        <result column="district" property="district"/>
        <result column="land_id" property="landId"/>
        <result column="city_name" property="cityName"/>
        <result column="district_name" property="countyName"/>
    </resultMap>
@@ -32,13 +34,19 @@
            user.real_name,
            strain.strain_name,
            strain.url,
            district.name as district
            district.name as district,
            region.city_name,
            region.district_name
        FROM
            sys_sale sale
        LEFT JOIN blade_user user on sale.create_user = user.id
        LEFT JOIN sys_strain strain on sale.strain_id = strain.id
        LEFT JOIN sys_district district on sale.sale_destination = district.code
        LEFT JOIN blade_region region on sale.county = region.district_code
        WHERE
        <if test="sale.strainId !=null and sale.strainId != '' ">
            sale.strain_id = #{sale.strainId} AND
        </if>
            sale.is_deleted = 0
    </select>
@@ -60,8 +68,12 @@
            IFNULL(SUM( CASE WHEN MONTH ( s.sale_time ) = 12 THEN s.sale_num * sale_price END ),0) AS '12'
        FROM
            sys_sale AS s
        LEFT JOIN sys_land sl ON sl.id = s.land_id
        WHERE
            YEAR ( sale_time ) = YEAR ( NOW( ) )
        <if test="farmId != null and farmId != ''">
            and sl.farm_id = #{farmId}
        </if>
    </select>
    <!--统计今年和去年的销售总额-->
@@ -69,37 +81,43 @@
        SELECT
            IFNULL( SUM( sale_num * sale_price), 0 ) AS num
        FROM
            sys_sale
            sys_sale ss
        LEFT JOIN sys_land sl ON sl.id = ss.land_id
        WHERE
            YEAR ( sale_time ) = YEAR ( NOW( )-1 ) UNION ALL
            YEAR ( sale_time ) = YEAR ( NOW( )-1 )
        <if test="sale.farmId != null and sale.farmId != ''">
            and sl.farm_id = #{sale.farmId}
        </if>
            UNION ALL
        SELECT
            IFNULL( SUM( sale_num * sale_price ), 0 ) AS num
        FROM
            sys_sale
            sys_sale ss
        LEFT JOIN sys_land sl ON sl.id = ss.land_id
        WHERE
            YEAR ( sale_time ) = YEAR ( date_sub( now( ), INTERVAL 1 YEAR ) )
        <if test="sale.farmId != null and sale.farmId != ''">
            and sl.farm_id = #{sale.farmId}
        </if>
    </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 IFNULL( SUM( sale_num ), 0 ) AS num FROM sys_sale ss
        left join sys_land sl on sl.id = ss.land_id
        WHERE YEAR ( ss.sale_time ) = YEAR ( NOW())
        and sl.farm_id = #{sale.farmId}
        UNION ALL
        SELECT IFNULL(SUM(sale_num), 0) AS num FROM sys_sale ss
        left join sys_land sl on sl.id = ss.land_id
        WHERE YEAR ( ss.sale_time ) = YEAR ( date_sub( now( ), INTERVAL 1 YEAR ) )
        and sl.farm_id = #{sale.farmId}
        UNION ALL
        SELECT IFNULL( SUM( sale_num ), 0 ) AS num FROM sys_sale ss
        left join sys_land sl on sl.id = ss.land_id
        WHERE DATE_FORMAT( ss.sale_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ), '%Y%m' )
        and sl.farm_id = #{sale.farmId}
    </select>
    <select id="selectMarketDistrict" resultType="java.util.HashMap" >
        SELECT
            IFNULL( SUM( sale_num ), 0 ) AS num,
@@ -109,8 +127,12 @@
        FROM
            sys_sale sale
            LEFT JOIN sys_district dis ON sale.sale_destination = dis.CODE
            LEFT JOIN sys_land sl ON sl.id = sale.land_id
        WHERE
            YEAR ( sale_time ) = YEAR ( NOW( ) )
        <if test="farmId != null and farmId != ''">
            and sl.farm_id = #{farmId}
        </if>
        GROUP BY
            dis.NAME,
            dis.lat,