备注:代码下载链接:采油厂绩效考核系统的实现与开发-Javascript文档类资源-CSDN下载
1 绪论
绩效管理是企业组织管理的核心和枢纽,它是组织提升团队绩效最有力的手段。在一个组织中能否实现有效的绩效管理,关系到企业是否能在日益激烈的市场竞争,环境中保持优势。一套行之有效的绩效管理系统,将极大助力员工工作改进和业绩提高,激励员工持续改进,并实现组织战略目标。
1.1 研究背景和意义
在经济全球化的发展趋势下,各企业的竞争越发激烈,企业存在的问题在于企业战略和日常营运活动的断层问题。战略、目标、资源和风险往往只停留在执行层进行讨论,但是日常运营活动和绩效方法论不能对此进行衔接,企业可以测评绩效但却做不到管理绩效。因此人力资源的有效管理绩效将成为企业取得竞争优势的重要途径。在人力资源管理中,绩效考核则为其中的重要组成部分。近年来,为了寻找更科学、有效、客观、公正的考核方法,业内人士进行了诸多艰苦的探索。然而,由于绩效的多因、多维、动态等特点及考核者的情感等因素,考核难以取得令人满意的效果,所以能否高效的解决目前绩效考核存在的难题,对企业的长远发展起着至关重要的作用。
基于目前采油厂的基本考核体系存在的不合理现象,以及当前信息时代高速发展的计算机技术,设计和建立科学有效的绩效考核系统越来越受到采油厂管理者的关注和重视。企业绩效考核是将集体和个人的努力与公司战略目标相连接,并通过计划、组织、指挥、协调与控制的手段使之实现的过程。绩效考核可以保证组织战略目标的实现、促进管理流程和业务流程优化、促进组织和个人绩效的提升。绩效考核有助于采油厂在员工晋升、工资等方面做出公平、公正、合理的决策,以便于管理者对下属的工作进行审查并规范其职责范围,有针对性的制定计划。高效的发掘员工的潜能,为实现采油厂的生产目标辅以客观的评判方法,促进采油厂的进一步发展。从而提出了一套科学、可行、有效的石油企业绩效考核体系,使石油企业的考核规范化、体系化,考核流程可视化,从而提升企业的管理理念。
1.2 国内外文献综述
绩效考核作为企业管理的重要模块,一直受到各方的研究实践,对绩效考核方式更是研究重点。随着计算机水平的提高和互联网的普及,考核模式也由人工操作转变为在线考核,考核系统的实现也因编程语言的差异,各有特色。经查阅总结国内外对于绩效考核系统的文献后,发现对于绩效考核的研究大都分为考核体系或系统实现方法两方面研究。
1.2.1 考核体系研究现状
自十九世纪国外政治领域就有了绩效考核的的概念,到二十世纪企业管理有了明确的绩效考核方法。随着管理理念和公司经营模式的改变,至今常用的几种考核方法有:
360度考核法:经企业成员多方位、全面评测,每位被考核者都要由客户、领导、同事、下属和本人五方共同考核,考核内容包含工作效率、工作态度、专业能力、沟通能力和领导者的管理能力等方面。该考核法对于不同级别被考核对象有不同的考核问询者[1],全面的考核环境,使得考核结果更客观。且直接将被考核者本人纳入考核体系中,让所有参与考核的成员对考核状况有清晰的了解[2],可以更快速的对考核过程进行反馈,使考核结果更公平。但其独特的考核环境,造成了考核的周期过长,人员涉及广,使考核时间成本、人力成本都成倍增长。
KPI考核法:将企业的战略目标由上及下层层分解,量化指标,每个部门根据自身特色“领取”指标。再将其分解到部门个人,并设置关键绩效指标,使员工明确自身对企业的贡献[3],提升员工对企业的责任感。由分配指标完成度进行考核,避免了360度考核法中形成的人员主观因素影响,使考核更公正。通过指标实现过程,可以判断员工的工作能力和对其职位的胜任度,从而完成对员工的奖惩和指导建议,让员工晋升机制更透明。对集体指标的归纳总结,使员工清晰个人与集体的联系,明确自身及企业发展方向,培养员工对企业的归属感。但因各部门工作内容不同,导致部门指标差异过大,企业内组织与组织的联系过少,可能导致企业战略目标的实现出现偏差。并难以确定整体的考核规范,不能对员工全面考核,可能影响企业的长久发展。
BSC(平衡计分卡)考核法:作为KPI考核法的扩展方法,在KPI基础上以客户、财务、员工工作流程和学习成长维度等方面,分解公司战略目标,突出分支目标的可执行性、相互平衡性、可计量性等特点[4]。该方法将分解企业发展长远目标,引导员工、部门逐步完成对公司的发展建设,铺成未来市场的有力竞争路线。从多方面进行考核,即结合了360考核的优点,又避免了KPI考核的缺点,将员工发展和成长相结合,促成企业核心竞争力形成。该考核法既可以完成对员工能力的考核,对员工晋升也提供了学习空间,实现了企业与员工共同成长的战略目标。
1.2.2 系统构建方法研究现状
在互联网背景下,绩效考核的模式也发生了变革,由最初的人工表单填写,到便捷的计算机系统。这样的改变一是基于计算机软硬件的升级,二是基于云服务的兴起。云可以使软硬件程序在互联网上完成服务,处理远程任务,避免了客户端的安装部署及环境限制。其强大的计算能力和高度的可扩展性,可以完美的适应使用者的需求,既保证了服务质量又降低了维护管理的费用[5]。在云服务的基础上,各类应用程序的开发应运而生,基于编程语言的不同,应用开发框架也有所不同。以零客户端作为条件,统一采用B/S(Browser/Server)软件架构,对此国内外对绩效考核系统的开发框架大致分为以下几类:
SOA(Service-Oriented Architecture)框架:即为面向服务的IT体系结构,以服务模式作为开发思路,将系统分解为三个模块:开发服务、业务服务、管理服务[6]。该架构模式下,服务模块形成一组业务链,以企业的服务总线为核心,分解出一系列子系统。员工根据个人业务类型,通过网络访问服务总线从中调取相应子系统。以层次清晰地信息传输、方便快捷地系统维护和安全简便的系统集成功能为设计理念[7]。该模式可以保证企业产品、服务的绝对安全,但只适应于员工阶层分工明显的企业,不能适应小型企业的绩效管理需求。
SSH(Struts+Spring+Hibernate)框架:即为几种轻量组件的集成框架,是J2EE平台最流行的开发架构,分为表示层、业务层以及持久层。以Struts作Web页面开发,Spring实现业务逻辑的接口,Hibernate实现接口与数据库间的转换访问。该架构模式下,客户的请求指令以XML的格式封装,Struts中的控制器对其分析,由Spring对分析后的数据按规范查找相应的服务进行调用[8]。该模式使用广泛,经多方测试,基于该框架的应用安全性高、稳定性好、可扩展性强。
TSH(Tapestry+Spring+Hibernate)框架: 与SSH框架类似,其Web页面的编写框架调整为Tapestry,实现了视图逻辑与业务逻辑彻底分离的目标[9]。因为Tapestry包含了前端开发的图层模板,页面只需由HTML模板和页面类组成。业务逻辑存放在页面类中,和模板组件完全分开,脱离了页面的束缚[10]。该框架使得应用开发更加便捷,完全可以实现分工协作,节省开发时间成本以及维护升级的人力成本。
1.3 本项目研究内容
本项目所研究的绩效考核系统是集计算机技术、服务器技术和数据库技术为一体的技术系统和社会系统,属于“互联网+”时代大背景下衍生的战略工具。依据参考文献的研究,绩效考核系统在完整的考核体系基础上,用编程语言将其实现,使企业办公更方便、透明、公正、安全。
现以采油厂为例作为系统服务的对象,针对采油厂实情,结合国内外流行的考核方法,在规定员工的任务指标的同时,兼顾员工的学习成长能力,制定出一套适合采油厂长久发展的考核体系。完成绩效考核体系的构建后,选用当前最普遍的系统架构及数据库管理模式编写系统程序,使得系统的应用性更广泛,避免硬件设施出现问题。
通过调查研究,设计更适合用户使用习惯的人性化界面,达到界面友好,使用户办公时无技术性困难。完成整个系统之后,若经过调试没有出现漏洞,则将系统暂时投放到班级中,小范围测试系统功能,根据同学们的意见,对系统做最后完善。争取完成考核系统更人性化、更方便快捷、更公平公开的目标。
2 系统设计原则
2.1 先进性和规范化原则
采用符合国际标准的、先进而且成熟的系统平台和开发平台,使系统具有较高的起点和较长的生命周期,同时具备较好的开放性、可靠性和可扩展性。在开发过程控制、文档规范化等遵循相应的软件开发标准和惯例。
2.2 高度的兼容性和可移植性
兼容性是指当用户由于业务的改进而使原有的业务系统升级或移植到其他平台时,通过修改环境定义即可将系统数据源重新定义,从而降低应用系统的维护难度及成本。
可移植性是指应用系统的软件各种流行的软、硬件平台。生成的代码无需修改即可平稳移植到其他平台上运行。当用户硬件系统改变或其他环境变化时,只需修改配置部分,而无需在整个范围内重新定义镜像,这样就实现了软件系统与硬件平台的性能伸缩同步。
2.3 人性化、使用性
系统充分考虑客户体验的个性化要求、使用方便、界面友好。在系统设计师充分考虑用户的使用习惯,提供大量人性化设计,帮助用户快速定位所需要的功能、简便操作,满足绩效考核审核、汇总操作的需要。
3 设计思路
3.1 采用基于J2EE的体系结构
系统采用完全基于J2EE的体系结构。Java 2 Platform Enterprise Edition(J2EE)
技术提供了一个基于组件的方法来设计、开发、装配和部署企业级应用程序。J2EE平台提供了一个多层结构的分布式的应用程序模型,该模型具有重用组件的功能、基于扩展标记语言的数据交互、统一的安全模式和灵活的事物控制。
图3.1 J2EE的标准结构
设置集中数据库服务器,数据库系统采用Mysql,所有的系统客户端直接使用IE浏览器或其他通用浏览器登录应用服务器,运行绩效考核管理程序,完成绩效考核指标设置、考核评分、考核汇总、考核导出、考核查询全流程操作。
3.2 绩效考核数据存储方式
系统需要支持绩效考核模板的自定义,根据不同的部门要求,设置不同的考核指标,将不同模板下的绩效考核数据统一的存储在绩效考核数据库中,同时实现绩效考核数据的高效率汇总、检索查询。
4 设计方案
4.1 系统网络拓扑图
图4.1 系统的网络部署拓扑图
4.2 系统结构图
整个系统分为10个功能模块:、日常工作、重点工作、作风建设、基层评议、其他工作、人员考核、报表统计、绩效分析、考核管理、系统权限管理,每个模块具体的功能描述如下:
日常工作:由被考核机关科室及附属部门于每月5日前,将月度工作计划报送(上传)厂主(协)管领导进行审核;由厂主(协)管领导于次月5日前,完成对应考核。厂机关党总支负责按月/季度/年对考核结果进行汇总。
重点工作:由厂长(党委)办公室根据各类重要会议安排,及时制定月度重点工作计划,于次季度第一个月5日前,完成考核工作。厂机关党总支负责按月/季度/年对考核结果进行汇总。
作风建设:由厂纪检监察科牵头,人事科(党委组织科)、机关党总支参与此项考核工作,于次季度第一个月5日前,完成考核工作。厂机关党总支负责按月/季度/年对考核结果进行汇总。
基层评议:由厂机关党总支负责此项考核工作,于次季度第一个月5日前,组织各基层单位对机关科室及附属部门进行满意度测评。
其他工作:由厂机关党总支每月5日前,收集厂领导、监管部门对相关科室(部门)安排的临时性工作及“涉外业务”考核意见,并完成考核结果汇总。
人员考核:由各机关科室及附属部门每月5日前,收集相关科室(部门)对人员的考核工作,并于次月5日前完成考核结果汇总。
绩效分析:通过绩效考核的各项基础数据以及考核结果数据,分析部门及被考核人员的相关情况。
考核管理:对各个考核周期与细则进行维护。
系统权限管理:管理系统中的用户信息、角色信息、用户可见的菜单以及用户可见菜单中的数据范围。
系统功能模块的核心业务处理以组件方式部署在应用服务器中,用户通过安全认证机制进行身份验证后进入相应的系统操作界面,进行相应的业务处理。本系统涉及的访问用户主要包括系统管理员、员工、部门负责人、财务、人力资源等。
图4.2 系统的整体结构图
4.3 系统业务流程
图4.3 系统业务流程
5 系统功能设计
系统主要的模块功能包括:日常工作、重点工作、作风建设、基层评议、其他工作、人员考核、报表统计、绩效分析、考核管理、系统权限管理。
5 . 1 日常工作
由被考核机关科室及附属部门于每月5日前,将月度工作计划报送到科室负责人进行审批,审批通过报送厂主(协)管领导进行审核,审批不通过则打回报送人员进行重新制定;厂主(协)管领导审批不通过,打回至科室负责人重新制定,审批通过后于次月5日前,完成对应考核。厂机关党总支负责按月/季度/年对考核结果进行汇总。
当被考核机关科室及附属部门(包含科室负责人)于每月5日前未将月度工作计划报送至厂主(协)管领导进行审核时,则被考核机关科室及附属部门当月日常工作考核分数为0。
厂主(协)管领导日常工作考核成绩为所有被考核机关科室及附属部门的平均分,由系统后台计算完成。
5.2 重点工作
针对绩效考核中的评分方式进行设置,对系统中的指标库进行自定义的组合,形成绩效考核的考核规则。系统通过对形成的考核规则进行解析得出最终的绩效考核结果。
5.3 作风建设
将本地系统收集到的所有数据在本地库中进行数据筛选、清洗、抽取,形成绩效考核所需的数据,按照系统功能的要求提供相应的故事存储的数据。
5.4 基层评议
由厂机关党总支负责此项考核工作,于次季度第一个月5日前,组织各基层单位对机关科室及附属部门进行满意度测评。
该工作每季度进行一次,由各个基层人员对机关科室及附属部门进行打分,各个部门得分取所有打分人员平均分,若在规定期内没有进行打分,视为自动放弃。
5.5 其他工作
由厂机关党总支每月5日前,收集厂领导、监管部门对相关科室(部门)安排的临时性工作及“涉外业务”考核意见,并完成考核结果汇总。
5.6 人员考核
由各机关科室及附属部门每月5日前,收集相关科室(部门)对人员的考核工作,并于次月5日前完成考核结果汇总。
各部门人员内部考核成绩进行排名,数据仅内部科室可见,各个部门之间互相不可见。厂领导部门人员拥有所有数据可见权限。
5.7 报表统计
将日常工作、重点工作、作风建设、基层评议、其他工作所形成的月度/季度/年度报表进行统计排名。并且导出为标准的EXCEL文件。
5.8 绩效分析
由绩效管理人员根据定制的考核标准,结合系统的考核基础数据,通过系统自动对不同岗位的被考核人员进行管理,最终得出考核评价结果。
以图表的形式(柱状图或饼图)展示汇总数据与分析结果。
5.9 考核管理
由绩效管理人员根据定制的考核标准,结合系统的考核基础数据,通过系统自动对不同岗位的被考核人员进行管理,最终得出考核评价结果。
5.9.1 考核细则管理
各个被考核部门综合岗的人员每月定时对考核细则进行维护、上报。可选择历史考核细则作为本月考核细则,并可在历史考核上进行二次修改。
5.9.2 考核周期管理
维护考核的周期,月度考核,季度考核,年度考核,不定期考核等维护管理。
5.10 系统权限管理
通过分配和取消角色来完成用户权限的授予和取消,根据不同的职能岗位划分角色,资源访问许可被封装在角色中。用户通过赋予角色间接地访问系统资源和对系统资源进行操作。授权者根据需要定义各种角色,并设置合适的访问权限。而用户根据其工作性质和职责再被指派为不同的角色,完成权限授予。这样,整个访问控制过程就分成两个部分,即访问权限与角色相关联,角色再与用户关联,从而实现了用户与访问权限的逻辑分离。
5.10.1 角色管理
管理系统中的角色信息,提供系统角色的定义,新增、修改、删除、查询等功能。
5.10.2 用户管理
管理系统中的用户信息,提供系统用户的定义,新增、修改、删除、查询、用户角色关系绑定。
5.10.3 角色权限设置
定义角色可查看的系统功能,将角色绑定对应的可见数据。
5.10.4 组织机构设置
管理系统的组织机构,各考核单位和被考核单位的定义,新增、修改、删除、查询。
6 系统实现
6.1 开发基础
6.1.1 开发环境
本系统将使用IntelliJ IDEA作为开发工具,该软件拥有强大的整合能力、全面的提示功能和快捷键设置,可以加载各种系统开发需要使用的插件工具,使软件开发更方便快速.
6.1.2 开发技术
作为企业开发项目,采取J2EE框架,该技术集合了各类不同组件,便于系统功能的实现,符合了系统的设计原则,具有兼容性高、可移植性强、安全性好和再用性强[13]的优点.开发者即可将主要精力集中于系统逻辑结构和整体架构上,提高系统开发效率[14].一般J2EE项目的开发,使用HTML、CSS和JavaScript三种技术结合完成任何样式的前端页面的搭建,本项目还将采用前端开发框架Bootstrap完成页面搭建.
HTML:是一种超文本标记语言,用于搭建基础网页,通过浏览器的解析,展示页面内容;
CSS:是一种叠加式样式集,用于控制HTML元素,美化页面,控制页面布局样式;
JavaScript:是一种脚本语言,具有程序的逻辑性,用于增强页面元素的使用性,提高用户的体验感;
Bootstrap:是上述三种开发语言的集成工具,将各组件的模板样式进行封装,开发者只需引用其专属类,就可完成对组件样式的初步更改,减少开发的代码量.
6.1.3 其他开发环境
为保证编程语言被计算机全面解析,我们需要安装配置JDK、Tomcat、MySQL等插件,完成IDEA的配置.
JDK:为编程提供开发环境以及Java系统的类库;
Tomcat:为J2EE项目的开发提供服务器支持;
MySQL:为项目面向对象的信息表单提供存取支持.
6.2 系统架构
作为企业发展前提,利润最大化永远是企业追求的目的,为避免企业财力、人力资源的浪费,办公设备当然选择前期部署、后期维护都简洁的方案.因此,本系统选用B/S架构模式,该模式下开发应用程序只需客户端通过浏览器访问页面处理器[16],服务器就会对访问请求做出响应,在浏览器页面呈现出系统内容,完成与用户的交互过程.该模式将应用和开发分离,使用者若需要增加软件系统的功能,开发者只需完成功能代码编写后,更新服务器的项目部署,就可使用户再次访问时功能更新,不需要对客户端在此部署.所以,该模式不仅在维护上无需过多投入,功能的扩展性也非常强大,同时统一浏览器作为使用界面,也降低了操作的难易度.
6.3 Web页面实现
基于上述开发技术和架构模式,整体系统的Web页面搭建会根据页面的复杂度逐步增加JavaWeb组件应用难度,现将系统分为两类页面:简单页面和复杂页面.将页面实现过程,详细阐述如下:
6.3.1 简单功能页面
在企业需求分析中所述,系统需面向三类人群,所以需要通过登录端口来区别用户类型,在未登录前系统内容应不予显示.因此,登录成功之前的系统页面与用户的交互较为简单,将其划分为简单功能页面.这类页面的搭建只需要编写HTML和CSS即可完成页面实现.
系统登录页面的构建,需要完成账号和密码的填写,无须丰富的动态内容.所以,只需使用HTML的标签、组件即可完成布局,通过设置其组件属性值更改显示形式.登录页面效果图如图6.1所示:
图6 . 1 登录页面
主体部分为登录小窗口,通过
标签实现窗口布局,输入框实现部分代码如下:
若用户第一次使用系统,可通过点击立即注册的超链接,将注册页面跳转为注册页面,其页面效果图如图6.2所示:
图6 . 2 注册页面
该页面显示元素较多,为方便控制布局,将在HTML中引入CSS的选择器组件对其元素进行控制.选择器的使用,可以使系统开发耦合性更低,可允许多人协作完成开发任务,减少开发时间.在标签中添加class属性,以便于多元素组件合理布局,其部分代码如下:
通过修改class选择器的属性,同时控制需要显示相同样式的元素.
在上述两个页面的使用过程中,都需要对填写的表单有提交功能,那么对表单填写的信息需要有对应的规则,为提高用户的体验,在提交前就应对信息进行格式校验.这时就需要使用到JavaScript中DOM模型的相关组件,通过对提交按钮绑定事件和监听器来完成校验工作,其部分代码如下:
function checkUsername{
var username=document.getElementById(“username”).value; //获取用户名信息;
var reg_username=/^\w{6,12}$/; //设置用户名输入格式为6-12位字母或数字;
var flag=reg_username.test(username); //对输入信息进行校验判断;
var s_username=document.getElementById(“s_username”);//获取显示提示组件
if(flag);else{s_username.innerHTML=”格式有误”}; //修改提示位置信息
return flag;
}
以上,则完成了简单页面的全部功能实现.
6.3.2 交互复杂页面
在通过登录页面表单校验后,用户进入系统,对页面的功能性要求就非常繁复了.因此,若仍然坚持一步步添加页面元素再控制样式,不仅代码量非常庞大,代码的可读性也会比较差.所以我们使用了前端的Bootstrap框架,直接使用相应组件的模板样式,更快速的完成前端页面搭建.
通过引用Bootstrap封装好的语言,完成对页面内各组件的布局,按上文所述系统结构有层次的完成系统页面布局.将各功能类按菜单分类布局到导航栏,根据选择不同通过href地址的指引,跳转到相应页面.
(1)管理员系统:
通过身份验证后,将进入管理员系统首页如图6.3所示,可以浏览企业内部新闻,点击新闻链接,即可跳转至新闻页面.点击相应的菜单选项,将进入考核管理与系统管理的操作中,对相应的表单、信息进行增删改查操作,考核管理页面如图6.4所示:
图6 . 3 管理员系统首页
图6.4 部门考核指标设置页面
在考核指标设置中,如需更改考核指标,则需点击更新考核指标按钮,对考核指标的权重进行重新计算,如添加考核指标后,未通过一致性检验,页面如图6.6所示,如通过一致性检验,页面如图6.5所示:
图6.5 考核指标更新通过页面
打开考核管理菜单,对部门、人员的信息进行增、删、改、查功能,可以通过任意关键字对成员进行搜索,点击添加员工信息即可完成信息添加功能.如图6.6所示:
图6.6 部门人员信息管理页面
在该页面组成中不仅添加了导航栏和分页组件的使用,对事件的监听机制有了更深一步的语言应用.通过HTML DOM中innerHTML的使用,使得数据添加功能本来繁多的代码量急剧减伤,点击部门人员管理页面的添加员工信息按钮,即可进入员工信息的填写,其页面如图6.7所示:
图6.7 员工信息添加页面
点击确认添加按钮,就会触发该按钮的监听,完成人员信息页面成员的添加.部分代码如下:
var table = document.getElementsByTagName("table")[0]; //获取需添加信息的表格
table.innerHTML += "\n" + //获取添加信息并新增表格末行直接填入
" "+id+" \n" +
" "+name+" \n" +
" "+gender+" \n" +
" "+tel+" \n" +
" 删除 \n" +
" ";
在上述方法中this的使用,与obj对象相结合,实现了系统对删除操作的执行,点击人员管理页面删除按钮后,将调用delTr()方法,完成删除操作,部分代码如下:
function delTr(obj){
var table = obj.parentNode.parentNode.parentNode; //一层层获取操作单元格父节点,直到获取到执行操作的表格;
var tr = obj.parentNode.parentNode; //获取到执行删除操作的行;
table.removeChild(tr); //删除表格中的行结点;
}
(2)绩效管理系统:
分两种等级的登录权限进入后,普通部门领导将对绩效表单进行填写报送,在页面显示中使用了card组件以及DOM的Date类,实现登陆者信息以及当前时间的显示.其页面如图6.8所示:
图6.8 部门考核表单填写页面
部分代码为:
信息卡
innerHTML=username;
innerHTML=userobject
领导层
当前时间为
当纪检监察科领导登录后,将进入到对其他部门提交绩效考核表单进行审核,通过查看附属证明与考核指标库进行对比,完成提交分数的核查.如需对登录密码等信息进行修改即可进入系统设置的修改页面.页面如图6.9和图6.10所示:
图6.9 考核表审批页面
图6. 10 登录密码修改
(3)绩效考核系统:
当身份验证为普通权限后,用户则为企业普通员工,进入绩效考核系统中,考核指标、排名、成绩的查询结果,将调用管理员系统及绩效管理系统中对应的部门、个人考核表数据.如对考核成绩存在质疑,可以通过绩效反馈功能,对相关项目填写申辩理由,并点击申辩按钮,将申辩请求提交到部门领导的系统中,等待申辩结果.页面如图6.11、图6.12和图6.13所示:
图6. 11 部门考核结果排名页面
图6. 12 个人考核结果查看
图6. 13 考核结果反馈界面
根据上月考核结果,员工可自行在学习课程页面中完成选课,并对所选课程进行学习考试,学习状态与考试结果将同步在该页面中,如图6.14所示:
图6. 14 员工学习课程页面
如个人信息发生改变,需要在系统中进行变更,则可进入个人信息页面完成信息修改,进入页面后,信息呈现不可修改状态,需点击修改按钮后,方可修改,点击确认后,修改后的信息将同步到数据库中.页面如图6.15所示:
图6. 15 个人信息修改页面
6.4 服务器
将系统基本部署完成后,用户要做到通过域名访问系统就需要应用服务器,由安装了服务器软件的计算机根据用户请求将所需资源返回到用户的浏览器上.我们作为开发端,要让用户能唯一的访问到我们,我们就需要配置相关web服务器对访问作出响应,本文将采用开源的免费服务器Tomcat为系统提供服务器支持.下载安装后,并正确配置计算机的JAVA_HOME环境变量,运行bin/startuo.bat程序即可启动Tomcat.通过配置Tomcat安装目录下conf\Catalina\localhost中创建任意名称xml文件,在文件中编写.那么,其他用户即可通过访问:开发端ip地址/xml文件的名称作为URL,即可成功访问到项目系统.
6.5 数据库
将项目部署到服务器后,用户在系统使用过程中,无论是用户注册信息,还是对绩效指标设置信息、绩效表单数据等等,都需要存放在数据库中,以保证数据在调用过程中的安全性.本项目将使用MySQL数据库提供用户表单的信息存取,保证大量数据存取的完整性.
根据本系统的页面设计以及UML建模,数据库共设计了12个表,表与表之间包括一对多关系11个,多对多关系1个.其中用户表(user)中的数据将被登录后信息卡片以及绩效表单内容所调用,绩效反馈(feedback)中的数据将被绩效管理中考核表管理模块所调用,学习内容(study)中数据将被绩效管理中员工考核表填写和考核结果管理等模块调用,绩效表单(performance)将被绩效管理系统和绩效考核系统都调用,实现三个系统的数据互通.系统的整体的数据库表单之间的关系如图6.16所示:
图6. 16 绩效考核系统数据结构图
在系统功能与数据库的连接中,使用JDBC技术完成代码的编写引用数据库资源,为避免数据库路径更改而造成的引用失败,配置DBConfig.properties文件在其中编写以下代码:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/db
user=root
password=123123 //数据库密码
完成数据库的环境配置后,在编程文档中引入需要使用的数据库java类,使用create关键字进行数据库和表的创建.然后,在调用数据库信息的方法中编写以下部分代码来获取数据库信息:
static {
ResourceBundle bundle = ResourceBundle.getBundle("DBConfig");
url = bundle.getString("url");
username = bundle.getString("user");
password = bundle.getString("password");
try {
Class.forName(bundle.getString("driver"));
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException{
return DriverManager.getConnection(url,user,pwd);
}
7 结论
本文通过文献查阅比较,分析了目前绩效考核方法以及系统开发模式的利弊,基于企业具体实情,对绩效考核系统的开发做了论述。通过该系统的设计,实现了办公与互联网的结合,让办公时的信息交流变得更加迅速,避免了因信息交互周期长而耽误企业效益。在绩效考核实现上,完成了从线下到线上的变革,将整个绩效考核系统根据用户需求的不同,实现了多方登录系统的集成使用,统一显示界面简化操作,避免用户花费时间学习系统的使用规范。
在整个系统功能设计中,绩效考核模块作为其核心功能,在该模块的设计中,采取考核流程状态显示的效果,使用户在使用过程中及时发现问题,解决了传统模式中反馈不及时的问题。而绩效考核模块的另一重要设计,是指标权重占比的算法更新,将采用更新一次考核指标则重新计算权重的模式,来实现员工绩效结果的计算。将每位员工为企业做出的最大贡献进行比较,以此确保考核的公平、公正性。员工系统模块关于部门绩效考核结果的排序,使得考核的透明性更高,员工可以根据考核成绩,明确与其他员工的具体差异在哪。避免了企业做出员工晋升决策后,引起员工的不满质疑。针对员工能力提升而设计的学习模块,可以提升员工的专业能力,弥补考核结果上呈现的欠缺,更好的完成日常工作,从而提高个人的绩效成绩。因此,整个系统的功能设计都以增强企业的最终利益为目的,从每位员工出发,立足于促进员工进步发展,从而提高企业的人才竞争力和口碑竞争力。
在系统的实现上,基于JAVA编程语言,学习使用了JavaWeb技术完成整个系统的构建实现。页面实现过程中,程序编写由浅及深,一步步加入各组件的使用,让读者对系统页面的构建过程有全面的了解。文章所述的系统实现技术,对前端、服务器、数据库等方面的技术都有涉及,并采用当前最新使用规范,以延长系统的生命周期。AHP的应用模块,不仅可以作用于绩效考核因素权重计算,也可作用于员工绩效优劣排序,使系统算法更简洁。计算机技术的发展带给我们诸多便利,数学的发展为我们解决了许多细节上的难题,本项目将课堂所学知识做了综合应用及扩展,完成具有科学性、公正性的考核系统,真正做到学有所用。
你可能感兴趣的:(servlet,java,tomcat)
Mybatisplus更新某个字段为null
辉夜姬想环游世界
日常记录 java spring 开发语言
使用@TableField(updateStrategy=FieldStrategy.IGNORED)注解要更新的字段。@TableField注解是Mybatisplus框架中提供的一个注解,主要用于实体类(Entity)的字段上,帮助开发者更灵活地映射Java对象属性与数据库表字段之间的关系主要功能:1、字段映射:当实体类和数据库字段不一致时,可以是使用value属性指定数据库字段名@Table
Java平台上的多线程与多核处理研究
向哆哆
Java入门到精通 java python 开发语言
Java平台上的多线程与多核处理研究在现代计算机架构中,多核处理器已成为主流。随着硬件性能的提升,如何有效利用多核处理器的计算能力成为开发者面临的重要问题之一。Java作为一种广泛使用的编程语言,提供了多线程编程的强大支持,使得开发者能够在多核环境下实现并行计算。本篇文章将深入探讨Java平台上的多线程与多核处理,探讨其工作原理、应用场景,并通过代码实例进行演示。1.多线程与多核处理的基本概念1.
Spring框架在Java企业级应用中的应用分析
向哆哆
Java入门到精通 java spring 后端
Java在移动应用开发中的优势与挑战Java作为一门历史悠久且功能强大的编程语言,在移动应用开发中一直占据着重要地位,尤其是在安卓平台的应用开发上,Java是主要的开发语言。随着技术的发展,尤其是Kotlin的崛起,Java在移动应用中的角色发生了一些变化,但它依旧具有许多独特的优势,尤其是在企业级应用和维护现有项目中。本文将从多个角度探讨Java在移动应用开发中的优势与挑战,并提供相关的代码示例
idea error invoking main method (亲测有效)
大葱蘸个酱
intellij-idea java ide
一、前言我的idea是IntelliJIDEA2021.3.2版本,前一天测试javagc回收,把idea的堆内存调成了28m和56m,导致今天idea无法启动,提示errorinvokingmainmethod二、解决方案把配置文件中的配置调整正常,问题解决-Xms128m最小堆内存-Xmx750m最大堆内存-Xms最小堆内存-Xmx最大堆内存其它问题导致的无法启动解决方案:管理员模式下面cmd
Java JVM性能优化与调优
卖血买老婆
Java专栏 java jvm 性能优化
优化Java应用的性能通常需要深入理解JVM(JavaVirtualMachine)的工作原理和运行机制,因为JVM直接决定了Java程序的运行时表现。以下是JVM性能优化与调优的要点和详细指导,涵盖常见问题、调优工具及策略。一、常见性能问题内存相关问题堆内存不足(OutOfMemoryError:Javaheapspace)元空间(Metaspace)不足频繁的垃圾回收导致长时间停顿内存泄漏(对
RHEL 安装 Hadoop 服务器
XhClojure
hadoop 服务器 大数据
在这篇文章中,我们将探讨如何在RedHatEnterpriseLinux(RHEL)上安装和配置Hadoop服务器。Hadoop是一个开源的分布式数据处理框架,用于处理大规模数据集。以下是在RHEL上安装Hadoop的详细步骤。步骤1:安装Java在安装Hadoop之前,我们需要确保系统上安装了JavaDevelopmentKit(JDK)。执行以下命令安装JDK:sudoyuminstallja
JavaScript网页设计案例:打造交互式个人简历网站
程序媛小果
前端 javascript 开发语言 ecmascript
在当今数字化时代,个人简历不再局限于纸质文档,而是越来越多地以网页形式呈现。JavaScript作为一种强大的客户端脚本语言,为网页设计提供了无限可能,使得网页不仅仅是静态的信息展示,而是具有丰富交互性的平台。本文将通过一个案例,展示如何使用HTML、CSS和JavaScript来设计一个交互式的个人简历网站。1.项目概述本案例的目标是创建一个个人简历网站,它不仅展示个人信息、工作经历、教育背景和
ECMAScript与JavaScript:探索两者之间的联系与区别
程序媛小果
前端 ecmascript javascript 前端
在Web开发的早期,JavaScript成为了客户端脚本语言的代名词,而随着时间的推移,JavaScript已经发展成为一个功能强大的语言,它的影响力远远超出了浏览器的范畴。在这场语言演进的过程中,ECMAScript扮演了一个关键角色。本文将深入探讨ECMAScript与JavaScript之间的关系,以及它们之间的主要区别。1.什么是ECMAScript?ECMAScript是由欧洲计算机制造
【Java基础】Java 中的 super 关键字
李少兄
Java java 开发语言
前言在Java的面向对象编程中,继承是一个核心特性,它允许我们创建一个新类(子类)来继承另一个已有类(父类)的属性和方法。而super关键字则是在这个继承体系中扮演着至关重要的角色,它为子类与父类之间的交互提供了强大的支持。1.super关键字的基本概念super关键字是Java中的一个引用变量,它指向当前对象的父类对象。通过super,子类可以访问父类的成员,包括成员变量、方法和构造器。在子类中
23种设计模式-享元(Flyweight)设计模式
萨达大
软考中级-软件设计师 设计模式 享元模式 软考 软件设计师 C++ 行为型设计模式 JAVA
文章目录一.什么是享元设计模式?二.享元模式的特点三.享元模式的结构四.享元模式的优缺点五.享元模式的C++实现六.享元模式的JAVA实现七.代码解析八.总结类图:享元设计模式类图一.什么是享元设计模式? 享元(Flyweight)设计模式是一种结构型设计模式,通过共享对象来减少内存占用和对象创建开销。它通过将对象的可共享部分与不可共享部分分离,减少重复对象的数量,从而节省内存。 享元模式的核心思
2分钟学会编写maven插件
聪明马的博客
Java maven java spring
什么是Maven插件Maven是Java项目中常用的构建工具,可以自动化构建、测试、打包和发布Java应用程序。Maven插件是Maven的一项重要功能,它可以在Maven构建过程中扩展Maven的功能,实现自定义的构建逻辑。Maven插件可以提供很多不同的功能,例如:生成代码、打包文件、部署应用程序等。插件通常是在Maven构建生命周期中的某个阶段执行,例如:编译、测试、打包、安装和部署。Mav
吐血整理Java集合框架,免费送
聪明马的博客
Java java 数据结构
Java集合框架(JavaCollectionsFramework)是Java标准库中的一个重要部分。它为Java开发人员提供了一组常用的数据结构,如列表、集合、映射等,使其更容易地处理数据。在这篇博客中,我将详细介绍Java集合框架,包括它的主要特点、常用的集合类型以及如何使用它们来解决实际问题。一、Java集合框架的主要特点Java集合框架的主要特点是:统一的接口。Java集合框架提供了一组统
还不会Mybaits吗?一招解决
聪明马的博客
Java mybatis java spring
MyBatis是一种优秀的JavaORM框架,它可以帮助开发人员轻松地管理数据库,并提供了一种简单易懂的编程模型,以便于快速地进行数据库访问操作。MyBatis的出现为Java开发人员提供了一种更加高效和灵活的数据访问方式。在本篇博客中,我们将深入了解MyBatis的含义,各种用法以及如何使用Java代码来实现各种操作。一、MyBatis的含义MyBatis是一种开源的JavaORM框架,它可以帮
【从零到一的Java Stream,保姆级教学】
聪明马的博客
Java java 后端
JavaStream是Java8中的一项重大新功能,它提供了一种强大的功能,用于处理集合和数组等数据结构的元素序列。Stream基于lambda表达式,它允许我们使用一种简洁而直观的方式来处理数据,而不用关心底层的实现细节。本文将详细介绍JavaStream的用法。什么是StreamJavaStream是一个用于描述数据流的API,它提供了一个面向函数式编程的方式来处理集合和数组等数据结构的元素序
RUST练习生如何在生产环境构建万亿流量|得物技术
后端rust
一、引言在《得物新一代可观测性架构:海量数据下的存算分离设计与实践》一文中,我们探讨了存算分离架构如何通过解耦计算与存储资源,显著降低存储成本并提升系统扩展性。然而,仅优化存储成本不足以支撑高效可观测性系统的全局目标。在生产环境中,计算层作为可观测性体系的核心模块,需在处理日益复杂和动态的大流量数据时,保持高性能、强稳定性与优异的资源利用效率。在得物的可观测性计算层中,Java凭借其成熟的生态系统
经销商管理系统架构设计方案(附 Java版本和Python版本源代码详解)
AI天才研究院
DeepSeek R1 & 大数据AI人工智能大模型 AI大模型企业级应用开发实战 AI大模型应用入门实战与进阶 计算科学 神经计算 深度学习 神经网络 大数据 人工智能 大型语言模型 AI AGI LLM Java Python 架构设计 Agent RPA
经销商管理系统架构设计方案(Java实现源代码详解)关键词:经销商管理系统,Java,SpringBoot,MyBatis,MySQL,架构设计,源代码1.背景介绍随着市场竞争的日益激烈,企业对经销商的管理越来越重视。传统的经销商管理方式效率低下,信息滞后,难以适应现代企业的发展需求。为了提高经销商管理效率,降低运营成本,越来越多的企业开始采用信息化的手段来管理经销商,而经销商管理系统应运而生。经
【后端java】构建工具maven
骑鱼过海的猫123
java maven python
文章目录1导入本地jar包到maven仓库1导入本地jar包到maven仓库mvninstall:install-file-Dfile=-DgroupId=-DartifactId=-Dversion=-Dpackaging=是你的jar文件的路径。是你的项目的组ID。是你的项目的ArtifactID。是你的jar包的版本号通常是jar,除非你的文件是其他类型的包,如pom。mvninstall:
【后端java】java常用代码
骑鱼过海的猫123
java
1.获取当前项目路径Stringpath=System.getProperty("user.dir");
[附源码]计算机毕业设计基于SpringBoot的小说阅读系统
计算机毕设程序设计
spring boot java 后端
项目运行环境配置:Jdk1.8+Tomcat7.0+Mysql+HBuilderX(Webstorm也行)+Eclispe(IntelliJIDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:SSM+mybatis+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.ID
null和undefined的区别
编程星空
JavaScript 前端 javascript 开发语言
null和undefined是JavaScript中两个特殊的值,它们都表示“无”或“空”,但在语义和使用场景上有明显区别。以下是它们的详细对比:1.定义undefined表示变量已声明但未赋值,或函数没有返回值时的默认返回值。是JavaScript引擎默认赋予的初始值。类型为undefined。null表示一个空对象指针,通常用于显式表示“无”或“空”。是开发者主动赋值的值。类型为object(
深入理解Spring Boot中的事件驱动架构
省赚客APP开发者@聚娃科技
spring boot 架构 java
深入理解SpringBoot中的事件驱动架构大家好,我是微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!1.引言事件驱动架构在现代软件开发中越来越受欢迎,它能够提高系统的松耦合性和可扩展性。SpringBoot作为一个流行的Java框架,提供了强大的事件驱动支持。本文将深入探讨SpringBoot中事件驱动架构的实现原理和最佳实践。2.SpringFramework中的事件模型在
dreamweaver html语言,Dreamweaver网页设计与制作(HTML+CSS+JavaScript)
weixin_39979245
dreamweaver html语言
Dreamweaver网页设计与制作(HTML+CSS+JavaScript)编辑锁定讨论上传视频本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!《Dreamweaver网页设计与制作(HTML+CSS+JavaScript)》是2014年清华大学出版社出版的图书。Dreamweaver网页设计与制作(HTML+CSS+JavaScript)图书详细信息编辑ISBN:978
html 5中css的含义,HTML 5+CSS+JavaScript网页设计与制作
律保阁-Michael
html 5中css的含义
HTML5+CSS+JavaScript网页设计与制作编辑锁定讨论上传视频《HTML5+CSS+JavaScript网页设计与制作》是2019年4月清华大学出版社出版的图书,作者是彭进香、张茂红、王玉娟、叶娟、孙秀娟、万幸、刘英。书名HTML5+CSS+JavaScript网页设计与制作作者彭进香张茂红王玉娟叶娟作者孙秀娟展开作者孙秀娟万幸刘英收起出版社清华大学出版社出版时间2019年4月定价48
html+css+javascript实用详解,HTML+CSS+JavaScript 课程标准
vvv666s
②学会运用HTML语言中的标记设置颜色、文本格式和列表;熟练掌握颜色值的配置和背景图案的设置方法,熟练掌握字符、链接颜色的设置方法;③掌握在网页中添加CSS、嵌入图像、声音、多媒体信息的方法;④熟练掌握表格的使用方法,学会利用表格设布局网页;掌握框架制作网页的方法,会使用框架设计网页;掌握制作表单的方法,会利用表单建立交互式页面;⑤掌握JavaScript语言的语法;⑥掌握在HTML语言代码中嵌入
Android Gradle使用总结
Wei_Leng
Android studio android gradle 脚本
其他Groovy入门学习http://blog.csdn.net/zhaoyanjun6/article/details/70313790AndroidGradleAndroid项目使用Gradle作为构建框架,Gradle又是以Groovy为脚本语言。所以学习Gradle之前需要先熟悉Groovy脚本语言。Groovy是基于Java语言的脚本语言,所以它的语法和Java非常相似,但是具有比jav
JavaScript的魔法世界:巧妙之处与实战技巧
skyksksksksks
综合个人杂记 javascript 开发语言 html5 css 前端
一、从浏览器玩具到全栈利器的蜕变之路JavaScript诞生于1995年,原本只是网景公司为浏览器设计的"小脚本"。谁能想到这个曾被戏称为"玩具语言"的家伙,如今已蜕变成支撑现代Web开发的擎天柱?就像一只破茧成蝶的幼虫,JavaScript经历了ECMAScript标准的持续进化,在Node.js的加持下突破了浏览器的桎梏,实现了从客户端到服务端的华丽转身。V8引擎的涡轮增压让它跑得比猎豹还快,
Redis 全方位解析:从入门到实战
kiss strong
redis 数据库 缓存
引言在当今互联网快速发展的时代,高并发、低延迟的应用场景越来越普遍。Redis,作为一款高性能的开源数据库,以其卓越的性能和灵活的功能,成为了许多开发者的首选工具。无论是在缓存、消息队列,还是在实时数据分析等领域,Redis都展现出了强大的能力。本文将从Redis的基本介绍、官网、安装、特性,到具体的存储类型、Java代码实例、SpringBoot整合,以及Redis的主要作用和应用场景,进行全面
前端开发入门指南:HTML、CSS和JavaScript基础知识
方向感超强的
javascript css html 前端
引言:大家好,我是一名简单的前端开发爱好者,对于网页设计和用户体验的追求让我深深着迷。在本篇文章中,我将带领大家探索前端开发的基础知识,涵盖HTML、CSS和JavaScript。如果你对这个领域感兴趣,或者想要了解如何开始学习前端开发,那么这篇文章将为你提供一个良好的起点。1.前端开发概述在我们深入了解前端开发的细节之前,让我们先了解一下前端开发的定义和作用。简而言之,前端开发涉及构建用户直接与
《Java高级-Xml:利用DOM4j解析XML》
大大大钢琴
# Java:经验总结 java xml 开发语言
利用DOM4j解析XMLdom4j是一个简单的开源库,用于处理XML、XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集成了DOM,SAX和JAXP。dom4j是目前在xml解析方面是最优秀的(Hibernate、Sun的JAXM也都使用dom4j来解析XML),它合并了许多超出基本XML文档表示的功能,包括集成的XPath支持、XMLSchema支持以及用于大文档或流化文档
LQB---基础练习---十六进制转八进制
「已注销」
# LQB LQB
试题基础练习十六进制转八进制资源限制内存限制:512.0MBC/C++时间限制:1.0sJava时间限制:3.0sPython时间限制:5.0s问题描述给定n个十六进制正整数,输出它们对应的八进制数。输入格式输入的第一行为一个正整数n(1<=n<=10)。接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式输出n行,每行为
apache 安装linux windows
墙头上一根草
apache inux windows
linux安装Apache 有两种方式一种是手动安装通过二进制的文件进行安装,另外一种就是通过yum 安装,此中安装方式,需要物理机联网。以下分别介绍两种的安装方式
通过二进制文件安装Apache需要的软件有apr,apr-util,pcre
1,安装 apr 下载地址:htt
fill_parent、wrap_content和match_parent的区别
Cb123456
match_parent fill_parent
fill_parent、wrap_content和match_parent的区别:
1)fill_parent
设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。这跟Windows控件的dockstyle属性大体一致。设置一个顶部布局或控件为fill_parent将强制性让它布满整个屏幕。
2) wrap_conte
网页自适应设计
天子之骄
html css 响应式设计 页面自适应
网页自适应设计
网页对浏览器窗口的自适应支持变得越来越重要了。自适应响应设计更是异常火爆。再加上移动端的崛起,更是如日中天。以前为了适应不同屏幕分布率和浏览器窗口的扩大和缩小,需要设计几套css样式,用js脚本判断窗口大小,选择加载。结构臃肿,加载负担较大。现笔者经过一定时间的学习,有所心得,故分享于此,加强交流,共同进步。同时希望对大家有所
[sql server] 分组取最大最小常用sql
一炮送你回车库
SQL Server
--分组取最大最小常用sql--测试环境if OBJECT_ID('tb') is not null drop table tb;gocreate table tb( col1 int, col2 int, Fcount int)insert into tbselect 11,20,1 union allselect 11,22,1 union allselect 1
ImageIO写图片输出到硬盘
3213213333332132
java image
package awt;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imagei
自己的String动态数组
宝剑锋梅花香
java 动态数组 数组
数组还是好说,学过一两门编程语言的就知道,需要注意的是数组声明时需要把大小给它定下来,比如声明一个字符串类型的数组:String str[]=new String[10]; 但是问题就来了,每次都是大小确定的数组,我需要数组大小不固定随时变化怎么办呢? 动态数组就这样应运而生,龙哥给我们讲的是自己用代码写动态数组,并非用的ArrayList 看看字符
pinyin4j工具类
darkranger
.net
pinyin4j工具类Java工具类 2010-04-24 00:47:00 阅读69 评论0 字号:大中小
引入pinyin4j-2.5.0.jar包:
pinyin4j是一个功能强悍的汉语拼音工具包,主要是从汉语获取各种格式和需求的拼音,功能强悍,下面看看如何使用pinyin4j。
本人以前用AscII编码提取工具,效果不理想,现在用pinyin4j简单实现了一个。功能还不是很完美,
StarUML学习笔记----基本概念
aijuans
UML建模
介绍StarUML的基本概念,这些都是有效运用StarUML?所需要的。包括对模型、视图、图、项目、单元、方法、框架、模型块及其差异以及UML轮廓。
模型、视与图(Model, View and Diagram)
&
Activiti最终总结
avords
Activiti id 工作流
1、流程定义ID:ProcessDefinitionId,当定义一个流程就会产生。
2、流程实例ID:ProcessInstanceId,当开始一个具体的流程时就会产生,也就是不同的流程实例ID可能有相同的流程定义ID。
3、TaskId,每一个userTask都会有一个Id这个是存在于流程实例上的。
4、TaskDefinitionKey和(ActivityImpl activityId
从省市区多重级联想到的,react和jquery的差别
bee1314
jquery UI react
在我们的前端项目里经常会用到级联的select,比如省市区这样。通常这种级联大多是动态的。比如先加载了省,点击省加载市,点击市加载区。然后数据通常ajax返回。如果没有数据则说明到了叶子节点。 针对这种场景,如果我们使用jquery来实现,要考虑很多的问题,数据部分,以及大量的dom操作。比如这个页面上显示了某个区,这时候我切换省,要把市重新初始化数据,然后区域的部分要从页面
Eclipse快捷键大全
bijian1013
java eclipse 快捷键
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)Alt+En
js 笔记 函数
征客丶
JavaScript
一、函数的使用
1.1、定义函数变量
var vName = funcation(params){
}
1.2、函数的调用
函数变量的调用: vName(params);
函数定义时自发调用:(function(params){})(params);
1.3、函数中变量赋值
var a = 'a';
var ff
【Scala四】分析Spark源代码总结的Scala语法二
bit1129
scala
1. Some操作
在下面的代码中,使用了Some操作:if (self.partitioner == Some(partitioner)),那么Some(partitioner)表示什么含义?首先partitioner是方法combineByKey传入的变量,
Some的文档说明:
/** Class `Some[A]` represents existin
java 匿名内部类
BlueSkator
java匿名内部类
组合优先于继承
Java的匿名类,就是提供了一个快捷方便的手段,令继承关系可以方便地变成组合关系
继承只有一个时候才能用,当你要求子类的实例可以替代父类实例的位置时才可以用继承。
在Java中内部类主要分为成员内部类、局部内部类、匿名内部类、静态内部类。
内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相
盗版win装在MAC有害发热,苹果的东西不值得买,win应该不用
ljy325
游戏 apple windows XP OS
Mac mini 型号: MC270CH-A RMB:5,688
Apple 对windows的产品支持不好,有以下问题:
1.装完了xp,发现机身很热虽然没有运行任何程序!貌似显卡跑游戏发热一样,按照那样的发热量,那部机子损耗很大,使用寿命受到严重的影响!
2.反观安装了Mac os的展示机,发热量很小,运行了1天温度也没有那么高
&nbs
读《研磨设计模式》-代码笔记-生成器模式-Builder
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/**
* 生成器模式的意图在于将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示(GoF)
* 个人理解:
* 构建一个复杂的对象,对于创建者(Builder)来说,一是要有数据来源(rawData),二是要返回构
JIRA与SVN插件安装
chenyu19891124
SVN jira
JIRA安装好后提交代码并要显示在JIRA上,这得需要用SVN的插件才能看见开发人员提交的代码。
1.下载svn与jira插件安装包,解压后在安装包(atlassian-jira-subversion-plugin-0.10.1)
2.解压出来的包里下的lib文件夹下的jar拷贝到(C:\Program Files\Atlassian\JIRA 4.3.4\atlassian-jira\WEB
常用数学思想方法
comsci
工作
对于搞工程和技术的朋友来讲,在工作中常常遇到一些实际问题,而采用常规的思维方式无法很好的解决这些问题,那么这个时候我们就需要用数学语言和数学工具,而使用数学工具的前提却是用数学思想的方法来描述问题。。下面转帖几种常用的数学思想方法,仅供学习和参考
函数思想
把某一数学问题用函数表示出来,并且利用函数探究这个问题的一般规律。这是最基本、最常用的数学方法
pl/sql集合类型
daizj
oracle 集合 type pl/sql
--集合类型
/*
单行单列的数据,使用标量变量
单行多列数据,使用记录
单列多行数据,使用集合(。。。)
*集合:类似于数组也就是。pl/sql集合类型包括索引表(pl/sql table)、嵌套表(Nested Table)、变长数组(VARRAY)等
*/
/*
--集合方法
&n
[Ofbiz]ofbiz初用
dinguangx
电商 ofbiz
从github下载最新的ofbiz(截止2015-7-13),从源码进行ofbiz的试用
1. 加载测试库
ofbiz内置derby,通过下面的命令初始化测试库
./ant load-demo (与load-seed有一些区别)
2. 启动内置tomcat
./ant start
或
./startofbiz.sh
或
java -jar ofbiz.jar
&
结构体中最后一个元素是长度为0的数组
dcj3sjt126com
c gcc
在Linux源代码中,有很多的结构体最后都定义了一个元素个数为0个的数组,如/usr/include/linux/if_pppox.h中有这样一个结构体: struct pppoe_tag { __u16 tag_type; __u16 tag_len; &n
Linux cp 实现强行覆盖
dcj3sjt126com
linux
发现在Fedora 10 /ubutun 里面用cp -fr src dest,即使加了-f也是不能强行覆盖的,这时怎么回事的呢?一两个文件还好说,就输几个yes吧,但是要是n多文件怎么办,那还不输死人呢?下面提供三种解决办法。 方法一
我们输入alias命令,看看系统给cp起了一个什么别名。
[root@localhost ~]# aliasalias cp=’cp -i’a
Memcached(一)、HelloWorld
frank1234
memcached
一、简介
高性能的架构离不开缓存,分布式缓存中的佼佼者当属memcached,它通过客户端将不同的key hash到不同的memcached服务器中,而获取的时候也到相同的服务器中获取,由于不需要做集群同步,也就省去了集群间同步的开销和延迟,所以它相对于ehcache等缓存来说能更好的支持分布式应用,具有更强的横向伸缩能力。
二、客户端
选择一个memcached客户端,我这里用的是memc
Search in Rotated Sorted Array II
hcx2013
search
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed?
Would this affect the run-time complexity? How and why?
Write a function to determine if a given ta
Spring4新特性——更好的Java泛型操作API
jinnianshilongnian
spring4 generic type
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
CentOS安装JDK
liuxingguome
centos
1、行卸载原来的:
[root@localhost opt]# rpm -qa | grep java
tzdata-java-2014g-1.el6.noarch
java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64
java-1.6.0-openjdk-1.6.0.0-11.1.13.4.el6.x86_64
[root@localhost
二分搜索专题2-在有序二维数组中搜索一个元素
OpenMind
二维数组 算法 二分搜索
1,设二维数组p的每行每列都按照下标递增的顺序递增。
用数学语言描述如下:p满足
(1),对任意的x1,x2,y,如果x1<x2,则p(x1,y)<p(x2,y);
(2),对任意的x,y1,y2, 如果y1<y2,则p(x,y1)<p(x,y2);
2,问题:
给定满足1的数组p和一个整数k,求是否存在x0,y0使得p(x0,y0)=k?
3,算法分析:
(
java 随机数 Math与Random
SaraWon
java Math Random
今天需要在程序中产生随机数,知道有两种方法可以使用,但是使用Math和Random的区别还不是特别清楚,看到一篇文章是关于的,觉得写的还挺不错的,原文地址是
http://www.oschina.net/question/157182_45274?sort=default&p=1#answers
产生1到10之间的随机数的两种实现方式:
//Math
Math.roun
oracle创建表空间
tugn
oracle
create temporary tablespace TXSJ_TEMP
tempfile 'E:\Oracle\oradata\TXSJ_TEMP.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent m
使用Java8实现自己的个性化搜索引擎
yangshangchuan
java superword 搜索引擎 java8 全文检索
需要对249本软件著作实现句子级别全文检索,这些著作均为PDF文件,不使用现有的框架如lucene,自己实现的方法如下:
1、从PDF文件中提取文本,这里的重点是如何最大可能地还原文本。提取之后的文本,一个句子一行保存为文本文件。
2、将所有文本文件合并为一个单一的文本文件,这样,每一个句子就有一个唯一行号。
3、对每一行文本进行分词,建立倒排表,倒排表的格式为:词=包含该词的总行数N=行号