heheng
2024-11-07 37b0d2560607d1e0bfd5247a59a154704cac60f8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
package com.gkhy.labRiskManage.domain.experiment.converter;
 
import com.gkhy.labRiskManage.commons.utils.BeanCopyUtils;
import com.gkhy.labRiskManage.domain.experiment.entity.*;
import com.gkhy.labRiskManage.domain.experiment.model.dto.*;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
 
import java.util.ArrayList;
import java.util.List;
 
/**
 * @email 1603559716@qq.com
 * @author: zf
 * @date: 2023/3/21
 * @time: 17:05
 */
@Service
public class ExperimentInfoDomainConverter {
    public ExperimentInfoDTO getExperimentInfoDTO(ExperimentInfo experimentInfo) {
        if(experimentInfo == null){
          return null;
        }
        ExperimentInfoDTO experimentInfoDTO = new ExperimentInfoDTO();
        BeanUtils.copyProperties(experimentInfo,experimentInfoDTO);
        return experimentInfoDTO;
    }
 
    public List<ExperimentInfoDTO> getExperimentInfoDTOSimpleList(List<ExperimentInfo> experimentInfoByIdList) {
        List<ExperimentInfoDTO> list = new ArrayList<>();
        if(!CollectionUtils.isEmpty(experimentInfoByIdList)){
            list = BeanCopyUtils.copyBeanList(experimentInfoByIdList,ExperimentInfoDTO.class);
        }
        return list;
    }
 
    //返回上一层转换
    public List<ExperimentInfoDTO> getExperimentInfoDTODetailList(List<ExperimentInfo> experimentInfoList){
        List<ExperimentInfoDTO> list = new ArrayList<>();
        if (!CollectionUtils.isEmpty(experimentInfoList)) {
            for (ExperimentInfo experimentInfo:experimentInfoList){
                //实验基础信息
                ExperimentInfoDTO experimentInfoDTO = new ExperimentInfoDTO();
                BeanUtils.copyProperties(experimentInfo,experimentInfoDTO);
                //实验类型数据
                List<ExperimentAndTypeDTO> types = new ArrayList<>();
                if(!ObjectUtils.isEmpty(experimentInfo.getTypes())){
                    for (ExperimentAndType experimentAndType : experimentInfo.getTypes()){
                        ExperimentAndTypeDTO experimentAndTypeDTO = new ExperimentAndTypeDTO();
                        experimentAndTypeDTO.setTypeId(experimentAndType.getTypeId());
                        if(null != experimentAndType.getType()){
                            experimentAndTypeDTO.setTypeName(experimentAndType.getType().getExperimentType());
 
                        }
                        types.add(experimentAndTypeDTO);
                    }
                }
                experimentInfoDTO.setTypes(types);
 
                //实验场所数据
                List<ExperimentAndSiteDTO> sites = new ArrayList<>();
                if(!ObjectUtils.isEmpty(experimentInfo.getSites())){
                   for (ExperimentAndSite experimentAndSite : experimentInfo.getSites()){
                       ExperimentAndSiteDTO experimentAndSiteDTO = new ExperimentAndSiteDTO();
                       experimentAndSiteDTO.setSiteId(experimentAndSite.getSiteId());
                       if(null != experimentAndSite.getSite()){
                           experimentAndSiteDTO.setSiteName(experimentAndSite.getSite().getSiteName());
                           experimentAndSiteDTO.setFireFacilities(experimentAndSite.getSite().getFireFacilities());
                           experimentAndSiteDTO.setPartitionStatus(experimentAndSite.getSite().getPartitionStatus());
                           experimentAndSiteDTO.setSiteType(experimentAndSite.getSite().getSiteType());
                       }
                       experimentAndSiteDTO.setRoom(experimentAndSite.getSite().getRoom());
                       experimentAndSiteDTO.setFloor(experimentAndSite.getSite().getFloor());
                       sites.add(experimentAndSiteDTO);
                   }
                }
                experimentInfoDTO.setSites(sites);
                //人员信息
                List<ExperimentAndPersonDTO> persons = new ArrayList<>();
                if(!ObjectUtils.isEmpty(experimentInfo.getPersons())){
                    for (ExperimentAndPerson person:experimentInfo.getPersons()) {
                        ExperimentAndPersonDTO personDTO = new ExperimentAndPersonDTO();
                        BeanUtils.copyProperties(person,personDTO);
                        persons.add(personDTO);
                    }
                }
                experimentInfoDTO.setPersons(persons);
                //材料信息
                List<ExperimentAndStuffDTO> stuffs = new ArrayList<>();
                if(!ObjectUtils.isEmpty(experimentInfo.getStuffs())){
                    for (ExperimentAndStuff experimentAndStuff:experimentInfo.getStuffs()) {
                        ExperimentAndStuffDTO stuffDTO = new ExperimentAndStuffDTO();
                        stuffDTO.setStuffCode(experimentAndStuff.getStuff().getStuffCode());
                        stuffDTO.setStuffName(experimentAndStuff.getStuff().getStuffName());
                        stuffDTO.setStuffType(experimentAndStuff.getStuff().getStuffType());
                        stuffDTO.setStuffStorage(experimentAndStuff.getStuff().getStuffStorage());
                        stuffDTO.setStuffUnit(experimentAndStuff.getStuff().getStuffUnit());
                        stuffDTO.setStuffUseCount(experimentAndStuff.getStuffUseCount());
                        stuffDTO.setStuffId(experimentAndStuff.getStuffId());
                        stuffs.add(stuffDTO);
                    }
                }
                experimentInfoDTO.setStuffs(stuffs);
                //设备信息
                List<ExperimentAndDeviceDTO> devices = new ArrayList<>();
                if(!ObjectUtils.isEmpty(experimentInfo.getDevices())){
                    for (ExperimentAndDevice experimentAndDevice:experimentInfo.getDevices()) {
                        ExperimentAndDeviceDTO deviceDTO = new ExperimentAndDeviceDTO();
                        //deviceDTO.setId(experimentAndDevice.getDeviceId());
                        deviceDTO.setDeviceId(experimentAndDevice.getDeviceId());
                        deviceDTO.setDeviceCode(experimentAndDevice.getDevice().getDeviceCode());
                        deviceDTO.setDeviceName(experimentAndDevice.getDevice().getDeviceName());
                        deviceDTO.setDevicePower(experimentAndDevice.getDevice().getDevicePower());
                        deviceDTO.setDeviceUnit(experimentAndDevice.getDevice().getDeviceUnit());
                        deviceDTO.setSpecialDevice(experimentAndDevice.getDevice().getSpecialDevice());
                        deviceDTO.setDeviceUseCount(experimentAndDevice.getDeviceUseCount());
                        devices.add(deviceDTO);
                    }
                }
                experimentInfoDTO.setDevices(devices);
                //危废信息
                List<ExperimentHazardousWasteDTO> wastes = new ArrayList<>();
                if(!ObjectUtils.isEmpty(experimentInfo.getWastes())){
                    for (ExperimentHazardousWaste experimentHazardousWaste:experimentInfo.getWastes()) {
                        ExperimentHazardousWasteDTO wasteDTO = new ExperimentHazardousWasteDTO();
                        BeanUtils.copyProperties(experimentHazardousWaste,wasteDTO);
                        wastes.add(wasteDTO);
                    }
                }
                experimentInfoDTO.setWastes(wastes);
                //应急演练
                List<ExperimentAndEmergencyDTO> emergencies = new ArrayList<>();
                if(!ObjectUtils.isEmpty(experimentInfo.getEmergencies())){
                    for (ExperimentAndEmergency experimentAndEmergency : experimentInfo.getEmergencies()) {
                        ExperimentAndEmergencyDTO emergencyDTO = new ExperimentAndEmergencyDTO();
                        BeanUtils.copyProperties(experimentAndEmergency,emergencyDTO);
                        emergencies.add(emergencyDTO);
                    }
                }
                experimentInfoDTO.setEmergencies(emergencies);
                list.add(experimentInfoDTO);
            }
        }
 
        return list;
    }
}