-
admin
2024-05-15 a320dcc8a480436f2f6b3ef81fe6b607f080a64a
提交 | 用户 | 时间
e57a89 1 package com.jcdm.main.bs.formulaChild.service.impl;
2
5316c5 3 import java.util.ArrayList;
b64ed2 4 import java.util.Date;
e57a89 5 import java.util.List;
3c2299 6 import java.util.Map;
7bee80 7 import java.util.stream.Collectors;
e57a89 8
d545f1 9 import cn.hutool.core.util.StrUtil;
7bee80 10 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
11 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
0ce25f 12 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
e57a89 13 import com.jcdm.common.core.domain.AjaxResult;
14 import com.jcdm.common.utils.DateUtils;
3c2299 15 import com.jcdm.framework.websocket.WebSocketUsers;
b64ed2 16 import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
17 import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper;
a320dc 18 import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
32483a 19 import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
20 import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper;
a320dc 21 import com.jcdm.main.da.testDeviceInterface.service.IDaTestDeviceInterfaceService;
3c2299 22 import com.kangaroohy.milo.model.ReadWriteEntity;
23 import com.kangaroohy.milo.service.MiloService;
b77303 24 import org.aspectj.weaver.loadtime.Aj;
e57a89 25 import org.springframework.beans.factory.annotation.Autowired;
26 import org.springframework.stereotype.Service;
27 import com.jcdm.main.bs.formulaChild.mapper.BsFormulaChildInfoMapper;
28 import com.jcdm.main.bs.formulaChild.domain.BsFormulaChildInfo;
29 import com.jcdm.main.bs.formulaChild.service.IBsFormulaChildInfoService;
3c2299 30
31 import javax.websocket.Session;
e57a89 32
33 /**
34  * 配方配置子信息Service业务层处理
35  * 
36  * @author ruimin
37  * @date 2023-12-26
38  */
39 @Service
0ce25f 40 public class BsFormulaChildInfoServiceImpl extends ServiceImpl<BsFormulaChildInfoMapper,BsFormulaChildInfo> implements IBsFormulaChildInfoService
e57a89 41 {
42     @Autowired
43     private BsFormulaChildInfoMapper bsFormulaChildInfoMapper;
b64ed2 44
45     @Autowired
63b254 46     private IBsFormulaChildInfoService bsFormulaChildInfoService;
47
48     @Autowired
b64ed2 49     private DaParamCollectionMapper daParamCollectionMapper;
3c2299 50
51     @Autowired
52     private MiloService miloService;
32483a 53
54     @Autowired
55     private DaPassingStationCollectionMapper daPassingStationCollectionMapper;
a320dc 56
A 57     @Autowired
58     private IDaTestDeviceInterfaceService daTestDeviceInterfaceService;
59
60     @Autowired
61     private IDaParamCollectionService daParamCollectionService;
3c2299 62
63     Map<String, Session> map = WebSocketUsers.getUsers();
e57a89 64
65     /**
66      * 查询配方配置子信息
67      * 
68      * @param id 配方配置子信息主键
69      * @return 配方配置子信息
70      */
71     @Override
72     public BsFormulaChildInfo selectBsFormulaChildInfoById(Long id)
73     {
74         return bsFormulaChildInfoMapper.selectBsFormulaChildInfoById(id);
75     }
76
77     /**
78      * 查询配方配置子信息列表
79      * 
80      * @param bsFormulaChildInfo 配方配置子信息
81      * @return 配方配置子信息
82      */
83     @Override
84     public List<BsFormulaChildInfo> selectBsFormulaChildInfoList(BsFormulaChildInfo bsFormulaChildInfo)
85     {
86         return bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(bsFormulaChildInfo);
87     }
88
89     /**
90      * 新增配方配置子信息
91      * 
92      * @param bsFormulaChildInfo 配方配置子信息
93      * @return 结果
94      */
95     @Override
96     public int insertBsFormulaChildInfo(BsFormulaChildInfo bsFormulaChildInfo)
97     {
98         bsFormulaChildInfo.setCreateTime(DateUtils.getNowDate());
99         return bsFormulaChildInfoMapper.insertBsFormulaChildInfo(bsFormulaChildInfo);
100     }
101
102     /**
103      * 修改配方配置子信息
104      * 
105      * @param bsFormulaChildInfo 配方配置子信息
106      * @return 结果
107      */
108     @Override
109     public int updateBsFormulaChildInfo(BsFormulaChildInfo bsFormulaChildInfo)
110     {
111         bsFormulaChildInfo.setUpdateTime(DateUtils.getNowDate());
112         return bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfo);
113     }
114
115     /**
116      * 批量删除配方配置子信息
117      * 
118      * @param ids 需要删除的配方配置子信息主键
119      * @return 结果
120      */
121     @Override
122     public int deleteBsFormulaChildInfoByIds(Long[] ids)
123     {
124         return bsFormulaChildInfoMapper.deleteBsFormulaChildInfoByIds(ids);
125     }
126
127     /**
128      * 删除配方配置子信息信息
129      * 
130      * @param id 配方配置子信息主键
131      * @return 结果
132      */
133     @Override
134     public int deleteBsFormulaChildInfoById(Long id)
135     {
136         return bsFormulaChildInfoMapper.deleteBsFormulaChildInfoById(id);
137     }
138
139     @Override
140     public BsFormulaChildInfo selectBsFormulaChildInfoByTypeTopOne(String type,String productCode,String processesCode) {
141         BsFormulaChildInfo info = new BsFormulaChildInfo();
142         info.setOperationType(type);
143         info.setProcessesCode(processesCode);
144         info.setProductCode(productCode);
145         return bsFormulaChildInfoMapper.selectBsFormulaChildInfoByTypeTopOne(info);
146     }
147
148     @Override
b77303 149     public BsFormulaChildInfo getCount(String productCode, String processesCode) {
150         BsFormulaChildInfo info = new BsFormulaChildInfo();
151         info.setProcessesCode(processesCode);
152         info.setProductCode(productCode);
153         return bsFormulaChildInfoMapper.getCount(info);
154     }
155
156     @Override
2c7661 157     public AjaxResult yzUpdateResults(BsFormulaChildInfo bsFormulaChildInfo) {
A 158         String result = "";
159         List<BsFormulaChildInfo> bsFormulaChildInfos = new ArrayList<>();
160         List<BsFormulaChildInfo> infos = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
161                 .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode())
162                 .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode())
163                 .eq(BsFormulaChildInfo::getOperationType, "2")
164         );
165         for (BsFormulaChildInfo formulaChildInfo : infos) {
166             if(bsFormulaChildInfo.getScanBarcode().contains(formulaChildInfo.getMaterialCode())){
167                 bsFormulaChildInfos.add(formulaChildInfo);
168                 break;
169             }
170         }
171         if(bsFormulaChildInfos.size()>0){
172             String spareField4 = bsFormulaChildInfos.get(0).getSpareField4();
173             bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getScanBarcode());
174             bsFormulaChildInfos.get(0).setResults("OK");
175             bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0));
176             bsFormulaChildInfo.setParamValue(bsFormulaChildInfo.getScanBarcode());
177             bsFormulaChildInfo.setParamCode(bsFormulaChildInfos.get(0).getParamCode());
178             bsFormulaChildInfo.setSfcBarcode(bsFormulaChildInfo.getSfcBarcode());
179             addParameterCollection(bsFormulaChildInfo);
180             if (spareField4 != null && !spareField4.isEmpty()) {
181                 // 执行操作
182                 if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){
183                     try {
184                         result = "3";
185                     } catch (Exception e) {
186                         throw new RuntimeException(e);
187                     }
188                 }
189             }
190         }else {
191             result = "1";
192         }
193         return AjaxResult.success(result);
194     }
195
196     @Override
197     public AjaxResult yzUpdateTighteningFormula(BsFormulaChildInfo bsFormulaChildInfo) {
198         String result = "1";
199         BsFormulaChildInfo getMaterTwo = new BsFormulaChildInfo();
200         getMaterTwo.setProcessesCode(bsFormulaChildInfo.getLocationCode());
201         getMaterTwo.setOperationType("2");
202         List<BsFormulaChildInfo> operationType = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(getMaterTwo);
203         List<String> collect = operationType.stream().map(BsFormulaChildInfo::getResults).collect(Collectors.toList());
204         for (String s : collect) {
205             if(s.equals("")){
206                 return AjaxResult.error("扫描未完成,禁止拧紧操作!");
207             }
208         }
209         BsFormulaChildInfo listQuery = new BsFormulaChildInfo();
210         listQuery.setParamCode(bsFormulaChildInfo.getParamCode());
211         String paramCode = bsFormulaChildInfo.getTightenTheArray();
212         if(paramCode.contains("N")){
213             List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery);
214             bsFormulaChildInfos.get(0).setResults("NG");
215             bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray());
216             bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0));
217             return AjaxResult.error("扫描结果NG,请重新扫描!");
218         }else {
219             List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery);
220             bsFormulaChildInfos.get(0).setResults("OK");
221             bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray());
222             bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0));
4a5f2a 223
A 224             Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort());
225             try {
a320dc 226                 miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber").value(stepNumber+1).build());
4a5f2a 227             } catch (Exception e) {
A 228                 throw new RuntimeException(e);
229             }
230
2c7661 231             String spareField4 = bsFormulaChildInfos.get(0).getSpareField4();
A 232             if (spareField4 != null && !spareField4.isEmpty()) {
233                 // 执行操作
234                 if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){
235                     try {
236 //                        WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "OUT");
237                         result = "2";
238                     } catch (Exception e) {
239                         throw new RuntimeException(e);
240                     }
241                 }
242             }
243
244         }
245         return AjaxResult.success(result);
246     }
247
248     @Override
06713a 249     public AjaxResult jrmUpdateResults(BsFormulaChildInfo bsFormulaChildInfo) {
A 250         String result = "";
251         List<BsFormulaChildInfo> bsFormulaChildInfos = new ArrayList<>();
252         List<BsFormulaChildInfo> infos = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
253                 .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode())
254                 .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode())
255                 .eq(BsFormulaChildInfo::getOperationType, "2")
d545f1 256         ).stream().filter(x -> StrUtil.isBlank(x.getCollectData())).collect(Collectors.toList());
A 257
258
06713a 259         for (BsFormulaChildInfo formulaChildInfo : infos) {
A 260             if(bsFormulaChildInfo.getScanBarcode().contains(formulaChildInfo.getMaterialCode())){
261                 bsFormulaChildInfos.add(formulaChildInfo);
262                 break;
263             }
264         }
265         if(bsFormulaChildInfos.size()>0){
266             String spareField4 = bsFormulaChildInfos.get(0).getSpareField4();
267             bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getScanBarcode());
268             bsFormulaChildInfos.get(0).setResults("OK");
269             bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0));
270             bsFormulaChildInfo.setParamValue(bsFormulaChildInfo.getScanBarcode());
271             bsFormulaChildInfo.setParamCode(bsFormulaChildInfos.get(0).getParamCode());
272             bsFormulaChildInfo.setSfcBarcode(bsFormulaChildInfo.getSfcBarcode());
273             jrmAddParameterCollection(bsFormulaChildInfo);
274
275             if (spareField4 != null && !spareField4.isEmpty()) {
276                 // 执行操作
277                 if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){
278                     try {
279                         result = "3";
1c84ae 280                         String strA = bsFormulaChildInfo.getLocationCode() + "A";
A 281                         String strB = bsFormulaChildInfo.getLocationCode() + "B";
282                         miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+strA+".RecordDataDone").value(21).build());
283                         miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+strB+".RecordDataDone").value(21).build());
06713a 284                     } catch (Exception e) {
A 285                         throw new RuntimeException(e);
286                     }
287                 }
288             }
289         }else {
290             result = "1";
291         }
292         return AjaxResult.success(result);
293     }
294
295     @Override
b77303 296     public BsFormulaChildInfo releaseCheck(BsFormulaChildInfo bsFormulaChildInfo) {
e57a89 297         return bsFormulaChildInfoMapper.releaseCheck(bsFormulaChildInfo);
298     }
299
c5e9c5 300     //1-非本工位物料 2-正常扫描可继续下次 3-扫描结束已经是最后一位工步
e57a89 301     @Override
302     public AjaxResult updateResults(BsFormulaChildInfo bsFormulaChildInfo) {
c5e9c5 303         String result = "";
5316c5 304         List<BsFormulaChildInfo> bsFormulaChildInfos = new ArrayList<>();
A 305         List<BsFormulaChildInfo> infos = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
e70fb4 306                 .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode())
A 307                 .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode())
5316c5 308                 .eq(BsFormulaChildInfo::getOperationType, "2")
e70fb4 309         );
5316c5 310         for (BsFormulaChildInfo formulaChildInfo : infos) {
A 311             if(bsFormulaChildInfo.getScanBarcode().contains(formulaChildInfo.getMaterialCode())){
312                 bsFormulaChildInfos.add(formulaChildInfo);
313                 break;
314             }
315         }
e57a89 316         if(bsFormulaChildInfos.size()>0){
c5e9c5 317             String spareField4 = bsFormulaChildInfos.get(0).getSpareField4();
3c2299 318             bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getScanBarcode());
e57a89 319             bsFormulaChildInfos.get(0).setResults("OK");
320             bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0));
49c784 321             bsFormulaChildInfo.setParamValue(bsFormulaChildInfo.getScanBarcode());
b64ed2 322             bsFormulaChildInfo.setParamCode(bsFormulaChildInfos.get(0).getParamCode());
49c784 323             bsFormulaChildInfo.setSfcBarcode(bsFormulaChildInfo.getSfcBarcode());
b64ed2 324             addParameterCollection(bsFormulaChildInfo);
4a5f2a 325
A 326 //            Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort());
327 //            try {
328 //                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".StepNumber").value(stepNumber).build());
329 //            } catch (Exception e) {
330 //                throw new RuntimeException(e);
331 //            }
332
c5e9c5 333             if (spareField4 != null && !spareField4.isEmpty()) {
334                 // 执行操作
335                 if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){
336                     try {
337                         result = "3";
338                         miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".RecordDataDone").value(21).build());
339                     } catch (Exception e) {
340                         throw new RuntimeException(e);
341                     }
342                 }
343             }
e57a89 344         }else {
c5e9c5 345             result = "1";
e57a89 346         }
c5e9c5 347         return AjaxResult.success(result);
e57a89 348     }
349
b64ed2 350     public void addParameterCollection(BsFormulaChildInfo bsFormulaChildInfo){
351         DaParamCollection daParamCollection = new DaParamCollection();
352         daParamCollection.setParamCode(bsFormulaChildInfo.getParamCode());
353         daParamCollection.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo());
354         daParamCollection.setLocationCode(bsFormulaChildInfo.getLocationCode());
355         daParamCollection.setParamValue(bsFormulaChildInfo.getParamValue());
356         daParamCollection.setProductCode(bsFormulaChildInfo.getProductCode());
357         daParamCollection.setCollectionTime(new Date());
49c784 358         daParamCollection.setSfcCode(bsFormulaChildInfo.getSfcBarcode());
b64ed2 359         daParamCollectionMapper.insertDaParamCollection(daParamCollection);
360     }
361
06713a 362     public void jrmAddParameterCollection(BsFormulaChildInfo bsFormulaChildInfo){
A 363         String scanBarCode = bsFormulaChildInfo.getSfcBarcode();
364         String[] modeleSplit = scanBarCode.split(",");
d545f1 365 //        for (String modele : modeleSplit) {
06713a 366             DaParamCollection daParamCollection = new DaParamCollection();
A 367             daParamCollection.setParamCode(bsFormulaChildInfo.getParamCode());
368             daParamCollection.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo());
369             daParamCollection.setLocationCode(bsFormulaChildInfo.getLocationCode());
370             daParamCollection.setParamValue(bsFormulaChildInfo.getParamValue());
371             daParamCollection.setProductCode(bsFormulaChildInfo.getProductCode());
372             daParamCollection.setCollectionTime(new Date());
d545f1 373             if(bsFormulaChildInfo.getParamCode().contains("B")){
A 374                 daParamCollection.setSfcCode(modeleSplit[1]);
375             }else {
376                 daParamCollection.setSfcCode(modeleSplit[0]);
377             }
378 //            daParamCollection.setSfcCode(modele);
06713a 379             daParamCollectionMapper.insertDaParamCollection(daParamCollection);
d545f1 380 //        }
06713a 381
A 382     }
383
e57a89 384     @Override
385     public AjaxResult workpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) {
a320dc 386         daParamCollectionService.pushGeelycvMesFeedback(bsFormulaChildInfo.getProductBarcode(), bsFormulaChildInfo.getLocationCode());
63b254 387         List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
388                 .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode())
389                 .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode()));
390         for (BsFormulaChildInfo info : list) {
e70fb4 391             info.setCollectData("");
63b254 392             info.setResults("");
393             bsFormulaChildInfoService.saveOrUpdate(info);
394         }
e57a89 395         return AjaxResult.success();
396     }
b77303 397
398     @Override
399     public AjaxResult updateTighteningFormula(BsFormulaChildInfo bsFormulaChildInfo) {
7bee80 400         BsFormulaChildInfo getMaterTwo = new BsFormulaChildInfo();
401         getMaterTwo.setProcessesCode(bsFormulaChildInfo.getLocationCode());
402         getMaterTwo.setOperationType("2");
403         List<BsFormulaChildInfo> operationType = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(getMaterTwo);
404         List<String> collect = operationType.stream().map(BsFormulaChildInfo::getResults).collect(Collectors.toList());
405         for (String s : collect) {
406             if(s.equals("")){
407                 return AjaxResult.error("扫描未完成,禁止拧紧操作!");
408             }
409         }
b77303 410         BsFormulaChildInfo listQuery = new BsFormulaChildInfo();
411         listQuery.setParamCode(bsFormulaChildInfo.getParamCode());
412         String paramCode = bsFormulaChildInfo.getTightenTheArray();
413         if(paramCode.contains("N")){
414             List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery);
415             bsFormulaChildInfos.get(0).setResults("NG");
416             bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray());
417             bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0));
418             return AjaxResult.error("扫描结果NG,请重新扫描!");
419         }else {
420             List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery);
421             bsFormulaChildInfos.get(0).setResults("OK");
422             bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray());
423             bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0));
4a5f2a 424
A 425             Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort());
426             try {
a320dc 427                 miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber").value(stepNumber+1).build());
4a5f2a 428             } catch (Exception e) {
A 429                 throw new RuntimeException(e);
430             }
431
3c2299 432             String spareField4 = bsFormulaChildInfos.get(0).getSpareField4();
433             if (spareField4 != null && !spareField4.isEmpty()) {
434                 // 执行操作
435                 if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){
436                     try {
32483a 437 //                        //更新过站记录表出站时间
438 //                        DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection();
439 //                        daPassingStationCollection.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo());
440 //                        List<DaPassingStationCollection> daPassingStationCollections = daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection);
441 //                        daPassingStationCollections.get(0).setOutboundTime(new Date());
442 //                        daPassingStationCollectionMapper.updateDaPassingStationCollection(daPassingStationCollections.get(0));
b5fcd8 443                         miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".RecordDataDone").value(21).build());
3c2299 444                         WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "OUT");
445                     } catch (Exception e) {
446                         throw new RuntimeException(e);
447                     }
448                 }
449             }
450
b77303 451         }
452         return AjaxResult.success("扫描成功!");
453     }
454
455
456
457
e57a89 458 }