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 | 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 | /** | ... | ... |