Merge remote-tracking branch 'origin/station' into station

This commit is contained in:
nieziyan 2023-08-01 21:28:53 +08:00
commit 694162ed78
4 changed files with 63 additions and 39 deletions

View File

@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.Date; import java.util.Date;
import java.util.List;
@RestController @RestController
@RequestMapping("spectrumAnalysis") @RequestMapping("spectrumAnalysis")
@ -133,13 +134,9 @@ public class SpectrumAnalysesController {
} }
@GetMapping("fitting") @GetMapping("fitting")
public Result fitting(Double paramA, Double paramB, Double paramC, Integer points){ @ApiOperation(value = "公式计算新的曲线", notes = "公式计算新的曲线")
return null; public Result fitting(Double paramA, Double paramB, Double paramC, List<Double> tempPoints){
} return spectrumAnalysisService.fitting(paramA, paramB, paramC, tempPoints);
@PostMapping("savetoDB")
public Result savetoDB(HttpServletRequest request, Integer stationId, Integer sampleId){
return null;
} }
} }

View File

@ -0,0 +1,20 @@
package org.jeecg.modules.entity.vo;
import lombok.Data;
import java.io.Serializable;
@Data
public class TableWidget implements Serializable {
private Integer rowCount;
private Double channel;
private Double energy;
private String c;
private String keV;
}

View File

@ -8,6 +8,7 @@ import org.jeecg.modules.entity.vo.StatisticsQueryData;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.Date; import java.util.Date;
import java.util.List;
public interface ISpectrumAnalysisService { public interface ISpectrumAnalysisService {
@ -47,8 +48,6 @@ public interface ISpectrumAnalysisService {
Result statisticsQueryBtn(String detectorName, Integer stationId, String statisticsType, Date startTime, Date endTime); Result statisticsQueryBtn(String detectorName, Integer stationId, String statisticsType, Date startTime, Date endTime);
Result fitting(Double paramA, Double paramB, Double paramC, Integer points); Result fitting(Double paramA, Double paramB, Double paramC, List<Double> tempPoints);
Result saveToDB(HttpServletRequest request, Integer stationId, Integer sampleId);
} }

View File

@ -989,6 +989,7 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
temp.setY(p2); temp.setY(p2);
oldScatterSeries.add(temp); oldScatterSeries.add(temp);
} }
map.put("oldScatterSeries", oldScatterSeries);
List<Double> xs = new LinkedList<>(); List<Double> xs = new LinkedList<>();
List<Double> ys = new LinkedList<>(); List<Double> ys = new LinkedList<>();
for (int i=0; i< oldScatterSeries.size(); i++){ for (int i=0; i< oldScatterSeries.size(); i++){
@ -1174,6 +1175,7 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
temp.setY(p2); temp.setY(p2);
oldScatterSeries.add(temp); oldScatterSeries.add(temp);
} }
map.put("oldScatterSeries", oldScatterSeries);
List<Double> xs = new LinkedList<>(); List<Double> xs = new LinkedList<>();
List<Double> ys = new LinkedList<>(); List<Double> ys = new LinkedList<>();
for (int i=0; i< oldScatterSeries.size(); i++){ for (int i=0; i< oldScatterSeries.size(); i++){
@ -1711,52 +1713,58 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
} }
@Override @Override
public Result fitting(Double paramA, Double paramB, Double paramC, Integer points) { public Result fitting(Double paramA, Double paramB, Double paramC, List<Double> tempPoints) {
Result result = new Result();
Map<String, Object> map = new HashMap<>();
List<Double> fittingPara = new LinkedList<>(); List<Double> fittingPara = new LinkedList<>();
fittingPara.add(paramA); fittingPara.add(paramA);
fittingPara.add(paramB); fittingPara.add(paramB);
fittingPara.add(paramC); fittingPara.add(paramC);
List<Double> xs = new LinkedList<>(); List<Double> xs = new LinkedList<>();
for (int i=0; i<points; i++){ for (int i=0; i<tempPoints.size(); i++){
xs.add(Double.valueOf(i)); xs.add(tempPoints.get(i));
} }
List<Double> ys = EnergySpectrumHandler.GetFileFittingPara(xs, fittingPara); List<Double> ys = EnergySpectrumHandler.GetFileFittingPara(xs, fittingPara);
List<SeriseData> seriseDataList = new LinkedList<>(); List<SeriseData> seriseDataList = new LinkedList<>();
List<TableWidget> tableWidgets = new LinkedList<>();
for (int i=0; i<xs.size(); i++) { for (int i=0; i<xs.size(); i++) {
//表单数据信息
TableWidget tableWidget = new TableWidget();
tableWidget.setRowCount(i+1);
tableWidget.setChannel(xs.get(i));
tableWidget.setEnergy(ys.get(i));
tableWidgets.add(tableWidget);
//折线图位置信息
SeriseData seriseData = new SeriseData(); SeriseData seriseData = new SeriseData();
seriseData.setX(xs.get(i)); seriseData.setX(xs.get(i));
seriseData.setY(ys.get(i)); seriseData.setY(ys.get(i));
seriseDataList.add(seriseData); seriseDataList.add(seriseData);
} }
map.put("tableWidgets", tableWidgets);
map.put("newScatterSeriesData", seriseDataList);
return null; List<Double> channels = new LinkedList<>();
} for (int i=0; i<255; i++) {
channels.add(Double.valueOf(i));
@Override
public Result saveToDB(HttpServletRequest request, Integer stationId, Integer sampleId) {
Result result = new Result();
String userName = JwtUtil.getUserNameByToken(request);
boolean checkUserStation = userTaskUtil.checkUserStation(stationId, userName);
if ( !checkUserStation ) {
result.error500("This user has no right to store the results of the analysis to the database.");
return result;
} }
List<Double> energys = EnergySpectrumHandler.GetFileFittingData(channels,fittingPara);
List<SeriseData> newLineSeries = new LinkedList<>();
for (int i=0; i<channels.size(); ++i) {
SeriseData seriseData = new SeriseData();
seriseData.setX(channels.get(i));
seriseData.setY(energys.get(i));
}
map.put("newLineSeries", newLineSeries);
//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);
result.setSuccess(true);
result.setResult(map);
return result; return result;
} }
private void getData(String userName, Integer sampleId){
String dbName = "RNAUTO.GARDS_ANALYSES";
//基础数据信息
//根据sampleId 获取到文件路径信息
SpectrumFileRecord dbSpectrumFilePath = spectrumAnalysisMapper.getDBSpectrumFilePath(dbName, sampleId);
String collectStartStr = DateUtils.formatDate(dbSpectrumFilePath.getCollectStart(), "yyyy-MM-dd HH:mm:ss");
String dbQcFilePath = spectrumAnalysisMapper.getQCFilePath(dbSpectrumFilePath.getSiteDetCode(), collectStartStr);
dbSpectrumFilePath.setQcFilePath(dbQcFilePath);
//获取当前登录用户名称
String anlyseName = userName;
//获取备注信息
}
} }