This commit is contained in:
ls
2025-04-07 00:26:21 +08:00
parent f70cebf73d
commit 46b8ff45ae
10 changed files with 86 additions and 53 deletions

View File

@@ -270,15 +270,15 @@ public class ExperimentController extends JeecgController<Experiment, IExperimen
List<ExperimentAnnealProcess> experimentAnnealProcess = experimentAnnealProcessService.getByExperimentId(old.getId());
if (CollUtil.isNotEmpty(experimentAnnealProcess)) {
experimentAnnealProcess.forEach(v -> experimentAnnealProcessService.save(v.copy(copied.getId())));
experimentAnnealProcess.forEach(v -> experimentAnnealProcessService.copy(copied.getId()));
}
List<ExperimentRadiationProcess> experimentRadiationProcess = experimentRadiationProcessService.getByExperimentId(old.getId());
if (CollUtil.isNotEmpty(experimentRadiationProcess)) {
experimentRadiationProcess.forEach(v -> experimentRadiationProcessService.save(v.copy(copied.getId())));
experimentRadiationProcess.forEach(v -> experimentRadiationProcessService.copy(copied.getId()));
}
List<ExperimentTestProcess> experimentTestProcess = experimentTestProcessService.getByExperimentId(old.getId());
if (CollUtil.isNotEmpty(experimentTestProcess)) {
experimentTestProcess.forEach(v -> experimentTestProcessService.save(v.copy(copied.getId())));
experimentTestProcess.forEach(v -> experimentTestProcessService.copy(copied.getId()));
}
return Result.OK("复制成功!");
}

View File

@@ -145,13 +145,5 @@ public class ExperimentAnnealProcess implements Serializable {
@TableField(exist = false)
private List<ExperimentSampleInfo> sampleInfoList;
public ExperimentAnnealProcess copy(String experimentId) {
ExperimentAnnealProcess experiment = new ExperimentAnnealProcess();
BeanUtil.copyProperties(this, experiment);
experiment.setId(null);
experiment.setExperimentId(experimentId);
experiment.setAnnealStartTime(null);
experiment.setAnnealEndTime(null);
return experiment;
}
}

View File

@@ -1,14 +1,11 @@
package org.jeecg.modules.database.entity;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson2.*;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.StringUtils;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
@@ -137,28 +134,4 @@ public class ExperimentRadiationProcess implements Serializable {
@TableField(exist = false)
private List<ExperimentSampleInfo> sampleInfoList;
public ExperimentRadiationProcess copy(String experimentId) {
ExperimentRadiationProcess experiment = new ExperimentRadiationProcess();
BeanUtil.copyProperties(this, experiment);
experiment.setId(null);
experiment.setExperimentId(experimentId);
experiment.setRadiationStartTime(null);
experiment.setRadiationEndTime(null);
String radiationDetail = experiment.getRadiationDetail();
if (StringUtils.isNotBlank(radiationDetail)) {
JSONObject jsonObject = JSON.parseObject(radiationDetail);
// 遍历所有键
for (String key : jsonObject.keySet()) {
JSONArray array = jsonObject.getJSONArray(key);
for (int i = 0; i < array.size(); i++) {
JSONObject item = array.getJSONObject(i);
// 移除 startTime 和 endTime
item.remove("startTime");
item.remove("endTime");
}
}
experiment.setRadiationDetail(jsonObject.toJSONString());
}
return experiment;
}
}

View File

@@ -1,6 +1,5 @@
package org.jeecg.modules.database.entity;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -190,13 +189,4 @@ public class ExperimentTestProcess implements Serializable {
@TableField(exist = false)
private TestStandards testStandards;
public ExperimentTestProcess copy(String experimentId) {
ExperimentTestProcess experiment = new ExperimentTestProcess();
BeanUtil.copyProperties(this, experiment);
experiment.setExperimentId(experimentId);
experiment.setId(null);
experiment.setTestStartTime(null);
experiment.setTestEndTime(null);
return experiment;
}
}

View File

@@ -17,4 +17,6 @@ public interface IExperimentAnnealProcessService extends IService<ExperimentAnne
void assembleDetails(ExperimentAnnealProcess experimentAnnealProcess);
void saveWithDetails(ExperimentAnnealProcess experimentAnnealProcess);
void copy(String experimentId);
}

View File

@@ -17,4 +17,6 @@ public interface IExperimentRadiationProcessService extends IService<ExperimentR
void assembleDetails(ExperimentRadiationProcess experimentRadiationProcess);
void saveWithDetails(ExperimentRadiationProcess experimentRadiationProcess);
void copy(String experimentId);
}

View File

@@ -17,4 +17,6 @@ public interface IExperimentTestProcessService extends IService<ExperimentTestPr
void assembleDetails(ExperimentTestProcess experimentTestProcess);
void saveWithDetails(ExperimentTestProcess experimentTestProcess);
void copy(String experimentId);
}

View File

@@ -1,5 +1,6 @@
package org.jeecg.modules.database.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -63,16 +64,16 @@ public class ExperimentAnnealProcessServiceImpl extends ServiceImpl<ExperimentAn
String deviationEquipmentIds = experimentAnnealProcess.getDeviationEquipment();
if (StringUtils.isNotBlank(deviationEquipmentIds)) {
List<ExperimentDeviationEquipment> deviationEquipmentList = Arrays.stream(deviationEquipmentIds.split(",")).map(
sampleInfoId -> experimentDeviationEquipmentService.getById(sampleInfoId))
.filter(Objects::nonNull).collect(Collectors.toList());
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(deviationConditionIds.split(",")).map(
sampleInfoId -> experimentDeviationConditionService.getById(sampleInfoId))
.filter(Objects::nonNull).collect(Collectors.toList());
sampleInfoId -> experimentDeviationConditionService.getById(sampleInfoId)).filter(Objects::nonNull).collect(
Collectors.toList());
experimentAnnealProcess.setDeviationConditionList(deviationEquipmentList);
}
}
@@ -115,4 +116,21 @@ public class ExperimentAnnealProcessServiceImpl extends ServiceImpl<ExperimentAn
saveOrUpdate(experimentAnnealProcess);
}
@Override
public void copy(String experimentId) {
ExperimentAnnealProcess experiment = new ExperimentAnnealProcess();
BeanUtil.copyProperties(this, experiment);
experiment.setId(null);
experiment.setExperimentId(experimentId);
experiment.setAnnealStartTime(null);
experiment.setAnnealEndTime(null);
List<ExperimentSampleInfo> sampleInfoList = experimentSampleInfoService.getByExperimentId(experimentId);
if (CollUtil.isNotEmpty(sampleInfoList)) {
experiment.setSampleInfo(sampleInfoList.stream().map(v -> v.getId()).collect(Collectors.joining()));
} else {
experiment.setSampleInfo(null);
}
save(experiment);
}
}

View File

@@ -1,8 +1,11 @@
package org.jeecg.modules.database.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
@@ -102,4 +105,36 @@ public class ExperimentRadiationProcessServiceImpl extends ServiceImpl<Experimen
experimentRadiationProcess.setSampleInfo(StringUtils.join(sampleInfoIds, ","));
saveOrUpdate(experimentRadiationProcess);
}
@Override
public void copy(String experimentId) {
ExperimentRadiationProcess experiment = new ExperimentRadiationProcess();
BeanUtil.copyProperties(this, experiment);
experiment.setId(null);
experiment.setExperimentId(experimentId);
experiment.setRadiationStartTime(null);
experiment.setRadiationEndTime(null);
String radiationDetail = experiment.getRadiationDetail();
if (StringUtils.isNotBlank(radiationDetail)) {
com.alibaba.fastjson2.JSONObject jsonObject = JSON.parseObject(radiationDetail);
// 遍历所有键
for (String key : jsonObject.keySet()) {
JSONArray array = jsonObject.getJSONArray(key);
for (int i = 0; i < array.size(); i++) {
com.alibaba.fastjson2.JSONObject item = array.getJSONObject(i);
// 移除 startTime 和 endTime
item.remove("startTime");
item.remove("endTime");
}
}
experiment.setRadiationDetail(jsonObject.toJSONString());
}
List<ExperimentSampleInfo> sampleInfoList = experimentSampleInfoService.getByExperimentId(experimentId);
if (CollUtil.isNotEmpty(sampleInfoList)) {
experiment.setSampleInfo(sampleInfoList.stream().map(v -> v.getId()).collect(Collectors.joining()));
} else {
experiment.setSampleInfo(null);
}
save(experiment);
}
}

View File

@@ -1,5 +1,7 @@
package org.jeecg.modules.database.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
@@ -74,4 +76,21 @@ public class ExperimentTestProcessServiceImpl extends ServiceImpl<ExperimentTest
experimentTestProcess.setSampleInfo(StringUtils.join(sampleInfoIds, ","));
saveOrUpdate(experimentTestProcess);
}
@Override
public void copy(String experimentId) {
ExperimentTestProcess experiment = new ExperimentTestProcess();
BeanUtil.copyProperties(this, experiment);
experiment.setExperimentId(experimentId);
experiment.setId(null);
experiment.setTestStartTime(null);
experiment.setTestEndTime(null);
List<ExperimentSampleInfo> sampleInfoList = experimentSampleInfoService.getByExperimentId(experimentId);
if (CollUtil.isNotEmpty(sampleInfoList)) {
experiment.setSampleInfo(sampleInfoList.stream().map(v -> v.getId()).collect(Collectors.joining()));
} else {
experiment.setSampleInfo(null);
}
save(experiment);
}
}