This commit is contained in:
ls
2025-07-18 14:00:05 +08:00
parent 69d79d441e
commit 5faf65f2c1

View File

@@ -173,52 +173,70 @@ public class ExperimentServiceImpl extends ServiceImpl<ExperimentMapper, Experim
experiment.setCreateTime(new Date());
save(experiment);
List<ExperimentSampleInfo> sampleInfoList = oldExperiment.getSampleInfoList();
List<ExperimentIrradiationBoard> irradiationBoardList = oldExperiment.getIrradiationBoardList();
List<ExperimentDeviationCondition> deviationConditionList = oldExperiment.getDeviationConditionList();
List<ExperimentDeviationEquipment> deviationEquipmentList = oldExperiment.getDeviationEquipmentList();
if (CollUtil.isNotEmpty(sampleInfoList)) {
sampleInfoList.forEach(sampleInfo -> {
ExperimentSampleInfo target = new ExperimentSampleInfo();
BeanUtil.copyProperties(sampleInfo, target);
target.setId(null);
target.setExperimentId(experiment.getId());
target.setSampleImage(null);
experimentSampleInfoService.save(target);
});
}
ExperimentSampleInfo newSampleInfo = new ExperimentSampleInfo();
BeanUtil.copyProperties(sampleInfo, newSampleInfo);
newSampleInfo.setId(null);
List<ExperimentIrradiationBoard> irradiationBoardList = oldExperiment.getIrradiationBoardList();
if (CollUtil.isNotEmpty(irradiationBoardList)) {
irradiationBoardList.forEach(board -> {
ExperimentIrradiationBoard target = new ExperimentIrradiationBoard();
BeanUtil.copyProperties(board, target);
target.setId(null);
target.setMeasurementValidity(null);
target.setSourceArea(null);
target.setSampleImage(null);
target.setExperimentId(experiment.getId());
experimentIrradiationBoardService.save(target);
});
}
List<ExperimentDeviationEquipment> deviationEquipmentList = oldExperiment.getDeviationEquipmentList();
if (CollUtil.isNotEmpty(deviationEquipmentList)) {
deviationEquipmentList.forEach(board -> {
ExperimentDeviationEquipment target = new ExperimentDeviationEquipment();
BeanUtil.copyProperties(board, target);
target.setId(null);
target.setMeasurementValidity(null);
target.setSampleImage(null);
target.setExperimentId(experiment.getId());
experimentDeviationEquipmentService.save(target);
});
}
List<ExperimentDeviationCondition> deviationConditionList = oldExperiment.getDeviationConditionList();
if (CollUtil.isNotEmpty(deviationConditionList)) {
deviationConditionList.forEach(board -> {
ExperimentDeviationCondition target = new ExperimentDeviationCondition();
BeanUtil.copyProperties(board, target);
target.setId(null);
target.setExperimentId(experiment.getId());
experimentDeviationConditionService.save(target);
newSampleInfo.setExperimentId(experiment.getId());
newSampleInfo.setSampleImage(null);
newSampleInfo.setCreateTime(new Date());
newSampleInfo.setUpdateTime(new Date());
experimentSampleInfoService.save(newSampleInfo);
//irradiationBoard
irradiationBoardList.stream().filter(
experimentIrradiationBoard -> StringUtils.equals(experimentIrradiationBoard.getSampleId(),
sampleInfo.getId())
&& StringUtils.equals(experimentIrradiationBoard.getExperimentId(), sampleInfo.getExperimentId()))
.forEach(
experimentIrradiationBoard -> {
ExperimentIrradiationBoard newBoard = new ExperimentIrradiationBoard();
BeanUtil.copyProperties(experimentIrradiationBoard, newBoard);
newBoard.setId(null);
newBoard.setMeasurementValidity(null);
newBoard.setSourceArea(null);
newBoard.setSampleImage(null);
newBoard.setExperimentId(experiment.getId());
newBoard.setSampleId(newSampleInfo.getId());
newBoard.setCreateTime(new Date());
newBoard.setUpdateTime(new Date());
experimentIrradiationBoardService.save(newBoard);
});
//deviationEquipment
deviationEquipmentList.stream().filter(
experimentIrradiationBoard -> StringUtils.equals(experimentIrradiationBoard.getSampleId(), sampleInfo.getId())
&& StringUtils.equals(experimentIrradiationBoard.getExperimentId(), sampleInfo.getExperimentId())).forEach(
board -> {
ExperimentDeviationEquipment newExperiment = new ExperimentDeviationEquipment();
BeanUtil.copyProperties(board, newExperiment);
newExperiment.setId(null);
newExperiment.setMeasurementValidity(null);
newExperiment.setSampleImage(null);
newExperiment.setExperimentId(experiment.getId());
newExperiment.setSampleId(newSampleInfo.getId());
newExperiment.setCreateTime(new Date());
newExperiment.setUpdateTime(new Date());
experimentDeviationEquipmentService.save(newExperiment);
});
//deviationCondition
deviationConditionList.stream().filter(
experimentIrradiationBoard -> StringUtils.equals(experimentIrradiationBoard.getSampleId(), sampleInfo.getId())
&& StringUtils.equals(experimentIrradiationBoard.getExperimentId(), sampleInfo.getExperimentId())).forEach(
board -> {
ExperimentDeviationCondition newCondition = new ExperimentDeviationCondition();
BeanUtil.copyProperties(board, newCondition);
newCondition.setId(null);
newCondition.setExperimentId(experiment.getId());
newCondition.setSampleId(newSampleInfo.getId());
newCondition.setCreateTime(new Date());
newCondition.setUpdateTime(new Date());
experimentDeviationConditionService.save(newCondition);
});
});
}
return experiment;