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 5f68902..d78f1f7 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 @@ -76,12 +76,11 @@ public class DynPageHelper { } //构建树型查询语句,插入parent_id=? - public static SqlNamedPara buildTreeSelectSql(PageDataset dataSet, SwMap params) { + public static SqlNamedPara buildTreeSelectSql(PageDataset dataSet, SwMap params, long parentId) { ModelTable table = ModelTableCache.getInstance().get(dataSet.masterTable); if (table == null) throw new SwException("没有找到指定的表:" + dataSet.masterTable); SqlNamedPara sqlNamedPara = buildWhereSql(dataSet, params); if (table.getType() == SwEnum.TableType.TYPE_TREE.value) {//是树型结构,才做处理 - long parentId = params.readLong("parent_id"); ModelField field = table.findFieldByType(SwEnum.FieldType.PARENT_ID.value); if (field == null) throw new SwException("树型表(" + table.getName() + ")未定义上级id字段!"); diff --git a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageTreeHandler.java b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageTreeHandler.java index f6a2a5c..78946ee 100644 --- a/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageTreeHandler.java +++ b/smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageTreeHandler.java @@ -1,5 +1,6 @@ package cc.smtweb.system.bpm.web.engine.dynPage; +import cc.smtweb.framework.core.common.SwConsts; import cc.smtweb.framework.core.common.SwEnum; import cc.smtweb.framework.core.common.SwMap; import cc.smtweb.framework.core.db.DbEngine; @@ -51,8 +52,8 @@ public class DynPageTreeHandler extends AbstractTreeHandler { * 构建sql * @return */ - protected SqlNamedPara buildDataSqlPara() { - return DynPageHelper.buildTreeSelectSql(pageDataSet, filter); + protected SqlNamedPara buildDataSqlPara(long id) { + return DynPageHelper.buildTreeSelectSql(pageDataSet, filter, id); } /** @@ -65,7 +66,8 @@ public class DynPageTreeHandler extends AbstractTreeHandler { @Override protected List getChildren(long id) { - SqlNamedPara sqlPara = buildDataSqlPara(); + if (id <= 0) id = SwConsts.DEF_ROOT_ID_LONG; + SqlNamedPara sqlPara = buildDataSqlPara(id); return DbEngine.getInstance().queryN(sqlPara.sql, sqlPara.mapParas, SwMap.class); } diff --git a/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/common/SwConsts.java b/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/common/SwConsts.java index 65df21a..f54e606 100644 --- a/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/common/SwConsts.java +++ b/smtweb-framework/core/src/main/java/cc/smtweb/framework/core/common/SwConsts.java @@ -10,6 +10,7 @@ public interface SwConsts { String SPLIT_CHAR = "-"; //默认根节点 String DEF_ROOT_ID = "-1"; + long DEF_ROOT_ID_LONG = -1; //列表分页的页码和每页记录数 String PARAM_PAGE = "page";