100分!办公自动化OA中,关于如何设计表结构才能接收到所有发给我的邮件?
刚刚接触 办公自动化开发,在选择发邮件的接收对象时(我用的是带 checkbox 的 treeview),数据库表结构是如何设计的
比如以下是接收邮件部门的 treeview (每个节点前均有checkbox)结构:
------------------------------------------------
东北某某有限总公司
公司领导
总经理
赵小明
副总经理
李小江
孙国金
赵明
总经理工作部
主任
李敏
副主任
刘红
专责
赵小
管清
李汪
安全生产部
主任
田力
副主任
林强
生产管理
生产主管
一线产品主管
李国柜
销售主管
赵田男
销售经理
李机强
假设我是 安全生产部--生产管理--生产主管--销售主管 -- 赵田男,当我登录后,我如何能收到发给我的邮件?
情况一:如果某人选择邮件收件人时,在“东北某某有限总公司”前打了勾
情况二:如果某人选择邮件收件人时,在“安全生产部”前打了勾
情况三:如果某人选择邮件收件人时,在“生产管理”前打了勾
情况四:如果某人选择邮件收件人时,在“销售主管”前打了勾
情况五:如果某人选择邮件收件人时,在“赵田男”前打了勾
以上 5 种情况 ,当赵田男登录时,均应能收到此邮件
这样的情况,数据库要如何设计才能比较合理。
或者说,假设此 treeview 有更深层次的节点,子节如点何才能收到别人发给其上所有父节的点邮件呢?
[解决办法]
這是一個不小的問題,如果一個人自己開發至少也要一兩個月
每家公司不同,需求也不同,不過可以找一下通用的OA系統參考一下
[解决办法]
楼主的需求,应该在很多OA系统中都有过实现。说明一下其中一个大致的实现方式:
发送邮件时,不论选定机构名称还是指定的收件人,都对整个组织管理机构--人员对照表做一次树的遍历,查询出所有相关的人员信息,然后将该邮件的编号与人员信息列表insert到收件表中。
[解决办法]
libin_ftsafe(子陌红尘:当libin告别ftsafe) ( ) 信誉:105 Blog 2007-3-23 11:34:18 得分: 0
楼主的需求,应该在很多OA系统中都有过实现。说明一下其中一个大致的实现方式:
发送邮件时,不论选定机构名称还是指定的收件人,都对整个组织管理机构--人员对照表做一次树的遍历,查询出所有相关的人员信息,然后将该邮件的编号与人员信息列表insert到收件表中。
---------------------------------------
树的遍历,具体实现方法见1楼。