StatisticsServiceImpl.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package com.ssj.statistics.service.impl;
  2. import com.ssj.api.domain.vo.homework.CheckDetailVO;
  3. import com.ssj.api.domain.vo.statistics.ListVO;
  4. import com.ssj.api.domain.vo.statistics.TeacherSalarysVO;
  5. import com.ssj.bean.statistics.PlatTeacherStatistics;
  6. import com.ssj.framework.core.common.service.BaseServiceImpl;
  7. import com.ssj.framework.weixin.util.DateUtil;
  8. import com.ssj.statistics.dao.IStatisticsDao;
  9. import com.ssj.statistics.dao.IStatisticsQueryDao;
  10. import com.ssj.statistics.service.IStatisticsService;
  11. import org.apache.commons.collections4.MapUtils;
  12. import org.apache.commons.lang3.StringUtils;
  13. import org.springframework.beans.BeanUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.data.domain.Page;
  16. import org.springframework.data.domain.Pageable;
  17. import org.springframework.data.repository.PagingAndSortingRepository;
  18. import org.springframework.stereotype.Service;
  19. import java.util.*;
  20. /**
  21. * @author sh
  22. * @className StatisticsServiceImpl
  23. * @description 数据统计service
  24. * @date 2021/2/27
  25. */
  26. @Service
  27. public class StatisticsServiceImpl extends BaseServiceImpl<PlatTeacherStatistics,String> implements IStatisticsService {
  28. @Autowired
  29. private IStatisticsDao dao;
  30. @Autowired
  31. private IStatisticsQueryDao queryDao;
  32. @Override
  33. public PagingAndSortingRepository<PlatTeacherStatistics, String> getDao() {
  34. return dao;
  35. }
  36. @Override
  37. public Page<Map<String, Object>> statisticsList(Map<String, Object> params, Pageable initPage) {
  38. return queryDao.statisticsList(params,initPage);
  39. }
  40. @Override
  41. public Map<String, Object> errorList(Map<String, Object> params, Pageable initPage) {
  42. Page<Map<String, Object>> page = queryDao.errorList(params,initPage);
  43. Map<String, Object> data = new HashMap<>(2);
  44. data.put("pages",page.getTotalElements());
  45. List<Map<String, Object>> list = page.getContent();
  46. List<Map<String, Object>> listLast = new ArrayList<>();
  47. String teacherId = MapUtils.getString(params,"teacherId");
  48. String subject = MapUtils.getString(params,"subject");
  49. if(Objects.nonNull(list) && list.size()>0){
  50. for(Map<String, Object> map:list){
  51. Map<String, Object> map2 = new HashMap<>();
  52. map2.put("workDate",map.get("workDate"));
  53. map2.put("dateList",queryDao.findStudentErrorList(MapUtils.getString(map,"year_1"),teacherId,subject));
  54. listLast.add(map2);
  55. }
  56. }
  57. data.put("list",listLast);
  58. return data;
  59. }
  60. @Override
  61. public Map<String, Object> findTotalData(Map<String, Object> params) {
  62. return queryDao.findTotalData(params);
  63. }
  64. @Override
  65. public List<CheckDetailVO> checkDetailList(String homeworkId) {
  66. return queryDao.checkDetailList(homeworkId);
  67. }
  68. @Override
  69. public void addStatisticsData(String dataDate) {
  70. if(StringUtils.isBlank(dataDate)){
  71. dataDate = DateUtil.format_yyyyMMdd(DateUtil.addDays(new Date(), -1));
  72. }
  73. List<ListVO> list = queryDao.statisticsDataList(dataDate);
  74. if(Objects.nonNull(list)){
  75. String finalDataDate = dataDate;
  76. list.forEach(o->{
  77. PlatTeacherStatistics plat = new PlatTeacherStatistics();
  78. BeanUtils.copyProperties(o,plat);
  79. plat.setCalculateDate(finalDataDate);
  80. plat.setCreateTime(new Date());
  81. this.save(plat);
  82. });
  83. }
  84. }
  85. @Override
  86. public void addTeacherSalarysData(String month) {
  87. if(StringUtils.isBlank(month)){
  88. month = DateUtil.format_yyyyMMdd(DateUtil.addMonth(-1));
  89. }
  90. List<TeacherSalarysVO> list = queryDao.addTeacherSalarysData(month);
  91. }
  92. }