修复 综合销售情况表 中 维度+ 查询 复合查询问题

This commit is contained in:
king
2026-03-16 17:12:42 +08:00
parent 07acf63f7c
commit 3e57dd9f44

View File

@@ -25,32 +25,36 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
List<String> groupFieldList = Arrays.asList(params.get("Group by").toString().split(","));
StringBuilder executePluginSql = new StringBuilder();
executePluginSql.append(" SELECT \n");
if (groupFieldList.contains("customname")) { //客户名称
if (groupFieldList.contains("customname") || params.containsKey("customname")) { //客户名称
executePluginSql.append(" tbl_lgbsa.CUSTOMID, \n");
executePluginSql.append(" tbl_lgbsa.CUSTOMNAME, \n");
}
if (groupFieldList.contains("useyear")) { //年
if (groupFieldList.contains("useyear") || params.containsKey("useyear")) { //年
executePluginSql.append(" tbl_lgbsa.USEYEAR, \n");
}
if (groupFieldList.contains("usemonth")) { //月
if (groupFieldList.contains("usemonth") || params.containsKey("usemonth")) { //月
executePluginSql.append(" tbl_lgbsa.USEMONTH, \n");
}
if (groupFieldList.contains("zonename")) { //业务区域
if (groupFieldList.contains("zonename") || params.containsKey("zonename")) { //业务区域
executePluginSql.append(" tbl_lgbsa.ZONEID, \n");
executePluginSql.append(" tbl_lgbsa.ZONENAME, \n");
}
if (groupFieldList.contains("saletypename")) { //销售类型
if (groupFieldList.contains("saletypename") || params.containsKey("saletypename")) { //销售类型
executePluginSql.append(" tbl_lgbsa.SALETYPEID, \n");
executePluginSql.append(" tbl_lgbsa.SALETYPENAME, \n");
}
if (groupFieldList.contains("salername")) { //业务员
if (groupFieldList.contains("salername") || params.containsKey("salername")) { //业务员
executePluginSql.append(" tbl_lgbsa.SALERID, \n");
executePluginSql.append(" tbl_lgbsa.SALERNAME, \n");
}
if (groupFieldList.contains("dosagename")) { //剂型
if (groupFieldList.contains("dosagename") || params.containsKey("dosagename")) { //剂型
executePluginSql.append(" tbl_lgbsa.DOSAGEID, \n");
executePluginSql.append(" tbl_lgbsa.DOSAGENAME, \n");
}
if (params.containsKey("goodsname")) { //货品名称
executePluginSql.append(" tbl_lgbsa.GOODSID, \n");
executePluginSql.append(" tbl_lgbsa.GOODSNAME, \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"); //行政区域名称
@@ -123,32 +127,36 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
executePluginSql.append(" FROM \n");
executePluginSql.append(" yunji_gr_bi_sa_agg tbl_lgbsa \n");
executePluginSql.append(" GROUP BY \n");
if (groupFieldList.contains("customname")) {
if (groupFieldList.contains("customname") || params.containsKey("customname")) {
executePluginSql.append(" tbl_lgbsa.CUSTOMID,");
executePluginSql.append(" tbl_lgbsa.CUSTOMNAME,");
}
if (groupFieldList.contains("useyear")) {
if (groupFieldList.contains("useyear") || params.containsKey("useyear")) {
executePluginSql.append(" tbl_lgbsa.USEYEAR,");
}
if (groupFieldList.contains("usemonth")) {
if (groupFieldList.contains("usemonth") || params.containsKey("usemonth")) {
executePluginSql.append(" tbl_lgbsa.USEMONTH,");
}
if (groupFieldList.contains("zonename")) {
if (groupFieldList.contains("zonename") || params.containsKey("zonename")) {
executePluginSql.append(" tbl_lgbsa.ZONEID,");
executePluginSql.append(" tbl_lgbsa.ZONENAME,");
}
if (groupFieldList.contains("saletypename")) {
if (groupFieldList.contains("saletypename") || params.containsKey("saletypename")) {
executePluginSql.append(" tbl_lgbsa.SALETYPEID,");
executePluginSql.append(" tbl_lgbsa.SALETYPENAME,");
}
if (groupFieldList.contains("salername")) {
if (groupFieldList.contains("salername") || params.containsKey("salername")) {
executePluginSql.append(" tbl_lgbsa.SALERID,");
executePluginSql.append(" tbl_lgbsa.SALERNAME,");
}
if (groupFieldList.contains("dosagename")) {
if (groupFieldList.contains("dosagename") || params.containsKey("dosagename")) {
executePluginSql.append(" tbl_lgbsa.DOSAGEID,");
executePluginSql.append(" tbl_lgbsa.DOSAGENAME,");
}
if (params.containsKey("goodsname")) { //货品名称
executePluginSql.append(" tbl_lgbsa.GOODSID,");
executePluginSql.append(" tbl_lgbsa.GOODSNAME,");
}
executePluginSql.deleteCharAt(executePluginSql.length() - 1);
params.put("executePluginSql", executePluginSql.toString());
// params.remove("Group by"); // 原有的逻辑注释了,这里也注释