常规功能和模块自定义系统 (cfcmms)—026开发日志(创建ManyToMany的column)

026开发日志(创建ManyToMany的column-1)


  这节开始试着加入一个新的column。这个column的功能用来可对ManyToMany的关系进行操作。比如现在系统里有用户模块和用户角色模块,在用户模块中有个功能可以设置此用户所具有的权限,“用户-用户权限”的对应信息则保存在另一表里。这种ManyToMany的关系虽然现在系统里可以通过ManyToOne来实现,但是操作比较烦了。
  根据现有系统中综合查询里面选择查询条件的一些功能的启发,准备加入一个可以管理ManyToMany数据的column。准备可以完成以下一些基本的功能:在列中可以显示ManyToMany另一端的所有记录,并可以删除和增加。比如对于用户模块来说,有一列可以显示该用户的所有权限,并直接可以在列中增加和删除当前用户的权限。同样在用户权限里有一个列可以显示当前用户权限有多少用户,可以新增和删除当前具有当前权限的用户。具体设想如下图所示:
常规功能和模块自定义系统 (cfcmms)—026开发日志(创建ManyToMany的column)_第1张图片

  对于这个新增的column,根据我以前的开发模块,先需要对此字段进行设计:

  1、设计配置信息:新增一个字段属性是ManyToMany,字段名:ManyToMany另一端的类名+s。ManyToMany的联结表名。二个可控端的java bean中需要加入@ManyToMany来标注此字段。
  2、数据获取,在select的字段中要加入关联另一端的id和name,可以象取得附件名称那样编一个函数来取得此关联模块的id和name,做成一个json字符串来返回给前台。
  3、column的定义,渲染数据,根据操作权限加入可操作按钮。单击名称可以显示该条记录的详细情况
  4、关联模块数据的前台选择界面。
  5、对于关联模块数据后台的新增、修改、删除。
  6、数据导出时格式加工。
  7、Form表单里也要另外生成一个Field来做和column中相同的工作。

  对于这个功能有什么意见或建议请跟贴留言,现在只是进行了设计,还没有开始编写。上面是一些总体思路和需要开发的步骤,思路可行,应该可以编得出来。

你可能感兴趣的:(常规功能和模块自定义系统 (cfcmms)—026开发日志(创建ManyToMany的column))