This commit is contained in:
ls
2024-12-09 10:52:48 +08:00
parent 0b46bab5c8
commit 659cfafb1b
16 changed files with 557 additions and 330 deletions

File diff suppressed because one or more lines are too long

View File

@@ -24,7 +24,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import java.util.*;
import java.util.Arrays;
import java.util.Objects;
/**
* @Description: 退火过程
@@ -50,6 +51,11 @@ public class ExperimentAnnealProcessController extends JeecgController<Experimen
@Autowired
private IExperimentSampleInfoService experimentSampleInfoService;
@Autowired
private IExperimentDeviationConditionService experimentDeviationConditionService;
@Autowired
private IExperimentDeviationEquipmentService experimentDeviationEquipmentService;
/**
* 分页列表查询
*
@@ -68,8 +74,9 @@ public class ExperimentAnnealProcessController extends JeecgController<Experimen
HttpServletRequest req) {
QueryWrapper<ExperimentAnnealProcess> queryWrapper = QueryGenerator.initQueryWrapper(experimentAnnealProcess,
req.getParameterMap());
Page<ExperimentAnnealProcess> page = new Page<ExperimentAnnealProcess>(pageNo, pageSize);
Page<ExperimentAnnealProcess> page = new Page<>(pageNo, pageSize);
IPage<ExperimentAnnealProcess> pageList = experimentAnnealProcessService.page(page, queryWrapper);
pageList.getRecords().forEach(v -> experimentAnnealProcessService.assembleDetails(v));
return Result.OK(pageList);
}
@@ -96,16 +103,10 @@ public class ExperimentAnnealProcessController extends JeecgController<Experimen
if (StringUtils.containsAny(dbExperiment.getStatus(), ExperimentStatus.COMPLETED, ExperimentStatus.REPORT_AUDITING)) {
return Result.error("试验状态:[" + dbExperiment.getStatus() + "]不能进行修改!");
}
Experiment experiment = new Experiment();
experiment.setId(experimentId);
experiment.setStatus(ExperimentStatus.PROGRESSING);
experimentService.updateById(experiment);
List<ExperimentSampleInfo> sampleInfoList = experimentAnnealProcess.getSampleInfoList();
if (sampleInfoList!= null && sampleInfoList.size() > 0) {
for (ExperimentSampleInfo sampleInfo : sampleInfoList) {
experimentSampleInfoService.saveOrUpdate(sampleInfo);
}
}
experimentService.changeStatus(experimentId, ExperimentStatus.PROGRESSING);
experimentAnnealProcessService.saveWithDetails(experimentAnnealProcess);
ExperimentLog experimentLog = new ExperimentLog();
experimentLog.setExperimentId(experimentId);
experimentLog.setLogContent("添加退火过程");
@@ -113,7 +114,6 @@ public class ExperimentAnnealProcessController extends JeecgController<Experimen
SysUser userByName = userService.getUserByName(username);
experimentLog.setCreateBy(userByName.getRealname());
experimentLogService.save(experimentLog);
experimentAnnealProcessService.save(experimentAnnealProcess);
return Result.OK("添加成功!");
}
@@ -141,17 +141,10 @@ public class ExperimentAnnealProcessController extends JeecgController<Experimen
if (StringUtils.containsAny(dbExperiment.getStatus(), ExperimentStatus.COMPLETED, ExperimentStatus.REPORT_AUDITING)) {
return Result.error("试验状态:[" + dbExperiment.getStatus() + "]不能进行修改!");
}
Experiment experiment = new Experiment();
experiment.setId(experimentId);
experiment.setStatus(ExperimentStatus.PROGRESSING);
experimentService.updateById(experiment);
experimentService.changeStatus(experimentId, ExperimentStatus.PROGRESSING);
experimentAnnealProcessService.saveWithDetails(experimentAnnealProcess);
List<ExperimentSampleInfo> sampleInfoList = experimentAnnealProcess.getSampleInfoList();
if (sampleInfoList!= null && sampleInfoList.size() > 0) {
for (ExperimentSampleInfo sampleInfo : sampleInfoList) {
experimentSampleInfoService.saveOrUpdate(sampleInfo);
}
}
ExperimentLog experimentLog = new ExperimentLog();
experimentLog.setExperimentId(experimentId);
experimentLog.setLogContent("编辑退火过程");
@@ -159,7 +152,6 @@ public class ExperimentAnnealProcessController extends JeecgController<Experimen
SysUser userByName = userService.getUserByName(username);
experimentLog.setCreateBy(userByName.getRealname());
experimentLogService.save(experimentLog);
experimentAnnealProcessService.updateById(experimentAnnealProcess);
return Result.OK("编辑成功!");
}

View File

@@ -281,9 +281,7 @@ public class ExperimentController extends JeecgController<Experiment, IExperimen
@Operation(summary = "试验管理-完成试验")
@PostMapping(value = "/complete")
public Result<String> complete(@RequestParam(name = "id", required = true) String id) {
Experiment experiment = experimentService.getById(id);
experiment.setStatus(ExperimentStatus.COMPLETED);
experimentService.updateById(experiment);
experimentService.changeStatus(id, ExperimentStatus.COMPLETED);
return Result.OK("试验已完成!");
}

View File

@@ -25,7 +25,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import java.util.*;
import java.util.Arrays;
import java.util.Objects;
/**
* @Description: 辐照过程
@@ -72,6 +73,7 @@ public class ExperimentRadiationProcessController extends JeecgController<Experi
req.getParameterMap());
Page<ExperimentRadiationProcess> page = new Page<ExperimentRadiationProcess>(pageNo, pageSize);
IPage<ExperimentRadiationProcess> pageList = experimentRadiationProcessService.page(page, queryWrapper);
pageList.getRecords().forEach(v -> experimentRadiationProcessService.assembleDetails(v));
return Result.OK(pageList);
}
@@ -99,17 +101,10 @@ public class ExperimentRadiationProcessController extends JeecgController<Experi
}
experimentRadiationProcess.setId(null);
Experiment experiment = new Experiment();
experiment.setId(experimentId);
experiment.setStatus(ExperimentStatus.PROGRESSING);
experimentService.updateById(experiment);
List<ExperimentSampleInfo> sampleInfoList = experimentRadiationProcess.getSampleInfoList();
if (sampleInfoList!= null && sampleInfoList.size() > 0) {
for (ExperimentSampleInfo sampleInfo : sampleInfoList) {
experimentSampleInfoService.saveOrUpdate(sampleInfo);
}
}
experimentService.changeStatus(experimentId ,ExperimentStatus.PROGRESSING);
experimentRadiationProcessService.saveWithDetails(experimentRadiationProcess);
ExperimentLog experimentLog = new ExperimentLog();
experimentLog.setExperimentId(experimentId);
@@ -118,7 +113,6 @@ public class ExperimentRadiationProcessController extends JeecgController<Experi
SysUser userByName = userService.getUserByName(username);
experimentLog.setCreateBy(userByName.getRealname());
experimentLogService.save(experimentLog);
experimentRadiationProcessService.save(experimentRadiationProcess);
return Result.OK("添加成功!");
}
@@ -146,16 +140,10 @@ public class ExperimentRadiationProcessController extends JeecgController<Experi
if (StringUtils.containsAny(dbExperiment.getStatus(), ExperimentStatus.COMPLETED, ExperimentStatus.REPORT_AUDITING)) {
return Result.error("试验状态:[" + dbExperiment.getStatus() + "]不能进行修改!");
}
Experiment experiment = new Experiment();
experiment.setId(experimentId);
experiment.setStatus(ExperimentStatus.PROGRESSING);
experimentService.updateById(experiment);
List<ExperimentSampleInfo> sampleInfoList = experimentRadiationProcess.getSampleInfoList();
if (sampleInfoList!= null && sampleInfoList.size() > 0) {
for (ExperimentSampleInfo sampleInfo : sampleInfoList) {
experimentSampleInfoService.saveOrUpdate(sampleInfo);
}
}
experimentService.changeStatus(experimentId,ExperimentStatus.PROGRESSING);
experimentRadiationProcessService.saveWithDetails(experimentRadiationProcess);
ExperimentLog experimentLog = new ExperimentLog();
experimentLog.setExperimentId(experimentId);
experimentLog.setLogContent("编辑辐照过程");
@@ -163,7 +151,6 @@ public class ExperimentRadiationProcessController extends JeecgController<Experi
SysUser userByName = userService.getUserByName(username);
experimentLog.setCreateBy(userByName.getRealname());
experimentLogService.save(experimentLog);
experimentRadiationProcessService.updateById(experimentRadiationProcess);
return Result.OK("编辑成功!");
}

View File

@@ -25,7 +25,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import java.util.*;
import java.util.Arrays;
import java.util.Objects;
/**
* @Description: 测试过程
@@ -71,6 +72,7 @@ public class ExperimentTestProcessController extends JeecgController<ExperimentT
QueryWrapper<ExperimentTestProcess> queryWrapper = QueryGenerator.initQueryWrapper(experimentTestProcess, req.getParameterMap());
Page<ExperimentTestProcess> page = new Page<ExperimentTestProcess>(pageNo, pageSize);
IPage<ExperimentTestProcess> pageList = experimentTestProcessService.page(page, queryWrapper);
pageList.getRecords().forEach(v -> experimentTestProcessService.assembleDetails(v));
return Result.OK(pageList);
}
@@ -98,16 +100,10 @@ public class ExperimentTestProcessController extends JeecgController<ExperimentT
}
experimentTestProcess.setId(null);
Experiment experiment = new Experiment();
experiment.setId(experimentId);
experiment.setStatus(ExperimentStatus.PROGRESSING);
experimentService.updateById(experiment);
List<ExperimentSampleInfo> sampleInfoList = experimentTestProcess.getSampleInfoList();
if (sampleInfoList != null && sampleInfoList.size() > 0) {
for (ExperimentSampleInfo sampleInfo : sampleInfoList) {
experimentSampleInfoService.saveOrUpdate(sampleInfo);
}
}
experimentService.changeStatus(experimentId, ExperimentStatus.PROGRESSING);
experimentTestProcessService.saveWithDetails(experimentTestProcess);
ExperimentLog experimentLog = new ExperimentLog();
experimentLog.setExperimentId(experimentTestProcess.getExperimentId());
experimentLog.setLogContent("添加测试过程");
@@ -116,8 +112,6 @@ public class ExperimentTestProcessController extends JeecgController<ExperimentT
experimentLog.setCreateBy(userByName.getRealname());
experimentLogService.save(experimentLog);
experimentTestProcessService.save(experimentTestProcess);
return Result.OK("添加成功!");
}
@@ -145,16 +139,10 @@ public class ExperimentTestProcessController extends JeecgController<ExperimentT
return Result.error("试验状态:[" + dbExperiment.getStatus() + "]不能进行修改!");
}
Experiment experiment = new Experiment();
experiment.setId(experimentId);
experiment.setStatus(ExperimentStatus.PROGRESSING);
experimentService.updateById(experiment);
List<ExperimentSampleInfo> sampleInfoList = experimentTestProcess.getSampleInfoList();
if (sampleInfoList != null && sampleInfoList.size() > 0) {
for (ExperimentSampleInfo sampleInfo : sampleInfoList) {
experimentSampleInfoService.saveOrUpdate(sampleInfo);
}
}
experimentService.changeStatus(experimentId, ExperimentStatus.PROGRESSING);
experimentTestProcessService.saveWithDetails(experimentTestProcess);
ExperimentLog experimentLog = new ExperimentLog();
experimentLog.setExperimentId(experimentId);
experimentLog.setLogContent("编辑测试过程");
@@ -162,7 +150,6 @@ public class ExperimentTestProcessController extends JeecgController<ExperimentT
SysUser userByName = userService.getUserByName(username);
experimentLog.setCreateBy(userByName.getRealname());
experimentLogService.save(experimentLog);
experimentTestProcessService.updateById(experimentTestProcess);
return Result.OK("编辑成功!");
}

View File

@@ -131,15 +131,18 @@ public class ExperimentAnnealProcess implements Serializable {
* 偏置条件
*/
@Excel(name = "偏置条件", width = 15)
@Schema(description = "偏置条件(json 大字段)")
private String biasCondition;
@Schema(description = "偏置条件")
private String deviationCondition;
/**
* 加偏设备
*/
@Excel(name = "加偏设备", width = 15)
@Schema(description = "加偏设备(json 大字段)")
private String biasEquipment;
@Schema(description = "加偏设备")
private String deviationEquipment;
@Excel(name = "样品信息", width = 15)
@Schema(description = "样品信息")
private String sampleInfo;
@Schema(description = "偏置条件")
@TableField(exist = false)
@@ -149,6 +152,7 @@ public class ExperimentAnnealProcess implements Serializable {
@TableField(exist = false)
private List<ExperimentDeviationEquipment> deviationEquipmentList;
@Schema(description = "样品信息")
@TableField(exist = false)
private List<ExperimentSampleInfo> sampleInfoList;

View File

@@ -129,6 +129,9 @@ public class ExperimentRadiationProcess implements Serializable {
@Schema(description = "辐照结束时间")
private Date radiationEndTime;
@Schema(description = "样品信息")
private String sampleInfo;
@TableField(exist = false)
private List<ExperimentSampleInfo> sampleInfoList;

View File

@@ -176,6 +176,10 @@ public class ExperimentTestProcess implements Serializable {
@Schema(description = "测试结果")
private String testResult;
@Schema(description = "样品信息")
private String sampleInfo;
@Schema(description = "样品信息")
@TableField(exist = false)
private List<ExperimentSampleInfo> sampleInfoList;

View File

@@ -13,4 +13,8 @@ import java.util.List;
*/
public interface IExperimentAnnealProcessService extends IService<ExperimentAnnealProcess> {
List<ExperimentAnnealProcess> getByExperimentId(String experimentId);
void assembleDetails(ExperimentAnnealProcess experimentAnnealProcess);
void saveWithDetails(ExperimentAnnealProcess experimentAnnealProcess);
}

View File

@@ -15,4 +15,7 @@ import java.util.List;
public interface IExperimentRadiationProcessService extends IService<ExperimentRadiationProcess> {
List<ExperimentRadiationProcess> getByExperimentId(String experimentId);
void assembleDetails(ExperimentRadiationProcess experimentRadiationProcess);
void saveWithDetails(ExperimentRadiationProcess experimentRadiationProcess);
}

View File

@@ -14,4 +14,7 @@ public interface IExperimentService extends IService<Experiment> {
void fetchExperimentDetail(Experiment experiment);
Experiment copy(Experiment oldExperiment);
void changeStatus(String experimentId, String status);
}

View File

@@ -15,4 +15,7 @@ import java.util.List;
public interface IExperimentTestProcessService extends IService<ExperimentTestProcess> {
List<ExperimentTestProcess> getByExperimentId(String experimentId);
void assembleDetails(ExperimentTestProcess experimentTestProcess);
void saveWithDetails(ExperimentTestProcess experimentTestProcess);
}

View File

@@ -1,13 +1,18 @@
package org.jeecg.modules.database.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.database.entity.ExperimentAnnealProcess;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.mapper.ExperimentAnnealProcessMapper;
import org.jeecg.modules.database.service.IExperimentAnnealProcessService;
import org.jeecg.modules.database.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.io.Serializable;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: 退火过程
@@ -19,8 +24,94 @@ import java.util.List;
public class ExperimentAnnealProcessServiceImpl extends ServiceImpl<ExperimentAnnealProcessMapper, ExperimentAnnealProcess>
implements IExperimentAnnealProcessService {
@Autowired
private IExperimentSampleInfoService experimentSampleInfoService;
@Autowired
private IExperimentDeviationEquipmentService experimentDeviationEquipmentService;
@Autowired
private IExperimentDeviationConditionService experimentDeviationConditionService;
@Override
public List<ExperimentAnnealProcess> getByExperimentId(String experimentId) {
return list(new LambdaQueryWrapper<ExperimentAnnealProcess>().eq(ExperimentAnnealProcess::getExperimentId, experimentId));
List<ExperimentAnnealProcess> list = list(
new LambdaQueryWrapper<ExperimentAnnealProcess>().eq(ExperimentAnnealProcess::getExperimentId, experimentId));
list.forEach(this::assembleDetails);
return list;
}
@Override
public ExperimentAnnealProcess getById(Serializable id) {
ExperimentAnnealProcess experimentAnnealProcess = super.getById(id);
if (Objects.isNull(experimentAnnealProcess)) {
return null;
}
assembleDetails(experimentAnnealProcess);
return experimentAnnealProcess;
}
@Override
public void assembleDetails(ExperimentAnnealProcess experimentAnnealProcess) {
//sampleInfo
String sampleInfoIds = experimentAnnealProcess.getSampleInfo();
List<ExperimentSampleInfo> sampleInfoList;
if (StringUtils.isNotBlank(sampleInfoIds)) {
sampleInfoList = Arrays.stream(sampleInfoIds.split(",")).map(sampleInfoId -> experimentSampleInfoService.getById(sampleInfoId))
.filter(Objects::nonNull).collect(Collectors.toList());
experimentAnnealProcess.setSampleInfoList(sampleInfoList);
}
//DeviationEquipment
String deviationEquipmentIds = experimentAnnealProcess.getDeviationEquipment();
if (StringUtils.isNotBlank(deviationEquipmentIds)) {
List<ExperimentDeviationEquipment> deviationEquipmentList = Arrays.stream(sampleInfoIds.split(",")).map(
sampleInfoId -> experimentDeviationEquipmentService.getById(sampleInfoId))
.filter(Objects::nonNull).collect(Collectors.toList());
experimentAnnealProcess.setDeviationEquipmentList(deviationEquipmentList);
}
//DeviationCondition
String deviationConditionIds = experimentAnnealProcess.getDeviationCondition();
if (StringUtils.isNotBlank(deviationConditionIds)) {
List<ExperimentDeviationCondition> deviationEquipmentList = Arrays.stream(sampleInfoIds.split(",")).map(
sampleInfoId -> experimentDeviationConditionService.getById(sampleInfoId))
.filter(Objects::nonNull).collect(Collectors.toList());
experimentAnnealProcess.setDeviationConditionList(deviationEquipmentList);
}
}
@Override
public void saveWithDetails(ExperimentAnnealProcess experimentAnnealProcess) {
// 保存样品信息
List<ExperimentSampleInfo> sampleInfoList = experimentAnnealProcess.getSampleInfoList();
List<String> sampleInfoIds = new ArrayList<>();
if (CollUtil.isNotEmpty(sampleInfoList)) {
for (ExperimentSampleInfo sampleInfo : sampleInfoList) {
experimentSampleInfoService.saveOrUpdate(sampleInfo);
sampleInfoIds.add(sampleInfo.getId());
}
}
experimentAnnealProcess.setSampleInfo(StringUtils.join(sampleInfoIds, ","));
// 保存偏置条件信息
List<ExperimentDeviationCondition> deviationConditionList = experimentAnnealProcess.getDeviationConditionList();
List<String> deviationConditionIds = new ArrayList<>();
if (CollUtil.isNotEmpty(deviationConditionList)) {
for (ExperimentDeviationCondition sampleInfo : deviationConditionList) {
experimentDeviationConditionService.saveOrUpdate(sampleInfo);
deviationConditionIds.add(sampleInfo.getId());
}
}
experimentAnnealProcess.setDeviationCondition(StringUtils.join(deviationConditionIds, ","));
//加偏设备信息
List<ExperimentDeviationEquipment> deviationEquipmentList = experimentAnnealProcess.getDeviationEquipmentList();
List<String> deviationEquipmentIds = new ArrayList<>();
if (CollUtil.isNotEmpty(deviationEquipmentList)) {
for (ExperimentDeviationEquipment sampleInfo : deviationEquipmentList) {
experimentDeviationEquipmentService.saveOrUpdate(sampleInfo);
deviationEquipmentIds.add(sampleInfo.getId());
}
}
experimentAnnealProcess.setDeviationEquipment(StringUtils.join(deviationEquipmentIds, ","));
saveOrUpdate(experimentAnnealProcess);
}
}

View File

@@ -2,12 +2,18 @@ package org.jeecg.modules.database.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.entity.ExperimentRadiationProcess;
import org.jeecg.modules.database.entity.ExperimentSampleInfo;
import org.jeecg.modules.database.mapper.ExperimentRadiationProcessMapper;
import org.jeecg.modules.database.service.IExperimentRadiationProcessService;
import org.jeecg.modules.database.service.IExperimentSampleInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.io.Serializable;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: 辐照过程
@@ -18,9 +24,51 @@ import java.util.List;
@Service
public class ExperimentRadiationProcessServiceImpl extends ServiceImpl<ExperimentRadiationProcessMapper, ExperimentRadiationProcess>
implements IExperimentRadiationProcessService {
@Autowired
private IExperimentSampleInfoService experimentSampleInfoService;
@Override
public List<ExperimentRadiationProcess> getByExperimentId(String experimentId) {
return list(new LambdaQueryWrapper<ExperimentRadiationProcess>().eq(ExperimentRadiationProcess::getExperimentId, experimentId));
List<ExperimentRadiationProcess> list = list(
new LambdaQueryWrapper<ExperimentRadiationProcess>().eq(ExperimentRadiationProcess::getExperimentId, experimentId));
list.forEach(this::assembleDetails);
return list;
}
@Override
public ExperimentRadiationProcess getById(Serializable id) {
ExperimentRadiationProcess experimentRadiationProcess = super.getById(id);
if (Objects.isNull(experimentRadiationProcess)) {
return null;
}
assembleDetails(experimentRadiationProcess);
return experimentRadiationProcess;
}
@Override
public void assembleDetails(ExperimentRadiationProcess experimentRadiationProcess) {
String sampleInfoIds = experimentRadiationProcess.getSampleInfo();
List<ExperimentSampleInfo> sampleInfoList;
if (StringUtils.isNotBlank(sampleInfoIds)) {
sampleInfoList = Arrays.stream(sampleInfoIds.split(",")).map(sampleInfoId -> experimentSampleInfoService.getById(sampleInfoId))
.filter(Objects::nonNull).collect(Collectors.toList());
experimentRadiationProcess.setSampleInfoList(sampleInfoList);
}
}
@Override
public void saveWithDetails(ExperimentRadiationProcess experimentRadiationProcess) {
List<ExperimentSampleInfo> sampleInfoList = experimentRadiationProcess.getSampleInfoList();
List<String> sampleInfoIds = new ArrayList<>();
if (sampleInfoList != null && sampleInfoList.size() > 0) {
for (ExperimentSampleInfo sampleInfo : sampleInfoList) {
experimentSampleInfoService.saveOrUpdate(sampleInfo);
sampleInfoIds.add(sampleInfo.getId());
}
}
experimentRadiationProcess.setSampleInfo(StringUtils.join(sampleInfoIds, ","));
saveOrUpdate(experimentRadiationProcess);
}
}

View File

@@ -61,8 +61,7 @@ public class ExperimentServiceImpl extends ServiceImpl<ExperimentMapper, Experim
experiment.setExperimentUserList(userList);
experiment.setExperimentUser(userList.stream().map(ExperimentUser::getUserId).collect(Collectors.joining(",")));
List<ExperimentSampleInfo> sampleInfoList = experimentSampleInfoService.getByExperimentId(
experiment.getId());
List<ExperimentSampleInfo> sampleInfoList = experimentSampleInfoService.getByExperimentId(experiment.getId());
if (CollUtil.isNotEmpty(sampleInfoList)) {
experiment.setSampleInfoList(sampleInfoList);
}
@@ -140,4 +139,20 @@ public class ExperimentServiceImpl extends ServiceImpl<ExperimentMapper, Experim
return experiment;
}
@Override
public void changeStatus(String experimentId, String status) {
Experiment dbData = getById(experimentId);
switch (status) {
case ExperimentStatus.COMPLETED:
if (!StringUtils.equals(dbData.getStatus(), ExperimentStatus.PROGRESSING)) {
throw new IllegalArgumentException("试验状态不正确!");
}
break;
}
Experiment experiment = new Experiment();
experiment.setId(experimentId);
experiment.setStatus(status);
updateById(experiment);
}
}

View File

@@ -3,16 +3,15 @@ package org.jeecg.modules.database.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.entity.ExperimentTestProcess;
import org.jeecg.modules.database.entity.TestStandards;
import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.mapper.ExperimentTestProcessMapper;
import org.jeecg.modules.database.service.IExperimentTestProcessService;
import org.jeecg.modules.database.service.ITestStandardsService;
import org.jeecg.modules.database.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.Serializable;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: 测试过程
@@ -25,19 +24,53 @@ public class ExperimentTestProcessServiceImpl extends ServiceImpl<ExperimentTest
implements IExperimentTestProcessService {
@Autowired
private ITestStandardsService testStandardsService;
@Autowired
private IExperimentSampleInfoService experimentSampleInfoService;
@Override
public List<ExperimentTestProcess> getByExperimentId(String experimentId) {
return list(new LambdaQueryWrapper<ExperimentTestProcess>().eq(ExperimentTestProcess::getExperimentId, experimentId));
List<ExperimentTestProcess> list = list(
new LambdaQueryWrapper<ExperimentTestProcess>().eq(ExperimentTestProcess::getExperimentId, experimentId));
list.forEach(this::assembleDetails);
return list;
}
@Override
public ExperimentTestProcess getById(Serializable id) {
ExperimentTestProcess experimentTestProcess = super.getById(id);
if (Objects.isNull(experimentTestProcess)) {
return null;
}
assembleDetails(experimentTestProcess);
return experimentTestProcess;
}
@Override
public void assembleDetails(ExperimentTestProcess experimentTestProcess) {
if (StringUtils.isNotBlank(experimentTestProcess.getTestStandardsId())) {
TestStandards testStandards = testStandardsService.getById(experimentTestProcess.getTestStandardsId());
experimentTestProcess.setTestStandards(testStandards);
}
return experimentTestProcess;
String sampleInfoIds = experimentTestProcess.getSampleInfo();
List<ExperimentSampleInfo> sampleInfoList;
if (StringUtils.isNotBlank(sampleInfoIds)) {
sampleInfoList = Arrays.stream(sampleInfoIds.split(",")).map(sampleInfoId -> experimentSampleInfoService.getById(sampleInfoId))
.filter(Objects::nonNull).collect(Collectors.toList());
experimentTestProcess.setSampleInfoList(sampleInfoList);
}
}
@Override
public void saveWithDetails(ExperimentTestProcess experimentTestProcess) {
List<ExperimentSampleInfo> sampleInfoList = experimentTestProcess.getSampleInfoList();
List<String> sampleInfoIds = new ArrayList<>();
if (sampleInfoList != null && sampleInfoList.size() > 0) {
for (ExperimentSampleInfo sampleInfo : sampleInfoList) {
experimentSampleInfoService.saveOrUpdate(sampleInfo);
sampleInfoIds.add(sampleInfo.getId());
}
}
experimentTestProcess.setSampleInfo(StringUtils.join(sampleInfoIds, ","));
saveOrUpdate(experimentTestProcess);
}
}