员工信息管理系统

系统模块简述

部门信息管理模块

  • 部门信息新增

    • 描述

      • 在控制台中引导使用者录入部门的信息,部门信息只有部门名称

      • 将用户输入的部门信息,添加至数据库中

    • 要求
      • 部门名称只允许保存中文

      • 部门名称不能与已保存的部门名称重复

  • 部门信息修改

    • 描述

      • 在控制台中引导使用者修改已经录入的部门信息

      • 将用户修改的部门信息,保存至数据库中

    • 要求
      • 部门名称只允许保存中文
      • 新修改的部门名称不能与已保存的部门名称重复
  • 部门信息删除

    • 描述

      • 在控制台中引导使用者删除已经录入的部门信息

    • 要求
      • 删除的信息使用逻辑删除的方式,不能够在数据库中直接删除该数据
      • 删除部门信息时,需要考虑已经关联该部门的员工信息
  • 部门信息查询

  • 描述

    • 在控制台中引导用户能够查询并展示已经录入好的部门信息
    • 以表格的形式展示查询出来的部门信息
  • 要求

    • 能够以表格的形式展示出来,属加分项

员工信息管理模块

  • 员工信息增加

    • 描述

      • 在控制台引导使用者录入员工信息

      • 将使用者录入的员工信息保存至数据库中

    • 要求
      • 员工属于某个部门,在录入员工信息时,需要关联部门信息
      • 员工编码需要程序自动生成:
        • 生成规则:部门名称首字母 + 年月日(210804) + 序列号(当日的第几个,保留两位,从01开始)
        • 已经生成的编码不允许重复生成,即使该员工已经被删除,也不允许重复使用该员工编码
        • 生成示例:部门:研发部 员工编码:YFB21080401
  • 员工信息修改

    • 描述

      • 在控制台引导使用者修改已经录入的员工信息

    • 要求
      • 员工的ID、部门、编码是不允许修改的

      • 员工信息可以修改:员工名称、员工性别

  • 员工信息删除

    • 描述

      • 在控制台引导使用者删除已经录入的员工信息

    • 要求
      • 删除的信息使用逻辑删除的方式,不能够在数据库中直接删除该数据
      • 删除员工信息时,需要考虑已经关联该员工的薪资信息
  • 员工信息查询

  • 描述

    • 在控制台中引导用户能够查询并展示已经录入好的员工信息
    • 以表格的形式展示查询出来的员工信息,包括该员工所属的部门信息
  • 要求

    • 能够以表格的形式展示出来,属加分项

薪资信息管理模块

  • 薪资信息增加

    • 描述

      • 在控制台引导使用者录入薪资信息

      • 将使用者录入的薪资信息保存在数据库中

    • 要求
      • 录入薪资时,只能录入当月的薪资,当月薪资只能录入一次,不能重复录入

  • 薪资信息修改
    • 描述

      • 在控制台引导使用者修改已经录入的薪资信息

      • 将修改的薪资信息保存在数据库中

    • 要求
      • 修改薪资时,只允许修改当月的薪资,历史的薪资不允许修改

      • 没有录入薪资的人员,不允许修改薪资信息

  • 薪资信息删除
    • 描述

      • 在控制台引导使用者删除已经录入的薪资信息

    • 要求
      • 只允许删除当月已经录入的薪资信息,历史的薪资信息不允许删除

      • 没有录入薪资信息的员工不允许删除薪资信息

  • 薪资信息查询
    • 描述

      • 提供两种查询信息的方式

  • 按照员工进行查询,展示出该员工系统中已经录入的全部薪资信息
      <img src="https://tva1.sinaimg.cn/large/008i3skNly1gty1jq7jmaj60wy0jmdj902.jpg" alt="image-20210829224502957" style="zoom:50%;" />
    
  • 按照日期进行查询,展示出该日期下所有员工的信息薪资信息,日期格式为yyyy-MM
      <img src="https://tva1.sinaimg.cn/large/008i3skNly1gty1lwc6v0j60wk0c8di002.jpg" alt="image-20210829224708308" style="zoom:50%;" />
    
    • 要求

      • 能够以表格的形式展示出来,属加分项

系统数据库设计

要求:按照系统数据设计表格,自建数据库

部门信息表(ims_department)

字段名称 字段类型 字段描述
dpt_id varchar(64) 主键ID
dpt_name varchar(255) 部门名称
is_deleted int 逻辑删除标识(0:未删除;1:已删除)
create_time datetime 创建时间
update_time datetime 更新时间

员工信息表(ims_employee)

字段名称 字段类型 字段描述
emp_id varchar(64) 主键ID
dpt_id varchar(64) 部门ID
emp_name varchar(255) 员工姓名
emp_code varchar(255) 员工编码(部门首字母小写+日期+序列号)
emp_sex varchar(64) 性别(MALE:男性;FEMALE:女性)
dpt_id varchar(64) 主键ID
dpt_name varchar(255) 部门名称
is_deleted int 逻辑删除标识(0:未删除;1:已删除)
create_time datetime 创建时间
update_time datetime 更新时间

员工薪资表(ims_salary)

字段名称 字段类型 字段描述
sa_id varchar(64) 主键ID
emp_id varchar(64) 员工ID
sa_date varchar(255) 工资日期(字符串类型:例:2021-03)
sa_base decimal(9, 2) 基础工资
sa_performance decimal(9, 2) 绩效工资
sa_insurance decimal(9, 2) 保险扣除
sa_actual decimal(9, 2) 实发工资(基础工资+绩效工资-保险扣除)
is_deleted int 逻辑删除标识(0:未删除;1:已删除)
create_time datetime 创建时间
update_time datetime 更新时间

好啦以上就是项目的全部需求,接下来话不多说直接上代码!

首先druid的配置文件,druid.properties

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/demo
characterEncoding=utf-8
username=root
password=101297
initialSize=5
maxActive=10
maxWait=3000
validationQuery=SELECT 1
testWhileIdle=true
disableDruidFilter=false
use-ping-method: false
  • Entity实体类

  • ImsDepartment
    package com.codingfuture.entity;import java.util.Date;/*** 部门实体类* @author wxy*/
    public class ImsDepartment {private String dptId;private String dptName;private Date createTime;private Date updateTime;public ImsDepartment() {}public ImsDepartment(String dptId, String dptName, Date createTime, Date updateTime) {this.dptId = dptId;this.dptName = dptName;this.createTime = createTime;this.updateTime = updateTime;}public String getDptId() {return dptId;}public void setDptId(String dptId) {this.dptId = dptId;}public String getDptName() {return dptName;}public void setDptName(String dptName) {this.dptName = dptName;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}public Date getUpdateTime() {return updateTime;}public void setUpdateTime(Date updateTime) {this.updateTime = updateTime;}@Overridepublic String toString() {return "ImsDepartment{" +"dptId='" + dptId + '\'' +", dptName='" + dptName + '\'' +", createTime=" + createTime +", updateTime=" + updateTime +'}';}
    }
  • ImsEmployee
package com.codingfuture.entity;import java.util.Date;/*** 员工实体类* @author wxy*/
public class ImsEmployee {private String empId;private String dptId;private String empName;private String empCode;private String empSex;private String dptName;private Date createTime;private Date updateTime;public ImsEmployee() {}public ImsEmployee(String empId, String dptId, String empName, String empCode, String empSex, String dptName, Date createTime, Date updateTime) {this.empId = empId;this.dptId = dptId;this.empName = empName;this.empCode = empCode;this.empSex = empSex;this.dptName = dptName;this.createTime = createTime;this.updateTime = updateTime;}public String getEmpId() {return empId;}public void setEmpId(String empId) {this.empId = empId;}public String getDptId() {return dptId;}public void setDptId(String dptId) {this.dptId = dptId;}public String getEmpName() {return empName;}public void setEmpName(String empName) {this.empName = empName;}public String getEmpCode() {return empCode;}public void setEmpCode(String empCode) {this.empCode = empCode;}public String getEmpSex() {return empSex;}public void setEmpSex(String empSex) {this.empSex = empSex;}public String getDptName() {return dptName;}public void setDptName(String dptName) {this.dptName = dptName;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}public Date getUpdateTime() {return updateTime;}public void setUpdateTime(Date updateTime) {this.updateTime = updateTime;}@Overridepublic String toString() {return "ImsEmployee{" +"empId='" + empId + '\'' +", dptId='" + dptId + '\'' +", empName='" + empName + '\'' +", empCode='" + empCode + '\'' +", empSex='" + empSex + '\'' +", dptName='" + dptName + '\'' +", createTime=" + createTime +", updateTime=" + updateTime +'}';}
}
  • ImsSalary
package com.codingfuture.entity;import java.util.Date;/*** 薪资实体类* @author wxy*/
public class ImsSalary {private String saId;private String empId;private String saDate;private double saBase;private double saPerformance;private double saInsurance;private double saActual;private Date createTime;private Date updateTime;public ImsSalary() {}public ImsSalary(String saId, String empId, String saDate, double saBase, double saPerformance, double saInsurance, double saActual, Date createTime, Date updateTime) {this.saId = saId;this.empId = empId;this.saDate = saDate;this.saBase = saBase;this.saPerformance = saPerformance;this.saInsurance = saInsurance;this.saActual = saActual;this.createTime = createTime;this.updateTime = updateTime;}public String getSaId() {return saId;}public void setSaId(String saId) {this.saId = saId;}public String getEmpId() {return empId;}public void setEmpId(String empId) {this.empId = empId;}public String getSaDate() {return saDate;}public void setSaDate(String saDate) {this.saDate = saDate;}public double getSaBase() {return saBase;}public void setSaBase(double saBase) {this.saBase = saBase;}public double getSaPerformance() {return saPerformance;}public void setSaPerformance(double saPerformance) {this.saPerformance = saPerformance;}public double getSaInsurance() {return saInsurance;}public void setSaInsurance(double saInsurance) {this.saInsurance = saInsurance;}public double getSaActual() {return saActual;}public void setSaActual(double saActual) {this.saActual = saActual;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}public Date getUpdateTime() {return updateTime;}public void setUpdateTime(Date updateTime) {this.updateTime = updateTime;}@Overridepublic String toString() {return "ImsSalary{" +"saId='" + saId + '\'' +", empId='" + empId + '\'' +", saDate='" + saDate + '\'' +", saBase=" + saBase +", saPerformance=" + saPerformance +", saInsurance=" + saInsurance +", saActual=" + saActual +", createTime=" + createTime +", updateTime=" + updateTime +'}';}
}

Terminal层

BaseTerminal(ColorUtil是封装的控制台打印颜色的工具类)

package com.codingfuture.terminal;import com.codingfuture.utils.ColorUtil;
import java.util.Scanner;/*** @author wxy*/
public class BaseTerminal {public static void show(){String i ;do{System.out.println(ColorUtil.getFormatLogString("               												

(一)员工信息管理系统(超级详细代码)相关推荐

  1. Eclipse+Java+Swing+Mysql实现员工信息管理系统

    目录 一.系统介绍 1.开发环境 2.技术选型 3.系统功能 4.数据库 二.系统展示 1.登录系统 2.主页面 3.部门管理 4.职位管理 5.员工管理 三.部分代码 AdminDao.java D ...

  2. 【java毕业设计】基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现(毕业论文+程序源码)——企业员工信息管理系统

    基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计 ...

  3. (附源码)基于java的员工信息管理系统 毕业设计201524

    Springboot员工信息管理系统 摘 要 由于数据库和数据仓库技术的快速发展,企业员工信管理建设越来越向模块化.智能化.自我服务和管理科学化的方向发展.员工信息管理对处理对象和服务对象,自身的系统 ...

  4. springboot基于java的员工信息管理系统毕业设计源码201524

    Springboot员工信息管理系统 摘 要 由于数据库和数据仓库技术的快速发展,企业员工信管理建设越来越向模块化.智能化.自我服务和管理科学化的方向发展.员工信息管理对处理对象和服务对象,自身的系统 ...

  5. springboot+mysql+基于java的员工信息管理系统 毕业设计-附源码201524

    Springboot员工信息管理系统 摘 要 由于数据库和数据仓库技术的快速发展,企业员工信管理建设越来越向模块化.智能化.自我服务和管理科学化的方向发展.员工信息管理对处理对象和服务对象,自身的系统 ...

  6. Java项目员工信息管理系统

    在Java SE中,对IO流与集合的操作在应用中比较重要.接下来,我以一个小型项目的形式,演示IO流.集合等知识点在实践中的运用. 该项目名称为"员工信息管理系统"(或" ...

  7. Javaweb实现员工信息管理系统

    员工信息管理系统 一.项目介绍 1.项目用到的技术栈 开发工具:idea 语言:java.js.html+ajax 数据库:MySQL 服务器:Tomcat 框架:mybatis.jQuery.lay ...

  8. 基于java web 的企业员工信息管理系统的设计与实现

    文章目录 前言 一.项目设计 1. 模块设计 2. 实现效果 二.部分源码 最后 前言 今天学长向大家分享一个 java wed 毕业设计项目: 企业员工信息管理系统的设计与实现 一.项目设计 1. ...

  9. JavaWeb EMS员工信息管理系统(servlet+jsp版本)

    EMS员工信息管理系统 MVC的设计模式 M层:Model模型层,负责业务,封装数据库的相关操作 Jdbc+javabean+方法-dao工厂 util DBUtil.java package uti ...

  10. C#+MySQL+VS开发《企业员工信息管理系统》

    C#+MySQL+VS开发<企业员工信息管理系统> 手把手教你如何开发一套员工信息管理系统Windows应用程序,通过此次窗体应用开发,希望读者能够掌握相应的面向对象编程方法,学会项目构建 ...

最新文章

  1. noi.ac NA535 【生成树】
  2. 鸿蒙系统正式开源,余承东:鸿蒙系统正式开源,友商也可以使用!
  3. Android SDK 2.2 开发环境安装
  4. Java8特性解决空指针问题
  5. [转载] Python中定义函数,循环语句,条件语句
  6. erlang监控树 supervisor
  7. 1小时学会JQuery
  8. 创建txt文件_Mac电脑创建txt文件的方法
  9. Android Bmob之用户更改头像(上传图片、下载图片和更新图片)
  10. 【开发工具】MySQL免安装版
  11. 请问蓝牙设备如何测试?
  12. ❤️React Hooks⭐
  13. 怎样在微信中直接下载秒借类金融贷款APP,避免下载链接域名被微信屏蔽封杀的处理方式
  14. CSS3 Web工程师工作场景动画
  15. 使用AMCap调整相机参数
  16. java中的<<符号是什么意思
  17. docker日常操作
  18. 7-4 宿舍谁最高? (20 分) map+结构体的应用
  19. vue 导出excel表格 xlsx文件
  20. 终于丫你奶奶的浩方了!

热门文章

  1. 一代诗嗤张宗昌,代表性作品选
  2. 打印机添加或者设置流程
  3. air 打开外部exe,bat文件的方法
  4. 舍伍德算法解决线性时间选择
  5. linux grub 分辨率,修改grub分辨率
  6. GPS NAME0183 详解
  7. 悦诗风吟网络营销的目标_睫毛膏营销策划方案
  8. 模拟CMOS 集成电路设计
  9. 邮箱服务申请数字证书
  10. python会计实证研究_适合会计、金融实证研究的统计软件、编程语言搭配