From d0c3258ed4871f2b9f03357bfd39b6caeff156b0 Mon Sep 17 00:00:00 2001 From: 李林 <z1292839451@163.com> Date: 星期二, 09 一月 2024 11:07:59 +0800 Subject: [PATCH] 修订版3.0 --- data-server/src/main/resources/mapper/DataReportingMapper.xml | 135 ++++++++++++++++++++++++-------------------- 1 files changed, 74 insertions(+), 61 deletions(-) diff --git a/data-server/src/main/resources/mapper/DataReportingMapper.xml b/data-server/src/main/resources/mapper/DataReportingMapper.xml index 22ea781..d7854d0 100644 --- a/data-server/src/main/resources/mapper/DataReportingMapper.xml +++ b/data-server/src/main/resources/mapper/DataReportingMapper.xml @@ -5,37 +5,37 @@ <mapper namespace="com.yuanchu.mom.mapper.DataReportingMapper"> <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DataReporting"> - <id property="id" column="id" jdbcType="INTEGER"/> - <result property="department" column="department" jdbcType="VARCHAR"/> - <result property="registrant" column="registrant" jdbcType="VARCHAR"/> - <result property="product" column="product" jdbcType="VARCHAR"/> - <result property="channel" column="channel" jdbcType="VARCHAR"/> - <result property="name" column="name" jdbcType="VARCHAR"/> - <result property="showNum" column="show_num" jdbcType="INTEGER"/> - <result property="click" column="click" jdbcType="INTEGER"/> - <result property="accountConsumption" column="account_consumption" jdbcType="DECIMAL"/> - <result property="rebateConsumption" column="rebate_consumption" jdbcType="DECIMAL"/> - <result property="consumption" column="consumption" jdbcType="DECIMAL"/> - <result property="discountedConsumption" column="discounted_consumption" jdbcType="DECIMAL"/> - <result property="fansAdd" column="fans_add" jdbcType="INTEGER"/> - <result property="actualCost" column="actual_cost" jdbcType="DECIMAL"/> - <result property="internalCosts" column="internal_costs" jdbcType="DECIMAL"/> - <result property="customerCosts" column="customer_costs" jdbcType="DECIMAL"/> - <result property="profit" column="profit" jdbcType="DECIMAL"/> - <result property="agentRebate" column="agent_rebate" jdbcType="DECIMAL"/> - <result property="customerRebate" column="customer_rebate" jdbcType="DECIMAL"/> - <result property="remark" column="remark" jdbcType="DECIMAL"/> - <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> - <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> - <result property="createUser" column="create_user" jdbcType="VARCHAR"/> - <result property="updateUser" column="update_user" jdbcType="VARCHAR"/> + <id property="id" column="id" jdbcType="INTEGER"/> + <result property="department" column="department" jdbcType="VARCHAR"/> + <result property="registrant" column="registrant" jdbcType="VARCHAR"/> + <result property="product" column="product" jdbcType="VARCHAR"/> + <result property="channel" column="channel" jdbcType="VARCHAR"/> + <result property="name" column="name" jdbcType="VARCHAR"/> + <result property="showNum" column="show_num" jdbcType="INTEGER"/> + <result property="click" column="click" jdbcType="INTEGER"/> + <result property="accountConsumption" column="account_consumption" jdbcType="DECIMAL"/> + <result property="rebateConsumption" column="rebate_consumption" jdbcType="DECIMAL"/> + <result property="consumption" column="consumption" jdbcType="DECIMAL"/> + <result property="discountedConsumption" column="discounted_consumption" jdbcType="DECIMAL"/> + <result property="fansAdd" column="fans_add" jdbcType="INTEGER"/> + <result property="actualCost" column="actual_cost" jdbcType="DECIMAL"/> + <result property="internalCosts" column="internal_costs" jdbcType="DECIMAL"/> + <result property="customerCosts" column="customer_costs" jdbcType="DECIMAL"/> + <result property="profit" column="profit" jdbcType="DECIMAL"/> + <result property="agentRebate" column="agent_rebate" jdbcType="DECIMAL"/> + <result property="customerRebate" column="customer_rebate" jdbcType="DECIMAL"/> + <result property="remark" column="remark" jdbcType="DECIMAL"/> + <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> + <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> + <result property="createUser" column="create_user" jdbcType="VARCHAR"/> + <result property="updateUser" column="update_user" jdbcType="VARCHAR"/> </resultMap> <select id="selectDataReportingDtoPageList" resultType="com.yuanchu.mom.dto.DataReportingPageDto"> select * from ( select dr.*,u1.name create_user_name,u2.name update_user_name from data_reporting dr - left join user u1 on dr.create_user = u1.id - left join user u2 on dr.update_user = u2.id + left join user u1 on dr.create_user = u1.id + left join user u2 on dr.update_user = u2.id ) a <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} @@ -43,7 +43,8 @@ </select> <select id="selectProductCountDtoPageList" resultType="com.yuanchu.mom.dto.ProductCountDto"> select * from ( - select update_time, create_time, product, sum(consumption) consumption, sum(fans_add) fans_add, sum(customer_costs) customer_costs, create_user + select update_time, create_time, product, sum(consumption) consumption, sum(fans_add) fans_add, + sum(customer_costs) customer_costs, create_user from data_reporting group by product,date_format(create_time, '%Y-%m-%d') ) a @@ -53,7 +54,12 @@ </select> <select id="selectRegistrantCountDtoPageList" resultType="com.yuanchu.mom.dto.RegistrantCountDto"> select * from ( - select id, department, registrant, product, name, sum(show_num) show_num, sum(click) click, sum(account_consumption)account_consumption, sum(rebate_consumption) rebate_consumption,(sum(rebate_consumption)+sum(remark)) rebate_consumption2, sum(discounted_consumption) discounted_consumption, sum(fans_add) fans_add, sum(actual_cost) actual_cost, sum(customer_costs) customer_costs, sum(profit) profit, sum(agent_rebate) agent_rebate, sum(customer_rebate) customer_rebate, sum(remark) remark, create_time, update_time, create_user + select id, department, registrant, product, name, sum(show_num) show_num, sum(click) click, + sum(account_consumption)account_consumption, sum(rebate_consumption) + rebate_consumption,(sum(rebate_consumption)+sum(remark)) rebate_consumption2, sum(discounted_consumption) + discounted_consumption, sum(fans_add) fans_add, sum(actual_cost) actual_cost, sum(customer_costs) + customer_costs, sum(profit) profit, sum(agent_rebate) agent_rebate, sum(customer_rebate) customer_rebate, + sum(remark) remark, create_time, update_time, create_user from data_reporting group by registrant,date_format(create_time, '%Y-%m-%d') ) a @@ -62,66 +68,73 @@ </if> </select> <select id="getDataFor1" resultType="java.util.Map"> - select COALESCE(sum(account_consumption), 0) data1, COALESCE(sum(consumption), 0) data2, COALESCE(sum(customer_costs),0) data3, COALESCE(sum(actual_cost), 0) data4 + select COALESCE(sum(account_consumption), 0) data1, + COALESCE(sum(consumption), 0) data2, + COALESCE(sum(customer_costs), 0) data3, + COALESCE(sum(actual_cost), 0) data4 from data_reporting - where date(create_time) like CURDATE() + where date(create_time) like (CURDATE() - INTERVAL 1 DAY) </select> <select id="getDataFor2" resultType="java.util.Map"> - SELECT sum(account_consumption) account_consumptions, DATE_FORMAT(create_time, '%m-%d') `date`, DATE_FORMAT(create_time, '%y-%m-%d') time + SELECT sum(account_consumption) account_consumptions, + DATE_FORMAT(create_time, '%m-%d') `date`, + DATE_FORMAT(create_time, '%y-%m-%d') time FROM data_reporting group by DATE_FORMAT(create_time, '%y-%m-%d') having DATE_SUB(CURDATE(), INTERVAL 7 DAY) < time - and time <= CURDATE() + and time < CURDATE() </select> <select id="getDataFor3" resultType="java.util.Map"> - SELECT sum(consumption) consumption, DATE_FORMAT(create_time, '%m-%d') `date`, DATE_FORMAT(create_time, '%y-%m-%d') time + SELECT sum(consumption) consumption, + DATE_FORMAT(create_time, '%m-%d') `date`, + DATE_FORMAT(create_time, '%y-%m-%d') time FROM data_reporting group by DATE_FORMAT(create_time, '%y-%m-%d') having DATE_SUB(CURDATE(), INTERVAL 7 DAY) < time - and time <= CURDATE() + and time < CURDATE() </select> <select id="getDataFor4" resultType="java.util.Map"> select product, sum(customer_costs) customerCosts from data_reporting group by product - order by customerCosts desc limit 7 + order by customerCosts desc + limit 7 </select> <select id="getDataFor5" resultType="java.util.Map"> select product, sum(actual_cost) actualCost from data_reporting group by product - order by actualCost desc limit 7 + order by actualCost desc + limit 7 </select> <select id="selectUser" resultType="java.util.Map"> - select user.department, user.name, user.account from user + select user.department, user.name, user.account + from user where id = #{userId} </select> <select id="selectDataComparisonDtoPageList" resultType="com.yuanchu.mom.dto.DataComparisonDto"> - select a.account account, - a.name name, + select a.account account, + a.name name, a.account_consumption consumption, - a.create_time createTime, - b.account comparisonAccount, - b.name comparisonName, - b.account_consumption comparisonConsumption, - b.create_time comparisonCreateTime - from (select user.account, - user.name, - dr1.account_consumption, - dr1.create_time - from data_reporting dr1 - join user on dr1.create_user = user.id - where date_format(dr1.create_time, '%Y-%m-%d') = date_format(#{dataComparisonDto.createTime}, '%Y-%m-%d') - and user.name like concat('%', #{dataComparisonDto.name}, '%')) a, - (select user.account, - user.name, - dr2.account_consumption, - dr2.create_time - from data_reporting dr2 - join user on dr2.create_user = user.id - where date_format(dr2.create_time, '%Y-%m-%d') = date_format(#{dataComparisonDto.createTime}, '%Y-%m-%d') - and user.name like concat('%', #{dataComparisonDto.comparisonName}, '%')) b - where a.account_consumption != b.account_consumption + b.account comparisonAccount, + b.name comparisonName, + b.account_consumption comparisonConsumption + from (select dr1.*, user.id uId, user.name uName, user.account + from data_reporting dr1 + join user on dr1.create_user = user.id + where date_format(dr1.create_time, '%Y-%m-%d') = + date_format(#{dataComparisonDto.createTime}, '%Y-%m-%d') + and user.name = #{dataComparisonDto.name}) a + left join (select dr2.*, user.id uId, user.name uName, user.account + from data_reporting dr2 + join user on dr2.create_user = user.id + where date_format(dr2.create_time, '%Y-%m-%d') = + date_format(#{dataComparisonDto.createTime}, '%Y-%m-%d') + and user.name = #{dataComparisonDto.comparisonName}) b + on a.name = b.name + and a.product = b.product + where (a.account_consumption != b.account_consumption + or b.account_consumption is null) </select> </mapper> -- Gitblit v1.9.3