|
@@ -0,0 +1,74 @@
|
|
|
+<?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="cn.cslg.pas.mapper.PatentMarketDataMapper">
|
|
|
+
|
|
|
+ <resultMap id="queryByDateMap" type="cn.cslg.pas.common.model.vo.ProductMarketDataTrendVO">
|
|
|
+ <result column="market_date" property="marketDate"/>
|
|
|
+ <result column="sale_total_money" property="saleTotalMoney"/>
|
|
|
+ </resultMap>
|
|
|
+
|
|
|
+ <!--传入了地区-->
|
|
|
+ <!--按照年为单位返回查询到的营销数据-->
|
|
|
+ <select id="patentQueryByYear" resultMap="queryByDateMap">
|
|
|
+ SELECT CONCAT(CAST(YEAR(STR_TO_DATE(sale_time,'%Y-%m')) as CHAR),'年') AS market_date,sum(sale_money) AS sale_total_money
|
|
|
+ FROM product_market_data
|
|
|
+ WHERE product_id IN
|
|
|
+ (SELECT product_id FROM asso_structure_patent WHERE patent_no IN
|
|
|
+ <foreach collection="patentNoList" item="patentNo" index="index" open="(" close=")" separator=",">
|
|
|
+ #{patentNo}
|
|
|
+ </foreach>
|
|
|
+ UNION
|
|
|
+ SELECT product_id FROM asso_product_patent WHERE patent_no IN
|
|
|
+ <foreach collection="patentNoList" item="patentNo" index="index" open="(" close=")" separator=",">
|
|
|
+ #{patentNo}
|
|
|
+ </foreach>
|
|
|
+ )
|
|
|
+ <if test="saleArea !=null and saleArea != ''">
|
|
|
+ AND sale_area = #{saleArea}
|
|
|
+ </if>
|
|
|
+ GROUP BY market_date
|
|
|
+ </select>
|
|
|
+ <!--传入了地区-->
|
|
|
+ <!--按照季度为单位返回查询到的营销数据-->
|
|
|
+ <select id="patentQueryBySeason" resultMap="queryByDateMap">
|
|
|
+ SELECT CONCAT(CAST(YEAR(STR_TO_DATE(sale_time,'%Y-%m')) as CHAR),'年','第',CAST(QUARTER(STR_TO_DATE(sale_time,'%Y-%m')) as CHAR),'季度') AS market_date,sum(sale_money) AS sale_total_money
|
|
|
+ FROM product_market_data
|
|
|
+ WHERE product_id IN
|
|
|
+ (SELECT product_id FROM asso_structure_patent WHERE patent_no IN
|
|
|
+ <foreach collection="patentNoList" item="patentNo" index="index" open="(" close=")" separator=",">
|
|
|
+ #{patentNo}
|
|
|
+ </foreach>
|
|
|
+ UNION
|
|
|
+ SELECT product_id FROM asso_product_patent WHERE patent_no IN
|
|
|
+ <foreach collection="patentNoList" item="patentNo" index="index" open="(" close=")" separator=",">
|
|
|
+ #{patentNo}
|
|
|
+ </foreach>
|
|
|
+ )
|
|
|
+ <if test="saleArea !=null and saleArea != ''">
|
|
|
+ AND sale_area = #{saleArea}
|
|
|
+ </if>
|
|
|
+ GROUP BY market_date
|
|
|
+ </select>
|
|
|
+ <!--传入了地区-->
|
|
|
+ <!--按照月份为单位返回查询到的营销数据-->
|
|
|
+ <select id="patentQueryByMonth" resultMap="queryByDateMap">
|
|
|
+ SELECT CONCAT(CAST(YEAR(STR_TO_DATE(sale_time,'%Y-%m')) AS CHAR),'-',CAST(MONTH(STR_TO_DATE(sale_time,'%Y-%m')) AS CHAR)) AS market_date,sum(sale_money) AS sale_total_money
|
|
|
+ FROM product_market_data
|
|
|
+ WHERE product_id IN
|
|
|
+ (SELECT product_id FROM asso_structure_patent WHERE patent_no IN
|
|
|
+ <foreach collection="patentNoList" item="patentNo" index="index" open="(" close=")" separator=",">
|
|
|
+ #{patentNo}
|
|
|
+ </foreach>
|
|
|
+ UNION
|
|
|
+ SELECT product_id FROM asso_product_patent WHERE patent_no IN
|
|
|
+ <foreach collection="patentNoList" item="patentNo" index="index" open="(" close=")" separator=",">
|
|
|
+ #{patentNo}
|
|
|
+ </foreach>
|
|
|
+ )
|
|
|
+ <if test="saleArea !=null and saleArea != ''">
|
|
|
+ AND sale_area = #{saleArea}
|
|
|
+ </if>
|
|
|
+ GROUP BY market_date
|
|
|
+ </select>
|
|
|
+
|
|
|
+</mapper>
|