综合销售情况表 调整月度,年度 报表数据

This commit is contained in:
king
2026-03-25 16:11:53 +08:00
parent 7199ef04f5
commit 27714c3d23
2 changed files with 79 additions and 84 deletions

View File

@@ -48,13 +48,13 @@ public class zhxsqkPlugin implements ReportAroundAdvicePlugin {
PageHelper.startPage(Integer.parseInt(params.get("pageNo").toString()), Integer.parseInt(params.get("pageSize").toString())); PageHelper.startPage(Integer.parseInt(params.get("pageNo").toString()), Integer.parseInt(params.get("pageSize").toString()));
List<NewGrBiSaAggMonthCount> newGrBiSaAggList = newGrBiSaAggMonthCountService.selectNewGrBiSaAggGroupMonthList(params, groupFieldList); List<NewGrBiSaAggMonthCount> newGrBiSaAggList = newGrBiSaAggMonthCountService.selectNewGrBiSaAggGroupMonthList(params, groupFieldList);
PageInfo<NewGrBiSaAggMonthCount> pageInfo = new PageInfo<>(newGrBiSaAggList); PageInfo<NewGrBiSaAggMonthCount> pageInfo = new PageInfo<>(newGrBiSaAggList);
List<Map<String, Object>> list = newGrBiSaAggList.stream().map(newGrBiSaAgg -> BeanUtil.beanToMap(newGrBiSaAgg)).collect(Collectors.toList()); List<Map<String, Object>> list = newGrBiSaAggList.stream().map(BeanUtil::beanToMap).collect(Collectors.toList());
return ResultDataModel.fomat(pageInfo.getTotal(),list); return ResultDataModel.fomat(pageInfo.getTotal(),list);
}else { }else {
PageHelper.startPage(Integer.parseInt(params.get("pageNo").toString()), Integer.parseInt(params.get("pageSize").toString())); PageHelper.startPage(Integer.parseInt(params.get("pageNo").toString()), Integer.parseInt(params.get("pageSize").toString()));
List<NewGrBiSaAgg> newGrBiSaAggList = newGrBiSaAggService.selectNewGrBiSaAggList(params); List<NewGrBiSaAgg> newGrBiSaAggList = newGrBiSaAggService.selectNewGrBiSaAggList(params);
PageInfo<NewGrBiSaAgg> pageInfo = new PageInfo<>(newGrBiSaAggList); PageInfo<NewGrBiSaAgg> pageInfo = new PageInfo<>(newGrBiSaAggList);
List<Map<String, Object>> list = newGrBiSaAggList.stream().map(newGrBiSaAgg -> BeanUtil.beanToMap(newGrBiSaAgg)).collect(Collectors.toList()); List<Map<String, Object>> list = newGrBiSaAggList.stream().map(BeanUtil::beanToMap).collect(Collectors.toList());
return ResultDataModel.fomat(pageInfo.getTotal(),list); return ResultDataModel.fomat(pageInfo.getTotal(),list);
} }
} }

View File

@@ -248,12 +248,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectNewGrBiSaAggGroupMonthList" resultMap="NewGrBiSaAggMonthCountResult"> <select id="selectNewGrBiSaAggGroupMonthList" resultMap="NewGrBiSaAggMonthCountResult">
select select
<if test="groupFieldList.contains('useyear') || params.containsKey('usemonth')"> <if test="groupFieldList.contains('usemonth') || params.containsKey('usemonth')">
current_month.use_month , current_month.use_month ,
<choose> <choose>
<when test="groupFieldList.contains('useyear') || params.containsKey('useyear')"> <when test="groupFieldList.contains('useyear') || params.containsKey('useyear')">
current_month.use_year, current_month.use_year,
current_month.use_year as ny, #年月 current_month.ny as ny,
</when> </when>
<otherwise> <otherwise>
LPAD(current_month.use_month, 2, '0') as ny, LPAD(current_month.use_month, 2, '0') as ny,
@@ -262,7 +262,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if> </if>
<if test="groupFieldList.contains('customname') || params.containsKey('customname')"> <if test="groupFieldList.contains('customname') || params.containsKey('customname')">
current_month.custom_id, current_month.custom_id,
current_month.custom_name, #客户名称 current_month.custom_name,
</if> </if>
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')"> <if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
current_month.zone_id, current_month.zone_id,
@@ -274,29 +274,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if> </if>
<if test="groupFieldList.contains('salername') || params.containsKey('salername')"> <if test="groupFieldList.contains('salername') || params.containsKey('salername')">
current_month.saler_id, current_month.saler_id,
current_month.saler_name, #业务员 current_month.saler_name,
</if> </if>
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')"> <if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
current_month.dosage_id, current_month.dosage_id,
current_month.dosage_name, #剂型 current_month.dosage_name,
</if> </if>
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')"> <if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
current_month.std_goods_name, current_month.std_goods_name,
</if> </if>
current_month.this_month_sa_qty AS this_month_sa_qty, #本月销售数量(件) current_month.this_month_sa_qty AS this_month_sa_qty,
ROUND(current_month.this_month_sa_money / 10000, 2) AS this_month_sa_money, #本月销售金额(元) ROUND(current_month.this_month_sa_money / 10000, 2) AS this_month_sa_money,
ROUND(current_month.this_month_profit / 10000, 2) AS this_month_profit, #本月毛利额(元) ROUND(current_month.this_month_profit / 10000, 2) AS this_month_profit,
ROUND(current_month.this_month_cost / 10000, 2) AS this_month_cost, #本月成本(元) ROUND(current_month.this_month_cost / 10000, 2) AS this_month_cost,
last_month_data.last_month_sa_qty AS last_month_sa_qty, #上月销售数量(件) last_month_data.last_month_sa_qty AS last_month_sa_qty,
ROUND(last_month_data.last_month_sa_money / 10000, 2) AS last_month_sa_money, #上月销售金额(元) ROUND(last_month_data.last_month_sa_money / 10000, 2) AS last_month_sa_money,
ROUND(last_month_data.last_month_profit / 10000, 2) AS last_month_profit, #上月毛利额(元) ROUND(last_month_data.last_month_profit / 10000, 2) AS last_month_profit,
ROUND(last_month_data.last_month_cost / 10000, 2) AS last_month_cost, #上月成本(元) ROUND(last_month_data.last_month_cost / 10000, 2) AS last_month_cost,
ROUND(yoy_month.yoy_month_sa_qty / 10000, 2) AS yoy_month_sa_qty, #同比月销售数量(件) ROUND(yoy_month.yoy_month_sa_qty / 10000, 2) AS yoy_month_sa_qty,
ROUND(yoy_month.yoy_month_sa_money / 10000, 2) AS yoy_month_sa_money, #同比月销售金额(元) ROUND(yoy_month.yoy_month_sa_money / 10000, 2) AS yoy_month_sa_money,
ROUND(yoy_month.yoy_month_profit / 10000, 2) AS yoy_month_profit, #同比月毛利额(元) ROUND(yoy_month.yoy_month_profit / 10000, 2) AS yoy_month_profit,
ROUND(yoy_month.yoy_month_cost / 10000, 2) AS yoy_month_cost, #同比月成本(元) ROUND(yoy_month.yoy_month_cost / 10000, 2) AS yoy_month_cost,
# current_month.province_id AS province_id, #行政区域ID
# current_month.province_name AS province_name, #行政区域名称
CASE WHEN (CASE WHEN yoy_month.yoy_month_sa_qty = 0 THEN IF(current_month.this_month_sa_qty > 0, 100, 0) CASE WHEN (CASE WHEN yoy_month.yoy_month_sa_qty = 0 THEN IF(current_month.this_month_sa_qty > 0, 100, 0)
ELSE (current_month.this_month_sa_qty - yoy_month.yoy_month_sa_qty) / yoy_month.yoy_month_sa_qty * 100 END) > 0 THEN ELSE (current_month.this_month_sa_qty - yoy_month.yoy_month_sa_qty) / yoy_month.yoy_month_sa_qty * 100 END) > 0 THEN
CONCAT('🟢 ', ROUND((CASE WHEN yoy_month.yoy_month_sa_qty = 0 THEN IF(current_month.this_month_sa_qty > 0, 100, 0) CONCAT('🟢 ', ROUND((CASE WHEN yoy_month.yoy_month_sa_qty = 0 THEN IF(current_month.this_month_sa_qty > 0, 100, 0)
@@ -305,7 +303,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ELSE (current_month.this_month_sa_qty - yoy_month.yoy_month_sa_qty) / yoy_month.yoy_month_sa_qty * 100 END)&lt;0 THEN ELSE (current_month.this_month_sa_qty - yoy_month.yoy_month_sa_qty) / yoy_month.yoy_month_sa_qty * 100 END)&lt;0 THEN
CONCAT('🔴 ', ROUND((CASE WHEN yoy_month.yoy_month_sa_qty = 0 THEN IF(current_month.this_month_sa_qty > 0, 100, 0) CONCAT('🔴 ', ROUND((CASE WHEN yoy_month.yoy_month_sa_qty = 0 THEN IF(current_month.this_month_sa_qty > 0, 100, 0)
ELSE (current_month.this_month_sa_qty - yoy_month.yoy_month_sa_qty) / yoy_month.yoy_month_sa_qty * 100 END), 2)) ELSE (current_month.this_month_sa_qty - yoy_month.yoy_month_sa_qty) / yoy_month.yoy_month_sa_qty * 100 END), 2))
END AS monthsaqty_yoy, #本月销量同比 END AS monthsaqty_yoy,
CASE WHEN (CASE WHEN yoy_month.yoy_month_sa_money = 0 THEN IF(current_month.this_month_sa_money > 0, 100, 0) CASE WHEN (CASE WHEN yoy_month.yoy_month_sa_money = 0 THEN IF(current_month.this_month_sa_money > 0, 100, 0)
ELSE (current_month.this_month_sa_money - yoy_month.yoy_month_sa_money) / yoy_month.yoy_month_sa_money * 100 END) > 0 THEN ELSE (current_month.this_month_sa_money - yoy_month.yoy_month_sa_money) / yoy_month.yoy_month_sa_money * 100 END) > 0 THEN
@@ -316,7 +314,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
CONCAT('🔴 ', ROUND((CASE WHEN yoy_month.yoy_month_sa_money = 0 THEN IF(current_month.this_month_sa_money > 0, 100, 0) CONCAT('🔴 ', ROUND((CASE WHEN yoy_month.yoy_month_sa_money = 0 THEN IF(current_month.this_month_sa_money > 0, 100, 0)
ELSE (current_month.this_month_sa_money - yoy_month.yoy_month_sa_money) / yoy_month.yoy_month_sa_money * 100 END), 2)) ELSE (current_month.this_month_sa_money - yoy_month.yoy_month_sa_money) / yoy_month.yoy_month_sa_money * 100 END), 2))
ELSE '0.00' ELSE '0.00'
END AS monthsamoney_yoy, #本月销售金额同比 END AS monthsamoney_yoy,
CASE WHEN (CASE WHEN last_month_data.last_month_sa_money = 0 THEN IF(current_month.this_month_sa_money > 0, 100, 0) CASE WHEN (CASE WHEN last_month_data.last_month_sa_money = 0 THEN IF(current_month.this_month_sa_money > 0, 100, 0)
ELSE (current_month.this_month_sa_money - last_month_data.last_month_sa_money) / last_month_data.last_month_sa_money * 100 END) > 0 THEN ELSE (current_month.this_month_sa_money - last_month_data.last_month_sa_money) / last_month_data.last_month_sa_money * 100 END) > 0 THEN
@@ -327,7 +325,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
CONCAT('🔴 ', ROUND((CASE WHEN last_month_data.last_month_sa_money = 0 THEN IF(current_month.this_month_sa_money > 0, 100, 0) CONCAT('🔴 ', ROUND((CASE WHEN last_month_data.last_month_sa_money = 0 THEN IF(current_month.this_month_sa_money > 0, 100, 0)
ELSE (current_month.this_month_sa_money - last_month_data.last_month_sa_money) / last_month_data.last_month_sa_money * 100 END), 2)) ELSE (current_month.this_month_sa_money - last_month_data.last_month_sa_money) / last_month_data.last_month_sa_money * 100 END), 2))
ELSE '0.00' ELSE '0.00'
END AS lastMonthSaMoney_yoy, #本月销售金额增长率 END AS lastMonthSaMoney_yoy,
CASE WHEN (CASE WHEN yoy_month.yoy_month_cost = 0 THEN IF(current_month.this_month_cost > 0, 100, 0) CASE WHEN (CASE WHEN yoy_month.yoy_month_cost = 0 THEN IF(current_month.this_month_cost > 0, 100, 0)
ELSE (current_month.this_month_cost - yoy_month.yoy_month_cost) / yoy_month.yoy_month_cost * 100 END) > 0 THEN ELSE (current_month.this_month_cost - yoy_month.yoy_month_cost) / yoy_month.yoy_month_cost * 100 END) > 0 THEN
@@ -338,7 +336,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
CONCAT('🔴 ', ROUND((CASE WHEN yoy_month.yoy_month_cost = 0 THEN IF(current_month.this_month_cost > 0, 100, 0) CONCAT('🔴 ', ROUND((CASE WHEN yoy_month.yoy_month_cost = 0 THEN IF(current_month.this_month_cost > 0, 100, 0)
ELSE (current_month.this_month_cost - yoy_month.yoy_month_cost) / yoy_month.yoy_month_cost * 100 END), 2)) ELSE (current_month.this_month_cost - yoy_month.yoy_month_cost) / yoy_month.yoy_month_cost * 100 END), 2))
ELSE '0.00' ELSE '0.00'
END AS this_month_cost_yoy, #本月销售成本同比 END AS this_month_cost_yoy,
CASE WHEN (CASE WHEN yoy_month.yoy_month_profit = 0 THEN IF(current_month.this_month_profit > 0, 100, 0) CASE WHEN (CASE WHEN yoy_month.yoy_month_profit = 0 THEN IF(current_month.this_month_profit > 0, 100, 0)
ELSE (current_month.this_month_profit - yoy_month.yoy_month_profit) / yoy_month.yoy_month_profit * 100 END) > 0 THEN ELSE (current_month.this_month_profit - yoy_month.yoy_month_profit) / yoy_month.yoy_month_profit * 100 END) > 0 THEN
@@ -349,16 +347,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
CONCAT('🔴 ', ROUND((CASE WHEN yoy_month.yoy_month_profit = 0 THEN IF(current_month.this_month_profit > 0, 100, 0) CONCAT('🔴 ', ROUND((CASE WHEN yoy_month.yoy_month_profit = 0 THEN IF(current_month.this_month_profit > 0, 100, 0)
ELSE (current_month.this_month_profit - yoy_month.yoy_month_profit) / yoy_month.yoy_month_profit * 100 END), 2)) ELSE (current_month.this_month_profit - yoy_month.yoy_month_profit) / yoy_month.yoy_month_profit * 100 END), 2))
ELSE '0.00' ELSE '0.00'
END AS monthprofit_yoy, #本月毛利同比 END AS monthprofit_yoy,
COALESCE (ROUND( current_month.this_month_sa_money/total_month_data.this_month_sa_money_sum * 100, 2), 0 ) as this_month_sa_money_share, #本月销售金额占比 COALESCE (ROUND( current_month.this_month_sa_money/total_month_data.this_month_sa_money_sum * 100, 2), 0 ) as this_month_sa_money_share,
COALESCE (ROUND( current_month.this_month_profit/total_month_data.this_month_profit_sum * 100, 2), 0 ) as this_month_profit_share #本月毛利额占比 COALESCE (ROUND( current_month.this_month_profit/total_month_data.this_month_profit_sum * 100, 2), 0 ) as this_month_profit_share
FROM ( SELECT FROM ( SELECT
<if test="groupFieldList.contains('useyear') || params.containsKey('useyear')"> <if test="groupFieldList.contains('useyear') || params.containsKey('useyear')">
use_year, use_year,
</if> </if>
use_month, use_month,
<if test="groupFieldList.contains('customname') || params.containsKey('customname')"># 客户名称 <if test="groupFieldList.contains('customname') || params.containsKey('customname')">
custom_id, custom_id,
custom_name , custom_name ,
</if> </if>
@@ -367,11 +365,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
std_goods_name, std_goods_name,
</if> </if>
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">#业务区域 <if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
zone_id, zone_id,
zone_name, zone_name,
</if> </if>
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">#销售类型 <if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
sale_type_id, sale_type_id,
sale_type_name, sale_type_name,
</if> </if>
@@ -385,8 +383,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
saler_name, saler_name,
</if> </if>
CONCAT(MAX(use_year), LPAD(MAX(use_month), 2, '0')) AS ny, CONCAT(MAX(use_year), LPAD(MAX(use_month), 2, '0')) AS ny,
# GROUP_CONCAT(DISTINCT province_id ORDER BY province_id SEPARATOR ',') AS province_id,
# GROUP_CONCAT(DISTINCT province_name ORDER BY province_name SEPARATOR ',') AS province_name,
sum(this_month_sa_qty) AS this_month_sa_qty, sum(this_month_sa_qty) AS this_month_sa_qty,
sum(this_month_sa_money) AS this_month_sa_money, sum(this_month_sa_money) AS this_month_sa_money,
sum(this_month_cost) AS this_month_cost, sum(this_month_cost) AS this_month_cost,
@@ -444,53 +440,53 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
use_year, use_year,
</if> </if>
use_month, use_month,
<if test="groupFieldList.contains('customname') || params.containsKey('customname')"># 客户名称 <if test="groupFieldList.contains('customname') || params.containsKey('customname')">
custom_id, custom_id,
custom_name , custom_name ,
</if> </if>
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')"># 标准品名 <if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
std_goods_name, std_goods_name,
</if> </if>
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">#业务区域 <if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
zone_id, zone_id,
zone_name, zone_name,
</if> </if>
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">#销售类型 <if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
sale_type_id, sale_type_id,
sale_type_name, sale_type_name,
</if> </if>
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">#剂型 <if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
dosage_id, dosage_id,
dosage_name, dosage_name,
</if> </if>
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">#业务员 <if test="groupFieldList.contains('salername') || params.containsKey('salername')">
saler_id, saler_id,
saler_name, saler_name,
</if> </if>
</trim> </trim>
) AS current_month # current_month 本月数据 ) AS current_month
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
<if test="groupFieldList.contains('useyear') || params.containsKey('useyear')"> <if test="groupFieldList.contains('useyear') || params.containsKey('useyear')">
use_year, use_year,
</if> </if>
use_month, use_month,
<if test="groupFieldList.contains('customname') || params.containsKey('customname')"># 客户名称 <if test="groupFieldList.contains('customname') || params.containsKey('customname')">
custom_id, custom_id,
</if> </if>
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')"># 标准品名 <if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
std_goods_name, std_goods_name,
</if> </if>
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">#业务区域 <if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
zone_id, zone_id,
</if> </if>
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">#销售类型 <if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
sale_type_id, sale_type_id,
</if> </if>
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">#剂型 <if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
dosage_id, dosage_id,
</if> </if>
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">#业务员 <if test="groupFieldList.contains('salername') || params.containsKey('salername')">
saler_id, saler_id,
</if> </if>
SUM(this_month_sa_qty) AS last_month_sa_qty, SUM(this_month_sa_qty) AS last_month_sa_qty,
@@ -504,47 +500,46 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
use_year, use_year,
</if> </if>
use_month, use_month,
<if test="groupFieldList.contains('customname') || params.containsKey('customname')"># 客户名称 <if test="groupFieldList.contains('customname') || params.containsKey('customname')">
custom_id, custom_id,
</if> </if>
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')"># 标准品名 <if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
std_goods_name, std_goods_name,
</if> </if>
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">#业务区域 <if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
zone_id, zone_id,
</if> </if>
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">#销售类型 <if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
sale_type_id, sale_type_id,
</if> </if>
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">#剂型 <if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
dosage_id, dosage_id,
</if> </if>
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">#业务员 <if test="groupFieldList.contains('salername') || params.containsKey('salername')">
saler_id, saler_id,
</if> </if>
</trim> </trim>
) AS last_month_data # last_month_data 上月数据 ) AS last_month_data
ON last_month_data.use_month = IF(current_month.use_month = 1, 12, current_month.use_month - 1) ON last_month_data.use_month = IF(current_month.use_month = 1, 12, current_month.use_month - 1)
<if test="groupFieldList.contains('useyear') || params.containsKey('useyear')"> <if test="groupFieldList.contains('useyear') || params.containsKey('useyear')">
AND last_month_data.use_year = current_month.use_year - (current_month.use_month = 1) AND last_month_data.use_year = current_month.use_year - (current_month.use_month = 1)
</if> </if>
<if test="groupFieldList.contains('customname') || params.containsKey('customname')"># 客户名称 <if test="groupFieldList.contains('customname') || params.containsKey('customname')">
AND current_month.custom_id = last_month_data.custom_id AND current_month.custom_id = last_month_data.custom_id
</if> </if>
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')"># 标准品名 <if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
AND current_month.std_goods_name = last_month_data.std_goods_name AND current_month.std_goods_name = last_month_data.std_goods_name
</if> </if>
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">#业务区域 <if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
AND current_month.zone_id = last_month_data.zone_id AND current_month.zone_id = last_month_data.zone_id
</if> </if>
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">#销售类型 <if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
AND current_month.sale_type_id = last_month_data.sale_type_id AND current_month.sale_type_id = last_month_data.sale_type_id
</if> </if>
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">#剂型 <if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
AND current_month.dosage_id = last_month_data.dosage_id AND current_month.dosage_id = last_month_data.dosage_id
</if> </if>
# if (groupFieldList.contains('salername') || params.containsKey('salername')) { <if test="groupFieldList.contains('salername') || params.containsKey('salername')">
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">#业务员
AND current_month.saler_id = last_month_data.saler_id AND current_month.saler_id = last_month_data.saler_id
</if> </if>
LEFT JOIN ( LEFT JOIN (
@@ -553,31 +548,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
use_year, use_year,
</if> </if>
use_month, use_month,
<if test="groupFieldList.contains('customname') || params.containsKey('customname')"># 客户名称 <if test="groupFieldList.contains('customname') || params.containsKey('customname')">
custom_id, custom_id,
</if> </if>
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')"># 标准品名 <if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
std_goods_name, std_goods_name,
</if> </if>
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">#业务区域 <if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
zone_id, zone_id,
</if> </if>
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">#销售类型 <if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
sale_type_id, sale_type_id,
</if> </if>
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">#剂型 <if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
dosage_id, dosage_id,
</if> </if>
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">#业务员 <if test="groupFieldList.contains('salername') || params.containsKey('salername')">
saler_id, saler_id,
</if> </if>
SUM(this_month_sa_qty) AS yoy_month_sa_qty, # 同比月销量 SUM(this_month_sa_qty) AS yoy_month_sa_qty,
SUM(this_month_sa_money) AS yoy_month_sa_money, # 同比月销售金额 SUM(this_month_sa_money) AS yoy_month_sa_money,
SUM(this_month_cost) as yoy_month_cost, # 同比月销售成本 SUM(this_month_cost) as yoy_month_cost,
SUM(this_month_profit) AS yoy_month_profit # 同比月毛利额 SUM(this_month_profit) AS yoy_month_profit
FROM new_gr_bi_sa_agg_month_count FROM new_gr_bi_sa_agg_month_count
<where> <where>
<if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear}</if> <if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear }- 1</if>
<if test="saAggParam.useMonth != null "> and use_month = #{saAggParam.useMonth}</if> <if test="saAggParam.useMonth != null "> and use_month = #{saAggParam.useMonth}</if>
<if test="saAggParam.zoneName != null and zoneName != ''"> and zone_name in <if test="saAggParam.zoneName != null and zoneName != ''"> and zone_name in
<foreach collection="saAggParam.zoneName" item="name" open="(" separator="," close=")"> <foreach collection="saAggParam.zoneName" item="name" open="(" separator="," close=")">
@@ -627,22 +622,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
use_year, use_year,
</if> </if>
use_month, use_month,
<if test="groupFieldList.contains('customname') || params.containsKey('customname')"># 客户名称 <if test="groupFieldList.contains('customname') || params.containsKey('customname')">
custom_id, custom_id,
</if> </if>
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')"># 标准品名 <if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
std_goods_name, std_goods_name,
</if> </if>
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">#业务区域 <if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
zone_id, zone_id,
</if> </if>
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">#销售类型 <if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
sale_type_id, sale_type_id,
</if> </if>
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">#剂型 <if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
dosage_id, dosage_id,
</if> </if>
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">#业务员 <if test="groupFieldList.contains('salername') || params.containsKey('salername')">
saler_id, saler_id,
</if> </if>
</trim> </trim>
@@ -650,25 +645,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<trim prefixOverrides="and"> <trim prefixOverrides="and">
<if test="groupFieldList.contains('useyear') || params.containsKey('useyear')"> <if test="groupFieldList.contains('useyear') || params.containsKey('useyear')">
and yoy_month.use_year = current_month.use_year - 1 # 同比月数据 and yoy_month.use_year = current_month.use_year - 1
</if> </if>
and yoy_month.use_month = current_month.use_month and yoy_month.use_month = current_month.use_month
<if test="groupFieldList.contains('customname') || params.containsKey('customname')"># 客户名称 <if test="groupFieldList.contains('customname') || params.containsKey('customname')">
AND yoy_month.custom_id = current_month.custom_id AND yoy_month.custom_id = current_month.custom_id
</if> </if>
<if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')"># 标准品名 <if test="groupFieldList.contains('stdGoodsName') || params.containsKey('stdGoodsName')">
AND yoy_month.std_goods_name = current_month.std_goods_name AND yoy_month.std_goods_name = current_month.std_goods_name
</if> </if>
<if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">#业务区域 <if test="groupFieldList.contains('zonename') || params.containsKey('zonename')">
AND yoy_month.zone_id = current_month.zone_id AND yoy_month.zone_id = current_month.zone_id
</if> </if>
<if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">#销售类型 <if test="groupFieldList.contains('saletypename') || params.containsKey('saletypename')">
AND yoy_month.sale_type_id = current_month.sale_type_id AND yoy_month.sale_type_id = current_month.sale_type_id
</if> </if>
<if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">#剂型 <if test="groupFieldList.contains('dosagename') || params.containsKey('dosagename')">
AND yoy_month.dosage_id = current_month.dosage_id AND yoy_month.dosage_id = current_month.dosage_id
</if> </if>
<if test="groupFieldList.contains('salername') || params.containsKey('salername')">#业务员 <if test="groupFieldList.contains('salername') || params.containsKey('salername')">
AND yoy_month.saler_id = current_month.saler_id AND yoy_month.saler_id = current_month.saler_id
</if> </if>
</trim> </trim>