自动处理gamma部分增加推送核素,台站,sampleId等相关信息到redis
人工交互处理beta,gamma部分增加推送核素,台站,sampleId等相关信息到redis 自动处理放开gamma相关分析操作代码
This commit is contained in:
parent
f474d67385
commit
c90e913701
|
@ -23,7 +23,9 @@ import org.jeecg.modules.base.bizVo.AttributeItemVo;
|
||||||
import org.jeecg.modules.base.dto.*;
|
import org.jeecg.modules.base.dto.*;
|
||||||
import org.jeecg.modules.base.entity.original.GardsSampleData;
|
import org.jeecg.modules.base.entity.original.GardsSampleData;
|
||||||
import org.jeecg.modules.base.entity.rnauto.*;
|
import org.jeecg.modules.base.entity.rnauto.*;
|
||||||
|
import org.jeecg.modules.base.enums.DSType;
|
||||||
import org.jeecg.modules.base.enums.MiddleDataType;
|
import org.jeecg.modules.base.enums.MiddleDataType;
|
||||||
|
import org.jeecg.modules.base.enums.SpectrumType;
|
||||||
import org.jeecg.modules.config.datasource.DataSourceSwitcher;
|
import org.jeecg.modules.config.datasource.DataSourceSwitcher;
|
||||||
import org.jeecg.modules.entity.vo.*;
|
import org.jeecg.modules.entity.vo.*;
|
||||||
import org.jeecg.modules.exception.GAnalyseException;
|
import org.jeecg.modules.exception.GAnalyseException;
|
||||||
|
@ -34,8 +36,14 @@ import org.springframework.transaction.TransactionStatus;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.ZoneId;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
import static org.jeecg.modules.service.BlockConstant.XE_131m;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class Sample_G_Analysis {
|
public class Sample_G_Analysis {
|
||||||
|
@ -169,6 +177,9 @@ public class Sample_G_Analysis {
|
||||||
File.separator + reportName;
|
File.separator + reportName;
|
||||||
// 保存文件
|
// 保存文件
|
||||||
FileOperation.saveOrAppendFile(savePath, reportContent, false);
|
FileOperation.saveOrAppendFile(savePath, reportContent, false);
|
||||||
|
//发送数据到redis
|
||||||
|
middleData.setSample_id(String.valueOf(sampleId));
|
||||||
|
pushToRedis(middleData);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
log.error("Sample_G_Analysis", e);
|
log.error("Sample_G_Analysis", e);
|
||||||
|
@ -185,6 +196,32 @@ public class Sample_G_Analysis {
|
||||||
log.info("Gamma自动处理分析--End");
|
log.info("Gamma自动处理分析--End");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分析成功数据发送到Redis
|
||||||
|
*/
|
||||||
|
private void pushToRedis(GStoreMiddleProcessData middleData){
|
||||||
|
try {
|
||||||
|
Info info = new Info();
|
||||||
|
info.setStationId(middleData.sample_stationID);
|
||||||
|
info.setSampleId(middleData.sample_id);
|
||||||
|
info.setSampleName(middleData.analyses_save_filePath.substring(middleData.analyses_save_filePath.lastIndexOf(StringPool.SLASH)+1));
|
||||||
|
final Instant instant = DateUtils.parseDate(middleData.sample_collection_start).toInstant();
|
||||||
|
final LocalDateTime collectTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime();
|
||||||
|
info.setCollectionDate(collectTime);
|
||||||
|
info.setDatasource(DSType.ARMDARR.getType());
|
||||||
|
info.setFullOrPrel(this.sampleData.getSpectralQualifie());
|
||||||
|
info.setBetaOrGamma(SpectrumType.GAMMA.getType());
|
||||||
|
Map<String,String> nuclides = Maps.newHashMap();
|
||||||
|
for (int i=0; i<middleData.nucl_ided_Nuclidename.size(); i++) {
|
||||||
|
nuclides.put(middleData.nucl_ided_Nuclidename.get(i), middleData.nucl_ided_Concentration.get(i));
|
||||||
|
}
|
||||||
|
info.setNuclides(nuclides);
|
||||||
|
serviceQuotes.getRedisStreamUtil().pushAnalysis(info);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void storageDataToDatabase(GStoreMiddleProcessData middleData, Map<String, QcCheckItem> qcItems){
|
private void storageDataToDatabase(GStoreMiddleProcessData middleData, Map<String, QcCheckItem> qcItems){
|
||||||
//如果数据已经存储,不在重复存储
|
//如果数据已经存储,不在重复存储
|
||||||
final Integer idAnalysis = serviceQuotes.getAnalysesService().getIdAnalysis(this.sampleData.getSampleId());
|
final Integer idAnalysis = serviceQuotes.getAnalysesService().getIdAnalysis(this.sampleData.getSampleId());
|
||||||
|
@ -226,6 +263,7 @@ public class Sample_G_Analysis {
|
||||||
DataSourceSwitcher.clearDataSource();
|
DataSourceSwitcher.clearDataSource();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成日志文件
|
* 生成日志文件
|
||||||
* @param logFilePath
|
* @param logFilePath
|
||||||
|
|
|
@ -80,9 +80,9 @@ public class SamplephdSpectrum extends AbstractS_D_Q_G_SpectrumHandler {
|
||||||
Sample_B_Analysis bAnalysis = new Sample_B_Analysis(this);
|
Sample_B_Analysis bAnalysis = new Sample_B_Analysis(this);
|
||||||
bAnalysis.analysis();
|
bAnalysis.analysis();
|
||||||
}
|
}
|
||||||
// if (this.sourceData.system_type.equals(SystemType.PARTICULATE.getType()) || this.sourceData.system_type.equals(SystemType.GAMMA.getType())) {
|
if (this.sourceData.system_type.equals(SystemType.PARTICULATE.getType()) || this.sourceData.system_type.equals(SystemType.GAMMA.getType())) {
|
||||||
// Sample_G_Analysis sample_g_analysis = new Sample_G_Analysis(super.sourceData, super.spectrumServiceQuotes, super.sampleData);
|
Sample_G_Analysis sample_g_analysis = new Sample_G_Analysis(super.sourceData, super.spectrumServiceQuotes, super.sampleData);
|
||||||
// sample_g_analysis.analysis();
|
sample_g_analysis.analysis();
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,8 @@ public class BetaDataFile implements Serializable {
|
||||||
|
|
||||||
private String sampleId;
|
private String sampleId;
|
||||||
|
|
||||||
|
private String stationId;
|
||||||
|
|
||||||
private boolean bProcessed;
|
private boolean bProcessed;
|
||||||
|
|
||||||
private boolean saveAnalysisResult;
|
private boolean saveAnalysisResult;
|
||||||
|
@ -225,6 +227,7 @@ public class BetaDataFile implements Serializable {
|
||||||
qcFilePathName = "";
|
qcFilePathName = "";
|
||||||
qcFileName = "";
|
qcFileName = "";
|
||||||
sampleId = "";
|
sampleId = "";
|
||||||
|
stationId = "";
|
||||||
bProcessed = false;
|
bProcessed = false;
|
||||||
saveAnalysisResult = false;
|
saveAnalysisResult = false;
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.google.common.collect.Maps;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
@ -31,16 +32,14 @@ import org.jeecg.common.system.vo.LoginUser;
|
||||||
import org.jeecg.common.util.*;
|
import org.jeecg.common.util.*;
|
||||||
import org.jeecg.modules.base.abstracts.AbstractLogOrReport;
|
import org.jeecg.modules.base.abstracts.AbstractLogOrReport;
|
||||||
import org.jeecg.modules.base.bizVo.GammaRLR;
|
import org.jeecg.modules.base.bizVo.GammaRLR;
|
||||||
|
import org.jeecg.modules.base.dto.Info;
|
||||||
import org.jeecg.modules.base.dto.NuclideActMdaDto;
|
import org.jeecg.modules.base.dto.NuclideActMdaDto;
|
||||||
import org.jeecg.modules.base.dto.PeakInfoDto;
|
import org.jeecg.modules.base.dto.PeakInfoDto;
|
||||||
import org.jeecg.modules.base.entity.configuration.GardsNuclLib;
|
import org.jeecg.modules.base.entity.configuration.GardsNuclLib;
|
||||||
import org.jeecg.modules.base.entity.configuration.GardsNuclLinesLib;
|
import org.jeecg.modules.base.entity.configuration.GardsNuclLinesLib;
|
||||||
import org.jeecg.modules.base.entity.postgre.SysUser;
|
import org.jeecg.modules.base.entity.postgre.SysUser;
|
||||||
import org.jeecg.modules.base.entity.rnman.GardsAnalySetting;
|
import org.jeecg.modules.base.entity.rnman.GardsAnalySetting;
|
||||||
import org.jeecg.modules.base.enums.CalName;
|
import org.jeecg.modules.base.enums.*;
|
||||||
import org.jeecg.modules.base.enums.CalType;
|
|
||||||
import org.jeecg.modules.base.enums.ExportTemplate;
|
|
||||||
import org.jeecg.modules.base.enums.RoleType;
|
|
||||||
import org.jeecg.modules.entity.vo.*;
|
import org.jeecg.modules.entity.vo.*;
|
||||||
import org.jeecg.modules.entity.*;
|
import org.jeecg.modules.entity.*;
|
||||||
import org.jeecg.modules.mapper.SpectrumAnalysisMapper;
|
import org.jeecg.modules.mapper.SpectrumAnalysisMapper;
|
||||||
|
@ -68,7 +67,9 @@ import java.sql.Statement;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.text.NumberFormat;
|
import java.text.NumberFormat;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
import java.time.Instant;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.ZoneId;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@ -4588,11 +4589,44 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
|
||||||
//更新detial Information
|
//更新detial Information
|
||||||
List<String> detailedInfo = gammaFileUtil.DetailedInfo(phd.getId_sample(), phd);
|
List<String> detailedInfo = gammaFileUtil.DetailedInfo(phd.getId_sample(), phd);
|
||||||
map.put("DetailedInformation", detailedInfo);
|
map.put("DetailedInformation", detailedInfo);
|
||||||
|
//发送数据到redis
|
||||||
|
middleData.setSample_id(String.valueOf(phd.getId_sample()));
|
||||||
|
pushToRedis(middleData, phd);
|
||||||
result.setSuccess(true);
|
result.setSuccess(true);
|
||||||
result.setResult(map);
|
result.setResult(map);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分析成功数据发送到Redis
|
||||||
|
*/
|
||||||
|
private void pushToRedis(GStoreMiddleProcessData middleData, PHDFile phd){
|
||||||
|
try {
|
||||||
|
Info info = new Info();
|
||||||
|
info.setStationId(middleData.sample_stationID);
|
||||||
|
info.setSampleId(middleData.sample_id);
|
||||||
|
info.setSampleName(middleData.analyses_save_filePath.substring(middleData.analyses_save_filePath.lastIndexOf(StringPool.SLASH)+1));
|
||||||
|
final Instant instant = DateUtils.parseDate(middleData.sample_collection_start).toInstant();
|
||||||
|
final LocalDateTime collectTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime();
|
||||||
|
info.setCollectionDate(collectTime);
|
||||||
|
info.setDatasource(DSType.ARMDRRR.getType());
|
||||||
|
info.setFullOrPrel(phd.getHeader().getSpectrum_quantity());
|
||||||
|
info.setBetaOrGamma(SpectrumType.GAMMA.getType());
|
||||||
|
Map<String,String> nuclides = Maps.newHashMap();
|
||||||
|
for (int i=0; i<middleData.nucl_ided_Nuclidename.size(); i++) {
|
||||||
|
nuclides.put(middleData.nucl_ided_Nuclidename.get(i), middleData.nucl_ided_Concentration.get(i));
|
||||||
|
}
|
||||||
|
info.setNuclides(nuclides);
|
||||||
|
RedisStreamUtil.class.newInstance().pushAnalysis(info);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
} catch (InstantiationException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
} catch (IllegalAccessException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public boolean SaveSampleToDB(PHDFile phd, String input_file_name) {
|
public boolean SaveSampleToDB(PHDFile phd, String input_file_name) {
|
||||||
boolean bRet = false;
|
boolean bRet = false;
|
||||||
|
|
|
@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.google.common.cache.Cache;
|
import com.google.common.cache.Cache;
|
||||||
|
import com.google.common.collect.Maps;
|
||||||
import io.swagger.models.auth.In;
|
import io.swagger.models.auth.In;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
|
@ -55,7 +56,9 @@ import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
import java.time.Instant;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.ZoneId;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
@ -3667,6 +3670,7 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements
|
||||||
String endDate = DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss");
|
String endDate = DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss");
|
||||||
//根据台站名称获取台站id
|
//根据台站名称获取台站id
|
||||||
Integer stationId = spectrumAnalysisMapper.getStationId(anlyseResultIn.getStationName());
|
Integer stationId = spectrumAnalysisMapper.getStationId(anlyseResultIn.getStationName());
|
||||||
|
betaDataFile.setStationId(String.valueOf(stationId));
|
||||||
//判断当前分析员当天是否有对应台站的排班任务
|
//判断当前分析员当天是否有对应台站的排班任务
|
||||||
List<String> userStation = userTaskUtil.findUserStation(userName);
|
List<String> userStation = userTaskUtil.findUserStation(userName);
|
||||||
boolean bAnalysisResultWriteAuthority = false;
|
boolean bAnalysisResultWriteAuthority = false;
|
||||||
|
@ -3865,11 +3869,52 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements
|
||||||
betaDataFile.setQcSpectrumData(qcData);
|
betaDataFile.setQcSpectrumData(qcData);
|
||||||
map.put("qc", qcData);
|
map.put("qc", qcData);
|
||||||
}
|
}
|
||||||
|
//发送数据到redis
|
||||||
|
pushToRedis(betaDataFile);
|
||||||
result.setSuccess(true);
|
result.setSuccess(true);
|
||||||
result.setResult(map);
|
result.setResult(map);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分析成功数据发送到Redis
|
||||||
|
*/
|
||||||
|
private void pushToRedis(BetaDataFile betaDataFile){
|
||||||
|
try {
|
||||||
|
Info info = new Info();
|
||||||
|
info.setStationId(betaDataFile.getStationId());
|
||||||
|
info.setSampleId(betaDataFile.getSampleId());
|
||||||
|
info.setSampleName(betaDataFile.getSampleFileName());
|
||||||
|
final Instant instant = DateUtils.parseDate(betaDataFile.getSampleStruct().collection_start_date+ StringPool.SPACE+betaDataFile.getSampleStruct().collection_start_time).toInstant();
|
||||||
|
final LocalDateTime collectTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime();
|
||||||
|
info.setCollectionDate(collectTime);
|
||||||
|
info.setDatasource(DSType.ARMDRRR.getType());
|
||||||
|
info.setFullOrPrel(betaDataFile.getSampleStruct().spectrum_quantity);
|
||||||
|
info.setBetaOrGamma(SpectrumType.BETA.getType());
|
||||||
|
Map<String,String> nuclides = Maps.newHashMap();
|
||||||
|
for (int i=0; i< betaDataFile.getXeDataList().size(); i++) {
|
||||||
|
GardsXeResults xeResults = betaDataFile.getXeDataList().get(i);
|
||||||
|
if (xeResults.getNuclideName().equalsIgnoreCase(XeNuclideName.XE_131m.getType())) {
|
||||||
|
nuclides.put(XeNuclideName.XE_131m.getType(), String.valueOf(xeResults.getConc()));
|
||||||
|
} else if (xeResults.getNuclideName().equalsIgnoreCase(XeNuclideName.XE_133.getType())) {
|
||||||
|
nuclides.put(XeNuclideName.XE_133.getType(), String.valueOf(xeResults.getConc()));
|
||||||
|
} else if (xeResults.getNuclideName().equalsIgnoreCase(XeNuclideName.XE_133m.getType())) {
|
||||||
|
nuclides.put(XeNuclideName.XE_133m.getType(), String.valueOf(xeResults.getConc()));
|
||||||
|
} else if (xeResults.getNuclideName().equalsIgnoreCase(XeNuclideName.XE_135.getType())) {
|
||||||
|
nuclides.put(XeNuclideName.XE_135.getType(), String.valueOf(xeResults.getConc()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
info.setNuclides(nuclides);
|
||||||
|
RedisStreamUtil.class.newInstance().pushAnalysis(info);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
} catch (InstantiationException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
} catch (IllegalAccessException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取需要导出的数据 (saveToHtml|saveToTxt|saveToExcel)
|
* 获取需要导出的数据 (saveToHtml|saveToTxt|saveToExcel)
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue
Block a user