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()); experiment.setCreateTime(new Date());
save(experiment); save(experiment);
List<ExperimentSampleInfo> sampleInfoList = oldExperiment.getSampleInfoList(); List<ExperimentSampleInfo> sampleInfoList = oldExperiment.getSampleInfoList();
List<ExperimentIrradiationBoard> irradiationBoardList = oldExperiment.getIrradiationBoardList();
List<ExperimentDeviationCondition> deviationConditionList = oldExperiment.getDeviationConditionList();
List<ExperimentDeviationEquipment> deviationEquipmentList = oldExperiment.getDeviationEquipmentList();
if (CollUtil.isNotEmpty(sampleInfoList)) { if (CollUtil.isNotEmpty(sampleInfoList)) {
sampleInfoList.forEach(sampleInfo -> { sampleInfoList.forEach(sampleInfo -> {
ExperimentSampleInfo target = new ExperimentSampleInfo(); ExperimentSampleInfo newSampleInfo = new ExperimentSampleInfo();
BeanUtil.copyProperties(sampleInfo, target); BeanUtil.copyProperties(sampleInfo, newSampleInfo);
target.setId(null); newSampleInfo.setId(null);
target.setExperimentId(experiment.getId());
target.setSampleImage(null);
experimentSampleInfoService.save(target);
});
}
List<ExperimentIrradiationBoard> irradiationBoardList = oldExperiment.getIrradiationBoardList(); newSampleInfo.setExperimentId(experiment.getId());
if (CollUtil.isNotEmpty(irradiationBoardList)) { newSampleInfo.setSampleImage(null);
irradiationBoardList.forEach(board -> { newSampleInfo.setCreateTime(new Date());
ExperimentIrradiationBoard target = new ExperimentIrradiationBoard(); newSampleInfo.setUpdateTime(new Date());
BeanUtil.copyProperties(board, target); experimentSampleInfoService.save(newSampleInfo);
target.setId(null); //irradiationBoard
target.setMeasurementValidity(null); irradiationBoardList.stream().filter(
target.setSourceArea(null); experimentIrradiationBoard -> StringUtils.equals(experimentIrradiationBoard.getSampleId(),
target.setSampleImage(null); sampleInfo.getId())
target.setExperimentId(experiment.getId()); && StringUtils.equals(experimentIrradiationBoard.getExperimentId(), sampleInfo.getExperimentId()))
experimentIrradiationBoardService.save(target); .forEach(
}); experimentIrradiationBoard -> {
} ExperimentIrradiationBoard newBoard = new ExperimentIrradiationBoard();
List<ExperimentDeviationEquipment> deviationEquipmentList = oldExperiment.getDeviationEquipmentList(); BeanUtil.copyProperties(experimentIrradiationBoard, newBoard);
if (CollUtil.isNotEmpty(deviationEquipmentList)) { newBoard.setId(null);
deviationEquipmentList.forEach(board -> { newBoard.setMeasurementValidity(null);
ExperimentDeviationEquipment target = new ExperimentDeviationEquipment(); newBoard.setSourceArea(null);
BeanUtil.copyProperties(board, target); newBoard.setSampleImage(null);
newBoard.setExperimentId(experiment.getId());
target.setId(null); newBoard.setSampleId(newSampleInfo.getId());
target.setMeasurementValidity(null); newBoard.setCreateTime(new Date());
target.setSampleImage(null); newBoard.setUpdateTime(new Date());
target.setExperimentId(experiment.getId()); experimentIrradiationBoardService.save(newBoard);
experimentDeviationEquipmentService.save(target); });
}); //deviationEquipment
} deviationEquipmentList.stream().filter(
experimentIrradiationBoard -> StringUtils.equals(experimentIrradiationBoard.getSampleId(), sampleInfo.getId())
List<ExperimentDeviationCondition> deviationConditionList = oldExperiment.getDeviationConditionList(); && StringUtils.equals(experimentIrradiationBoard.getExperimentId(), sampleInfo.getExperimentId())).forEach(
if (CollUtil.isNotEmpty(deviationConditionList)) { board -> {
deviationConditionList.forEach(board -> { ExperimentDeviationEquipment newExperiment = new ExperimentDeviationEquipment();
ExperimentDeviationCondition target = new ExperimentDeviationCondition(); BeanUtil.copyProperties(board, newExperiment);
BeanUtil.copyProperties(board, target); newExperiment.setId(null);
target.setId(null); newExperiment.setMeasurementValidity(null);
target.setExperimentId(experiment.getId()); newExperiment.setSampleImage(null);
experimentDeviationConditionService.save(target); 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; return experiment;