3 Commits

Author SHA1 Message Date
king
7fc21dcc9b SQL调整 金额已万为单位 2026-03-11 09:07:54 +08:00
king
affe6bfed5 分组SQL调整 2026-03-10 16:52:34 +08:00
king
8523b80eb3 分组SQL调整 2026-03-10 15:38:16 +08:00

View File

@@ -51,10 +51,10 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
executePluginSql.append(" tbl_lgbsa.DOSAGEID, \n");
executePluginSql.append(" tbl_lgbsa.DOSAGENAME, \n");
}
executePluginSql.append(" max(CONCAT(USEYEAR, LPAD(USEMONTH, 2, '0'))) as ny, \n"); //年月
executePluginSql.append(" MAX(CONCAT(USEYEAR, LPAD(USEMONTH, 2, '0'))) as ny, \n"); //年月
executePluginSql.append(" GROUP_CONCAT(DISTINCT tbl_lgbsa.PROVINCEID ORDER BY tbl_lgbsa.PROVINCEID SEPARATOR ',') as PROVINCEID, \n"); //行政区域ID
executePluginSql.append(" GROUP_CONCAT(DISTINCT tbl_lgbsa.PROVINCENAME ORDER BY tbl_lgbsa.PROVINCEID SEPARATOR ',') as PROVINCENAME, \n"); //行政区域名称
executePluginSql.append(" sum(tbl_lgbsa.MONTHSAQTY) as MONTHSAQTY, \n"); //本月销量
executePluginSql.append(" SUM(tbl_lgbsa.MONTHSAQTY) as MONTHSAQTY, \n"); //本月销量
executePluginSql.append(" CONCAT(ROUND((SELECT SUM(MONTHSAQTY) FROM yunji_gr_bi_sa_agg)/100000000 ,2), '亿') AS monthsaqty_s, \n");
executePluginSql.append(" CONCAT(ROUND((SELECT SUM(THISSAQTY) FROM yunji_gr_bi_sa_agg)/100000000 ,2), '亿') AS thissaqty_s, \n");
executePluginSql.append(" CONCAT(ROUND((SELECT SUM(LASTSAQTY) FROM yunji_gr_bi_sa_agg)/100000000 ,2), '亿') AS lastsaqty_s, \n");
@@ -62,8 +62,8 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
executePluginSql.append(" CONCAT(ROUND((SELECT SUM(MONTHSAMONEY) FROM yunji_gr_bi_sa_agg)/100000000 ,2), '亿') AS monthsamoney_s, \n");
executePluginSql.append(" CONCAT(ROUND((SELECT SUM(THISSAMONEY) FROM yunji_gr_bi_sa_agg)/100000000,2), '亿') AS thissamoney_s, \n");
executePluginSql.append(" CONCAT(ROUND((SELECT SUM(LASTSAMONEY) FROM yunji_gr_bi_sa_agg)/100000000,2), '亿') AS lastsamoney_s, \n");
executePluginSql.append(" sum(tbl_lgbsa.THISSAQTY) as THISSAQTY, \n"); //本年销量
executePluginSql.append(" sum(tbl_lgbsa.LASTSAQTY) as LASTSAQTY, \n"); //上年销量
executePluginSql.append(" SUM(tbl_lgbsa.THISSAQTY) as THISSAQTY, \n"); //本年销量
executePluginSql.append(" SUM(tbl_lgbsa.LASTSAQTY) as LASTSAQTY, \n"); //上年销量
executePluginSql.append(" -- 数量同比(原有) \n");
executePluginSql.append(" CASE \n");
executePluginSql.append(" WHEN (CASE WHEN sum(tbl_lgbsa.LASTSAQTY) = 0 THEN IF(sum(tbl_lgbsa.THISSAQTY) > 0, 100, 0) \n");
@@ -74,11 +74,11 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
executePluginSql.append(" ELSE (sum(tbl_lgbsa.THISSAQTY) - sum(tbl_lgbsa.LASTSAQTY)) / sum(tbl_lgbsa.LASTSAQTY) * 100 END) < 0 THEN \n");
executePluginSql.append(" CONCAT('🔴 ', ROUND((CASE WHEN sum(tbl_lgbsa.LASTSAQTY) = 0 THEN IF(sum(tbl_lgbsa.THISSAQTY) > 0, 100, 0) \n");
executePluginSql.append(" ELSE (sum(tbl_lgbsa.THISSAQTY) - sum(tbl_lgbsa.LASTSAQTY)) / sum(tbl_lgbsa.LASTSAQTY) * 100 END), 2), '%') \n");
executePluginSql.append("ELSE '0.00%' \n");
executePluginSql.append(" ELSE '0.00%' \n");
executePluginSql.append(" END AS saqty_yoy, \n");
executePluginSql.append(" sum(tbl_lgbsa.MONTHSAMONEY) as MONTHSAMONEY, \n"); //本月销售金额(元)
executePluginSql.append(" sum(tbl_lgbsa.THISSAMONEY) as THISSAMONEY, \n"); //本年销售金额(元)
executePluginSql.append(" sum(tbl_lgbsa.LASTSAMONEY) as LASTSAMONEY, \n"); //上年销售金额(元)
executePluginSql.append(" CONCAT(ROUND(SUM(tbl_lgbsa.MONTHSAMONEY) / 10000, 2), '万') as MONTHSAMONEY, \n"); //本月销售金额(元)
executePluginSql.append(" CONCAT(ROUND(SUM(tbl_lgbsa.THISSAMONEY) / 10000, 2), '万') as THISSAMONEY, \n"); //本年销售金额(元)
executePluginSql.append(" CONCAT(ROUND(SUM(tbl_lgbsa.LASTSAMONEY) / 10000, 2), '万') as LASTSAMONEY, \n"); //上年销售金额(元)
executePluginSql.append(" -- 销售金额同比(原有新增) \n");
executePluginSql.append(" CASE \n");
executePluginSql.append(" WHEN (CASE WHEN sum(tbl_lgbsa.LASTSAMONEY) = 0 THEN IF(sum(tbl_lgbsa.THISSAMONEY) > 0, 100, 0) \n");
@@ -91,9 +91,9 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
executePluginSql.append(" ELSE (sum(tbl_lgbsa.THISSAMONEY) - sum(tbl_lgbsa.LASTSAMONEY)) / sum(tbl_lgbsa.LASTSAMONEY) * 100 END), 2), '%') \n");
executePluginSql.append(" ELSE '0.00%' \n");
executePluginSql.append(" END AS samoney_yoy, \n"); //销售收入同比
executePluginSql.append(" sum(tbl_lgbsa.MONTHPROFIT) as MONTHPROFIT, \n"); //本月毛利额(元)
executePluginSql.append(" sum(tbl_lgbsa.THISPROFIT) as THISPROFIT, \n"); //本年毛利额(元)
executePluginSql.append(" sum(tbl_lgbsa.LASTPROFIT) as LASTPROFIT, \n"); //上年毛利额(元)
executePluginSql.append(" CONCAT(ROUND(SUM(tbl_lgbsa.MONTHPROFIT) / 10000, 2), '万') as MONTHPROFIT, \n"); //本月毛利额(元)
executePluginSql.append(" CONCAT(ROUND(SUM(tbl_lgbsa.THISPROFIT) / 10000, 2), '万') as THISPROFIT, \n"); //本年毛利额(元)
executePluginSql.append(" CONCAT(ROUND(SUM(tbl_lgbsa.LASTPROFIT) / 10000, 2), '万') as LASTPROFIT, \n"); //上年毛利额(元)
executePluginSql.append(" -- 新增:毛利同比 \n");
executePluginSql.append(" CASE \n");
executePluginSql.append(" -- 正数红色圆点emoji + 数值 + % \n");
@@ -109,12 +109,12 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
executePluginSql.append(" -- 0值直接显示 \n");
executePluginSql.append(" ELSE '0.00%' \n");
executePluginSql.append(" END AS profit_yoy, \n"); //毛利同比
executePluginSql.append(" sum(tbl_lgbsa.MONTHCOST) as MONTHCOST, \n"); //本月销售成本(元)
executePluginSql.append(" avg(tbl_lgbsa.PROFITCHANGE) as PROFITCHANGE, \n"); //毛利变动(元)
executePluginSql.append(" avg(tbl_lgbsa.PROFITGROWTH) as PROFITGROWTH, \n"); //毛利额增长率
executePluginSql.append(" avg(tbl_lgbsa.THISPROFITRATE) as THISPROFITRATE, \n"); //本年毛利率
executePluginSql.append(" avg(tbl_lgbsa.SAMONEYGROWTH) as SAMONEYGROWTH, \n"); //销售金额增长率
executePluginSql.append(" max(tbl_lgbsa.LASTPROFITSHARE), \n"); //上年毛利额占比
executePluginSql.append(" CONCAT(ROUND(SUM(tbl_lgbsa.MONTHCOST) / 10000, 2), '万') as MONTHCOST, \n"); //本月销售成本(元)
executePluginSql.append(" ROUND(avg(tbl_lgbsa.PROFITCHANGE), 2) as PROFITCHANGE, \n"); //毛利变动(元)
executePluginSql.append(" ROUND(avg(tbl_lgbsa.PROFITGROWTH), 2) as PROFITGROWTH, \n"); //毛利额增长率
executePluginSql.append(" ROUND(avg(tbl_lgbsa.THISPROFITRATE), 2) as THISPROFITRATE, \n"); //本年毛利率
executePluginSql.append(" ROUND(avg(tbl_lgbsa.SAMONEYGROWTH), 2) as SAMONEYGROWTH, \n"); //销售金额增长率
executePluginSql.append(" ROUND(avg(tbl_lgbsa.LASTPROFITSHARE) * 100, 2) as LASTPROFITSHARE, \n"); //上年毛利额占比
executePluginSql.append(" CONCAT(ROUND(avg(tbl_lgbsa.THISPROFITSHARE) * 100, 2), '%') AS THISPROFITSHARE, \n"); //本年毛利额占比
executePluginSql.append(" CONCAT(ROUND(avg(tbl_lgbsa.MONTHPROFITSHARE) * 100, 2), '%') AS MONTHPROFITSHARE, \n"); //本月毛利额占比
executePluginSql.append(" CONCAT(ROUND(avg(tbl_lgbsa.LASTSAMONEYSHARE) * 100, 2), '%') AS LASTSAMONEYSHARE, \n"); //上年销售金额占比