From 89c89b73cc59d8c296bc110ad1f70641921b284d Mon Sep 17 00:00:00 2001 From: zhenggm Date: Mon, 4 Jul 2022 20:11:40 +0800 Subject: [PATCH] =?UTF-8?q?js=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cc/smtweb/framework/core/common/SwEnum.java | 1 + .../bpm/web/design/form/CodeBuildHandler.java | 12 +++--- .../web/design/preview/PreviewMenuTreeService.java | 8 +++- .../bpm/web/engine/dynPage/DynPageLoadHandler.java | 32 ++++++++++----- .../bpm/web/engine/dynPage/DynPageSaveHandler.java | 6 ++- .../system/bpm/web/sys/user/area/AreaCache.java | 2 +- .../system/bpm/web/sys/user/area/AreaHandler.java | 35 +++++++++++++++++ .../system/bpm/web/sys/user/area/AreaService.java | 9 +++++ .../src/main/resources/config/application-dev.yaml | 45 ---------------------- .../main/resources/config/application-prod.yaml | 33 ---------------- .../main/resources/static/template/java_cache.ftl | 2 +- 11 files changed, 88 insertions(+), 97 deletions(-) create mode 100644 smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/area/AreaHandler.java delete mode 100644 smtweb-framework/sw-system-bpm/src/main/resources/config/application-dev.yaml delete mode 100644 smtweb-framework/sw-system-bpm/src/main/resources/config/application-prod.yaml diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwEnum.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwEnum.java index 7c7d381..d859d04 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwEnum.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/common/SwEnum.java @@ -124,6 +124,7 @@ public interface SwEnum { public static DataTypeBean NAME = instance.addEnum("name", "名称", "varchar", 100, "String", "Str", Types.VARCHAR, "", EditorType.INPUT.value); public static DataTypeBean REMARK = instance.addEnum("remark", "备注", "varchar", 255, "String", "Str", Types.VARCHAR, "", EditorType.INPUT.value); public static DataTypeBean TEXT = instance.addEnum("text", "大文本", "text", 0, "String", "Str", Types.CLOB, "", EditorType.TEXT.value); + public static DataTypeBean LONG = instance.addEnum("long", "长整型", "bigint", 0, "long", "Long", Types.BIGINT, "0", EditorType.INPUT.value); public static DataTypeBean INT = instance.addEnum("int", "整型", "int", 0, "int", "Int", Types.INTEGER, "0", EditorType.NUMBER.value); public static DataTypeBean SHORT = instance.addEnum("short", "短整型", "smallint", 0, "int", "Int", Types.SMALLINT, "0", EditorType.NUMBER.value); public static DataTypeBean BOOL = instance.addEnum("bool", "布尔型", "tinyint", 0, "boolean", "Bool", Types.TINYINT, "0", EditorType.SWITCH.value); diff --git a/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/CodeBuildHandler.java b/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/CodeBuildHandler.java index 1382049..e33682f 100644 --- a/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/CodeBuildHandler.java +++ b/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/CodeBuildHandler.java @@ -84,6 +84,12 @@ public class CodeBuildHandler extends AbstractHandler { } new File(codeJavaPath).mkdirs(); + SwMap model = new SwMap(); + model.put("user", userName); + model.put("sysTime", DateUtil.nowDateTime()); + model.put("title", form.getTitle()); + model.put("eventPath", ModelFormHelper.getEventPath(form)); + CodeGenerator.getInstance().generateJsEvent(model, codeJavaPath + "/" + form.getName() + ".js"); return R.success(); } @@ -118,12 +124,6 @@ public class CodeBuildHandler extends AbstractHandler { } codeJavaPath += packageName.replaceAll("\\.", "/"); new File(codeJavaPath).mkdirs(); - - SwMap model = new SwMap(); - model.put("user", userName); - model.put("sysTime", DateUtil.nowDateTime()); - model.put("title", form.getTitle()); - CodeGenerator.getInstance().generateJsEvent(model, codeJavaPath + "/" + form.getName() + ".js"); } /** diff --git a/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/preview/PreviewMenuTreeService.java b/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/preview/PreviewMenuTreeService.java index a579a12..e1a308d 100644 --- a/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/preview/PreviewMenuTreeService.java +++ b/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/design/preview/PreviewMenuTreeService.java @@ -12,6 +12,7 @@ import cc.smtweb.system.bpm.util.TreeDataUtil; import cc.smtweb.system.bpm.web.design.db.ModelProjectCache; import cc.smtweb.system.bpm.web.design.form.ModelForm; import cc.smtweb.system.bpm.web.design.form.ModelFormCache; +import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; import java.util.List; @@ -23,7 +24,12 @@ public class PreviewMenuTreeService { public R treeAll(@SwParam("module") String module, UserSession us) { String prj_id = ModelProjectCache.getInstance().getIdByModule(module); - List listForm = new ArrayList<>(ModelFormCache.getInstance().getFormsByPrj(Long.parseLong(prj_id))); + List listForm; + if (StringUtils.isNotEmpty(prj_id)) { + listForm = new ArrayList<>(ModelFormCache.getInstance().getFormsByPrj(Long.parseLong(prj_id))); + } else { + listForm = new ArrayList<>(ModelFormCache.getInstance().getAll()); + } listForm.sort((o1, o2) -> CommUtil.chineseCompare(o1.getTitle(), o2.getTitle())); if (listForm.isEmpty()) throw new BizException("此项目无页面设计!"); diff --git a/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageLoadHandler.java b/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageLoadHandler.java index ca91983..4f96b3d 100644 --- a/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageLoadHandler.java +++ b/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageLoadHandler.java @@ -34,31 +34,45 @@ public class DynPageLoadHandler extends AbstractDynPageHandler { continue; } if (SwEnum.DatasetType.FORM.value.equals(dataSet.type)) {//单表 + SwMap data; //懒加载,给个空对象 if (dataSet.lazy) { - mapRet.put(dataSet.name, new SwMap()); - continue; + data = new SwMap(); + } else { + data = DynPageHelper.createBean(dataSet); } - mapRet.put(dataSet.name, DynRetBean.createBean(DynPageHelper.createBean(dataSet))); + afterAddBean(dataSet, data); + mapRet.put(dataSet.name, DynRetBean.createBean(data)); } else if (SwEnum.DatasetType.TREE.value.equals(dataSet.type)) {//树 - mapRet.put(dataSet.name, DynRetBean.createBean(new SwMap())); + SwMap data = new SwMap(); + afterAddBean(dataSet, data); + mapRet.put(dataSet.name, DynRetBean.createBean(data)); } else if (!SwEnum.DatasetType.ENUM.value.equals(dataSet.type)) {//非枚举 - mapRet.put(dataSet.name, DynRetBean.createList(SwListData.create(null, 0))); + SwListData listData = SwListData.create(null, 0); + afterAddList(dataSet, listData); + mapRet.put(dataSet.name, DynRetBean.createList(listData)); } } return R.success(mapRet); } + //新增初始化 - bean + protected void afterAddBean(PageDataset dataset, SwMap bean){} + //新增初始化 - list + protected void afterAddList(PageDataset dataset, SwListData bean){} + //新增操作,初始化定义的数据集 public R addOne() { //对应的数据集定义 - PageDataset pageDataSet = readParamDs(); + PageDataset dataset = readParamDs(); - if (!pageDataSet.canEdit) { - return R.error("指定数据集为只读数据集[" + pageDataSet.label + "]!"); + if (!dataset.canEdit) { + return R.error("指定数据集为只读数据集[" + dataset.label + "]!"); } //懒加载,给个空对象 - return R.success(DynRetBean.createBean(DynPageHelper.createBean(pageDataSet))); + SwMap data = DynPageHelper.createBean(dataset); + afterAddBean(dataset, data); + return R.success(DynRetBean.createBean(data)); } public R loadOne() { diff --git a/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageSaveHandler.java b/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageSaveHandler.java index 9991b41..3e18418 100644 --- a/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageSaveHandler.java +++ b/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/engine/dynPage/DynPageSaveHandler.java @@ -34,6 +34,10 @@ import java.util.Map; public class DynPageSaveHandler extends AbstractDynPageHandler { private Map> mapTreeBean = new HashMap<>(); + protected void setNewId(DefaultEntity bean) { + bean.setEntityId(DbEngine.getInstance().nextId()); + } + /** * 保存指定数据集操作,入参:{pageId,dataset:"", data:{form:{},list: {total:0,rows:[]}}, filter:{}} */ @@ -152,7 +156,7 @@ public class DynPageSaveHandler extends AbstractDynPageHandler { if (id <= 0) { bean = dao.createBean(); bean.setIsNew(true); - bean.setEntityId(DbEngine.getInstance().nextId()); + setNewId(bean); } else { bean = dao.queryEntity(id); if (bean == null) { diff --git a/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/area/AreaCache.java b/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/area/AreaCache.java index f09f144..ec000b5 100644 --- a/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/area/AreaCache.java +++ b/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/area/AreaCache.java @@ -13,7 +13,7 @@ import java.util.Set; * Created by 1 at 2022-06-17 07:58:14 * 实体【[行政区划](SYS_AREA)】的缓存类 */ -@SwCache(ident = "SYS_AREA", title = "页面定义") +@SwCache(ident = "SYS_AREA", title = "行政区划") public class AreaCache extends AbstractEntityCache { //缓存key:按父ID public final static String mk_pr = "pr"; diff --git a/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/area/AreaHandler.java b/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/area/AreaHandler.java new file mode 100644 index 0000000..42cee9b --- /dev/null +++ b/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/area/AreaHandler.java @@ -0,0 +1,35 @@ +package cc.smtweb.system.bpm.web.sys.user.area; + +import cc.smtweb.framework.core.common.SwMap; +import cc.smtweb.framework.core.db.impl.DefaultEntity; +import cc.smtweb.system.bpm.web.design.form.define.PageDataset; +import cc.smtweb.system.bpm.web.engine.dynPage.DynPageLoadHandler; +import cc.smtweb.system.bpm.web.engine.dynPage.DynPageSaveHandler; + +/** + * Created by Akmm at 2022/7/1 15:47 + * 区划保存 + */ +public class AreaHandler { + static class AreaSaveHandler extends DynPageSaveHandler { + @Override + protected void setNewId(DefaultEntity bean) { + if (bean instanceof Area) { + Area area = (Area) bean; + area.setEntityId(Long.parseLong(area.getCode())); + } else { + super.setNewId(bean); + } + } + } + + static class AreaLoadHandler extends DynPageLoadHandler { + @Override + protected void afterAddBean(PageDataset dataset, SwMap bean) { + super.afterAddBean(dataset, bean); + Area area = new Area(); + area.setData(bean); +// area.setSeq(); + } + } +} diff --git a/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/area/AreaService.java b/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/area/AreaService.java index 1fb31fc..7d724b7 100644 --- a/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/area/AreaService.java +++ b/smtweb-framework/sw-system-bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/area/AreaService.java @@ -4,6 +4,9 @@ import cc.smtweb.framework.core.annotation.SwBody; import cc.smtweb.framework.core.annotation.SwService; import cc.smtweb.framework.core.common.R; import cc.smtweb.framework.core.common.SwMap; +import cc.smtweb.system.bpm.web.engine.dynPage.DynPageDelHandler; +import cc.smtweb.system.bpm.web.engine.dynPage.DynPageLoadHandler; +import cc.smtweb.system.bpm.web.engine.dynPage.DynPageSaveHandler; import cc.smtweb.system.bpm.web.engine.dynPage.DynPageService; import cc.smtweb.framework.core.mvc.service.AbstractHandler; import cc.smtweb.framework.core.session.UserSession; @@ -17,6 +20,12 @@ public class AreaService extends DynPageService { //public final static String TYPE_DEMO = "demo"; @Override protected AbstractHandler createHandler(String type) { + switch (type) { + case TYPE_SAVE: + return new AreaHandler.AreaSaveHandler(); + case TYPE_LOAD: + return new AreaHandler.AreaLoadHandler(); + } return super.createHandler(type); } diff --git a/smtweb-framework/sw-system-bpm/src/main/resources/config/application-dev.yaml b/smtweb-framework/sw-system-bpm/src/main/resources/config/application-dev.yaml deleted file mode 100644 index 5d61abf..0000000 --- a/smtweb-framework/sw-system-bpm/src/main/resources/config/application-dev.yaml +++ /dev/null @@ -1,45 +0,0 @@ -smtweb: - machine-id: 1 - file: - local-path: /data/sw/files/ - url: http://127.0.0.1:8888/sw/files/ - bpm: - debug: true - code-java-path: '/code/2021/java/sw-sys-uc/sw-sys-uc-web/src/main/java/' - code-java-package: 'cc.smtweb.system.uc.web' - config-ui-path: '/code/2021/java/sw-sys-uc/sw-sys-uc-web/src/main/resources/plugin/config/' - db: - type: mysql - default: - rule: - prefix: _smt_ - replace: smt_ -server: - port: 8888 - servlet: - context-path: / -logging: - level: - root: INFO - cc.smtweb: DEBUG -spring: - redis: - host: 127.0.0.1 - port: 6379 - password: - datasource: - driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://127.0.0.1:3306/smt_asp?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false - username: root - password: root - servlet: - multipart: - max-file-size: 104857600000 - max-request-size: 10485760000000 - cache: - type: caffeine - cache-names: - - core - - bpm - caffeine: - spec: maximumSize=1024,expireAfterWrite=2h diff --git a/smtweb-framework/sw-system-bpm/src/main/resources/config/application-prod.yaml b/smtweb-framework/sw-system-bpm/src/main/resources/config/application-prod.yaml deleted file mode 100644 index 6514125..0000000 --- a/smtweb-framework/sw-system-bpm/src/main/resources/config/application-prod.yaml +++ /dev/null @@ -1,33 +0,0 @@ -sme: - machine-id: 1 - file-local-path: /data/files/smart/ - file-host: http://bpm.smtweb.cc - file-url: ${sme.file-host}:${server.port}${server.servlet.context-path}/${sme.file-local-path} -server: - port: 10001 - servlet: - context-path: / -logging: - level: - smtweb: DEBUG -spring: - main: - allow-bean-definition-overriding: true - mvc: - static-path-pattern: /static/** - redis: - host: 127.0.0.1 - port: 6379 - datasource: - user: - driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://127.0.0.1:3306/smt_user?useUnicode=true&characterEncoding=utf-8&useTimezone=true&serverTimezone=CTT&allowMultiQueries=true - username: smt - password: smt_123456 - servlet: - multipart: - max-file-size: 104857600000 - max-request-size: 10485760000000 - - - diff --git a/smtweb-framework/sw-system-bpm/src/main/resources/static/template/java_cache.ftl b/smtweb-framework/sw-system-bpm/src/main/resources/static/template/java_cache.ftl index 48a25c3..81fc0ad 100644 --- a/smtweb-framework/sw-system-bpm/src/main/resources/static/template/java_cache.ftl +++ b/smtweb-framework/sw-system-bpm/src/main/resources/static/template/java_cache.ftl @@ -13,7 +13,7 @@ import java.util.Set; * Created by ${user} at ${sysTime} * 实体【[${tableTitle}](${tableName})】的缓存类 */ -@SwCache(ident = "${tableName}", title = "页面定义") +@SwCache(ident = "${tableName}", title = "${tableTitle}") public class ${beanName}Cache extends AbstractEntityCache<${beanName}> { <#list caches as cache> //缓存key:${cache.title}