| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.utils.BeanUtils; |
| | | import com.ruoyi.common.utils.CollUtils; |
| | | import com.ruoyi.system.domain.TbBasicDataConfig; |
| | | import com.ruoyi.system.domain.TbScore; |
| | | import com.ruoyi.system.mapper.TbScoreMapper; |
| | | import com.ruoyi.system.query.CalculateDetailQuery; |
| | | import com.ruoyi.system.query.DeptCalculateDetailQuery; |
| | | import com.ruoyi.system.query.HistoryScoreQuery; |
| | | import com.ruoyi.system.query.ScoreCalculateDetailQuery; |
| | | import com.ruoyi.system.query.ScoreQuery; |
| | | import com.ruoyi.system.service.TbBasicDataConfigService; |
| | | import com.ruoyi.system.service.TbScoreService; |
| | | import com.ruoyi.system.vo.DeptCalculateDetailVO; |
| | | import com.ruoyi.system.vo.ScoreCalculateDetailVO; |
| | | import com.ruoyi.system.vo.ScoreDetailVO; |
| | | import com.ruoyi.system.vo.ScoreRankVO; |
| | | import com.ruoyi.system.vo.ScoreVO; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * @author mitao |
| | | * @since 2024-03-13 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class TbScoreServiceImpl extends ServiceImpl<TbScoreMapper, TbScore> implements TbScoreService { |
| | | @RequiredArgsConstructor |
| | | public class TbScoreServiceImpl extends ServiceImpl<TbScoreMapper, TbScore> implements |
| | | TbScoreService { |
| | | |
| | | private final TbBasicDataConfigService basicDataConfigService; |
| | | |
| | | @Override |
| | | public List<ScoreVO> pageScore(ScoreQuery query, Page<ScoreVO> page) { |
| | | return baseMapper.pageScore(query,page); |
| | | public Page<ScoreVO> pageScore(ScoreQuery query, Page<ScoreVO> page) { |
| | | return baseMapper.pageScore(query, page); |
| | | } |
| | | |
| | | @Override |
| | | public PageDTO<ScoreVO> getHistoryScore(HistoryScoreQuery query) { |
| | | ScoreQuery scoreQuery = BeanUtils.copyBean(query, ScoreQuery.class); |
| | | Page<ScoreVO> scoreVOPage = baseMapper.pageScore(scoreQuery, |
| | | new Page<>(query.getPageNum(), query.getPageSize())); |
| | | return PageDTO.of(scoreVOPage); |
| | | } |
| | | |
| | | @Override |
| | | public ScoreCalculateDetailVO scoreCalculateDetail(ScoreCalculateDetailQuery query) { |
| | | //查询计算类型 |
| | | TbBasicDataConfig config = basicDataConfigService.getById(query.getId()); |
| | | if (Objects.isNull(config)) { |
| | | throw new ServiceException("非法参数"); |
| | | } |
| | | ScoreCalculateDetailVO vo = new ScoreCalculateDetailVO(); |
| | | vo.setTypeName(config.getTypeName()); |
| | | vo.setCalculateType(config.getCalculateType()); |
| | | Page<ScoreDetailVO> page = new Page<>(query.getPageNum(), query.getPageSize()); |
| | | |
| | | Page<ScoreDetailVO> pageVO = baseMapper.scoreCalculateDetail(query, page); |
| | | vo.setTotal(pageVO.getTotal()); |
| | | vo.setPages(pageVO.getPages()); |
| | | vo.setList(pageVO.getRecords()); |
| | | return vo; |
| | | } |
| | | |
| | | @Override |
| | | public List<ScoreRankVO> queryTotalScoreList() { |
| | | return baseMapper.queryTotalScoreList(); |
| | | } |
| | | |
| | | @Override |
| | | public ScoreRankVO queryRankAndScoreByAreaCode(String areaCode) { |
| | | return baseMapper.queryRankAndScoreByAreaCode(areaCode); |
| | | } |
| | | |
| | | @Override |
| | | public List<DeptCalculateDetailVO> deptCalculateDetail(DeptCalculateDetailQuery query, |
| | | String nowQuarter) { |
| | | return baseMapper.deptCalculateDetail(query, nowQuarter); |
| | | } |
| | | |
| | | @Override |
| | | public ScoreCalculateDetailVO fieldsDetail(CalculateDetailQuery query, |
| | | List<SysUser> countyList) { |
| | | //查询计算类型 |
| | | TbBasicDataConfig config = basicDataConfigService.getById(query.getId()); |
| | | if (Objects.isNull(config)) { |
| | | throw new ServiceException("非法参数"); |
| | | } |
| | | if (CollUtils.isEmpty(countyList)) { |
| | | return new ScoreCalculateDetailVO(); |
| | | } |
| | | List<String> areaCodeList = countyList.stream().map(SysUser::getAreaCode).distinct() |
| | | .collect(Collectors.toList()); |
| | | ScoreCalculateDetailVO vo = new ScoreCalculateDetailVO(); |
| | | vo.setTypeName(config.getTypeName()); |
| | | vo.setCalculateType(config.getCalculateType()); |
| | | Page<ScoreDetailVO> page = new Page<>(query.getPageNum(), query.getPageSize()); |
| | | Page<ScoreDetailVO> pageVO = baseMapper.fieldsDetail(query, page, areaCodeList); |
| | | vo.setTotal(pageVO.getTotal()); |
| | | vo.setPages(pageVO.getPages()); |
| | | vo.setList(pageVO.getRecords()); |
| | | return vo; |
| | | } |
| | | } |