下拉框查询台站编码,探测器编码接口修改

分页查询样品数据接口修改
This commit is contained in:
qiaoqinzheng 2023-07-26 08:54:38 +08:00
parent c1a9a43f91
commit 81592abac1
15 changed files with 709 additions and 87 deletions

View File

@ -166,7 +166,7 @@ public class PHDFileUtil {
List<List<Double>> gammaEnergyList = new LinkedList<>();
List<Double> gCentroidChannel = struct.g_centroid_channel;
List<Double> gEnergy = struct.g_energy;
List<Double> gammaParam = EnergySpectrumHandler.GetFileFittingPara(gEnergy, gCentroidChannel);
List<Double> gammaParam = EnergySpectrumHandler.GetFileFittingPara(gCentroidChannel, gEnergy);
List<Double> gchannels = new ArrayList<>();
for (int i=0; i<numGChannel; i++){
gchannels.clear();
@ -209,9 +209,9 @@ public class PHDFileUtil {
List<List<Double>> betaEnergyList = new LinkedList<>();
List<Double> bChannel = struct.b_channel;
List<Double> bElectronEnergy = struct.b_electron_energy;
List<Double> betaParam = EnergySpectrumHandler.GetFileFittingPara(bElectronEnergy, bChannel);
List<Double> betaParam = EnergySpectrumHandler.GetFileFittingPara(bChannel, bElectronEnergy);
List<Double> bchannels = new ArrayList<>();
for (int i=0; i<numGChannel; i++){
for (int i=0; i<numBChannel; i++){
bchannels.clear();
bchannels.add(Double.valueOf(i));
List<Double> betaEnergy = EnergySpectrumHandler.GetFileFittingData(bchannels, betaParam);
@ -222,8 +222,8 @@ public class PHDFileUtil {
map.put("XeData", xeDataList);
//计算边界值
CalcBgBoundaryParam calcBgBoundaryParam = new CalcBgBoundaryParam();
calcBgBoundaryParam.g_e_cal = gammaParam;
calcBgBoundaryParam.b_e_cal = betaParam;
calcBgBoundaryParam.g_e_cal = EnergySpectrumHandler.GetFileFittingPara(gEnergy, gCentroidChannel);
calcBgBoundaryParam.b_e_cal = EnergySpectrumHandler.GetFileFittingPara(bElectronEnergy, bChannel);
calcBgBoundaryParam.b_energy = struct.b_electron_energy;
calcBgBoundaryParam.b_channel = struct.b_channel;
calcBgBoundaryParam.g_channel = struct.g_centroid_channel;

View File

@ -8,6 +8,7 @@ import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Component
public class UserTaskUtil {
@ -37,5 +38,16 @@ public class UserTaskUtil {
return flag;
}
/**
* 根据用户名称查询当天的排班任务信息
* @return
*/
public List<String> findUserStation(String userName){
//根据用户名称查询用户id
SysUser user = userTaskService.findUserByName(userName);
String userId = user.getId();
List<String> stationIds = userTaskService.findUserStations(userId).stream().distinct().collect(Collectors.toList());
return stationIds;
}
}

View File

@ -24,15 +24,15 @@ public class SpectrumAnalysesController {
@GetMapping("getDBSearchList")
@ApiOperation(value = "查询查询条件数据接口", notes = "查询查询条件数据接口")
public Result getDBSearchList(String[] menuTypes){
return spectrumAnalysisService.getDBSearchList(menuTypes);
public Result getDBSearchList(HttpServletRequest request, boolean AllUsers, String dbName, String[] menuTypes){
return spectrumAnalysisService.getDBSearchList(request, AllUsers, dbName, menuTypes);
}
@GetMapping("getDBSpectrumList")
@ApiOperation(value = "获取数据库中交互分析基础数据", notes = "获取数据库中交互分析基础数据")
public Result getDBSpectrumList(QueryRequest queryRequest, GardsSampleData gardsSampleData, String dbName, String[] menuTypes,boolean CollectStop, boolean AcqStart,
@DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate) {
return spectrumAnalysisService.getDBSpectrumList(queryRequest, gardsSampleData, dbName, menuTypes, CollectStop, AcqStart, startDate, endDate);
public Result getDBSpectrumList(QueryRequest queryRequest, GardsSampleData gardsSampleData, String dbName, String[] menuTypes,boolean AllUsers,boolean CollectStop, boolean AcqStart,
@DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate, HttpServletRequest request) {
return spectrumAnalysisService.getDBSpectrumList(queryRequest, gardsSampleData, dbName, menuTypes, AllUsers, CollectStop, AcqStart, startDate, endDate, request);
}
@GetMapping("getDBSpectrumChart")
@ -95,4 +95,21 @@ public class SpectrumAnalysesController {
return spectrumAnalysisService.viewRLR(sampleId);
}
@GetMapping("viewGammaDetectorCalibration")
@ApiOperation(value = "查询GammaDetectorCalibration数据", notes = "查询GammaDetectorCalibration数据")
public Result viewGammaDetectorCalibration(Integer sampleId){
return spectrumAnalysisService.viewGammaDetectorCalibration(sampleId);
}
@GetMapping("viewBetaDetectorCalibration")
@ApiOperation(value = "查询BetaDetectorCalibration数据", notes = "查询BetaDetectorCalibration数据")
public Result viewBetaDetectorCalibration(Integer sampleId){
return spectrumAnalysisService.viewBetaDetectorCalibration(sampleId);
}
@GetMapping("viewExtrapolation")
public Result viewExtrapolation(Integer sampleId){
return null;
}
}

View File

@ -7,8 +7,8 @@ import java.io.Serializable;
@Data
public class SeriseData implements Serializable {
private int x;
private double x;
private long y;
private double y;
}

View File

@ -14,7 +14,9 @@ import java.util.List;
public interface SpectrumAnalysisMapper {
Page<GardsSampleData> getDBSpectrumList(IPage<GardsSampleData> page, GardsSampleData gardsSampleData, String dbName, List<String> stationTypes, boolean CollectStop, boolean AcqStart, String startTime, String endTime);
List<GardsSampleData> getDBSearchList(String dbName, List<String> stationTypes, List<String> userStations, boolean AllUsers);
Page<GardsSampleData> getDBSpectrumList(IPage<GardsSampleData> page, GardsSampleData gardsSampleData, String dbName, List<String> stationTypes, boolean CollectStop, boolean AcqStart, String startTime, String endTime, List<String> userStations, boolean AllUsers);
SpectrumFileRecord getDBSpectrumFilePath(String dbName, Integer sampleId);
@ -32,4 +34,6 @@ public interface SpectrumAnalysisMapper {
String viewRRR(@Param(value = "sampleId") Integer sampleId);
GardsSampleData getSampleData(@Param(value = "sampleId") Integer sampleId);
}

View File

@ -2,6 +2,38 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.mapper.SpectrumAnalysisMapper">
<select id="getDBSearchList" resultType="org.jeecg.modules.base.entity.GardsSampleData">
SELECT
DISTINCT
cfg_stations.station_code stationName,
cfg_detectors.detector_code detectorsName
FROM
CONFIGURATION.GARDS_STATIONS cfg_stations,
CONFIGURATION.GARDS_DETECTORS cfg_detectors,
ORIGINAL.GARDS_SAMPLE_DATA org_samples,
(SELECT analyses.sample_id FROM ${dbName} analyses) analyses_sample_ids
<where>
org_samples.sample_id=analyses_sample_ids.sample_id
AND org_samples.station_id=cfg_stations.station_id
AND org_samples.detector_id=cfg_detectors.detector_id
AND cfg_stations.type in
<foreach collection="stationTypes" item="stationType" open="(" close=")" separator=",">
#{stationType}
</foreach>
<if test="AllUsers == false">
<if test=" userStations.size == 0 and userStations != null ">
and org_samples.station_id in ('')
</if>
<if test=" userStations.size > 0 and userStations != null ">
and org_samples.station_id in
<foreach collection="userStations" item="userStation" open="(" close=")" separator=",">
#{userStation}
</foreach>
</if>
</if>
</where>
</select>
<select id="getDBSpectrumList" resultType="org.jeecg.modules.base.entity.GardsSampleData">
select c.sample_id,
b.station_code stationName,
@ -58,9 +90,17 @@
<if test=" AcqStart == true ">
and c.acquisition_start between TO_DATE(#{startTime}, 'yyyy-mm-dd hh24:mi:ss') and TO_DATE(#{endTime}, 'yyyy-mm-dd hh24:mi:ss')
</if>
<!--<if test=" ">
and b.station_code in (%1)
</if>-->
<if test="AllUsers == false">
<if test=" userStations.size == 0 and userStations != null ">
and c.station_id in ('')
</if>
<if test=" userStations.size > 0 and userStations != null ">
and c.station_id in
<foreach collection="userStations" item="userStation" open="(" close=")" separator=",">
#{userStation}
</foreach>
</if>
</if>
</where>
ORDER BY c.collect_stop DESC
</select>
@ -120,4 +160,33 @@
SELECT REPORT_PAHT FROM RNMAN.GARDS_ANALYSES where SAMPLE_ID = #{sampleId}
</select>
<select id="getSampleData" resultType="org.jeecg.modules.base.entity.GardsSampleData">
SELECT
SITE_DET_CODE,
SAMPLE_ID,
STATION_ID,
DETECTOR_ID,
INPUT_FILE_NAME,
SAMPLE_TYPE,
DATA_TYPE,
GEOMETRY,
SPECTRAL_QUALIFIE,
TRANSMIT_DTG,
COLLECT_START,
COLLECT_STOP,
ACQUISITION_START,
ACQUISITION_STOP,
ACQUISITION_REAL_SEC,
ACQUISITION_LIVE_SEC,
QUANTITY,
STATUS,
MODDATE
FROM
ORIGINAL.GARDS_SAMPLE_DATA
<where>
SAMPLE_ID = #{sampleId}
</where>
</select>
</mapper>

View File

@ -10,9 +10,9 @@ import java.util.Date;
public interface ISpectrumAnalysisService {
Result getDBSearchList(String[] menuTypes);
Result getDBSearchList(HttpServletRequest request, boolean AllUsers, String dbName, String[] menuTypes);
Result getDBSpectrumList(QueryRequest queryRequest, GardsSampleData gardsSampleData, String dbName, String[] menuTypes, boolean CollectStop, boolean AcqStart, Date startDate, Date endDate);
Result getDBSpectrumList(QueryRequest queryRequest, GardsSampleData gardsSampleData, String dbName, String[] menuTypes, boolean AllUsers, boolean CollectStop, boolean AcqStart, Date startDate, Date endDate, HttpServletRequest request);
Result getDBSpectrumChart(String dbName, Integer sampleId);
@ -34,4 +34,10 @@ public interface ISpectrumAnalysisService {
Result viewRLR(Integer sampleId);
Result viewGammaDetectorCalibration(Integer sampleId);
Result viewBetaDetectorCalibration(Integer sampleId);
Result viewExtrapolation(Integer sampleId);
}

View File

@ -18,4 +18,7 @@ public interface IUserTaskService {
@RequestMapping("/sysTask/findUserTaskStations")
List<String> findUserTaskStations(@RequestParam String userId, @RequestParam String nowDate);
@RequestMapping("/sysTask/findUserStations")
List<String> findUserStations(@RequestParam String userId);
}

View File

@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.io.FileUtils;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.xmlbeans.impl.xb.xsdschema.All;
import org.jeecg.common.api.QueryRequest;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.properties.SpectrumPathProperties;
@ -65,7 +66,7 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
private PHDFileUtil phdFileUtil;
@Override
public Result getDBSearchList(String[] menuTypes) {
public Result getDBSearchList(HttpServletRequest request, boolean AllUsers, String dbName, String[] menuTypes) {
Result result = new Result();
Map<String, List<String>> map = new HashMap<>();
List<String> menuTypeList = Arrays.asList(menuTypes);
@ -79,31 +80,41 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
result.error500("请先补充数据字典中当前系统类型对应的台站类型信息");
return result;
}
//查询全部台站信息
HashMap<String, GardsStations> stationInfoMap = (HashMap<String, GardsStations>) redisUtil.get("stationInfoMap");
//根据台站类型获取台站信息
List<GardsStations> gardsStations = stationInfoMap.values().stream().filter(item -> stationTypes.contains(item.getType())).sorted(Comparator.comparing(GardsStations::getStationId)).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(gardsStations)){
//获取台站编码
List<String> stationCodes = gardsStations.stream().map(GardsStations::getStationCode).collect(Collectors.toList());
//获取台站id
List<Integer> stationIds = gardsStations.stream().map(GardsStations::getStationId).collect(Collectors.toList());
//根据台站id查询对应的探测器
LambdaQueryWrapper<GardsDetectors> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(GardsDetectors::getStationId, stationIds);
queryWrapper.orderByAsc(GardsDetectors::getDetectorId);
List<GardsDetectors> gardsDetectors = gardsDetectorsSpectrumMapper.selectList(queryWrapper);
List<String> detectorCodes = gardsDetectors.stream().map(GardsDetectors::getDetectorCode).collect(Collectors.toList());
map.put("stationCode", stationCodes);
map.put("detectorCode", detectorCodes);
result.setSuccess(true);
result.setResult(map);
List<String> userStations = new LinkedList<>();
//如果没有勾选AllUsers
if (Objects.nonNull(AllUsers) && !AllUsers){
String userName = JwtUtil.getUserNameByToken(request);
if (StringUtils.isBlank(userName)){
result.error500("当前登录用户信息获取失败!");
return result;
}
userStations = userTaskUtil.findUserStation(userName);
}
if (dbName.equalsIgnoreCase("auto")){
dbName = "RNAUTO.GARDS_ANALYSES";
}else if (dbName.equalsIgnoreCase("man")){
dbName = "RNMAN.GARDS_ANALYSES";
}else {
result.error500("数据库类型不存在");
return result;
}
List<GardsSampleData> sampleData = spectrumAnalysisMapper.getDBSearchList(dbName, stationTypes, userStations, AllUsers);
//获取台站编码
List<String> stationCodes = new LinkedList<>();
List<String> detectorCodes = new LinkedList<>();
if (CollectionUtils.isNotEmpty(sampleData)){
stationCodes = sampleData.stream().map(GardsSampleData::getStationName).distinct().collect(Collectors.toList());
detectorCodes = sampleData.stream().map(GardsSampleData::getDetectorsName).distinct().collect(Collectors.toList());
}
map.put("stationCode", stationCodes);
map.put("detectorCode", detectorCodes);
result.setSuccess(true);
result.setResult(map);
return result;
}
@Override
public Result getDBSpectrumList(QueryRequest queryRequest, GardsSampleData gardsSampleData, String dbName, String[] menuTypes, boolean CollectStop, boolean AcqStart, Date startDate, Date endDate) {
public Result getDBSpectrumList(QueryRequest queryRequest, GardsSampleData gardsSampleData, String dbName, String[] menuTypes, boolean AllUsers, boolean CollectStop, boolean AcqStart, Date startDate, Date endDate, HttpServletRequest request) {
Result result = new Result();
if (Objects.isNull(startDate)){
result.error500("开始时间不能为空");
@ -138,12 +149,19 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
result.error500("数据库类型不存在");
return result;
}
List<String> userStations = new LinkedList<>();
if (Objects.nonNull(AllUsers) && !AllUsers){
String userName = JwtUtil.getUserNameByToken(request);
if (StringUtils.isBlank(userName)){
result.error500("当前登录用户信息获取失败!");
return result;
}
userStations = userTaskUtil.findUserStation(userName);
}
//声明分页page
Page<GardsSampleData> page = new Page<>(queryRequest.getPageNo(), queryRequest.getPageSize());
Page<GardsSampleData> sampleDataPage = spectrumAnalysisMapper.getDBSpectrumList(page, gardsSampleData, dbName, stationTypes, CollectStop, AcqStart, startTime, endTime);
sampleDataPage.getRecords().stream().forEach(item->{
item.setDbName(tempDBName);
});
Page<GardsSampleData> sampleDataPage = spectrumAnalysisMapper.getDBSpectrumList(page, gardsSampleData, dbName, stationTypes, CollectStop, AcqStart, startTime, endTime, userStations, AllUsers);
sampleDataPage.getRecords().stream().forEach(item->{item.setDbName(tempDBName);});
result.setSuccess(true);
result.setResult(sampleDataPage);
return result;
@ -278,7 +296,8 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
String fileName = sampleFilePath.substring(sampleFilePath.lastIndexOf(StringPool.SLASH)+1);
FTPClient ftpClient = ftpUtil.LoginFTP();
if (Objects.isNull(ftpClient)){
throw new RuntimeException("ftp连接失败");
result.error500("ftp连接失败");
return result;
}
try {
//切换被动模式
@ -291,6 +310,10 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
ftpClient.changeWorkingDirectory(pathName);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles());
ftpFiles=ftpFiles.stream().filter(item -> item.getName().equals(fileName)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(ftpFiles)){
result.error500("ftp下对应文件不存在");
return result;
}
FTPFile ftpFile = ftpFiles.get(0);
if (Objects.nonNull(ftpFile)){
InputStream inputStream = ftpClient.retrieveFileStream(ftpFile.getName());
@ -411,6 +434,9 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
ftpClient.changeWorkingDirectory(pathName);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles());
ftpFiles=ftpFiles.stream().filter(item -> item.getName().equals(fileName)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(ftpFiles)){
throw new RuntimeException("ftp下对应的报告文件不存在");
}
FTPFile ftpFile = ftpFiles.get(0);
if (Objects.nonNull(ftpFile)){
InputStream inputStream = ftpClient.retrieveFileStream(ftpFile.getName());
@ -466,6 +492,9 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
ftpClient.changeWorkingDirectory(pathName);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles());
ftpFiles=ftpFiles.stream().filter(item -> item.getName().equals(fileName)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(ftpFiles)){
throw new RuntimeException("ftp下对应的报告文件不存在");
}
FTPFile ftpFile = ftpFiles.get(0);
if (Objects.nonNull(ftpFile)){
InputStream inputStream = ftpClient.retrieveFileStream(ftpFile.getName());
@ -539,7 +568,8 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
String fileName = sampleFilePath.substring(sampleFilePath.lastIndexOf(StringPool.SLASH)+1);
FTPClient ftpClient = ftpUtil.LoginFTP();
if (Objects.isNull(ftpClient)){
throw new RuntimeException("ftp连接失败");
result.error500("ftp连接失败");
return result;
}
try {
//切换被动模式
@ -552,6 +582,10 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
ftpClient.changeWorkingDirectory(pathName);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles());
ftpFiles=ftpFiles.stream().filter(item -> item.getName().equals(fileName)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(ftpFiles)){
result.error500("ftp下对应的文件不存在");
return result;
}
FTPFile ftpFile = ftpFiles.get(0);
if (Objects.nonNull(ftpFile)){
InputStream inputStream = ftpClient.retrieveFileStream(ftpFile.getName());
@ -646,15 +680,19 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
SpectrumFileRecord dbSpectrumFilePath = spectrumAnalysisMapper.getDBSpectrumFilePath(dbName, sampleId);
//查询数据库中结果的Xe数据
List<GardsXeResults> xeDataList = spectrumAnalysisMapper.getXeDataList(sampleId);
//加载dll工具库
System.loadLibrary("ReadPHDFile");
if (Objects.nonNull(dbSpectrumFilePath)){
try {
String bkgdMeasurementID = "";
String gasBkgdMeasurementID = "";
if (StringUtils.isNotBlank(dbSpectrumFilePath.getSampleFilePath())){
FTPClient ftpClient = ftpUtil.LoginFTP();
if (Objects.isNull(ftpClient)){
throw new RuntimeException("ftp连接失败");
}
String bkgdMeasurementID = "";
String gasBkgdMeasurementID = "";
if (StringUtils.isNotBlank(dbSpectrumFilePath.getSampleFilePath())){
FTPClient ftpClient = ftpUtil.LoginFTP();
if (Objects.isNull(ftpClient)){
result.error500("ftp连接失败");
return result;
}
try {
//切换被动模式
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
@ -668,6 +706,10 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
ftpClient.changeWorkingDirectory(samplePathName);
List<FTPFile> sampleFtpFiles = Arrays.asList(ftpClient.listFiles());
sampleFtpFiles=sampleFtpFiles.stream().filter(item -> item.getName().equals(sampleFileName)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(sampleFtpFiles)){
result.error500("ftp下对应的SAMPLE文件不存在");
return result;
}
FTPFile sampleFtpFile = sampleFtpFiles.get(0);
if (Objects.nonNull(sampleFtpFile)){
InputStream inputStream = ftpClient.retrieveFileStream(sampleFtpFile.getName());
@ -675,8 +717,6 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
File file = File.createTempFile("tmp", null);
//将ftp文件的输入流复制给临时文件
FileUtils.copyInputStreamToFile(inputStream, file);
//加载dll工具库
System.loadLibrary("ReadPHDFile");
EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
bkgdMeasurementID = struct.detector_bk_measurement_id;
gasBkgdMeasurementID = struct.gas_bk_measurement_id;
@ -707,14 +747,28 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
if (Objects.nonNull(inputStream)){
inputStream.close();
}
ftpClient.disconnect();
}
} catch (IOException e) {
throw new RuntimeException(e);
} catch (ParseException e) {
throw new RuntimeException(e);
} finally {
try {
if (Objects.nonNull(ftpClient)){
ftpClient.disconnect();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
if (StringUtils.isNotBlank(dbSpectrumFilePath.getGasBgFilePath())){
FTPClient ftpClient = ftpUtil.LoginFTP();
if (Objects.isNull(ftpClient)){
throw new RuntimeException("ftp连接失败");
}
}
if (StringUtils.isNotBlank(dbSpectrumFilePath.getGasBgFilePath())){
FTPClient ftpClient = ftpUtil.LoginFTP();
if (Objects.isNull(ftpClient)){
result.error500("ftp连接失败");
return result;
}
try {
//切换被动模式
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
@ -728,6 +782,10 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
ftpClient.changeWorkingDirectory(gasBgPathName);
List<FTPFile> gasBgFtpFiles = Arrays.asList(ftpClient.listFiles());
gasBgFtpFiles=gasBgFtpFiles.stream().filter(item -> item.getName().equals(gasBgFileName)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(gasBgFtpFiles)){
result.error500("ftp下对应的GasBg文件不存在");
return result;
}
FTPFile gasBgFtpFile = gasBgFtpFiles.get(0);
if (Objects.nonNull(gasBgFtpFile)){
InputStream inputStream = ftpClient.retrieveFileStream(gasBgFtpFile.getName());
@ -735,8 +793,6 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
File file = File.createTempFile("tmp", null);
//将ftp文件的输入流复制给临时文件
FileUtils.copyInputStreamToFile(inputStream, file);
//加载dll工具库
System.loadLibrary("ReadPHDFile");
EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
String measurementID = struct.measurement_id;
if (measurementID.equals(gasBkgdMeasurementID)){
@ -747,14 +803,26 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
if (Objects.nonNull(inputStream)){
inputStream.close();
}
ftpClient.disconnect();
}
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
try {
if (Objects.nonNull(ftpClient)){
ftpClient.disconnect();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
if (StringUtils.isNotBlank(dbSpectrumFilePath.getDetBgFilePath())){
FTPClient ftpClient = ftpUtil.LoginFTP();
if (Objects.isNull(ftpClient)){
throw new RuntimeException("ftp连接失败");
}
}
if (StringUtils.isNotBlank(dbSpectrumFilePath.getDetBgFilePath())){
FTPClient ftpClient = ftpUtil.LoginFTP();
if (Objects.isNull(ftpClient)){
result.error500("ftp连接失败");
return result;
}
try {
//切换被动模式
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
@ -768,6 +836,10 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
ftpClient.changeWorkingDirectory(detBgPathName);
List<FTPFile> detBgFtpFiles = Arrays.asList(ftpClient.listFiles());
detBgFtpFiles=detBgFtpFiles.stream().filter(item -> item.getName().equals(detBgFileName)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(detBgFtpFiles)){
result.error500("ftp下对应的DetBg文件不存在");
return result;
}
FTPFile detBgFtpFile = detBgFtpFiles.get(0);
if (Objects.nonNull(detBgFtpFile)){
InputStream inputStream = ftpClient.retrieveFileStream(detBgFtpFile.getName());
@ -775,8 +847,6 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
File file = File.createTempFile("tmp", null);
//将ftp文件的输入流复制给临时文件
FileUtils.copyInputStreamToFile(inputStream, file);
//加载dll工具库
System.loadLibrary("ReadPHDFile");
EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
String measurementID = struct.measurement_id;
if (measurementID.equals(bkgdMeasurementID)){
@ -787,23 +857,28 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
if (Objects.nonNull(inputStream)){
inputStream.close();
}
ftpClient.disconnect();
}
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
try {
if (Objects.nonNull(ftpClient)){
ftpClient.disconnect();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
if (CollectionUtils.isNotEmpty(xeDataList)){
List<GardsXeResults> xeData = xeDataList.stream().filter(item -> item.getNuclideName().equals("Xe133")).collect(Collectors.toList());
GardsXeResults gardsXeResults = xeData.get(0);
qcResult.setXe133MDCValue(String.valueOf(gardsXeResults.getMdc()));
if ( 0.001 < gardsXeResults.getMdc() && gardsXeResults.getMdc() < 5.0 ){
qcResult.setXe133MDCStatus("Pass");
}else {
qcResult.setXe133MDCStatus("Failed");
}
}
if (CollectionUtils.isNotEmpty(xeDataList)){
List<GardsXeResults> xeData = xeDataList.stream().filter(item -> item.getNuclideName().equals("Xe133")).collect(Collectors.toList());
GardsXeResults gardsXeResults = xeData.get(0);
qcResult.setXe133MDCValue(String.valueOf(gardsXeResults.getMdc()));
if ( 0.001 < gardsXeResults.getMdc() && gardsXeResults.getMdc() < 5.0 ){
qcResult.setXe133MDCStatus("Pass");
}else {
qcResult.setXe133MDCStatus("Failed");
}
} catch (IOException e) {
throw new RuntimeException(e);
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
result.setSuccess(true);
@ -818,7 +893,8 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
String sampleFilePath = spectrumAnalysisMapper.getSampleFilePath(sampleId);
FTPClient ftpClient = ftpUtil.LoginFTP();
if (Objects.isNull(ftpClient)){
throw new RuntimeException("ftp连接失败");
result.error500("ftp连接失败");
return result;
}
//查询数据库中结果的Xe数据
List<GardsXeResults> xeDataList = spectrumAnalysisMapper.getXeDataList(sampleId);
@ -836,6 +912,10 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
ftpClient.changeWorkingDirectory(samplePathName);
List<FTPFile> sampleFtpFiles = Arrays.asList(ftpClient.listFiles());
sampleFtpFiles=sampleFtpFiles.stream().filter(item -> item.getName().equals(sampleFileName)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(sampleFtpFiles)){
result.error500("ftp下对应的SAMPLE文件不存在");
return result;
}
FTPFile sampleFtpFile = sampleFtpFiles.get(0);
if (Objects.nonNull(sampleFtpFile)){
InputStream inputStream = ftpClient.retrieveFileStream(sampleFtpFile.getName());
@ -907,4 +987,401 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
return result;
}
@Override
public Result viewGammaDetectorCalibration(Integer sampleId) {
Result result = new Result();
Map<String, Object> map = new HashMap<>();
GardsSampleData sampleData = spectrumAnalysisMapper.getSampleData(sampleId);
String collectStartStr = DateUtils.formatDate(sampleData.getCollectStart(), "yyyy-MM-dd HH:mm:ss");
String dbQcFilePath = spectrumAnalysisMapper.getQCFilePath(sampleData.getSiteDetCode(), collectStartStr);
FTPClient ftpClient = ftpUtil.LoginFTP();
if (Objects.isNull(ftpClient)){
result.error500("ftp连接失败");
return result;
}
try {
if (StringUtils.isNotBlank(dbQcFilePath)){
String qcPathName = dbQcFilePath.substring(0, dbQcFilePath.lastIndexOf(StringPool.SLASH));
String qcFileName = dbQcFilePath.substring(dbQcFilePath.lastIndexOf(StringPool.SLASH)+1);
qcPathName=StringPool.SLASH + spectrumPathProperties.getRootPath() + StringPool.SLASH + qcPathName;
ftpClient.changeWorkingDirectory(qcPathName);
List<FTPFile> qcFtpFiles = Arrays.asList(ftpClient.listFiles());
qcFtpFiles=qcFtpFiles.stream().filter(item -> item.getName().equals(qcFileName)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(qcFtpFiles)){
result.error500("ftp下对应的QC文件不存在");
return result;
}
FTPFile qcFtpFile = qcFtpFiles.get(0);
if (Objects.nonNull(qcFtpFile)){
InputStream inputStream = ftpClient.retrieveFileStream(qcFtpFile.getName());
//声明一个临时文件
File file = File.createTempFile("tmp", null);
//将ftp文件的输入流复制给临时文件
FileUtils.copyInputStreamToFile(inputStream, file);
//加载dll工具库
System.loadLibrary("ReadPHDFile");
EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
//读取Gamma Detector Calibration所需要的参数
long numGChannel = struct.num_g_channel;
List<Double> gCentroidChannel = struct.g_centroid_channel;
List<Double> gEnergy = struct.g_energy;
int gRecordCount = struct.g_record_count;
List<Long> gCounts = struct.g_counts;
List<Double> gammaParam = EnergySpectrumHandler.GetFileFittingPara(gCentroidChannel, gEnergy);
//计算Calibration Parameter Of Gamma Detector
List<SeriseData> oldScatterSeries = new LinkedList<>();
for (int i=0; i<gRecordCount; i++) {
SeriseData temp = new SeriseData();
double p1 = gCentroidChannel.get(i);
double p2 = gEnergy.get(i);
temp.setX(p1);
temp.setY(p2);
oldScatterSeries.add(temp);
}
List<Double> xs = new LinkedList<>();
List<Double> ys = new LinkedList<>();
for (int i=0; i< oldScatterSeries.size(); i++){
xs.add(oldScatterSeries.get(i).getX());
ys.add(oldScatterSeries.get(i).getY());
}
//C to E
List<Double> fittingPara = EnergySpectrumHandler.GetFileFittingPara(xs, ys);
List<String> fittingParaStr = new LinkedList<>();
for (Double para:fittingPara) {
fittingParaStr.add(String.valueOf(para));
}
map.put("CToE", fittingParaStr);
//E to C
List<Double> fittingParaToUi = EnergySpectrumHandler.GetFileFittingPara(ys, xs);
List<String> fittingParaToUiStr = new LinkedList<>();
for (Double para:fittingParaToUi) {
fittingParaToUiStr.add(String.valueOf(para));
}
map.put("EToC", fittingParaToUiStr);
//Figure of Gamma Detector Calibration
List<Double> gchannels = new ArrayList<>();
List<List<Double>> gammaEnergyList = new LinkedList<>();
for (int i=0; i<numGChannel; i++){
gchannels.clear();
gchannels.add(Double.valueOf(i));
List<Double> gammaEnergy = EnergySpectrumHandler.GetFileFittingData(gchannels, gammaParam);
gammaEnergyList.add(gammaEnergy);
}
map.put("gammaEnergy", gammaEnergyList);
//Gamma Spectrum: QC
List<SeriseData> seriseDataList = new LinkedList<>();
long min =0;
double max =0;
for ( int i=1; i<numGChannel; i++ ) {
long count = gCounts.get(i);
SeriseData temp = new SeriseData();
temp.setX(i);
temp.setY(count);
seriseDataList.add(temp);
if (count<min){
min = count;
}
if (count>max){
max = count;
}
}
if (max<10) {
max += max*0.5;
} else if (max<50) {
max += max*0.2;
} else if (max<100) {
max += max*0.1;
} else {
max += max*0.05;
}
map.put("min", min);
map.put("max", max);
map.put("gammaSpectrum", seriseDataList);
if (Objects.nonNull(inputStream)){
inputStream.close();
}
}
}
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
try {
if (Objects.nonNull(ftpClient)){
ftpClient.disconnect();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
result.setSuccess(true);
result.setResult(map);
return result;
}
@Override
public Result viewBetaDetectorCalibration(Integer sampleId) {
Result result = new Result();
Map<String, Object> map = new HashMap<>();
GardsSampleData sampleData = spectrumAnalysisMapper.getSampleData(sampleId);
String collectStartStr = DateUtils.formatDate(sampleData.getCollectStart(), "yyyy-MM-dd HH:mm:ss");
String dbQcFilePath = spectrumAnalysisMapper.getQCFilePath(sampleData.getSiteDetCode(), collectStartStr);
FTPClient ftpClient = ftpUtil.LoginFTP();
if (Objects.isNull(ftpClient)){
result.error500("ftp连接失败");
return result;
}
try {
//切换被动模式
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
// 设置编码当文件中存在中文且上传后文件乱码时可使用此配置项
ftpClient.setControlEncoding("UTF-8");
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
if (StringUtils.isNotBlank(dbQcFilePath)){
String qcPathName = dbQcFilePath.substring(0, dbQcFilePath.lastIndexOf(StringPool.SLASH));
String qcFileName = dbQcFilePath.substring(dbQcFilePath.lastIndexOf(StringPool.SLASH)+1);
qcPathName=StringPool.SLASH + spectrumPathProperties.getRootPath() + StringPool.SLASH + qcPathName;
ftpClient.changeWorkingDirectory(qcPathName);
List<FTPFile> qcFtpFiles = Arrays.asList(ftpClient.listFiles());
qcFtpFiles=qcFtpFiles.stream().filter(item -> item.getName().equals(qcFileName)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(qcFtpFiles)){
result.error500("ftp下对应的QC文件不存在");
return result;
}
FTPFile qcFtpFile = qcFtpFiles.get(0);
if (Objects.nonNull(qcFtpFile)){
InputStream inputStream = ftpClient.retrieveFileStream(qcFtpFile.getName());
//声明一个临时文件
File file = File.createTempFile("tmp", null);
//将ftp文件的输入流复制给临时文件
FileUtils.copyInputStreamToFile(inputStream, file);
//加载dll工具库
System.loadLibrary("ReadPHDFile");
EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
//Figure of Beta Detector Calibration
long numBChannel = struct.num_b_channel;
List<List<Double>> betaEnergyList = new LinkedList<>();
List<Double> bChannel = struct.b_channel;
List<Double> bElectronEnergy = struct.b_electron_energy;
List<Double> betaParam = EnergySpectrumHandler.GetFileFittingPara(bChannel, bElectronEnergy);
List<Double> bchannels = new ArrayList<>();
for (int i=0; i<numBChannel; i++){
bchannels.clear();
bchannels.add(Double.valueOf(i));
List<Double> betaEnergy = EnergySpectrumHandler.GetFileFittingData(bchannels, betaParam);
betaEnergyList.add(betaEnergy);
}
map.put("betaEnergy", betaEnergyList);
//gamma Energy
long numGChannel = struct.num_g_channel;
List<Double> gCentroidChannel = struct.g_centroid_channel;
List<Double> gEnergy = struct.g_energy;
List<Double> gammaParam = EnergySpectrumHandler.GetFileFittingPara(gCentroidChannel, gEnergy);
List<Double> gchannels = new ArrayList<>();
List<List<Double>> gammaEnergyList = new LinkedList<>();
for (int i=0; i<numGChannel; i++){
gchannels.clear();
gchannels.add(Double.valueOf(i));
List<Double> gammaEnergy = EnergySpectrumHandler.GetFileFittingData(gchannels, gammaParam);
gammaEnergyList.add(gammaEnergy);
}
map.put("gammaEnergy", gammaEnergyList);
//Beta-Gamma Spectrum: QC
long bChannels = struct.b_channels;
long gChannels = struct.g_channels;
List<Long> hCounts = struct.h_counts;
List<HistogramData> histogramDataList = new LinkedList<>();
Map<String, List<Long>> countMap = new HashMap<>();
for (int column=0; column<bChannels; column++) {
List<Long> counts = new LinkedList<>();
for (int row=0; row<gChannels; row++) {
Long index = column * gChannels + row;
long count = hCounts.get(index.intValue());
if (count>0) {
HistogramData histogramData = new HistogramData();
histogramData.setG(row);
histogramData.setB(column);
histogramDataList.add(histogramData);
}
counts.add(count);
}
countMap.put(String.valueOf(column), counts);
}
map.put("histogramData", histogramDataList);
//Gamma-gated Beta Spectrum: QC
map.put("gammaGatedBetaSpectrum", countMap);
//计算Calibration Parameter Of Gamma Detector
List<Double> bChannelList = struct.b_channel;
List<Double> bEnergy = struct.b_electron_energy;
int bRecordCount = struct.b_record_count;
List<SeriseData> oldScatterSeries = new LinkedList<>();
for (int i=0; i<bRecordCount; i++) {
SeriseData temp = new SeriseData();
double p1 = bChannelList.get(i);
double p2 = bEnergy.get(i);
temp.setX(p1);
temp.setY(p2);
oldScatterSeries.add(temp);
}
List<Double> xs = new LinkedList<>();
List<Double> ys = new LinkedList<>();
for (int i=0; i< oldScatterSeries.size(); i++){
xs.add(oldScatterSeries.get(i).getX());
ys.add(oldScatterSeries.get(i).getY());
}
//C to E
List<Double> fittingPara = EnergySpectrumHandler.GetFileFittingPara(xs, ys);
List<String> fittingParaStr = new LinkedList<>();
for (Double para:fittingPara) {
fittingParaStr.add(String.valueOf(para));
}
map.put("CToE", fittingParaStr);
//E to C
List<Double> fittingParaToUi = EnergySpectrumHandler.GetFileFittingPara(ys, xs);
List<String> fittingParaToUiStr = new LinkedList<>();
for (Double para:fittingParaToUi) {
fittingParaToUiStr.add(String.valueOf(para));
}
map.put("EToC", fittingParaToUiStr);
if (Objects.nonNull(inputStream)){
inputStream.close();
}
}
}
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
try {
if (Objects.nonNull(ftpClient)){
ftpClient.disconnect();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
result.setSuccess(true);
result.setResult(map);
return result;
}
@Override
public Result viewExtrapolation(Integer sampleId) {
Result result = new Result();
String dbName = "RNAUTO.GARDS_ANALYSES";
SpectrumFileRecord dbSpectrumFilePath = spectrumAnalysisMapper.getDBSpectrumFilePath(dbName, sampleId);
//加载dll工具库
System.loadLibrary("ReadPHDFile");
if (Objects.nonNull(dbSpectrumFilePath)){
String sampleFilePath = dbSpectrumFilePath.getSampleFilePath();
if (StringUtils.isNotBlank(sampleFilePath)){
String samplePathName = sampleFilePath.substring(0, sampleFilePath.lastIndexOf(StringPool.SLASH));
String sampleFileName = sampleFilePath.substring(sampleFilePath.lastIndexOf(StringPool.SLASH)+1);
FTPClient ftpClient = ftpUtil.LoginFTP();
if (Objects.isNull(ftpClient)){
result.error500("ftp连接失败");
return result;
}
try {
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
// 设置编码当文件中存在中文且上传后文件乱码时可使用此配置项
ftpClient.setControlEncoding("UTF-8");
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
samplePathName = StringPool.SLASH + spectrumPathProperties.getRootPath() + StringPool.SLASH + samplePathName;
ftpClient.changeWorkingDirectory(samplePathName);
List<FTPFile> sampleFtpFiles = Arrays.asList(ftpClient.listFiles());
sampleFtpFiles = sampleFtpFiles.stream().filter(item-> item.getName().equals(sampleFileName)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(sampleFtpFiles)){
result.error500("ftp下对应的SAMPLE文件不存在");
return result;
}
FTPFile sampleFtpFile = sampleFtpFiles.get(0);
if (Objects.nonNull(sampleFtpFile)){
//获取ftp文件的输入流
InputStream inputStream = ftpClient.retrieveFileStream(sampleFtpFile.getName());
//声明一个临时文件
File file = File.createTempFile("tmp", null);
//ftp文件输入流复制给临时文件
FileUtils.copyInputStreamToFile(inputStream, file);
//读取文件信息
EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
String acquisitionStart = struct.acquisition_start_date + " " + struct.acquisition_start_time;
String acquisitionRealTime = String.valueOf(struct.acquisition_real_time);
String acquisitionLiveTime = String.valueOf(struct.acquisition_live_time);
if (Objects.nonNull(inputStream)){
inputStream.close();
}
}
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
try {
if (Objects.nonNull(ftpClient)){
ftpClient.disconnect();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
String detBgFilePath = dbSpectrumFilePath.getDetBgFilePath();
if (StringUtils.isNotBlank(detBgFilePath)){
String detBgPathName = detBgFilePath.substring(0, detBgFilePath.lastIndexOf(StringPool.SLASH));
String detBgFileName = detBgFilePath.substring(detBgFilePath.lastIndexOf(StringPool.SLASH)+1);
FTPClient ftpClient = ftpUtil.LoginFTP();
if (Objects.isNull(ftpClient)){
result.error500("ftp连接失败");
return result;
}
try {
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
// 设置编码当文件中存在中文且上传后文件乱码时可使用此配置项
ftpClient.setControlEncoding("UTF-8");
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
detBgPathName = StringPool.SLASH + spectrumPathProperties.getRootPath() + StringPool.SLASH + detBgPathName;
ftpClient.changeWorkingDirectory(detBgPathName);
List<FTPFile> detBgFtpFiles = Arrays.asList(ftpClient.listFiles());
detBgFtpFiles = detBgFtpFiles.stream().filter(item-> item.getName().equals(detBgFileName)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(detBgFtpFiles)){
result.error500("ftp下对应的SAMPLE文件不存在");
return result;
}
FTPFile detBgFtpFile = detBgFtpFiles.get(0);
if (Objects.nonNull(detBgFtpFile)){
//获取ftp文件的输入流
InputStream inputStream = ftpClient.retrieveFileStream(detBgFtpFile.getName());
//声明一个临时文件
File file = File.createTempFile("tmp", null);
//ftp文件输入流复制给临时文件
FileUtils.copyInputStreamToFile(inputStream, file);
//读取文件信息
EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
if (Objects.nonNull(inputStream)){
inputStream.close();
}
}
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
try {
if (Objects.nonNull(ftpClient)){
ftpClient.disconnect();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}
return result;
}
}

View File

@ -32,7 +32,8 @@ public class SysDictSpectrumServiceImpl extends ServiceImpl<SysDictSpectrumMappe
List<String> menuTypes = new LinkedList<>();
if (menuTypeList.contains("B")) {
menuTypes.add("Noble Gas Beta-Gamma");
}else if (menuTypeList.contains("G")) {
}
if (menuTypeList.contains("G")) {
menuTypes.add("Particulate");
menuTypes.add("Noble Gas HPGe");
}

View File

@ -119,4 +119,9 @@ public class SysTaskController {
return sysTaskService.findUserTaskStations(userId, nowDate);
}
@RequestMapping("findUserStations")
public List<String> findUserStations(@RequestParam String userId){
return sysTaskService.findUserStations(userId);
}
}

View File

@ -36,4 +36,11 @@ public interface SysTaskMapper extends BaseMapper<SysTask> {
*/
List<String> findUserTaskStations(String userId, String nowDate);
/**
* 查询用户值班任务台站信息
* @param userId
* @return
*/
List<String> findUserStations(String userId);
}

View File

@ -38,4 +38,13 @@
and st.scheduling_date = to_date(#{nowDate}, 'YYYY-MM-DD')
</select>
<select id="findUserStations" resultType="java.lang.String">
SELECT
stt.station_id
FROM
sys_task st
LEFT JOIN sys_task_station stt on st.id = stt.task_id
where st.user_id = #{userId}
</select>
</mapper>

View File

@ -90,4 +90,11 @@ public interface ISysTaskService extends IService<SysTask> {
*/
List<String> findUserTaskStations(String userId, String nowDate);
/**
* 查询当前用户的排班任务台站信息
* @param userId
* @return
*/
List<String> findUserStations(String userId);
}

View File

@ -539,6 +539,11 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
return this.baseMapper.findUserTaskStations(userId, nowDate);
}
@Override
public List<String> findUserStations(String userId) {
return this.baseMapper.findUserStations(userId);
}
private void addOrUpdate(List<SysTask> sysTaskList,List<SysTask> taskList){
//获取request
HttpServletRequest request = SpringContextUtils.getHttpServletRequest();