diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/controller/GammaController.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/controller/GammaController.java index 517317e5..27e01f3a 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/controller/GammaController.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/controller/GammaController.java @@ -2,18 +2,22 @@ package org.jeecg.modules.controller; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.jeecg.common.api.QueryRequest; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.base.bizVo.GammaRLR; +import org.jeecg.modules.entity.GardsSampleDataSpectrum; import org.jeecg.modules.entity.vo.*; import org.jeecg.modules.feignclient.SystemClient; import org.jeecg.modules.service.IGammaService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; @RestController @@ -53,6 +57,12 @@ public class GammaController { gammaService.delPHDCache(fileName); } + @GetMapping("loadSampleData") + public Result loadSampleData(QueryRequest queryRequest, GardsSampleDataSpectrum gardsSampleData, String[] menuTypes, boolean AllUsers, boolean CollectStopB, boolean AcqStartB, + @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate, HttpServletRequest request) { + return gammaService.loadSampleData(queryRequest, gardsSampleData, menuTypes, AllUsers, CollectStopB, AcqStartB, startDate, endDate, request); + } + @GetMapping("CompareDB") public Result CompareDB(String fileName, Integer sampleId, HttpServletRequest request) { return gammaService.CompareDB(fileName, sampleId, request); diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/SpectrumAnalysisMapper.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/SpectrumAnalysisMapper.java index 52720933..f73017c5 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/SpectrumAnalysisMapper.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/SpectrumAnalysisMapper.java @@ -22,6 +22,8 @@ public interface SpectrumAnalysisMapper { Page getDBSpectrumList(IPage page, GardsSampleDataSpectrum gardsSampleData, String dbName, List stationTypes, boolean CollectStopB, boolean AcqStartB, String startTime, String endTime, List userStations, boolean AllUsers, String orderField, String orderType); + Page loadSampleData(IPage page, GardsSampleDataSpectrum gardsSampleData, List stationTypes, boolean CollectStopB, boolean AcqStartB, String startTime, String endTime, List userStations, boolean AllUsers, String orderField, String orderType); + SpectrumFileRecord getDBSpectrumFilePath(String dbName, Integer sampleId, Integer analysisID); List getXeDataList(Integer sampleId); diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/xml/SpectrumAnalysisMapper.xml b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/xml/SpectrumAnalysisMapper.xml index 3d702e7b..bb83a3c2 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/xml/SpectrumAnalysisMapper.xml +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/xml/SpectrumAnalysisMapper.xml @@ -106,6 +106,78 @@ + + diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGammaService.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGammaService.java index c7d62dbb..6fc0fd34 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGammaService.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGammaService.java @@ -1,13 +1,16 @@ package org.jeecg.modules.service; +import org.jeecg.common.api.QueryRequest; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.base.bizVo.GammaRLR; +import org.jeecg.modules.entity.GardsSampleDataSpectrum; import org.jeecg.modules.entity.vo.*; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; public interface IGammaService{ @@ -22,6 +25,8 @@ public interface IGammaService{ void delPHDCache(String fileName); + Result loadSampleData(QueryRequest queryRequest, GardsSampleDataSpectrum gardsSampleData, String[] menuTypes, boolean AllUsers, boolean CollectStopB, boolean AcqStartB, Date startDate, Date endDate, HttpServletRequest request); + Result CompareDB(String fileName, Integer sampleId, HttpServletRequest request); Result Compare(String fileName, String compareFileName, HttpServletRequest request); diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java index ef66ce6a..60c74eeb 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java @@ -10,8 +10,10 @@ import cn.hutool.core.util.ReUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.StringPool; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Maps; @@ -21,6 +23,7 @@ import org.apache.commons.lang3.StringUtils; import com.google.common.cache.Cache; import org.apache.commons.net.ftp.FTPClient; import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.QueryRequest; import org.jeecg.common.api.vo.Result; import org.jeecg.common.cache.LocalCache; import org.jeecg.common.constant.DateConstant; @@ -142,6 +145,8 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi private IGardsAnalySettingSpectrumService analySettingSpectrumService; @Autowired private RedisStreamUtil redisStreamUtil; + @Autowired + private ISysDictSpectrumService sysDictService; @Override public Result initValue(Integer sampleId, String dbName, String analyst, String samfileName, HttpServletRequest request) { @@ -899,6 +904,46 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi localCache.deletePHDCache(key); } + @Override + public Result loadSampleData(QueryRequest queryRequest, GardsSampleDataSpectrum gardsSampleData, String[] menuTypes, boolean AllUsers, boolean CollectStopB, boolean AcqStartB, Date startDate, Date endDate, HttpServletRequest request) { + Result result = new Result(); + if (Objects.isNull(startDate)){ + result.error500("The start time cannot be empty"); + return result; + } + String startTime = DateUtils.formatDate(startDate, "yyyy-MM-dd") + " 00:00:00"; + if (Objects.isNull(endDate)) { + result.error500("The end time cannot be empty"); + return result; + } + String endTime = DateUtils.formatDate(endDate, "yyyy-MM-dd") + " 23:59:59"; + List menuTypeList = Arrays.asList(menuTypes); + if (CollectionUtils.isEmpty(menuTypeList)){ + result.error500("The spectrum type cannot be empty"); + return result; + } + List stationTypes = sysDictService.findStationType(menuTypeList); + if (CollectionUtils.isEmpty(stationTypes)) { + result.error500("Please add the station type corresponding to the current system type in the data dictionary"); + return result; + } + List userStations = new LinkedList<>(); + if (Objects.nonNull(AllUsers) && !AllUsers){ + String userName = JwtUtil.getUserNameByToken(request); + if (StringUtils.isBlank(userName)){ + result.error500("Description Failed to obtain the current login user information!"); + return result; + } + userStations = userTaskUtil.findUserStation(userName); + } + //声明分页page + Page page = new Page<>(queryRequest.getPageNo(), queryRequest.getPageSize()); + Page sampleDataPage = spectrumAnalysisMapper.loadSampleData(page, gardsSampleData, stationTypes, CollectStopB, AcqStartB, startTime, endTime, userStations, AllUsers, queryRequest.getField(), queryRequest.getOrder()); + result.setSuccess(true); + result.setResult(sampleDataPage); + return result; + } + @Override public Result CompareDB(String fileName, Integer sampleId, HttpServletRequest request) { Result result = new Result();