修改流程
1.根据共同的属性,把两个大表单分成不同的小model,每个model都是要修改的一块,
做成要修改的类型:+----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| name | varchar(256) | NO | | | |
| code | varchar(64) | NO | | | |
| desc | varchar(256) | NO | | | |
| sort | tinyint(4) | NO | | 0 | |
| save_sort | tinyint(4) | NO | | 0 | |
| status | tinyint(4) | NO | | 0 | |
| persist_class | varchar(256) | NO | | NULL | |
| persist_method | varchar(64) | NO | | NULL | |
| save_class | varchar(256) | NO | | NULL | |
| save_method | varchar(64) | NO | | NULL | |
| page_class | varchar(255) | NO | | NULL | |
| page_method | varchar(64) | NO | | NULL | |
| view_class | varchar(255) | NO | | NULL | |
| view_method | varchar(64) | NO | | NULL | |
| history_class | varchar(255) | NO | | NULL | |
| history_method | varchar(64) | NO | | NULL | |
| access_niux | tinyint(4) | NO | | 0 | |
| access_manage | tinyint(4) | NO | | 0 | |
| access_yunying | tinyint(4) | NO | | 0 | |
+----------------+--------------+------+-----+---------+----------------+
每个修改类型对应不同的页面展示类,修改类,查看类、历史信息查看类
根据q_data_modify_sort 中定义的页面展示方法page、持久化方法persist、同步线上库方法save。
持久化表:
mysql> desc q_data_modify_view;
+--------------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+-------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| process_history_id | bigint(20) | NO | MUL | NULL | |
| sort_id | bigint(20) | NO | | NULL | |
| deal_id | bigint(20) | NO | MUL | NULL | |
| content | text | NO | | NULL | |
| create_date | datetime | NO | | NULL | |
| creator | bigint(20) | NO | | NULL | |
| creator_name | varchar(64) | NO | | NULL | |
| is_pass | tinyint(4) | NO | | 2 | |
| version | tinyint(4) | NO | | NULL | |
+--------------------+-------------+------+-----+---------+----------------+
1.用到的技术是反射代理:
/* 1.销售进入修改页面 */
public String entryDataModifyPage(
Invocation inv,
@Param("dealId") Integer dealId,
@Param("processId") Integer processId,
@Param("version") Integer version,
@Param("sortId") Integer sortId) throws Exception {
inv.addModel("version", version);
long preTime = System.currentTimeMillis();
DataModifySort dataModifySort = editService.getDataModifySortBySortId(sortId);
Object obj = SpringConfigTool.getBean(dataModifySort.getPageClass());
Method method = obj.getClass().getMethod(dataModifySort.getPageMethod(), Invocation.class,
Integer.class, Integer.class, Integer.class);
String ret = (String) method.invoke(obj, inv, dealId, processId, version);
System.out.println("["+dataModifySort.getName()+"].page cost time ["+(System.currentTimeMillis()-preTime)+"]");
return ret;
}
2.序列化
public String serialize() {
JSONObject obj = JSONObject.fromObject(this);
return obj.toString();
}
public BaseEditObject unSerialize(String json) {
if(json!=null){
JSONObject obj = JSONObject.fromObject(json);
return (BaseEditObject)JSONObject.toBean(obj,BaseEditObject.class);
}
return null;
}
分享到:
相关推荐
利用反射,轻松绑定表单数据,一个反射可以绑定任意表数据,只需要传FORM对象及表名参数,开发利器
本项目JDK8x64+SpringBoot+MyBatis+Redis+Durid+Beetl的框架组合的开源OA系统,自研工作流引擎,支持可视化表单设计与流程设计。支持分布式部署,支持文档全文检索,支持集群应用,支持私有化部署,支持钉钉微信,...
基于Vue,ElementUI快速创建生成表单,进行数据校验,获取表单数据
独立插件式后台,界面简洁流畅,不论表单还是流畅,全程可视化拖曳操作,让你不懂代码也能自己设计流程。 流程市场共享 系统内部集成流程市场,客户上传自己设计的流程到流程市场,其他客户有相似需求,可以下载...
利用ajax提交表单完整流程
JavaScript实现的可视化表单设计器源码。实现的可视化表单设计器。基于Vue的可视化表单设计器,让表单开发简单而高效。 特性如下: 可视化配置页面 提供栅格布局,并采用flex实现对齐 一键预览配置的效果 一键生成...
jquery插件 利用json 绑定 form 表单数据
flex 表单数据合法性验证flex 表单数据合法性验证flex 表单数据合法性验证flex 表单数据合法性验证
利用javascript相互传递参数 间接获取表单数据
表单数据传输方式,大家在开发中一定会遇到的,希望对大家有所帮助
Nodejs自定义解析表单数据的中间件案例
主要给大家介绍了基于React实现表单数据的添加和删除的方法,文中给出了详细的示例供大家参考,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
validate-formdata 用于验证表单数据的数据结构
JAVA动态表单设计,自定义表单,自定义数据,在线设计,数据库存储
通用表单数据录入系统是一款通用数据录入(登记)系统,自己DIY设计录入模型(表单),可以快速查询 排序 复制 打开等,曾经为了某种具体数据录入需求(特定应用模型)而找人定制软件的时代过去了,这是一款可面向任何...
可视化表单制作可视化表单制作可视化表单制作可视化表单制作
在form表单上添加一个提交事件调用验证数据方法 (this,3);"> 请输入正确的手机号!" requiremsg="移动电话不能为空!"/> require指不能为空(true表示不允许为空),dataType指数据类型(Mobile表示是手机...
主要给大家介绍了关于利用JS如何获取form表单数据的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JS具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
泛微OA的表结构,包括表单建模、流程引擎、人力资源和组织权限,泛微E8版本,e-cology
智慧表单流程V8.3.0