Commit 908d8513cfd0d77c2ed7c52d61f6e7475bedc647

Authored by guzijian
1 parent c7d6a2a7

fix: 修改签到报表接口

ruoyi-admin/src/main/java/com/ruoyi/controller/ReportController.java
@@ -33,6 +33,12 @@ public class ReportController { @@ -33,6 +33,12 @@ public class ReportController {
33 @ApiOperation("签到报表集合查询") 33 @ApiOperation("签到报表集合查询")
34 @GetMapping("/list") 34 @GetMapping("/list")
35 public AjaxResult getList(@ApiParam @ModelAttribute ReportViewRequestVo requestVo) { 35 public AjaxResult getList(@ApiParam @ModelAttribute ReportViewRequestVo requestVo) {
  36 + return AjaxResult.success(reportService.handlerList(reportService.getReportScrollViewTable(requestVo)));
  37 + }
  38 +
  39 + @ApiOperation("签到报表集合查询")
  40 + @GetMapping("/bigView")
  41 + public AjaxResult bigView(@ApiParam @ModelAttribute ReportViewRequestVo requestVo) {
36 return AjaxResult.success(reportService.getReportScrollViewTable(requestVo)); 42 return AjaxResult.success(reportService.getReportScrollViewTable(requestVo));
37 } 43 }
38 44
ruoyi-admin/src/main/java/com/ruoyi/pojo/response/ReportSignInResponseVo.java 0 → 100644
  1 +package com.ruoyi.pojo.response;
  2 +
  3 +import lombok.Data;
  4 +
  5 +import java.util.ArrayList;
  6 +import java.util.List;
  7 +
  8 +/**
  9 + * @author 20412
  10 + */
  11 +@Data
  12 +public class ReportSignInResponseVo extends ReportViewResponseVo{
  13 + /**
  14 + * 签到次数
  15 + */
  16 + Integer count;
  17 + /**
  18 + * 子集
  19 + */
  20 + List<ReportSignInResponseVo> children;
  21 + public ReportSignInResponseVo(ReportViewResponseVo vo){
  22 + this.count = 1;
  23 + this.children = new ArrayList<>();
  24 + this.setCreateTime(vo.getCreateTime());
  25 + this.setId(vo.getId());
  26 + this.setImage(vo.getImage());
  27 + this.setAlcoholFlag(vo.getAlcoholFlag());
  28 + this.setType(vo.getType());
  29 + this.setJobCode(vo.getJobCode());
  30 + this.setAlcoholIntake(vo.getAlcoholIntake());
  31 + this.setName(vo.getName());
  32 + this.setRemark(vo.getRemark());
  33 + this.setStatus(vo.getStatus());
  34 + this.setSingnIn(vo.getSingnIn());
  35 + }
  36 + public ReportSignInResponseVo(){
  37 +
  38 + }
  39 +}
ruoyi-admin/src/main/java/com/ruoyi/pojo/response/ReportViewResponseVo.java
@@ -46,8 +46,8 @@ public class ReportViewResponseVo { @@ -46,8 +46,8 @@ public class ReportViewResponseVo {
46 46
47 @ExcelProperty(value = "签到时间") 47 @ExcelProperty(value = "签到时间")
48 @ApiModelProperty("签到时间") 48 @ApiModelProperty("签到时间")
49 - @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")  
50 - @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") 49 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  50 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
51 private Date createTime; 51 private Date createTime;
52 52
53 @ExcelProperty(value = "签到状态", converter = SignInStatusConverter.class) 53 @ExcelProperty(value = "签到状态", converter = SignInStatusConverter.class)
ruoyi-admin/src/main/java/com/ruoyi/service/ReportService.java
@@ -9,10 +9,12 @@ import com.ruoyi.in.mapper.SignInMapper; @@ -9,10 +9,12 @@ import com.ruoyi.in.mapper.SignInMapper;
9 import com.ruoyi.pojo.request.ReportViewRequestVo; 9 import com.ruoyi.pojo.request.ReportViewRequestVo;
10 import com.ruoyi.pojo.request.ReportErrorRequestVo; 10 import com.ruoyi.pojo.request.ReportErrorRequestVo;
11 import com.ruoyi.pojo.response.ReportErrorResponseVo; 11 import com.ruoyi.pojo.response.ReportErrorResponseVo;
  12 +import com.ruoyi.pojo.response.ReportSignInResponseVo;
12 import com.ruoyi.pojo.response.ReportViewResponseVo; 13 import com.ruoyi.pojo.response.ReportViewResponseVo;
13 import org.springframework.beans.factory.annotation.Autowired; 14 import org.springframework.beans.factory.annotation.Autowired;
14 import org.springframework.stereotype.Service; 15 import org.springframework.stereotype.Service;
15 16
  17 +import java.text.SimpleDateFormat;
16 import java.util.*; 18 import java.util.*;
17 import java.util.stream.Collectors; 19 import java.util.stream.Collectors;
18 20
@@ -105,4 +107,24 @@ public class ReportService { @@ -105,4 +107,24 @@ public class ReportService {
105 responses.add(vo); 107 responses.add(vo);
106 }); 108 });
107 } 109 }
  110 +
  111 + public List<ReportSignInResponseVo> handlerList(List<ReportViewResponseVo> reportScrollViewTable) {
  112 + Map<String, ReportSignInResponseVo> responseMapVo = new HashMap<>(30);
  113 + for (ReportViewResponseVo originVo : reportScrollViewTable) {
  114 + String dayKey = getDateDay(originVo.getCreateTime()) + originVo.getJobCode();
  115 + if (Objects.isNull(responseMapVo.get(dayKey))) {
  116 + responseMapVo.put(dayKey, new ReportSignInResponseVo(originVo));
  117 + } else {
  118 + ReportSignInResponseVo responseVo = responseMapVo.get(dayKey);
  119 + responseVo.getChildren().add(new ReportSignInResponseVo(originVo));
  120 + responseVo.setCount(responseVo.getCount() + 1);
  121 + }
  122 + }
  123 + return new ArrayList<>(responseMapVo.values());
  124 + }
  125 +
  126 + public String getDateDay(Date createTime) {
  127 + SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd");
  128 + return simple.format(createTime);
  129 + }
108 } 130 }