精彩专栏推荐订阅:在下方主页👇🏻👇🏻👇🏻👇🏻
💖🔥作者主页:计算机毕设木哥🔥 💖
一、项目介绍
在现代企业中,有效的管理是至关重要的。随着企业的发展和业务的增长,传统的管理方式已经难以满足企业的需求。因此,开发一款适合企业使用的企业管理系统势在必行。这款系统能够有效地帮助企业管理员工、部门、薪资、公告、资料以及任务等,从而提高企业的管理效率和质量。企业管理系统的出现可以追溯到上世纪六十年代,当时,由于计算机技术的快速发展,人们开始尝试将计算机应用于企业管理中。这些早期的管理系统主要侧重于数据的记录和存储,而随着技术的不断发展和应用需求的不断增长,企业管理系统的功能也变得越来越强大,涉及的领域也越来越广泛。
二、项目功能介绍
管理员功能概述:
个人中心:管理员可以在个人中心查看和编辑自己的个人信息,例如头像、联系方式等。
部门经理管理:管理员可以添加、编辑和删除部门经理的信息,包括姓名、职位、联系方式等。
用户管理:管理员可以添加、编辑和删除用户的信息,例如姓名、密码、联系方式等。
基本信息管理:管理员可以设置和编辑企业的基本信息,例如企业名称、地址、联系方式等。
部门管理:管理员可以添加、编辑和删除部门的信息,包括部门名称、负责人、员工列表等。
员工请假管理:管理员可以批准或拒绝员工的请假申请,并可以编辑请假信息。
任务管理:管理员可以添加、编辑和删除任务的信息,包括任务名称、任务描述、负责人等。
任务分配管理:管理员可以将任务分配给特定的员工,并可以编辑任务分配信息。
公告资讯管理:管理员可以发布、编辑和删除公告信息,例如公告内容、发布时间等。
薪资管理:管理员可以设置和编辑员工的薪资信息,包括基本工资、奖金等。
资料管理:管理员可以上传、编辑和删除资料文件,例如企业文档、培训资料等。
基础数据管理:管理员可以设置和管理基础数据,例如国家代码、民族等。
员工功能概述:
注册和登录:员工可以通过注册和登录来获得使用系统的权限。
个人中心:员工可以在个人中心查看和编辑自己的个人信息,例如头像、联系方式等。
任务信息:员工可以查看任务的信息,包括任务名称、任务描述、任务状态等。
公告信息:员工可以查看公告信息,例如公告内容、发布时间等。
资料信息:员工可以查看资料文件的信息,包括文件名、文件内容等。
部门信息:员工可以查看部门的信息,包括部门名称、负责人、员工列表等。
任务分配:员工可以查看自己的任务分配信息,包括任务名称、任务描述、负责人等。
员工请假:员工可以申请请假,并可以查看请假申请的状态。
基本信息:员工可以查看和编辑自己的基本信息,例如姓名、密码、联系方式等。
薪资信息:员工可以查看自己的薪资信息,包括基本工资、奖金等。
部门主管功能描述:
个人中心:部门主管可以在个人中心查看和编辑自己的个人信息,例如头像、联系方式等。
用户管理:部门主管可以添加、编辑和删除所管理部门员工的个人信息,例如姓名、职位、联系方式等。
基本信息管理:部门主管可以设置和编辑部门的
部门管理:部门主管可以添加、编辑和删除本部门的信息,包括部门名称、负责人、员工列表等。
员工请假管理:部门主管可以批准或拒绝所管理部门员工的请假申请,并可以编辑请假信息。
任务管理:部门主管可以添加、编辑和删除所管理部门任务的信息,包括任务名称、任务描述、负责人等。
任务分配管理:部门主管可以将任务分配给所管理部门员工,并可以编辑任务分配信息。
公告资讯管理:部门主管可以发布、编辑和删除所管理部门公告信息,例如公告内容、发布时间等。
薪资管理:部门主管可以设置和编辑所管理部门员工的薪资信息,包括基本工资、奖金等。
资料管理:部门主管可以上传、编辑和删除所管理部门资料文件,例如部门文档、培训资料等。
三、开发环境
- 开发语言:Java
- 数据库:MySQL
- 系统架构:B/S
- 后端:springboot
- 前端:vue
- 工具:IDEA或者Eclipse、JDK1.8、Maven
四、系统展示
登录模块:
首页模块:
管理员模块:
部门经理模块:
五、代码展示
public class CommonsUtils {
public static final String COMM_SPLITER = "$$$$";
public static final String COMM_SPLITER_RE = "\\$\\$\\$\\$";
private static final Pattern PATT_PLAINTEXT = Pattern.compile("[A-Za-z0-9_\\-\\u4e00-\\u9fa5]+");
private static final char[] SPECIAL_CHARS = "`~!@#$%^&*()_+=-{}|[];':\",./<>?".toCharArray();
public static boolean isPlainText(String text) {
return !text.contains(" ") && PATT_PLAINTEXT.matcher(text).matches();
}
public static boolean isSpecialChar(char ch) {
for (char c : SPECIAL_CHARS) {
if (c == ch) {
return true;
}
}
return false;
}
public static String maxstr(String text, int maxLength) {
if (text.length() > maxLength) {
return text.substring(0, maxLength);
}
return text;
}
public static String escapeHtml(Object text) {
if (text == null || StringUtils.isBlank(text.toString())) {
return StringUtils.EMPTY;
}
return text.toString()
.replace("\"", """)
.replace("'", "'")
.replace(">", ">")
.replace("<", "<");
}
public static String escapeSql(String text) {
text = text.replace("\\'", "'");
return StringEscapeUtils.escapeSql(text);
}
public static InputStream getStreamOfRes(String file) throws IOException {
return new ClassPathResource(file).getInputStream();
}
public static String getStringOfRes(String file) {
try (InputStream is = getStreamOfRes(file)) {
return IOUtils.toString(is, StandardCharsets.UTF_8);
} catch (IOException ex) {
log.error("Cannot load file of res : " + file);
return null;
}
}
public static String randomHex() {
return randomHex(false);
}
public static String randomHex(boolean simple) {
String hex = UUID.randomUUID().toString();
if (simple) hex = hex.replace("-", "");
return hex;
}
public static Long toLongHalfUp(Object number) {
double doubleValue = ObjectUtils.toDouble(number);
return BigDecimal.valueOf(doubleValue)
.setScale(0, RoundingMode.HALF_UP).longValue();
}
public static void printStackTrace() {
if (Application.devMode() || log.isDebugEnabled()) {
StackTraceElement[] trace = Thread.currentThread().getStackTrace();
for (StackTraceElement traceElement : trace) {
System.err.println("\tat " + traceElement);
}
}
}
public static boolean containsIgnoreCase(String[] strs, String search) {
for (String s : strs) {
if (StringUtils.containsIgnoreCase(s, search)) return true;
}
return false;
}
public static Object invokeMethod(String desc, Object... args) {
String[] classAndMethod = desc.split("#");
try {
Class<?> clazz = Class.forName(classAndMethod[0]);
Class<?>[] paramTypes = new Class<?>[args.length];
for (int i = 0; i < args.length; i++) {
paramTypes[i] = args[i].getClass();
}
Method method = clazz.getMethod(classAndMethod[1], paramTypes);
return method.invoke(null, args);
} catch (ReflectiveOperationException ex) {
log.error("Invalid method invoke : {}", desc);
throw new RebuildException(ex);
}
}
public static boolean isExternalUrl(String str) {
return str != null
&& (str.startsWith("http://") || str.startsWith("https://"));
}
public static boolean hasLength(Object any) {
if (any == null) return false;
if (any.getClass().isArray()) return ((Object[]) any).length > 0;
if (any instanceof Collection) return !((Collection<?>) any).isEmpty();
if (NullValue.is(any)) return false;
return any.toString().length() > 0;
}
}
六、项目总结
本文详细介绍了一款以业务流程为基础、以信息技术为手段、以提高企业管理效率为目标的企业管理系统。该系统通过管理员、员工和部门主管之间的协同工作,实现了对企业的人、财、物等资源的全面管理和维护。本文首先介绍了系统背景和意义,阐述了企业管理系统的必要性和重要性。接着,本文详细介绍了管理员、员工和部门主管在系统中的角色和功能,包括个人中心、部门管理、任务管理、薪资管理、资料管理、基础数据管理等功能模块。最后,本文总结了该系统的优势和不足之处,并展望了未来的发展趋势和研究方向。