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

View File

@@ -281,9 +281,7 @@ public class ExperimentController extends JeecgController<Experiment, IExperimen
@Operation(summary = "试验管理-完成试验") @Operation(summary = "试验管理-完成试验")
@PostMapping(value = "/complete") @PostMapping(value = "/complete")
public Result<String> complete(@RequestParam(name = "id", required = true) String id) { public Result<String> complete(@RequestParam(name = "id", required = true) String id) {
Experiment experiment = experimentService.getById(id); experimentService.changeStatus(id, ExperimentStatus.COMPLETED);
experiment.setStatus(ExperimentStatus.COMPLETED);
experimentService.updateById(experiment);
return Result.OK("试验已完成!"); 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.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import java.util.*; import java.util.Arrays;
import java.util.Objects;
/** /**
* @Description: 辐照过程 * @Description: 辐照过程
@@ -50,7 +51,7 @@ public class ExperimentRadiationProcessController extends JeecgController<Experi
private IExperimentService experimentService; private IExperimentService experimentService;
@Autowired @Autowired
private IExperimentSampleInfoService experimentSampleInfoService; private IExperimentSampleInfoService experimentSampleInfoService;
/** /**
* 分页列表查询 * 分页列表查询
@@ -72,6 +73,7 @@ public class ExperimentRadiationProcessController extends JeecgController<Experi
req.getParameterMap()); req.getParameterMap());
Page<ExperimentRadiationProcess> page = new Page<ExperimentRadiationProcess>(pageNo, pageSize); Page<ExperimentRadiationProcess> page = new Page<ExperimentRadiationProcess>(pageNo, pageSize);
IPage<ExperimentRadiationProcess> pageList = experimentRadiationProcessService.page(page, queryWrapper); IPage<ExperimentRadiationProcess> pageList = experimentRadiationProcessService.page(page, queryWrapper);
pageList.getRecords().forEach(v -> experimentRadiationProcessService.assembleDetails(v));
return Result.OK(pageList); return Result.OK(pageList);
} }
@@ -99,17 +101,10 @@ public class ExperimentRadiationProcessController extends JeecgController<Experi
} }
experimentRadiationProcess.setId(null); experimentRadiationProcess.setId(null);
Experiment experiment = new Experiment();
experiment.setId(experimentId);
experiment.setStatus(ExperimentStatus.PROGRESSING);
experimentService.updateById(experiment);
List<ExperimentSampleInfo> sampleInfoList = experimentRadiationProcess.getSampleInfoList(); experimentService.changeStatus(experimentId ,ExperimentStatus.PROGRESSING);
if (sampleInfoList!= null && sampleInfoList.size() > 0) {
for (ExperimentSampleInfo sampleInfo : sampleInfoList) { experimentRadiationProcessService.saveWithDetails(experimentRadiationProcess);
experimentSampleInfoService.saveOrUpdate(sampleInfo);
}
}
ExperimentLog experimentLog = new ExperimentLog(); ExperimentLog experimentLog = new ExperimentLog();
experimentLog.setExperimentId(experimentId); experimentLog.setExperimentId(experimentId);
@@ -118,7 +113,6 @@ public class ExperimentRadiationProcessController extends JeecgController<Experi
SysUser userByName = userService.getUserByName(username); SysUser userByName = userService.getUserByName(username);
experimentLog.setCreateBy(userByName.getRealname()); experimentLog.setCreateBy(userByName.getRealname());
experimentLogService.save(experimentLog); experimentLogService.save(experimentLog);
experimentRadiationProcessService.save(experimentRadiationProcess);
return Result.OK("添加成功!"); return Result.OK("添加成功!");
} }
@@ -146,16 +140,10 @@ public class ExperimentRadiationProcessController extends JeecgController<Experi
if (StringUtils.containsAny(dbExperiment.getStatus(), ExperimentStatus.COMPLETED, ExperimentStatus.REPORT_AUDITING)) { if (StringUtils.containsAny(dbExperiment.getStatus(), ExperimentStatus.COMPLETED, ExperimentStatus.REPORT_AUDITING)) {
return Result.error("试验状态:[" + dbExperiment.getStatus() + "]不能进行修改!"); return Result.error("试验状态:[" + dbExperiment.getStatus() + "]不能进行修改!");
} }
Experiment experiment = new Experiment(); experimentService.changeStatus(experimentId,ExperimentStatus.PROGRESSING);
experiment.setId(experimentId);
experiment.setStatus(ExperimentStatus.PROGRESSING); experimentRadiationProcessService.saveWithDetails(experimentRadiationProcess);
experimentService.updateById(experiment);
List<ExperimentSampleInfo> sampleInfoList = experimentRadiationProcess.getSampleInfoList();
if (sampleInfoList!= null && sampleInfoList.size() > 0) {
for (ExperimentSampleInfo sampleInfo : sampleInfoList) {
experimentSampleInfoService.saveOrUpdate(sampleInfo);
}
}
ExperimentLog experimentLog = new ExperimentLog(); ExperimentLog experimentLog = new ExperimentLog();
experimentLog.setExperimentId(experimentId); experimentLog.setExperimentId(experimentId);
experimentLog.setLogContent("编辑辐照过程"); experimentLog.setLogContent("编辑辐照过程");
@@ -163,7 +151,6 @@ public class ExperimentRadiationProcessController extends JeecgController<Experi
SysUser userByName = userService.getUserByName(username); SysUser userByName = userService.getUserByName(username);
experimentLog.setCreateBy(userByName.getRealname()); experimentLog.setCreateBy(userByName.getRealname());
experimentLogService.save(experimentLog); experimentLogService.save(experimentLog);
experimentRadiationProcessService.updateById(experimentRadiationProcess);
return Result.OK("编辑成功!"); 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.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import java.util.*; import java.util.Arrays;
import java.util.Objects;
/** /**
* @Description: 测试过程 * @Description: 测试过程
@@ -71,6 +72,7 @@ public class ExperimentTestProcessController extends JeecgController<ExperimentT
QueryWrapper<ExperimentTestProcess> queryWrapper = QueryGenerator.initQueryWrapper(experimentTestProcess, req.getParameterMap()); QueryWrapper<ExperimentTestProcess> queryWrapper = QueryGenerator.initQueryWrapper(experimentTestProcess, req.getParameterMap());
Page<ExperimentTestProcess> page = new Page<ExperimentTestProcess>(pageNo, pageSize); Page<ExperimentTestProcess> page = new Page<ExperimentTestProcess>(pageNo, pageSize);
IPage<ExperimentTestProcess> pageList = experimentTestProcessService.page(page, queryWrapper); IPage<ExperimentTestProcess> pageList = experimentTestProcessService.page(page, queryWrapper);
pageList.getRecords().forEach(v -> experimentTestProcessService.assembleDetails(v));
return Result.OK(pageList); return Result.OK(pageList);
} }
@@ -98,16 +100,10 @@ public class ExperimentTestProcessController extends JeecgController<ExperimentT
} }
experimentTestProcess.setId(null); experimentTestProcess.setId(null);
Experiment experiment = new Experiment(); experimentService.changeStatus(experimentId, ExperimentStatus.PROGRESSING);
experiment.setId(experimentId);
experiment.setStatus(ExperimentStatus.PROGRESSING); experimentTestProcessService.saveWithDetails(experimentTestProcess);
experimentService.updateById(experiment);
List<ExperimentSampleInfo> sampleInfoList = experimentTestProcess.getSampleInfoList();
if (sampleInfoList != null && sampleInfoList.size() > 0) {
for (ExperimentSampleInfo sampleInfo : sampleInfoList) {
experimentSampleInfoService.saveOrUpdate(sampleInfo);
}
}
ExperimentLog experimentLog = new ExperimentLog(); ExperimentLog experimentLog = new ExperimentLog();
experimentLog.setExperimentId(experimentTestProcess.getExperimentId()); experimentLog.setExperimentId(experimentTestProcess.getExperimentId());
experimentLog.setLogContent("添加测试过程"); experimentLog.setLogContent("添加测试过程");
@@ -116,8 +112,6 @@ public class ExperimentTestProcessController extends JeecgController<ExperimentT
experimentLog.setCreateBy(userByName.getRealname()); experimentLog.setCreateBy(userByName.getRealname());
experimentLogService.save(experimentLog); experimentLogService.save(experimentLog);
experimentTestProcessService.save(experimentTestProcess);
return Result.OK("添加成功!"); return Result.OK("添加成功!");
} }
@@ -145,16 +139,10 @@ public class ExperimentTestProcessController extends JeecgController<ExperimentT
return Result.error("试验状态:[" + dbExperiment.getStatus() + "]不能进行修改!"); return Result.error("试验状态:[" + dbExperiment.getStatus() + "]不能进行修改!");
} }
Experiment experiment = new Experiment(); experimentService.changeStatus(experimentId, ExperimentStatus.PROGRESSING);
experiment.setId(experimentId);
experiment.setStatus(ExperimentStatus.PROGRESSING); experimentTestProcessService.saveWithDetails(experimentTestProcess);
experimentService.updateById(experiment);
List<ExperimentSampleInfo> sampleInfoList = experimentTestProcess.getSampleInfoList();
if (sampleInfoList != null && sampleInfoList.size() > 0) {
for (ExperimentSampleInfo sampleInfo : sampleInfoList) {
experimentSampleInfoService.saveOrUpdate(sampleInfo);
}
}
ExperimentLog experimentLog = new ExperimentLog(); ExperimentLog experimentLog = new ExperimentLog();
experimentLog.setExperimentId(experimentId); experimentLog.setExperimentId(experimentId);
experimentLog.setLogContent("编辑测试过程"); experimentLog.setLogContent("编辑测试过程");
@@ -162,7 +150,6 @@ public class ExperimentTestProcessController extends JeecgController<ExperimentT
SysUser userByName = userService.getUserByName(username); SysUser userByName = userService.getUserByName(username);
experimentLog.setCreateBy(userByName.getRealname()); experimentLog.setCreateBy(userByName.getRealname());
experimentLogService.save(experimentLog); experimentLogService.save(experimentLog);
experimentTestProcessService.updateById(experimentTestProcess);
return Result.OK("编辑成功!"); return Result.OK("编辑成功!");
} }

View File

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

View File

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

View File

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

View File

@@ -13,4 +13,8 @@ import java.util.List;
*/ */
public interface IExperimentAnnealProcessService extends IService<ExperimentAnnealProcess> { public interface IExperimentAnnealProcessService extends IService<ExperimentAnnealProcess> {
List<ExperimentAnnealProcess> getByExperimentId(String experimentId); 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> { public interface IExperimentRadiationProcessService extends IService<ExperimentRadiationProcess> {
List<ExperimentRadiationProcess> getByExperimentId(String experimentId); 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); void fetchExperimentDetail(Experiment experiment);
Experiment copy(Experiment oldExperiment); 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> { public interface IExperimentTestProcessService extends IService<ExperimentTestProcess> {
List<ExperimentTestProcess> getByExperimentId(String experimentId); 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; 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.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.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 org.springframework.stereotype.Service;
import java.util.List; import java.io.Serializable;
import java.util.*;
import java.util.stream.Collectors;
/** /**
* @Description: 退火过程 * @Description: 退火过程
@@ -19,8 +24,94 @@ import java.util.List;
public class ExperimentAnnealProcessServiceImpl extends ServiceImpl<ExperimentAnnealProcessMapper, ExperimentAnnealProcess> public class ExperimentAnnealProcessServiceImpl extends ServiceImpl<ExperimentAnnealProcessMapper, ExperimentAnnealProcess>
implements IExperimentAnnealProcessService { implements IExperimentAnnealProcessService {
@Autowired
private IExperimentSampleInfoService experimentSampleInfoService;
@Autowired
private IExperimentDeviationEquipmentService experimentDeviationEquipmentService;
@Autowired
private IExperimentDeviationConditionService experimentDeviationConditionService;
@Override @Override
public List<ExperimentAnnealProcess> getByExperimentId(String experimentId) { 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.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.ExperimentRadiationProcess;
import org.jeecg.modules.database.entity.ExperimentSampleInfo;
import org.jeecg.modules.database.mapper.ExperimentRadiationProcessMapper; import org.jeecg.modules.database.mapper.ExperimentRadiationProcessMapper;
import org.jeecg.modules.database.service.IExperimentRadiationProcessService; 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 org.springframework.stereotype.Service;
import java.util.List; import java.io.Serializable;
import java.util.*;
import java.util.stream.Collectors;
/** /**
* @Description: 辐照过程 * @Description: 辐照过程
@@ -18,9 +24,51 @@ import java.util.List;
@Service @Service
public class ExperimentRadiationProcessServiceImpl extends ServiceImpl<ExperimentRadiationProcessMapper, ExperimentRadiationProcess> public class ExperimentRadiationProcessServiceImpl extends ServiceImpl<ExperimentRadiationProcessMapper, ExperimentRadiationProcess>
implements IExperimentRadiationProcessService { implements IExperimentRadiationProcessService {
@Autowired
private IExperimentSampleInfoService experimentSampleInfoService;
@Override @Override
public List<ExperimentRadiationProcess> getByExperimentId(String experimentId) { 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.setExperimentUserList(userList);
experiment.setExperimentUser(userList.stream().map(ExperimentUser::getUserId).collect(Collectors.joining(","))); experiment.setExperimentUser(userList.stream().map(ExperimentUser::getUserId).collect(Collectors.joining(",")));
List<ExperimentSampleInfo> sampleInfoList = experimentSampleInfoService.getByExperimentId( List<ExperimentSampleInfo> sampleInfoList = experimentSampleInfoService.getByExperimentId(experiment.getId());
experiment.getId());
if (CollUtil.isNotEmpty(sampleInfoList)) { if (CollUtil.isNotEmpty(sampleInfoList)) {
experiment.setSampleInfoList(sampleInfoList); experiment.setSampleInfoList(sampleInfoList);
} }
@@ -140,4 +139,20 @@ public class ExperimentServiceImpl extends ServiceImpl<ExperimentMapper, Experim
return experiment; 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.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.entity.ExperimentTestProcess; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.TestStandards;
import org.jeecg.modules.database.mapper.ExperimentTestProcessMapper; import org.jeecg.modules.database.mapper.ExperimentTestProcessMapper;
import org.jeecg.modules.database.service.IExperimentTestProcessService; import org.jeecg.modules.database.service.*;
import org.jeecg.modules.database.service.ITestStandardsService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @Description: 测试过程 * @Description: 测试过程
@@ -24,20 +23,54 @@ import java.util.List;
public class ExperimentTestProcessServiceImpl extends ServiceImpl<ExperimentTestProcessMapper, ExperimentTestProcess> public class ExperimentTestProcessServiceImpl extends ServiceImpl<ExperimentTestProcessMapper, ExperimentTestProcess>
implements IExperimentTestProcessService { implements IExperimentTestProcessService {
@Autowired @Autowired
private ITestStandardsService testStandardsService; private ITestStandardsService testStandardsService;
@Autowired
private IExperimentSampleInfoService experimentSampleInfoService;
@Override @Override
public List<ExperimentTestProcess> getByExperimentId(String experimentId) { 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 @Override
public ExperimentTestProcess getById(Serializable id) { public ExperimentTestProcess getById(Serializable id) {
ExperimentTestProcess experimentTestProcess = super.getById(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())) { if (StringUtils.isNotBlank(experimentTestProcess.getTestStandardsId())) {
TestStandards testStandards = testStandardsService.getById(experimentTestProcess.getTestStandardsId()); TestStandards testStandards = testStandardsService.getById(experimentTestProcess.getTestStandardsId());
experimentTestProcess.setTestStandards(testStandards); 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);
} }
} }