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 95aed7f..0b1236a 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 @@ -148,6 +148,20 @@ public class ExperimentController extends JeecgController edit(@RequestBody Experiment experiment, HttpServletRequest request) { + String experimentUser = experiment.getExperimentUser(); + if (StringUtils.isNotBlank(experimentUser)) { + experimentUserService.removeByExperimentId(experiment.getId()); + String[] split = experimentUser.split(","); + List userList = new ArrayList<>(); + for (String userId : split) { + ExperimentUser userDomain = new ExperimentUser(); + userDomain.setExperimentId(experiment.getId()); + userDomain.setUserId(userId); + userDomain.setType("OPERATOR"); + userList.add(userDomain); + } + experimentUserService.saveBatch(userList); + } experimentService.updateById(experiment); ExperimentLog experimentLog = new ExperimentLog(); experimentLog.setExperimentId(experiment.getId()); diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/Experiment.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/Experiment.java index 5bbd16c..117056f 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/Experiment.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/Experiment.java @@ -163,6 +163,14 @@ public class Experiment implements Serializable { @Schema(description = "复制次数") private Integer copyCount; + + /** + * 试验人员ID, 逗号分割多个 + */ + @TableField(exist = false) + private String experimentUser; + + public void addCopyCount() { if (Objects.isNull(copyCount)) { setCopyCount(1); diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentUserService.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentUserService.java index c654eb1..79eacf9 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentUserService.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentUserService.java @@ -14,4 +14,5 @@ import java.util.List; public interface IExperimentUserService extends IService { List getByExperimentId(String experimentId); + void removeByExperimentId(String experimentId); } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentUserServiceImpl.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentUserServiceImpl.java index 3bbc0c5..b74699a 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentUserServiceImpl.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentUserServiceImpl.java @@ -22,4 +22,10 @@ public class ExperimentUserServiceImpl extends ServiceImpl getByExperimentId(String experimentId) { return list(new LambdaQueryWrapper().eq(ExperimentUser::getExperimentId, experimentId)); } + + @Override + public void removeByExperimentId(String experimentId) { + List userList = getByExperimentId(experimentId); + userList.forEach(user -> removeById(user.getId())); + } }