Merge pull request '实现前置增强逻辑,再实现“综合销售情况表” 动态分组逻辑' (#25) from dev_js_20260309 into master
Reviewed-on: #25
This commit was merged in pull request #25.
This commit is contained in:
@@ -13,6 +13,7 @@ import com.lideeyunji.core.framework.config.aspect.enhancereport.model.EnhanceRe
|
|||||||
import com.lideeyunji.core.framework.config.aspect.enhancereport.model.EnhanceReportParam;
|
import com.lideeyunji.core.framework.config.aspect.enhancereport.model.EnhanceReportParam;
|
||||||
import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportAfterAdvicePlugin;
|
import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportAfterAdvicePlugin;
|
||||||
import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportBaseAdvicePlugin;
|
import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportBaseAdvicePlugin;
|
||||||
|
import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportBeforeAdvicePlugin;
|
||||||
import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportPluginManager;
|
import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportPluginManager;
|
||||||
import com.lideeyunji.core.framework.entity.ReportEntity;
|
import com.lideeyunji.core.framework.entity.ReportEntity;
|
||||||
import com.lideeyunji.core.framework.service.IReportService;
|
import com.lideeyunji.core.framework.service.IReportService;
|
||||||
@@ -25,6 +26,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.aspectj.lang.JoinPoint;
|
import org.aspectj.lang.JoinPoint;
|
||||||
import org.aspectj.lang.annotation.AfterReturning;
|
import org.aspectj.lang.annotation.AfterReturning;
|
||||||
import org.aspectj.lang.annotation.Aspect;
|
import org.aspectj.lang.annotation.Aspect;
|
||||||
|
import org.aspectj.lang.annotation.Before;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@@ -113,6 +115,31 @@ public class LideeYunJiReportEnhance extends LideeYunJiBaseEnhance {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Before("@annotation(lideeyunJiReportEnhance)")
|
||||||
|
public void before(JoinPoint joinPoint, LideeyunJiReportEnhance lideeyunJiReportEnhance) throws Throwable {
|
||||||
|
|
||||||
|
//获取参数
|
||||||
|
BuildEnhanceReportContext buildEnhanceContext = this.getContextAndPlugins(joinPoint);
|
||||||
|
if (FuncBase.isEmpty(buildEnhanceContext)) {//没有增强
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
|
||||||
|
//增强列表
|
||||||
|
String javaClass = buildEnhanceContext.getJavaClass();
|
||||||
|
if (Func.isEmpty(javaClass)) {//无增强
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
//有增强,但是增强不是报表增强,直接返回原值
|
||||||
|
ReportBaseAdvicePlugin plugin = ReportPluginManager.getPlugin(javaClass);
|
||||||
|
if (!(plugin instanceof ReportBeforeAdvicePlugin)) {
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
|
||||||
|
EnhanceReportContext context = buildEnhanceContext.getContext();
|
||||||
|
//执行增强
|
||||||
|
ReportPluginManager.executePlugin(javaClass, context);
|
||||||
|
}
|
||||||
|
|
||||||
private BuildEnhanceReportContext getContextAndPlugins(JoinPoint joinPoint) {
|
private BuildEnhanceReportContext getContextAndPlugins(JoinPoint joinPoint) {
|
||||||
Map<String, Object> paramMap = super.getJoinPointParam(joinPoint);
|
Map<String, Object> paramMap = super.getJoinPointParam(joinPoint);
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
package com.lideeyunji.core.framework.config.aspect.enhancereport.plugin;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 报表统计 前置增强(报表统计专属)
|
||||||
|
*/
|
||||||
|
public interface ReportBeforeAdvicePlugin extends ReportBaseAdvicePlugin {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,159 @@
|
|||||||
|
|
||||||
|
package com.lideeyunji.core.framework.enhance.example.report.xtsy;
|
||||||
|
|
||||||
|
import com.lideeyunji.core.framework.config.aspect.enhancereport.model.EnhanceReportContext;
|
||||||
|
import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportBeforeAdvicePlugin;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 报表-系统首页-单表
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component("zhxsqkLineReportEnhance")
|
||||||
|
public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(EnhanceReportContext enhanceContext) {
|
||||||
|
log.info("进入=======>zhxsqkLineReportEnhance=======>execute");
|
||||||
|
Map<String, Object> params = enhanceContext.getParam().getParams();
|
||||||
|
if (params.containsKey("Group by")) {
|
||||||
|
List<String> groupFieldList = Arrays.asList(params.get("Group by").toString().split(","));
|
||||||
|
StringBuilder executePluginSql = new StringBuilder();
|
||||||
|
executePluginSql.append(" SELECT \n");
|
||||||
|
if (groupFieldList.contains("customname")) { //客户名称
|
||||||
|
executePluginSql.append(" tbl_lgbsa.CUSTOMID, \n");
|
||||||
|
executePluginSql.append(" tbl_lgbsa.CUSTOMNAME, \n");
|
||||||
|
}
|
||||||
|
if (groupFieldList.contains("useyear")) { //年
|
||||||
|
executePluginSql.append(" tbl_lgbsa.USEYEAR, \n");
|
||||||
|
}
|
||||||
|
if (groupFieldList.contains("usemonth")) { //月
|
||||||
|
executePluginSql.append(" tbl_lgbsa.USEMONTH, \n");
|
||||||
|
}
|
||||||
|
if (groupFieldList.contains("zonename")) { //业务区域
|
||||||
|
executePluginSql.append(" tbl_lgbsa.ZONEID, \n");
|
||||||
|
executePluginSql.append(" tbl_lgbsa.ZONENAME, \n");
|
||||||
|
}
|
||||||
|
if (groupFieldList.contains("saletypename")) { //销售类型
|
||||||
|
executePluginSql.append(" tbl_lgbsa.SALETYPEID, \n");
|
||||||
|
executePluginSql.append(" tbl_lgbsa.SALETYPENAME, \n");
|
||||||
|
}
|
||||||
|
if (groupFieldList.contains("salername")) { //业务员
|
||||||
|
executePluginSql.append(" tbl_lgbsa.SALERID, \n");
|
||||||
|
executePluginSql.append(" tbl_lgbsa.SALERNAME, \n");
|
||||||
|
}
|
||||||
|
if (groupFieldList.contains("dosagename")) { //剂型
|
||||||
|
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(" 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(" 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");
|
||||||
|
executePluginSql.append(" -- 原本带CAST的字段,简化写法(CONCAT会自动转为字符串) \n");
|
||||||
|
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(" max(tbl_lgbsa.THISSAQTY) as THISSAQTY, \n");
|
||||||
|
executePluginSql.append(" max(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");
|
||||||
|
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(" WHEN (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) < 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(" END AS saqty_yoy, \n");
|
||||||
|
executePluginSql.append(" max(tbl_lgbsa.MONTHSAMONEY) as MONTHSAMONEY, \n");
|
||||||
|
executePluginSql.append(" max(tbl_lgbsa.THISSAMONEY) as THISSAMONEY, \n");
|
||||||
|
executePluginSql.append(" max(tbl_lgbsa.LASTSAMONEY) 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");
|
||||||
|
executePluginSql.append(" ELSE (sum(tbl_lgbsa.THISSAMONEY) - sum(tbl_lgbsa.LASTSAMONEY)) / sum(tbl_lgbsa.LASTSAMONEY) * 100 END) > 0 THEN \n");
|
||||||
|
executePluginSql.append(" CONCAT('🟢 ', ROUND((CASE WHEN sum(tbl_lgbsa.LASTSAMONEY) = 0 THEN IF(sum(tbl_lgbsa.THISSAMONEY) > 0, 100, 0) \n");
|
||||||
|
executePluginSql.append(" ELSE (sum(tbl_lgbsa.THISSAMONEY) - sum(tbl_lgbsa.LASTSAMONEY)) / sum(tbl_lgbsa.LASTSAMONEY) * 100 END), 2), '%') \n");
|
||||||
|
executePluginSql.append(" WHEN (CASE WHEN sum(tbl_lgbsa.LASTSAMONEY) = 0 THEN IF(sum(tbl_lgbsa.THISSAMONEY) > 0, 100, 0) \n");
|
||||||
|
executePluginSql.append(" ELSE (sum(tbl_lgbsa.THISSAMONEY) - sum(tbl_lgbsa.LASTSAMONEY)) / sum(tbl_lgbsa.LASTSAMONEY) * 100 END) < 0 THEN \n");
|
||||||
|
executePluginSql.append(" CONCAT('🔴 ', ROUND((CASE WHEN sum(tbl_lgbsa.LASTSAMONEY) = 0 THEN IF(sum(tbl_lgbsa.THISSAMONEY) > 0, 100, 0) \n");
|
||||||
|
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(" max(tbl_lgbsa.MONTHPROFIT) as MONTHPROFIT, \n"); //本月毛利额(元)
|
||||||
|
executePluginSql.append(" max(tbl_lgbsa.THISPROFIT) as THISPROFIT, \n"); //本年毛利额(元)
|
||||||
|
executePluginSql.append(" max(tbl_lgbsa.LASTPROFIT) as LASTPROFIT, \n"); //上年毛利额(元)
|
||||||
|
executePluginSql.append(" -- 新增:毛利同比 \n");
|
||||||
|
executePluginSql.append(" CASE \n");
|
||||||
|
executePluginSql.append(" -- 正数:红色圆点emoji + 数值 + % \n");
|
||||||
|
executePluginSql.append(" WHEN (CASE WHEN sum(tbl_lgbsa.LASTPROFIT) = 0 THEN IF(sum(tbl_lgbsa.THISPROFIT) > 0, 100, 0) \n");
|
||||||
|
executePluginSql.append(" ELSE (sum(tbl_lgbsa.THISPROFIT) - sum(tbl_lgbsa.LASTPROFIT)) / sum(tbl_lgbsa.LASTPROFIT) * 100 END) > 0 THEN \n");
|
||||||
|
executePluginSql.append(" CONCAT('🟢 ', ROUND((CASE WHEN sum(tbl_lgbsa.LASTPROFIT) = 0 THEN IF(sum(tbl_lgbsa.THISPROFIT) > 0, 100, 0) \n");
|
||||||
|
executePluginSql.append(" ELSE (sum(tbl_lgbsa.THISPROFIT) - sum(tbl_lgbsa.LASTPROFIT)) / sum(tbl_lgbsa.LASTPROFIT) * 100 END), 2), '%') \n");
|
||||||
|
executePluginSql.append(" -- 负数:绿色圆点emoji + 数值 + % \n");
|
||||||
|
executePluginSql.append(" WHEN (CASE WHEN sum(tbl_lgbsa.LASTPROFIT) = 0 THEN IF(sum(tbl_lgbsa.THISPROFIT) > 0, 100, 0) \n");
|
||||||
|
executePluginSql.append(" ELSE (sum(tbl_lgbsa.THISPROFIT) - sum(tbl_lgbsa.LASTPROFIT)) / sum(tbl_lgbsa.LASTPROFIT) * 100 END) < 0 THEN \n");
|
||||||
|
executePluginSql.append(" CONCAT('🔴 ', ROUND((CASE WHEN sum(tbl_lgbsa.LASTPROFIT) = 0 THEN IF(sum(tbl_lgbsa.THISPROFIT) > 0, 100, 0) \n");
|
||||||
|
executePluginSql.append(" ELSE (sum(tbl_lgbsa.THISPROFIT) - sum(tbl_lgbsa.LASTPROFIT)) / sum(tbl_lgbsa.LASTPROFIT) * 100 END), 2), '%') \n");
|
||||||
|
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(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"); //上年销售金额占比
|
||||||
|
executePluginSql.append(" CONCAT(ROUND(avg(tbl_lgbsa.THISSAMONEYSHARE) * 100, 2), '%') AS THISSAMONEYSHARE, \n"); //本年销售金额占比
|
||||||
|
executePluginSql.append(" CONCAT(ROUND(avg(tbl_lgbsa.MONTHSAMONEYSHARE) * 100, 2), '%') AS MONTHSAMONEYSHARE \n"); //本月销售金额占比
|
||||||
|
executePluginSql.append(" FROM \n");
|
||||||
|
executePluginSql.append(" yunji_gr_bi_sa_agg tbl_lgbsa \n");
|
||||||
|
executePluginSql.append(" GROUP BY \n");
|
||||||
|
if (groupFieldList.contains("customname")) {
|
||||||
|
executePluginSql.append(" tbl_lgbsa.CUSTOMID,");
|
||||||
|
executePluginSql.append(" tbl_lgbsa.CUSTOMNAME,");
|
||||||
|
}
|
||||||
|
if (groupFieldList.contains("useyear")) {
|
||||||
|
executePluginSql.append(" tbl_lgbsa.USEYEAR,");
|
||||||
|
}
|
||||||
|
if (groupFieldList.contains("usemonth")) {
|
||||||
|
executePluginSql.append(" tbl_lgbsa.USEMONTH,");
|
||||||
|
}
|
||||||
|
if (groupFieldList.contains("zonename")) {
|
||||||
|
executePluginSql.append(" tbl_lgbsa.ZONEID,");
|
||||||
|
executePluginSql.append(" tbl_lgbsa.ZONENAME,");
|
||||||
|
}
|
||||||
|
if (groupFieldList.contains("saletypename")) {
|
||||||
|
executePluginSql.append(" tbl_lgbsa.SALETYPEID,");
|
||||||
|
executePluginSql.append(" tbl_lgbsa.SALETYPENAME,");
|
||||||
|
}
|
||||||
|
if (groupFieldList.contains("salername")) {
|
||||||
|
executePluginSql.append(" tbl_lgbsa.SALERID,");
|
||||||
|
executePluginSql.append(" tbl_lgbsa.SALERNAME,");
|
||||||
|
}
|
||||||
|
if (groupFieldList.contains("dosagename")) {
|
||||||
|
executePluginSql.append(" tbl_lgbsa.DOSAGEID,");
|
||||||
|
executePluginSql.append(" tbl_lgbsa.DOSAGENAME,");
|
||||||
|
}
|
||||||
|
executePluginSql.deleteCharAt(executePluginSql.length() - 1);
|
||||||
|
params.put("executePluginSql", executePluginSql.toString());
|
||||||
|
// params.remove("Group by"); // 原有的逻辑注释了,这里也注释
|
||||||
|
System.out.println(params);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
package com.lideeyunji.core.framework.enhance.example.report.xtsy;
|
||||||
|
|
||||||
|
import com.lideeyunji.core.framework.config.aspect.enhancereport.model.EnhanceReportContext;
|
||||||
|
import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportBeforeAdvicePlugin;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 报表-系统首页-单表
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component("zhxsqkPlugin")
|
||||||
|
public class zhxsqkPlugin implements ReportBeforeAdvicePlugin {
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(EnhanceReportContext enhanceContext) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1054,8 +1054,14 @@ public class FrameServiceImpl implements IFrameService {
|
|||||||
if (Func.isEmpty(dataSourceConfigModel) || Func.isEmpty(dataSourceConfigModel.getExecuteSql())) {
|
if (Func.isEmpty(dataSourceConfigModel) || Func.isEmpty(dataSourceConfigModel.getExecuteSql())) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
//直接执行数据源
|
//默认从参数中取,参数中的是前置中塞的
|
||||||
queryWrapper.setTableSql(dataSourceConfigModel.getExecuteSql());
|
Object sqlObj = params.get("executePluginSql");
|
||||||
|
if(sqlObj != null){
|
||||||
|
queryWrapper.setTableSql(sqlObj.toString());
|
||||||
|
}else{
|
||||||
|
//直接执行数据源
|
||||||
|
queryWrapper.setTableSql(dataSourceConfigModel.getExecuteSql());
|
||||||
|
}
|
||||||
|
|
||||||
//处理占位符参数
|
//处理占位符参数
|
||||||
Func.replaceParam(dataSourceConfigModel.getExecuteSql(), params, null, lideeYunJiAdapter);
|
Func.replaceParam(dataSourceConfigModel.getExecuteSql(), params, null, lideeYunJiAdapter);
|
||||||
|
|||||||
@@ -1147,10 +1147,10 @@ public class Func extends FuncBase {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(params.containsKey("Group by")){
|
// if(params.containsKey("Group by")){
|
||||||
String[] str=params.get("Group by").toString().split(",");
|
// String[] str=params.get("Group by").toString().split(",");
|
||||||
wrapper.groupByColumns(str);
|
// wrapper.groupByColumns(str);
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user