公司人员管理程序(一)
2015-12-31 13:11
204 查看
公司人员管理程序(一)
做一个公司人员管理的培训程序,只是给出了具体要求和功能,代码设计由自己实现。以下是我做的东西,写与此算是总结学习。具体其中主要涉及到:数据库和基础信息类设计、树形图的生成(即TreeView控件的操作)、数据库图片存取显示、注册表和文件读写操作、数据查找等,以后继续完善。
一、项目要求
使用标准的WinForm可执行程序,即C/S结构。1.实现内容概述
1) 能够按照层次和隶属关系,建立公司、部门、小组、人员等组织结构树,并能够对部门、小组进行增删改操作
2) 能够为每一个部门或者小组添加受管理的人员,并能够实现人员的增删改操作
3) 能够对人员的详细信息进行管理,人员信息包括:姓名、编号、性别、电话、邮箱、照片、职位等
2.具体要求概述
a.部门和员工信息均以类实例的形成存储于内存结构中,数据和数据关系通过程序初试化,不要求保存到数据库中。
b.能够进行人员的查询,其功能通过动态链接库实现
c.能够在注册表中记录最后编辑的部门或者组,在进入程序后能够自动定位到上次编辑的部门或者组
d.能够将编辑的所有信息存储到数据库中
e.能够进行初步的安全控制
f.能够动态设置数据库相关参数
二、数据库结构设计
根据程序要求信息数据库中要建立:公司信息表、部门信息表、小组信息表、人员信息表,4个基础信息表,考虑到人员照片要存储到数据库中,新建照片表其主键关联人员表中的PhotoID字段,每个表中采用唯一自增(从1开始)标识ID作为唯一标识字段,基础信息表中有ParentID字段其值指向当前表双亲ID(若为0 则双亲在其他表或为根节点),基础信息表结构如下(图1.1):public class Company:Common { public static readonly int TypeNumber = 0; //public override List<Common> SubMember { get; set; } //public override List<Common> SubLevelMember { get; set; } //public override string Name { get; set; } //public override int ID { get; set; } //public override int ParentID { get; set; } } public class Department : Common { public static readonly int TypeNumber = 1; //public override List<Common> SubMember { get; set; } //public override List<Common> SubLevelMember { get; set; } //public override string Name { get; set; } //public override int ID { get; set; } //public override int ParentID { get; set; } public int cpId { get; set; } } public class Group : Common { public static readonly int TypeNumber = 2; //public override List<Common> SubMember { get; set; } //public override List<Common> SubLevelMember { get; set; } //public override string Name { get; set; } //public override int ID { get; set; } //public override int ParentID { get; set; } public int dpId { get; set; } public int cpId { get; set; } } public class Person : Common { public static readonly int TypeNumber = 3; public string gender { get; set; } public string code { get; set; } public string phoneNumber { get; set; } public string telephoneNumber { get; set; } public string email { get; set; } public string postId { get; set; } public DateTime birthday { get; set; } public string photoId { get; set; } public int cpId { get; set; } public int dpId { get; set; } public int gpId { get; set; } }
View Code
其中TypeNumber为类型标识,后期将使用TypeNumber+ID 从Common集合中唯一确定对象,并进行操作。
相关文章推荐
- 采用开源的架构提高业务敏捷性
- C++面试一
- android studio 工程导入部分注意事项
- Ring3下的DLL注入工具 x86&x64(NtCreateThreadEx + LdrLoadDll方式实现,可以注入系统进程)
- 在Matlab中显示Maple公式
- POJ1580 水题,积累!
- SIFT(ASIFT) Matching with RANSAC
- POJ 1469 COURSES(二分匹配-hungary)
- 读取xml文件"分析 EntityName 时出错"的解决方案
- [转载] Memory Layout of C programs
- eclipse技巧总结
- 垃圾回收1
- python数据库连接池
- Hack、自适应、针对浏览器写样式随手笔记
- eclipse技巧总结
- iOS 轮盘动态效果动画
- UIImageView压缩不变形处理
- 面向对象分析与设计(C++)课堂笔记
- 2015年部分互联网公司笔试综合题及答案
- LSP修复--浏览器被劫持