From d68c61517a3a6d4ec4d47844c21bdc143f99cbab Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 17 四月 2024 22:58:05 +0800 Subject: [PATCH] 大屏接口 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbScoreServiceImpl.java | 88 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 85 insertions(+), 3 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbScoreServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbScoreServiceImpl.java index 1b5cf69..806bfd3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbScoreServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbScoreServiceImpl.java @@ -3,13 +3,30 @@ 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 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; /** @@ -20,18 +37,83 @@ * @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 Page<ScoreVO> pageScore(ScoreQuery query, Page<ScoreVO> page) { - return baseMapper.pageScore(query,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())); + 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; + } } -- Gitblit v1.7.1