自动处理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.entity.original.GardsSampleData;
|
||||
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.SpectrumType;
|
||||
import org.jeecg.modules.config.datasource.DataSourceSwitcher;
|
||||
import org.jeecg.modules.entity.vo.*;
|
||||
import org.jeecg.modules.exception.GAnalyseException;
|
||||
|
@ -34,8 +36,14 @@ import org.springframework.transaction.TransactionStatus;
|
|||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
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 static org.jeecg.modules.service.BlockConstant.XE_131m;
|
||||
|
||||
@Data
|
||||
@Slf4j
|
||||
public class Sample_G_Analysis {
|
||||
|
@ -169,6 +177,9 @@ public class Sample_G_Analysis {
|
|||
File.separator + reportName;
|
||||
// 保存文件
|
||||
FileOperation.saveOrAppendFile(savePath, reportContent, false);
|
||||
//发送数据到redis
|
||||
middleData.setSample_id(String.valueOf(sampleId));
|
||||
pushToRedis(middleData);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
log.error("Sample_G_Analysis", e);
|
||||
|
@ -185,6 +196,32 @@ public class Sample_G_Analysis {
|
|||
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){
|
||||
//如果数据已经存储,不在重复存储
|
||||
final Integer idAnalysis = serviceQuotes.getAnalysesService().getIdAnalysis(this.sampleData.getSampleId());
|
||||
|
@ -226,6 +263,7 @@ public class Sample_G_Analysis {
|
|||
DataSourceSwitcher.clearDataSource();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成日志文件
|
||||
* @param logFilePath
|
||||
|
|
|
@ -80,9 +80,9 @@ public class SamplephdSpectrum extends AbstractS_D_Q_G_SpectrumHandler {
|
|||
Sample_B_Analysis bAnalysis = new Sample_B_Analysis(this);
|
||||
bAnalysis.analysis();
|
||||
}
|
||||
// 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.analysis();
|
||||
// }
|
||||
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.analysis();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,6 +39,8 @@ public class BetaDataFile implements Serializable {
|
|||
|
||||
private String sampleId;
|
||||
|
||||
private String stationId;
|
||||
|
||||
private boolean bProcessed;
|
||||
|
||||
private boolean saveAnalysisResult;
|
||||
|
@ -225,6 +227,7 @@ public class BetaDataFile implements Serializable {
|
|||
qcFilePathName = "";
|
||||
qcFileName = "";
|
||||
sampleId = "";
|
||||
stationId = "";
|
||||
bProcessed = false;
|
||||
saveAnalysisResult = false;
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|||
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.google.common.collect.Maps;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
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.modules.base.abstracts.AbstractLogOrReport;
|
||||
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.PeakInfoDto;
|
||||
import org.jeecg.modules.base.entity.configuration.GardsNuclLib;
|
||||
import org.jeecg.modules.base.entity.configuration.GardsNuclLinesLib;
|
||||
import org.jeecg.modules.base.entity.postgre.SysUser;
|
||||
import org.jeecg.modules.base.entity.rnman.GardsAnalySetting;
|
||||
import org.jeecg.modules.base.enums.CalName;
|
||||
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.base.enums.*;
|
||||
import org.jeecg.modules.entity.vo.*;
|
||||
import org.jeecg.modules.entity.*;
|
||||
import org.jeecg.modules.mapper.SpectrumAnalysisMapper;
|
||||
|
@ -68,7 +67,9 @@ import java.sql.Statement;
|
|||
import java.text.DecimalFormat;
|
||||
import java.text.NumberFormat;
|
||||
import java.text.ParseException;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
@ -4588,11 +4589,44 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
|
|||
//更新detial Information
|
||||
List<String> detailedInfo = gammaFileUtil.DetailedInfo(phd.getId_sample(), phd);
|
||||
map.put("DetailedInformation", detailedInfo);
|
||||
//发送数据到redis
|
||||
middleData.setSample_id(String.valueOf(phd.getId_sample()));
|
||||
pushToRedis(middleData, phd);
|
||||
result.setSuccess(true);
|
||||
result.setResult(map);
|
||||
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
|
||||
public boolean SaveSampleToDB(PHDFile phd, String input_file_name) {
|
||||
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.extension.plugins.pagination.Page;
|
||||
import com.google.common.cache.Cache;
|
||||
import com.google.common.collect.Maps;
|
||||
import io.swagger.models.auth.In;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
|
@ -55,7 +56,9 @@ import javax.servlet.http.HttpServletResponse;
|
|||
import java.io.*;
|
||||
import java.net.URLEncoder;
|
||||
import java.text.ParseException;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
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");
|
||||
//根据台站名称获取台站id
|
||||
Integer stationId = spectrumAnalysisMapper.getStationId(anlyseResultIn.getStationName());
|
||||
betaDataFile.setStationId(String.valueOf(stationId));
|
||||
//判断当前分析员当天是否有对应台站的排班任务
|
||||
List<String> userStation = userTaskUtil.findUserStation(userName);
|
||||
boolean bAnalysisResultWriteAuthority = false;
|
||||
|
@ -3865,11 +3869,52 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements
|
|||
betaDataFile.setQcSpectrumData(qcData);
|
||||
map.put("qc", qcData);
|
||||
}
|
||||
//发送数据到redis
|
||||
pushToRedis(betaDataFile);
|
||||
result.setSuccess(true);
|
||||
result.setResult(map);
|
||||
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)
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue
Block a user