懒羊羊
2024-03-21 32483a44c0ee1c4d605730ef6f894d43f76b3048
提交 | 用户 | 时间
e57a89 1 package com.jcdm.main.da.paramCollection.service.impl;
2
b64ed2 3 import cn.hutool.core.date.DateUtil;
e57a89 4 import com.jcdm.common.utils.DateUtils;
b77c7b 5 import com.jcdm.main.bs.formulaChild.domain.BsFormulaChildInfo;
6 import com.jcdm.main.bs.formulaChild.mapper.BsFormulaChildInfoMapper;
b64ed2 7 import com.jcdm.main.da.collectionParamConf.domain.DaCollectionParamConf;
8 import com.jcdm.main.da.collectionParamConf.mapper.DaCollectionParamConfMapper;
e57a89 9 import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
10 import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper;
11 import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
32483a 12 import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
13 import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper;
14 import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
15 import com.kangaroohy.milo.model.ReadWriteEntity;
16 import com.kangaroohy.milo.service.MiloService;
e57a89 17 import org.springframework.beans.factory.annotation.Autowired;
18 import org.springframework.stereotype.Service;
19
b64ed2 20 import java.util.*;
e57a89 21
22 /**
23  * 设备产品过程参数采集Service业务层处理
24  * 
25  * @author yyt
26  * @date 2023-12-13
27  */
28 @Service
29 public class DaParamCollectionServiceImpl implements IDaParamCollectionService
30 {
31     @Autowired
32     private DaParamCollectionMapper daParamCollectionMapper;
b64ed2 33
34     @Autowired
35     private DaCollectionParamConfMapper daCollectionParamConfMapper;
b77c7b 36
37     @Autowired
38     private BsFormulaChildInfoMapper bsFormulaChildInfoMapper;
32483a 39
40     @Autowired
41     private MiloService miloService;
42
43     @Autowired
44     private DaPassingStationCollectionMapper daPassingStationCollectionMapper;
e57a89 45
46     /**
47      * 查询设备产品过程参数采集
48      * 
49      * @param id 设备产品过程参数采集主键
50      * @return 设备产品过程参数采集
51      */
52     @Override
53     public DaParamCollection selectDaParamCollectionById(Long id)
54     {
55         return daParamCollectionMapper.selectDaParamCollectionById(id);
56     }
57
58     /**
59      * 查询设备产品过程参数采集列表
60      * 
61      * @param daParamCollection 设备产品过程参数采集
62      * @return 设备产品过程参数采集
63      */
64     @Override
65     public List<DaParamCollection> selectDaParamCollectionList(DaParamCollection daParamCollection)
66     {
67         return daParamCollectionMapper.selectDaParamCollectionList(daParamCollection);
68     }
69
70     /**
71      * 新增设备产品过程参数采集
72      * 
73      * @param daParamCollection 设备产品过程参数采集
74      * @return 结果
75      */
76     @Override
77     public int insertDaParamCollection(DaParamCollection daParamCollection)
78     {
79         daParamCollection.setCreateTime(DateUtils.getNowDate());
80         return daParamCollectionMapper.insertDaParamCollection(daParamCollection);
81     }
82
83     /**
84      * 修改设备产品过程参数采集
85      * 
86      * @param daParamCollection 设备产品过程参数采集
87      * @return 结果
88      */
89     @Override
90     public int updateDaParamCollection(DaParamCollection daParamCollection)
91     {
92         daParamCollection.setUpdateTime(DateUtils.getNowDate());
93         return daParamCollectionMapper.updateDaParamCollection(daParamCollection);
94     }
95
96     /**
97      * 批量删除设备产品过程参数采集
98      * 
99      * @param ids 需要删除的设备产品过程参数采集主键
100      * @return 结果
101      */
102     @Override
103     public int deleteDaParamCollectionByIds(Long[] ids)
104     {
105         return daParamCollectionMapper.deleteDaParamCollectionByIds(ids);
106     }
107
108     /**
109      * 删除设备产品过程参数采集信息
110      * 
111      * @param id 设备产品过程参数采集主键
112      * @return 结果
113      */
114     @Override
115     public int deleteDaParamCollectionById(Long id)
116     {
117         return daParamCollectionMapper.deleteDaParamCollectionById(id);
118     }
b64ed2 119
120     @Override
121     public void addBasicParameters(DaParamCollection daParamCollection) {
122         // 假设这是从数据库或其他地方获取的参数数据
123         Map<String, String> map = new HashMap<>();
124         map.put("GC", "南浔工厂");
125         map.put("CXBH", "Pack线");
126         map.put("SBBH", "设备001");
127         map.put("YGBH", "员工001");
128         map.put("GDBH", daParamCollection.getWorkOrderNo());
129         map.put("CPXH", daParamCollection.getModel());
130         map.put("INT", DateUtil.formatDateTime(new Date()));
131
132         map.forEach((key, value) -> {
133             DaCollectionParamConf daCollectionParamConf = new DaCollectionParamConf();
134             daCollectionParamConf.setProcessesCode(daParamCollection.getLocationCode());
135             daCollectionParamConf.setCollectParameterId(key);
136             List<DaCollectionParamConf> daCollectionParamConfs = daCollectionParamConfMapper.selectDaCollectionParamConfList(daCollectionParamConf);
137             DaParamCollection saveData = new DaParamCollection();
138             saveData.setWorkOrderNo(daParamCollection.getWorkOrderNo());
139             saveData.setProductCode(daParamCollection.getProductCode());
140             saveData.setLocationCode(daParamCollection.getLocationCode());
3c2299 141             saveData.setSfcCode(daParamCollection.getProductBarcode());
b64ed2 142             saveData.setParamCode(daCollectionParamConfs.get(0).getCollectParameterId());
143             saveData.setParamName(daCollectionParamConfs.get(0).getCollectParameterName());
144             saveData.setCollectionTime(new Date());
145             saveData.setParamValue(value);
146             daParamCollectionMapper.insertDaParamCollection(saveData);
147         });
148     }
49c784 149
150     @Override
151     public void addTighteningParameters(DaParamCollection daParamCollection) {
b77c7b 152         String tightenData = daParamCollection.getTightenTheArray();
153         tightenData = tightenData.replace("[", "").replace("]", "").replace(" ", "");
154         String[] tightenDataParts = tightenData.split(",");
155         String paramCode = daParamCollection.getParamCode();
156         String[] paramCodeParts = paramCode.split(",");
157         for (int i = 0; i < paramCodeParts.length; i++) {
158             daParamCollection.setParamValue(tightenDataParts[i]);
159             daParamCollection.setParamCode(paramCodeParts[i]);
160             daParamCollection.setCollectionTime(new Date());
161             daParamCollection.setSfcCode(daParamCollection.getProductBarcode());
162             daParamCollectionMapper.insertDaParamCollection(daParamCollection);
163         }
49c784 164     }
32483a 165
166     @Override
167     public void saveCampaignTimeParameters(DaParamCollection daParamCollection) {
168         BsFormulaChildInfo bsFormulaChildInfo = new BsFormulaChildInfo();
169         bsFormulaChildInfo.setProcessesCode(daParamCollection.getLocationCode());
170         bsFormulaChildInfo.setProductCode(daParamCollection.getProductCode());
171         bsFormulaChildInfo.setSpareField4("1");
172         List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(bsFormulaChildInfo);
173         String result = bsFormulaChildInfos.get(0).getResults();
174         if(result != null && !result.isEmpty()){
175             try {
176                 //过站参数采集记录出站时间
177                 DaCollectionParamConf daCollectionParamConf = new DaCollectionParamConf();
178                 daCollectionParamConf.setProcessesCode(daParamCollection.getLocationCode());
179                 daCollectionParamConf.setCollectParameterId("OUTT");
180                 List<DaCollectionParamConf> daCollectionParamConfs = daCollectionParamConfMapper.selectDaCollectionParamConfList(daCollectionParamConf);
181                 DaParamCollection saveData = new DaParamCollection();
182                 saveData.setWorkOrderNo(daParamCollection.getWorkOrderNo());
183                 saveData.setProductCode(daParamCollection.getProductCode());
184                 saveData.setLocationCode(daParamCollection.getLocationCode());
185                 saveData.setSfcCode(daParamCollection.getProductBarcode());
186                 saveData.setParamCode(daCollectionParamConfs.get(0).getCollectParameterId());
187                 saveData.setParamName(daCollectionParamConfs.get(0).getCollectParameterName());
188                 saveData.setCollectionTime(new Date());
189                 saveData.setParamValue(DateUtil.formatDateTime(new Date()));
190                 daParamCollectionMapper.insertDaParamCollection(saveData);
191
192                 //更新过站记录表出站时间
193                 DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection();
194                 daPassingStationCollection.setWorkOrderNo(daParamCollection.getWorkOrderNo());
195                 List<DaPassingStationCollection> daPassingStationCollections = daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection);
196                 daPassingStationCollections.get(0).setOutboundTime(new Date());
197                 int i = daPassingStationCollectionMapper.updateDaPassingStationCollection(daPassingStationCollections.get(0));
198
199                 //给opc发21
200                 miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("OP."+daParamCollection.getLocationCode()+".RecordDataDone").value(21).build());
201             } catch (Exception e) {
202                 throw new RuntimeException(e);
203             }
204         }
205     }
e57a89 206 }