123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- <?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.ProductMarketDataMapper">
- <!--插入数据-->
- <!--int insert(ProductMarketData productMarketData);-->
- <insert id="insert" useGeneratedKeys="true" keyProperty="id">
- insert into product_market_data (product_id, sale_time, sale_area, sale_count, sale_money,
- custom_license_rate, create_person_id, create_person_name)
- values (#{productId}, #{saleTime}, #{saleArea}, #{saleCount}, #{saleMoney}, #{customLicenseRate},
- #{createPersonId}, #{createPersonName});
- </insert>
- <!--根据id删除数据-->
- <!--int deleteById(Integer id);-->
- <delete id="deleteById">
- delete
- from product_market_data
- where id = #{id}
- </delete>
- <!--根据id修改数据-->
- <!--int update(ProductMarketData productMarketData);-->
- <update id="update">
- update product_market_data
- <set>
- <if test="productId != null">
- product_id = #{productId},
- </if>
- sale_time = #{saleTime},
- sale_area = #{saleArea},
- sale_count = #{saleCount},
- sale_money = #{saleMoney},
- custom_license_rate = #{customLicenseRate},
- </set>
- where id = #{id}
- </update>
- <!--根据所属产品id、营销地区、营销时间统计数量-->
- <!--int countByProductIdSaleAreaSaleTime(Integer productId, String saleArea, Date saleTime);-->
- <select id="countByProductIdSaleAreaSaleTime" resultType="int">
- select count(*)
- from product_market_data
- <where>
- <if test="productId != null">
- and product_id = #{productId}
- </if>
- <if test="saleArea != null">
- and sale_area = #{saleArea}
- </if>
- <if test="saleTime != null">
- and sale_time = #{saleTime}
- </if>
- </where>
- </select>
- <!--根据id统计数量-->
- <!--int countById(Integer id);-->
- <select id="countById" resultType="int">
- select count(*)
- from product_market_data
- where id = #{id}
- </select>
- <!--分页查询数据-->
- <!--List<ProductMarketDataVO> query(ProductMarketDataQueryPageDTO productMarketDataQueryPageDTO);-->
- <select id="query" resultMap="queryMap">
- select id,
- product_id,
- sale_time,
- sale_area,
- sale_count,
- sale_money,
- custom_license_rate
- from product_market_data
- <where>
- <if test="productId != null">
- product_id = #{productId}
- </if>
- </where>
- order by
- <choose>
- <when test="orderBy != null and orderType != null">
- ${orderBy} ${orderType}
- </when>
- <otherwise>
- id desc
- </otherwise>
- </choose>
- </select>
- <resultMap id="queryMap" type="cn.cslg.pas.common.model.vo.ProductMarketDataVO">
- <id column="id" property="id"/>
- <result column="product_id" property="productId"/>
- <result column="sale_time" property="saleTime"/>
- <result column="sale_area" property="saleArea"/>
- <result column="sale_count" property="saleCount"/>
- <result column="sale_money" property="saleMoney"/>
- <result column="custom_license_rate" property="customLicenseRate"/>
- </resultMap>
- <resultMap id="queryByDateMap" type="cn.cslg.pas.common.model.vo.ProductMarketDataTrendVO">
- <result column="market_date" property="marketDate"/>
- <result column="sale_total_money" property="saleTotalMoney"/>
- <result column="custom_license_money" property="customLicenseMoney"/>
- </resultMap>
- <select id="queryByYear" resultMap="queryByDateMap">
- SELECT CONCAT(YEAR(CONCAT(sale_time,'-02')),'年') AS market_date,
- sum(sale_money) AS sale_total_money,
- CAST(sum(custom_license_rate * sale_money) AS DECIMAL (19, 2)) AS custom_license_money
- FROM product_market_data
- WHERE product_id = #{productId}
- <if test="saleArea != null and saleArea != ''">
- AND sale_Area = #{saleArea}
- </if>
- GROUP BY market_date
- </select>
- <select id="queryBySeason" resultMap="queryByDateMap">
- SELECT CONCAT(YEAR(CONCAT(sale_time,'-02')),'年','第',QUARTER(CONCAT(sale_time,'-02')),'季度') AS market_date,
- sum(sale_money) AS sale_total_money,
- CAST(sum(custom_license_rate * sale_money) AS DECIMAL (19, 2)) AS custom_license_money
- FROM product_market_data
- WHERE product_id = #{productId}
- <if test="saleArea != null and saleArea != ''">
- AND sale_Area = #{saleArea}
- </if>
- GROUP BY market_date
- </select>
- <select id="queryByMonth" resultMap="queryByDateMap">
- SELECT CONCAT(YEAR(CONCAT(sale_time,'-02')),'-',MONTH(CONCAT(sale_time,'-02'))) AS market_date,
- sum(sale_money) AS sale_total_money,
- CAST(sum(custom_license_rate * sale_money) AS DECIMAL (19, 2)) AS custom_license_money
- FROM product_market_data
- WHERE product_id = #{productId}
- <if test="saleArea != null and saleArea != ''">
- AND sale_Area = #{saleArea}
- </if>
- GROUP BY market_date
- </select>
- </mapper>
|