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

---
 jcdm-main/src/main/java/com/jcdm/main/plcserver/conf/OPCElement.java                                                      |    2 
 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java         |    2 
 jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java                     |   13 +++
 jcdm-ui/src/views/main/kb/stationTerminal/index.vue                                                                       |   16 ++++-
 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java |   29 +++++++++
 jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java                        |   20 ++++++
 jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/domain/BsFormulaChildInfo.java                                      |    3 +
 jcdm-ui/src/api/main/bs/formulaChild/formulaChild.js                                                                      |   10 +++
 jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java                                                |   55 +++++++++++++++++
 9 files changed, 141 insertions(+), 9 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java
index 6814c17..6a5a950 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java
@@ -7,6 +7,8 @@
 import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.jcdm.main.constant.Constants;
+import com.kangaroohy.milo.model.ReadWriteEntity;
+import com.kangaroohy.milo.service.MiloService;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -39,12 +41,30 @@
     @Autowired
     private IBsFormulaChildInfoService bsFormulaChildInfoService;
 
+    @Autowired
+    private MiloService miloService;
+
+    /**
+     * 鎵爜纭
+     */
+    @GetMapping("/fistSetpNumber")
+    public void fistSetpNumber(BsFormulaChildInfo bsFormulaChildInfo)
+    {
+        try {
+            String str = "PACK."+bsFormulaChildInfo.getProcessesCode()+".MStepNumber";
+            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(str).value(1).build());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
     /**
      * 鏌ヨ閰嶆柟閰嶇疆瀛愪俊鎭垪琛�
      */
     @GetMapping("/noPageListFormulaChild")
     public TableDataInfo noPageListFormulaChild(BsFormulaChildInfo bsFormulaChildInfo)
     {
+
         List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
                 .eq(BsFormulaChildInfo::getProductCode,bsFormulaChildInfo.getProductCode())
                 .eq(BsFormulaChildInfo::getProcessesCode,bsFormulaChildInfo.getProcessesCode()));
diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/domain/BsFormulaChildInfo.java b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/domain/BsFormulaChildInfo.java
index 66d188b..ee0cf8c 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/domain/BsFormulaChildInfo.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/domain/BsFormulaChildInfo.java
@@ -139,6 +139,9 @@
     @TableField(exist = false)
     private Integer counts;
 
+    @TableField(exist = false)
+    private String productBarcode;
+
     public String getParamName() {
         return paramName;
     }
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 a555451..7bf0853 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
@@ -15,8 +15,10 @@
 import com.jcdm.framework.websocket.WebSocketUsers;
 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.DaPassingStationCollection;
 import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper;
+import com.jcdm.main.da.testDeviceInterface.service.IDaTestDeviceInterfaceService;
 import com.kangaroohy.milo.model.ReadWriteEntity;
 import com.kangaroohy.milo.service.MiloService;
 import org.aspectj.weaver.loadtime.Aj;
@@ -51,6 +53,12 @@
 
     @Autowired
     private DaPassingStationCollectionMapper daPassingStationCollectionMapper;
+
+    @Autowired
+    private IDaTestDeviceInterfaceService daTestDeviceInterfaceService;
+
+    @Autowired
+    private IDaParamCollectionService daParamCollectionService;
 
     Map<String, Session> map = WebSocketUsers.getUsers();
 
@@ -215,7 +223,7 @@
 
             Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort());
             try {
-                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber").value(stepNumber).build());
+                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber").value(stepNumber+1).build());
             } catch (Exception e) {
                 throw new RuntimeException(e);
             }
@@ -375,6 +383,7 @@
 
     @Override
     public AjaxResult workpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) {
+        daParamCollectionService.pushGeelycvMesFeedback(bsFormulaChildInfo.getProductBarcode(), bsFormulaChildInfo.getLocationCode());
         List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
                 .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode())
                 .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode()));
@@ -415,7 +424,7 @@
 
             Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort());
             try {
-                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber").value(stepNumber).build());
+                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber").value(stepNumber+1).build());
             } catch (Exception e) {
                 throw new RuntimeException(e);
             }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java
index 86b002f..38e1422 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java
@@ -72,4 +72,6 @@
     void insertRepairRecordByIds(DaPassingStationCollection daPassingStationCollection);
 
     int jrmAddPassingStationCollection(DaPassingStationCollection daPassingStationCollection);
+
+    void saveBeachDaPassingStationCollection(List<DaPassingStationCollection> list);
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java
index 8d5d721..d5ac935 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java
@@ -5,14 +5,19 @@
 //import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling;
 //import com.jcdm.main.bs.orderScheduling.mapper.BsOrderSchedulingMapper;
 //import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService;
+import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper;
 import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
 import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper;
 import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
 import com.jcdm.main.rm.repairRecord.domain.RmRepairRecord;
 import com.jcdm.main.rm.repairRecord.mapper.RmRepairRecordMapper;
+import org.apache.ibatis.session.ExecutorType;
+import org.apache.ibatis.session.SqlSession;
+import org.apache.ibatis.session.SqlSessionFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
@@ -35,6 +40,9 @@
 
     @Autowired
     private RmRepairRecordMapper rmRepairRecordMapper;
+
+    @Resource
+    private SqlSessionFactory sqlSessionFactory;
 
 //    @Autowired
 //    private BsOrderSchedulingMapper bsOrderSchedulingMapper;
@@ -157,4 +165,25 @@
         }
         return 1;
     }
+
+    @Override
+    public void saveBeachDaPassingStationCollection(List<DaPassingStationCollection> list) {
+        // ExecutorType.SIMPLE: 杩欎釜鎵ц鍣ㄧ被鍨嬩笉鍋氱壒娈婄殑浜嬫儏銆傚畠涓烘瘡涓鍙ョ殑鎵ц鍒涘缓涓�涓柊鐨勯澶勭悊璇彞銆�
+        // ExecutorType.REUSE: 杩欎釜鎵ц鍣ㄧ被鍨嬩細澶嶇敤棰勫鐞嗚鍙ャ��
+        // ExecutorType.BATCH: 杩欎釜鎵ц鍣ㄤ細鎵归噺鎵ц鎵�鏈夋洿鏂拌鍙�,濡傛灉 SELECT 鍦ㄥ畠浠腑闂存墽琛岃繕浼氭爣瀹氬畠浠槸 蹇呴』鐨�,鏉ヤ繚璇佷竴涓畝鍗曞苟鏄撲簬鐞嗚В鐨勮涓恒��
+
+        // 鍏抽棴session鐨勮嚜鍔ㄦ彁浜�
+        SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
+        try {
+            DaPassingStationCollectionMapper userMapper = sqlSession.getMapper(DaPassingStationCollectionMapper.class);
+            list.stream().forEach(item -> userMapper.insertDaPassingStationCollection(item));
+            // 鎻愪氦鏁版嵁
+            sqlSession.commit();
+            sqlSession.rollback();
+        } catch (Exception e) {
+            sqlSession.rollback();
+        } finally {
+            sqlSession.close();
+        }
+    }
 }
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 569af77..20e805e 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
@@ -92,7 +92,7 @@
      */
     public static final String PACK_OP400_RecordData = "PACK.OP400.RecordData";//璇锋眰璁板綍鏁版嵁
 
-    public static final String PACK_OP400_AngleResult = "PACK.OP400.AngleResult_1";//璇锋眰鎷х揣鏁版嵁
+    public static final String PACK_OP400_AngleResult = "PACK.OP400.AngleResult";//璇锋眰鎷х揣鏁版嵁
     /**
      * OP410
      */
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 8dc6dd6..104b1b7 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
@@ -115,6 +115,16 @@
                                 String RecordDataDoneAddress = thoroughfare + "." + device + ".RecordDataDone";
                                 //璇绘ā缁勭爜
                                 Object moduleCode = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCode").getValue();
+                                if(device.equals("OP365")){
+                                    Object moduleCodeA = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCodeA").getValue();
+                                    Object moduleCodeB = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCodeB").getValue();
+                                    if(moduleCodeA!=null && moduleCodeB!=null){
+                                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(11).build());
+                                    }else {
+                                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(12).build());
+                                    }
+                                    return;
+                                }
 
                                 if(moduleCode!=null){
                                     miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(11).build());
@@ -150,7 +160,6 @@
                                     }else {
                                         miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(12).build());
                                     }
-
                                 }
                             }
                         }else {
@@ -231,6 +240,13 @@
             if(nullList.stream().noneMatch(s -> s.equals(device))){
                 if(moduleCodeList.stream().anyMatch(s -> s.equals(device))){
                     read = read + "ModuleCode";
+                    if(device.equals("OP365")){
+                        try {
+                            saveStationInfo365(thoroughfare,device);
+                        }catch (Exception e){
+                            e.printStackTrace();
+                        }
+                    }
                 }else {
                     read = read + "PACKCode";
                 }
@@ -264,7 +280,10 @@
                     //1銆佹洿鏂板伐鍗曚俊鎭�
                     updateOrderInfo(snCode);
                 }
-                daParamCollectionService.pushGeelycvMesFeedback(snCode,device);
+                try{
+                    daParamCollectionService.pushGeelycvMesFeedback(snCode,device);
+                }catch (Exception e){
+                }
                 result = "21";
 
             }
@@ -492,4 +511,36 @@
         return CollUtil.isEmpty(list);
     }
 
+    /**
+     * 淇濆瓨杩囩珯閲囬泦
+     */
+    public void saveStationInfo365(String thoroughfare,String device) throws Exception {
+        String prefix = thoroughfare+"."+device+".";
+        List<DaPassingStationCollection> passingStationCollections = new ArrayList<>();
+        String ModuleCodeA = miloService.readFromOpcUa(prefix + "ModuleCodeA").getValue().toString();
+        String ModuleCodeB = miloService.readFromOpcUa(prefix + "ModuleCodeB").getValue().toString();
+        String StationStatusA = miloService.readFromOpcUa(prefix + "StationStatusA").getValue().toString();
+        String StationStatusB = miloService.readFromOpcUa(prefix + "StationStatusB").getValue().toString();
+        String[] modeles = {ModuleCodeA,ModuleCodeB};
+        String[] StationStatus = {StationStatusA,StationStatusB};
+
+        String startTime = miloService.readFromOpcUa(prefix + "StartTime").getValue().toString();
+        String stopTime = miloService.readFromOpcUa(prefix + "StopTime").getValue().toString();
+        for (int i = 0; i < 2; i++) {
+            DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection();
+            String strt = TimeUtil.stringProcessing(startTime);
+            String end = TimeUtil.stringProcessing(stopTime);
+            daPassingStationCollection.setInboundTime(format.parse(TimeUtil.test(strt)));//鍏ョ珯鏃堕棿
+            daPassingStationCollection.setOutboundTime(format.parse(TimeUtil.test(end)));//鍑虹珯鏃堕棿
+            daPassingStationCollection.setSfcCode(modeles[i]);
+            daPassingStationCollection.setLocationCode(device);
+            daPassingStationCollection.setOutRsSign(StationStatus[i]);//鍑虹珯鏄惁鍚堟牸
+            passingStationCollections.add(daPassingStationCollection);
+        }
+        daPassingStationCollectionService.saveBeachDaPassingStationCollection(passingStationCollections);
+        String RecordDataDoneAddress = thoroughfare + "." + device + ".RecordDataDone";
+        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(21).build());
+        return;
+    }
+
 }
diff --git a/jcdm-ui/src/api/main/bs/formulaChild/formulaChild.js b/jcdm-ui/src/api/main/bs/formulaChild/formulaChild.js
index 29569a3..26ae74b 100644
--- a/jcdm-ui/src/api/main/bs/formulaChild/formulaChild.js
+++ b/jcdm-ui/src/api/main/bs/formulaChild/formulaChild.js
@@ -38,6 +38,16 @@
 }
 
 // 鏌ヨ閰嶆柟閰嶇疆瀛愪俊鎭垪琛�
+export function fistSetpNumber(query) {
+  return request({
+    url: '/bs/formulaChild/fistSetpNumber',
+    method: 'get',
+    params: query
+
+  })
+}
+
+// 鏌ヨ閰嶆柟閰嶇疆瀛愪俊鎭垪琛�
 export function jrmUpdateResults(query) {
   return request({
     url: '/bs/formulaChild/jrmUpdateResults',
diff --git a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
index be3361d..d76b681 100644
--- a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
+++ b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
@@ -298,6 +298,7 @@
 import {listWorkReport} from "@/api/main/om/workReport/workReport";
 import {listStationConf,getIpv4} from "@/api/main/sc/stationConf";
 import {
+  fistSetpNumber,
   listFormulaChild,
   noPageListFormulaChild,
   releaseCheck,
@@ -575,9 +576,9 @@
         this.workpieceInformation.productCode = rowsData.productCode;
         this.workpieceInformation.productModel = rowsData.productModel;
         this.workpieceInformation.productName = rowsData.productName;
-        this.timer = setInterval(() => {
-          this.workpieceInformation.beat++;
-        }, 1000);
+        // this.timer = setInterval(() => {
+        //   this.workpieceInformation.beat++;
+        // }, 1000);
       });
       this.getListFormulaChild()
       this.addOverStationCollection()
@@ -633,6 +634,7 @@
         }
 
         console.log('璁剧疆宸ヤ綅缂栫爜' + this.headContent.processesCode)
+
       });
       this.conCom()
       console.log('websocket杩炴帴宸ヤ綅涓�' + this.headContent.processesCode)
@@ -641,10 +643,16 @@
       const self = this;
       this.ws.onopen = function (event) {
         this.$message('websocket杩炴帴鎴愬姛锛�');
+
       };
       this.ws.onmessage = function (event) {
         if (event.data === "IN") {
           self.cakeLamp.InPlace = 1;
+          console.log(self.headContent.processesCode);
+          const param = {
+            processesCode: self.headContent.processesCode,
+          }
+          fistSetpNumber(param).then(response => {});
         } else if (event.data === "IN0") {
           self.cakeLamp.InPlace = 0;
         } else if (event.data === "OUT") {
@@ -703,7 +711,7 @@
         if(this.headContent.sfcCode !== ''){
           if(scanValue.includes("P9900173252")){
             this.headContent.yzSfcCode = scanValue
-          }else if(scanValue.includes("HDY")){
+          }else if(scanValue.includes("RSP01TE")){
             this.headContent.cardCode = scanValue
           }else {
             this.$message('鎵弿鐗╂枡缂栫爜'+scanValue);

--
Gitblit v1.9.3