您好: 我正在使用任务发布系统。
在系统中,有一些部门,例如:开发/销售/产品等。
某些任务属于不同的部门。
最重要的导入模式:用户。
使用此系统的人只是不同部门和老板(最大老板)的老板。)
这些人都在管理页面工作,普通老板只能发布和查看他/她部门的任务。他/她可以添加/删除/修改任务(修改意味着他可以设置状态任务:DONE / DOING / NOT START),他/她的所有操作都应该由最大的老板验证。
最大老板可以查看/添加/删除/修改所有部门的所有任务,也可以添加删除用户(普通老板),设置用户的权限(用户可以看到哪个部门的任务。)
=================== 以下是我自己的设计:
Department
String name;//name of this department
List<Task> listAllTasks();// list all tasks belong to this department
Task
String name;
String desc;//description of this task
Date startTime;//when this task will start
Date endTime;
int status; //is this task done? doing? not starting?
String executorName; //the name of the person who will responsible for this task(here the person does not need to be common boss,just a name).
Department depart;//which department does this task belong to ?
Boss
String loginName;
String realName;
String password;
Department depart;//which department does this boss belong to ?
以上就是我的想法,我不知道继续进行权威设计。
例如,最大的老板怎么样,当然他/她不属于任何部门,但他拥有最大的权威。
任何人都可以帮我一个忙吗?
顺便说一句,我将使用hibernate作为DAO,使用struts2作为Web控制器。答案 0 :(得分:1)
将您的Boss
课程更改为Person
,然后添加@ManyToOne
Person superior
(假设每位员工只有一名上级)。
@ManyToMany
List<Person> superiorList=new ArrayList<Person>()
如果每位员工有多个上司;
如果某人是嘘声(组织树中的最高权限),则superior
或superiorList
将为空。
对于角色
创建角色类
Role
@OneToMany List<Task> taskList = new ArrayList<Task>();
role_code
如果一个人只能分配一个角色,在Person类中放置多个角色
@ManyToOne Role role
或
@ManyToMany List<Role> roleList
如果可以为一个人分配多个角色。