From 2664e7582c368836a24aa79111ed73db60a48c8f Mon Sep 17 00:00:00 2001 From: zhenggm Date: Tue, 20 Sep 2022 19:09:35 +0800 Subject: [PATCH] =?UTF-8?q?listhandler.buildSumSql=E8=B0=83=E6=95=B4?= =?UTF-8?q?=EF=BC=8C=E5=85=81=E8=AE=B8=E4=B8=8D=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cc/smtweb/system/bpm/web/engine/dynPage/DynPageHelper.java | 8 ++------ .../smtweb/system/bpm/web/engine/dynPage/DynPageListHandler.java | 5 ++++- .../system/bpm/web/engine/model/common/FlowModelListHandler.java | 4 ---- .../cc/smtweb/framework/core/mvc/service/AbstractListHandler.java | 8 ++++---- 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageHelper.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageHelper.java index 8ec90f0..5bb741b 100644 --- a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageHelper.java +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageHelper.java @@ -18,6 +18,7 @@ import cc.smtweb.framework.core.util.SqlUtil; import cc.smtweb.framework.core.util.StringUtil; import cc.smtweb.system.bpm.web.design.form.define.*; import org.apache.commons.lang3.StringUtils; +import org.springframework.lang.NonNull; import java.util.HashMap; import java.util.HashSet; @@ -144,12 +145,7 @@ public class DynPageHelper { * @param params * @return */ - public static SqlNamedPara buildSumSql(PageDataset dataSet, Map params) { - return buildSumSqlEx(dataSet, params, null); - } - - public static SqlNamedPara buildSumSqlEx(PageDataset dataSet, Map params, IBuildSqlListener listener) { - SqlNamedPara sqlNamedPara = buildSelectSqlEx(dataSet, params, listener); + public static SqlNamedPara buildSumSql(PageDataset dataSet, @NonNull SqlNamedPara sqlNamedPara) { StringBuilder sql = new StringBuilder(256); sql.append("select count(1) " + TOTAL_KEY); for (PageDatasetField field : dataSet.fields) { diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageListHandler.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageListHandler.java index 076c8a0..bb59479 100644 --- a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageListHandler.java +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageListHandler.java @@ -6,6 +6,7 @@ import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.EntityHelper; import cc.smtweb.framework.core.db.cache.ModelTableCache; import cc.smtweb.framework.core.db.vo.ModelTable; +import cc.smtweb.framework.core.exception.SwException; import cc.smtweb.framework.core.mvc.service.AbstractListHandler; import cc.smtweb.framework.core.mvc.service.SqlNamedPara; import cc.smtweb.framework.core.mvc.service.SqlPara; @@ -75,7 +76,9 @@ public class DynPageListHandler extends AbstractListHandler { @Override protected SqlNamedPara buildSumSqlPara() { - return DynPageHelper.buildSumSql(pageDataSet, filter); + SqlNamedPara sqlPara = getCache(KEY_SQLPARA); + if (sqlPara == null) sqlPara = buildDataSql(); + return DynPageHelper.buildSumSql(pageDataSet, sqlPara); } @Override diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/FlowModelListHandler.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/FlowModelListHandler.java index 14ced1b..13c4237 100644 --- a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/FlowModelListHandler.java +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/FlowModelListHandler.java @@ -24,8 +24,4 @@ public class FlowModelListHandler extends ModelListHandler { return DynPageHelper.buildSelectSqlEx(pageDataSet, filter, sqlListener); } - @Override - protected SqlNamedPara buildSumSqlPara() { - return DynPageHelper.buildSumSqlEx(pageDataSet, filter, sqlListener); - } } diff --git a/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/mvc/service/AbstractListHandler.java b/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/mvc/service/AbstractListHandler.java index 9ee3f98..c64bf1b 100644 --- a/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/mvc/service/AbstractListHandler.java +++ b/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/mvc/service/AbstractListHandler.java @@ -140,9 +140,9 @@ public abstract class AbstractListHandler extends AbstractHandler { } } - protected SqlPara buildDataSql() { + protected T buildDataSql() { //从缓存里看看有没有保存的sql缓存; - SqlPara sqlParaInCache = getCache(KEY_SQLPARA); //缓存里面的对象; + T sqlParaInCache = getCache(KEY_SQLPARA); //缓存里面的对象; boolean query = sqlParaInCache == null || params.readBool("query"); if (!query) { Map map = getCache(KEY_PARAMS); @@ -164,7 +164,7 @@ public abstract class AbstractListHandler extends AbstractHandler { } } } - SqlPara sqlPara = null; + T sqlPara = null; if (query) {//新查询 //缓存里面没有对象,重新构建查询条件,重新计算汇总数; buildParam();//构造过滤条件,设默认值 @@ -203,7 +203,7 @@ public abstract class AbstractListHandler extends AbstractHandler { protected void afterQuery(List listData) { } - protected abstract SqlPara buildSqlPara(); + protected abstract T buildSqlPara(); //构建合计字段 private List getFooterFields() {