您的位置:首页 > 其它

《考勤管理系统——部分模块》项目研发阶段性总结

2019-01-19 11:18 351 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_44537838/article/details/86550281

开发工具:MyEclipse 10 Aad SQLyogEnt
关键技术:MyBaits + SpringMVC + Spring + H5 + Bootstrap + JQuery + Css
完成模块功能:编号管理、工作机构管理、工组管理、部门管理、员工信息管理
一、功能实现

编号管理:
见图1,编号管理实现界面。
编号管理模块主要是管理各个模块的编号信息。

图1 编号管理模块
根据输入的模块编号名称或者前缀进行模糊筛选所有的编号信息
点击 “查询”按钮查询出根据“考勤”所查询的数据,界面如图2,

图2 根据条件“考勤”所查询的编号数据
点击“操作”按钮可以对编号信息进行新增修改删除操作

图3 显示编号管理模块的操作信息
新增编号信息
点击图3“新增”按钮打开图4新增编号信息界面

点击图中的“关闭”按钮可关闭当前显示的新增Modal,点击“重置”按钮可对图中的数据进行重置。

新增成功后显示的编号数据如下

修改编号信息
选中图中的某一条数据,点击“修改”对此条数据进行修改



删除编号信息
选中图中数据(多条数据),点击“删除”对选择的数据进行删除


工作机构管理:
机构管理界面:可根据机构条件(机构编号、机构名称)、机构创建时间和机构所在城市 进行查询

机构条件:可对机构编号和机构名称进行模糊查询

创建时间:根据时间范围段进行查询

所在城市:模糊查询所在城市,根据选择的城市查询工作机构

新增机构信息
机构编号:根据数据库的编号前缀生成特定的机构编号(不可编辑)
机构名称:机构名称(可输入/必填)
上级机构:选择该机构的上级机构(自选)
机构负责人:所负责此机构的员工(不可编辑/必选)
省份:选择该机构所在的省份(不可编辑/必选)
城市:选中省份后解禁,根据省份id获取所在省份的所有城市(不可编辑/必选)
区域:选中城市后解禁,根据城市id获取所在城市的所有区域(不可编辑/必选)
机构地址:机构所在地址(可输入/必填)
机构说明:机构一些需要说明的信息(选填)


修改机构信息
机构编号:根据数据库的编号前缀生成特定的机构编号(不可编辑)
机构名称:机构名称(可输入/必填)
上级机构:选择该机构的上级机构(自选)
机构负责人:所负责此机构的员工(不可编辑/必选)
省份:选择该机构所在的省份(不可编辑/必选)
城市:选中省份后解禁,根据省份id获取所在省份的所有城市(不可编辑/必选)
区域:选中城市后解禁,根据城市id获取所在城市的所有区域(不可编辑/必选)
机构地址:机构所在地址(可输入/必填)
机构说明:机构一些需要说明的信息(选填)

机构启用否
已启用的数据不可进行修改以及删除操作



是否启用此条数据


删除机构信息
已启用的数据不可删除,先禁用才可操作

部门管理:
部门管理:根据部门名称、创建时间和隶属机构 查询部门信息




新增部门信息
部门名称:部门名称(可输入/必填)
创建时间:系统自动实时获取当前时间(默认已填写)
隶属机构:该部门所隶属的机构(不可编辑/必选)
部门负责人:此部门的负责人(不可编辑/必选)
部门说明:部门所负责的信息(选填)

修改部门信息
部门名称:部门名称(可输入/必填)
创建时间:系统自动实时获取当前时间(默认已填写)
隶属机构:该部门所隶属的机构(不可编辑/必选)
部门负责人:此部门的负责人(不可编辑/必选)
部门说明:部门所负责的信息(选填)

删除部门信息
删除部门信息:判断此条数据是否启用,启用的数据不可删除

工作组管理:
工组管理:根据选中的部门进行数据的查询、绑定

新增工组信息
隶属部门:所隶属的部门名称(默认已填写)
创建时间:系统自动实时获取当前时间(默认已填写)
工组编码:系统默认生成,根据工组编码前缀拼接(默认已填写)
工组名称:工组名称(可编辑/必填)
上级工组:该工组的上级工组(不可编辑/必选)
节假安排:节假日安排(自选)
公休安排:公休日安排(自选)
工组负责人:该工组的负责人(不可编辑/必选)
工组说明:该工组的说明(选填)


修改工组信息
隶属部门:所隶属的部门名称(默认已填写)
创建时间:系统自动实时获取当前时间(默认已填写)
工组编码:系统默认生成,根据工组编码前缀拼接(默认已填写)
工组名称:工组名称(可编辑/必填)
上级工组:该工组的上级工组(不可编辑/必选)
节假安排:节假日安排(自选)
公休安排:公休日安排(自选)
工组负责人:该工组的负责人(不可编辑/必选)
工组说明:该工组的说明(选填)

删除工组信息
删除工组信息:判断此条数据是否启用,启用的数据不可删除

员工信息管理:
根据员工信息、入职时间和隶属工组来查询员工信息

员工信息:根据输入的员工编号、员工姓名和身份证号来模糊查询

入职时间:根据选中的一个时间范围来查询员工数据

隶属工组:根据员工所在的工组为条件来查询

详细信息:显示该员工的详细信息(不可编辑)

新增员工信息
员工照片:选择本地图片上传路径到数据库(可编辑/必填)
员工姓名:员工姓名(可编辑/必填)
联系电话:员工手机号码(可编辑/必填)
婚姻状况:已婚或未婚(不可编辑/必选)
电子邮箱:该员工的邮箱(可编辑/必填)
身份证:输入员工身份证绑定员工生日、性别、年龄,限制长度18,(有输入验证/可编辑/必填)
居住地址:该员工所居住的地址(可编辑/必填)
员工编号:系统根据员工编号前缀生成特定编号(默认已填)
入职时间:获取当前创建的时间(默认已填)
隶属工组:该员工所在的工组(不可编辑/必选)
职位:员工所处职位(不可编辑/必选)
员工状态:在职或离职(不可编辑/必选)




修改员工信息
员工照片:选择本地图片上传路径到数据库(可编辑/必填)
员工姓名:员工姓名(可编辑/必填)
联系电话:员工手机号码(可编辑/必填)
婚姻状况:已婚或未婚(不可编辑/必选)
电子邮箱:该员工的邮箱(可编辑/必填)
身份证:输入员工身份证绑定员工生日、性别、年龄,限制长度18,(有输入验证/可编辑/必填)
居住地址:该员工所居住的地址(可编辑/必填)
员工编号:系统根据员工编号前缀生成特定编号(默认已填)
入职时间:获取当前创建的时间(默认已填)
隶属工组:该员工所在的工组(不可编辑/必选)
职位:员工所处职位(不可编辑/必选)
员工状态:在职或离职(不可编辑/必选)



删除员工信息
删除员工信息:判断此条数据是否启用,启用的数据不可删除

二、经典代码
根据身份证号获取生日、性别、年龄

var MyIDCard = "11204416541220243X";//身份证号
var MyBirthday;//出生日期
var MySex;//性别
var MyAge;//年龄
//根据身份证号获取生日、性别、年龄
function IDCardData() {
if (MyIDCard != "") {
//根据身份证号获取出生日期
MyBirthday = MyIDCard.substring(6, 10) + "-" + MyIDCard.substring(10, 12) + "-" + MyIDCard.substring(12, 14);

//根据身份证号获取性别
if (parseInt(MyIDCard.substr(16, 1)) % 2 == 1)
{ MySex = "男"; }
else { MySex = "女"; }

//根据身份证号获取年龄
var MyDate = new Date();
MyAge = MyDate.getFullYear() - MyIDCard.substring(6, 10) - 1;
}
}

三、开发总结(不少于500字)
        刚刚接触Java这方面的时候很懵,因为我是在企业学习中途回来学java的所以有很多不理解的地方,好在有一帮热心的同学在旁边帮助我快速进入状态。
        以前一直觉得Java特别特别难,那种触不可及的难。进入学习状态后觉得Java也没有想象中那么恐怖,发现Java开发其实跟C#的开发很多语法有一样的共同点他们都是面向对象的语言,也就是说,它们都能实现面向对象的思想(封装,继承,多态),只有部分的细节有不同而已。
比如:
        c#中的命名空间是namespace类似于Java中的package(包),在Java中导入包用import而c#中用using。
        数据类型:Java跟c#基本都差不多,但是Java的String类型的首字母必须大写,而c#中可以小写也可以大写,还有布尔型,Java中是boolean,c#中是bool。
        变量的命名:Java中可以用$符号,而c#中不可以使用。
        继承:Java中用关键字extends,c#只用":"就行了.调用父类的构造方法Java用super关键字,而c#用base关键字。
        多态:抽象类和抽象方法两种语言都用abstract关键字。Java中另外一个类如果继承了它,实现直接重写此方法就可以了;而c#必须加上关键字override实现。C#还比Java多一种虚方法来实现多态。
        输出:c#有三种方式输出:Cosole.WriteLine(); Cosole.WriteLine(要输出的值); Cosole.WriteLine(“格式字符串”,变量列表); 前两种的用法与Java中的ystem.out.println()方法的用法相同,第三种方式是根据占位符输出的,比Java更方便了。等等等等……(很多很多,就不一一列举出来了)
        现在的我已经掌握Java的大概编程风格了,但还有部分Java开发技术点不熟悉,我会继续跟Java磨合,相信用不了多久我就能像当初掌握C#MVC那样完全掌握Java开发技术。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: