Commit 29fa998481f9e375e8c06a3e13772662de1a41bc

Authored by guzijian
1 parent 577a53a8

feat: 修改获取考勤接口

Bsth-admin/src/main/java/com/ruoyi/controller/ReportController.java
... ... @@ -7,6 +7,7 @@ import com.ruoyi.pojo.request.ReportViewRequestVo;
7 7 import com.ruoyi.pojo.request.ReportErrorRequestVo;
8 8 import com.ruoyi.pojo.response.ExportReportViewResponseVo;
9 9 import com.ruoyi.pojo.response.ReportErrorResponseVo;
  10 +import com.ruoyi.pojo.vo.PersonSignDataResponseVo;
10 11 import com.ruoyi.service.ReportService;
11 12 import com.ruoyi.system.domain.SysNotice;
12 13 import io.swagger.annotations.Api;
... ... @@ -88,7 +89,7 @@ public class ReportController {
88 89  
89 90 @ApiOperation("提供给人事用接口(获取当月所有签到记录)")
90 91 @GetMapping("/list/{month}")
91   - public Result<?> listReportMonth(@PathVariable("month") String month, HttpServletRequest request) {
  92 + public Result<PersonSignDataResponseVo> listReportMonth(@PathVariable("month") String month, HttpServletRequest request) {
92 93 return reportService.listReportMonth(month, request);
93 94 }
94 95 }
... ...
Bsth-admin/src/main/java/com/ruoyi/pojo/vo/PersonSignDataResponseVo.java 0 → 100644
  1 +package com.ruoyi.pojo.vo;
  2 +
  3 +import com.ruoyi.pojo.response.ExportReportViewResponseVo;
  4 +import io.swagger.annotations.ApiModel;
  5 +import io.swagger.annotations.ApiModelProperty;
  6 +import lombok.Data;
  7 +
  8 +import java.util.ArrayList;
  9 +import java.util.List;
  10 +
  11 +/**
  12 + * 人员签到响应数据
  13 + * @author 20412
  14 + */
  15 +@Data
  16 +@ApiModel("签到数据对象")
  17 +public class PersonSignDataResponseVo {
  18 + @ApiModelProperty("打卡集合")
  19 + private List<SignData> list;
  20 + public PersonSignDataResponseVo(){
  21 + this.list = new ArrayList<>();
  22 + }
  23 + @Data
  24 + @ApiModel("签到数据")
  25 + public static class SignData{
  26 + @ApiModelProperty("数据日期")
  27 + private String date;
  28 + @ApiModelProperty("打卡集合")
  29 + private List<ExportReportViewResponseVo> responseVoList;
  30 + }
  31 +}
... ...
Bsth-admin/src/main/java/com/ruoyi/service/ReportService.java
... ... @@ -12,6 +12,7 @@ import com.ruoyi.domain.DriverScheduling;
12 12 import com.ruoyi.pojo.request.ReportViewRequestVo;
13 13 import com.ruoyi.pojo.request.ReportErrorRequestVo;
14 14 import com.ruoyi.pojo.response.*;
  15 +import com.ruoyi.pojo.vo.PersonSignDataResponseVo;
15 16 import com.ruoyi.system.domain.SysNotice;
16 17 import com.ruoyi.system.service.ISysNoticeService;
17 18 import com.ruoyi.utils.ConstDateUtil;
... ... @@ -215,7 +216,7 @@ public class ReportService {
215 216 return null;
216 217 }
217 218  
218   - public Result listReportMonth(String month, HttpServletRequest request) {
  219 + public Result<PersonSignDataResponseVo> listReportMonth(String month, HttpServletRequest request) {
219 220 boolean validateDate = validateDate(month);
220 221 String header = request.getHeader("X-TOKEN-AUTHORIZATION");
221 222 if (!PERSONNEL_API_KEY.equals(header)) {
... ... @@ -227,21 +228,30 @@ public class ReportService {
227 228 ReportViewRequestVo vo = new ReportViewRequestVo();
228 229 vo.setDate(month + "-01");
229 230 List<ExportReportViewResponseVo> responseVoList = getMonthReportTableResponseVo(vo);
230   - Map<String, List<ExportReportViewResponseVo>> map = new HashMap<>(responseVoList.size() / 30);
231   - handleResponseByDay(responseVoList, map, vo.getDate());
232   - return Result.OK(map);
  231 + PersonSignDataResponseVo responseVo = new PersonSignDataResponseVo();
  232 + handleResponseByDay(responseVoList, responseVo, vo.getDate());
  233 + return Result.OK(responseVo);
233 234 }
234 235  
235   - private void handleResponseByDay(List<ExportReportViewResponseVo> responseVoList, Map<String, List<ExportReportViewResponseVo>> map, @NotBlank String date) {
  236 + private void handleResponseByDay(List<ExportReportViewResponseVo> responseVoList, PersonSignDataResponseVo voList, @NotBlank String date) {
  237 + List<PersonSignDataResponseVo.SignData> list = voList.getList();
  238 + Map<String, List<ExportReportViewResponseVo>> map = new HashMap<>(30);
236 239 for (ExportReportViewResponseVo vo : responseVoList) {
237 240 String key = ConstDateUtil.formatDate("yyyy-MM-dd", vo.getScheduleDate());
238 241 List<ExportReportViewResponseVo> vos = map.get(key);
239   - if (CollectionUtil.isEmpty(vos)){
240   - map.put(key,new ArrayList<>(Arrays.asList(vo)));
241   - }else {
  242 + if (CollectionUtil.isEmpty(vos)) {
  243 + map.put(key, new ArrayList<>(Arrays.asList(vo)));
  244 + } else {
242 245 map.get(key).add(vo);
243 246 }
244 247 }
  248 + // 转换对象
  249 + for (Map.Entry<String, List<ExportReportViewResponseVo>> entry : map.entrySet()) {
  250 + PersonSignDataResponseVo.SignData signData = new PersonSignDataResponseVo.SignData();
  251 + signData.setDate(entry.getKey());
  252 + signData.setResponseVoList(entry.getValue());
  253 + list.add(signData);
  254 + }
245 255 }
246 256  
247 257 /**
... ...