| | |
| | | <mapper namespace="org.springblade.modules.sale.mapper.SaleMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="saleResultMap" type="org.springblade.modules.sale.entity.Sale"> |
| | | <resultMap id="saleResultMap" type="org.springblade.modules.sale.vo.SaleVO"> |
| | | <result column="id" property="id"/> |
| | | <result column="create_user" property="createUser"/> |
| | | <result column="create_dept" property="createDept"/> |
| | |
| | | <result column="sale_destination" property="saleDestination"/> |
| | | <result column="sale_destination1" property="saleDestination1"/> |
| | | <result column="sale_price" property="salePrice"/> |
| | | <result column="real_name" property="realName"/> |
| | | <result column="strain_name" property="strainName"/> |
| | | <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> |
| | | |
| | | |
| | | <select id="selectSalePage" resultMap="saleResultMap"> |
| | | select * |
| | | from sys_sale |
| | | where is_deleted = 0 |
| | | <!-- SELECT--> |
| | | <!-- sale.*,--> |
| | | <!-- user.real_name,--> |
| | | <!-- strain.strain_name,--> |
| | | <!-- strain.url,--> |
| | | <!-- district.name as district,--> |
| | | <!-- region.city_name,--> |
| | | <!-- region.district_name,--> |
| | | <!-- CASE WHEN sale.type = 1 THEN--> |
| | | <!-- (--> |
| | | <!-- SELECT m.machining_type FROM sys_process_inv inv--> |
| | | <!-- LEFT JOIN sys_machining m ON m.id = inv.product_id--> |
| | | <!-- WHERE sale.prod_id = inv.id--> |
| | | <!-- )--> |
| | | <!-- ELSE--> |
| | | <!-- (--> |
| | | <!-- SELECT strain.strain_name FROM sys_farm_product_stock sfps--> |
| | | <!-- LEFT JOIN sys_strain strain ON strain.id = sfps.strain_id--> |
| | | <!-- WHERE sale.prod_id = sfps.id--> |
| | | <!-- )--> |
| | | <!-- END AS proName--> |
| | | <!-- 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--> |
| | | <!-- LEFT JOIN sys_land land ON land.id = sale.land_id--> |
| | | <!-- WHERE--> |
| | | <!-- <if test="sale.strainId !=null and sale.strainId != '' ">--> |
| | | <!-- sale.strain_id = #{sale.strainId} AND--> |
| | | <!-- </if>--> |
| | | <!-- <if test="sale.farmId != null and sale.farmId !=''">--> |
| | | <!-- land.farm_id = #{sale.farmId} AND--> |
| | | <!-- </if>--> |
| | | <!-- sale.is_deleted = 0 ORDER BY sale.create_time DESC--> |
| | | |
| | | SELECT |
| | | sale.*, |
| | | USER.real_name, |
| | | strain.strain_name, |
| | | mach.machining_type AS proName, |
| | | strain.url, |
| | | 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 |
| | | LEFT JOIN sys_land land ON land.id = sale.land_id |
| | | LEFT JOIN sys_process_inv inv ON inv.id = sale.prod_id |
| | | LEFT JOIN sys_machining mach ON mach.id = inv.product_id |
| | | WHERE |
| | | 1 = 1 |
| | | <if test="sale.farmId != null and sale.farmId !=''"> |
| | | AND (land.farm_id = #{sale.farmId} OR inv.fps_id = #{sale.farmId}) |
| | | </if> |
| | | <if test="sale.type != null and sale.type !='' "> |
| | | AND sale.type = #{sale.type} |
| | | </if> |
| | | <if test="sale.kind != null and sale.kind !='' "> |
| | | AND (inv.product_id = #{sale.kind} OR sale.strain_id = #{sale.kind}) |
| | | </if> |
| | | AND sale.is_deleted = 0 |
| | | ORDER BY |
| | | sale.create_time DESC |
| | | |
| | | </select> |
| | | |
| | | |
| | | <!--大屏销售每个月统计--> |
| | | <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 |
| | | LEFT JOIN sys_land sl ON sl.id = s.land_id |
| | | WHERE |
| | | YEAR ( s.sale_time ) = #{year} |
| | | YEAR ( sale_time ) = YEAR ( NOW( ) ) |
| | | <if test="farmId != null and farmId != ''"> |
| | | and sl.farm_id = #{farmId} |
| | | </if> |
| | | </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 ss |
| | | LEFT JOIN sys_land sl ON sl.id = ss.land_id |
| | | WHERE |
| | | YEAR ( sale_time ) = YEAR ( NOW( ) ) |
| | | UNION ALL |
| | | SELECT IFNULL(SUM(sale_num), 0) AS num |
| | | FROM sys_sale |
| | | 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 ss |
| | | LEFT JOIN sys_land sl ON sl.id = ss.land_id |
| | | WHERE |
| | | YEAR ( sale_time ) = YEAR ( date_sub( now( ) |
| | | , INTERVAL 1 YEAR ) ); |
| | | 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 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, |
| | | dis.`name`, |
| | | dis.lat, |
| | | dis.lng |
| | | 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 |
| | | LEFT JOIN sys_process_inv inv ON inv.id = sale.prod_id |
| | | WHERE 1 = 1 AND sale.is_deleted = 0 |
| | | <if test="startTime != null and startTime != ''"> |
| | | and sale_time >= #{startTime} |
| | | </if> |
| | | <if test="endTime != null and endTime != ''"> |
| | | and sale_time <= #{endTime} |
| | | </if> |
| | | <if test="startTime == null and endTime == null "> |
| | | and YEAR ( sale_time ) = YEAR ( NOW( ) ) |
| | | </if> |
| | | <if test="farmId != null and farmId != ''"> |
| | | and (sl.farm_id = #{farmId} or inv.fps_id = #{farmId}) |
| | | </if> |
| | | GROUP BY |
| | | dis.NAME, |
| | | dis.lat, |
| | | dis.lng |
| | | </select> |
| | | |
| | | </mapper> |