综合销售情况表 调整月度,年度 报表数据
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)<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)
|
||||||
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>
|
||||||
|
|||||||
Reference in New Issue
Block a user