1.背景:人事部门对于员工平时工作表现等希望通过量化标准进行定期进行考核,对应后续调薪调岗等有数据进行支持。一般常见的有月度考核、季度考核、年度考核等,根据不同的职能部门,考核量化标准也不一致。
2.本次设计主要针对员工的月度考核进行自动触发进行绩效目标设定,以及后续直属领导等进行评分。
主要分为两部分:
(1)、制定相应考核目标与计划,根据工作职能由人事部门提出或者部门提出的考核标准,定期OA系统进行触发给员工进行确认和填写。
(2)、考核计划目标到期后,OA系统自动触发给员工进行自评以及直属领导进行打分,最终汇总到人事部门。
3、泛微OA系统设计思路:
(1)、首先要考虑触发前提前存储相应员工计划目标,达到触发给员工计划目标基础信息存储的目的,采用数据建模新增存储目标计划表单:《月度考核计划表触发》该表单存储计划目标的基础信息。然后等平均结束后需要存储评分汇总信息,需要增加存储评分的建模表单:《个人绩效计划与评价表》


(2)、基础信息存储后,要达到自动触发的目的,首先考虑定时任务,这样满足条件后程序自动触发。目前计划目标表单是根据考核开始日期进行触发,也可以设置其他时间进行触发,评分也是根据考核结束日期触发。
触发计划目标表单代码如下:
定时任务:CreatePersonalPerformancePlanJob
package hanhai.sap.zsj.job;
import hanhai.sap.zsj.service.CreatePersonalPerformancePlanService;
import weaver.general.BaseBean;
import weaver.general.TimeUtil;
import weaver.interfaces.schedule.BaseCronJob;
/**
* @description:
* @Author: zweif
* @CreateTime: 2025/3/12
*/
public class CreatePersonalPerformancePlanJob extends BaseCronJob {
public void execute() {
try{
new BaseBean().writeLog("CreatePersonalPerformancePlanJob 定时触发个人计划表--开始:" + TimeUtil.getCurrentTimeString());
CreatePersonalPerformancePlanService service = new CreatePersonalPerformancePlanService();
service.create();
new BaseBean().writeLog("CreatePersonalPerformancePlanJob 定时触发个人计划表--结束:" + TimeUtil.getCurrentTimeString());
}catch (Exception e){
new BaseBean().writeLog("CreatePersonalPerformancePlanJob 定时触发个人计划表--失败!!!"+e.getMessage());
e.printStackTrace();
}
}
}
基础对象:KpiEntity、TaskEntity、PersonalPerformancePlanEntity、PersonalPerformancePlanEvaluateEntity
package hanhai.sap.zsj.entity;
/**
* @description:
* @Author: hzx
* @CreateTime: 2025/3/15
*/
public class KpiEntity {
/**
* 指标名称
*/
public String zbmc;
/**
* 指标定义/计算公式
*/
public String zbdyjsgs;
/**
* 指标类别
*/
public String zblx;
/**
* 警戒值C
*/
public String jjzc;
/**
* 目标值B
*/
public String mbzb;
/**
*
* 挑战值A
*/
public String tzza;
/**
* 权重
*/
public String qz;
/**
* 备注
*/
public String bz;
public String getMbzb() {
return mbzb;
}
public void setMbzb(String mbzb) {
this.mbzb = mbzb;
}
public String getTzza() {
return tzza;
}
public void setTzza(String tzza) {
this.tzza = tzza;
}
public String getZbmc() {
return zbmc;
}
public void setZbmc(String zbmc) {
this.zbmc = zbmc;
}
public String getZbdyjsgs() {
return zbdyjsgs;
}
public void setZbdyjsgs(String zbdyjsgs) {
this.zbdyjsgs = zbdyjsgs;
}
public String getZblx() {
return zblx;
}
public void setZblx(String zblx) {
this.zblx = zblx;
}
public String getJjzc() {
return jjzc;
}
public void setJjzc(String jjzc) {
this.jjzc = jjzc;
}
public String getQz() {
return qz;
}
public void setQz(String qz) {
this.qz = qz;
}
public String getBz() {
return bz;
}
public void setBz(String bz) {
this.bz = bz;
}
}
package hanhai.sap.zsj.entity;
/**
* @description:
* @Author: hzx
* @CreateTime: 2025/3/15
*/
public class TaskEntity {
/**
* 任务目标
*/
public String rwmb;
/**
* 工作项
*/
public String gzx;
/**
* 权重
*/
public String qz;
/**
* 备注
*/
public String bz;
public String getRwmb() {
return rwmb;
}
public void setRwmb(String rwmb) {
this.rwmb = rwmb;
}
public String getGzx() {
return gzx;
}
public void setGzx(String gzx) {
this.gzx = gzx;
}
public String getQz() {
return qz;
}
public void setQz(String qz) {
this.qz = qz;
}
public String getBz() {
return bz;
}
public void setBz(String bz) {
this.bz = bz;
}
}
package hanhai.sap.zsj.entity;
/**
* @description:个人绩效计划表基本信息
* @Author: hzx
* @CreateTime: 2025/3/15
*/
public class PersonalPerformancePlanEntity {
/**
* 主键id
*/
public String id;
/**
* 姓名
*/
public String xm;
/**
* 工号
*/
public String gh;
/**
* 部门
*/
public String bm;
/**
* 职务
*/
public String zw;
/**
* 直接上级
*/
public String zjsj;
/**
* 考核开始日期
*/
public String khksrq;
/**
* 考核结束日期
*/
public String khjsrq;
/**
* 关键绩效目标权重合计
*/
public String gjjxmbqzhj;
/**
* 关键任务权重权重合计
*/
public String gjrwqzhj;
/**
* 权重总和
*/
public String qzzh;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getXm() {
return xm;
}
public void setXm(String xm) {
this.xm = xm;
}
public String getGh() {
return gh;
}
public void setGh(String gh) {
this.gh = gh;
}
public String getBm() {
return bm;
}
public void setBm(String bm) {
this.bm = bm;
}
public String getZw() {
return zw;
}
public void setZw(String zw) {
this.zw = zw;
}
public String getZjsj() {
return zjsj;
}
public void setZjsj(String zjsj) {
this.zjsj = zjsj;
}
public String getKhksrq() {
return khksrq;
}
public void setKhksrq(String khksrq) {
this.khksrq = khksrq;
}
public String getKhjsrq() {
return khjsrq;
}
public void setKhjsrq(String khjsrq) {
this.khjsrq = khjsrq;
}
public String getGjjxmbqzhj() {
return gjjxmbqzhj;
}
public void setGjjxmbqzhj(String gjjxmbqzhj) {
this.gjjxmbqzhj = gjjxmbqzhj;
}
public String getGjrwqzhj() {

最低0.47元/天 解锁文章
637

被折叠的 条评论
为什么被折叠?



