Commit 29fa998481f9e375e8c06a3e13772662de1a41bc
1 parent
577a53a8
feat: 修改获取考勤接口
Showing
3 changed files
with
51 additions
and
9 deletions
Bsth-admin/src/main/java/com/ruoyi/controller/ReportController.java
| @@ -7,6 +7,7 @@ import com.ruoyi.pojo.request.ReportViewRequestVo; | @@ -7,6 +7,7 @@ import com.ruoyi.pojo.request.ReportViewRequestVo; | ||
| 7 | import com.ruoyi.pojo.request.ReportErrorRequestVo; | 7 | import com.ruoyi.pojo.request.ReportErrorRequestVo; |
| 8 | import com.ruoyi.pojo.response.ExportReportViewResponseVo; | 8 | import com.ruoyi.pojo.response.ExportReportViewResponseVo; |
| 9 | import com.ruoyi.pojo.response.ReportErrorResponseVo; | 9 | import com.ruoyi.pojo.response.ReportErrorResponseVo; |
| 10 | +import com.ruoyi.pojo.vo.PersonSignDataResponseVo; | ||
| 10 | import com.ruoyi.service.ReportService; | 11 | import com.ruoyi.service.ReportService; |
| 11 | import com.ruoyi.system.domain.SysNotice; | 12 | import com.ruoyi.system.domain.SysNotice; |
| 12 | import io.swagger.annotations.Api; | 13 | import io.swagger.annotations.Api; |
| @@ -88,7 +89,7 @@ public class ReportController { | @@ -88,7 +89,7 @@ public class ReportController { | ||
| 88 | 89 | ||
| 89 | @ApiOperation("提供给人事用接口(获取当月所有签到记录)") | 90 | @ApiOperation("提供给人事用接口(获取当月所有签到记录)") |
| 90 | @GetMapping("/list/{month}") | 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 | return reportService.listReportMonth(month, request); | 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,6 +12,7 @@ import com.ruoyi.domain.DriverScheduling; | ||
| 12 | import com.ruoyi.pojo.request.ReportViewRequestVo; | 12 | import com.ruoyi.pojo.request.ReportViewRequestVo; |
| 13 | import com.ruoyi.pojo.request.ReportErrorRequestVo; | 13 | import com.ruoyi.pojo.request.ReportErrorRequestVo; |
| 14 | import com.ruoyi.pojo.response.*; | 14 | import com.ruoyi.pojo.response.*; |
| 15 | +import com.ruoyi.pojo.vo.PersonSignDataResponseVo; | ||
| 15 | import com.ruoyi.system.domain.SysNotice; | 16 | import com.ruoyi.system.domain.SysNotice; |
| 16 | import com.ruoyi.system.service.ISysNoticeService; | 17 | import com.ruoyi.system.service.ISysNoticeService; |
| 17 | import com.ruoyi.utils.ConstDateUtil; | 18 | import com.ruoyi.utils.ConstDateUtil; |
| @@ -215,7 +216,7 @@ public class ReportService { | @@ -215,7 +216,7 @@ public class ReportService { | ||
| 215 | return null; | 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 | boolean validateDate = validateDate(month); | 220 | boolean validateDate = validateDate(month); |
| 220 | String header = request.getHeader("X-TOKEN-AUTHORIZATION"); | 221 | String header = request.getHeader("X-TOKEN-AUTHORIZATION"); |
| 221 | if (!PERSONNEL_API_KEY.equals(header)) { | 222 | if (!PERSONNEL_API_KEY.equals(header)) { |
| @@ -227,21 +228,30 @@ public class ReportService { | @@ -227,21 +228,30 @@ public class ReportService { | ||
| 227 | ReportViewRequestVo vo = new ReportViewRequestVo(); | 228 | ReportViewRequestVo vo = new ReportViewRequestVo(); |
| 228 | vo.setDate(month + "-01"); | 229 | vo.setDate(month + "-01"); |
| 229 | List<ExportReportViewResponseVo> responseVoList = getMonthReportTableResponseVo(vo); | 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 | for (ExportReportViewResponseVo vo : responseVoList) { | 239 | for (ExportReportViewResponseVo vo : responseVoList) { |
| 237 | String key = ConstDateUtil.formatDate("yyyy-MM-dd", vo.getScheduleDate()); | 240 | String key = ConstDateUtil.formatDate("yyyy-MM-dd", vo.getScheduleDate()); |
| 238 | List<ExportReportViewResponseVo> vos = map.get(key); | 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 | map.get(key).add(vo); | 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 | /** |