当前位置: 首页 > news >正文

百度云手机登录入口佛山网站优化平台

百度云手机登录入口,佛山网站优化平台,wordpress 微信模板怎么用,ps网站子页怎么做的JSite 快速开发框架#xff0c;内置Flowable工作流引擎 五大基础模块 前后端基础代码自动生成 权限精确控制。 说明#xff1a;此版本我已经调通#xff0c;最新版本正在更新#xff0c;页面未处理好#xff0c;因此采用历史版本。 文章目录一、克隆/打开项目1.1. 搜索… JSite 快速开发框架内置Flowable工作流引擎 · 五大基础模块 · 前后端基础代码自动生成 · 权限精确控制。 说明此版本我已经调通最新版本正在更新页面未处理好因此采用历史版本。 文章目录一、克隆/打开项目1.1. 搜索项目1.2. 复制ssh地址1.3. 将项目克隆到本地1.4. idea打开项目JSite二、配置项目2.1. 解决依赖2.1.1. 配置maven本地仓库2.1.2. 配置阿里云镜像地址镜像2.2. 切换到历史节点2.3. 修改数据库连接信息2.4. 初始化数据库脚本2.5. 配置Redis2.6. 启动Redis2.7. 关闭演示模式2.7.1. 关闭演示模式开关2.7.2. 切换正常模式三、启动项目3.1. 启动类报错3.2. 重新编译打包四、请假实战4.1. 部署流程4.2. 发起流程4.3. 已发任务查看4.4. 部门经理流转4.4.1. 登录dept账号4.4.2. 在待办任务中签收任务4.4.3. 在待办任务中办理任务一、克隆/打开项目 1.1. 搜索项目 在码云搜索框中搜索JSite或者直接点击码云项目链接 https://gitee.com/baseweb/JSite 1.2. 复制ssh地址 1.3. 将项目克隆到本地 git clone gitgitee.com:baseweb/JSite.git1.4. idea打开项目JSite 二、配置项目 2.1. 解决依赖 2.1.1. 配置maven本地仓库 2.1.2. 配置阿里云镜像地址镜像 2.2. 切换到历史节点 git checkout 47c0d6c82.3. 修改数据库连接信息 前提在mysql中创建jsite数据库 2.4. 初始化数据库脚本 模块数据库脚本文件模块jsite_file_mysql.sql代码生成模块jsite_gen_mysql.sqloa工作流模块jsite_oa_mysql.sql系统模块jsite_sys_mysql.sql定时器模块jsite_sys_qrtz_mysql.sql测试模块jsite_test_mysql.sql初始化数据jsite-init.sql项目启动后截图 2.5. 配置Redis 2.6. 启动Redis 双击运行即可 2.7. 关闭演示模式 2.7.1. 关闭演示模式开关 2.7.2. 切换正常模式 static/modler/scripts/controllers/processes.js在119行 三、启动项目 3.1. 启动类报错 问题现象 问题定位再启动类中PropertiesUtils这个工具类是com.jsite.common.io.PropertiesUtils中的类初步判断是jsite-common模块没有安装板本地仓库导致jsite-web项目以来失败。 深一步追根溯源在jsite-web的pom.xml中依赖了jsite-framework模块 进入jsite-framework模块的pom中 从上面可以看出我们的初步判断是正确的那就好解决了没有安装到本地仓库那就让我们借助maven打包编译插件帮我们安装jsite-common到本地仓库就好了。 3.2. 重新编译打包 执行命令 mvn clean install -DTeststrue或者 idea插件操作 再次验证没有报错 浏览器访问http://localhost:8081/jsite 演示系统账号密码jsiteadmindept123456jsitehr123456jsiteuser123456 部署流程只能由系统管理员发起流程都可以前提是由系统管理员部署流程成功后在发起流程的类表中才会显示然后每个人选择对应的流程进行节点流转。 说明上面3个账号角色分别为系统管理员、部门经理、HR普通员工。 请假流程发起后流程下一步自动流转到“部门经理”角色账号下部门经理审批后自动流转到“hr角色账号下”。测试时需要登录不同角色账号在代办任务中查看流程代办任务。 刷新页面即可登陆成功 四、请假实战 4.1. 部署流程 4.2. 发起流程 4.3. 已发任务查看 4.4. 部门经理流转 4.4.1. 登录dept账号 4.4.2. 在待办任务中签收任务 4.4.3. 在待办任务中办理任务 响应码500 请求的url 页面传递的参数 控制台报错信息提取 在获取代办列表FlowTaskService的104行 在获取代办列表FlowTaskService的105行 e.setProcDefId(pd.getId());这里需要tProcDefId对吧程序中写的是从pd中获取但是里面没有 其实这个tProcDefId在task中因此需要修改代码。 点击办理procDefIdundefined 第一步进FlowTaskController的form方法调用getFormKey的service进行业务处理 从上图可以看出很明显没有获取到procDefId 清除缓存再次测试点击待办任务菜单debbug看程序 procDefIdleave:1:b74aaad7-15d6-11ea-9f45-4a5ab6e330e5点击办理 很明显获取到值了 f8跳过页面又抛出403权限的错了真是一波未平一波又起啊。 从页面很明显是没有办理权限导致403错误情有可原对吧那就给dept用户配置权限呗 登录jsite系统管理员账号给dept用户配置权限 角色授权既然是空的我想静静。看看控制台报错信息再定位问题吧 从控制台中可以看出由2条信息比较醒目 java.lang.ClassNotFoundException: com.jsite.modules.sys.utils.AreaOfficeUtilsat com.jsite.modules.sys.web.RoleController.form(RoleController.java:74)异常信息很明晰那说AreaOfficeUtils类RoleController.java:74既然有文件位置那咱们就去看看吧 从以下图中可以看出通过反射区找 com.jsite.modules.sys.utils.AreaOfficeUtils类那就在程序中找找有这个类吗 程序我是看明白了他想调用AreaOfficeUtils类的getOfficeList(获取当前用户有权限访问的部门方法)再utils包下就3个工具类经过查找UserUtils类中有getOfficeList(获取当前用户有权限访问的部门方法)那就好办了类名修改一下即可再次测试。 校色授权就显示了。 但是我就不明白了想获取一个工具类的方法直接调用不就行了如果是静态的方法直接用类名.调用不更方便。代码还写了折磨多行浪费。 代用的方法和我们预期的一样静态的那就轻松快乐了。 一行代码就搞定了。哈哈哈 测试一下好不好使对吧 从上图可以看出也好使。 dept用户的办理权限我也配置好了再去待办任务菜单中去办理任务应该就好了光预测也不行测试一下保险。 任务办理完了在已办任务菜单中查看一下任务办理的详情不为过吧 这里演示以下面查看当前节点信息debug断点调试了。 其实也是那个definitionIdundefined导致的也是由于获取的对象不对这里我直接修改程序。 解决方案 //修改后的程序 e.setProcDefId(histTask.getProcessDefinitionId());再次测试 任务办理完了在已办任务(历史)菜单中查看一下任务办理的节点信息不为过吧 其实也是那个definitionIdundefined导致的也是由于获取的对象不对这里我直接修改程序。 解决方案 //修改后的程序 e.setProcDefId(histTask.getProcessDefinitionId());再次测试 下一个节点是hr同理hr也需要权限 jsitehr登录 在待办任务菜单中先对待办任务进行签收签收之后进行办理。 在已办任务菜单中查看当前节点信息 在已办任务菜单中查看详情 节点流转结束了jsite发起流程的执行人查看一下历史任务应该吧。 先追踪一下流程详情 很明显又是这个问题大家应该知道怎末改了吧 再次测试 总上异常现象有2种 在待办任务/已办任务/已发任务都会抛出异常都是由于definitionIdundefined导致的由于没有办理权限导致的403 到此一个完整的工作流走完了。 补充在待办任务菜单中会出现2种业务场景上明只讲了一种直接在待办任务列表中签收任务然后办理已经签收的任务另外一种情况就是我还未签收但是我想先不签收先查看一下节点信息和流程详情也符合业务需要这样需要在待办任务中添加这种业务场景。 当前属于未签收的业务场景 解决方案 //源程序// e.setProcDefId(pd.getId());//修改后e.setProcDefId(task.getProcessDefinitionId());源码附上 /*** 获取待办列表* param procDefKey 流程定义标识* return*/public PageFlow todoList(Flow act){String userId UserUtils.getUser().getLoginName();//ObjectUtils.toString(UserUtils.getUser().getId());PageFlow result new PageFlow();ListFlow flowList new ArrayListFlow();// 已经签收的任务 TaskQuery todoTaskQuery taskService.createTaskQuery().taskAssignee(userId).active().includeProcessVariables().orderByTaskCreateTime().desc();// 设置查询条件if (StringUtils.isNotBlank(act.getProcDefKey())){todoTaskQuery.processDefinitionKey(act.getProcDefKey());}if (act.getBeginDate() ! null){todoTaskQuery.taskCreatedAfter(act.getBeginDate());}if (act.getEndDate() ! null){todoTaskQuery.taskCreatedBefore(act.getEndDate());}result.setCount(todoTaskQuery.count());// 查询列表ListTask todoList todoTaskQuery.list();for (Task task : todoList) {Flow e new Flow();e.setTaskId(task.getId());e.setTaskDefKey(task.getTaskDefinitionKey());e.setTaskName(task.getName());e.setAssignee(task.getAssignee());e.setCreateTime(task.getCreateTime());e.setExecutionId(task.getExecutionId());e.setVars(task.getProcessVariables());ProcessDefinition pd ProcessDefCache.get(task.getProcessDefinitionId());//源程序// e.setProcDefId(pd.getId());//修改后e.setProcDefId(task.getProcessDefinitionId());e.setProcDefname(pd.getName());e.setProcDefKey(pd.getKey());e.setProcDefversion(pd.getVersion());e.setProcInsId(task.getProcessInstanceId());e.setStatus(todo);flowList.add(e);}// 等待签收的任务 TaskQuery toClaimQuery taskService.createTaskQuery().taskCandidateUser(userId).includeProcessVariables().active().orderByTaskCreateTime().desc();// 设置查询条件if (StringUtils.isNotBlank(act.getProcDefKey())){toClaimQuery.processDefinitionKey(act.getProcDefKey());}if (act.getBeginDate() ! null){toClaimQuery.taskCreatedAfter(act.getBeginDate());}if (act.getEndDate() ! null){toClaimQuery.taskCreatedBefore(act.getEndDate());}// 查询列表ListTask toClaimList toClaimQuery.list();for (Task task : toClaimList) {Flow e new Flow();e.setTaskId(task.getId());e.setTaskDefKey(task.getTaskDefinitionKey());e.setTaskName(task.getName());e.setAssignee(task.getAssignee());e.setCreateTime(task.getCreateTime());e.setExecutionId(task.getExecutionId());e.setVars(task.getProcessVariables());ProcessDefinition pd ProcessDefCache.get(task.getProcessDefinitionId());//源程序// e.setProcDefId(pd.getId());//修改后e.setProcDefId(task.getProcessDefinitionId());e.setProcDefname(pd.getName());e.setProcDefKey(pd.getKey());e.setProcDefversion(pd.getVersion());e.setProcInsId(task.getProcessInstanceId());e.setStatus(claim);flowList.add(e);}logger.info(FLOWABLE LISTJsonMapper.toJsonString(flowList));result.setList(flowList);return result;}
http://www.ihoyoo.com/news/64445.html

相关文章:

  • 网站开发运营永久免费crm软件哪个好
  • 外贸企业网站策划固原网络推广
  • 广元网站制作企业管理控制系统
  • 高校网站设计方案wordpress讨论组
  • 贵阳网站设计案例米拓做网站图片在哪里删掉
  • 昆山h5网站建设如何申请公司域名
  • 站长工具seo客户端滨州教育平台 网站建设
  • 网站流量统计有什么做数学题的网站
  • 网络建站详情图网站制作将栏目分类
  • php企业网站例子裙晖wordpress
  • 中科院网站做的好的院所手机网站建设服务电话
  • seo优化网站教程wordpress与Wix对比
  • 做网站的公司怎么赚钱吗网站开发产生费用分录怎么写
  • 国内网站设计作品欣赏哪里可以学酷家乐设计
  • 免费网站推广平台中国建设传媒网官网
  • 网站开发的公司属于什么行业筑梦做网站
  • 茶网站开发方案河南网站关键词优化
  • 网站黑色代码科技公司名字大全参考
  • 建设银行官方网站首页企业网站设计 开发人员
  • 如何做卖衣服的网站音乐网站建设价格
  • 好看简单易做的网站建筑工程网络图怎么画
  • 网站设计应该遵循哪些原则seo网站合作
  • 个体户做网站是怎么备案网络推广中心
  • 伊宁市做网站网站模版购买发布
  • 什么是网站主机织梦调用wordpress
  • 免费搭建手机网站最新项目加盟代理
  • 已经有了域名和服务器怎么做网站贴吧高级搜索
  • 网站开发是前端还是后端网站建设七大步骤
  • 两个网站互相做外链绍兴做网站公司
  • 三语网站建设微信不能分享wordpress