From 3946f893f84814185dfb97e89bfdb10b82eea906 Mon Sep 17 00:00:00 2001
From: wujian <14790700720@163.com>
Date: 星期三, 24 四月 2024 08:47:49 +0800
Subject: [PATCH] change model

---
 jcdm-main/src/main/java/com/jcdm/main/plcserver/conf/OPCElement.java           |    2 +
 jcdm-main/src/main/java/com/jcdm/main/plcserver/CustomRunner.java              |    2 
 jcdm-ui/src/views/main/kb/engineCheck/index.vue                                |    8 +++-
 jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/domain/DaOpcuaConfig.java |    6 +-
 jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java     |   98 +++++++++++++++++++++++++++++++++++++++---------
 5 files changed, 91 insertions(+), 25 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/domain/DaOpcuaConfig.java b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/domain/DaOpcuaConfig.java
index c36d43d..a6cc343 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/domain/DaOpcuaConfig.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/domain/DaOpcuaConfig.java
@@ -48,7 +48,7 @@
 
     /** 鐘舵�� */
     @Excel(name = "鐘舵��")
-    private Long state;
+    private Integer state;
 
     public void setId(Long id) 
     {
@@ -122,12 +122,12 @@
     {
         return process;
     }
-    public void setState(Long state) 
+    public void setState(Integer state)
     {
         this.state = state;
     }
 
-    public Long getState() 
+    public Integer getState()
     {
         return state;
     }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/plcserver/CustomRunner.java b/jcdm-main/src/main/java/com/jcdm/main/plcserver/CustomRunner.java
index e566d30..65fc450 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/plcserver/CustomRunner.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/plcserver/CustomRunner.java
@@ -72,7 +72,7 @@
      */
     public List<DaOpcuaConfig> getSubList(){
         DaOpcuaConfig config = new DaOpcuaConfig();
-        config.setState(1L);
+        config.setState(0);
         List<DaOpcuaConfig> list = iDaOpcuaConfigService.selectDaOpcuaConfigList(config);
 //        List<String> lists = new ArrayList<>();
 //        if (CollUtil.isNotEmpty(list)){
diff --git a/jcdm-main/src/main/java/com/jcdm/main/plcserver/conf/OPCElement.java b/jcdm-main/src/main/java/com/jcdm/main/plcserver/conf/OPCElement.java
index 746ac5c..cd7a776 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/plcserver/conf/OPCElement.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/plcserver/conf/OPCElement.java
@@ -33,6 +33,8 @@
     public static final String OP465_ZZ_CODE_CHECK = "CFL4ZZ.OP465.CodeCheck";
     //杩斾慨鐩戝惉鐐逛綅-355
     public static final String OP355_ZZ_CODE_CHECK = "CFL4ZZ.OP355.CodeCheck";
+    public static final String OP695_ZZ_CODE_CHECK = "CFL4ZZ.OP695.CodeCheck";
+    public static final String OP755_ZZ_CODE_CHECK = "CFL4ZZ.OP755.CodeCheck";
 
     public static final String SN_CHECK = "SNRetrieval";
     public static final String SAVE_DATA = "SaveData";
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 1fb88ee..e9c6d0e 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
@@ -142,6 +142,9 @@
     private void scannerGunMessage() throws Exception {
         String[] parts = OPCElement.OP120_ZZ_CODE_CHECK.split("[.]");
         Object SNCodeObject = miloService.readFromOpcUa(parts[0] + "." + parts[1] + ".Code1").getValue();
+        if (null == SNCodeObject){
+            SNCodeObject = miloService.readFromOpcUa(parts[0] + "." + parts[1] + ".Code").getValue();
+        }
         if (null != SNCodeObject){
             String SNCode = SNCodeObject.toString();
             passingStationCollectionServiceImpl.sendMessage(SNCode);
@@ -155,8 +158,9 @@
             Object SNCodeObject = miloService.readFromOpcUa(parts[0] + "." + parts[1] + ".Code").getValue();
             if(null != SNCodeObject) {
                 String SNCode=SNCodeObject.toString();
-//                String a=passingStationCollectionServiceImpl.SelectSN(SNCode,parts[1]);
-                String a="1";
+                String a=passingStationCollectionServiceImpl.SelectSN(SNCode,parts[1]);
+                System.out.println("codeCheckFeed:"+a);
+//                String a="1";
                 // 1:OK鍙敓浜� 2:NG涓嶅彲鐢熶骇 3:NG鍙繑宸� 4:PC妫�绱㈠け璐ワ紙鏃犺褰曪級5:PC妫�绱㈠け璐ワ紙杞欢锛�
                 if (StrUtil.isNotBlank(a)){
                     int input = Integer.parseInt(a);
@@ -178,9 +182,11 @@
                         miloService.writeToOpcUa(entity2);
                     }
                     //濡傛灉鏄繑淇伐浣嶉渶瑕佷紶杈撹繑淇伐浣嶅彿
-                    if (OPCElement.OP465_ZZ_CODE_CHECK.equals(Node) || OPCElement.OP355_ZZ_CODE_CHECK.equals(Node)){
-                        rework(SNCode);
+                    if (OPCElement.OP465_ZZ_CODE_CHECK.equals(Node) || OPCElement.OP355_ZZ_CODE_CHECK.equals(Node)
+                    || OPCElement.OP695_ZZ_CODE_CHECK.equals(Node) || OPCElement.OP755_ZZ_CODE_CHECK.equals(Node)){
+                        rework(SNCode,Node);
                     }
+                    System.out.println(entity);
                 miloService.writeToOpcByte(entity);
                 }
 
@@ -188,7 +194,7 @@
         }
     }
 
-    private void rework(String SNCode)  throws Exception{
+    private void rework(String SNCode,String Node)  throws Exception{
         BsOrderScheduling bsOrderScheduling = new BsOrderScheduling();
         bsOrderScheduling.setEngineNo(SNCode);
         List<String> allProcessCoed = new ArrayList<>();
@@ -205,31 +211,83 @@
         rmRepairRecord.setBoxCode(SNCode);
         List<ReadWriteEntity> writeList = new ArrayList<>();
         List<RmRepairRecord> rmRepairRecords = rmRepairRecordService.selectRmRepairRecordList(rmRepairRecord);
+        //杩囩珯璁板綍
+        DaPassingStationCollection PassingStationCollection=new DaPassingStationCollection();
+        PassingStationCollection.setSfcCode(SNCode);
+        //杩囩珯璁板綍
+        List<DaPassingStationCollection> daPassingStationCollections = passingStationCollectionServiceImpl.selectDaPassingStationCollectionList(PassingStationCollection);
+
         //鎵�鏈夊弽宸ュ伐浣�
         List<String> collect1 = rmRepairRecords.stream().map(RmRepairRecord::getProcessesCode).collect(Collectors.toList());
-        //鎵�鏈夋斁琛屽伐浣�
-        List<String> collect2 = allProcessCoed;
-        if (CollUtil.isNotEmpty(rmRepairRecords)){
-            //鏁版嵁搴撴煡璇㈠嚭鐨勫伐浣�
-            rmRepairRecords.forEach(x -> {
-                ReadWriteEntity readWriteEntity = new ReadWriteEntity();
-                readWriteEntity.setIdentifier(x.getProcessesCode());
-                readWriteEntity.setValue(1);
-                writeList.add(readWriteEntity);
+        //鏌ヨ鍑烘墍鏈夐渶瑕佽繑淇伐浣嶇殑鏈�灏弌p鍧�
+        Integer minOP = 0;
+        if (CollUtil.isNotEmpty(collect1)){
+
+            List<Integer> sortList = new ArrayList<>();
+            collect1.stream().forEach(x ->{
+                String op = x.replace("OP", "");
+                if (StrUtil.isNotBlank(op)){
+                    int i = Integer.parseInt(op);
+                    sortList.add(i);
+                }
             });
-            collect2 = allProcessCoed.stream().filter(x -> !collect1.contains(x)).collect(Collectors.toList());
+            if (CollUtil.isNotEmpty(sortList)){
+                List<Integer> collect2 = sortList.stream().sorted().collect(Collectors.toList());
+                minOP = collect2.get(0);
+            }
         }
-        if (CollUtil.isNotEmpty(collect2)){
-            collect2.forEach(x -> {
+
+        //鎵�鏈夋斁琛屽伐浣�
+        //杩囩珯璁板綍闄ゅ幓杩斾慨璁板綍灏辨槸浼�2锛岃繑淇暟鎹強鍚庨潰鍗犱綅鏁版嵁浼�1
+        List<String> collect3 = daPassingStationCollections.stream().map(DaPassingStationCollection::getLocationCode).collect(Collectors.toList());
+        if (CollUtil.isNotEmpty(collect1)){
+            collect3 = collect3.stream().filter(x -> !collect1.contains(x)).collect(Collectors.toList());
+        }
+        if (CollUtil.isNotEmpty(collect3)){
+            collect3.forEach(x -> {
                 ReadWriteEntity readWriteEntity = new ReadWriteEntity();
                 readWriteEntity.setIdentifier(x);
                 readWriteEntity.setValue(2);
                 writeList.add(readWriteEntity);
             });
         }
+        //闇�鐢熶骇宸ヤ綅
+        List<String> collect4 = allProcessCoed;
+        if (CollUtil.isNotEmpty(collect3)){
+            List<String> finalCollect = collect3;
+            collect4 = allProcessCoed.stream().filter(x -> !finalCollect.contains(x)).collect(Collectors.toList());
+        }
+        if (CollUtil.isNotEmpty(collect4)){
+            //鏁版嵁搴撴煡璇㈠嚭鐨勫伐浣�
+            collect4.forEach(x -> {
+                ReadWriteEntity readWriteEntity = new ReadWriteEntity();
+                readWriteEntity.setIdentifier(x);
+                readWriteEntity.setValue(1);
+                writeList.add(readWriteEntity);
+            });
+        }
+//        List<String> collect2 = allProcessCoed;
+//        if (CollUtil.isNotEmpty(rmRepairRecords)){
+//            //鏁版嵁搴撴煡璇㈠嚭鐨勫伐浣�
+//            rmRepairRecords.forEach(x -> {
+//                ReadWriteEntity readWriteEntity = new ReadWriteEntity();
+//                readWriteEntity.setIdentifier(x.getProcessesCode());
+//                readWriteEntity.setValue(1);
+//                writeList.add(readWriteEntity);
+//            });
+//            collect2 = allProcessCoed.stream().filter(x -> !collect1.contains(x)).collect(Collectors.toList());
+//        }
+//        if (CollUtil.isNotEmpty(collect2)){
+//            collect2.forEach(x -> {
+//                ReadWriteEntity readWriteEntity = new ReadWriteEntity();
+//                readWriteEntity.setIdentifier(x);
+//                readWriteEntity.setValue(2);
+//                writeList.add(readWriteEntity);
+//            });
+//        }
         ReadWriteEntity readWriteEntity = new ReadWriteEntity();
         readWriteEntity.setIdentifier("Repair_sign");
-        readWriteEntity.setValue(1);
+        readWriteEntity.setValue(minOP);
         writeList.add(readWriteEntity);
         miloService.writeToOpcByte(writeList);
     }
@@ -238,7 +296,9 @@
     public void SaveData(String Node) throws Exception {
         String[] parts = Node.split("[.]");
         Object SNCodeObject = miloService.readFromOpcUa(parts[0] + "." + parts[1] + ".Code1").getValue();
-
+        if (null == SNCodeObject){
+            SNCodeObject = miloService.readFromOpcUa(parts[0] + "." + parts[1] + ".Code").getValue();
+        }
         if(null != SNCodeObject)
         {
             String SNCode = SNCodeObject.toString();
diff --git a/jcdm-ui/src/views/main/kb/engineCheck/index.vue b/jcdm-ui/src/views/main/kb/engineCheck/index.vue
index 2e2ac99..506aeae 100644
--- a/jcdm-ui/src/views/main/kb/engineCheck/index.vue
+++ b/jcdm-ui/src/views/main/kb/engineCheck/index.vue
@@ -17,7 +17,7 @@
              <el-form ref="form" :model="form"  label-width="25%"   >
                <el-form-item prop="engineNo" style="margin-top: 16px">
       	     <span slot="label" style="font-size:22px;color:black;"><strong>鍙戝姩鏈哄彿</strong></span>
-                 <el-input style="font-size:20px" v-model="form.engineNo" placeholder="璇疯緭鍏ュ彂鍔ㄦ満鍙�" clearable  @keyup.enter.native="EngineNohandleChange" >
+                 <el-input style="font-size:20px" v-model="form.engineNo" placeholder="璇疯緭鍏ュ彂鍔ㄦ満鍙�" clearable  @keyup.space.native="EngineNohandleChange" >
                    <el-button slot="append" plain type="info" @click="EngineNohandleChange(form.engineNo)" icon="el-icon-search"></el-button>
                  </el-input>
                </el-form-item>
@@ -186,7 +186,10 @@
             console.log('this.result',this.result)
             this.form.engineNo = this.result.server_message
             // this.transEngineNo = this.result.server_message
-            console.log('this.transEngineNo11111111111',this.transEngineNo)
+            console.log('this.transEngineNo11111111111',this.form.engineNo)
+            if (this.form.engineNo !== null && this.form.engineNo !== ''){
+              this.EngineNohandleChange()
+            }
           }
         }
 //鐩戝惉绐楀彛鍏抽棴浜嬩欢锛屽綋绐楀彛鍏抽棴鏃讹紝涓诲姩鍘诲叧闂瓀ebsocket杩炴帴锛岄槻姝㈣繛鎺ヨ繕娌℃柇寮�灏卞叧闂獥鍙o紝server绔細鎶涘紓甯搞��
@@ -218,6 +221,7 @@
       this.resetForm("form");
     },
     EngineNohandleChange(){
+      console.log("EngineNohandleChange")
       if(this.form.engineNo !== null && this.form.engineNo !== undefined){
         let OrderSchedulingParam = {engineNo: null}
         OrderSchedulingParam.engineNo = this.form.engineNo;

--
Gitblit v1.9.3