Pārlūkot izejas kodu

调整加载考评模板接口,增加考评级别数据;完善考评结果保存接口

chenwen 3 gadi atpakaļ
vecāks
revīzija
ec5589f4b8

+ 6 - 3
src/main/java/com/jpsoft/proj/kpi/controller/AssessController.java

@@ -61,11 +61,12 @@ public class AssessController {
 	
 	/**
 	   * 加载某员工的考评项目模板(目前模板只与被考核人的岗位相关)
-	 * @param usId
+	 * @param usId  员工编号
+	 * @param  evaUsId 考评领导编号
 	 * @return
 	 */
 	@GetMapping("/loadAssessTemplate")
-	public RespVO loadAssessTemplate(@NotBlank(message = "员工编号不能为空") String usId) {
+	public RespVO loadAssessTemplate(@NotBlank(message = "员工编号不能为空") String usId,@NotBlank(message = "考评领导编号不能为空") String evalUsId) {
 		List<Map<String,Object>>  assessProjects=service.loadAssessProjects(usId);
 		if(assessProjects==null||assessProjects.size()==0) {
 			return RespVOBuilder.error("未找到适用的考评模板");
@@ -76,7 +77,9 @@ public class AssessController {
 		}
 		List<Map<String,Object>> assessProjectDtl=service.loadAssessProjectsDtl(projectIds);
 		
-		return RespVOBuilder.ok(MapUtils.builder("projects",assessProjects,"dtl",assessProjectDtl));
+		Integer assessLevel=service.getAssessLevel(evalUsId, usId);
+		
+		return RespVOBuilder.ok(MapUtils.builder("projects",assessProjects,"dtl",assessProjectDtl,"level",assessLevel));
 	}
 	
 	/**

+ 25 - 0
src/main/java/com/jpsoft/proj/kpi/service/AssessService.java

@@ -58,6 +58,7 @@ public class AssessService {
 	 */
 	public void saveMonthAssess(AssessDtl  assessDtl) {
 		delSameMonthAssess(assessDtl.getUserid(),assessDtl.getEvauserid(),assessDtl.getName(),assessDtl.getDate());
+		dao.insertPojo(assessDtl, "incentive");
 	}
 	
 	private void delSameMonthAssess(Integer usId,Integer evaUsId,String assessItem,String assessMonth) {
@@ -85,4 +86,28 @@ public class AssessService {
 		
 		return dao.queryForListMap(sql.toString(), usId,assessMonth);
 	}
+	
+	/**
+	   * 获得考评领导对某一员工的考评级别
+	 * @param evalUsId
+	 * @param usId
+	 * @return
+	 */
+	public Integer getAssessLevel(String evalUsId,String usId) {
+		String sql="select CONVERT(varchar(10),id) usid,postid from sys_user where id in ("+evalUsId+","+usId+")";
+		Map<String,Object> rst=dao.queryForMapping(sql, "usid", "postid");
+		if(rst==null||rst.size()==0) {
+			return null;
+		}
+		String evalPostId=String.valueOf(rst.get(evalUsId));
+		sql="select postid,flow from EvaluationFlow where delflag=0 and  postid =? and flow like ?";
+		rst=dao.queryForSingleMap(sql, rst.get(usId),"%,"+evalPostId+",%");
+		if(rst==null||rst.size()==0||rst.get("flow")==null) {
+			return null;
+		}
+		String flow=(String)rst.get("flow");
+		flow=flow.substring(0, flow.indexOf(evalPostId));
+		flow=flow.replaceAll("\\d+", "");
+		return flow.length();
+	}
 }

+ 20 - 0
src/main/java/com/jpsoft/proj/model/AssessDtl.java

@@ -23,6 +23,10 @@ public class AssessDtl {
 	private Integer lv;
 	
 	private Date createtime;
+	
+	private Double unitvalue;
+	
+	private Double multiple;
 
 	public Integer getUserid() {
 		return userid;
@@ -103,4 +107,20 @@ public class AssessDtl {
 	public void setCreatetime(Date createtime) {
 		this.createtime = createtime;
 	}
+
+	public Double getUnitvalue() {
+		return unitvalue;
+	}
+
+	public void setUnitvalue(Double unitvalue) {
+		this.unitvalue = unitvalue;
+	}
+
+	public Double getMultiple() {
+		return multiple;
+	}
+
+	public void setMultiple(Double multiple) {
+		this.multiple = multiple;
+	}
 }