diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentAnnealProcessController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentAnnealProcessController.java index c36d74b..8f3ffca 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentAnnealProcessController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentAnnealProcessController.java @@ -106,7 +106,7 @@ public class ExperimentAnnealProcessController extends JeecgController experimentRadiationProcess = experimentRadiationProcessService.getByExperimentId(ex.getId()); - List detailList = new ArrayList<>(); + //辐照过程 + List detailList = new ArrayList<>(); //List irradiationBoardList = ex.getIrradiationBoardList(); if (CollUtil.isNotEmpty(experimentRadiationProcess)) { experimentRadiationProcess.forEach(v -> { List sampleInfoList = v.getSampleInfoList(); if (CollUtil.isNotEmpty(sampleInfoList)) { sampleInfoList.forEach(sample -> { - ExperimentExportDetailDTO detail = new ExperimentExportDetailDTO(); + RadiationProcessExportDTO detail = new RadiationProcessExportDTO(); detail.setRadiateType(v.getRadiationSource()); detail.setSampleModel(sample.getSampleModel()); detail.setSampleType(sample.getSampleType()); @@ -440,9 +440,51 @@ public class ExperimentController extends JeecgController annealProcessList = new ArrayList<>(); + List experimentAnnealProcessList = experimentAnnealProcessService.getByExperimentId(ex.getId()); + if (CollUtil.isNotEmpty(experimentAnnealProcessList)) { + experimentAnnealProcessList.forEach(v -> { + + List sampleInfoList = v.getSampleInfoList(); + if (CollUtil.isNotEmpty(sampleInfoList)) { + sampleInfoList.forEach(sample -> { + AnnealProcessExportDTO annealProcessExportDTO = new AnnealProcessExportDTO(); + annealProcessExportDTO.setSampleName(sample.getSampleName()); + annealProcessExportDTO.setSampleModel(sample.getSampleModel()); + annealProcessExportDTO.setSampleType(sample.getSampleType()); + annealProcessExportDTO.setAnnealTemperature(v.getAnnealTemperature()); + annealProcessExportDTO.setAnnealStartTime(DateUtils.formatDate(v.getAnnealStartTime(), "yyyy-MM-dd HH:mm")); + annealProcessExportDTO.setAnnealEndTime(DateUtils.formatDate(v.getAnnealEndTime(), "yyyy-MM-dd HH:mm")); + annealProcessList.add(annealProcessExportDTO); + }); + } + + }); + } + + dto.setAnnealProcessList(annealProcessList); + + //测试过程 + List experimentTestProcessList = experimentTestProcessService.getByExperimentId(ex.getId()); + List testProcessList = new ArrayList<>(); + if (CollUtil.isNotEmpty(experimentTestProcessList)) { + experimentTestProcessList.forEach(v -> { + List sampleInfoList = v.getSampleInfoList(); + if (CollUtil.isNotEmpty(sampleInfoList)) { + TestProcessExportDTO testProcessExportDTO = new TestProcessExportDTO(); + testProcessExportDTO.setEnvironmentalTemperature(v.getEnvironmentalTemperature()); + testProcessExportDTO.setEnvironmentalHumidity(v.getEnvironmentalHumidity()); + + testProcessList.add(testProcessExportDTO); + } + }); + } + dto.setTestProcessList(testProcessList); + + dto.setRadiationProcessList(detailList); + resultList.add(dto); } // Step.3 AutoPoi 导出Excel ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/AnnealProcessExportDTO.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/AnnealProcessExportDTO.java new file mode 100644 index 0000000..f863f56 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/AnnealProcessExportDTO.java @@ -0,0 +1,43 @@ +package org.jeecg.modules.database.dto; + +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.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 退火过程 + * @Author: jeecg-boot + * @Date: 2024-08-30 + * @Version: V1.0 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class AnnealProcessExportDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * + */ + @Excel(name = "样品名称", width = 15) + private String sampleName; + @Excel(name = "样品型号", width = 15) + private String sampleModel; + @Excel(name = "样品类型", width = 15) + private String sampleType; + + @Excel(name = "退火温度") + private String annealTemperature; + @Excel(name = "退火开始时间") + private String annealStartTime; + @Excel(name = "退火结束时间") + private String annealEndTime; + +} diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/ExperimentExportDTO.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/ExperimentExportDTO.java index 3447d16..3dfcdbf 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/ExperimentExportDTO.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/ExperimentExportDTO.java @@ -48,7 +48,13 @@ public class ExperimentExportDTO implements Serializable { @Excel(name = "试验员及评分", width = 15, needMerge = true) private String rateUserAndScore; - @ExcelCollection(name = "试验实施") - private List detailList; + @ExcelCollection(name = "辐照过程") + private List radiationProcessList; + + @ExcelCollection(name = "退火过程") + private List annealProcessList; + + @ExcelCollection(name = "测试过程") + private List testProcessList; } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/ExperimentExportDetailDTO.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/RadiationProcessExportDTO.java similarity index 91% rename from physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/ExperimentExportDetailDTO.java rename to physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/RadiationProcessExportDTO.java index efb81e0..19ef625 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/ExperimentExportDetailDTO.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/RadiationProcessExportDTO.java @@ -8,7 +8,7 @@ import org.jeecgframework.poi.excel.annotation.Excel; import java.io.Serializable; /** - * @Description: 试验管理 + * @Description: 辐照过程 * @Author: jeecg-boot * @Date: 2024-08-30 * @Version: V1.0 @@ -16,7 +16,7 @@ import java.io.Serializable; @Data @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) -public class ExperimentExportDetailDTO implements Serializable { +public class RadiationProcessExportDTO implements Serializable { private static final long serialVersionUID = 1L; /** diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/TestProcessExportDTO.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/TestProcessExportDTO.java new file mode 100644 index 0000000..aad2187 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/dto/TestProcessExportDTO.java @@ -0,0 +1,30 @@ +package org.jeecg.modules.database.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; + +/** + * @Description: 测试过程 + * @Author: jeecg-boot + * @Date: 2024-08-30 + * @Version: V1.0 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class TestProcessExportDTO implements Serializable { + private static final long serialVersionUID = 1L; + + @Excel(name = "环境温度", width = 15) + @Schema(description = "环境温度") + private String environmentalTemperature; + + @Excel(name = "环境湿度", width = 15) + private String environmentalHumidity; + +} diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentAnnealProcess.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentAnnealProcess.java index d9b44bc..e35788f 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentAnnealProcess.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentAnnealProcess.java @@ -85,6 +85,7 @@ public class ExperimentAnnealProcess implements Serializable { */ @Schema(description = "退火温度") private String annealTemperature; + /** * 备注 */ diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentAnnealProcessService.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentAnnealProcessService.java index f07fa0c..7ed60e8 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentAnnealProcessService.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentAnnealProcessService.java @@ -16,7 +16,7 @@ public interface IExperimentAnnealProcessService extends IService sampleInfoList = experimentAnnealProcess.getSampleInfoList(); List sampleInfoIds = new ArrayList<>(); @@ -93,31 +94,34 @@ public class ExperimentAnnealProcessServiceImpl extends ServiceImpl deviationConditionList = experimentAnnealProcess.getDeviationConditionList(); - List deviationConditionIds = new ArrayList<>(); - if (CollUtil.isNotEmpty(deviationConditionList)) { + String deviationCondition = experimentAnnealProcess.getDeviationCondition(); + if (StringUtils.isNotBlank(deviationCondition)) { + List deviationConditionList = JSON.parseArray(deviationCondition, + ExperimentDeviationCondition.class); for (ExperimentDeviationCondition sampleInfo : deviationConditionList) { + if (StringUtils.equals(type, "add")) { + sampleInfo.setId(null); + } experimentDeviationConditionService.saveOrUpdate(sampleInfo); - deviationConditionIds.add(sampleInfo.getId()); } + experimentAnnealProcess.setDeviationCondition(JSON.toJSONString(deviationConditionList)); } - experimentAnnealProcess.setDeviationCondition(StringUtils.join(deviationConditionIds, ",")); //加偏设备信息 - List deviationEquipmentList = experimentAnnealProcess.getDeviationEquipmentList(); - List deviationEquipmentIds = new ArrayList<>(); - if (CollUtil.isNotEmpty(deviationEquipmentList)) { + String deviationEquipment = experimentAnnealProcess.getDeviationEquipment(); + if (StringUtils.isNotBlank(deviationEquipment)) { + List deviationEquipmentList = JSON.parseArray(deviationEquipment, + ExperimentDeviationEquipment.class); for (ExperimentDeviationEquipment sampleInfo : deviationEquipmentList) { experimentDeviationEquipmentService.saveOrUpdate(sampleInfo); - deviationEquipmentIds.add(sampleInfo.getId()); } + experimentAnnealProcess.setDeviationEquipment(JSON.toJSONString(deviationEquipmentList)); } - experimentAnnealProcess.setDeviationEquipment(StringUtils.join(deviationEquipmentIds, ",")); saveOrUpdate(experimentAnnealProcess); } @Override - public void copy(String oldId,String newExperimentId){ + public void copy(String oldId, String newExperimentId) { ExperimentAnnealProcess experiment = new ExperimentAnnealProcess(); BeanUtil.copyProperties(getById(oldId), experiment); experiment.setId(null);