From 782e453ad8284b6f87ace223c4c471da068a91b6 Mon Sep 17 00:00:00 2001 From: dengchun Date: Sun, 18 May 2025 16:30:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AF=95=E9=AA=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=92=8C=E7=BC=96=E8=BE=91=E7=9A=84=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=EF=BC=8C=E5=8A=A0=E5=81=8F=E8=AE=BE=E5=A4=87=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E5=9C=A8=E4=B8=80=E4=B8=AA=E9=87=8C=E9=9D=A2=E9=80=89=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E6=A0=B7=E5=93=81=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ExperimentController.java | 84 ++++++++++++++----- 1 file changed, 65 insertions(+), 19 deletions(-) diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java index 8c7c34b..823d5db 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java @@ -150,7 +150,14 @@ public class ExperimentController extends JeecgController sampleInfoList = experiment.getSampleInfoList(); + //校验试验的基本信息 + String result = validateSampleInfos(experiment); + if (StringUtils.isNotBlank(result)) { + return Result.error(result); + } + + //TODO: 0518 暂时注释掉 + /* List sampleInfoList = experiment.getSampleInfoList(); List irradiationBoardList = experiment.getIrradiationBoardList(); List deviationConditionList = experiment.getDeviationConditionList(); List deviationEquipmentList = experiment.getDeviationEquipmentList(); @@ -166,7 +173,7 @@ public class ExperimentController extends JeecgController sampleInfoList = experiment.getSampleInfoList(); + List irradiationBoardList = experiment.getIrradiationBoardList(); + List deviationConditionList = experiment.getDeviationConditionList(); + List deviationEquipmentList = experiment.getDeviationEquipmentList(); + + Set sampleModelSet = sampleInfoList.stream() + .map(ExperimentSampleInfo::getSampleModel) + .collect(Collectors.toSet()); + + Set irradiationBoardModels = irradiationBoardList.stream() + .map(ExperimentIrradiationBoard::getSampleModel) + .filter(sampleModel -> sampleModel != null && !sampleModel.isEmpty()) + .flatMap(sampleModel -> Arrays.stream(sampleModel.split(","))) + .map(String::trim) + .collect(Collectors.toSet()); + + if (!sampleModelSet.equals(irradiationBoardModels)) { + return "辐照板信息不匹配!"; + } + + Set deviationConditionModels = deviationConditionList.stream() + .map(ExperimentDeviationCondition::getSampleModel) + .filter(sampleModel -> sampleModel != null && !sampleModel.isEmpty()) + .flatMap(sampleModel -> Arrays.stream(sampleModel.split(","))) + .map(String::trim) + .collect(Collectors.toSet()); + + if (!sampleModelSet.equals(deviationConditionModels)) { + return "偏置条件信息不匹配!"; + } + + Set deviationEquipmentModels = deviationEquipmentList.stream() + .map(ExperimentDeviationEquipment::getSampleModel) + .filter(sampleModel -> sampleModel != null && !sampleModel.isEmpty()) + .flatMap(sampleModel -> Arrays.stream(sampleModel.split(","))) + .map(String::trim) + .collect(Collectors.toSet()); + + if (!sampleModelSet.equals(deviationEquipmentModels)) { + return "加偏设备信息不匹配!"; + } + + return ""; + } + @AutoLog(value = "试验管理-暂存") @Operation(summary = "试验管理-暂存") @RequiresPermissions("database:experiment:add") @@ -235,23 +294,10 @@ public class ExperimentController extends JeecgController sampleInfoList = experiment.getSampleInfoList(); - List irradiationBoardList = experiment.getIrradiationBoardList(); - List deviationConditionList = experiment.getDeviationConditionList(); - List deviationEquipmentList = experiment.getDeviationEquipmentList(); - Set sampleList = sampleInfoList.stream().map(v -> v.getSampleModel()).collect(Collectors.toUnmodifiableSet()); - Set boardList = irradiationBoardList.stream().map(v -> v.getSampleModel()).collect(Collectors.toUnmodifiableSet()); - Set conditionList = deviationConditionList.stream().map(v -> v.getSampleModel()).collect(Collectors.toUnmodifiableSet()); - Set equipmentList = deviationEquipmentList.stream().map(v -> v.getSampleModel()).collect(Collectors.toUnmodifiableSet()); - if (!sampleList.equals(boardList)) { - return Result.error("辐照板信息不匹配!"); - } - if (!sampleList.equals(conditionList)) { - return Result.error("偏置条件信息不匹配!"); - } - - if (!sampleList.equals(equipmentList)) { - return Result.error("加偏设备信息不匹配!"); + //校验试验的基本信息 + String result = validateSampleInfos(experiment); + if (StringUtils.isNotBlank(result)) { + return Result.error(result); } experimentService.saveWithDetail(experiment);