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