From a5383f185d9ea618cfed8e887dfc020f1b23b64b Mon Sep 17 00:00:00 2001 From: wujian <14790700720@163.com> Date: 星期日, 25 八月 2024 19:53:03 +0800 Subject: [PATCH] fix8-bug --- jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/controller/DaOpcuaConfigController.java | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 108 insertions(+), 4 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/controller/DaOpcuaConfigController.java b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/controller/DaOpcuaConfigController.java index 0f38e76..7baf984 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/controller/DaOpcuaConfigController.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/controller/DaOpcuaConfigController.java @@ -1,11 +1,31 @@ package com.jcdm.main.da.opcuaconfig.controller; +import java.util.Date; import java.util.List; +import java.util.stream.Collectors; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import cn.hutool.core.collection.CollUtil; +import com.jcdm.common.core.domain.R; import com.jcdm.main.da.opcuaconfig.domain.DaOpcuaConfig; import com.jcdm.main.da.opcuaconfig.domain.NodeEntity; import com.jcdm.main.da.opcuaconfig.service.IDaOpcuaConfigService; +import com.jcdm.main.da.paramCollection.domain.DaParamCollection; +import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper; +import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService; +import com.jcdm.main.da.passingStationCollection.domain.ProductNewPassStation; +import com.jcdm.main.da.passingStationCollection.mapper.ProductNewPassStationMapper; +import com.jcdm.main.da.passingStationCollection.service.ProductNewPassStationService; +import com.jcdm.main.da.tileMatchCollection.domain.DaTileMatchCollection; +import com.jcdm.main.da.tileMatchCollection.service.IDaTileMatchCollectionService; +import com.jcdm.main.da.tileMatchMiddleware.domain.DaTileMatchMiddleware; +import com.jcdm.main.da.tileMatchMiddleware.service.IDaTileMatchMiddlewareService; +import com.jcdm.main.da.tileMatchRules.domain.DaTileMatchRules; +import com.jcdm.main.da.tileMatchRules.service.IDaTileMatchRulesService; +import com.jcdm.main.plcserver.conf.OPCElement; +import com.jcdm.main.plcserver.sub.OPCUaSubscription; +import com.kangaroohy.milo.model.ReadWriteEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -23,6 +43,8 @@ import com.jcdm.common.utils.poi.ExcelUtil; import com.jcdm.common.core.page.TableDataInfo; +import static com.jcdm.main.plcserver.sub.OPCUaSubscription.miloService; + /** * 浜や簰淇″彿閰嶇疆Controller * @@ -35,6 +57,20 @@ { @Autowired private IDaOpcuaConfigService daOpcuaConfigService; + @Autowired + private IDaParamCollectionService daParamCollectionService; + @Autowired + private IDaTileMatchRulesService daTileMatchRulesService; + @Autowired + private IDaTileMatchMiddlewareService daTileMatchMiddlewareService; + @Resource + private IDaTileMatchCollectionService daTileMatchCollectionService; + + @Resource + private ProductNewPassStationService productNewPassStationService; + + @Resource + private ProductNewPassStationMapper productNewPassStationMapper; /** * 鏌ヨ浜や簰淇″彿閰嶇疆鍒楄〃 @@ -110,14 +146,82 @@ @PreAuthorize("@ss.hasPermi('da:opcuaconfig:query')") @GetMapping(value = "/SNCode/{SNCode}/{locationCode}") public AjaxResult setSNCode(@PathVariable("SNCode") String SNCode,@PathVariable("locationCode") String locationCode) { - //NodeEntity node= NodeEntity.builder().index(2).identifier("CFL4CVT"+"."+locationCode+".SNCode").value(SNCode).type("string").build(); - Boolean out= null; + ReadWriteEntity entity = new ReadWriteEntity("CFL4HX."+locationCode+".SNCode", SNCode); + Boolean out= true; try { - // out = ClientHandler.write(node); + miloService.writeToOpcUa(entity);//鍐橲N } catch (Exception e) { throw new RuntimeException(e); } - return toAjax(out); } + + /** + * 閰嶇摝鎵爜 + */ + @PreAuthorize("@ss.hasPermi('da:opcuaconfig:query')") + @GetMapping(value = "/barcode1") + public R setBarcode1(String barcode, String locationCode) { + ProductNewPassStation resultPassStation = new ProductNewPassStation(); + try { + Object SNCodeObject = miloService.readFromOpcUa("CFL4HX." + locationCode + ".Code").getValue(); + if (null == SNCodeObject) { + SNCodeObject = miloService.readFromOpcUa("CFL4HX." + locationCode + ".Code1").getValue(); + } + if (null != SNCodeObject) { + String SNCode = SNCodeObject.toString(); + //鎻掑叆鏁版嵁 + DaParamCollection saveData = new DaParamCollection(); + saveData.setSfcCode(SNCode); + saveData.setParamValue(barcode); + saveData.setLocationCode(locationCode); + saveData.setParamCode("CZM"); + saveData.setParamName("鏇茶酱"); + daParamCollectionService.insertDaParamCollection(saveData); + + DaTileMatchCollection MatchCollection = new DaTileMatchCollection(); + MatchCollection.setSfcCode(SNCode); + MatchCollection.setParamValue(barcode); + MatchCollection.setLocationCode(locationCode); + MatchCollection.setParamCode("CZM"); + MatchCollection.setParamName("鏇茶酱"); + daTileMatchCollectionService.insertDaTileMatchCollection(MatchCollection); + +// DaTileMatchRules TileMatchRules = new DaTileMatchRules(); +// TileMatchRules.setProductSeries("380Y"); +// TileMatchRules.setScanObject1("杩炴潌"); +// TileMatchRules.setScanObject2("鏇茶酱"); +// daTileMatchRulesService.selectDaTileMatchRulesList(TileMatchRules); + + for (int i = 1; i <= 3; i++) { + DaTileMatchMiddleware TileMatchMiddleware = new DaTileMatchMiddleware(); + TileMatchMiddleware.setSfcCode(SNCode); + TileMatchMiddleware.setCrankshaftNo(barcode); + TileMatchMiddleware.setCylinder(i); + TileMatchMiddleware.setState(1); + TileMatchMiddleware.setCreateTime(new Date()); + TileMatchMiddleware.setUpdateTime(new Date()); + daTileMatchMiddlewareService.insertDaTileMatchMiddleware(TileMatchMiddleware); + } + + + ProductNewPassStation productNewPassStation = new ProductNewPassStation(); + productNewPassStation.setFinishFlag(OPCElement.UN_FINISH); + productNewPassStation.setSfcCode(SNCode); + List<ProductNewPassStation> productPassStationList = productNewPassStationService.getProductPassStationList(productNewPassStation); + if (CollUtil.isNotEmpty(productPassStationList)){ + resultPassStation = productPassStationList.get(0); + String rodCode = barcode; + productNewPassStationMapper.updatePassStationRodCode(resultPassStation.getSfcCode(),rodCode); + + } + + ReadWriteEntity entity6 = new ReadWriteEntity("CFL4HX.OP030.CodeComplete", 1); + miloService.writeToOpcByte(entity6); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + return R.ok(resultPassStation); + } } -- Gitblit v1.9.3