基于springboot高校教师绩效工资管理系统(源码+LW+部署演示)——计算机毕业设计推荐[项目编号:36192]
SpringBoot高校教师绩效工资管理系统
摘 要
随着高等教育的不断发展,教师的工作绩效已成为衡量其工作成果和贡献的重要标准。高校教师绩效工资的管理不仅直接影响教师的收入,还关系到学校教学质量的提升。为了科学、高效地进行教师绩效考核及工资发放,亟需一个高效、透明的绩效管理系统。因此,本系统旨在通过信息化手段优化绩效管理流程,实现教师绩效数据的准确记录、实时评审和智能化管理。
系统根据不同用户角色设计了多种功能模块。管理员可以进行全面的用户管理、绩效数据管理、考勤记录管理、工资明细管理等操作,确保系统的运行与管理的高效性与公正性。教师用户可以查看自己的绩效数据、提交自评报告、查看工资明细及考勤记录等,方便教师了解自身的工作表现与收入结构。评审用户则主要负责对教师绩效进行评分与评审,提供专业的评价建议。系统还包括申诉记录管理,保证教师对绩效评分有异议时可以进行有效申诉。
系统采用Java语言进行开发,基于Spring Boot框架提供稳定的后端服务。前端则使用Vue.js框架,确保良好的用户交互体验。MySQL数据库用于存储系统数据,确保数据的高效存取和安全性。系统整体结构清晰,采用模块化设计,易于维护和扩展。
通过实施系统,学校可以实现教师绩效评估的透明化与规范化,提升绩效考核的公平性和准确性。教师能够实时查看自身绩效数据,反馈自评与申诉,有效提升工作动力与满意度。评审人员能够高效、准确地评审教师的工作表现,避免人为误差。系统的自动化、智能化管理大大提高了管理效率,减少了人工干预,实现了精准的人力资源管理。
SpringBoot University Teacher Performance Salary Management System
Abstract:With the continuous development of higher education, the work performance of teachers has become an important criterion for measuring their work achievements and contributions. The management of performance-based pay for university teachers not only directly affects their income, but also relates to the improvement of teaching quality in schools. In order to scientifically and efficiently conduct teacher performance evaluation and salary payment, there is an urgent need for an efficient and transparent performance management system. Therefore, this system aims to optimize the performance management process through information technology, achieve accurate recording, real-time evaluation, and intelligent management of teacher performance data.
The system has designed multiple functional modules based on different user roles. Administrators can perform comprehensive user management, performance data management, attendance record management, salary detail management, and other operations to ensure the efficiency and fairness of system operation and management. Teacher users can view their performance data, submit self-evaluation reports, view salary details and attendance records, etc., making it convenient for teachers to understand their work performance and income structure. The reviewing users are mainly responsible for grading and evaluating the performance of teachers, and providing professional evaluation suggestions. The system also includes a record management system for appeals, ensuring that teachers can make effective appeals when they have objections to performance ratings.
The system is developed in Java language and provides stable backend services based on the Spring Boot framework. The front-end uses the Vue.js framework to ensure a good user interaction experience. MySQL database is used to store system data, ensuring efficient access and security of data. The overall structure of the system is clear, adopting a modular design that is easy to maintain and expand.
By implementing the system, schools can achieve transparency and standardization in teacher performance evaluation, improving the fairness and accuracy of performance assessment. Teachers can view their own performance data in real-time, provide feedback on self-evaluation and appeals, effectively improving work motivation and satisfaction. Reviewers can efficiently and accurately evaluate teachers' work performance, avoiding human errors. The automation and intelligent management of the system greatly improve management efficiency, reduce manual intervention, and achieve precise human resource management.
Keywords: Performance based salary management system for university teachers; Java language; Vue.js framework; Spring Boot framework; MySQL database
目 录
1绪论
1.1研究背景
随着全球高等教育水平的不断提升和教育改革的深入,教师的工作绩效成为衡量教育质量、推动学术发展的关键因素。教师的工作不仅仅局限于课堂教学,还包括科研、社会服务、学生指导等多方面的贡献[1]。如何科学、公正地评估教师的工作绩效,并根据评估结果合理发放绩效工资,已成为高校管理中的重要课题。现有的绩效管理模式大多存在手工操作多、效率低、评估标准不统一等问题,导致教师绩效数据记录不准确、考核过程不透明,甚至引发教师对考核结果的不满[2]。因此,亟需一种高效、透明、智能化的绩效工资管理系统,能够将教师的各项工作绩效科学记录、实时更新,并实现自动化考核与公平的工资发放。
目前,许多高校的教师绩效管理仍处于传统手工管理阶段,缺乏统一的评估标准和完善的数据管理体系。教师绩效考核方式单一、手段简陋,导致无法全面衡量教师的教学效果、科研能力与工作态度等多方面表现[3]。同时,管理者在考核过程中容易受到主观偏见和人为因素的影响,导致绩效评估结果的公正性受到质疑。为了有效解决这些问题,现代信息技术和大数据分析的引入为高校教师绩效管理提供了新的机遇[4]。通过建立信息化的绩效工资管理系统,不仅可以优化数据的采集与处理流程,还能确保绩效评估的准确性与透明度,从而提升高校的整体教学质量和教师的工作积极性。
1.2研究意义
高校教师绩效工资管理系统,旨在通过信息化手段实现教师绩效评估的科学性、规范化与智能化,解决传统绩效管理方式中存在的问题,进一步提升高校管理水平和教学质量。该系统的实施具有重要的理论意义和实际应用价值。从理论上讲,系统的设计和应用可以为教师绩效管理的标准化、数据化提供理论支持,推动教育管理理论的创新和发展。同时,系统的研究成果能够为其他高校的绩效管理体系提供借鉴,为教育领域的信息化建设作出积极贡献[5]。
从实际意义上看,系统能够大大提高高校教师绩效考核的效率与公正性,保障教师绩效数据的真实与准确,提升绩效评估的透明度和公平性,进而增强教师的工作积极性和满意度。对于高校管理者而言,系统可以有效减少人工干预,自动化管理流程,减轻工作负担,提升管理效率。此外,系统还能为教师提供实时的绩效反馈,帮助其发现自身优势与不足,促进个人职业发展的提升。通过建立全面、科学、公开的绩效管理机制,能够更好地激励教师在教学、科研和社会服务等方面的积极性,为推动教育事业的可持续发展提供坚实保障。
1.3国内外发展现状
1.3.1国外研究现状
在国内外,高校教师绩效管理已成为教育领域的研究热点。国外的绩效评估体系相对成熟,尤其在欧美等发达国家,早期的教师绩效评估多通过量化指标来衡量,如教学质量、科研成果和学生反馈等[6]。例如,美国的绩效评估体系强调综合考核,不仅考虑教学表现,还会结合教师的科研和社会服务活动,确保评估的全面性和多元化[7]。欧洲则更多关注教师职业发展的支持性评估,重视通过定期的教师培训和反馈来促进教师成长,建立了较为完善的持续改进机制[8]。
然而,这些国家的绩效评估体系也存在一些问题,如评分标准不一致、教师的主观评价因素较多等,这可能影响到评估结果的客观性与公平性[9]。针对这些问题,许多研究者提倡采用更加客观的数据驱动方式,并引入大数据、人工智能等现代技术手段来提升评估的科学性。例如,使用学生满意度、学术成果、同行评价等多维度的评价方式,尽量减少人为因素的干扰[10]。
1.3.2国内研究现状
在国内,随着信息技术的飞速发展,许多高校也开始尝试借助数字化工具来优化教师绩效管理,尤其是在大数据和云计算技术的支持下,绩效评估的自动化、智能化水平逐渐提高[11]。国内的研究多集中在如何利用信息化手段提升绩效评估的准确性和公平性。大部分高校仍采用传统的人工评估方式,绩效考核的过程和结果透明度不高,往往会引发教师的疑虑和不满[12]。近年来,国内部分高校已经开始引入智能化系统,通过量化的数据分析来提高评估的公正性,但整体上,信息化管理系统的普及还处于起步阶段[13]。
研究成果表明,绩效评估的科学性和公正性是系统设计的核心目标,而信息化技术的引入为提高评估准确性、减少人为干预提供了有效手段。未来,随着技术的进步,教师绩效评估将更加精准、高效和公正。然而,如何在技术的帮助下平衡人性化与智能化的管理,避免过度依赖数据,也需要教育管理者深入思考和审慎设计。
1.3.3总结
综上所述,国内外关于高校教师绩效管理的研究都指向了智能化与信息化的方向,尤其是如何利用大数据和人工智能技术来提高评估的准确性和透明度。国外在这一领域已经取得了较为成熟的成果,但仍面临公平性与客观性的问题。国内虽然起步较晚,但随着技术的发展和应用,已经逐渐向智能化、数据驱动的方向迈进。未来,国内高校可以借鉴国际经验,结合自身特点,探索更加适合本土化的绩效管理模式。
1.4主要研究内容
本论文主要研究并设计了一个高校教师绩效工资管理系统,涵盖了需求分析、技术方案设计、功能设计以及数据库设计等方面。
1. 需求分析:对高校教师绩效管理的实际需求进行了深入调研,明确了各类用户角色(管理员、教师用户、评审用户)的操作需求,并根据这些需求确定了系统的核心功能模块,如绩效数据管理、绩效评审、工资明细管理、申诉记录管理等。
2、技术方案:系统采用了Java语言结合Spring Boot框架进行后端开发,利用Vue.js框架完成前端展示,实现了良好的用户交互体验。数据库方面,采用MySQL进行数据存储,确保系统数据的高效访问与安全性。同时,系统采用模块化设计,便于后期维护和扩展。
3、功能设计:系统分别为管理员、教师用户、评审用户设计了不同的功能模块,确保了各角色的需求得到满足。管理员负责数据管理和系统维护,教师可以自评和查看自己的绩效数据,评审用户负责评分和提供评审意见。此外,系统还考虑到申诉管理,确保教师在绩效评审中若有异议时能及时提出。
4、数据库设计:合理设计了各表之间的关系,确保数据存储的完整性和查询的高效性。通过以上设计,系统可以有效实现教师绩效管理的自动化、智能化与规范化,大大提升了管理效率。
1.5 论文结构与章节安排
本文共分为七章,章节内容安排如下:
第一章:绪论,主要介绍研究的背景和意义,概述研究的现状和系统特点。
第二章:关键技术,主要探讨和说明实现平台的关键技术。
第三章:系统分析,从平台的可行性、功能、性能等方面进行分析,为后续系统设计提供理论支持。
第四章:系统设计,对平台功能模块、数据库进行功能设计。
第五章:系统实现,介绍平台各个用户的功能、系统界面的实现。
第六章:系统测试,对平台进行测试,验证功能完整性、稳定性和安全性,评估系统在实际运行中的性能表现。
第七章: 结论。总结全文研究内容,提出对共建平台领域未来发展的展望和建议,指出研究的不足和可优化之处,为相关领域的进一步探索提供参考。
2相关技术简介
2.1 Java语言
高校教师绩效工资管理系统采用了Java语言作为后端开发的核心技术。Java语言因其跨平台特性和高度灵活性而备受青睐,使系统能够在不同操作系统上稳定运行,并为未来功能的拓展提供可靠的技术支持。同时,采用Spring Boot框架简化了配置,提升了开发效率和系统的稳定性。Java的选择确保了平台具有良好的可扩展性和稳定性,在为高校教师绩效工资管理系统提供技术支持的同时,也为用户提供畅顺的体验。
2.2 SpringBoot 后端框架
Spring Boot,作为Spring生态系统中一颗璀璨的明星,以其“约定优于配置”的核心理念,极大地简化了Java应用的开发、部署与管理流程。它并非是对Spring框架的颠覆,而是在其基础上进行了深度封装与优化,旨在快速搭建独立的、生产级别的Spring应用。Spring Boot通过自动配置功能,减少了大量繁琐的配置工作,让开发者能够更加专注于业务逻辑的实现。同时,它集成了众多常用库,如数据库连接池、缓存、消息队列等,为系统开发提供了一站式的解决方案。此外,Spring Boot还支持多种部署方式,无论是传统的WAR包部署,还是现代的容器化部署,都能轻松应对。因此,选择Spring Boot作为高校教师绩效工资管理系统的开发框架,不仅能够提升开发效率,还能确保系统的稳定性和可维护性。
2.3 Vue.js 前端框架
Vue.js 是一种流行的前端框架,用于构建用户界面,特别适合开发单页面应用(SPA)。Vue 的核心思想是数据驱动视图,采用双向数据绑定机制,使得前端开发更加高效、灵活。在本系统中,Vue.js 用于构建前端页面,处理用户与系统的交互。通过 Vue 的组件化开发,前端界面可以更加模块化,便于维护和扩展。Vue.js 的响应式特性使得页面内容能够随着用户操作即时更新,从而提供流畅的用户体验。同时,Vue 结合 Vue Router 和 Vuex 进行路由管理和状态管理,进一步提升了系统的可维护性和可扩展性。
2.4 MySQL数据库
MySQL数据库,作为开源关系型数据库管理系统的佼佼者,以其高性能、可靠性、易用性和灵活性,在全球范围内被广泛应用于各类企业级应用中。MySQL采用SQL(结构化查询语言)作为数据操作的标准语言,支持复杂的查询、数据更新、索引优化等功能,确保数据的高效存取和完整性。其强大的事务处理能力,为业务逻辑的原子性、一致性、隔离性和持久性提供了坚实保障。此外,MySQL还具备高度的可配置性和可扩展性,通过优化存储引擎、调整配置参数等手段,可以轻松应对高并发、大数据量的应用场景。在高校教师绩效工资管理系统中,MySQL作为后端数据存储的核心,不仅为系统提供了稳定可靠的数据支持,还通过其丰富的数据操作功能,助力系统实现复杂的业务逻辑和高效的数据管理。
3系统需求分析
3.1系统功能需求分析
高校教师绩效工资管理系统旨在为高校提供全面的教师绩效管理功能,涵盖了绩效数据的录入、评审、查询、申诉等各个环节。管理员、教师和评审用户拥有不同的权限和功能,确保各个角色的需求得到满足。系统不仅提高了教师绩效管理的透明度,还能够实现精细化管理,帮助高校更加科学地进行绩效评估和工资发放。
3.1.1 教师用户功能
- 后台首页:教师可以查看自己的绩效数据统计,了解自己在教学、科研等方面的表现。
- 绩效数据管理:教师可以查看与自己相关的绩效信息,包括绩效主题、数据编号、教学绩效、科研绩效、补贴等详细数据。
- 绩效自评管理:教师可以自行填写绩效自评报告,提供教师账号、姓名、绩效主题等相关信息,并附上自评文件、教学说明、科研说明等内容。
- 绩效评审管理:教师可以查看自己的绩效评审结果,反馈评审结果的合理性。
- 申诉记录管理:教师如果对绩效评审不满意,可以提交申诉记录,说明不满原因,并进行申诉。
- 教学任务管理:教师可以自行添加和管理本学期的教学任务,确保教学内容的准确性。
- 工资明细管理:教师可以查看自己的工资明细,包括基本工资、绩效工资、津贴等,明确工资结构和发放时间。
- 考勤信息管理:教师可以查看自己的考勤记录,确保自己的出勤情况透明,及时发现问题。
3.1.2 评审用户功能
- 后台首页:评审用户可以查看系统首页,获取有关绩效评审的统计数据。
- 绩效数据管理:评审用户可以查看所有教师的绩效数据,了解各教师的工作绩效和相关指标。
- 绩效自评管理:评审用户可以查看教师提交的绩效自评报告,了解教师自我评价的情况。
- 绩效评审管理:评审用户根据教师的工作表现、教学成果等数据进行绩效评分,并提出合理的评审建议。
3.1.3 管理员功能
- 后台首页:提供绩效数据统计和绩效评审统计,管理员可以实时查看平台各类数据,进行决策支持。
- 用户管理:管理员可管理系统内不同角色的用户,包括管理员、教师用户和评审用户,具有创建、编辑、删除等权限。
- 绩效数据管理:管理员可手动添加教师的绩效数据,确保数据的准确性和完整性。
- 绩效自评管理:管理员可以查看和审核教师的绩效自评,确保评价的公正性和客观性。
- 绩效评审管理:管理员负责监督绩效评审的流程,确保评审公正,及时处理教师和评审用户的反馈。
- 申诉记录管理:管理员可查看教师的申诉记录,处理因绩效评分或其他管理问题引发的申诉。
- 教学任务管理:管理员可查看和分配教师的教学任务,确保任务分配的公平性和合理性。
- 工资明细管理:管理员可以手动添加教师的工资明细,确保工资发放的准确性。
- 考勤信息管理:管理员可查看教师的考勤打卡信息,确保教师按时出勤,准确记录考勤数据。
- 权限管理:管理员可以设置不同用户的权限,确保系统的安全性和数据的保密性。
3.2系统非功能性分析
在研究高校教师绩效工资管理系统时,非功能性需求分析是一个重要的部分。非功能性需求主要关注的是系统如何运行,而不是它具体完成什么功能。这些需求包括性能、可用性、安全性、可维护性、可扩展性、易用性等方面。以下是一个关于高校教师绩效工资管理系统非功能性需求分析的概要。
性能需求:系统需确保快速响应和高吞吐量,以支持大量用户同时访问,即使在高峰时段也能保持流畅的操作体验,避免因延迟或卡顿影响用户体验。
可用性:安系统必须具备高可用性,采用冗余部署、负载均衡等策略,确保即使部分组件故障也能迅速恢复服务,减少服务中断时间,保障用户业务的连续性。
安全性:鉴于系统处理用户敏感信息,如个人信息等,必须实施严格的安全措施,包括数据加密、访问控制、防攻击机制等,以保护用户数据免受未授权访问或泄露。
可维护性:系统设计应注重可维护性,采用模块化、标准化的架构,提供详尽的开发文档和用户手册,确保系统易于理解和维护,降低长期运维成本。
可扩展性:随着业务的发展,系统可能需要扩展功能或提升性能。因此,系统需具备灵活的可扩展性,能够轻松添加新模块、优化性能,以应对未来增长的需求。
易用性:用户界面应直观易用,符合用户习惯,提供清晰的导航和友好的操作反馈,帮助用户快速上手并高效完成任务,提升整体用户满意度。
3.3系统可行性分析
通过高校教师绩效工资管理系统的可行性分析,从技术可行性、经济可行性、操作可行性以及社会可行性四个维度进行深入探讨,以确保系统的开发与应用具有坚实的可行性基础。
3.3.1技术可行性
系统采用的技术栈均为成熟且广泛使用的开发工具,具有较高的稳定性和性能。Java 作为后端开发语言,支持高并发处理,能够满足高校教师绩效工资管理系统在处理信息等高频操作时的性能要求。Vue.js 提供的优秀开发能力,能够保证前端界面的流畅交互。Spring Boot 提供快速开发和自动化配置,降低了系统开发的复杂度。而 MySQL 则作为数据库管理系统,具备高并发和事务处理能力,能够保证系统数据的安全性和稳定性。结合这些技术,系统能够实现高效稳定的管理,并满足未来的扩展需求。
3.3.2经济可行性
高校教师绩效工资管理系统的开发和实施成本相对较低。采用开源的SpringBoot框架和MySQL数据库,减少了高昂的授权费用。系统的硬件需求也较为基础,可以在现有的计算机设备上运行,不需要额外的昂贵硬件支持。此外,通过提高管理效率、降低人工操作成本和提升用户满意度,长期来看具有较强的经济效益。
3.3.3操作可行性
系统采用直观的用户界面和简单的操作流程,适用于不同技术背景的用户。管理员和用户都能迅速上手,系统的功能模块清晰,操作简便,减少了培训成本。系统提供的功能能够有效支持日常管理任务,满足管理员和用户的基本需求,确保了操作的可行性。
3.3.4社会可行性
随着高校信息化建设的不断推进,教师绩效管理的需求日益增加。系统可以有效提升教学质量,减少人工干预,符合社会对教育管理精细化和智能化的期待。教师和管理者普遍对提升工作效率和公正性有较强的需求,系统的实施能够促进教师职业发展的同时,优化学校的管理水平。因此,从社会层面来看,系统的推广具有广泛的接受度和实际应用价值。
从技术、经济、操作和社会四个维度来看,高校教师绩效工资管理系统的开发均具备高度的可行性。
3.4系统用例分析
高校教师绩效工资管理系统用例分析主要从教师用户、评审用户、管理员三个实体展开描述。
3.4.1教师用户用例分析
教师用户的主要职责是自评、查看绩效数据以及反馈意见。教师可以登录系统进行个人绩效信息查看,包括教学、科研、社会服务等方面的成绩与评分。教师可以定期进行自我评估,并根据系统提供的反馈调整教学与科研策略。此外,教师还可以查看其他评审者的评分与评语,从而全面了解自己的工作表现,促进自我改进。详细用例图如图3.1所示。

图3.1教师用户用例图
3.4.2评审用户用例分析
评审用户的主要任务是对教师的绩效进行评分,并提供评审意见。评审用户可以根据预设的标准对教师的各项工作进行综合评定,评分系统会自动根据教师的实际表现生成初步数据。评审用户需要确保评估的公正性,提供详细的评价意见,以帮助教师理解自己的优点与不足。评审用户还可查看所有教师的历史绩效数据,做出合理、公正的评分。详细用例图如图3.2所示。

图3.2教练用例图
3.4.3管理员用例分析
管理员用户主要负责系统的整体维护和管理,确保系统正常运行。管理员可查看、管理教师和评审用户的基本信息,维护系统数据的安全与完整性。管理员还需设置评估规则、标准和系统权限,并对用户操作进行监督,确保整个绩效管理流程的顺畅与公正。管理员还需要生成系统的各类报告,供校方决策参考。详细用例图如图3.3所示。

图3.3管理员用例图
4系统设计
4.1系统总体设计思路
高校教师绩效工资管理系统采用Browser/Server结构,(浏览器/服务器)和基于Web服务前后台交互的模式,是一个适用于Windows体系环境下的模型结构。只要用户有符合程序运行的硬件系统,并连上互联网,便可以在任何时间、任何地点使用。系统工作原理图如图4.1所示:

图4.1系统工作原理图
其最终前后台交互原理如图4.2所示。

图4.2前后台交互原理
具体交互流程为:浏览器中执行具体操作,操作命令将生成一个do方法。该方法使得浏览器能够访问后台中的Controller层,Controller层由于业务上的需要执行进而访问Service层。Service层收到指令后将会去调用内部DAO层的接口。接口将会和MyBatis层下的一个SQL语句相对接。对接好之后进而访问MySql数据库。更新底层数据,然后将数据同步回MyBatis层,同步变化后的数据将通过DAO层接口,Service层和后台Controller层,直观反映到浏览器页面上。
4.2系统结构设计
高校教师绩效工资管理系统的整体结构设计如图4.3所示。

图4.3整体功能结构设计图
4.3系统功能设计
4.3.1用户登录流程
当用户进入登录页面时,当其在浏览器执行具体操作的时候,后端会同步显示,如图4.4所示。

图4.4登录流程图
4.3.2系统操作流程
系统操作流程包括教师、评审用户和管理员三大角色的操作。教师首先通过登录系统查看自己的绩效数据和历史成绩,进行自我评估并反馈意见;评审用户根据预设标准对教师进行评分并提供评审意见,同时检查历史数据以确保评估公正性;管理员则负责系统的日常维护,设置评估规则和权限,管理用户数据,确保系统的安全与高效运行。此外,管理员还需生成报告供校方决策参考。整个流程旨在提升教师绩效评估的效率和透明度。操作流程如图4.5所示。

图4.5系统操作流程图
4.4系统核心代码设计
高校教师绩效工资管理系统的核心代码设计如下:
4.4.1用户注册
注册页UserController.java,传入user对象,并将"user_id"、 "state"、 "user_group"、"login_time"、"phone"、"phone_state"、 "username"、"nickname"、"password"、"email"、"email_state"、"avatar"、"create_time"输入,重点是 "username"、"nickname"、"password"必须输入,通过获取username,数据库查询是否有该用户,如果存在,则提示“用户已存在”,否则执行将UserId置为空(数据库表中该字段已设置自动递增),代码如下所示。
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
4.4.2用户登录
登录页,首先传入"username"、"email"、"phone"、"password",用户可通过用户名、邮箱、手机号进行登陆,通过判断resultList来确定查询结果,然后执行查询用户组UserGroup,用户组里面不存在,依然报“用户不存在”,执行完以上代码,最后涉及到用户带有“审核”的,会查询examine_state(用户的审核状态),数据库表user_group中含有source_table和source_field进行查询,以上步骤完成,对输入的密码进行存储Token到数据库,匹对账号和密码,数据库中的AccessToken为令牌,用于身份认证,代码如下所示。
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
4.4.3修改密码
修改密码,通过请求data,获取旧密码,并将新密码重新赋值,期间都是需要通过加密,代码如下所示。
* 修改密码
* @param data
* @param request
* @return
*/
@PostMapping("change_password")
public Map<String, Object> change_password(@RequestBody Map<String, String> data, HttpServletRequest request){
// 根据Token获取UserId
String token = request.getHeader("x.auth.token");
Integer userId = tokenGetUserId(token);
// 根据UserId和旧密码获取用户
Map<String, String> query = new HashMap<>();
String o_password = data.get("o_password");
query.put("user_id" ,String.valueOf(userId));
query.put("password" ,service.encryption(o_password));
int count = service.selectBaseCount(service.count(query, service.readConfig(request)));
if(count > 0){
// 修改密码
Map<String,Object> form = new HashMap<>();
form.put("password",service.encryption(data.get("password")));
service.update(query,service.readConfig(request),form);
return success(1);
}
return error(10000,"密码修改失败!");
4.4.4修改数据
修改一个数据,原理与add基本一致,不同点在于通过readConfig()读取关键字,以及通过readQuery()获取URL后面?指定位置的标识,转成Map对象后,执行update操作,同样通过拼接的sql语句执行,执行过程读取query,toWhereSql()语句完成数据库操作,body为修改对象的值,代码如下所示。
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));
return success(1);
}
4.4.5删除数据
删除一条数据,通过readQuery(),获取URL后面的对象地址,删除FROM具体的table,query删除查询FindConfig语句,代码如下所示。
@RequestMapping(value = "/del")
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
public void delete(Map<String,String> query,Map<String,String> config){
QueryWrapper wrapper = new QueryWrapper<E>();
toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);
baseMapper.delete(wrapper);
log.info("[{}] . 删除操作:{}",wrapper.getSqlSelect());
}
4.4.6获取数据
通过请求的参数获取列表数据,代码如下所示。
@RequestMapping("/get_obj")
public Map<String, Object> obj(HttpServletRequest request) {
List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));
if (resultList.size() > 0) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("obj",resultList.get(0));
return success(jsonObject);
} else {
return success(null);
}
4.4.7图片上传
通过请求的参数获取列表数据,代码如下所示。
@PostMapping("/upload")
public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {
log.info("进入方法");
if (file.isEmpty()) {
return error(30000, "没有选择文件");
}
try {
//判断有没路径,没有则创建
String filePath = System.getProperty("user.dir") + "/src/main/resources/static/";
File targetDir = new File(filePath);
if (!targetDir.exists() && !targetDir.isDirectory()) {
if (targetDir.mkdirs()) {
log.info("创建目录成功");
} else {
log.error("创建目录失败");
}
}
4.5数据库设计
4.5.1数据库设计原则
高校教师绩效工资管理系统在进行数据库设计时,考虑到个人能力与数据库选择,选择了数据库Mysql。以下将使用E.R展示数据库中设计的实体及主要的字段和类型及数据库的描述。
4.5.2数据库实体
通过建立高校教师绩效工资管理系统的E.R模型图。以此来设计详细的数据库资料实体,以下为具体图例:
(1)教师用户实体图如下图所示;

图4.6教师用户实体图
(2)绩效数据实体图如下图所示;

图4.7绩效数据实体图
(3)绩效自评信息实体E.R图如下图所示;

图4.8绩效自评信息实体E.R图
(4)整体数据库实体E.R图如下图所示:

图4.9数据库E.R图
4.5.3数据库表设计
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
token_id |
int |
10 |
0 |
N |
Y |
临时访问牌ID |
|
|
2 |
token |
varchar |
64 |
0 |
Y |
N |
临时访问牌 |
|
|
3 |
info |
text |
65535 |
0 |
Y |
N |
||
|
4 |
maxage |
int |
10 |
0 |
N |
N |
2 |
最大寿命:默认2小时 |
|
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
7 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户编号: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
appeal_record_id |
int |
10 |
0 |
N |
Y |
申诉记录ID |
|
|
2 |
teacher_account |
int |
10 |
0 |
Y |
N |
0 |
教师账号 |
|
3 |
teachers_name |
varchar |
64 |
0 |
Y |
N |
教师姓名 |
|
|
4 |
teachers_phone_number |
varchar |
64 |
0 |
Y |
N |
教师电话 |
|
|
5 |
performance_theme |
varchar |
64 |
0 |
Y |
N |
绩效主题 |
|
|
6 |
data_number |
varchar |
64 |
0 |
Y |
N |
数据编号 |
|
|
7 |
appeal_time |
datetime |
19 |
0 |
Y |
N |
申诉时间 |
|
|
8 |
appeal_content |
text |
65535 |
0 |
Y |
N |
申诉内容 |
|
|
9 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
10 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
11 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表 |
|
|
12 |
source_id |
int |
10 |
0 |
Y |
N |
来源ID |
|
|
13 |
source_user_id |
int |
10 |
0 |
Y |
N |
来源用户 |
表attendance_information (考勤信息)
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
attendance_information_id |
int |
10 |
0 |
N |
Y |
考勤信息ID |
|
|
2 |
teachers_name |
varchar |
64 |
0 |
Y |
N |
教师姓名 |
|
|
3 |
check_in_time |
datetime |
19 |
0 |
Y |
N |
打卡时间 |
|
|
4 |
check_in_type |
varchar |
64 |
0 |
Y |
N |
打卡类型 |
|
|
5 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
auth_id |
int |
10 |
0 |
N |
Y |
授权ID: |
|
|
2 |
user_group |
varchar |
64 |
0 |
Y |
N |
用户组: |
|
|
3 |
mod_name |
varchar |
64 |
0 |
Y |
N |
模块名: |
|
|
4 |
table_name |
varchar |
64 |
0 |
Y |
N |
表名: |
|
|
5 |
page_title |
varchar |
255 |
0 |
Y |
N |
页面标题: |
|
|
6 |
path |
varchar |
255 |
0 |
Y |
N |
路由路径: |
|
|
7 |
parent |
varchar |
64 |
0 |
Y |
N |
父级菜单 |
|
|
8 |
parent_sort |
int |
10 |
0 |
N |
N |
0 |
父级菜单排序 |
|
9 |
position |
varchar |
32 |
0 |
Y |
N |
位置: |
|
|
10 |
mode |
varchar |
32 |
0 |
N |
N |
_blank |
跳转方式: |
|
11 |
add |
tinyint |
3 |
0 |
N |
N |
1 |
是否可增加: |
|
12 |
del |
tinyint |
3 |
0 |
N |
N |
1 |
是否可删除: |
|
13 |
set |
tinyint |
3 |
0 |
N |
N |
1 |
是否可修改: |
|
14 |
get |
tinyint |
3 |
0 |
N |
N |
1 |
是否可查看: |
|
15 |
field_add |
text |
65535 |
0 |
Y |
N |
添加字段: |
|
|
16 |
field_set |
text |
65535 |
0 |
Y |
N |
修改字段: |
|
|
17 |
field_get |
text |
65535 |
0 |
Y |
N |
查询字段: |
|
|
18 |
table_nav_name |
varchar |
500 |
0 |
Y |
N |
跨表导航名称: |
|
|
19 |
table_nav |
varchar |
500 |
0 |
Y |
N |
跨表导航: |
|
|
20 |
option |
text |
65535 |
0 |
Y |
N |
配置: |
|
|
21 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
22 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
code_token_id |
int |
10 |
0 |
N |
Y |
||
|
2 |
token |
varchar |
255 |
0 |
Y |
N |
||
|
3 |
code |
varchar |
255 |
0 |
Y |
N |
验证码 |
|
|
4 |
expire_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
失效时间 |
|
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
hits_id |
int |
10 |
0 |
N |
Y |
点赞ID: |
|
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
|
3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
performance_data_id |
int |
10 |
0 |
N |
Y |
绩效数据ID |
|
|
2 |
teacher_account |
int |
10 |
0 |
Y |
N |
0 |
教师账号 |
|
3 |
teachers_name |
varchar |
64 |
0 |
Y |
N |
教师姓名 |
|
|
4 |
performance_theme |
varchar |
64 |
0 |
Y |
N |
绩效主题 |
|
|
5 |
data_number |
varchar |
64 |
0 |
Y |
N |
数据编号 |
|
|
6 |
frontline_teaching_performance |
double |
9 |
2 |
Y |
N |
0.00 |
一线教学绩效 |
|
7 |
departmental_work_rewards |
double |
9 |
2 |
Y |
N |
0.00 |
部门工作奖励 |
|
8 |
teaching_supervision_performance |
double |
9 |
2 |
Y |
N |
0.00 |
教学督导绩效 |
|
9 |
off_campus_work_performance |
double |
9 |
2 |
Y |
N |
0.00 |
校外工作绩效 |
|
10 |
early_on_duty_living_allowance |
double |
9 |
2 |
Y |
N |
0.00 |
提前到岗生活补贴 |
|
11 |
invigilation_fee |
double |
9 |
2 |
Y |
N |
0.00 |
监考费用 |
|
12 |
other_job_performance |
double |
9 |
2 |
Y |
N |
0.00 |
其他工作绩效 |
|
13 |
settlement_time |
datetime |
19 |
0 |
Y |
N |
结算时间 |
|
|
14 |
performance_self_assessment_limit_times |
int |
10 |
0 |
N |
N |
0 |
自评限制次数 |
|
15 |
performance_evaluation_limit_times |
int |
10 |
0 |
N |
N |
0 |
评审限制次数 |
|
16 |
appeal_record_limit_times |
int |
10 |
0 |
N |
N |
0 |
申诉限制次数 |
|
17 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
18 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表performance_evaluation (绩效评审)
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
performance_evaluation_id |
int |
10 |
0 |
N |
Y |
绩效评审ID |
|
|
2 |
review_account |
int |
10 |
0 |
Y |
N |
0 |
评审账号 |
|
3 |
reviewer_name |
varchar |
64 |
0 |
Y |
N |
评审姓名 |
|
|
4 |
teacher_account |
int |
10 |
0 |
Y |
N |
0 |
教师账号 |
|
5 |
teachers_name |
varchar |
64 |
0 |
Y |
N |
教师姓名 |
|
|
6 |
performance_theme |
varchar |
64 |
0 |
Y |
N |
绩效主题 |
|
|
7 |
review_rating |
double |
9 |
2 |
Y |
N |
0.00 |
评审评分 |
|
8 |
review_time |
datetime |
19 |
0 |
Y |
N |
评审时间 |
|
|
9 |
review_summary |
text |
65535 |
0 |
Y |
N |
评审总结 |
|
|
10 |
review_suggestions |
text |
65535 |
0 |
Y |
N |
评审建议 |
|
|
11 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
12 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
13 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表 |
|
|
14 |
source_id |
int |
10 |
0 |
Y |
N |
来源ID |
|
|
15 |
source_user_id |
int |
10 |
0 |
Y |
N |
来源用户 |
表performance_self_assessment (绩效自评)
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
performance_self_assessment_id |
int |
10 |
0 |
N |
Y |
绩效自评ID |
|
|
2 |
teacher_account |
int |
10 |
0 |
Y |
N |
0 |
教师账号 |
|
3 |
teachers_name |
varchar |
64 |
0 |
Y |
N |
教师姓名 |
|
|
4 |
performance_theme |
varchar |
64 |
0 |
Y |
N |
绩效主题 |
|
|
5 |
self_evaluation_document |
varchar |
255 |
0 |
Y |
N |
自评文件 |
|
|
6 |
self_evaluation_time |
datetime |
19 |
0 |
Y |
N |
自评时间 |
|
|
7 |
self_evaluation_report |
text |
65535 |
0 |
Y |
N |
自评报告 |
|
|
8 |
teaching_instructions |
text |
65535 |
0 |
Y |
N |
教学说明 |
|
|
9 |
research_explanation |
text |
65535 |
0 |
Y |
N |
科研说明 |
|
|
10 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
11 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
12 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表 |
|
|
13 |
source_id |
int |
10 |
0 |
Y |
N |
来源ID |
|
|
14 |
source_user_id |
int |
10 |
0 |
Y |
N |
来源用户 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
review_users_id |
int |
10 |
0 |
N |
Y |
评审用户ID |
|
|
2 |
reviewer_name |
varchar |
64 |
0 |
Y |
N |
评审姓名 |
|
|
3 |
review_phone_number |
varchar |
64 |
0 |
Y |
N |
评审电话 |
|
|
4 |
gender_review |
varchar |
64 |
0 |
Y |
N |
评审性别 |
|
|
5 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
|
6 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
|
7 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
salary_details_id |
int |
10 |
0 |
N |
Y |
工资明细ID |
|
|
2 |
teacher_account |
int |
10 |
0 |
Y |
N |
0 |
教师账号 |
|
3 |
salary_title |
varchar |
64 |
0 |
Y |
N |
工资标题 |
|
|
4 |
base_pay |
double |
9 |
2 |
Y |
N |
0.00 |
基本工资 |
|
5 |
merit_pay |
double |
9 |
2 |
Y |
N |
0.00 |
绩效工资 |
|
6 |
allowance_salary |
double |
9 |
2 |
Y |
N |
0.00 |
津贴工资 |
|
7 |
total_salary |
double |
9 |
2 |
Y |
N |
0.00 |
工资总计 |
|
8 |
distribution_time |
datetime |
19 |
0 |
Y |
N |
发放时间 |
|
|
9 |
salary_remarks |
text |
65535 |
0 |
Y |
N |
工资备注 |
|
|
10 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
11 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
schedule_id |
smallint |
5 |
0 |
N |
Y |
日程ID:[0,32767] |
|
|
2 |
content |
varchar |
255 |
0 |
Y |
N |
日程内容 |
|
|
3 |
scheduled_time |
datetime |
19 |
0 |
Y |
N |
计划时间 |
|
|
4 |
user_id |
int |
10 |
0 |
N |
N |
用户id |
|
|
5 |
create_time |
datetime |
19 |
0 |
Y |
N |
创建时间 |
|
|
6 |
update_time |
datetime |
19 |
0 |
Y |
N |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
score_id |
int |
10 |
0 |
N |
Y |
评分ID: |
|
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
评分人: |
|
3 |
nickname |
varchar |
64 |
0 |
Y |
N |
昵称: |
|
|
4 |
score_num |
double |
5 |
2 |
N |
N |
0.00 |
评分: |
|
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
7 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
|
8 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
|
9 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
teacher_users_id |
int |
10 |
0 |
N |
Y |
教师用户ID |
|
|
2 |
teachers_name |
varchar |
64 |
0 |
Y |
N |
教师姓名 |
|
|
3 |
teachers_phone_number |
varchar |
64 |
0 |
Y |
N |
教师电话 |
|
|
4 |
teacher_gender |
varchar |
64 |
0 |
Y |
N |
教师性别 |
|
|
5 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
|
6 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
|
7 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
teaching_tasks_id |
int |
10 |
0 |
N |
Y |
教学任务ID |
|
|
2 |
teacher_account |
int |
10 |
0 |
Y |
N |
0 |
教师账号 |
|
3 |
teachers_name |
varchar |
64 |
0 |
Y |
N |
教师姓名 |
|
|
4 |
task_name |
varchar |
64 |
0 |
Y |
N |
任务名称 |
|
|
5 |
task_files |
varchar |
255 |
0 |
Y |
N |
任务文件 |
|
|
6 |
task_type |
varchar |
64 |
0 |
Y |
N |
任务类型 |
|
|
7 |
expected_class_hours |
double |
9 |
2 |
Y |
N |
0.00 |
预计课时 |
|
8 |
launch_time |
datetime |
19 |
0 |
Y |
N |
开展时间 |
|
|
9 |
task_description |
text |
65535 |
0 |
Y |
N |
任务说明 |
|
|
10 |
completion_status |
varchar |
64 |
0 |
Y |
N |
完成情况 |
|
|
11 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
12 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
upload_id |
int |
10 |
0 |
N |
Y |
上传ID |
|
|
2 |
name |
varchar |
64 |
0 |
Y |
N |
文件名 |
|
|
3 |
path |
varchar |
255 |
0 |
Y |
N |
访问路径 |
|
|
4 |
file |
varchar |
255 |
0 |
Y |
N |
文件路径 |
|
|
5 |
display |
varchar |
255 |
0 |
Y |
N |
显示顺序 |
|
|
6 |
father_id |
int |
10 |
0 |
Y |
N |
0 |
父级ID |
|
7 |
dir |
varchar |
255 |
0 |
Y |
N |
文件夹 |
|
|
8 |
type |
varchar |
32 |
0 |
Y |
N |
文件类型 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
user_id |
int |
10 |
0 |
N |
Y |
用户ID:[0,8388607]用户获取其他与用户相关的数据 |
|
|
2 |
state |
smallint |
5 |
0 |
N |
N |
1 |
账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
|
3 |
user_group |
varchar |
32 |
0 |
Y |
N |
所在用户组:[0,32767]决定用户身份和权限 |
|
|
4 |
login_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
上次登录时间: |
|
5 |
phone |
varchar |
11 |
0 |
Y |
N |
手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 |
|
|
6 |
phone_state |
smallint |
5 |
0 |
N |
N |
0 |
手机认证:[0,1](0未认证|1审核中|2已认证) |
|
7 |
username |
varchar |
16 |
0 |
N |
N |
用户名:[0,16]用户登录时所用的账户名称 |
|
|
8 |
nickname |
varchar |
16 |
0 |
Y |
N |
昵称:[0,16] |
|
|
9 |
password |
varchar |
64 |
0 |
N |
N |
密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 |
|
|
10 |
|
varchar |
64 |
0 |
Y |
N |
邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 |
|
|
11 |
email_state |
smallint |
5 |
0 |
N |
N |
0 |
邮箱认证:[0,1](0未认证|1审核中|2已认证) |
|
12 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址:[0,255] |
|
|
13 |
open_id |
varchar |
255 |
0 |
Y |
N |
针对获取用户信息字段 |
|
|
14 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
group_id |
mediumint |
8 |
0 |
N |
Y |
用户组ID:[0,8388607] |
|
|
2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
显示顺序:[0,1000] |
|
3 |
name |
varchar |
16 |
0 |
N |
N |
名称:[0,16] |
|
|
4 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该用户组的特点或权限范围 |
|
|
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
8 |
register |
smallint |
5 |
0 |
Y |
N |
0 |
注册位置: |
|
9 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
10 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
5系统实现
5.1教师用户功能实现
5.1.1注册登录
教师用户在注册时需提供个人信息,包括姓名、账号、联系方式等,提交注册申请后,系统将生成一个初步账户。此时,教师账户处于待审核状态,管理员需对教师的注册信息进行审核,确保信息的准确性与合规性。审核通过后,教师方可使用系统登录,并开始进行绩效数据管理、自评等操作。该功能保证了系统用户的身份真实性和信息安全。如下图所示。

图5.1注册界面图

图5.2登录界面图
5.1.2绩效数据管理
教师可以在绩效数据管理页面查看详细的个人绩效数据,包括教师账号、姓名、绩效主题、各项绩效如教学绩效、部门工作奖励、科研任务等。这些数据按时间和类别进行归档,使教师能够清楚地了解每个绩效项的得分情况及考核标准。教师还可根据这些数据进行自我评估和对未来工作的规划。如下图所示。

图5.3绩效数据查看界面图
5.1.3绩效自评管理
教师通过绩效自评管理功能,填写自评文件、撰写自评报告,并提交相关材料,如教学说明、科研说明等。自评报告会涵盖教学质量、科研成果、社会服务等方面的内容,教师可以根据实际情况进行评价,反映自己在各项任务中的表现和努力。这一过程不仅帮助教师全面了解自己的工作状态,还能为评审提供基础数据。如下图所示。

图5.4绩效自评界面图
5.1.4申诉记录管理
如果教师对评审结果或某项绩效数据存在异议,可以通过申诉记录管理功能进行申诉。教师可以详细说明申诉理由并上传相关证据,系统会在后台生成申诉流程并交由管理员或评审人员处理。申诉管理功能为教师提供了维护自己权益的渠道,确保评估结果的公正性与透明度。如下图所示。

图5.5提交申诉界面图
5.1.5教学任务管理
教师可以自行添加本学期的教学任务内容,包括授课科目、课时数、教材使用情况等。教学任务管理使教师能够更加清晰地规划自己的教学计划并同步到绩效系统中,以便进行后期的绩效评估。这一功能还可以帮助教师对任务的完成情况进行记录和反馈,从而在绩效评定时提供充分的数据支持。如下图所示。

图5.6教学任务添加界面图
5.2管理员功能实现
5.2.1后台首页
管理员通过系统后台首页可查看全校教师的绩效数据和评审统计。首页展示各项重要数据,包括教师的综合绩效评分、评审进度和相关统计报告,帮助管理员全面把握教师绩效评估的整体情况。此外,管理员还可以查看评审的公正性与效率,确保评审工作顺利进行。如下图所示。

图5.7后台首页界面
5.2.2用户管理
管理员负责系统中的用户管理功能,能够对教师、评审用户及其他管理员的账户信息进行管理与审核。管理员可以为用户分配权限,修改用户信息或删除无效账户,确保系统中每个角色的权限清晰,且操作合规。通过用户管理,管理员确保系统的有序运行与安全性。如下图所示。

图5.8用户状态维护界面
5.2.3绩效数据管理
管理员可以通过绩效数据管理模块,为教师添加或修改个人绩效数据。管理员可根据学校制定的标准,录入教师的教学、科研、社会服务等方面的绩效数据,确保系统数据的及时更新与准确性。管理员还可对绩效数据进行审核,确保其符合评估标准。如下图所示。

图5.9绩效数据添加界面
5.2.4工资明细管理
管理员可通过工资明细管理功能为教师添加或修改工资数据,包括基本工资、绩效工资及各类津贴等。管理员应确保每一项工资数据的准确性与透明度,同时定期审核工资数据,确保系统中的工资信息符合实际情况并及时发放。如下图所示。

图5.10工资明细添加界面
5.2.5考勤信息管理
管理员负责添加和管理教师的考勤打卡信息。管理员需定期录入教师的考勤记录,如出勤、迟到、早退等信息,并确保数据的准确性。管理员还需确保考勤信息与绩效评估紧密关联,确保公平和透明的考勤管理流程。如下图所示。

图5.11考勤信息添加界面
5.3教练功能实现
5.3.1绩效数据管理
在绩效数据管理模块,评审用户可以查看所有教师的详细绩效数据,包括教师的教学成绩、科研成果、社会服务等。评审用户可以根据教师的不同表现进行比对,帮助他们做出综合评定。同时,系统提供按时间、类别等筛选功能,方便评审用户快速找到需要评审的内容,确保评审工作的准确性与公正性。如下图所示。

图5.12绩效数据查看界面
5.3.2绩效评审管理
绩效评审管理功能是评审用户的核心任务。评审用户根据系统提供的数据和教师的自评报告,给出具体的评分和评价意见。评审用户可以对教师的各项工作进行综合评估,提出改进建议,并在系统内生成评审报告。评审过程透明、公正,有助于教师理解自己的优点与不足,从而提高整体绩效表现。如下图所示。

图5.13绩效评审添加界面
6系统测试
6.1系统测试目标
为了保证高校教师绩效工资管理系统的质量,使其能够稳定的运行,并排除其可能存在的未知隐患。解除软件可能存在的故障,理清楚测试与纠错的关系,如下图所示。

图6.1测试与纠错信息流程
6.2系统功能测试
通过对系统中所含的主要实体对象及其功能操作进行测试用例设计。以下是详细的测试表:
表6.1用户注册测试表
|
测试用例编号 |
功能模块 |
测试用例描述 |
测试结果 |
|
TC001 |
用户注册 |
输入正确的用户名和密码 |
注册成功,提示注册完成 |
|
TC002 |
用户注册 |
输入已存在的用户名 |
注册失败,提示用户名已存在 |
|
TC003 |
用户注册 |
输入格式错误的邮箱地址 |
注册失败,提示邮箱格式错误 |
|
TC004 |
用户注册 |
不输入密码 |
注册失败,提示密码不能为空 |
|
TC005 |
用户注册 |
输入弱密码(如123456) |
注册失败,提示密码强度不足 |
表6.2用户登录测试表
|
测试用例编号 |
功能模块 |
测试用例描述 |
测试结果 |
|
TC001 |
用户登录 |
输入正确的用户名和密码 |
登录成功,进入主页 |
|
TC002 |
用户登录 |
输入错误的用户名 |
登录失败,提示用户名不存在 |
|
TC003 |
用户登录 |
输入错误的密码 |
登录失败,提示密码错误 |
|
TC004 |
用户登录 |
未输入用户名或密码 |
登录失败,提示用户名或密码不能为空 |
|
TC005 |
用户登录 |
多次输入错误密码 |
登录失败,提示账户已被锁定 |
表6.3查看绩效数据测试表
|
测试用例编号 |
功能模块 |
测试用例描述 |
测试结果 |
|
TC001 |
查看绩效数据 |
管理员登录,查看所有教师的绩效数据 |
成功显示所有教师的绩效数据 |
|
TC002 |
查看绩效数据 |
评审用户登录,查看某一教师的绩效数据 |
成功显示该教师的各项绩效数据 |
|
TC003 |
查看绩效数据 |
未登录用户尝试查看教师绩效数据 |
登录提示,无法访问绩效数据 |
|
TC004 |
查看绩效数据 |
输入教师姓名进行绩效数据筛选 |
成功筛选并显示该教师的绩效数据 |
|
TC005 |
查看绩效数据 |
评审用户尝试查看没有权限的教师绩效数据 |
提示无权限,无法查看该教师的绩效数据 |
表6.4提交绩效自评测试表
|
测试用例编号 |
功能模块 |
测试用例描述 |
测试结果 |
|
TC001 |
提交绩效自评 |
教师提交完整的自评报告 |
成功提交自评报告,提示提交成功 |
|
TC002 |
提交绩效自评 |
教师提交空白自评报告 |
提交失败,提示自评报告不能为空 |
|
TC003 |
提交绩效自评 |
教师提交格式错误的自评报告 |
提交失败,提示自评报告格式错误 |
|
TC004 |
提交绩效自评 |
教师未填写必要字段(如教学成绩) |
提交失败,提示缺少必要字段 |
|
TC005 |
提交绩效自评 |
教师提交自评报告后,管理员审核通过 |
自评报告审核通过,进入评审阶段 |
表6.5提交绩效申诉测试表
|
测试用例编号 |
功能模块 |
测试用例描述 |
测试结果 |
|
TC001 |
提交绩效申诉 |
教师提交对绩效评审结果的有效申诉 |
申诉成功,记录已保存,并等待管理员审核 |
|
TC002 |
提交绩效申诉 |
教师提交无效的申诉(如无相关证据) |
申诉失败,提示申诉内容无效 |
|
TC003 |
提交绩效申诉 |
教师提交申诉后,管理员及时处理并回复 |
申诉处理完成,管理员回复申诉内容 |
|
TC004 |
提交绩效申诉 |
教师提交重复申诉 |
申诉失败,提示该申诉已处理过 |
|
TC005 |
提交绩效申诉 |
教师未提交申诉内容 |
提交失败,提示申诉内容不能为空 |
6.3测试结果总结
本次测试覆盖了系统的关键功能模块,包括用户注册、登录、绩效数据查看、绩效自评提交和绩效申诉提交等。测试结果显示,系统在大多数场景下能够顺利执行预期功能,如用户成功注册、登录以及绩效数据的正确展示。然而,也存在一些可能的异常情况,如用户输入错误的用户名或密码,或者提交无效的申诉和自评报告时系统能正确提示错误并限制操作。通过这些测试,我们验证了系统在处理用户输入、权限控制和数据管理方面的准确性和稳定性。尤其在处理教师自评和申诉过程中,系统能够有效地保障教师的权益,并提供及时的反馈。整体而言,系统具备较强的功能完备性和操作简便性,能够支持各类用户(管理员、评审用户、教师)高效进行绩效管理与评审工作,确保评估过程公正透明。
结 论
本文设计并实现了一个高校教师绩效工资管理系统,旨在为高校提供一种高效、透明、公正的教师绩效管理方案。随着高等教育的发展,教师的工作绩效已成为衡量其教学质量与科研能力的重要标准,因此,如何科学、公正地进行教师绩效评估与工资发放成为高校管理中的重要问题。系统通过信息化手段,优化了绩效管理流程,确保了绩效数据的准确性和实时性。
系统设计包括三个主要用户角色:管理员、教师用户和评审用户。管理员负责系统的整体管理,能够进行用户管理、数据管理、考勤记录及工资明细的维护等;教师用户可以查看自己的绩效数据、提交自评报告、申诉记录等;评审用户则根据教师的工作表现进行绩效评审和打分,提供专业建议。系统还设置了申诉管理模块,确保教师可以在对绩效评分有异议时提出申诉,增强了系统的公正性和透明度。
系统采用Java语言和Spring Boot框架进行后端开发,前端使用Vue.js框架,数据存储则采用MySQL数据库。通过该系统的实现,能够显著提高教师绩效管理的效率和准确性,提升教师的工作积极性,促进教学质量的提高。同时,系统的智能化与自动化也大大减少了人工干预,简化了管理流程,增强了高校人力资源管理的科学性和规范性。
参考文献
- 张孝民.绩效管理系统在提升企业效率中的应用[J].商业观察,2024,10(28):103-106.
- 金冬梅,张富芹,李业昆.构建符合高校教师工作和绩效特点的绩效管理系统[J].中国成人教育,2020,(22):22-25.
- 张新海,朱祎.基于MVVM模式SpringBoot框架的高校信息化项目管理系统[J].信息技术与信息化,2024,(05):54-58.
- 范晓晓.中职学校教师绩效评价管理系统设计与实践[D].广西师范大学,2020.
- 杨娟.绩效管理系统的设计与优化研究[J].今日财富,2024,(01):62-64.
- Brendah Akankunda,Stephen K. Nkundabanyanga,Twaha Kigongo Kaawaase,Muyiwa S. Adaramola,Gideon Nkurunziza,Sulait Tumwine.The mediating effect of management control systems on human capital and sustainable performance among Ugandan power companies[J].Cogent Business & Management,2024,11(1):
- Henao-García Edwin Alexander,Cardona Montoya Raúl Armando.Management innovation and its relation to innovation outcomes and firm performance: a systematic literature review and future research agenda[J].European Journal of Innovation Management,2024,27(8):2393-2418.
- Ben Fradj Anes,El Asli Neila,Boukherroub Tasseda,Olivier Claude.Towards an Integrated Performance Management and Measurement System for healthcare organisations: a case study in Montreal[J].F1000Research,2024,12
- Vajda Éva,Wieszt Attila,Anand Amitabh.Fair play in family firms: examining the perceived justice of performance management systems[J].Journal of Family Business Management,2024,14(6):1065-1083.
- Ioannis Ε. Diavastis.Exploring the Intersection of Contemporary Management Accounting Practices and Accounting Information Systems: The Impact on Hotel Performance[J].Journal of Risk and Financial Management,2024,17(11):516-516.
- 黎明明,区倩如,姚馨.基于ThinkPHP+MySQL的高校教师工作绩效考核管理系统的研发[J].现代计算机,2023,29(19):82-87.
- 任雅楠.高校教师绩效管理模式优化路径探析——基于HPT模型的思考[J].中国人事科学,2022,(05):14-23.
- 丁晶晶,杨君彦,胡丹,梁樑.信息不对称下的高校预算绩效管理系统研究[J].系统科学与数学,2022,42(05):1246-1260.
- 刘冰,贾子彦,孙华林.基于Vue.js的高校档案管理系统[J].软件,2022,43(09):70-73.
- 邱璐璐,陈俊仁.基于SpringBoot和Vue框架的高校代领系统设计与实现[J].信息技术与信息化,2021,(04):25-27.
- 李娟,彭剑.基于SpringBoot的高校课程知识库的设计与实现[J].电脑知识与技术,2021,17(06):70-71.
- 赵明文,闾枫.基于SpringBoot的高校学习社区的设计与实现[J].电子测试,2020,(13):92-93+129.
- 张恒铭.基于SpringBoot+MyBatis框架的高校人事信息发布系统设计与实现[J].电脑知识与技术,2020,16(18):68-70.
- 林圣峰,姚锦江,林涛,刘嘉校,田智卓,李超.基于SpringBoot的高校实验室管理系统设计[J].无线互联科技,2023,20(18):80-82.
- 陈宣竹.医院绩效管理系统的构建与应用[J].投资与创业,2023,34(12):154-156.
致 谢
在本文的撰写和系统开发过程中,我深刻体会到个人独立完成一项系统开发工作的挑战与成就感。首先,我要感谢我的导师,在整个研究和开发过程中给予了我无私的指导与建议。无论是在技术细节还是研究思路上,他都为我提供了宝贵的方向性指导,帮助我克服了许多难题。虽然整个开发过程是由我独立完成的,但导师的意见使我在遇到瓶颈时有了清晰的解决思路。
在开发过程中,我经历了从系统需求分析、架构设计到功能实现的完整过程。这不仅锻炼了我的编码能力,也让我在项目管理、时间安排和问题解决等方面有了长足的进步。我独立完成了系统的每一行代码,并通过反复测试和优化确保了系统的稳定性和性能。在遇到技术难题时,我通过查阅大量文献、技术文档和社区讨论,自主解决了各类问题,这个过程让我更加理解了技术的深度与广度。
同时,我也要感谢我的家人和朋友,他们在开发的整个过程中给予了我莫大的支持和鼓励,成为我坚持完成这项工作的动力。正是在这些力量的支持下,我才能独立完成这项系统开发并顺利完成论文的撰写。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~
更多推荐
所有评论(0)