From 789b5b823440d174a198a35fd033ca975cb54f4a Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 27 三月 2024 19:23:13 +0800
Subject: [PATCH] 部门端基础数据导入、得分计算接口

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbBasicDataServiceImpl.java |   52 +++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 39 insertions(+), 13 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbBasicDataServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbBasicDataServiceImpl.java
index e6639e2..d755803 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbBasicDataServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbBasicDataServiceImpl.java
@@ -2,9 +2,10 @@
 
 import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.collect.Lists;
-import com.ruoyi.common.NumberDisplaceChineseUtil;
+import com.ruoyi.common.basic.PageDTO;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.enums.ReportingStatusEnum;
 import com.ruoyi.common.enums.ShowStatusEnum;
@@ -12,19 +13,16 @@
 import com.ruoyi.common.utils.BeanUtils;
 import com.ruoyi.common.utils.CollUtils;
 import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.system.domain.TbBasicData;
-import com.ruoyi.system.domain.TbBasicDataField;
-import com.ruoyi.system.domain.TbDept;
-import com.ruoyi.system.domain.TbField;
+import com.ruoyi.common.utils.NumberDisplaceChineseUtil;
+import com.ruoyi.system.domain.*;
 import com.ruoyi.system.dto.BasicDataDTO;
 import com.ruoyi.system.listener.BasicDataListener;
 import com.ruoyi.system.mapper.TbBasicDataMapper;
-import com.ruoyi.system.service.TbBasicDataFieldService;
-import com.ruoyi.system.service.TbBasicDataService;
-import com.ruoyi.system.service.TbDeptService;
-import com.ruoyi.system.service.TbFieldService;
+import com.ruoyi.system.query.ScoreQuery;
+import com.ruoyi.system.service.*;
 import com.ruoyi.system.vo.BasicDataReportingVO;
 import com.ruoyi.system.vo.FieldReportingVO;
+import com.ruoyi.system.vo.ScoreVO;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -32,7 +30,6 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
 import java.net.URLEncoder;
 import java.time.Instant;
 import java.time.LocalDate;
@@ -58,7 +55,9 @@
     private final HttpServletResponse response;
     private final TbFieldService tbFieldService;
     private final TbBasicDataFieldService tbBasicDataFieldService;
-
+    private final TbBasicDataConfigService tbBasicDataConfigService;
+    private final TbBasicDataConfigDetailService tbBasicDataConfigDetailService;
+    private final TbScoreService scoreService;
     @Override
     public R<BasicDataReportingVO> getBasicFields(String deptAreaCode) throws Exception {
         BasicDataReportingVO vo = new BasicDataReportingVO();
@@ -189,12 +188,39 @@
     }
 
     @Override
-    public void importBasicData(MultipartFile file) throws IOException {
+    @Transactional(rollbackFor = Exception.class)
+    public void importBasicData(MultipartFile file) throws Exception {
         //TODO
         //LoginUser loginUser = SecurityUtils.getLoginUser();
         TbDept dept = tbDeptService.getById(44);
         //查询需要填写的动态字段
         List<TbField> fieldList = tbFieldService.lambdaQuery().eq(TbField::getStatus, ShowStatusEnum.SHOW).list();
-        EasyExcel.read(file.getInputStream(), new BasicDataListener(this,fieldList,tbFieldService,dept,tbBasicDataFieldService)).sheet().doRead();
+        EasyExcel.read(file.getInputStream(), new BasicDataListener(this,fieldList,
+                tbFieldService,dept,tbBasicDataFieldService,tbBasicDataConfigService,
+                tbBasicDataConfigDetailService,scoreService)).sheet().doRead();
+    }
+
+    @Override
+    public PageDTO<ScoreVO> pageScore(ScoreQuery query) {
+        Page<ScoreVO> page = new Page<>(query.getPageNum(), query.getPageSize());
+        //todo 获取当前登录部门
+        //校验区划代码
+        TbDept dept = tbDeptService.getById(44);
+        Map<String, Date> quarterDate = DateUtils.getQuarterDate(new Date());
+        //当前季度开始
+        Date quarterStart = quarterDate.get("first");
+        //当前季度结束
+        Date quarterEnd = quarterDate.get("last");
+        //查询是否有当前季度的填报记录
+        TbBasicData basicData = this.getOne(Wrappers.<TbBasicData>lambdaQuery()
+                .eq(TbBasicData::getDeptAreaCode, dept.getAreaCode())
+                .between(TbBasicData::getCreateTime, quarterStart,quarterEnd));
+        if (Objects.isNull(basicData)) {
+            return PageDTO.empty(page);
+        }
+        query.setBasicDataId(basicData.getId());
+        //查询对应的基础数据配置
+        List<ScoreVO> vos = scoreService.pageScore(query,page);
+        return PageDTO.of(page, vos);
     }
 }

--
Gitblit v1.7.1