diff --git a/jeecg-boot-base-core/pom.xml b/jeecg-boot-base-core/pom.xml
index 1e5181eb..a2a12189 100644
--- a/jeecg-boot-base-core/pom.xml
+++ b/jeecg-boot-base-core/pom.xml
@@ -258,5 +258,25 @@
commons-net
3.3
+
\ No newline at end of file
diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ExportUtil.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ExportUtil.java
index 4b40c13a..d9f25273 100644
--- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ExportUtil.java
+++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ExportUtil.java
@@ -1,10 +1,19 @@
package org.jeecg.common.util;
+import cn.hutool.core.util.ObjectUtil;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.jeecg.modules.base.dto.QCResultDto;
+import org.jeecgframework.poi.excel.ExcelExportUtil;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.TemplateExportParams;
+
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
+import java.util.List;
+import java.util.Map;
public class ExportUtil {
@@ -33,4 +42,63 @@ public class ExportUtil {
response.setHeader("Content-disposition", "attachment;filename=" + name);
return response.getOutputStream();
}
+
+ public static void exportXls(HttpServletResponse response, Class target,
+ List data, String sheetName, String fileName){
+ ExportParams params = new ExportParams();
+ params.setSheetName(sheetName);
+ Workbook workbook = null;
+ OutputStream outputStream = null;
+ try {
+ // 设置文件名、Excel类型(xls|xlsx)
+ outputStream = ExportUtil.xls(response,fileName);
+ workbook = ExcelExportUtil.
+ exportExcel(params, target, data);
+ workbook.write(outputStream);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }finally {
+ try {
+ if (ObjectUtil.isNotNull(outputStream))
+ outputStream.close();
+ if (ObjectUtil.isNotNull(workbook))
+ workbook.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ public static void exportXls(HttpServletResponse response, Class target, List data){
+ exportXls(response, target, data, "sheet1", "file");
+ }
+
+ public static TemplateExportParams excelTemplate(String name){
+ //return new TemplateExportParams("C:/Users/a/Desktop/"+ name +".xlsx");
+ return new TemplateExportParams("E:\\Code\\IDEA\\AnalysisSystemForRadionuclide\\jeecg-boot-base-core\\src\\main\\resources\\excelTemplate\\"+ name +".xlsx");
+ }
+
+ public static void exportXls(HttpServletResponse response, String template,
+ Map data, String fileName){
+ TemplateExportParams params = excelTemplate(template);
+ Workbook workbook = null;
+ OutputStream outputStream = null;
+ try {
+ // 设置文件名、Excel类型(xls|xlsx)
+ outputStream = ExportUtil.xls(response,fileName);
+ workbook = ExcelExportUtil.exportExcel(params, data);
+ workbook.write(outputStream);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }finally {
+ try {
+ if (ObjectUtil.isNotNull(outputStream))
+ outputStream.close();
+ if (ObjectUtil.isNotNull(workbook))
+ workbook.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
}
diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/dto/QCResultDto.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/dto/QCResultDto.java
new file mode 100644
index 00000000..4d9dc19d
--- /dev/null
+++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/dto/QCResultDto.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.base.dto;
+
+import lombok.Data;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+@Data
+public class QCResultDto {
+
+ @Excel(name = "Name",orderNum = "1",width = 30)
+ private String fieldName;
+
+ @Excel(name = "Value",orderNum = "2",width = 10)
+ private Object fieldValue;
+}
diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/entity/vo/TableQCResult.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/entity/vo/TableQCResult.java
index c67d472a..d036c0cc 100644
--- a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/entity/vo/TableQCResult.java
+++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/entity/vo/TableQCResult.java
@@ -1,18 +1,23 @@
package org.jeecg.modules.entity.vo;
import lombok.Data;
+import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
@Data
public class TableQCResult implements Serializable {
+ @Excel(name = "Name",orderNum = "1",width = 20)
private String name;
+ @Excel(name = "Flag",orderNum = "2",width = 10)
private String flag;
+ @Excel(name = "Value",orderNum = "3",width = 15)
private double value;
+ @Excel(name = "Standard",orderNum = "4",width = 30)
private String standard;
}
diff --git a/jeecg-boot-base-core/src/main/resources/excelTemplate/SampleInfo-G.xlsx b/jeecg-boot-base-core/src/main/resources/excelTemplate/SampleInfo-G.xlsx
new file mode 100644
index 00000000..b956e69e
Binary files /dev/null and b/jeecg-boot-base-core/src/main/resources/excelTemplate/SampleInfo-G.xlsx differ
diff --git a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_G_Analysis.java b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_G_Analysis.java
index 69a6394b..2040583c 100644
--- a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_G_Analysis.java
+++ b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_G_Analysis.java
@@ -62,7 +62,7 @@ public class Sample_G_Analysis {
saveNuclIded(middleData,sampleId,IdAnalysis);
/* Gards_Qc_Check 数据表保存 */
saveQcCheck(middleData,sampleId,IdAnalysis);
- // 收尾处理 ==> 写日志文件和报告文件
+ /** 收尾处理 ==> 写日志文件和报告文件 **/
}catch (Exception e){
e.printStackTrace();
diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/GammaFileUtil.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/GammaFileUtil.java
index 43d64f28..070f2915 100644
--- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/GammaFileUtil.java
+++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/GammaFileUtil.java
@@ -75,19 +75,21 @@ public class GammaFileUtil {
pathName = StringPool.SLASH + spectrumPathProperties.getRootPath() + StringPool.SLASH + pathName;
ftpClient.changeWorkingDirectory(pathName);
List ftpFiles = Arrays.asList(ftpClient.listFiles());
- ftpFiles = ftpFiles.stream().filter(item-> item.getName().equals(fileName)).collect(Collectors.toList());
- if (ftpFiles.size() == 0){
+ ftpFiles = ftpFiles.stream().filter(item -> item.getName().equals(fileName)).collect(Collectors.toList());
+ if (ftpFiles.size() == 0) {
result.error500("ftp获取文件数据失败");
return false;
}
FTPFile ftpFile = ftpFiles.get(0);
- if (Objects.nonNull(ftpFile)){
+ if (Objects.nonNull(ftpFile)) {
InputStream inputStream = ftpClient.retrieveFileStream(ftpFile.getName());
//声明一个临时文件
File file = File.createTempFile("tmp", null);
//将ftp文件的输入流复制给临时文件
FileUtils.copyInputStreamToFile(inputStream, file);
//读取文件信息
+ //String path = "C:\\Users\\a\\Desktop\\AUX04_005-20230601_1405_S_FULL_40186.PHD";
+ //EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(path);
EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
//MsgInfo
phd.getMsgInfo().setMsg_id(struct.msg_id);
@@ -109,64 +111,64 @@ public class GammaFileUtil {
//Comment
phd.setOriTotalCmt(struct.comment);
//Collection
- if (StringUtils.isNotBlank(struct.collection_start_date) || StringUtils.isNotBlank(struct.collection_start_time) || StringUtils.isNotBlank(struct.collection_stop_date) || StringUtils.isNotBlank(struct.collection_stop_time) || Objects.nonNull(struct.air_volume)){
+ if (StringUtils.isNotBlank(struct.collection_start_date) || StringUtils.isNotBlank(struct.collection_start_time) || StringUtils.isNotBlank(struct.collection_stop_date) || StringUtils.isNotBlank(struct.collection_stop_time) || Objects.nonNull(struct.air_volume)) {
phd.getCollect().setCollection_start_date(struct.collection_start_date);
phd.getCollect().setCollection_start_time(struct.collection_start_time);
phd.getCollect().setCollection_stop_date(struct.collection_stop_date);
phd.getCollect().setCollection_stop_time(struct.collection_stop_time);
phd.getCollect().setAir_volume(struct.air_volume);
- if(phd.getCollect().getCollection_start_time().indexOf('.')<0) {
- phd.getCollect().setCollection_start_time(phd.getCollect().getCollection_start_time()+".0");
+ if (phd.getCollect().getCollection_start_time().indexOf('.') < 0) {
+ phd.getCollect().setCollection_start_time(phd.getCollect().getCollection_start_time() + ".0");
}
- if(phd.getCollect().getCollection_stop_time().indexOf('.')<0) {
- phd.getCollect().setCollection_stop_time(phd.getCollect().getCollection_stop_time()+".0");
+ if (phd.getCollect().getCollection_stop_time().indexOf('.') < 0) {
+ phd.getCollect().setCollection_stop_time(phd.getCollect().getCollection_stop_time() + ".0");
}
- }else {
+ } else {
phd.getCollect().setAir_volume(0.0);
}
//Acquisition
- if (StringUtils.isNotBlank(struct.acquisition_start_date) || StringUtils.isNotBlank(struct.acquisition_start_time) || Objects.nonNull(struct.acquisition_real_time) || Objects.nonNull(struct.acquisition_live_time)){
+ if (StringUtils.isNotBlank(struct.acquisition_start_date) || StringUtils.isNotBlank(struct.acquisition_start_time) || Objects.nonNull(struct.acquisition_real_time) || Objects.nonNull(struct.acquisition_live_time)) {
phd.getAcq().setAcquisition_start_date(struct.acquisition_start_date);
phd.getAcq().setAcquisition_start_time(struct.acquisition_start_time);
phd.getAcq().setAcquisition_real_time(struct.acquisition_real_time);
phd.getAcq().setAcquisition_live_time(struct.acquisition_live_time);
- if(phd.getAcq().getAcquisition_start_time().indexOf('.')<0) {
- phd.getAcq().setAcquisition_start_time(phd.getAcq().getAcquisition_start_time()+".0");
+ if (phd.getAcq().getAcquisition_start_time().indexOf('.') < 0) {
+ phd.getAcq().setAcquisition_start_time(phd.getAcq().getAcquisition_start_time() + ".0");
}
- }else {
+ } else {
phd.getAcq().setAcquisition_live_time(0.0);
phd.getAcq().setAcquisition_real_time(0.0);
}
//Processing
- if (Objects.nonNull(struct.sample_volume_of_Xe) || Objects.nonNull(struct.uncertainty_1) || Objects.nonNull(struct.Xe_collection_yield) || Objects.nonNull(struct.uncertainty_2) || StringUtils.isNotBlank(struct.archive_bottle_id) ){
+ if (Objects.nonNull(struct.sample_volume_of_Xe) || Objects.nonNull(struct.uncertainty_1) || Objects.nonNull(struct.Xe_collection_yield) || Objects.nonNull(struct.uncertainty_2) || StringUtils.isNotBlank(struct.archive_bottle_id)) {
phd.getProcess().setSample_volume_of_Xe(struct.sample_volume_of_Xe);
phd.getProcess().setUncertainty_1(struct.uncertainty_1);
phd.getProcess().setXe_collection_yield(struct.Xe_collection_yield);
phd.getProcess().setUncertainty_2(struct.uncertainty_2);
phd.getProcess().setArchive_bottle_id(struct.archive_bottle_id);
- }else {
+ } else {
phd.getProcess().setSample_volume_of_Xe(0.0);
phd.getProcess().setXe_collection_yield(0.0);
phd.getProcess().setUncertainty_1(0.0);
phd.getProcess().setUncertainty_2(0.0);
}
//Sample
- if (Objects.nonNull(struct.dimension_1) || Objects.nonNull(struct.dimension_2)){
+ if (Objects.nonNull(struct.dimension_1) || Objects.nonNull(struct.dimension_2)) {
phd.getSampleBlock().setDimension_1(struct.dimension_1);
phd.getSampleBlock().setDimension_2(struct.dimension_2);
- }else {
+ } else {
phd.getSampleBlock().setDimension_1(0.0);
phd.getSampleBlock().setDimension_2(0.0);
}
//Calibration
- if (StringUtils.isNotBlank(struct.date_calibration) || StringUtils.isNotBlank(struct.time_calibration)){
+ if (StringUtils.isNotBlank(struct.date_calibration) || StringUtils.isNotBlank(struct.time_calibration)) {
phd.getCalibration().setDate_calibration(struct.date_calibration);
phd.getCalibration().setTime_calibration(struct.time_calibration);
}
//Certificate
- if (Objects.nonNull(struct.total_source_activity) || StringUtils.isNotBlank(struct.assay_date) || StringUtils.isNotBlank(struct.assay_time) || StringUtils.isNotBlank(struct.units_activity) || CollectionUtils.isNotEmpty(struct.nuclide_name)
+ if (Objects.nonNull(struct.total_source_activity) || StringUtils.isNotBlank(struct.assay_date) || StringUtils.isNotBlank(struct.assay_time) || StringUtils.isNotBlank(struct.units_activity) || CollectionUtils.isNotEmpty(struct.nuclide_name)
|| CollectionUtils.isNotEmpty(struct.half_life_time) || CollectionUtils.isNotEmpty(struct.time_unit) || CollectionUtils.isNotEmpty(struct.activity_nuclide_time_assay) || CollectionUtils.isNotEmpty(struct.uncertainty)
- || CollectionUtils.isNotEmpty(struct.cer_g_energy) || CollectionUtils.isNotEmpty(struct.g_intensity) || CollectionUtils.isNotEmpty(struct.electron_decay_mode) || CollectionUtils.isNotEmpty(struct.maximum_energy) || CollectionUtils.isNotEmpty(struct.intensity_b_particle) || Objects.nonNull(struct.record_count)){
+ || CollectionUtils.isNotEmpty(struct.cer_g_energy) || CollectionUtils.isNotEmpty(struct.g_intensity) || CollectionUtils.isNotEmpty(struct.electron_decay_mode) || CollectionUtils.isNotEmpty(struct.maximum_energy) || CollectionUtils.isNotEmpty(struct.intensity_b_particle) || Objects.nonNull(struct.record_count)) {
phd.getCertificate().setTotal_source_activity(struct.total_source_activity);
phd.getCertificate().setAssay_date(struct.assay_date);
phd.getCertificate().setAssay_time(struct.assay_time);
@@ -184,23 +186,23 @@ public class GammaFileUtil {
phd.getCertificate().setRecord_count(struct.record_count);
}
//g_Spectrum
- if (Objects.nonNull(struct.num_g_channel) || Objects.nonNull(struct.g_energy_span) || Objects.nonNull(struct.g_begin_channel) || CollectionUtils.isNotEmpty(struct.g_counts)){
+ if (Objects.nonNull(struct.num_g_channel) || Objects.nonNull(struct.g_energy_span) || Objects.nonNull(struct.g_begin_channel) || CollectionUtils.isNotEmpty(struct.g_counts)) {
phd.getSpec().setNum_g_channel(struct.num_g_channel);
phd.getSpec().setG_energy_span(struct.g_energy_span);
phd.getSpec().setBegin_channel(struct.g_begin_channel);
phd.getSpec().setCounts(struct.g_counts);
- int i=0;
- for (;i 0){
+ int i = 0;
+ for (; i < phd.getSpec().getNum_g_channel(); ++i) {
+ if (phd.getSpec().getCounts().get(i) > 0) {
break;
}
}
- if(i == phd.getSpec().getNum_g_channel()){
+ if (i == phd.getSpec().getNum_g_channel()) {
phd.setValid(false);
}
}
//g_Energy
- if (CollectionUtils.isNotEmpty(struct.g_energy) || CollectionUtils.isNotEmpty(struct.g_centroid_channel) || CollectionUtils.isNotEmpty(struct.g_uncertainty) || Objects.nonNull(struct.g_record_count)){
+ if (CollectionUtils.isNotEmpty(struct.g_energy) || CollectionUtils.isNotEmpty(struct.g_centroid_channel) || CollectionUtils.isNotEmpty(struct.g_uncertainty) || Objects.nonNull(struct.g_record_count)) {
GEnergyBlock gEnergyBlock = new GEnergyBlock();
gEnergyBlock.setG_energy(struct.g_energy);
gEnergyBlock.setCentroid_channel(struct.g_centroid_channel);
@@ -209,7 +211,7 @@ public class GammaFileUtil {
phd.getMapEnerKD().put(CalName.CalPHD.getType(), gEnergyBlock);
}
//g_Resolution
- if (CollectionUtils.isNotEmpty(struct.g_r_energy) || CollectionUtils.isNotEmpty(struct.g_r_FWHM) || CollectionUtils.isNotEmpty(struct.g_r_uncertainty) || Objects.nonNull(struct.g_r_record_count)){
+ if (CollectionUtils.isNotEmpty(struct.g_r_energy) || CollectionUtils.isNotEmpty(struct.g_r_FWHM) || CollectionUtils.isNotEmpty(struct.g_r_uncertainty) || Objects.nonNull(struct.g_r_record_count)) {
GResolutionBlock gResolutionBlock = new GResolutionBlock();
gResolutionBlock.setG_energy(struct.g_r_energy);
gResolutionBlock.setFWHM(struct.g_r_FWHM);
@@ -218,7 +220,7 @@ public class GammaFileUtil {
phd.getMapResoKD().put(CalName.CalPHD.getType(), gResolutionBlock);
}
//g_Efficiency
- if (CollectionUtils.isNotEmpty(struct.g_e_energy) || CollectionUtils.isNotEmpty(struct.g_e_efficiency) || CollectionUtils.isNotEmpty(struct.g_e_uncertainty) || Objects.nonNull(struct.g_e_record_count)){
+ if (CollectionUtils.isNotEmpty(struct.g_e_energy) || CollectionUtils.isNotEmpty(struct.g_e_efficiency) || CollectionUtils.isNotEmpty(struct.g_e_uncertainty) || Objects.nonNull(struct.g_e_record_count)) {
GEfficiencyBlock gEfficiencyBlock = new GEfficiencyBlock();
gEfficiencyBlock.setG_energy(struct.g_e_energy);
gEfficiencyBlock.setEfficiency(struct.g_e_efficiency);
@@ -227,7 +229,7 @@ public class GammaFileUtil {
phd.getMapEffiKD().put(CalName.CalPHD.getType(), gEfficiencyBlock);
}
//TotalEff
- if (CollectionUtils.isNotEmpty(struct.t_g_energy) || CollectionUtils.isNotEmpty(struct.total_efficiency) || CollectionUtils.isNotEmpty(struct.t_uncertainty) || Objects.nonNull(struct.t_record_count)){
+ if (CollectionUtils.isNotEmpty(struct.t_g_energy) || CollectionUtils.isNotEmpty(struct.total_efficiency) || CollectionUtils.isNotEmpty(struct.t_uncertainty) || Objects.nonNull(struct.t_record_count)) {
TotaleffBlock totaleffBlock = new TotaleffBlock();
totaleffBlock.setG_energy(struct.t_g_energy);
totaleffBlock.setTotal_efficiency(struct.total_efficiency);
@@ -237,18 +239,19 @@ public class GammaFileUtil {
}
// 初始化默认分析设置
- if(phd.getHeader().getSystem_type().equals("P")) {
+ if (phd.getHeader().getSystem_type().equals("P")) {
phd.getSetting().setECutAnalysis_Low(35.0);
phd.getSetting().setBUpdateCal(true);
}
- phd.getSetting().setRefTime_conc(DateUtils.parseDate(phd.getCollect().getCollection_start_date() + " " + phd.getCollect().getCollection_start_time().substring(0, phd.getCollect().getCollection_start_time().indexOf(StringPool.DOT)),"yyyy/MM/dd HH:mm:ss"));
- phd.getSetting().setRefTime_act(DateUtils.parseDate(phd.getAcq().getAcquisition_start_date() + " " + phd.getAcq().getAcquisition_start_time().substring(0, phd.getAcq().getAcquisition_start_time().indexOf(StringPool.DOT)),"yyyy/MM/dd HH:mm:ss"));
+ phd.getSetting().setRefTime_conc(DateUtils.parseDate(phd.getCollect().getCollection_start_date() + " " + phd.getCollect().getCollection_start_time().substring(0, phd.getCollect().getCollection_start_time().indexOf(StringPool.DOT)), "yyyy/MM/dd HH:mm:ss"));
+ phd.getSetting().setRefTime_act(DateUtils.parseDate(phd.getAcq().getAcquisition_start_date() + " " + phd.getAcq().getAcquisition_start_time().substring(0, phd.getAcq().getAcquisition_start_time().indexOf(StringPool.DOT)), "yyyy/MM/dd HH:mm:ss"));
phd.setUsedSetting(phd.getSetting());
phd.setBAnalyed(false);
phd.setAnaly_start_time(DateUtils.formatDate(new Date(), "yyyy/MM/dd HH:mm:ss"));
+
}
- } catch (IOException e) {
+ }catch (IOException e) {
throw new RuntimeException(e);
} catch (ParseException e) {
throw new RuntimeException(e);
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 c25ed7d3..e8102e8f 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
@@ -1,10 +1,8 @@
package org.jeecg.modules.controller;
+import cn.hutool.core.collection.CollUtil;
import org.jeecg.common.api.vo.Result;
-import org.jeecg.modules.entity.vo.ChangeData;
-import org.jeecg.modules.entity.vo.CoeffData;
-import org.jeecg.modules.entity.vo.ConfigureData;
-import org.jeecg.modules.entity.vo.InputData;
+import org.jeecg.modules.entity.vo.*;
import org.jeecg.modules.service.IGammaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -189,11 +187,25 @@ public class GammaController {
return gammaService.sampleInformation(sampleId, fileName);
}
+ @GetMapping("exportSampleInformation")
+ public void exportSampleInformation(Integer sampleId, String fileName,
+ HttpServletResponse response){
+ gammaService.exportSampleInformation(sampleId, fileName, response);
+ }
+
@GetMapping("viewQCResult")
- public Result viewQCResult(Integer sampleId, String fileName){
+ public Result> viewQCResult(Integer sampleId, String fileName){
return gammaService.viewQCResult(sampleId, fileName);
}
+ @GetMapping("exportQCResult")
+ public void exportQCResult(Integer sampleId, String fileName,HttpServletResponse response){
+ Result> result = gammaService.viewQCResult(sampleId, fileName);
+ List tableQCResults = result.getResult();
+ if (CollUtil.isEmpty(tableQCResults))return;
+ gammaService.exportQCResult(tableQCResults,response);
+ }
+
@GetMapping("viewRLR")
public Result viewRLR(Integer sampleId, String fileName){
return gammaService.viewRLR(sampleId, fileName);
diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/controller/SpectrumAnalysesController.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/controller/SpectrumAnalysesController.java
index 071d4b48..4054b615 100644
--- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/controller/SpectrumAnalysesController.java
+++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/controller/SpectrumAnalysesController.java
@@ -1,14 +1,13 @@
package org.jeecg.modules.controller;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
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.entity.GardsSampleDataSpectrum;
-import org.jeecg.modules.entity.vo.AnalyseData;
-import org.jeecg.modules.entity.vo.BgDataAnlyseResultIn;
-import org.jeecg.modules.entity.vo.FittingBody;
-import org.jeecg.modules.entity.vo.StatisticsQueryData;
+import org.jeecg.modules.entity.vo.*;
import org.jeecg.modules.service.ISpectrumAnalysisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
@@ -103,6 +102,16 @@ public class SpectrumAnalysesController {
return spectrumAnalysisService.viewQCResult(sampleId);
}
+
+ @GetMapping("exportQCResult")
+ @ApiOperation(value = "导出QC Result数据", notes = "导出QC Result数据")
+ public void exportQCResult(Integer sampleId,HttpServletResponse response){
+ Result result = spectrumAnalysisService.viewQCResult(sampleId);
+ QCResult qcResult = result.getResult();
+ if (ObjectUtil.isNull(qcResult))return;
+ spectrumAnalysisService.exportQCResult(qcResult,response);
+ }
+
@GetMapping("viewRLR")
@ApiOperation(value = "查看RLR数据", notes = "查看RLR数据")
public Result viewRLR(Integer sampleId){
@@ -183,4 +192,12 @@ public class SpectrumAnalysesController {
return spectrumAnalysisService.saveToDB(anlyseResultIn);
}
+ public static void main(String[] args) {
+ String str = "\n#FILE INFORMATION\n SampleMeasID: AUX04_005-2023/06/18-14:05\n GASBKMeasID: AUX04_005-2023/06/18-02:05\n DETBKMeasID: AUX04_005-2022/04/22-13:27\n SRID: 04202306171811X\n\n#COLLECTION INFORMATION\n Station CODE: AUX04\n Detector CODE: AUX04_005\n Sample ID: 426132\n Collection Start: 2023/06/17 18:54:10\n Collection Stop: 2023/06/18 06:54:08\n Collection TIME: 43198.00\n Sample Volume[m3]: 14.410883\n Xe Volume[cm3]: 1.00978\n\n#ACQUISITION INFORMATION\n Acquisition Start: 2023/06/18 14:05:09\n Acq Real Time: 40200.803\n Acq Live Time: 40187.202\n\n";
+ String[] parts = str.split("\\n");
+
+ for (String part : parts) {
+ System.out.println(part);
+ }
+ }
}
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 d3886c7f..9061c8f9 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
@@ -6,6 +6,7 @@ import org.jeecg.modules.entity.vo.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
+import java.util.Map;
public interface IGammaService{
@@ -72,9 +73,14 @@ public interface IGammaService{
Result Spectrum(Integer sampleId, String fileName);
- Result sampleInformation(Integer sampleId, String fileName);
+ Result