123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- package com.ssj.statistics.service.impl;
- import com.ssj.api.domain.vo.homework.CheckDetailVO;
- import com.ssj.api.domain.vo.statistics.ListVO;
- import com.ssj.api.domain.vo.statistics.TeacherSalarysVO;
- import com.ssj.bean.statistics.PlatTeacherStatistics;
- import com.ssj.framework.core.common.service.BaseServiceImpl;
- import com.ssj.framework.weixin.util.DateUtil;
- import com.ssj.statistics.dao.IStatisticsDao;
- import com.ssj.statistics.dao.IStatisticsQueryDao;
- import com.ssj.statistics.service.IStatisticsService;
- import org.apache.commons.collections4.MapUtils;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.data.domain.Page;
- import org.springframework.data.domain.Pageable;
- import org.springframework.data.repository.PagingAndSortingRepository;
- import org.springframework.stereotype.Service;
- import java.util.*;
- /**
- * @author sh
- * @className StatisticsServiceImpl
- * @description 数据统计service
- * @date 2021/2/27
- */
- @Service
- public class StatisticsServiceImpl extends BaseServiceImpl<PlatTeacherStatistics,String> implements IStatisticsService {
- @Autowired
- private IStatisticsDao dao;
- @Autowired
- private IStatisticsQueryDao queryDao;
- @Override
- public PagingAndSortingRepository<PlatTeacherStatistics, String> getDao() {
- return dao;
- }
- @Override
- public Page<Map<String, Object>> statisticsList(Map<String, Object> params, Pageable initPage) {
- return queryDao.statisticsList(params,initPage);
- }
- @Override
- public Map<String, Object> errorList(Map<String, Object> params, Pageable initPage) {
- Page<Map<String, Object>> page = queryDao.errorList(params,initPage);
- Map<String, Object> data = new HashMap<>(2);
- data.put("pages",page.getTotalElements());
- List<Map<String, Object>> list = page.getContent();
- List<Map<String, Object>> listLast = new ArrayList<>();
- String teacherId = MapUtils.getString(params,"teacherId");
- String subject = MapUtils.getString(params,"subject");
- if(Objects.nonNull(list) && list.size()>0){
- for(Map<String, Object> map:list){
- Map<String, Object> map2 = new HashMap<>();
- map2.put("workDate",map.get("workDate"));
- map2.put("dateList",queryDao.findStudentErrorList(MapUtils.getString(map,"year_1"),teacherId,subject));
- listLast.add(map2);
- }
- }
- data.put("list",listLast);
- return data;
- }
- @Override
- public Map<String, Object> findTotalData(Map<String, Object> params) {
- return queryDao.findTotalData(params);
- }
- @Override
- public List<CheckDetailVO> checkDetailList(String homeworkId) {
- return queryDao.checkDetailList(homeworkId);
- }
- @Override
- public void addStatisticsData(String dataDate) {
- if(StringUtils.isBlank(dataDate)){
- dataDate = DateUtil.format_yyyyMMdd(DateUtil.addDays(new Date(), -1));
- }
- List<ListVO> list = queryDao.statisticsDataList(dataDate);
- if(Objects.nonNull(list)){
- String finalDataDate = dataDate;
- list.forEach(o->{
- PlatTeacherStatistics plat = new PlatTeacherStatistics();
- BeanUtils.copyProperties(o,plat);
- plat.setCalculateDate(finalDataDate);
- plat.setCreateTime(new Date());
- this.save(plat);
- });
- }
- }
- @Override
- public void addTeacherSalarysData(String month) {
- if(StringUtils.isBlank(month)){
- month = DateUtil.format_yyyyMMdd(DateUtil.addMonth(-1));
- }
- List<TeacherSalarysVO> list = queryDao.addTeacherSalarysData(month);
- }
- }
|