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();
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
List<ExperimentDeviationEquipment> deviationEquipmentList = oldExperiment.getDeviationEquipmentList(); deviationEquipmentList.stream().filter(
if (CollUtil.isNotEmpty(deviationEquipmentList)) { experimentIrradiationBoard -> StringUtils.equals(experimentIrradiationBoard.getSampleId(), sampleInfo.getId())
deviationEquipmentList.forEach(board -> { && StringUtils.equals(experimentIrradiationBoard.getExperimentId(), sampleInfo.getExperimentId())).forEach(
ExperimentDeviationEquipment target = new ExperimentDeviationEquipment(); board -> {
BeanUtil.copyProperties(board, target); ExperimentDeviationEquipment newExperiment = new ExperimentDeviationEquipment();
BeanUtil.copyProperties(board, newExperiment);
target.setId(null); newExperiment.setId(null);
target.setMeasurementValidity(null); newExperiment.setMeasurementValidity(null);
target.setSampleImage(null); newExperiment.setSampleImage(null);
target.setExperimentId(experiment.getId()); newExperiment.setExperimentId(experiment.getId());
experimentDeviationEquipmentService.save(target); 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);
}); });
}
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);
}); });
} }
return experiment; return experiment;