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