公司的网站如何做,什么是优化问题,网络软件开发技术,wordpress 多站点 无法访问1. 工作规划#xff1a;完成系统请假管理的功能。 #xff08;1#xff09;根据系统需求完成请假管理model#xff1b; #xff08;2#xff09;进行请假流程的deployment#xff1b; #xff08;3#xff09;进行请假流程的流程定义管理#xff1b; #xff08;4完成系统请假管理的功能。 1根据系统需求完成请假管理model 2进行请假流程的deployment 3进行请假流程的流程定义管理 4进行流程配置管理 5发起请假管理模块 6进行请假管理及之后各UserTask任务页面的表单页面编写。 7在各级页面设置代理功能 第一步根据系统需求完成请假管理model 我想根据系统前端界面的操作过程获取数据库的操作日志从而得知有哪些表被变动了。所以我要把mysql的日志功能打开 可是我发现网上找不到mysql 5.7 的正确打开方式最后还是csdn的lvjin老师的博客给出了正确的配置方式。 mysql 新老版本之间的差异性还是有的。 但是日志的原生格式可视化性较差利用navicat的日志查看工具来看效果更好一点儿。 为了得到程序的正常执行流程我想通过slf4j进行log功能并且lemon OA 已经集成这样的功能直接调用就好了。 但是slf4j不会用利用关键字“slf4j api”找到了slf4j的api页面http://www.slf4j.org/api/org/slf4j/Logger.html 利用关键字“slf4j 使用教程”找到了一篇博客使用教程http://yangzb.iteye.com/blog/245844 lemon OA 的 新建model操作java语句是 RepositoryService repositoryService processEngine.getRepositoryService();Model model repositoryService.getModel(id);if (model null) {model repositoryService.newModel();repositoryService.saveModel(model);id model.getId();} 会执行如下三条sql语句 1select * from ACT_GE_PROPERTY where NAME_ next.dbid2update ACT_GE_PROPERTY SET REV_ 24, VALUE_ 57501 where NAME_ next.dbid and REV_ 23 3insert into ACT_RE_MODEL(ID_, REV_, NAME_, KEY_, CATEGORY_, CREATE_TIME_, LAST_UPDATE_TIME_, VERSION_, META_INFO_, DEPLOYMENT_ID_, EDITOR_SOURCE_VALUE_ID_, EDITOR_SOURCE_EXTRA_VALUE_ID_, TENANT_ID_)values(55001, 1,null, null, null,2015-08-10 11:52:34.865, 2015-08-10 11:52:34.865,1, null, null, null, null,) 由于activiti引擎图的绘制比较麻烦我原打算通过数据库内数据的直接复制将lemon老的请假流程model数据进行行级复制可是我发现老的数据不在了。而且在act_ge_bytearray表中的数据不是xml而是json如下图 所以利用手动自己拖拽画一下图吧以后避免不了的。 在modeler建模器中连接线不是通过手动放上去而是当你制定下一级元素时它能够为你自动添加。我一开始老实加不上去。 第二步 进行请假流程的deployment 在点击部署按钮后会发生如下事件 当在modeler建模器中点击保存按钮后会发生如下sql -- 从model表中获得source表编号id
select * from ACT_RE_MODEL where ID_ 55007-- 在bytearray表中根据编号id获得具体的modeler
建模器类型数据
select * from ACT_GE_BYTEARRAY where ID_ 55008-- ACT_RE_PROCDEF
select *from ACT_RE_PROCDEF where KEY_ process and(TENANT_ID_ or TENANT_ID_ is null) andVERSION_ (select max(VERSION_) from ACT_RE_PROCDEF where KEY_ process and (TENANT_ID_ or TENANT_ID_ is null))-- ACT_RU_JOB
select * from ACT_RU_JOBwhere HANDLER_TYPE_ timer-start-eventand HANDLER_CFG_ process-- ACT_RU_EVENT_SUBSCR
select * from ACT_RU_EVENT_SUBSCRwhere (EVENT_TYPE_ message)and ( (CONFIGURATION_ process:20:55020)or(PROC_DEF_ID_ process:20:55020)) and (TENANT_ID_ or TENANT_ID_ is null)-- ACT_RU_EVENT_SUBSCR
select * from ACT_RU_EVENT_SUBSCRwhere (EVENT_TYPE_ signal)and ( (CONFIGURATION_ process:20:55020)or(PROC_DEF_ID_ process:20:55020))and (TENANT_ID_ or TENANT_ID_ is null)-- 执行插入操作insert into ACT_RE_DEPLOYMENT(ID_, NAME_, CATEGORY_, TENANT_ID_, DEPLOY_TIME_)values(55021, vacation_requset003, null, , 2015-08-10 14:35:11.611)-- 执行数据更新insert into ACT_GE_BYTEARRAY(ID_, REV_, NAME_, BYTES_, DEPLOYMENT_ID_, GENERATED_)values (55022, 1, vacation_requset003.bpmn20.xml, _binary?xml version\1.0\ encoding\UTF-8\?
definitions xmlns\http://www.omg.org/spec/BPMN/20100524/MODEL\ xmlns:xsi\http://www.w3.org/2001/XMLSchema-instance\ xmlns:xsd\http://www.w3.org/2001/XMLSchema\ xmlns:activiti\http://activiti.org/bpmn\ xmlns:bpmndi\http://www.omg.org/spec/BPMN/20100524/DI\ xmlns:omgdc\http://www.omg.org/spec/DD/20100524/DC\ xmlns:omgdi\http://www.omg.org/spec/DD/20100524/DI\ typeLanguage\http://www.w3.org/2001/XMLSchema\ expressionLanguage\http://www.w3.org/1999/XPath\ targetNamespace\http://www.activiti.org/processdef\process id\process\ isExecutable\true\startEvent id\sid-73FC1A6A-796D-4A5F-9FFE-F2DBBEDE2CD2\/startEventuserTask id\sid-C0D9D4BF-4B7C-4C30-9354-D5AE8988292B\ name\填写请假单\/userTask-- xml数据/bpmndi:BPMNEdge/bpmndi:BPMNPlane/bpmndi:BPMNDiagram
/definitions, 55021, 0)-- 插入图片insert into ACT_GE_BYTEARRAY(ID_, REV_, NAME_, BYTES_, DEPLOYMENT_ID_, GENERATED_)values (55023, 1, vacation_requset003.process.png, _binary?PNG\0\0\0
IHDR\0\0n\0\01\0\0\0?\0\0DKIDATx???S?w*^??z??:ֱ^?:????WG?t۱???Zא]Ԉ??]??K,e??aI????R?RʥX???kQ??*ZD???[J?؞??????l???$??orr?Ir?N~???S-- 图片二进制数据\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?!??ǻ1??0\0\0\0IEND?B?, 55021, 1)-- 更新 act_re_procdef表
insert into ACT_RE_PROCDEF(ID_, REV_, CATEGORY_, NAME_, KEY_, VERSION_, DEPLOYMENT_ID_, RESOURCE_NAME_, DGRM_RESOURCE_NAME_, DESCRIPTION_, HAS_START_FORM_KEY_, SUSPENSION_STATE_, TENANT_ID_)values (process:21:55024,1,http://www.activiti.org/processdef,null,process, 21,55021,vacation_requset003.bpmn20.xml,vacation_requset003.process.png,null,0,1,)-- 最后设置关联 将model和deployment关联起来update ACT_RE_MODEL setREV_ 6,NAME_ vacation_requset003,KEY_ null,CATEGORY_ null,LAST_UPDATE_TIME_ 2015-08-10 14:35:12.294,VERSION_ 1,META_INFO_ null,DEPLOYMENT_ID_ 55021,EDITOR_SOURCE_VALUE_ID_ 55008,EDITOR_SOURCE_EXTRA_VALUE_ID_ null,TENANT_ID_ where ID_ 55007 and REV_ 5 上面的sql都是用来操作sql语句的其实为了能够更好地配置流程咖啡兔老师还建立了以bpm_为前缀的表群这些表主要是配置表的node节点数据如下 insert into BPM_CONF_BASE (PROCESS_DEFINITION_ID, PROCESS_DEFINITION_KEY, PROCESS_DEFINITION_VERSION) values (vacation-test:3:55036, vacation-test, 3)insert into BPM_CONF_NODE (CONF_BASE_ID, CODE, CONF_FORM, CONF_LISTENER, CONF_NOTICE, CONF_OPERATION, CONF_RULE, CONF_USER, NAME, PRIORITY, TYPE) values (36, vacation-test, 0, 0, 2, 2, 2, 2, 全局, 1, process)-- 还有很多insert into BPM_CONF_NODE (CONF_BASE_ID, CODE, CONF_FORM, CONF_LISTENER, CONF_NOTICE, CONF_OPERATION, CONF_RULE, CONF_USER, NAME, PRIORITY, TYPE) values (36, sid-27074EEB-618B-4A8E-8A7E-E3D44B650878, 0, 0, 0, 0, 0, 0, 调整申请, 8, userTask) 我们从以上sql语句可以知道其实deploy操作是一个非常复杂的步骤在这一步中 系统从act-ge-bytearray表中根据原始的modeler绘图数据首先进行语法校验合格的话就进行“编译操作”将图形转换成xml数据和bng图片数据然后存入act-ge-bytearray表并且在act-re-procdef表中建立一条流程记录最后在act-re-deployment表中建立数据。 然后在bpm_表群中建立数据这里会对整个流程进行按元素分解存入base表和node表中步骤超多的。 第四步 进行请假流程的流程定义管理和进行流程配置管理 流程管理的总后台页面是 而这个页面是为了操作数据库中的xml文件 而我们的参考xml文件是这样的 我现在还不清楚具体的设置过程所以需要一步一步设置来看一下xml改变的过程》》》》》》 现在我卡在了Activiti modeler这个部分正在网上到处搜寻这个建模器的使用教程。转载于:https://www.cnblogs.com/haore147/p/4719922.html