630 likes | 747 Vues
综合查询引擎. 查找特定要求的对象. 综合查询引擎. 综合查询引擎的功能. 提供三种查询方式 简单查询 用于进行单一类型的查询 JPQL 查询 用于较为简单的跨类关联查询 存储过程查询 用于进行十分复杂的数据密集类型查询 可保存查询条件 可与快捷操作绑定. 如何进行综合查询. 选择查询类型. 如何定义普通查询. 1 、选择查询结果数据类型. 5 、选择查询结果数据类型. 4 、指定过滤属性的取值. 2 、选择用于过滤的属性. 3 、指定排序依据. 简单过滤条件设置. 条件之间的逻辑连接. 选择条件输入的类型. 选择条件与取值的过滤方式.
E N D
综合查询引擎 查找特定要求的对象
综合查询引擎的功能 • 提供三种查询方式 • 简单查询 • 用于进行单一类型的查询 • JPQL查询 • 用于较为简单的跨类关联查询 • 存储过程查询 • 用于进行十分复杂的数据密集类型查询 • 可保存查询条件 • 可与快捷操作绑定
如何进行综合查询 选择查询类型
如何定义普通查询 1、选择查询结果数据类型 5、选择查询结果数据类型 4、指定过滤属性的取值 2、选择用于过滤的属性 3、指定排序依据
简单过滤条件设置 条件之间的逻辑连接 选择条件输入的类型 选择条件与取值的过滤方式 选择不同类型的属性 条件保存后可否支持输入
过滤条件树的设置 将后续条件合并在一起 将已经合并的条件拆分 名称=‘ABC’ and (批注=‘123’ and (密码=‘123’ or 显示名= ‘张三’)) and and 名称=‘ABC’ 批注=‘123’ or 密码=‘123’ 显示名= ‘张三’
建立JPQL查询 指定结果的输出类型 在查询中可以通过 [:参数名] 的形式引用参数 最后结果必须命名为t0 类名和数据建模的类名一致
举例:查询用户所属用户组 u.oid = r.leftOid r.rightOid = t0.oid User u User2Group r Group t0 select t0 from Group t0, User2Group r, User u where t0.oid = r.rightOid and u.oid = r.leftOid and u.name=:name
保存查询条件 公共查询 我的查询 • 平台的两类查询 • 公共查询: • 所有人均可以看见 • 个人查询: • 专属个人的查询
保存查询条件 保存查询 指定类型,给出名称,点击保存 无需配置双击即可查询
载入已保存的查询 点击载入 选择需要载入的查询
查询条件的输入 可修改参数双击时将提示输入 点击查询 查看结果
综合查询与快捷操作集成 选择动作为Query 选择已保存的查询对象
综合查询与快捷操作集成 选择已保存的查询对象
指定查询条件的参数 层次用’_’分割 第1层第一个 顺序用数字分割以0开始 名称=‘ABC’ and (批注=‘123’ and (密码=‘123’ or 显示名= ‘张三’)) and c0 c1 and 名称=‘ABC’ c1_1 c1_0 批注=‘123’ or c0:管理员 c1_1_1 c1_1_0 密码=‘123’ 显示名= ‘张三’ 参数取值用 ’:’分开条件之间用’;’分开
举例:当前用户对应用户组 • 查询实现: • 从当前用户找用户组(jpql查询) • 条件取值 • c0:$user.name
业务过程建模与过程引擎 建立需求处理流程
工作流模板 工作流模板 活动 活动 活动 活动 活动 活动 活动 活动 工作流实例 业务过程引擎的作用 第一阶段,指定人员范围 工作流引擎 工作流实例 任务 工作流日志 工作列表 活动执行人
业务过程管理的过程 • 设计时 • 建立业务过程模版 • 发布业务过程模版 • 运行时 • 发起业务过程 • 接受任务并提交 • 完成业务过程
如何建立业务过程模版 模板属性 基本编辑 对象容器 模版节点
业务过程模型的基本元素 • 节点间连线和标记 • 节点和节点之间通过连线连接 • 连线上的标记标明出口的路由 • 任务和任务分配 • 任务节点上需通过增加任务并进行人员分配
业务过程模型的基本元素 • 业务过程中处理的数据 • 业务对象组 • 一种实体类业务对象在流程中的全局容器 • 可指定类型也可不指定类型 • 业务对象组分类 • 普通业务对象组:锁定业务对象 • 参考业务对象组:不锁定业务对象 • 业务对象组的访问 • 在任务上指定可访问业务对象组
用业务对象组管理数据 开发需求对象组 创建需求对象 浏览需求对象 浏览任务对象 创建任务对象 开发任务对象组
举例:需求和开发对象组 • 开发需求对象组 • 提交、审核 • 开发、确认 • 开发说明对象组 • 开发、确认 • 发布业务过程
业务过程的执行 • 业务过程实例 • 流程模版激活后即成为业务过程实例 • 任务列表 • 可选任务:可选择接受的任务 • 个人任务:必须完成的任务 • 任务表单 • 综合显示任务信息的表单,通过任务表单访问业务对象,控制路由关系
举例:执行需求处理流程 发起需求处理流程 执行任务 查看表单 提交任务
报表输出 输出需求处理情况
报表实现的基本原理 报表引擎 报表引擎 业务对象 实际报表
报表引擎的使用方法 编制报表模版 注册报表模版 输出报表
如何注册报表模版 新建打印模版 选择一个类型 上传一个文件
如何输出报表 选择对象,点击报表输出 选中输出模版 下载报表文件
报表模版例子 属性输出 脚本执行 关联输出 关联输出
标记说明 • 属性输出 • 占位符:.[属性英文名] • 打印输入对象的某个属性值,如:.id • 关联输出 • 占位符:loop:[关联类名],[r|l],[内容别称] • 打印输入对象某个关联(正向/反向)的信息 • 其中r表示右对象,l表示做左对象,别名在循环内使用 • 执行脚本 • 占位符:: • :echo('唐安煤矿的'+_obj.get('name'))
如何注册报表模版 新建打印模版 模板打开模版设置
模版编辑辅助工具 选择需要输出属性
举例:编制项目报表 • 项目输出内容 • 项目代号 • 项目名称 • 客户名称 • 负责人 • 关联输出内容 • 需求标题 • 提出时间 • 状态
授权规则组成部分 由条件表达式组成,用于实现基于对象状态的的授权 指定授权规则限制的参与者,可以是人员、用户组,角色 用于明确冲突规则的处理方式,用于强制授权 授权规则 条件 类型 参与者 授权项(组) 优先级 指定授权规则起作用的数据类型,从而确定继承关系 用于明确规则限制的行为类型,授权项可自定义
授权的验证过程 规则引擎 平台应用程序 ? ? 条件子系统 规则库 规则引擎处理过程 根据授权项过滤规则 根据参与者过滤规则 根据类型过滤规则 根据优先级调整规则 进行条件判断 返回授权结果
关于授权项和授权项组 • 授权项和授权项组 • 授权项代表某种特定的行为 • 如:更新对象、编辑对象、创建对象 • 授权项组代表一批授权项的集合 • 授权项可手工创建,用于后续扩展 • 每创建一个操作时会产生操作对应的授权项
举例:创建模块授权项 为需求管理模块创建授权项
系统提供的默认授权项组 • CreateObjects • 各种创建对象相关的授权项 • EditObjects • 各种编辑对象的相关授权项 • RelationEdit • 各种在关联视图上编辑的授权项