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 |  178 +++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 148 insertions(+), 30 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 0c74d37..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,26 +1,55 @@
 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;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 import com.jcdm.common.annotation.Log;
 import com.jcdm.common.core.controller.BaseController;
 import com.jcdm.common.core.domain.AjaxResult;
-import com.jcdm.common.core.page.TableDataInfo;
 import com.jcdm.common.enums.BusinessType;
 import com.jcdm.common.utils.poi.ExcelUtil;
-import com.jcdm.main.da.opcuaconfig.domain.DaOpcuaConfig;
-import com.jcdm.main.da.opcuaconfig.service.IDaOpcuaConfigService;
-import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
+import com.jcdm.common.core.page.TableDataInfo;
 
-import javax.servlet.http.HttpServletResponse;
-import java.util.List;
+import static com.jcdm.main.plcserver.sub.OPCUaSubscription.miloService;
 
 /**
- * OPCUA鍙傛暟璁剧疆Controller
+ * 浜や簰淇″彿閰嶇疆Controller
  * 
  * @author yyt
- * @date 2023-12-22
+ * @date 2024-01-23
  */
 @RestController
 @RequestMapping("/da/opcuaconfig")
@@ -28,12 +57,23 @@
 {
     @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;
 
     /**
-     * 鏌ヨOPCUA鍙傛暟璁剧疆鍒楄〃
+     * 鏌ヨ浜や簰淇″彿閰嶇疆鍒楄〃
      */
     @PreAuthorize("@ss.hasPermi('da:opcuaconfig:list')")
     @GetMapping("/list")
@@ -44,28 +84,21 @@
         return getDataTable(list);
     }
 
-    @PreAuthorize("@ss.hasPermi('da:opcuaconfig:getconfig')")
-    @GetMapping("/getconfig")
-    public List<DaOpcuaConfig> getconfig(DaOpcuaConfig daOpcuaConfig)
-    {
-        return daOpcuaConfigService.selectDaOpcuaConfigList(daOpcuaConfig);
-    }
-
     /**
-     * 瀵煎嚭OPCUA鍙傛暟璁剧疆鍒楄〃
+     * 瀵煎嚭浜や簰淇″彿閰嶇疆鍒楄〃
      */
     @PreAuthorize("@ss.hasPermi('da:opcuaconfig:export')")
-    @Log(title = "OPCUA鍙傛暟璁剧疆", businessType = BusinessType.EXPORT)
+    @Log(title = "浜や簰淇″彿閰嶇疆", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, DaOpcuaConfig daOpcuaConfig)
     {
         List<DaOpcuaConfig> list = daOpcuaConfigService.selectDaOpcuaConfigList(daOpcuaConfig);
         ExcelUtil<DaOpcuaConfig> util = new ExcelUtil<DaOpcuaConfig>(DaOpcuaConfig.class);
-        util.exportExcel(response, list, "OPCUA鍙傛暟璁剧疆鏁版嵁");
+        util.exportExcel(response, list, "浜や簰淇″彿閰嶇疆鏁版嵁");
     }
 
     /**
-     * 鑾峰彇OPCUA鍙傛暟璁剧疆璇︾粏淇℃伅
+     * 鑾峰彇浜や簰淇″彿閰嶇疆璇︾粏淇℃伅
      */
     @PreAuthorize("@ss.hasPermi('da:opcuaconfig:query')")
     @GetMapping(value = "/{id}")
@@ -75,10 +108,10 @@
     }
 
     /**
-     * 鏂板OPCUA鍙傛暟璁剧疆
+     * 鏂板浜や簰淇″彿閰嶇疆
      */
     @PreAuthorize("@ss.hasPermi('da:opcuaconfig:add')")
-    @Log(title = "OPCUA鍙傛暟璁剧疆", businessType = BusinessType.INSERT)
+    @Log(title = "浜や簰淇″彿閰嶇疆", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody DaOpcuaConfig daOpcuaConfig)
     {
@@ -86,10 +119,10 @@
     }
 
     /**
-     * 淇敼OPCUA鍙傛暟璁剧疆
+     * 淇敼浜や簰淇″彿閰嶇疆
      */
     @PreAuthorize("@ss.hasPermi('da:opcuaconfig:edit')")
-    @Log(title = "OPCUA鍙傛暟璁剧疆", businessType = BusinessType.UPDATE)
+    @Log(title = "浜や簰淇″彿閰嶇疆", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody DaOpcuaConfig daOpcuaConfig)
     {
@@ -97,13 +130,98 @@
     }
 
     /**
-     * 鍒犻櫎OPCUA鍙傛暟璁剧疆
+     * 鍒犻櫎浜や簰淇″彿閰嶇疆
      */
     @PreAuthorize("@ss.hasPermi('da:opcuaconfig:remove')")
-    @Log(title = "OPCUA鍙傛暟璁剧疆", businessType = BusinessType.DELETE)
+    @Log(title = "浜や簰淇″彿閰嶇疆", businessType = BusinessType.DELETE)
 	@DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids)
     {
         return toAjax(daOpcuaConfigService.deleteDaOpcuaConfigByIds(ids));
     }
+
+    /**
+     * 鑾峰彇浜や簰淇″彿閰嶇疆璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('da:opcuaconfig:query')")
+    @GetMapping(value = "/SNCode/{SNCode}/{locationCode}")
+    public AjaxResult setSNCode(@PathVariable("SNCode") String SNCode,@PathVariable("locationCode") String locationCode) {
+        ReadWriteEntity entity = new ReadWriteEntity("CFL4HX."+locationCode+".SNCode", SNCode);
+        Boolean out= true;
+        try {
+            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