From 4a5f2a21686b42761cccb4c64a6fcaaf778f071a Mon Sep 17 00:00:00 2001
From: admin <15939171744@163.com>
Date: 星期三, 08 五月 2024 19:50:48 +0800
Subject: [PATCH] -

---
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java      |    9 ++
 jcdm-ui/src/views/main/kb/preInstalledTerminal/index.vue                                                  |   49 ++---------
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java           |    2 
 jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java     |   24 ++++++
 jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/service/impl/OmProductionOrdeInfoServiceImpl.java |    8 +
 jcdm-ui/src/views/main/kb/stationTerminal/index.vue                                                       |   34 +++++---
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java   |   30 +++++++
 jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java                                |   57 ++++++++++++++
 jcdm-ui/src/api/main/da/paramCollection/paramCollection.js                                                |    9 ++
 9 files changed, 168 insertions(+), 54 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java
index cd0b658..07f7325 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java
@@ -211,6 +211,14 @@
             bsFormulaChildInfos.get(0).setResults("OK");
             bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray());
             bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0));
+
+            Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort());
+            try {
+                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".StepNumber").value(stepNumber).build());
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+
             String spareField4 = bsFormulaChildInfos.get(0).getSpareField4();
             if (spareField4 != null && !spareField4.isEmpty()) {
                 // 鎵ц鎿嶄綔
@@ -258,6 +266,14 @@
             bsFormulaChildInfo.setParamCode(bsFormulaChildInfos.get(0).getParamCode());
             bsFormulaChildInfo.setSfcBarcode(bsFormulaChildInfo.getSfcBarcode());
             addParameterCollection(bsFormulaChildInfo);
+
+//            Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort());
+//            try {
+//                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".StepNumber").value(stepNumber).build());
+//            } catch (Exception e) {
+//                throw new RuntimeException(e);
+//            }
+
             if (spareField4 != null && !spareField4.isEmpty()) {
                 // 鎵ц鎿嶄綔
                 if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){
@@ -326,6 +342,14 @@
             bsFormulaChildInfos.get(0).setResults("OK");
             bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray());
             bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0));
+
+            Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort());
+            try {
+                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".StepNumber").value(stepNumber).build());
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+
             String spareField4 = bsFormulaChildInfos.get(0).getSpareField4();
             if (spareField4 != null && !spareField4.isEmpty()) {
                 // 鎵ц鎿嶄綔
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java
index cf960ee..1856c50 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java
@@ -87,6 +87,15 @@
     }
 
     /**
+     * 鍩虹鍙傛暟澧炲姞
+     */
+    @PostMapping("/yzAddBasicParameters")
+    public void yzAddBasicParameters(@RequestBody DaParamCollection daParamCollection)
+    {
+        daParamCollectionService.yzAddBasicParameters(daParamCollection);
+    }
+
+    /**
      * 鎷х揣鍙傛暟澧炲姞
      */
     @PostMapping("/addTighteningParameters")
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java
index 53dec1e..c98f873 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java
@@ -72,4 +72,6 @@
     void insertBatch(List<DaParamCollection> confList);
 
     void replaceAssemblyCode(DaParamCollection daParamCollection);
+
+    void yzAddBasicParameters(DaParamCollection daParamCollection);
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
index 802b6e6..4e182b7 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
@@ -283,4 +283,34 @@
         }
 
     }
+
+    @Override
+    public void yzAddBasicParameters(DaParamCollection daParamCollection) {
+        // 鍋囪杩欐槸浠庢暟鎹簱鎴栧叾浠栧湴鏂硅幏鍙栫殑鍙傛暟鏁版嵁
+        Map<String, String> map = new HashMap<>();
+//        map.put("GC", "鍗楁禂宸ュ巶");
+//        map.put("CXBH", "Pack绾�");
+//        map.put("SBBH", "璁惧001");
+//        map.put("YGBH", "鍛樺伐001");
+//        map.put("GDBH", daParamCollection.getWorkOrderNo());
+//        map.put("CPXH", daParamCollection.getModel());
+        map.put("INT", DateUtil.formatDateTime(new Date()));
+
+        map.forEach((key, value) -> {
+            DaCollectionParamConf daCollectionParamConf = new DaCollectionParamConf();
+            daCollectionParamConf.setProcessesCode(daParamCollection.getLocationCode());
+            daCollectionParamConf.setCollectParameterId(key);
+            List<DaCollectionParamConf> daCollectionParamConfs = daCollectionParamConfMapper.selectDaCollectionParamConfList(daCollectionParamConf);
+            DaParamCollection saveData = new DaParamCollection();
+            saveData.setWorkOrderNo(daParamCollection.getWorkOrderNo());
+            saveData.setProductCode(daParamCollection.getProductCode());
+            saveData.setLocationCode(daParamCollection.getLocationCode());
+            saveData.setSfcCode(daParamCollection.getProductBarcode());
+            saveData.setParamCode(daCollectionParamConfs.get(0).getCollectParameterId());
+            saveData.setParamName(daCollectionParamConfs.get(0).getCollectParameterName());
+            saveData.setCollectionTime(new Date());
+            saveData.setParamValue(value);
+            daParamCollectionMapper.insertDaParamCollection(saveData);
+        });
+    }
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/service/impl/OmProductionOrdeInfoServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/service/impl/OmProductionOrdeInfoServiceImpl.java
index be96501..26c44d9 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/service/impl/OmProductionOrdeInfoServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/service/impl/OmProductionOrdeInfoServiceImpl.java
@@ -168,7 +168,13 @@
 
     @Override
     public AjaxResult findBytrolleyYardGetOne(OmProductionOrdeInfo omProductionOrdeInfo) {
+        String str = "";
         OmProductionOrdeInfo one = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getTrolleyYard, omProductionOrdeInfo.getTrolleyYard()));
-        return AjaxResult.success(one.getProductNum());
+        if(one == null){
+            str = "2";
+        }else {
+            str = one.getProductNum();
+        }
+        return AjaxResult.success(str);
     }
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
index 2824bdc..9171d45 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
@@ -43,6 +43,9 @@
     //鍖哄垎妯$粍鍨嬪彿宸ヤ綅
     public List<String> distinguishingModules = Arrays.asList("OP300","OP310", "OP340", "OP350", "OP330");
 
+    //鍖哄垎灏忚溅鐮�
+    public List<String> agvId = Arrays.asList("OP360", "OP390", "OP470","OP280");
+
 
     //鍖哄垎pack鍨嬪彿鐨勫伐浣�
     public List<String> packIdList = Arrays.asList("OP280","OP360","OP390","OP470");
@@ -133,6 +136,17 @@
 //                                    miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(12).build());
 //                                }
                             }else {
+                                if(agvId.stream().anyMatch(s -> s.equals(device))){
+                                    String agvId = miloService.readFromOpcUa(thoroughfare + "." + device + ".AGVID").getValue().toString();
+                                    String PACKCode = thoroughfare + "." + device + ".MPACKCode";
+                                    if (null != agvId) {
+                                        OmProductionOrdeInfo one = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getTrolleyYard, agvId));
+                                        String packId = one.getProductNum();
+                                        miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(PACKCode).value(packId).build());
+                                    } else {
+                                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(12).build());
+                                    }
+                                }
                                 //pack 濡傛灉鍖哄垎鍨嬪彿鐨勮瘽灏辫澶勭悊
                                 //璁板綍鏁版嵁瀹屾垚
                                 String RecordDataDoneAddress = thoroughfare + "." + device + ".RecordDataDone";
@@ -181,7 +195,7 @@
                         List<ReadWriteEntity> list1 = miloService.readFromOpcUa(list);
                         List<Object> collect = list1.stream().map(ReadWriteEntity::getValue).collect(Collectors.toList());
                         String joinedString = String.join(",", collect.toString());
-                        WebSocketUsers.sendMessageToUserByText(map.get(device), joinedString);
+                        WebSocketUsers.sendMessageToUserByText(map.get(device), TightenTheConversionOkNg(joinedString));
                     }
                 }
             }
@@ -411,4 +425,45 @@
         omProductionOrdeInfoService.saveOrUpdate(one);
     }
 
+    public static void avgFunction(){
+
+    }
+
+    public static String TightenTheConversionOkNg(String param){
+        // 鍘婚櫎棣栧熬鐨勬柟鎷彿锛岀劧鍚庢寜鐓ч�楀彿鍒嗗壊瀛楃涓�
+        String[] parts = param.substring(1, param.length() - 1).split(",");
+
+        // 鍒涘缓涓�涓柊鐨凷tringBuilder鏉ユ瀯寤烘浛鎹㈠悗鐨勫瓧绗︿覆
+        StringBuilder sb = new StringBuilder();
+        sb.append('['); // 娣诲姞宸︽柟鎷彿
+
+        for (int i = 0; i < parts.length; i++) {
+            String part = parts[i].trim(); // 鍘婚櫎鍙兘鐨勭┖鏍�
+            float value;
+            try {
+                value = Float.parseFloat(part); // 灏濊瘯灏嗗瓧绗︿覆杞崲涓烘诞鐐规暟
+                String replacement;
+                if (value == 1f) {
+                    replacement = "OK";
+                } else if (value == 2f) {
+                    replacement = "NG";
+                } else {
+                    replacement = part; // 濡傛灉涓嶆槸1鎴�2锛屽垯淇濇寔涓嶅彉
+                }
+                sb.append(replacement);
+                if (i < parts.length - 1) {
+                    sb.append(','); // 娣诲姞閫楀彿锛堥櫎浜嗘渶鍚庝竴涓厓绱狅級
+                }
+            } catch (NumberFormatException e) {
+                // 濡傛灉杞崲澶辫触锛屽垯淇濇寔鍘熸牱锛堟垨杩涜鍏朵粬閿欒澶勭悊锛�
+                sb.append(part);
+                if (i < parts.length - 1) {
+                    sb.append(',');
+                }
+            }
+        }
+        sb.append(']'); // 娣诲姞鍙虫柟鎷彿
+        return sb.toString();
+    }
+
 }
diff --git a/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js b/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js
index ffc646b..4d88e83 100644
--- a/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js
+++ b/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js
@@ -35,6 +35,15 @@
   })
 }
 
+// 鏂板璁惧浜у搧杩囩▼鍙傛暟閲囬泦
+export function yzAddBasicParameters(data) {
+  return request({
+    url: '/main/paramCollection/yzAddBasicParameters',
+    method: 'post',
+    data: data
+  })
+}
+
 // 绾胯竟鎬绘垚鎹㈡�绘垚鐮�
 export function replaceAssemblyCode(data) {
   return request({
diff --git a/jcdm-ui/src/views/main/kb/preInstalledTerminal/index.vue b/jcdm-ui/src/views/main/kb/preInstalledTerminal/index.vue
index 66292a4..5c077d1 100644
--- a/jcdm-ui/src/views/main/kb/preInstalledTerminal/index.vue
+++ b/jcdm-ui/src/views/main/kb/preInstalledTerminal/index.vue
@@ -43,34 +43,7 @@
                </el-table-column>
              </el-table>
            </el-col>
-<!--           <el-col :span="14">-->
-<!--             <el-image style="height: 520px;width: 100%" :src="imgSrc"></el-image>-->
-<!--           </el-col>-->
          </el-tab-pane>
-<!--         <el-tab-pane name="second">-->
-<!--           <span slot="label"> <b class="el-icon-date"></b>鐗╂枡BOM</span>-->
-<!--           <el-empty>-->
-<!--             <span slot="description">鏆傛棤鏁版嵁</span>-->
-<!--           </el-empty>-->
-<!--         </el-tab-pane>-->
-<!--         <el-tab-pane name="third">-->
-<!--           <span slot="label"> <b class="el-icon-date"></b>閲囬泦娓呭崟</span>-->
-<!--           <el-empty>-->
-<!--             <span slot="description">鏆傛棤鏁版嵁</span>-->
-<!--           </el-empty>-->
-<!--         </el-tab-pane>-->
-<!--         <el-tab-pane name="fourth">-->
-<!--           <span slot="label"> <b class="el-icon-date"></b>瀹夌伅鐘舵��</span>-->
-<!--           <el-empty>-->
-<!--             <span slot="description">鏆傛棤鏁版嵁</span>-->
-<!--           </el-empty>-->
-<!--         </el-tab-pane>-->
-<!--         <el-tab-pane name="fifth">-->
-<!--           <span slot="label"> <b class="el-icon-date"></b>宸ヨ壓閰嶆柟</span>-->
-<!--           <el-empty>-->
-<!--             <span slot="description">鏆傛棤鏁版嵁</span>-->
-<!--           </el-empty>-->
-<!--         </el-tab-pane>-->
        </el-tabs>
      </el-col>
    </el-row>
@@ -233,7 +206,7 @@
   addParamCollection,
   addTighteningParameters,
   saveCampaignTimeParameters,
-  replaceAssemblyCode,
+  replaceAssemblyCode, yzAddBasicParameters,
 } from "@/api/main/da/paramCollection/paramCollection";
 
 export default {
@@ -288,7 +261,7 @@
       },
       content: '',
       activeName: 'first',
-      url: "ws://192.168.2.248:8080/websocket/message/",
+      url: "ws://192.168.2.76:8080/websocket/message/",
       message: "",
       text_content: "",
       ws: null,
@@ -369,6 +342,7 @@
         });
       }
     },
+
     Release(){
       // this.$message('portsList锛�'+this.portsList.length);
       if(this.btnType === "danger"){
@@ -433,23 +407,23 @@
     /** 鏌ヨ宸ュ崟鍒楄〃 */
     async getList() {
       this.getListFormulaChild()
-      // this.addOverStationCollection()
+      this.addOverStationCollection()
     },
 
     /** 鍏ョ珯澧炲姞杩囩珯閲囬泦璁板綍 **/
     addOverStationCollection(){
       this.passingStationForm = {
         id: null,
-        workOrderNo: this.workpieceInformation.workOrderNo,
-        productCode: this.workpieceInformation.productCode,
+        // workOrderNo: this.workpieceInformation.workOrderNo,
+        productCode: "1P102S",
         locationCode: this.headContent.processesCode,
-        model: this.workpieceInformation.productModel,
+        // model: this.workpieceInformation.productModel,
         productBarcode: this.headContent.sfcCode,
         sfcCode: this.headContent.sfcCode,
         inboundTime: new Date()
       }
       addPassingStationCollection(this.passingStationForm).then(response => {});
-      addBasicParameters(this.passingStationForm).then(response => {});
+      yzAddBasicParameters(this.passingStationForm).then(response => {});
     },
     exit() {
       if (this.ws) {
@@ -535,16 +509,13 @@
           const param = {
             tightenTheArray: event.data,
             paramCode: formulaChilds.paramCode,
-            workOrderNo: self.workpieceInformation.workOrderNo,
-            productCode: self.workpieceInformation.productCode,
+            // workOrderNo: self.workpieceInformation.workOrderNo,
+            productCode: "1P102S",
             locationCode: self.headContent.processesCode,
             productBarcode: self.headContent.sfcCode,
           }
           addTighteningParameters(param).then(response => {});
           yzUpdateTighteningFormula(param).then(response => {
-          //   self.getListFormulaChild()
-          // }).catch(error =>{
-          //   self.getListFormulaChild()
             console.log(response.msg)
             if(response.msg === "1"){
                 self.getListFormulaChild()
diff --git a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
index 8a79962..8089177 100644
--- a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
+++ b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
@@ -574,7 +574,7 @@
         inboundTime: new Date()
       }
       addPassingStationCollection(this.passingStationForm).then(response => {});
-      addBasicParameters(this.passingStationForm).then(response => {});
+      // addBasicParameters(this.passingStationForm).then(response => {});
     },
     exit() {
       if (this.ws) {
@@ -606,7 +606,7 @@
         if(this.headContent.processesCode === 'OP240'){
           this.onLineBinDing = true
         }
-        if(this.headContent.processesCode === 'OP250-1' || this.headContent.processesCode === 'OP250-2' || this.headContent.processesCode === 'OP250-3'){
+        if(this.headContent.processesCode === 'OP260'){
           this.showInput = true
         }
 
@@ -679,9 +679,9 @@
         console.log("涓插彛鏀跺埌鏁版嵁-------------------"+scanValue)
 
         if(this.headContent.sfcCode !== ''){
-          if(scanValue.includes("SS")){
+          if(scanValue.includes("P9900173252")){
             this.headContent.yzSfcCode = scanValue
-          }else if(scanValue.includes("CC")){
+          }else if(scanValue.includes("HDY")){
             this.headContent.cardCode = scanValue
           }else {
             this.$message('鎵弿鐗╂枡缂栫爜'+scanValue);
@@ -692,22 +692,30 @@
           if(this.headContent.processesCode === 'OP240'){
             this.headContent.sfcCode = scanValue;
             this.queryParams.productNum = scanValue;
+            this.getList()
+            this.cakeLamp.scanFinish = 1
+            this.cakeLamp.startWork = 1
           }else {
             let param = {
               trolleyYard: scanValue
             }
             findBytrolleyYardGetOne(param).then(response => {
-              this.headContent.sfcCode = response.msg;
-              this.queryParams.productNum = response.msg;
-
+              if(response.msg !== '2'){
+                this.headContent.sfcCode = response.msg;
+                this.queryParams.productNum = response.msg;
+                this.$message('鎵爜璇嗗埆浜у搧搴忓垪鍙�'+scanValue);
+                // this.headContent.sfcCode = scanValue;
+                // this.queryParams.productNum = scanValue;
+                this.getList()
+                this.cakeLamp.scanFinish = 1
+                this.cakeLamp.startWork = 1
+              }else {
+                this.$message('娌℃湁搴忓垪鍙�'+scanValue);
+                return
+              }
             });
           }
-          this.$message('鎵爜璇嗗埆浜у搧搴忓垪鍙�'+scanValue);
-          // this.headContent.sfcCode = scanValue;
-          // this.queryParams.productNum = scanValue;
-          this.getList()
-          this.cakeLamp.scanFinish = 1
-          this.cakeLamp.startWork = 1
+
         }
 
       }

--
Gitblit v1.9.3