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 |  101 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 100 insertions(+), 1 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 487ac14..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
@@ -1,9 +1,32 @@
 package com.ruoyi.system.service.impl;
 
+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;
 
 /**
@@ -14,7 +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);
+    }
+
+    @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;
+    }
 }

--
Gitblit v1.7.1