|
@@ -0,0 +1,80 @@
|
|
|
+package com.jpsoft.proj.kpi.controller;
|
|
|
+
|
|
|
+import java.util.HashSet;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
+
|
|
|
+import javax.validation.constraints.NotBlank;
|
|
|
+import javax.validation.constraints.NotNull;
|
|
|
+import javax.validation.constraints.Pattern;
|
|
|
+
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
+import org.springframework.web.bind.annotation.GetMapping;
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
+
|
|
|
+import com.jpsoft.proj.kpi.service.AssessService;
|
|
|
+import com.jpsoft.proj.model.AssessDtl;
|
|
|
+import com.jpsoft.proj.utils.MapUtils;
|
|
|
+import com.jpsoft.proj.utils.RespVO;
|
|
|
+import com.jpsoft.proj.utils.RespVOBuilder;
|
|
|
+
|
|
|
+@RestController
|
|
|
+@RequestMapping("/**/api")
|
|
|
+@Validated
|
|
|
+public class AssessController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private AssessService service;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 加载某级领导对某个员工的月评
|
|
|
+ * @param usId
|
|
|
+ * @param evaUsId
|
|
|
+ * @param assessMonth
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping("/loadMonthAssess")
|
|
|
+ public RespVO loadMonthAssess(@NotBlank(message = "员工编号不能为空") String usId,@NotBlank(message = "考评领导编号不能为空") String evaUsId,@NotNull(message = "考评月份不能为空") @Pattern(regexp="^\\d{4}-\\d{2}$",message = "考评月份格式不正确:yyyy-MM") String assessMonth) {
|
|
|
+ return RespVOBuilder.ok(service.loadMonthAssess(usId,evaUsId,assessMonth));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存某级领导对某个员工的月评
|
|
|
+ * @param assessDtls
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/saveMonthAssess")
|
|
|
+ public RespVO saveMonthAssess(@RequestBody List<AssessDtl> assessDtls) {
|
|
|
+ if(assessDtls==null) {
|
|
|
+ return RespVOBuilder.error("缺少数据");
|
|
|
+ }
|
|
|
+ for(AssessDtl dtl : assessDtls) {
|
|
|
+ service.saveMonthAssess(dtl);
|
|
|
+ }
|
|
|
+ return RespVOBuilder.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 加载某员工的考评项目模板(目前模板只与被考核人的岗位相关)
|
|
|
+ * @param usId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public RespVO loadAssessTemplate(@NotBlank(message = "员工编号不能为空") String usId) {
|
|
|
+ List<Map<String,Object>> assessProjects=service.loadAssessProjects(usId);
|
|
|
+ if(assessProjects==null||assessProjects.size()==0) {
|
|
|
+ return RespVOBuilder.error("未找到适用的考评模板");
|
|
|
+ }
|
|
|
+ Set<String> projectIds=new HashSet<String>(assessProjects.size());
|
|
|
+ for(Map<String,Object> proj : assessProjects) {
|
|
|
+ projectIds.add(String.valueOf(proj.get("id")));
|
|
|
+ }
|
|
|
+ List<Map<String,Object>> assessProjectDtl=service.loadAssessProjectsDtl(projectIds);
|
|
|
+
|
|
|
+ return RespVOBuilder.ok(MapUtils.builder("projects",assessProjects,"dtl",assessProjectDtl));
|
|
|
+ }
|
|
|
+}
|