本组织架构模组实现的功能是,显示一个树型的公司组织架构模式,可以在最后一层的每一层添加部门.也可以删除任意部门,如果删除带子部门的部门,那么,其所属子部门一起被删除.如, 总经理 制造处 制造一部 制造一课 产品工程部 品保处 IQC FQC 管理处 管理部 采购课 保安部 上面就是一个树型结构,如果我们要按格式显示其结构,可以在管理部下添加人资课.可以在总经理下添加行销处等 删除的时候如果删除管理处,那么,管理部,采购课,保安部通通都要删除. 这是一个典型的树型结构,我们要实现的功能是显示,添加,删除 数据库包括层的概念,建立如下: create table ngb_org( id number(8) primary key, //用sequence.nextval自动增加来实现 p_layer varchar2(8) , //父层 如,B p_id varchar2(8), //父id 10 c_layer varchar2(8), //当前层,子层 C c_id varchar2(8), //子层所在的编号 10 total varchar2(16) not null, //p_layer, p_id, c_layer, c_id字符串连在一起:B10C10 制造处 name varchar2(32) not null,//部门名称 create_by varchar2(32) ,//创建者 create_date Date , //创建日期 update_by varchar2(32),//修改者 update_date date); //修改日期 Create sequence ngb_org_seq Increment by 1 Start with 1 Maxvalue 9999999 Cycle Nocache 这里,整个公司是A10,总经理是A10B10(先把父id的层+编号重复,然后再写当前部门的层+编号).制造处为B10C10,制造一部为C10D10.同层编号以1为递增,最小为10,最大为99(没有哪个公司有89个同级别的部门吧?) 这样我们了解了其数据库,实现树型的逻辑,接着可以写显示部分了. 合理建立数据库十分重要,这也是DBA的重要性,可惜这些分析工作也是我一个小小的程序员做的:) 
|