添加生成html格式的RRR报告

This commit is contained in:
duwenyuan 2026-07-20 18:27:36 +08:00
parent d04a18db0b
commit b73d9b54e2
14 changed files with 2884 additions and 5904 deletions

View File

@ -26,8 +26,11 @@ public class SpectrumAnalysesController {
@GetMapping("initValue") @GetMapping("initValue")
@ApiOperation(value = "初始化数据", notes = "初始化数据") @ApiOperation(value = "初始化数据", notes = "初始化数据")
public void initValue(String dbName, Integer sampleId, String analyst, String sampleFileName, String gasFileName, String detFileName, String qcFileName, HttpServletRequest request) { public void initValue(String dbName, Integer sampleId, String analyst, String sampleFileName,
spectrumAnalysisService.initValue(dbName, sampleId, analyst, sampleFileName, gasFileName, detFileName, qcFileName, request); String gasFileName, String detFileName, String qcFileName,
HttpServletRequest request) {
spectrumAnalysisService.initValue(dbName, sampleId, analyst, sampleFileName, gasFileName,
detFileName, qcFileName, request);
} }
@GetMapping("getDBSearchList") @GetMapping("getDBSearchList")
@ -38,9 +41,15 @@ public class SpectrumAnalysesController {
@GetMapping("getDBSpectrumList") @GetMapping("getDBSpectrumList")
@ApiOperation(value = "获取数据库中交互分析基础数据", notes = "获取数据库中交互分析基础数据") @ApiOperation(value = "获取数据库中交互分析基础数据", notes = "获取数据库中交互分析基础数据")
public Result getDBSpectrumList(QueryRequest queryRequest, GardsSampleDataSpectrum gardsSampleData, String dbName, String[] menuTypes, boolean AllUsers, boolean CollectStopB, boolean AcqStartB, public Result getDBSpectrumList(QueryRequest queryRequest,
@DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate, HttpServletRequest request) { GardsSampleDataSpectrum gardsSampleData, String dbName,
return spectrumAnalysisService.getDBSpectrumList(queryRequest, gardsSampleData, dbName, menuTypes, AllUsers, CollectStopB, AcqStartB, startDate, endDate, request); String[] menuTypes, boolean AllUsers, boolean CollectStopB,
boolean AcqStartB,
@DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate,
@DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate,
HttpServletRequest request) {
return spectrumAnalysisService.getDBSpectrumList(queryRequest, gardsSampleData, dbName,
menuTypes, AllUsers, CollectStopB, AcqStartB, startDate, endDate, request);
} }
@GetMapping("getFilesBySampleFile") @GetMapping("getFilesBySampleFile")
@ -51,32 +60,39 @@ public class SpectrumAnalysesController {
@GetMapping("getDBSpectrumChart") @GetMapping("getDBSpectrumChart")
@ApiOperation(value = "查询折线图相关信息接口", notes = "查询折线图相关信息接口") @ApiOperation(value = "查询折线图相关信息接口", notes = "查询折线图相关信息接口")
public Result getDBSpectrumChart(String dbName, Integer sampleId, String analyst, HttpServletRequest request) { public Result getDBSpectrumChart(String dbName, Integer sampleId, String analyst,
HttpServletRequest request) {
return spectrumAnalysisService.getDBSpectrumChart(dbName, sampleId, analyst, request); return spectrumAnalysisService.getDBSpectrumChart(dbName, sampleId, analyst, request);
} }
@GetMapping("getDBSpectrumChartApp") @GetMapping("getDBSpectrumChartApp")
@ApiOperation(value = "查询折线图相关信息接口", notes = "查询折线图相关信息接口") @ApiOperation(value = "查询折线图相关信息接口", notes = "查询折线图相关信息接口")
public Result getDBSpectrumChartApp(@RequestParam("dbName") String dbName,@RequestParam("sampleId") Integer sampleId, public Result getDBSpectrumChartApp(@RequestParam("dbName") String dbName,
@RequestParam("analyst") String analyst, HttpServletRequest request) { @RequestParam("sampleId") Integer sampleId,
@RequestParam("analyst") String analyst,
HttpServletRequest request) {
return spectrumAnalysisService.getDBSpectrumChart(dbName, sampleId, analyst, request); return spectrumAnalysisService.getDBSpectrumChart(dbName, sampleId, analyst, request);
} }
@GetMapping("getFileSpectrumChart") @GetMapping("getFileSpectrumChart")
@ApiOperation(value = "查询文件折线图相关信息接口", notes = "查询文件折线图相关信息接口") @ApiOperation(value = "查询文件折线图相关信息接口", notes = "查询文件折线图相关信息接口")
public Result getFileSpectrumChart(String sampleFileName, String gasFileName, String detFileName, String qcFileName, HttpServletRequest request) { public Result getFileSpectrumChart(String sampleFileName, String gasFileName,
return spectrumAnalysisService.getFileSpectrumChart(sampleFileName, gasFileName, detFileName, qcFileName, request); String detFileName, String qcFileName,
HttpServletRequest request) {
return spectrumAnalysisService.getFileSpectrumChart(sampleFileName, gasFileName,
detFileName, qcFileName, request);
} }
@DeleteMapping("deleteSpectrumCacheData") @DeleteMapping("deleteSpectrumCacheData")
@ApiOperation(value = "删除缓存数据",notes = "删除缓存数据") @ApiOperation(value = "删除缓存数据", notes = "删除缓存数据")
public void deleteSpectrumCacheData(String sampleFileName, HttpServletRequest request) { public void deleteSpectrumCacheData(String sampleFileName, HttpServletRequest request) {
spectrumAnalysisService.deleteSpectrumCacheData(sampleFileName, request); spectrumAnalysisService.deleteSpectrumCacheData(sampleFileName, request);
} }
@DeleteMapping("deleteSpectrumCacheDataApp") @DeleteMapping("deleteSpectrumCacheDataApp")
@ApiOperation(value = "删除缓存数据",notes = "删除缓存数据") @ApiOperation(value = "删除缓存数据", notes = "删除缓存数据")
public void deleteSpectrumCacheDataApp(@RequestParam("sampleFileName") String sampleFileName, HttpServletRequest request) { public void deleteSpectrumCacheDataApp(@RequestParam("sampleFileName") String sampleFileName,
HttpServletRequest request) {
spectrumAnalysisService.deleteSpectrumCacheData(sampleFileName, request); spectrumAnalysisService.deleteSpectrumCacheData(sampleFileName, request);
} }
@ -98,78 +114,110 @@ public class SpectrumAnalysesController {
return spectrumAnalysisService.viewRRR(rrrLogInfo, request); return spectrumAnalysisService.viewRRR(rrrLogInfo, request);
} }
@PostMapping("viewRRRHtml")
@ApiOperation(value = "查看RRRHtml报告", notes = "查看RRRHtml报告")
public Result viewRRRHtml(@RequestBody RRRLogInfo rrrLogInfo, HttpServletRequest request){
return spectrumAnalysisService.viewRRRHtml(rrrLogInfo, request);
}
@GetMapping("viewSpectrum") @GetMapping("viewSpectrum")
@ApiOperation(value = "查看Spectrum数据", notes = "查看Spectrum数据") @ApiOperation(value = "查看Spectrum数据", notes = "查看Spectrum数据")
public Result viewSpectrum(Integer sampleId, String dbName, String sampleFileName, String gasFileName, String detFileName, String qcFileName, HttpServletRequest request) { public Result viewSpectrum(Integer sampleId, String dbName, String sampleFileName,
return spectrumAnalysisService.viewSpectrum(sampleId, dbName, sampleFileName, gasFileName, detFileName, qcFileName, request); String gasFileName, String detFileName, String qcFileName,
HttpServletRequest request) {
return spectrumAnalysisService.viewSpectrum(sampleId, dbName, sampleFileName, gasFileName,
detFileName, qcFileName, request);
} }
@GetMapping("viewSampleInformation") @GetMapping("viewSampleInformation")
@ApiOperation(value = "查看SampleInformation数据", notes = "查看SampleInformation数据") @ApiOperation(value = "查看SampleInformation数据", notes = "查看SampleInformation数据")
public Result viewSampleInformation(Integer sampleId, String sampleFileName, HttpServletRequest request) { public Result viewSampleInformation(Integer sampleId, String sampleFileName,
HttpServletRequest request) {
return spectrumAnalysisService.viewSampleInformation(sampleId, sampleFileName, request); return spectrumAnalysisService.viewSampleInformation(sampleId, sampleFileName, request);
} }
@GetMapping("exportSampleInformation") @GetMapping("exportSampleInformation")
@ApiOperation(value = "导出SampleInformation数据", notes = "导出SampleInformation数据") @ApiOperation(value = "导出SampleInformation数据", notes = "导出SampleInformation数据")
public void exportSampleInformation(Integer sampleId, String sampleFileName, HttpServletRequest request, HttpServletResponse response){ public void exportSampleInformation(Integer sampleId, String sampleFileName,
spectrumAnalysisService.exportSampleInformation(sampleId, sampleFileName, request,response); HttpServletRequest request, HttpServletResponse response) {
spectrumAnalysisService.exportSampleInformation(sampleId, sampleFileName, request,
response);
} }
@GetMapping("viewQCResult") @GetMapping("viewQCResult")
@ApiOperation(value = "查看QC Result数据", notes = "查看QC Result数据") @ApiOperation(value = "查看QC Result数据", notes = "查看QC Result数据")
public Result viewQCResult(Integer sampleId, String dbName, String sampleFileName, String gasFileName, String detFileName, HttpServletRequest request) { public Result viewQCResult(Integer sampleId, String dbName, String sampleFileName,
return spectrumAnalysisService.viewQCResult(sampleId, dbName, sampleFileName, gasFileName ,detFileName, request); String gasFileName, String detFileName, HttpServletRequest request) {
return spectrumAnalysisService.viewQCResult(sampleId, dbName, sampleFileName, gasFileName,
detFileName, request);
} }
@GetMapping("exportQCResult") @GetMapping("exportQCResult")
@ApiOperation(value = "导出QC Result数据", notes = "导出QC Result数据") @ApiOperation(value = "导出QC Result数据", notes = "导出QC Result数据")
public void exportQCResult(Integer sampleId, String dbName, String sampleFileName, String gasFileName, String detFileName, HttpServletRequest request, HttpServletResponse response){ public void exportQCResult(Integer sampleId, String dbName, String sampleFileName,
spectrumAnalysisService.exportQCResult(sampleId, dbName, sampleFileName, gasFileName ,detFileName, request,response); String gasFileName, String detFileName, HttpServletRequest request,
HttpServletResponse response) {
spectrumAnalysisService.exportQCResult(sampleId, dbName, sampleFileName, gasFileName,
detFileName, request, response);
} }
@GetMapping("exportQCResultTXT") @GetMapping("exportQCResultTXT")
public void exportQCResultTXT(Integer sampleId, String dbName, String sampleFileName, String gasFileName, String detFileName, HttpServletRequest request, HttpServletResponse response) { public void exportQCResultTXT(Integer sampleId, String dbName, String sampleFileName,
spectrumAnalysisService.exportQCResultTXT(sampleId, dbName, sampleFileName, gasFileName, detFileName, request, response); String gasFileName, String detFileName,
HttpServletRequest request, HttpServletResponse response) {
spectrumAnalysisService.exportQCResultTXT(sampleId, dbName, sampleFileName, gasFileName,
detFileName, request, response);
} }
@GetMapping("viewRLR") @GetMapping("viewRLR")
@ApiOperation(value = "查看RLR数据", notes = "查看RLR数据") @ApiOperation(value = "查看RLR数据", notes = "查看RLR数据")
public Result viewRLR(Integer sampleId, String sampleFileName, String gasFileName, String detFileName, HttpServletRequest request) { public Result viewRLR(Integer sampleId, String sampleFileName, String gasFileName,
return spectrumAnalysisService.viewRLR(sampleId, sampleFileName, gasFileName, detFileName, request); String detFileName, HttpServletRequest request) {
return spectrumAnalysisService.viewRLR(sampleId, sampleFileName, gasFileName, detFileName,
request);
} }
@PostMapping("exportRLR") @PostMapping("exportRLR")
@ApiOperation(value = "导出RLR数据", notes = "导出RLR数据") @ApiOperation(value = "导出RLR数据", notes = "导出RLR数据")
public void exportRLR(@RequestBody BetaRLR betaRLR , HttpServletResponse response) { public void exportRLR(@RequestBody BetaRLR betaRLR, HttpServletResponse response) {
spectrumAnalysisService.exportRLR(betaRLR, response); spectrumAnalysisService.exportRLR(betaRLR, response);
} }
@GetMapping("viewGammaDetectorCalibration") @GetMapping("viewGammaDetectorCalibration")
@ApiOperation(value = "查询GammaDetectorCalibration数据", notes = "查询GammaDetectorCalibration数据") @ApiOperation(value = "查询GammaDetectorCalibration数据", notes = "查询GammaDetectorCalibration数据")
public Result viewGammaDetectorCalibration(Integer sampleId, String sampleFileName, String qcFileName, boolean fittingBtn, HttpServletRequest request) { public Result viewGammaDetectorCalibration(Integer sampleId, String sampleFileName,
return spectrumAnalysisService.viewGammaDetectorCalibration(sampleId, sampleFileName, qcFileName, fittingBtn, request); String qcFileName, boolean fittingBtn,
HttpServletRequest request) {
return spectrumAnalysisService.viewGammaDetectorCalibration(sampleId, sampleFileName,
qcFileName, fittingBtn, request);
} }
@GetMapping("viewBetaDetectorCalibration") @GetMapping("viewBetaDetectorCalibration")
@ApiOperation(value = "查询BetaDetectorCalibration数据", notes = "查询BetaDetectorCalibration数据") @ApiOperation(value = "查询BetaDetectorCalibration数据", notes = "查询BetaDetectorCalibration数据")
public Result viewBetaDetectorCalibration(Integer sampleId, String sampleFileName, String qcFileName, boolean fittingBtn, HttpServletRequest request) { public Result viewBetaDetectorCalibration(Integer sampleId, String sampleFileName,
return spectrumAnalysisService.viewBetaDetectorCalibration(sampleId, sampleFileName, qcFileName, fittingBtn, request); String qcFileName, boolean fittingBtn,
HttpServletRequest request) {
return spectrumAnalysisService.viewBetaDetectorCalibration(sampleId, sampleFileName,
qcFileName, fittingBtn, request);
} }
@GetMapping("viewExtrapolation") @GetMapping("viewExtrapolation")
@ApiOperation(value = "查询Extrapolation数据", notes = "查询Extrapolation数据") @ApiOperation(value = "查询Extrapolation数据", notes = "查询Extrapolation数据")
public Result viewExtrapolation(Integer sampleId, String sampleFileName, HttpServletRequest request) { public Result viewExtrapolation(Integer sampleId, String sampleFileName,
HttpServletRequest request) {
return spectrumAnalysisService.viewExtrapolation(sampleId, sampleFileName, request); return spectrumAnalysisService.viewExtrapolation(sampleId, sampleFileName, request);
} }
@PostMapping("changeDataExtrapolation") @PostMapping("changeDataExtrapolation")
public Result changeDataExtrapolation(@RequestBody ChangeExtInfo extInfo, HttpServletRequest request) { public Result changeDataExtrapolation(@RequestBody ChangeExtInfo extInfo,
HttpServletRequest request) {
return spectrumAnalysisService.changeDataExtrapolation(extInfo, request); return spectrumAnalysisService.changeDataExtrapolation(extInfo, request);
} }
@PostMapping("analyseExtrapolation") @PostMapping("analyseExtrapolation")
public Result analyseExtrapolation(@RequestBody AnalyseExtInfo extInfo, HttpServletRequest request) { public Result analyseExtrapolation(@RequestBody AnalyseExtInfo extInfo,
HttpServletRequest request) {
return spectrumAnalysisService.analyseExtrapolation(extInfo, request); return spectrumAnalysisService.analyseExtrapolation(extInfo, request);
} }
@ -193,20 +241,30 @@ public class SpectrumAnalysesController {
@GetMapping("statisticsQueryBtn") @GetMapping("statisticsQueryBtn")
@ApiOperation(value = "报警按钮分析数据", notes = "报警按钮分析数据") @ApiOperation(value = "报警按钮分析数据", notes = "报警按钮分析数据")
public Result statisticsQueryBtn(Integer detectorId, String detectorName, Integer stationId, String statisticsType, @DateTimeFormat(pattern = "yyyy-MM-dd") Date startTime, @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) { public Result statisticsQueryBtn(Integer detectorId, String detectorName, Integer stationId,
return spectrumAnalysisService.statisticsQueryBtn(detectorId, detectorName, stationId, statisticsType, startTime, endTime); String statisticsType,
@DateTimeFormat(pattern = "yyyy-MM-dd") Date startTime,
@DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
return spectrumAnalysisService.statisticsQueryBtn(detectorId, detectorName, stationId,
statisticsType, startTime, endTime);
} }
@PostMapping("fitting") @PostMapping("fitting")
@ApiOperation(value = "公式计算新的曲线", notes = "公式计算新的曲线") @ApiOperation(value = "公式计算新的曲线", notes = "公式计算新的曲线")
public Result fitting(@RequestBody FittingBody fittingBody, HttpServletRequest request) { public Result fitting(@RequestBody FittingBody fittingBody, HttpServletRequest request) {
return spectrumAnalysisService.fitting(fittingBody.getParamA(), fittingBody.getParamB(), fittingBody.getParamC(), fittingBody.getTempPoints(), fittingBody.getCount(), fittingBody.getSampleFileName(), fittingBody.getTabName(), fittingBody.isFittingBtn(), request); return spectrumAnalysisService.fitting(fittingBody.getParamA(), fittingBody.getParamB(),
fittingBody.getParamC(), fittingBody.getTempPoints(), fittingBody.getCount(),
fittingBody.getSampleFileName(), fittingBody.getTabName(),
fittingBody.isFittingBtn(), request);
} }
@GetMapping("getGammaGated") @GetMapping("getGammaGated")
@ApiOperation(value = "获取gamma对应count数据", notes = "获取gamma对应count数据") @ApiOperation(value = "获取gamma对应count数据", notes = "获取gamma对应count数据")
public Result getGammaGated(Integer chartHeight, Integer channelWidth, Integer gammaChannel, Integer sampleId, String qcFileName, String sampleFileName, HttpServletRequest request) { public Result getGammaGated(Integer chartHeight, Integer channelWidth, Integer gammaChannel,
return spectrumAnalysisService.getGammaGated(chartHeight, channelWidth, gammaChannel, sampleId, qcFileName, sampleFileName, request); Integer sampleId, String qcFileName, String sampleFileName,
HttpServletRequest request) {
return spectrumAnalysisService.getGammaGated(chartHeight, channelWidth, gammaChannel,
sampleId, qcFileName, sampleFileName, request);
} }
@PostMapping("resetButton") @PostMapping("resetButton")
@ -222,20 +280,26 @@ public class SpectrumAnalysesController {
@PostMapping("analyseCurrentSpectrum") @PostMapping("analyseCurrentSpectrum")
@ApiOperation(value = "解析当前加载文件数据", notes = "解析当前加载文件数据") @ApiOperation(value = "解析当前加载文件数据", notes = "解析当前加载文件数据")
public Result analyseCurrentSpectrum(@RequestBody AnalyseBetaInfo analyseBetaInfo, HttpServletRequest request) { public Result analyseCurrentSpectrum(@RequestBody AnalyseBetaInfo analyseBetaInfo,
HttpServletRequest request) {
String dbName = analyseBetaInfo.getDbNames().get(0); String dbName = analyseBetaInfo.getDbNames().get(0);
Integer sampleId = analyseBetaInfo.getSampleIds().get(0); Integer sampleId = analyseBetaInfo.getSampleIds().get(0);
String sampleFileName = analyseBetaInfo.getSampleFileNames().get(0); String sampleFileName = analyseBetaInfo.getSampleFileNames().get(0);
String gasFileName = analyseBetaInfo.getGasFileNames().get(0); String gasFileName = analyseBetaInfo.getGasFileNames().get(0);
String detFileName = analyseBetaInfo.getDetFileNames().get(0); String detFileName = analyseBetaInfo.getDetFileNames().get(0);
String qcFileName = analyseBetaInfo.getQcFileNames().get(0); String qcFileName = analyseBetaInfo.getQcFileNames().get(0);
return spectrumAnalysisService.analyseCurrentSpectrum(dbName, sampleId, sampleFileName, gasFileName, detFileName, qcFileName, request); return spectrumAnalysisService.analyseCurrentSpectrum(dbName, sampleId, sampleFileName,
gasFileName, detFileName, qcFileName, request);
} }
@PostMapping("analyseAllSpectrum") @PostMapping("analyseAllSpectrum")
@ApiOperation(value = "解析全部加载文件数据", notes = "解析全部加载文件数据") @ApiOperation(value = "解析全部加载文件数据", notes = "解析全部加载文件数据")
public Result analyseAllSpectrum(@RequestBody AnalyseBetaInfo analyseBetaInfo, HttpServletRequest request) { public Result analyseAllSpectrum(@RequestBody AnalyseBetaInfo analyseBetaInfo,
return spectrumAnalysisService.analyseAllSpectrum(analyseBetaInfo.getDbNames(), analyseBetaInfo.getSampleIds(), analyseBetaInfo.getSampleFileNames(), analyseBetaInfo.getGasFileNames(), analyseBetaInfo.getDetFileNames(), analyseBetaInfo.getQcFileNames(), analyseBetaInfo.getCurrentFileName(), request); HttpServletRequest request) {
return spectrumAnalysisService.analyseAllSpectrum(analyseBetaInfo.getDbNames(),
analyseBetaInfo.getSampleIds(), analyseBetaInfo.getSampleFileNames(),
analyseBetaInfo.getGasFileNames(), analyseBetaInfo.getDetFileNames(),
analyseBetaInfo.getQcFileNames(), analyseBetaInfo.getCurrentFileName(), request);
} }
@GetMapping("viewAutomaticAnalysisLog") @GetMapping("viewAutomaticAnalysisLog")
@ -251,25 +315,26 @@ public class SpectrumAnalysesController {
} }
@PostMapping("saveToDB") @PostMapping("saveToDB")
public Result saveToDB(@RequestBody BgDataAnlyseResultIn anlyseResultIn, HttpServletRequest request) { public Result saveToDB(@RequestBody BgDataAnlyseResultIn anlyseResultIn,
HttpServletRequest request) {
return spectrumAnalysisService.saveToDB(anlyseResultIn, request); return spectrumAnalysisService.saveToDB(anlyseResultIn, request);
} }
@PostMapping("saveToHTML") @PostMapping("saveToHTML")
public void saveToHTML(HttpServletRequest request, HttpServletResponse response, public void saveToHTML(HttpServletRequest request, HttpServletResponse response,
@RequestBody RRRLogInfo rrrLogInfo){ @RequestBody RRRLogInfo rrrLogInfo) {
spectrumAnalysisService.saveToHTML(rrrLogInfo, request, response); spectrumAnalysisService.saveToHTML(rrrLogInfo, request, response);
} }
@PostMapping("saveToExcel") @PostMapping("saveToExcel")
public void saveToExcel(HttpServletRequest request, HttpServletResponse response, public void saveToExcel(HttpServletRequest request, HttpServletResponse response,
@RequestBody RRRLogInfo rrrLogInfo){ @RequestBody RRRLogInfo rrrLogInfo) {
spectrumAnalysisService.saveToExcel(rrrLogInfo, request, response); spectrumAnalysisService.saveToExcel(rrrLogInfo, request, response);
} }
@PostMapping("saveToTxt") @PostMapping("saveToTxt")
public void saveToTxt(HttpServletRequest request, HttpServletResponse response, public void saveToTxt(HttpServletRequest request, HttpServletResponse response,
@RequestBody RRRLogInfo rrrLogInfo){ @RequestBody RRRLogInfo rrrLogInfo) {
spectrumAnalysisService.saveToTxt(rrrLogInfo, request, response); spectrumAnalysisService.saveToTxt(rrrLogInfo, request, response);
} }

View File

@ -2,6 +2,7 @@ package org.jeecg.modules.entity.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import org.jeecg.modules.entity.RatioType;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date; import java.util.Date;
@ -9,16 +10,42 @@ import java.util.Date;
@Data @Data
public class NuclideRatioResult { public class NuclideRatioResult {
private String sampleId; private String sampleId;
private Double ratio; // Xe-133 / Xe-131m private RatioType ratioType; // 新增标识哪种比值
private Double ratio;
private Double numerator; // 新增分子值调试用
private Double denominator; // 新增分母值调试用
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date collectStop; // 停止采集时间 private Date collectStop;
private String status; // 计算状态 SUCCESS, MISSING_DATA, ZERO_DENOMINATOR
public NuclideRatioResult(String sampleId, Double ratio, Date collectStop, String status) { private String status; // SUCCESS, MISSING_DATA, ZERO_DENOMINATOR
/**
* 成功时的构造
*/
public NuclideRatioResult(String sampleId, RatioType ratioType,
Double ratio, Double numerator,
Double denominator, Date collectStop) {
this.sampleId = sampleId; this.sampleId = sampleId;
this.ratioType = ratioType;
this.ratio = ratio; this.ratio = ratio;
this.numerator = numerator;
this.denominator = denominator;
this.collectStop = collectStop; this.collectStop = collectStop;
this.status = "SUCCESS";
}
/**
* 失败时的构造无比值结果
*/
public NuclideRatioResult(String sampleId, RatioType ratioType,
String status) {
this.sampleId = sampleId;
this.ratioType = ratioType;
this.ratio = null;
this.numerator = null;
this.denominator = null;
this.collectStop = null;
this.status = status; this.status = status;
} }
} }

View File

@ -240,9 +240,13 @@ public interface SpectrumAnalysisMapper {
@Param("startTime") Date startTime); @Param("startTime") Date startTime);
List<NuclideAnalysisInfo> selectXeDataPastYear(@Param("schemaName") String schemaName, List<NuclideAnalysisInfo> selectXeDataPastYear(@Param("schemaName") String schemaName,
@Param("sampleId") String sampleId, @Param("stationId") String stationId,
@Param(value = "userName") String userName, @Param(value = "userName") String userName,
@Param("startTime") Date startTime, @Param("startTime") Date startTime,
@Param("endTime") Date endTime); @Param("endTime") Date endTime);
List<NuclideAnalysisInfo> selectXeData(@Param("schemaName") String schemaName,
@Param("sampleId") String sampleId,
@Param(value = "userName") String userName
);
} }

View File

@ -58,4 +58,40 @@
WHERE IDANALYSIS = #{analyses.idAnalysis} WHERE IDANALYSIS = #{analyses.idAnalysis}
</update> </update>
<update id="updateEntity">
UPDATE RNMAN.GARDS_ANALYSES
SET ANALYSISBEGIN =
<choose>
<when test="dbType == 'Oracle'">
TO_DATE(#{analyses.analysisBeginStr}, 'YYYY/MM/DD HH24:MI:SS')
</when>
<otherwise>
TO_TIMESTAMP(#{analyses.analysisBeginStr}, 'YYYY/MM/DD HH24:MI:SS')
</otherwise>
</choose>,
ANALYSISEND =
<choose>
<when test="dbType == 'PostgreSQL'">
TO_DATE(#{analyses.analysisEndStr}, 'YYYY/MM/DD HH24:MI:SS')
</when>
<otherwise>
TO_TIMESTAMP(#{analyses.analysisEndStr}, 'YYYY/MM/DD HH24:MI:SS')
</otherwise>
</choose>,
SOFTWARE = #{analyses.software},
SWVERSION = #{analyses.swVersion},
COMMENTS = #{analyses.comments},
SEARCHSTARTCHANNEL = #{analyses.searchStartChannel},
SEARCHENDCHANNEL = #{analyses.searchEndChannel},
SEARCHTHRESHOLD = #{analyses.searchThreshold},
NUMBEROFPEAKS = #{analyses.numberOfPeaks},
TOTALCOUNTS = #{analyses.totalCounts},
BASELINE_PATH = #{analyses.baselinePath},
LC_PATH = #{analyses.lcPath},
SCAC_PATH = #{analyses.scacPath},
LOG_PATH = #{analyses.logPath},
REPORT_PAHT = #{analyses.reportPath}
WHERE IDANALYSIS = #{analyses.idAnalysis}
</update>
</mapper> </mapper>

View File

@ -40,7 +40,11 @@
WHEN 10 THEN 'XE133' WHEN 10 THEN 'XE133'
WHEN 11 THEN 'XE135' WHEN 11 THEN 'XE135'
ELSE 'UNKNOWN' ELSE 'UNKNOWN'
END as NUCLIDE_NAME, CONC, CONC_ERR, MDC, NID_FLAG END as NUCLIDE_NAME,
TRIM(TO_CHAR(CONC, 'FM999990.099999')) AS CONC,
TRIM(TO_CHAR(CONC_ERR, 'FM999990.099999')) AS CONC_ERR,
TRIM(TO_CHAR(MDC, 'FM999990.099999')) AS MDC,
NID_FLAG
FROM rmsman.gards_bg_isotope_concs FROM rmsman.gards_bg_isotope_concs
WHERE SAMPLE_ID = #{sampleId} WHERE SAMPLE_ID = #{sampleId}
</select> </select>

View File

@ -1291,11 +1291,31 @@
AND xe.IDANALYSIS = b.IDANALYSIS AND xe.IDANALYSIS = b.IDANALYSIS
LEFT JOIN ORIGINAL.GARDS_SAMPLE_DATA a LEFT JOIN ORIGINAL.GARDS_SAMPLE_DATA a
ON xe.SAMPLE_ID = a.SAMPLE_ID ON xe.SAMPLE_ID = a.SAMPLE_ID
WHERE a.SAMPLE_ID = #{sampleId} WHERE a.STATION_ID = #{stationId}
AND b.ANALYST = #{userName} AND b.ANALYST = #{userName}
AND a.COLLECT_STOP IS NOT NULL AND a.COLLECT_STOP IS NOT NULL
AND a.COLLECT_STOP BETWEEN #{startTime} AND #{endTime} AND a.COLLECT_STOP BETWEEN #{startTime} AND #{endTime}
</select>
<select id="selectXeData" resultType="org.jeecg.modules.entity.vo.NuclideAnalysisInfo">
SELECT a.SAMPLE_ID,
a.COLLECT_STOP,
b.CATEGORY,
xe.CONC,
xe.CONC_ERR,
xe.MDC,
xe.NUCLIDE_NAME,
xe.LC
FROM ${schemaName}.GARDS_XE_RESULTS xe
LEFT JOIN ${schemaName}.GARDS_ANALYSES b
ON xe.SAMPLE_ID = b.SAMPLE_ID
AND xe.IDANALYSIS = b.IDANALYSIS
LEFT JOIN ORIGINAL.GARDS_SAMPLE_DATA a
ON xe.SAMPLE_ID = a.SAMPLE_ID
WHERE a.SAMPLE_ID = #{sampleId}
AND b.ANALYST = #{userName}
AND a.COLLECT_STOP IS NOT NULL
</select> </select>
<select id="roiPaths" resultType="org.jeecg.modules.base.dto.RoiDto"> <select id="roiPaths" resultType="org.jeecg.modules.base.dto.RoiDto">
SELECT ROI_NUM, PHD_PATH SELECT ROI_NUM, PHD_PATH

View File

@ -148,6 +148,8 @@ public interface IGammaService{
Result viewRRR(Integer sampleId, String fileName, HttpServletRequest request); Result viewRRR(Integer sampleId, String fileName, HttpServletRequest request);
Result viewRRRHtml(Integer sampleId, String fileName, HttpServletRequest request);
void exportRRR(Integer sampleId, String fileName, HttpServletRequest request, HttpServletResponse response); void exportRRR(Integer sampleId, String fileName, HttpServletRequest request, HttpServletResponse response);
Result<?> radionuclideActivity(Integer sampleId, String fileName, HttpServletRequest request); Result<?> radionuclideActivity(Integer sampleId, String fileName, HttpServletRequest request);

View File

@ -34,7 +34,14 @@ public interface IGenerateHtmlReport {
* @return 生成的HTML字符串 * @return 生成的HTML字符串
*/ */
String generateHtmlReportWithTemplate(Map<String, Object> data, String templatePath); String generateHtmlReportWithTemplate(Map<String, Object> data, String templatePath);
/**
* 使用自定义模板路径生成报告并保存到指定输出目录
* @param data 报告数据键值对形式
* @param templatePath 模板文件路径相对于classpath例如 "templates/custom-report.html"
* @param outputPath 目标文件保存路径包含文件名和后缀例如 "D:/reports/report_2026.html"
* @return 保存成功返回true失败返回false
*/
boolean generateHtmlReportWithTemplateToFile(Map<String, Object> data, String templatePath, String outputPath);
/** /**
* 生成带图表和交互功能的HTML报告 * 生成带图表和交互功能的HTML报告
* @param data 报告数据 * @param data 报告数据

View File

@ -33,6 +33,7 @@ public interface ISpectrumAnalysisService {
void viewARR(Integer sampleId, HttpServletResponse response); void viewARR(Integer sampleId, HttpServletResponse response);
Result viewRRR(RRRLogInfo rrrLogInfo, HttpServletRequest request); Result viewRRR(RRRLogInfo rrrLogInfo, HttpServletRequest request);
Result viewRRRHtml(RRRLogInfo rrrLogInfo, HttpServletRequest request);
Result viewSpectrum(Integer sampleId, String dbName, String sampleFileName, String gasFileName, String detFileName, String qcFileName, HttpServletRequest request); Result viewSpectrum(Integer sampleId, String dbName, String sampleFileName, String gasFileName, String detFileName, String qcFileName, HttpServletRequest request);

View File

@ -2,13 +2,16 @@ package org.jeecg.modules.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.common.constant.enums.DbType;
import org.jeecg.common.util.DateUtils; import org.jeecg.common.util.DateUtils;
import org.jeecg.common.util.DynamicDsProperties;
import org.jeecg.modules.base.entity.rnman.GardsAnalyses; import org.jeecg.modules.base.entity.rnman.GardsAnalyses;
import org.jeecg.modules.entity.vo.GStoreMiddleProcessData; import org.jeecg.modules.entity.vo.GStoreMiddleProcessData;
import org.jeecg.modules.entity.vo.PHDFile; import org.jeecg.modules.entity.vo.PHDFile;
import org.jeecg.modules.entity.GardsAnalysesSpectrum; import org.jeecg.modules.entity.GardsAnalysesSpectrum;
import org.jeecg.modules.mapper.GardsAnalysesManMapper; import org.jeecg.modules.mapper.GardsAnalysesManMapper;
import org.jeecg.modules.service.IGardsAnalysesSpectrumService; import org.jeecg.modules.service.IGardsAnalysesSpectrumService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -19,6 +22,8 @@ import java.util.Date;
@DS("ora") @DS("ora")
public class GardsAnalysesSpectrumServiceImpl extends ServiceImpl<GardsAnalysesManMapper, GardsAnalyses> implements IGardsAnalysesSpectrumService { public class GardsAnalysesSpectrumServiceImpl extends ServiceImpl<GardsAnalysesManMapper, GardsAnalyses> implements IGardsAnalysesSpectrumService {
@Autowired
private DynamicDsProperties dynamicDsProperties;
@Override @Override
@Transactional @Transactional
public Integer insertEntity(GStoreMiddleProcessData middleData, PHDFile phd, String userName, String comments) { public Integer insertEntity(GStoreMiddleProcessData middleData, PHDFile phd, String userName, String comments) {
@ -71,7 +76,8 @@ public class GardsAnalysesSpectrumServiceImpl extends ServiceImpl<GardsAnalysesM
analyses.setScacPath(middleData.analyses_scac_filePath); analyses.setScacPath(middleData.analyses_scac_filePath);
analyses.setLogPath(middleData.analyses_LogPath); analyses.setLogPath(middleData.analyses_LogPath);
analyses.setReportPath(middleData.analyses_ReportPath); analyses.setReportPath(middleData.analyses_ReportPath);
this.baseMapper.updateEntity(analyses); DbType dbType = dynamicDsProperties.getDatasource().get("ora").getDbTypeEnum();
this.baseMapper.updateEntity(analyses,dbType.getText());
} }
} }

View File

@ -1,5 +1,6 @@
package org.jeecg.modules.service.impl; package org.jeecg.modules.service.impl;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.service.IGenerateHtmlReport; import org.jeecg.modules.service.IGenerateHtmlReport;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -11,11 +12,12 @@ import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.Base64; import java.util.Base64;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@Slf4j
@Service @Service
public class HtmlReportGenerator implements IGenerateHtmlReport { public class HtmlReportGenerator implements IGenerateHtmlReport {
@ -100,7 +102,36 @@ public class HtmlReportGenerator implements IGenerateHtmlReport {
return tempEngine.process(templatePath, context); return tempEngine.process(templatePath, context);
} }
/**
* 使用自定义模板路径生成报告并保存到指定输出目录
* @param data 报告数据键值对形式
* @param templatePath 模板文件路径相对于classpath
* @param outputPath 目标文件保存路径包含文件名
* @return 保存成功返回true失败返回false
*/
@Override
public boolean generateHtmlReportWithTemplateToFile(Map<String, Object> data, String templatePath, String outputPath) {
try {
// 使用自定义模板路径解析并生成 HTML 字符串
String htmlContent = generateHtmlReportWithTemplate(data, templatePath);
// 获取输出文件的 Path 对象
Path path = Paths.get(outputPath);
// 如果目标文件的父级目录不存在则自动创建目录
Path parentDir = path.getParent();
if (parentDir != null && Files.notExists(parentDir)) {
Files.createDirectories(parentDir);
}
// HTML 字符串以 UTF-8 编码写入指定的目标文件中
Files.write(path, htmlContent.getBytes(StandardCharsets.UTF_8));
return true;
} catch (IOException e) {
log.error("使用自定义模板路径生成报告,并保存到指定输出目录错误:",e);
return false;
}
}
/** /**
* 生成高级HTML报告可选包含图表和交互功能 * 生成高级HTML报告可选包含图表和交互功能
* @param data 报告数据键值对形式 * @param data 报告数据键值对形式