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()); List<ExperimentAnnealProcess> experimentAnnealProcess = experimentAnnealProcessService.getByExperimentId(old.getId());
if (CollUtil.isNotEmpty(experimentAnnealProcess)) { 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()); List<ExperimentRadiationProcess> experimentRadiationProcess = experimentRadiationProcessService.getByExperimentId(old.getId());
if (CollUtil.isNotEmpty(experimentRadiationProcess)) { 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()); List<ExperimentTestProcess> experimentTestProcess = experimentTestProcessService.getByExperimentId(old.getId());
if (CollUtil.isNotEmpty(experimentTestProcess)) { if (CollUtil.isNotEmpty(experimentTestProcess)) {
experimentTestProcess.forEach(v -> experimentTestProcessService.save(v.copy(copied.getId()))); experimentTestProcess.forEach(v -> experimentTestProcessService.copy(copied.getId()));
} }
return Result.OK("复制成功!"); return Result.OK("复制成功!");
} }

View File

@@ -145,13 +145,5 @@ public class ExperimentAnnealProcess implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private List<ExperimentSampleInfo> sampleInfoList; 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; package org.jeecg.modules.database.entity;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson2.*;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.apache.commons.lang3.StringUtils;
import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@@ -137,28 +134,4 @@ public class ExperimentRadiationProcess implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private List<ExperimentSampleInfo> sampleInfoList; 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; package org.jeecg.modules.database.entity;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@@ -190,13 +189,4 @@ public class ExperimentTestProcess implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private TestStandards testStandards; 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 assembleDetails(ExperimentAnnealProcess experimentAnnealProcess);
void saveWithDetails(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 assembleDetails(ExperimentRadiationProcess experimentRadiationProcess);
void saveWithDetails(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 assembleDetails(ExperimentTestProcess experimentTestProcess);
void saveWithDetails(ExperimentTestProcess experimentTestProcess); void saveWithDetails(ExperimentTestProcess experimentTestProcess);
void copy(String experimentId);
} }

View File

@@ -1,5 +1,6 @@
package org.jeecg.modules.database.service.impl; package org.jeecg.modules.database.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; 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;
@@ -63,16 +64,16 @@ public class ExperimentAnnealProcessServiceImpl extends ServiceImpl<ExperimentAn
String deviationEquipmentIds = experimentAnnealProcess.getDeviationEquipment(); String deviationEquipmentIds = experimentAnnealProcess.getDeviationEquipment();
if (StringUtils.isNotBlank(deviationEquipmentIds)) { if (StringUtils.isNotBlank(deviationEquipmentIds)) {
List<ExperimentDeviationEquipment> deviationEquipmentList = Arrays.stream(deviationEquipmentIds.split(",")).map( List<ExperimentDeviationEquipment> deviationEquipmentList = Arrays.stream(deviationEquipmentIds.split(",")).map(
sampleInfoId -> experimentDeviationEquipmentService.getById(sampleInfoId)) sampleInfoId -> experimentDeviationEquipmentService.getById(sampleInfoId)).filter(Objects::nonNull).collect(
.filter(Objects::nonNull).collect(Collectors.toList()); Collectors.toList());
experimentAnnealProcess.setDeviationEquipmentList(deviationEquipmentList); experimentAnnealProcess.setDeviationEquipmentList(deviationEquipmentList);
} }
//DeviationCondition //DeviationCondition
String deviationConditionIds = experimentAnnealProcess.getDeviationCondition(); String deviationConditionIds = experimentAnnealProcess.getDeviationCondition();
if (StringUtils.isNotBlank(deviationConditionIds)) { if (StringUtils.isNotBlank(deviationConditionIds)) {
List<ExperimentDeviationCondition> deviationEquipmentList = Arrays.stream(deviationConditionIds.split(",")).map( List<ExperimentDeviationCondition> deviationEquipmentList = Arrays.stream(deviationConditionIds.split(",")).map(
sampleInfoId -> experimentDeviationConditionService.getById(sampleInfoId)) sampleInfoId -> experimentDeviationConditionService.getById(sampleInfoId)).filter(Objects::nonNull).collect(
.filter(Objects::nonNull).collect(Collectors.toList()); Collectors.toList());
experimentAnnealProcess.setDeviationConditionList(deviationEquipmentList); experimentAnnealProcess.setDeviationConditionList(deviationEquipmentList);
} }
} }
@@ -115,4 +116,21 @@ public class ExperimentAnnealProcessServiceImpl extends ServiceImpl<ExperimentAn
saveOrUpdate(experimentAnnealProcess); 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; package org.jeecg.modules.database.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; 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.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;
@@ -102,4 +105,36 @@ public class ExperimentRadiationProcessServiceImpl extends ServiceImpl<Experimen
experimentRadiationProcess.setSampleInfo(StringUtils.join(sampleInfoIds, ",")); experimentRadiationProcess.setSampleInfo(StringUtils.join(sampleInfoIds, ","));
saveOrUpdate(experimentRadiationProcess); 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; 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.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;
@@ -74,4 +76,21 @@ public class ExperimentTestProcessServiceImpl extends ServiceImpl<ExperimentTest
experimentTestProcess.setSampleInfo(StringUtils.join(sampleInfoIds, ",")); experimentTestProcess.setSampleInfo(StringUtils.join(sampleInfoIds, ","));
saveOrUpdate(experimentTestProcess); 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);
}
} }