WorkSummaryController.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package com.jpsoft.proj.kpi.controller;
  2. import java.util.HashMap;
  3. import java.util.HashSet;
  4. import java.util.List;
  5. import java.util.Map;
  6. import java.util.Set;
  7. import javax.validation.Valid;
  8. import javax.validation.constraints.NotBlank;
  9. import javax.validation.constraints.NotNull;
  10. import javax.validation.constraints.Pattern;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.validation.annotation.Validated;
  13. import org.springframework.web.bind.annotation.GetMapping;
  14. import org.springframework.web.bind.annotation.PostMapping;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.RestController;
  17. import com.jpsoft.proj.kpi.service.WorkSummaryService;
  18. import com.jpsoft.proj.model.TaskSummary;
  19. import com.jpsoft.proj.utils.MapUtils;
  20. import com.jpsoft.proj.utils.RespVO;
  21. import com.jpsoft.proj.utils.RespVOBuilder;
  22. @RestController
  23. @RequestMapping("/**/api")
  24. @Validated
  25. public class WorkSummaryController {
  26. @Autowired
  27. private WorkSummaryService service;
  28. @GetMapping("/getUsIdByNum")
  29. public RespVO getUsIdByNum(@NotBlank(message = "工号不能为空") String workNum) {
  30. return RespVOBuilder.ok(service.getUserId(workNum));
  31. }
  32. /**
  33. * 加载需要自己考评的人员信息
  34. * @param usId
  35. * @return
  36. */
  37. @GetMapping("/loadNeedAssessUsers")
  38. public RespVO loadNeedAssessUsers(@NotBlank(message = "员工编号不能为空") String usId) {
  39. return RespVOBuilder.ok(service.loadNeedAssessUsers(usId));
  40. }
  41. /**
  42. * 按月查询职员工作日志
  43. * @param usId
  44. * @param workMonth
  45. * @return
  46. */
  47. @GetMapping("/loadMonthWorkSummary")
  48. public RespVO loadMonthWorkSummary(@NotBlank(message = "员工编号不能为空") String usId,@NotNull(message = "考勤月份不能为空") @Pattern(regexp="^\\d{4}-\\d{2}$",message = "考勤月份格式不正确:yyyy-MM") String workMonth) {
  49. List<Map<String,Object>> workLogs=service.loadMonthWorkLog(usId, workMonth);
  50. return RespVOBuilder.ok(workLogs);
  51. }
  52. /**
  53. * 保存每日工作小结
  54. * @param newSummary
  55. * @return
  56. */
  57. @PostMapping("saveDailyWorkSummary")
  58. public RespVO saveDailyWorkSummary(@Valid TaskSummary newSummary) {
  59. newSummary.updateSameUserId(newSummary.getUserid());
  60. service.saveDailyWorkSummary(newSummary);
  61. return RespVOBuilder.ok();
  62. }
  63. /**
  64. * 查询某领导某月,旗下员工的工作小结提交统计情况
  65. * @param usId
  66. * @param workMonth
  67. * @return
  68. */
  69. @GetMapping("/rptDailySubmitData")
  70. public RespVO rptDailySubmitData(@NotBlank(message = "员工编号不能为空") String usId,@NotNull(message = "考勤月份不能为空") @Pattern(regexp="^\\d{4}-\\d{2}$",message = "考勤月份格式不正确:yyyy-MM") String workMonth) {
  71. List<Map<String,Object>> users=service.loadNeedAssessUsers(usId);
  72. if(users==null||users.size()==0) {
  73. return RespVOBuilder.error("该用户下没有需要管理的员工");
  74. }
  75. Set<String> usIds=new HashSet<String>(users.size());
  76. for(Map<String,Object> us : users) {
  77. usIds.add(String.valueOf(us.get("id")));
  78. }
  79. List<Map<String,Object>> rpts=service.rptDailySubmitData(usIds,workMonth);
  80. return RespVOBuilder.ok(MapUtils.builder("total",users.size(),"rpt",rpts));
  81. }
  82. /**
  83. * 查询某一天指定某些员工(某领导管理的员工)的工作小结提交数据
  84. * @param usId 领导的编号
  85. * @param workDate
  86. * @return
  87. */
  88. @GetMapping("/loadDailySubmitData")
  89. public RespVO loadDailySubmitData(@NotBlank(message = "员工编号不能为空") String usId,@NotNull(message = "考勤日期不能为空") @Pattern(regexp="^\\d{4}-\\d{2}-\\d{2}$",message = "考勤日期格式不正确:yyyy-MM-dd") String workDate) {
  90. List<Map<String,Object>> users=service.loadNeedAssessUsers(usId);
  91. if(users==null||users.size()==0) {
  92. return RespVOBuilder.error("该用户下没有需要管理的员工");
  93. }
  94. Map<String,Map<String,Object>> userMap=new HashMap<String,Map<String,Object>>(users.size());
  95. for(Map<String,Object> us : users) {
  96. userMap.put(String.valueOf(us.get("id")),us);
  97. }
  98. List<Map<String,Object>> summarys=service.loadDailySubmitData(userMap.keySet(),workDate);
  99. if(summarys==null||summarys.size()==0) {
  100. return RespVOBuilder.ok(users);
  101. }
  102. Map<String,Object> itmus=null;
  103. for(Map<String,Object> summary : summarys) {
  104. itmus=userMap.get(String.valueOf(summary.get("userid")));
  105. if(itmus==null) {
  106. continue;
  107. }
  108. itmus.putAll(summary);
  109. }
  110. return RespVOBuilder.ok(users);
  111. }
  112. }