1.2.2 应用开发逻辑
本章节旨在帮助开发者系统性理解汇智魔方的总体设计逻辑,以便开发者快速掌握汇智魔方的应用开发

四个基本概念


表单设计

  • 表单主要用于 录入和编辑 数据
  • 表单设计时, 数据表的创建由系统自动完成

列表设计

  • 列表主要用于一类数据的批量展示与查询
  • 通过跳转动作的配置,可以实现各关联功能操作
  • 列表数据源可通过表单或SQL获得
  • 通过客户化JDBC配置可以获取外部系统的数据

用户界面设计

  • 用于定义最终用户使用的完整界面
  • 主要内容是定义菜单(关联表单、列表、流程等)
  • 可以切换不同风格的页面主题
  • 支持自定义CSS和JavaScript

流程设计

  • 用于业务流程的自动化流转
  • 即某用户处理完一个任务,系统按照既定的条件,自动将任务推送到下一个用户处理
  • 启动流程的实现
    • 流程的开始节点和活动节点可以匹配表单
    • 用户界面中的启动流程(Run Process)菜单可以启动某个流程
    • 启动流程时会打开开始节点的表单
  • 流程待办任务的实现
    • 用户界面中的任务箱(Inbox/Datalist Inbox)可以接收待办任务
    • 打开该任务时会打开该活动节点匹配的表单
    • 表单可以通过给工作流变量赋值来控制流程的走向
    • 工具节点可以自动执行系统动作,例如自动发送邮件等

应用开发基本过程


开发应用


创建表单

  • 每个表单主要映射1张数据表(跨表操作需要利用FormGrid等表单元素插件实现)
  • 表单上的字段对应该数据表的字段
  • 系统会自动创建表单对应的数据表(但删除表单时不会自动删除数据表)
  • 自定义表单系统会自动创建3个字段,其余为用户自定义
    1. id(主键)
    2. dataCreated
    3. dataModified
  • 数据表命名规则
    • 自定义数据表:所有自定义的数据表,系统会自动添加 前缀"app_fd_"
    • 自定义字段:所有自定义的自动,系统会自动添加 前缀“c_” (“id”字段除外)
  • 表单、列表与数据库的关系如下:
    1. 表单属性中的数据表会自动映射到数据库中的数据表“app_fd_?”,如果没有,则系统自动创建
    2. 表单上的字段会自动映射到该数据表中的“c_?”字段,如果没有,则系统自动创建
    3. 数据新建 - 用户使用表单创建新记录时,数据表中会新增1条记录,id可由系统自动生成(uuid)或用户自己录入
    4. 数据编辑 - 用户编辑某条记录,为表单页面传入参数“id=???”即可通过表单加载对应的数据表记录,并进行编辑
    5. 列表可以通过绑定的表单找到对应的数据表记录,将他们加载展示出来
  • 表单设计详见 2.1.4.1 表单设计

创建列表

  1. 数据源获取 - 通过绑定表单或SQL获得数据源
  2. 定义显示列 - 通过拖拽数据列定义需要显示的数据列
  3. 查询条件定义 - 通过拖拽数据列定义查询条件
  4. 操作动作定义 - 通过配置超链接及参数,定义列表上的操作按钮
  5. 数据格式化定义 - 通过格式化定义数据列展示内容的变化(例如:显示字体格式、根据条件显示内容、显示关联表中的内容、显示图片等)

创建流程

  • 设计流程(图) - 定义流程走向,流转条件等
  • 配置流程执行者 - 定义流程活动节点的执行者
  • 配置活动关联的表单 - 定义活动节点的表单
  • 配置工具关联的插件 - 定义工具节点的系统动作
  • 配置用户界面菜单 - 定义启动流程菜单和接收待办任务菜单
  • 流程设计详见 2.1.4.4 流程设计

创建用户界面

  • 设置权限、主题等 - 定义用户界面的风格与用户权限
  • 设计菜单 - 定义菜单和功能操作方式
  • 用户界面设计详见 2.1.4.3 用户界面设计

部署应用

  1. 从开发环境导出应用 - 参见2.1.3.2 导出应用
  2. 将应用导入生产环境 - 参见2.1.3.1 导入应用
  3. 在生产环境导入该应用依赖的客户化插件(如有) - 参见导入插件
  4. 在生产环境中配置组织部门、用户组与用户 - 参见2.1.5 管理用户
  5. 在生成环境匹配用户界面、菜单、流程执行者权限(关联到生产环境的组织部门、用户组与用户) - 参见2.1.4.5 权限控制
  6. 录入或批量导入基础数据(如有)
  7. 发布应用(上线) - 参见发布应用

应用设计对应的数据表

  • 应用的定义对应保存到数据表“app_app”中
  • 表单、列表和用户界面的定义,均以JSON格式保存到数据库
    • 表单:app_form
    • 列表:app_datalist
    • 用户界面:app_userview
  • 流程的定义:
    • 流程图数据SHKXPDLData
    • 流程配置相关app_package?
  • 详见 2.2.5 系统表结构
Create by Sean Fung on 2014-08-28 17:26:51.0
Last updated by Sean Fung on 2015-07-12 21:34:40.0