From 8f0f8d2d5e5492b1db16d5166a5e053511844522 Mon Sep 17 00:00:00 2001
From: 懒羊羊 <15939171744@163.com>
Date: 星期二, 02 四月 2024 10:24:14 +0800
Subject: [PATCH] -

---
 jcdm-main/src/main/java/com/jcdm/main/plcserver/conf/OPCElement.java                                    |    7 ++
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java         |    2 
 jcdm-main/src/main/java/com/jcdm/main/plcserver/CustomRunner.java                                       |    5 +
 jcdm-ui/src/views/main/kb/stationTerminal/index.vue                                                     |    2 
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/mapper/DaParamCollectionMapper.java            |    2 
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java |   13 ++++
 jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java                              |  105 ++++++++++++++++++++++++++++++-----
 jcdm-main/src/main/resources/mapper/da/collectionParamConf/DaCollectionParamConfMapper.xml              |   26 ++++----
 8 files changed, 132 insertions(+), 30 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/mapper/DaParamCollectionMapper.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/mapper/DaParamCollectionMapper.java
index 9b0744f..c767820 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/mapper/DaParamCollectionMapper.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/mapper/DaParamCollectionMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
+import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
 
@@ -11,6 +12,7 @@
  * @author yyt
  * @date 2023-12-13
  */
+@Mapper
 public interface DaParamCollectionMapper extends BaseMapper<DaParamCollection>
 {
     /**
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 9e53aba..cf4bae5 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
@@ -69,4 +69,6 @@
 
     void saveBeachDaParamCollection(List<DaParamCollection> list);
 
+    void insertBatch(List<DaParamCollection> confList);
+
 }
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 3ab7f5a..99c3ce0 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
@@ -1,6 +1,7 @@
 package com.jcdm.main.da.paramCollection.service.impl;
 
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.db.Db;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jcdm.common.utils.DateUtils;
 import com.jcdm.main.bs.formulaChild.domain.BsFormulaChildInfo;
@@ -227,7 +228,7 @@
                 daPassingStationCollections.get(0).setOutboundTime(new Date());
                 int i = daPassingStationCollectionMapper.updateDaPassingStationCollection(daPassingStationCollections.get(0));
 
-                OPCUaSubscription.SaveParamData(daParamCollection.getProductBarcode(),"OP",daParamCollection.getLocationCode(),daParamCollection.getWorkOrderNo(),daParamCollection.getProductCode());
+//                OPCUaSubscription.SaveParamData(daParamCollection.getProductBarcode(),"OP",daParamCollection.getLocationCode(),daParamCollection.getWorkOrderNo(),daParamCollection.getProductCode());
 
                 //缁檕pc鍙�21
                 miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("OP."+daParamCollection.getLocationCode()+".RecordDataDone").value(21).build());
@@ -236,4 +237,14 @@
             }
         }
     }
+
+    @Override
+    public void insertBatch(List<DaParamCollection> confList){
+        try{
+            this.saveBatch(confList);
+        }catch (Exception e){
+            return;
+        }
+
+    }
 }
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 b847049..0013221 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
@@ -30,6 +30,9 @@
     @Autowired
     private IDaParamCollectionService daParamCollectionService;
 
+    @Autowired
+    private IDaCollectionParamConfService daCollectionParamConfService;
+
     @Override
     public void run(ApplicationArguments args) throws Exception {
 
@@ -57,6 +60,8 @@
         lists.add(OPCElement.OP_OP250_AngleResult);//璇锋眰璁板綍鏁版嵁
         lists.add(OPCElement.OP_OP380_RecordData);//璇锋眰璁板綍鏁版嵁
         lists.add(OPCElement.OP_OP380_AngleResult);//璇锋眰璁板綍鏁版嵁
+        lists.add(OPCElement.OP_OP300_RecordData);//璇锋眰璁板綍鏁版嵁
+        lists.add(OPCElement.OP_OP300_AngleResult);//璇锋眰璁板綍鏁版嵁
         return lists;
     }
 }
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 17eae5c..552b735 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
@@ -34,6 +34,13 @@
 
     public static final String OP_OP380_AngleResult = "OP.OP380.AngleResult";//璇锋眰鎷х揣鏁版嵁
 
+    /**
+     * OP300
+     */
+    public static final String OP_OP300_RecordData = "OP.OP300.RecordData";//璇锋眰璁板綍鏁版嵁
+
+    public static final String OP_OP300_AngleResult = "OP.OP300.AngleResult";//璇锋眰鎷х揣鏁版嵁
+
 
 
 
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 16ea856..7be7645 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
@@ -1,6 +1,9 @@
 package com.jcdm.main.plcserver.sub;
 
 
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.jcdm.framework.websocket.WebSocketUsers;
 import com.jcdm.main.da.collectionParamConf.domain.DaCollectionParamConf;
 import com.jcdm.main.da.collectionParamConf.service.IDaCollectionParamConfService;
@@ -26,6 +29,11 @@
     //鑷姩宸ヤ綅
     public List<String> automaticList = Arrays.asList("OP300","OP280", "OP320", "OP340", "OP350", "OP360","OP370", "OP390", "OP470", "OP530", "OP540");
 
+    public List<String> moduleCodeList = Arrays.asList("OP300","OP310", "OP320", "OP340", "OP350", "OP33");
+
+    public List<String> nullList = Arrays.asList("OP250","OP260");
+
+
     public static MiloService miloService;
 
     Map<String, Session> map = WebSocketUsers.getUsers();
@@ -42,8 +50,8 @@
                              IDaParamCollectionService daParamCollectionService) {
         OPCUaSubscription.miloService = miloService;
         this.daPassingStationCollectionService = daPassingStationCollectionService;
-        this.collectionParamConfService = collectionParamConfService;
-        this.daParamCollectionService = daParamCollectionService;
+        OPCUaSubscription.collectionParamConfService = collectionParamConfService;
+        OPCUaSubscription.daParamCollectionService = daParamCollectionService;
 
     }
 
@@ -139,43 +147,83 @@
         return SNCode;
     }
 
-
     /**
      * 鍑虹珯淇濆瓨鏁版嵁
      */
     public String outSaveDate(String thoroughfare,String device) {
+        String snCode = "";
         String result = "";
+        String read = thoroughfare + "." + device + ".";
+
         try {
-            //璇诲彇SNCode
-            String PACKCode = thoroughfare + "." + device + ".PACKCode";
-            Object PACKCodeObject = miloService.readFromOpcUa(PACKCode).getValue();
-            if(null == PACKCodeObject || "".equals(PACKCodeObject)){
-               result = "22";
+            if(nullList.stream().noneMatch(s -> s.equals(device))){
+                if(moduleCodeList.stream().anyMatch(s -> s.equals(device))){
+                    read = read + "ModuleCode";
+                }else {
+                    read = read + "PACKCode";
+                }
+            }
+            snCode = miloService.readFromOpcUa(read).getValue().toString();
+
+            if(null == snCode || "".equals(snCode)){
+                result = "22";
             }else{
-                String PACKCodeParam = PACKCodeObject.toString();
                 //1銆佹洿鏂板伐鍗曚俊鎭�
                 //updateOrderInfo();
                 //2銆佷繚瀛樿繃绔欓噰闆嗘暟鎹�
-                saveStationInfo(PACKCodeParam,thoroughfare,device);
+                String workOrderNo = miloService.readFromOpcUa(thoroughfare + "." + device + "." + "WorkOrderNumber").getValue().toString();
+                String productCode = miloService.readFromOpcUa(thoroughfare + "." + device + "." + "ProductType").getValue().toString();
+
+                saveStationInfo(snCode,thoroughfare,device,workOrderNo,productCode);
                 //3銆佷繚瀛樺弬鏁伴噰闆嗘暟鎹�
-                SaveParamData(PACKCodeParam,thoroughfare,device,"","");
+                SaveParamData(snCode,thoroughfare,device,workOrderNo,productCode);
 
                 result = "21";
 
             }
 
         }catch (Exception e) {
-
+            System.out.println(e.getMessage());
         }
         return result;
     }
 
+
+//    /**
+//     * 鍑虹珯淇濆瓨鏁版嵁
+//     */
+//    public String outSaveDate(String thoroughfare,String device) {
+//        String result = "";
+//        try {
+//            //璇诲彇SNCode
+//            String PACKCode = thoroughfare + "." + device + ".PACKCode";
+//            Object PACKCodeObject = miloService.readFromOpcUa(PACKCode).getValue();
+//            if(null == PACKCodeObject || "".equals(PACKCodeObject)){
+//               result = "22";
+//            }else{
+//                String PACKCodeParam = PACKCodeObject.toString();
+//                //1銆佹洿鏂板伐鍗曚俊鎭�
+//                //updateOrderInfo();
+//                //2銆佷繚瀛樿繃绔欓噰闆嗘暟鎹�
+//                saveStationInfo(PACKCodeParam,thoroughfare,device);
+//                //3銆佷繚瀛樺弬鏁伴噰闆嗘暟鎹�
+//                SaveParamData(PACKCodeParam,thoroughfare,device,"","");
+//
+//                result = "21";
+//
+//            }
+//
+//        }catch (Exception e) {
+//
+//        }
+//        return result;
+//    }
+
     /**
      * 淇濆瓨杩囩珯閲囬泦
      */
-    public void saveStationInfo(String packCode,String thoroughfare,String device) throws Exception {
+    public void saveStationInfo(String packCode,String thoroughfare,String device,String workOrderNo,String productCode) throws Exception {
         String prefix = thoroughfare+"."+device+".";
-        String workOrderNo = miloService.readFromOpcUa(prefix + "WorkOrderNumber").getValue().toString();
         String startTime = miloService.readFromOpcUa(prefix + "StartTime").getValue().toString();
         String stopTime = miloService.readFromOpcUa(prefix + "StopTime").getValue().toString();
         String stationStatus = miloService.readFromOpcUa(prefix + "StationStatus").getValue().toString();
@@ -183,6 +231,8 @@
         DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection();
         daPassingStationCollection.setSfcCode(packCode);
         daPassingStationCollection.setWorkOrderNo(workOrderNo);
+        daPassingStationCollection.setProductCode(productCode);
+        daPassingStationCollection.setLocationCode(device);
 //        daPassingStationCollection.setInboundTime(startTime);//鍏ョ珯鏃堕棿
 //        daPassingStationCollection.setOutboundTime(stopTime);//鍑虹珯鏃堕棿
         daPassingStationCollection.setOutRsSign(stationStatus);//鍑虹珯鏄惁鍚堟牸
@@ -206,7 +256,6 @@
             for(int i=0;i<nodeIdList.size();i++){
                 if(!readWriteEntityList.get(i).getValue().toString().equals("0.0")){
                     DaParamCollection ParamCollection = new DaParamCollection();
-//                    ParamCollection.setParamCode(readWriteEntityList.get(i).getIdentifier().toString().split("[.]")[2]);
                     ParamCollection.setParamCode(list.get(i).getCollectParameterId());
                     ParamCollection.setLocationCode(device);
                     ParamCollection.setParamValue(readWriteEntityList.get(i).getValue().toString());
@@ -226,6 +275,32 @@
             }
             daParamCollectionService.saveBeachDaParamCollection(daParamCollectionlist);
         }
+        addBaseData(workOrderNo,productType,device,packCode);
 
     }
+
+    public static void addBaseData(String workOrderNo,String productCode,String locationCode,String packCode){
+        Map<String, String> map = new HashMap<>();
+        map.put("GC", "鍗楁禂宸ュ巶");
+        map.put("CXBH", "Pack绾�");
+        map.put("SBBH", "璁惧001");
+        map.put("YGBH", "鍛樺伐001");
+        List<DaParamCollection> confList = new ArrayList<>();
+        map.forEach((key, value) -> {
+            List<DaCollectionParamConf> daCollectionParamConfs = collectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>()
+                    .eq(DaCollectionParamConf::getProcessesCode,locationCode)
+                    .like(DaCollectionParamConf::getCollectParameterId,key));
+            DaParamCollection saveData = new DaParamCollection();
+            saveData.setWorkOrderNo(workOrderNo);
+            saveData.setProductCode(productCode);
+            saveData.setLocationCode(locationCode);
+            saveData.setSfcCode(packCode);
+            saveData.setParamCode(daCollectionParamConfs.get(0).getCollectParameterId());
+            saveData.setParamName(daCollectionParamConfs.get(0).getCollectParameterName());
+            saveData.setCollectionTime(new Date());
+            saveData.setParamValue(value);
+            confList.add(saveData);
+        });
+        daParamCollectionService.insertBatch(confList);
+    }
 }
diff --git a/jcdm-main/src/main/resources/mapper/da/collectionParamConf/DaCollectionParamConfMapper.xml b/jcdm-main/src/main/resources/mapper/da/collectionParamConf/DaCollectionParamConfMapper.xml
index 40659c3..abeb704 100644
--- a/jcdm-main/src/main/resources/mapper/da/collectionParamConf/DaCollectionParamConfMapper.xml
+++ b/jcdm-main/src/main/resources/mapper/da/collectionParamConf/DaCollectionParamConfMapper.xml
@@ -26,10 +26,10 @@
         <result property="createTime"    column="create_time"    />
         <result property="updateUser"    column="update_user"    />
         <result property="updateTime"    column="update_time"    />
-        <result property="spareField1"    column="spare_field_1"    />
-        <result property="spareField2"    column="spare_field_2"    />
-        <result property="spareField3"    column="spare_field_3"    />
-        <result property="spareField4"    column="spare_field_4"    />
+        <result property="spareField1"    column="spare_field1"    />
+        <result property="spareField2"    column="spare_field2"    />
+        <result property="spareField3"    column="spare_field3"    />
+        <result property="spareField4"    column="spare_field4"    />
         <result property="processesName"    column="processes_name"    />
         <result property="device"    column="device"    />
         <result property="project"    column="project"    />
@@ -44,7 +44,7 @@
     </resultMap>
 
     <sql id="selectDaCollectionParamConfVo">
-        select id, processes_code, product_model, parameter_set_code, parameter_set_name, collect_parameter_id, collect_parameter_name, contrast_parameter_flag, collect_parameter_type, collect_parameter_unit, Descriptives, param_upper, param_lower, param_Central, product_code, gather_address, gather_sequence, remarks, create_user, create_time, update_user, update_time, spare_field_1, spare_field_2, spare_field_3, spare_field_4, processes_name, device, project, accuracy, array_length, acquisition_frequency, demand_department, whether_to_collect, default_value from da_collection_param_conf
+        select id, processes_code, product_model, parameter_set_code, parameter_set_name, collect_parameter_id, collect_parameter_name, contrast_parameter_flag, collect_parameter_type, collect_parameter_unit, Descriptives, param_upper, param_lower, param_Central, product_code, gather_address, gather_sequence, remarks, create_user, create_time, update_user, update_time, spare_field1, spare_field2, spare_field3, spare_field4, processes_name, device, project, accuracy, array_length, acquisition_frequency, demand_department, whether_to_collect, default_value from da_collection_param_conf
     </sql>
 
     <select id="selectDaCollectionParamConfList" parameterType="DaCollectionParamConf" resultMap="DaCollectionParamConfResult">
@@ -92,10 +92,10 @@
             <if test="createTime != null">create_time,</if>
             <if test="updateUser != null">update_user,</if>
             <if test="updateTime != null">update_time,</if>
-            <if test="spareField1 != null">spare_field_1,</if>
-            <if test="spareField2 != null">spare_field_2,</if>
-            <if test="spareField3 != null">spare_field_3,</if>
-            <if test="spareField4 != null">spare_field_4,</if>
+            <if test="spareField1 != null">spare_field1,</if>
+            <if test="spareField2 != null">spare_field2,</if>
+            <if test="spareField3 != null">spare_field3,</if>
+            <if test="spareField4 != null">spare_field4,</if>
             <if test="processesName != null">processes_name,</if>
             <if test="device != null">device,</if>
             <if test="project != null">project,</if>
@@ -171,10 +171,10 @@
             <if test="createTime != null">create_time = #{createTime},</if>
             <if test="updateUser != null">update_user = #{updateUser},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
-            <if test="spareField1 != null">spare_field_1 = #{spareField1},</if>
-            <if test="spareField2 != null">spare_field_2 = #{spareField2},</if>
-            <if test="spareField3 != null">spare_field_3 = #{spareField3},</if>
-            <if test="spareField4 != null">spare_field_4 = #{spareField4},</if>
+            <if test="spareField1 != null">spare_field1 = #{spareField1},</if>
+            <if test="spareField2 != null">spare_field2 = #{spareField2},</if>
+            <if test="spareField3 != null">spare_field3 = #{spareField3},</if>
+            <if test="spareField4 != null">spare_field4 = #{spareField4},</if>
             <if test="processesName != null">processes_name = #{processesName},</if>
             <if test="device != null">device = #{device},</if>
             <if test="project != null">project = #{project},</if>
diff --git a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
index cf056fe..b3cd5fa 100644
--- a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
+++ b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
@@ -361,7 +361,7 @@
       },
       content: '',
       activeName: 'first',
-      url: "ws://192.168.11.6:8080/websocket/message/",
+      url: "ws://192.168.10.40:8080/websocket/message/",
       message: "",
       text_content: "",
       ws: null,

--
Gitblit v1.9.3