fix copy
This commit is contained in:
@@ -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);
|
||||
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);
|
||||
});
|
||||
}
|
||||
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);
|
||||
//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);
|
||||
});
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user