我正在寻求你的帮助,因为我不是一个高级的mysql用户,而且我对我能够做的所有操作都不是很清楚。
我正在开发的项目是一个旨在管理公司的网络应用程序。 “管理员用户”应该能够可视化所有公司结构的组织结构图,编辑,添加员工等。
图表已完成,但我正在努力使用mysql结构。我不是那么专家,事实上,我从来没有使用过等级制度,而且我想要弄清楚的时间太多了,可能用错误的方法。
所以,如果可能的话,我需要一些专家提示。
以下是关于ogranic图表结构如何
的示例- There are 3 divisions types(A - B - C) -----> *Orange*
- - There are 3 head offices, 1,2,3. -----> *Green*
- - - Every office, can have three divisions. in this case, office 1 has got division A,B,C / office 2 has got division A / office 3 as got division A,C. (customer wants it in this way...)
- - - - Every division has got 5 roles for his employees(*PINK*). In division A, we have for example Sales Manager, Manager, Team manager, sen. agent, agent.
在B部门,他们有不同的名字,角色是5。
C部门只有2个角色。
因此,有机图表从一个非常简单的数据库中获取数据,其中主列是ID和parentID(其他列是标签)。
应该有一个SQL查询来构建数据源表,从其他表开始构建公司结构:
我在挣扎!
请,我需要编写一个函数,从员工,办公室和部门的表开始,创建数据源表(table4),以填充有机图表。 (如果条目已存在,请更新数据!)。
不要忘记还有其他名为“division1_Roles”,“division2_Roles”的表,其中每个roleCode都有一个roleName。
1 - Manager
2 - Supervisor
3 - Agent ...
在表(3)“员工”中,我忘记了另一个名为“RoleCodeID”的列。
我认为这可以是逻辑路径:
1) Query Divisions table(1) and add them to Chart dataSource (table4)
2) Query Offices table(2), determine which divisions every office have(*how?*), then save in Chart dataSource table(4) the office record.
Note: If a office has got 2 or 3 divisions, there should be created multiple records in table(4) for every office. table4.parentID will change, in order to get the right hierarchy (select * table(4) where ?).
3) Query Employees table(3);
4) Get the EmployeeDivisionID and
IF EmployeeDivisionID == 1 -> query RoleCodes_division1 table to get roleNome
ELSE IF EmployeeDivisionID == > query RoleCodes_division2 table to get roleName
[...]
THEN save the roleName in a variable ($roleName)
5) Add the employee to the Chart dataSource table(4).
重要提示:在图表中,我可以添加新员工(在另一名员工或办公室下)或分部下的办公室。 图表中的每个“框”都有一个ID,它是dataSource表(4)中的ID字段。 通过这种方式,我无法确定用户是否正在点击部门,办公室或员工。
出于这个原因,我可能需要为表(4)中的每个员工保存officeID,divisionID。但通过这种方式,其他表格就像重复一样。
我不认识乡亲,我觉得有点生气。也许我们可以尝试逐步找到解决方案,对我来说将是一个很大的帮助。
我不是那种要求代码的人,但我需要的是面对这个问题的逻辑,以及正确连接表的SQL函数。 类似于分层SQL查询的东西。
我正在使用PHP& MySQL的。
谢谢!