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