【《基于Python的工资管理系统的设计与实现》17000字(论文)】.docx
基于Python的工资管理系统的设计与实现摘要随着我国经济的快速发展,各个企业逐渐向大型化以及规模化转型,在大型企业管理中,员工的职称等级与薪酬制度息息相关,仅苑传统的薪酬核算方式是远远不够的,并且容易出现失误和细漏,所以,企业应当遵循时代的发展规律,利用计.算机工资核算系统取代传统的人工核算模式,在新增员工这一模块,设践工资查询功能,使F核算统计等操作,合理规范的薪资管理制度能够优化企业的薪资管理流程,提高工资核算效率,对企业的发展和壮大有着非常玳要的意义。本文所涉及的工资管理系统基于Python作为系统的开发语言,该系统主要涉及到工资档案管理、工资计算管理、工资报表管理和权限管理等功能模块1)利用PythOn中的yacc模块以及A1.eX模块,设定一种语法解析功能与途径,便于完成自定义工资数据的分析,进而自动生成员工工资单,核算出应发的工资以及需要扣除的税款,企业薪酬管理系统具有四大优势:第一,安全性高;第二,稳定性强:第三,准确度高:第四,可扩展性好,对企业的现有业务以及人员的规模有具体拓展功能,系统在应用过程中不仅节约了企业的人力成本,还很大程度的提升了工作效率,为满足企业的壮大和发展奠定了坚实的战础,利用系统化薪资发放模式,不仅能够规苑企业的管理制度,还要加强推广力度,适用于其他各个行业。关健词:绩效工资;管理系统:Python目录1绪论31. 1本课即研究目的31.2 本课题研究意义31.3 国内外研究动态31.4 研究内容42技术概述52. 1Python简介52. 3Mysq1.数据库53工资管理系统的需求分析72.2 系统功能需求分析72.3 系统用例分析83. 3系统性能需求分析94工资管理系统设计113.2 工资管理系统总体设计114. 2系统各功能模块设计134. 3数据库设计195工资管理系统实现224.1 系统的软硬件环境和开发工具225. 2系统各功能模块实现236工资管理系统测试306. 1测试方法306. 2测试过程306.3测试结果317结论与展望327.1总结327. 2展望32参考文献33致谢得谀I未定义书签.1绪论1.1 本课题研究目的目前,科技发展的如火如茶,越来越多的公司管理进行了现代化的升级,例如使用电子打卡系统、员工管理系统、局域网消息系统等,但是还没有个很好的方法实现工资财务管理系统。目前,大多数公司选择银行转账的方式发放工资,代杵了原先现金发放工资的方式,使用转账的方式虽然较为简便,无需专门的地方存放现金,也无需担心现金丢失,但是每次发放工资的时候都需要一一核对工资,输入工资卡账号,核对人员信息后进行转账,同样花费了较多的时间和人力,基于此现况,本文研究了基于Python的工资管理系统,可以通过计算机、数据库的方式存储数据,以实现发放工资时无需操作繁多的数据,仅须通过设计好的程序进行简单操作后,便可实现发放工资的操作,以达到减少过程中的财产损失和节约工作人员操作时间的目的。1.2 本课题研究意义很多企业财务部门的管理仍然没有使用更为方便的网络管理,然而使用的其他管理模式需要的不单止是公司的财务和支出,同时需要员工有处理事务的速度和准确度,其极大程度的影响公司面向未来规划的发展,不利于公司盈利更不符合国家经济发展的趋势,针对于此种跟不上时代并I1.不科学的管理方式在很大情况下容易出现管理体系的不严谭、不便捷等问题,构建便捷快速的事物管理系统是势在必行。提高管理效率的同时,如何协调化的处理工资管理系统的操作便利性、减少管理人田的投入、资金节流等问题也是必须纳入参考的.因此本文基TPython的工资管理系统具有很大的研究意义。.1.3 国内外研究动态1.1 1国外研究动态工资管理在发达国家已有较为成熟的发展,在这个系统技术领域中,国外以多种StrUtS框架以及WebSCrViCe两者相互结合的模式,并对此做出了详细的对比,总结出两者之间的优势以及不足之处,选取适应S1.rUIS和WebService集成模式的运行环境,解决序列化问题的有效途径是利用服务总线来进行有效的规避,采用可以实现Web系统的管理模式,根据相关的文献资料做出参考,这种集成模式较为简便,对Web应用系统的部署工作提供了规范化管理,并且在此条件下,有效地开发出了相关的应用程序,对程序的修改和重建工作提升了很高的效率.1.2 2国内研究动态近年来,国内企业工资管理的话题是企业管理人m较为关注的重点,就企业的发展现状而言,人力资源部门侧盎于激励机制的建立,为人事制度的合理分配而制定的管理体系,在实际工作中,企业对工资管理的应用依然处于初始阶段,在传统的人力资源管理模式中,是以JDBC技术连接数据库为主。根据相关文献的记载表明,Hibernate系统作为一个开放源代码的映射框架,在企业人事管理系统中,只要符合JDBC的运行环境,都能够安装Hibernate系统,因此,既能够作为单独的系统适用于SerVIeI以及JSP的Web页中,也可以成为系统开发中JAYE的客户端。分析其工作原理,HibeEate是通过强大的0/R映射功能将Java对线和存放在关系数据库中的数据实施映射,企业人事管理系统可以根据程序员的思维进行编程和操作,在开发HibeInUte的系统过程中,能够预防系统开发人员利用SQ1.情言对数据库进行编堀,使企业薪资管理系统的开发效率得到了很面的提升。1.4 研究内容本文主要的研究内容是企业薪册管理系统的开发和应用,是为了提升核算系统的安全性和高效性,为企业的业务拓展加大了优化空间,提升了整个企业的工资管理效率,该系统共有四个重要组成部分:第.工资档案模块:第二,工资计算模块:第三,工资报表模块:第四,权限管理模块。本论文的纲要划分为以卜.六个部分:第一部分是绪论.这部分主要结合现代背景下的互联网发展在国内外企业中的运用现状,以及对企业工资管理带来的各种效果,以“互联网+”为我体,拓展企业的发展规模和市场前景,该系统在国内企业中的需求量很大,还能鲂为企业工作人先带来相关的激励作用“第二部分是需求分析。主要针对其功能以及性能方面屣开论述,企业工资管理系统中的各个功能模块有着不同的作用,需要从计或能力以及安全性能方面展开详细的分析“第三部分是系统设计。从企业架构以及功能方面分析工资管理系统的设计理念,除此之外,还包括功能模块的用途分析。第四部分是系统的使用。利用系统的运行界面论述工资管理系统功能模块的详细操作步骤。第五部分测试.在对系统功能的测武方面,首先是对基本操作模块功能进行测试,利用大数据对比分析,将实验进行量化,总结出对比结果以及相关优势。第六部分是总结。对于该系统的测试结果,除了具有传统基础的优势以外,还存在着许多不足之处,对系统的优化和完善工作做出总结和进一步的展望。2技术概述2. 1Python简介吉多范罗苏姆,率先创造了Python程序语言,在上世纪90年代初发布了第一版。在设计PythOn时人们更看重两点:是代码的可读性:二是语法的简洁性。PythOn是完全免费的,在很多开源的科学计算库中都可以直接调用Py1.hon。用户可以在所有的计柒机上免批安装Python和它的扩展库。与NAT1.AB相比,同为计算机语言的PythOn更为简单,也不乏严俄性,采用PythOn编写的程序代码更加简单易懂,维护也比较方便,通常在计免科学及工程等方面会广泛用到MAT1.AB。不过仍会有些需求在计算领域不可或缺。而PythOn中含有很多库.完成高级任务也并不困难,所以用Py1.hon可以完成几乎所有完整应用程序所需的功能。2.2RediS技术介绍RediS数据库是以C语言为施础而研发的一款高性能键值对数据库(key-va1.ue),它可以提供大任的电子数据,满足不同场景的储存需求,它是种非关系型数据库.可以用以解决高并发,高可用,高拓展等问题。同时具有持久化功能。可存储的数据类型丰宓,可以满足大部分开发所需。对于RediS的应用大部分使用场景是用侬缓存,分布式锁以及分布式SeSSiOn共享等。2.3Mysq1.数据库MySqI是个开放源码的关系数据库管理系统,它支持SqI查询语言,并保证以多种方式查询数据.VySq1.提供了一整套数据库、表,并以非常直观的方式创建、访问它们。更改数据库的创建和访问机制,以便建立各种数据及其关系。因其开源性,其主要优势突出于开发成本低,由于MySQ1.数据库的体积小,运行速度快,对各种大型数据库都有着一定的支持功能,还具有高效的数据处理效率,在各种情况卜.都能够满足中小型数据库的需求,除此之外,MySQ1.数据库能够支持多个系统的共同运行以及多种编程语言,MySQI.在运行过程中无须经过特殊处理,采用相关的可视化管理工具,就可对该系统进行便捷化操作。因此,Mysq1.数据库是进行在线商城系统数据存储开发的首选。Mysq1.是一种可以运行在各种平台上的关系数据库系统,提供事物和非事物的存储机制。MySQ1.数据库可任意访问因特网的各个模块,但对使用权限有所控制,只有专业的操作人员才能访问后台数据库。因为它在网络运用方面取得了很大的成果,因而也被许多大型物联网公司所称欢.3工资管理系统的需求分析3.1 系统功能需求分析3.1.1 工资档案管理功能为了满足现代社会的发展需求,积极响应国家的环保号4,无纸化办公已成为企业的发展趋势,专业的计算系统能够准确的搜集员工的相关信息,通过汁算功能对员工的薪资报酬做出准确的核算,并自动生成工资消堆,再进行归档统一储存管理,该系统功能主要将基本的数据源做出整理,对员工的工资单进行汇总,提供相关的核算结果,招员工的堪本信息进行储存管理。皆如:工号、岗位、岗位的实习工资、转正后的基本工资、考勤率以及社保公积金等其他激励奖励,用户可将以上数据信息转换成Exce1.表格,根据实际情况对数据进行更改,将更改后的信息进行核实以表格的形式导出系统,成为线卜数据记录并存档,该系统的管理功能主要是为了实现数据的统化管理,将线下的文档记录线上化和自动化,这样可以大幅度的提高用户的工作效率。3.1.2 工资计算功能随着企业财务税收制度的调整,对薪酬I核算的要求也有所提而,为使企业的薪酬管理制度具有合法公平性,企业采用了数字化工资管理系统,以此来提升企业的资产配置,避免传统的人工核算错误,节约了大员的人工成本,减轻了人事部门的工作量“企业管理人m可以对m工的工作表现作出评估,参照工资的构成内容以及税收方案对员工工资进行修改,经过核实以后再进行发放,对员工薪酬的修改为了满足激励机制的考核,利用薪酬奖励鼓励优秀员工为企业做出更多的贡献,根据不同的计算方法,对公司项目增添或删减,使工资单的生成更具灵活性。该系统的核心功能就是薪曲计算功能,除了融入大量的设计理念以外,还要根据企业的角度作为研发目标,自由添加各类数据项目并能够灵活的修次,根据员工的实际工作情况,对实发工资添加奖励项目或者扣除项目,3.1.3权限管理功能为了保证信息的安全性,企业要根据人力资源的各种特点,将使用权限进行合理的分配,并按照功能模块对使用角色进行划分,要利用前端和后台做出全面的鉴别,严格监督系统的安全性能,根据不同的闵位划分不同的权限,在企业薪削管理系统中,有若多选的使用角色,譬如:档案管理者,计算管理者以及报表管理者等,对于每个岗位都分配了不同的使用权限,在薪资管理系统中,对于权限的设定是由权限管理模块功能实现的,由符合权限的工作人员才能在页面中打开相对应的功能菜单。管理架构中的层级越高拥有的权限就越多,薪酬报表管理者拥有一定的授权权限,权限最低的是档案管理者,仅拥有对数据的导出、导入以及整理权限.3. 2实际操作分析本系统的用户群体主要划分为四个类别:第,新州档案管理界:第二,薪酬核算管理者;第三,薪酬管理者;第四,系统管理者。薪酬管理者主要是对员工工资进行核算,并以exce1.的形式导出数据库,根据员工的实际收入进行数据的添加或删除;核暂管理者主要是针对新州档案实施操作,根据工资的形成以及薪酬I结构的调整,以员工所在的岗位对公司方案进行修正,主要用于对以下三个类别的调整:,工资项目的调整:二,工资方案的调:三,工资单的建立、修改以及删除等:薪州核算管理者要对薪酬档案进行管理:报表管理者要对薪酬档案的谢取和计算进行管理,并能够随时查看工资单结构以及相关的报表明细,这类权限主要给予象导管理看以及薪酬发放者:系统管理员的权限相当于整个系统的总管,拥有全部的使用权限,还能随意培添使用角色,及时赋予某个部门以及员工相对应的权限,这类负货人主要由企业的人力资源管理者担任,用于对薪酬发放的监督以及人力资源的管理,本系统的核心部分是对m工工资单的管理.下图表明了用户权限与系统功能之间的联系,具体可参考37所示:图3-1系统结构用例图上面的系统结构川例图,主要介绍了档案管理和报表管理功能的用户用例图,权限这个功能的用例图与一般的权限管理类似,也是基本的角色和权限的绑定,然后进行基础的增删改查操作。3. 3系统性能需求分析按照性能需求进行划分,主要分为五个方面:3. 3.1系统的计算准确度高该系统实现了员工薪酬统计和计算功能,拥有非常强大的数据处理和储存优势,在数据的处理过程中可以精确到小数点,如果该系统失去了精确度以及计算能力,那么,会对整个公司的正常运营带来毁灭性的灾难.3. 3.2系统的计算效率高企业薪酬项目涉及的类别较多,需要接收的数据庞大、来源广泛,类型也较为豆杂,所以,在计算方面要保持准确性和高效性,当企业员工超过数万时,招核算速度设定在五分钟内,核算速度会因为员工数量的增加而得到延伸,时间会相对的延长。3. 3.3安全性能较高对于大型企业而言,员工新州的管理都有一定的保密性,对新州计算系统的安全要求较高,为'防止信息泄露,相关人仍要对数据库信息进行加密保护,在系统的使用权限方面,还要利用二次验证进行核实,对登录模块以及操作模块进行监督,管理人员要利用内网对访问数据进行排查,有助于提升信息数据的安全性。3. 3.4系统可扩展性高企业在发展过程中,规模会越来越大,软件系统的开发要及时满足公司的发展需求,在对薪资酬系统加强管理时,有必要的对其性能进行优化,由于模块之间的功能耦合度低下,相关的业务联系比较紧密,所以整个系统中存在着三种功能设计:第一,储存功能:第二,计算功能:第三,显示功能。在系统中增加功能模块时需要增添新的用户,其权限功能仅用r对系统的访问和使用.3. 3.5页面的响应查询响应利用数字化薪酬核算系统,主要是为了取代传统的人工核算方法,以此来降低人工成本,提升工作效率,用户可以利用自身权限对数据进行线上线下的导入和导出。通过浏览器开启相关报表对数据进行筛选和查询,在后台进行计算处理后,对前端的页面进行数据信息的显示,在页面浏览中,系统会提供所需要的相关信息,用户可以根据自身的需求下载到本地,获取想要的处理结果。4工资管理系统设计4.1工资管理系统总体设计在工资管理系统中,操作人员可对企业项目进行选择并自动生成工资总,利用计算模块,根据员工的出勤状况进行核算,参考编程的相关理论,通过自定义语言对于用户的使用功能进行配置,再根据计算公式进行编辑,目前所采用的是Python编程语言,以此来执行相对应的命令,由于该系统的使用人员过多,对计算公式的导入和分布提供/不同的解决方案,利用大数据节约广大员的耗时,本论文将拓扑图论用于数据结构中,提升了项目之间的循环引用率。4.1.1 系统功能结构该系统中的综合功能,具体可参考图4T所示:图4-1表示:系统的综合功能图各个功能模块的设定:工资档案模块:是将线下数据导入工资数据信息中,利用MySQ1.数据库进行保存,数据导入成功后,由档案管理者对数据进行核对,该模块的子功能一共分为四个内容:第,员工基本信息:第二,员工薪资:第三,员工考勤:第四员工社保公积金。工资计算模块:将所需要的基本数据作为计算项目再牛.成工资计算清堆,在计算过程中,利用获取的相关数据,将每个计算项目分配到员工的工资单中。根据不同数据的类型,依照其关联性,利用Py1.hon解析语法树,如实计算员工的应发工资。工资报表模块:企业管理员根据相关数据作出筛选,利用系统展示功能,对所需的数据进行下载,按照表格的方式打印出来。酱如:对员工工号的查询、姓名岗位、工资薪酬等,在输入相关信息后,能够快速的筛选出所需要的信息,报表会自动生成Web专饼状图、EXCe1.数据表格、折线图等不同形式,员工可以根据自己的需求选择任意一种报表模式,企业管理者可根据相关报表上的数据,对企业的发展做出有利的决策。权限管理模块:主要针对该系统的管理工作设定了具体的权限访问功能,通过系统前端与后端的配理,对模块管理人员的权限做出更改和匹配,根据不同岗位对权限进行划分,既在源头上监督了员工的操作规范,也对权限的入口进行统的管理,在很大程度上提升了系统的安全性。4.1.2 系统的技术架构系统采用了redis+队列的形式,对计制机进行分布式计算,以此来提升薪制计算模块的各项功能,在语言程序的角度上充分利用/python的功能特点,将其三大优势做出充分的发挥:第一,丰富的数据库;第二,拓展性能:第三,可嵌入性能等,做为开发系统的程序语言。在框架角度上,充分利用DjangO框架的两大特点:第一,使丁更新换代:第二,有利于开发,以此来实现该系统的拓展功能,从整体角度出发,该系统在对数据收集以及处理方面,整个计鸵流程都十分顺畅,系统内部的软件架构,具体可参考下图42所示:ramn4图4.2为系统软件架构图数据信息层的详细概述:(I)存储层利用MySQ1.数据库作为信息存储层,该数据库的数据信息共分为两个部分:第工资档案部分,该部分涵盖了企业员工的所有信息,包括工号姓名岗位、薪资标准、出勤率、社保公积金等四个I:要的数据模块,通过数据的整理自动生成exce1.数据表格,用户可根据自己的需求将表格打印出来,或者上传到相应的薪酬!档案中,按照企业的发放标准统一核实并发放,再储存到数据库中:第二,利用离线数据,臀如:员工的绩效奖、离职补偿等一些额外的费用,操作人员需要通过手动输入数据来执行相关操作,充分体现了数据库的高效性,将数据导出数据库以后,自动生成EXCC1.表格形式,实现r数据的安全性能,使数据源头有了可参照性。(2)处理层随着我国经济的不断提升,各个企业的规模逐渐向最大化转型,大型企业的员工数量已超过万人以上,税务部门也出台了相关的税务政策,导致员工的薪酬计算方式以及税收形式呈现r多元化,数据处理主要是利用薪酬制度的合算逻辑时数据进行解析,然后再出组自动生成员工工资清单,该数据的来源是由下层向上层传输,并将核算结果已WCb的形式展现,由于企业规模逐渐增大,员工的数员也不断增加,为处理大量数据,使各种笑杂的计算方式统一化,操作人员要对工资的核.算项目进行自定义管理,再利用统一的方案对员工的工资进行计算,只要个核算方案作为多项工资项目的计算,再通过方案对单组员工工资进行计算,每种工资的核酬方法都有不同的规律,爵如:公式算法、数据对接法以及手动录入法,每个项目中的数据都可以瓦相引用,解决了复杂的逻辑性和判断性,经过专业的数据核算后,将计算任务储存到rq中,根据不同的计算类型去分析相关数据,将结果存储于数据库中,便于查询和筛选。(3)展示层数据展示必是将从底2收集到的数据上传至数据库中,再以报表的形式全面呈现,该系统中的报表通常是工资堆的计和结果,具有以卜四个特点:第一,美观:第二,简洁:第三,快速:第四,稳定,将收集到的数据以可视化形式展现,为悚作人员提供便捷化和客观性,与此同时,管理人员要向企业领导者提供相关数据报表,便于决策者能够根据数据的评估和分析作出正确的决策。4. 2系统各功能模块设计4. 2.1工资档案模块设计模块实现线下以。XCeI的形式,收集好数据之后,工资档案管理者将数据导入到统一的数据库中,以表格形式生成各种清单,并能在Web页面中进行下载或上传处理,还提供对数据的修改或删除功能,模块的综合结构图,具体可参考4-3所示:图4-3为薪削档案综合功能结构图各个模块的功能结构始终是对数据的处理和核算,在使用这项功能以前,必须要提供充分的数据。由于悚作人员的不熟练,无法正确导入底层数据,在必要的情况卜,将数据源导入或导出,既为操作者提供了便捷化,也提升了工作效率,用强J'数据来源的真实性和可靠性,使数据有形成统一来源,便查找和解决各种问题。在功能模块中python的功能做出了充分的体现,将本身自带的开源模块以及离性能数据处理能力作为有效的工具包,模块的开发源与PythOn带来的OPenPyX1.工具,实现了对exce1.文件的数据解析,提升了该系统中文件上传以及下效的速度,系统前端采用了ag-grid表格作为主框架,该框架具有两大性能:第一,稳定性:第二,高效性,通过*eb前端臼动筛选和过渡相关数据,使操作界面更加便捷和美观,4. 2.2工资计算模块设计该模块主要解决工资和税收的多元化计算方式,企业会根据员工的不同状况发放不同的薪资奖励,因此,形成了多元化的核算方法,不同工作岗位的员工,工资核算方式也有所差异,必须采用不同的计算方案获取准确的核算结果,根据相对应的核兑方案,自动生成相对应的计算项目,所以不同的计算项目形成了不同的工资数据,系统中的每个项目都由不同的计算项目组成,此类项目除了利用公式计算以外,必要时还需要手动输入以及与数据进行对接,数据对接主要是从薪资档案中提取的数据,再通过手动录入到核算项目的界面,在公式计整界面配置相关的数据组件,通过数据的对接形式,将计算项目自动生成EXCo1.公式进行核穿,在进行工资核算时,计算项F1.作为表格的第一个项目,在获取员工ID信息时储存于row表格中,再利用组件对数据进行解析,自动保存在exce1.表格中生成相对应的项目数据,下图4-4为薪嵇计算结构图:图4-4为薪酬计算结构图新州计算项目子模块功能介绍如下:工资项目的添加与删除:将工资单的固定项目进行定义,再将该项R数据进行划分,警如:对基本薪资的定义、工作地点、入职时间、各类补助以及加班时长等.工资单数据项目的收集以及生成:对工资表格中所需要的工资项目做出定义,并自动添加和删除工资方案中的项目数据,利用公式ID自动代入:另外.将每一份工资单列成表格:开发一个工资单方案,第一种方式是点击系统上的生成活动,第二种方式是到了指定日期就会自动形成方案,在这一个模块卜面,可以看到具体的活动内容,查看这些内容时,系统会自动进行计算,系统还会自动生成和方案相匹配的各种数据。想要设计出一套系统的工资单模式,这套工资单里包含着许多可.以计算工资的各种项目,变保证运算结果的准确性,系统在进行计算时,需要对一些特殊数据运算的方式进行特殊编程,譬如,在运兑时遇到的百分数和数字等。在计算的过程中,系统会根据用户不同的计算需求来选择不同的计算方式,不同的计算方式在处理数据时也是不一样的,铸如,在数据接入项这一块,系统可以在电脑里直接获取需要的数据。在公式计算项这一块,系统会分析这个公式的计.算规律,之后计算出相关的数据,最后得出最终的结果“在手动输入项这一块,用户可以根据自己的需求,建立一个运算法则,将已知数据输入进去,获取自己需要的信息。想要将系统变得更加智能化,可以自动生出各种需耍的工资单,首先需要解决两个问题,要做到的第一点是设计出可以解析自定义配置的模式,由系统内部自行进行运算,并且这套运算系统有着强大的逻辑关系。可以参考编译原理理论,在这套理论的基础上,编辑出一套适合运用在工资单上面的运算法则,通过这篇理论上面的语法指导编辑成一个语法树。还可以学习了解yacc,自己编辑一套解析规则。需要解决的第二个问题是,每一个工资项目都需要引用不同的数据,也有可能是相同的数据,需要借鉴拓扑图论理论的方法,将每个数据之间的引用关系的逻辑变得更加清晰,在个工资单里,可以同时引用多个工资项目。发生这种情况以后,自己编辑的解析规则计算出的数值会有所偏差.警如在一份工资单里,有四个工资项目,用字母八BCD分别进行表示,这些字母在数据库中都有若自己的1D这些字母可以独立存在,也可以相互依存,存在的关系如下图所不。图4-5每一个工资项目的关系图表在计算字母A的时候,需要其他三个项目进行辅助,会借用到这些项目中的部分数据;在计兑字母B时,需要借用到D中的部分数据:在计算D时,需要借用到C中的部分数据。由此可见,每一个项目的运算逻辑是这样的:首先,计算C中的数据,用C的结果计算出D的数据,用D的结果计算出B的相关数据,最后才可以得出A的结果。当每个项目之间的相互依赖关系如下之所示时,C的计算结果就需要借用A的相关数据,这四个项目之间依然是循环利用的关系,得出来的数值并不准确。在编辑这套系统时,想要实现每一个工资项目可以自行运算,首先就需要实现系统可以将每一个工资项目识别,并且进行分类,在创建员工专用的工资单时,有许多种不同的选择方式,为每一种项目自行配置的数据以及运算法则都不同,通常来讲,共有三种数据属性,分别是日期类数据,数值类数据和字符串类数据。运算法则一共有两种运算方式,分别是用户输入类运算方式和公式计算的运算方式。在用户输入类这一块儿,这里面的数据可以对其他的项目进行引用,在计算公式类的项目时,需要检查每组公式里存在的循环依赖关系,之后再决定是否可以用在其他项目中。当用户将所有需要处理的数据输入到系统中以后,系统会解析这蚂数据,并且生成一种计算法则,对这些数据进行计算,警如,项目1的值如果大1500,那么数值取13000,否则取17000.图46创建一组数据到完成整个计算流程的效果。4. 2.3Web报表展现模块设计(1)员工薪资的明细表格通过标题可以了解到公司的管理为了杳看每位员工的工资时更加方便,所以要创建一套系统,可以随时杳看每位员工的工资。在创建这套系统时,需要将每位员工的工号,身份证号和邮箱全部输入进去,可以按照时间划分将先工的工费分成几大板块,因此,需要设设一个按时间筛选的按钮。薪资信息局于每位员工的个人私密信息,不应该外泄,只仃创建系统的工作人员才可以查看每位员工的工资信息,其他人没有权限进入到系统内部.将每位员工的信息输入到后台数据库以后,可以按照薪资组的规定进行划分,点击查看以后就可以看到所有员工的工资信息。工资项目涉及到的数据非常庞大,每个工资单方案对应的都是不同的工资选项,因此,每一组工资项的输出,都需要利用系统控制好,在筛选时可以更加方便快槌。全部设置完成以后得出来的最终结果进行展示,这个结果可以通过QXCe1.进行下载查看。(2)员工工资的结构想要得到每一位员工工资的结构,就需要调查公司每一个月为员工发放工资的所有相关信息.工资结构包含许多项内容,主要的内容有四大项,由基本工资、级别奖金、绩效工资和其他这四大类共同组成,将每位员工每个月的所有工资信息全部进行汇总,之后采用饼图的形式进行展示,这样看起来更加直观,因此,每个月需要获取员工的工资信息,以这种形式招员工的工资结构进行展示。4.2.4权限管理模块设计操作者的权限也需要受到限制,设计模块这一个板块时就可以限制操作者的部分权限,有一些比较敏感的,或者商业机密的信息,不能随意被工作人员看到,只仃公司指定的角色才能进入系统内部进行查看.设置权限管理模块十,这里的权限是可以配置的,管理m可以在系统的菜单里看到这个模块的展示,想要在前端展示,也需要得到后台的授权,管理员可以决定是否将这项控制菜单展示在用户面前。这个模块中主要包含着两大内容,个是角色管理,另一个是权限列表,在角色管理中,可以创建不同的角色,当这些角色不再需要时,可以聘这些角色进行删除,模块卜.面还有许多子模块,在子模块里,也可以增加不同的用色。权限管理可以创建新角色,也可以删除一些东西,还可以和指定的角色进行关系绑定。用户在自己的页面就可以直接设置权限,也可以直接操作,但是涉及到薪酬的问题非常敏惑,所以在登录时应该选择用内网登录,与此同时还需要在签署auth2.O协议原理的第三方平台登录。图4-7是模块的构成效果图.图4-7权限管理模块构成效果图4.3数据库设计4.3.1数据库逻辑结构设计想要设计出套完整的系统,需要涉及到许多数据信息和实体信息,首先,聘活动和权限表进行详细分析,如图所示,图48是权限表的相关结构图,权限表E-R图,图4-9是用户活动关联信息图。图4-8权限表相关结构图图4-9用户活动关联信息图通过上面两张图片,可以发现在权限表里主要包括主键的ID,权限的生肖效果可以影响StatUS的状态,在创建时间时,可以采用基础的字段方法。这个表格解解的是在权限管理模块当中创建权限的相关手段,每一个创建的角色都有对应的关系。在这个系统中,关联最多的就是活动表,而在这里画出的只是一部分关系图.一个用户可以创建许多不同的活动,而每一个活动只对应着一个方案。在创建出的活动中,每个员工的信息在表格中都有着详细的记录,一个活动里可以包含着许多不同的员工。row表代表一行信息,ce1.1.代表在每一行里划分的不同单元选项,这些单元格的信息,由此可见,二者之间也存在着联系。一个详细的工资单方案由许多不同的工资项组成,最后汇聚成工资单的表头,每一个表头都表示,一位员工的工资信息。在工资单方案里.,工资表头与工资表都有着一对多的关系,每个工资项表都代表着不同的项目类型,这些项目类型可以由用户自己创建,在公司向表里,可以包含若不同的工资信息“4. 3.2创建数据表在设计系统的过程中,需要用到许多数据表,辔如在薪酬这一个模块里,需要将员工每天的考勃表输入到系统当中,正式员工与实习生的工资标准不一样,在设计数据表时,也需要注意,本篇文章将以卜几种数据类型进行详细分析:在创建员工信息表时,需要将员工的基本信息全部输入进去,和员工薪资相关的信息,在生成工资单时,会根据系统之前录入的相关数据进行生成,进行工资明细筛选时,也会用到这一块。exira是附带的一个字段,这一块通常有由jsn字符串的形式作为展示,不使用这一个板块时,会保存在数据库里,需要用到时就可以提取出来,详细内容如下图所示。表4T员工的相关信息enpIoyeeino中女描子段名匕小美飞及长度足杳允许为在MXu1.N由1)ft中文g*namtvfcat(255)ft是台离犬Evet11yiD)(4)抵AUUHfiUJMnJhUdtt«是ATKfiIf1.idp.y-g,OUpjdEI1.)ftdimifnon_d«tedate城IbidtyjdbtprtftOMidnahOna1.ityjdb,it是tfftt1.emadVfttcaf(2S5)是型否B1.除Batuhny>K4)创建时间create-tunedate玲modi勺deteN他extraE1.1.)ft创建角色表的目的是为了设置权限,防止某些机密信息泄露,创建出不同的角色,并且为这些角色授予不同的权限,这个时候,角色表发挥着非常重要的作用,详细的内容如下图分析所示。表4-2角色表ro1.e中文一二字我W*CftK是行允许为空端注±点IdIniUI)否±tt中文W体ntxnevudut(255)英彳名临<n-nnevudu<25J)否据城dzc11ponvtrchagS9好足的除It1.rfUfh11ywK4)SMtBtMcrete-tanedate好他一时Mnodfy.tm4(kte否a低人cte«cof_td由】)否创建工资向表示,为了使工资划分的更加详细,直观,工资向表可以将每一个工资单的表头表示清楚。在整个工资单方案里,工资项是最基础的单元,是构成一份完整的工资单的基础单位,在编辑工资项表时可以使用status字段进行编辑。使用最多的就是数据类型的字段,通常会用到金额和字符串等,如果涉及到的项目是需要引用的类型,就可以直接去系统里,输入ID以后去找到对应的数据信息,详细的介绍效果图如下图所示.表3-3工资项表itemTtWi2rn×匕超冗1!2K*I¾ftfc11W.ftitIdIdUpnK20)I«cn.MneVedMfa3»ff芟22»«n_cmavBch>CSS)ftCeRJ4W1.)屋的土收ctf*tug(可A1.it人Id*ccjdW1.)fttg<9Fr於整他fc1.djnptyt«stfrIta1.hatm>w(4)*tf.tmfit!WIincotkr-tny.ft活动方案表可以将工资单上的所有记录进行备份,将工资单上的信息进行整合记录,对这份表格的详细介绍如下图所示。表3-4活动方案表rowtttwm.tt44叫“ftItttQUIyW1.)再蜕I.idCJfMBU*(11)daU-wc4h11rt(4)rMmtrg)0)SfAatfttjdB1.Dtfatut11>E9行Cfe1.t.nvft*HHtaMhfyatmeRr5工资管理系统实现5.1系统的软硬件环境和开发工具在开发这套系统时,需要使用到Python语言开发,使用的服务器是rcdis服务潺,在系统外部,需要使用到文件存储系统,通过这套系统,可以将员工的新州进行计算,由此可见,要求这套系统的软件,硬件等各方面配置极高,下文介绍这套系统配刊的软硬件的详细信息。(1)该系统中的硬件配置(hDt720XDCPU7。E52620Y2:CPUHQ26发型41TRAJD内存640(2)该系统中的软件配置表52软件配置的各种参数fta<n¾41.1.nMX46j>>honK峰令RPythCa27K1.ftrefr1SMySQ1.57DjwiRoE*1111440115. 2系统各功能模块实现5. 2.1工资档案功能模块的实现在设计这套系统中,会涉及到的许多信息都比较私密,因此这些数据需要进行保密,这些数据信息可以在后台进行加密,之后再用json这种方式将数据信息存储在data_VaIUe字段里。在设计页面时,可以采用三种色调,分别是红色,白色和灰色,这:种颜色比较简约,产生的视觉效果比较好.这些选项都可以左右上下滑动