123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- package com.jpsoft.proj.kpi.controller;
- import java.util.HashMap;
- import java.util.HashSet;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import javax.validation.Valid;
- 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.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import com.jpsoft.proj.kpi.service.WorkSummaryService;
- import com.jpsoft.proj.model.TaskSummary;
- import com.jpsoft.proj.utils.MapUtils;
- import com.jpsoft.proj.utils.RespVO;
- import com.jpsoft.proj.utils.RespVOBuilder;
- @RestController
- @RequestMapping("/**/api")
- @Validated
- public class WorkSummaryController {
- @Autowired
- private WorkSummaryService service;
-
-
- @GetMapping("/getUsIdByNum")
- public RespVO getUsIdByNum(@NotBlank(message = "工号不能为空") String workNum) {
- return RespVOBuilder.ok(service.getUserId(workNum));
- }
-
- /**
- * 加载需要自己考评的人员信息
- * @param usId
- * @return
- */
- @GetMapping("/loadNeedAssessUsers")
- public RespVO loadNeedAssessUsers(@NotBlank(message = "员工编号不能为空") String usId) {
- return RespVOBuilder.ok(service.loadNeedAssessUsers(usId));
- }
-
- /**
- * 按月查询职员工作日志
- * @param usId
- * @param workMonth
- * @return
- */
- @GetMapping("/loadMonthWorkSummary")
- public RespVO loadMonthWorkSummary(@NotBlank(message = "员工编号不能为空") String usId,@NotNull(message = "考勤月份不能为空") @Pattern(regexp="^\\d{4}-\\d{2}$",message = "考勤月份格式不正确:yyyy-MM") String workMonth) {
- List<Map<String,Object>> workLogs=service.loadMonthWorkLog(usId, workMonth);
- return RespVOBuilder.ok(workLogs);
- }
-
- /**
- * 保存每日工作小结
- * @param newSummary
- * @return
- */
- @PostMapping("saveDailyWorkSummary")
- public RespVO saveDailyWorkSummary(@Valid TaskSummary newSummary) {
- newSummary.updateSameUserId(newSummary.getUserid());
- service.saveDailyWorkSummary(newSummary);
- return RespVOBuilder.ok();
- }
-
- /**
- * 查询某领导某月,旗下员工的工作小结提交统计情况
- * @param usId
- * @param workMonth
- * @return
- */
- @GetMapping("/rptDailySubmitData")
- public RespVO rptDailySubmitData(@NotBlank(message = "员工编号不能为空") String usId,@NotNull(message = "考勤月份不能为空") @Pattern(regexp="^\\d{4}-\\d{2}$",message = "考勤月份格式不正确:yyyy-MM") String workMonth) {
- List<Map<String,Object>> users=service.loadNeedAssessUsers(usId);
- if(users==null||users.size()==0) {
- return RespVOBuilder.error("该用户下没有需要管理的员工");
- }
- Set<String> usIds=new HashSet<String>(users.size());
- for(Map<String,Object> us : users) {
- usIds.add(String.valueOf(us.get("id")));
- }
- List<Map<String,Object>> rpts=service.rptDailySubmitData(usIds,workMonth);
-
- return RespVOBuilder.ok(MapUtils.builder("total",users.size(),"rpt",rpts));
- }
-
-
- /**
- * 查询某一天指定某些员工(某领导管理的员工)的工作小结提交数据
- * @param usId 领导的编号
- * @param workDate
- * @return
- */
- @GetMapping("/loadDailySubmitData")
- public RespVO loadDailySubmitData(@NotBlank(message = "员工编号不能为空") String usId,@NotNull(message = "考勤日期不能为空") @Pattern(regexp="^\\d{4}-\\d{2}-\\d{2}$",message = "考勤日期格式不正确:yyyy-MM-dd") String workDate) {
- List<Map<String,Object>> users=service.loadNeedAssessUsers(usId);
- if(users==null||users.size()==0) {
- return RespVOBuilder.error("该用户下没有需要管理的员工");
- }
- Map<String,Map<String,Object>> userMap=new HashMap<String,Map<String,Object>>(users.size());
- for(Map<String,Object> us : users) {
- userMap.put(String.valueOf(us.get("id")),us);
- }
- List<Map<String,Object>> summarys=service.loadDailySubmitData(userMap.keySet(),workDate);
- if(summarys==null||summarys.size()==0) {
- return RespVOBuilder.ok(users);
- }
-
- Map<String,Object> itmus=null;
- for(Map<String,Object> summary : summarys) {
- itmus=userMap.get(String.valueOf(summary.get("userid")));
- if(itmus==null) {
- continue;
- }
- itmus.putAll(summary);
- }
-
- return RespVOBuilder.ok(users);
-
- }
- }
|