From 1a444b1dc206297ed3d7199c3c5fb557f580c9af Mon Sep 17 00:00:00 2001
From: yyt <306727702@qq.com>
Date: 星期日, 05 五月 2024 08:30:05 +0800
Subject: [PATCH] 更新过站

---
 jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java                                              |    8 +++
 jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml                      |    6 +++
 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/IBsOrderSchedulingService.java         |    8 ++++
 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java |   14 +++++++
 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java            |    8 ++++
 jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java                              |   76 +++++++++++++++++++++-----------------
 6 files changed, 85 insertions(+), 35 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java
index 39bb248..9b6723e 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java
@@ -22,6 +22,14 @@
     public BsOrderScheduling selectBsOrderSchedulingById(Long id);
 
     /**
+     * 鏌ヨ璁㈠崟鎺掍骇
+     *
+     * @param sncode 璁㈠崟鎺掍骇鍙戝姩鏈哄彿
+     * @return 璁㈠崟鎺掍骇
+     */
+    public BsOrderScheduling selectBsOrderSchedulingSNCode(String sncode);
+
+    /**
      * 鏌ヨ璁㈠崟鎺掍骇鍒楄〃
      * 
      * @param bsOrderScheduling 璁㈠崟鎺掍骇
diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/IBsOrderSchedulingService.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/IBsOrderSchedulingService.java
index 730cd19..9c1801b 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/IBsOrderSchedulingService.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/IBsOrderSchedulingService.java
@@ -22,6 +22,14 @@
     public BsOrderScheduling selectBsOrderSchedulingById(Long id);
 
     /**
+     * 鏌ヨ璁㈠崟鎺掍骇
+     *
+     * @param sncode 璁㈠崟鎺掍骇鍙戝姩鏈哄彿
+     * @return 璁㈠崟鎺掍骇
+     */
+    public BsOrderScheduling selectBsOrderSchedulingSNCode(String sncode);
+
+    /**
      * 鏌ヨ璁㈠崟鎺掍骇鍒楄〃
      * 
      * @param bsOrderScheduling 璁㈠崟鎺掍骇
diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java
index 5f19de3..10dcfe2 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java
@@ -61,6 +61,20 @@
     }
 
     /**
+     * 鏌ヨ璁㈠崟鎺掍骇
+     *
+     * @param sncode 璁㈠崟鎺掍骇鍙戝姩鏈哄彿
+     * @return 璁㈠崟鎺掍骇
+     */
+    @Override
+    public BsOrderScheduling selectBsOrderSchedulingSNCode(String sncode)
+    {
+        return bsOrderSchedulingMapper.selectBsOrderSchedulingSNCode(sncode);
+    }
+
+
+
+    /**
      * 鏌ヨ璁㈠崟鎺掍骇鍒楄〃
      * 
      * @param bsOrderScheduling 璁㈠崟鎺掍骇
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 2bfd0a8..c91312f 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,5 @@
 package com.jcdm.main.plcserver.sub;
 
-
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
@@ -22,6 +21,8 @@
 import com.kangaroohy.milo.runner.subscription.SubscriptionCallback;
 import com.kangaroohy.milo.service.MiloService;
 import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
 import java.math.BigDecimal;
@@ -36,6 +37,7 @@
 @Component
 public class OPCUaSubscription implements SubscriptionCallback {
 
+    private static final Logger logger = LoggerFactory.getLogger("sys-user");
     public static MiloService miloService;
 
     public IDaCollectionParamConfService collectionParamConfService;
@@ -80,9 +82,6 @@
         String ecpStr = "";//寮傚父璁板綍鏍囪
         try {
             if(null != value && "1".equals(value.toString())) {
-//                if (OPCElement.OP121_ZZ_CODE_CHECK.equals(identifier)){
-//                    rework("2V91Y RD25D080",identifier);
-//                }
                 //1銆佹绱N鍙�
                 //2銆佽繃绔欏弬鏁伴噰闆�
                 //3銆佹壂鐮佹灙鏁版嵁鍥炰紶
@@ -91,26 +90,23 @@
                 List<String> collect2 = lists.stream().filter(x -> OPCElement.SAVE_DATA.equals(x.getrFunction()))
                         .map(DaOpcuaConfig::getNode).collect(Collectors.toList());
                 if (collect1.contains(identifier)){
-                    log.info("-------鐩戝惉鍒�,{}鐨凜ODE_CHECK鐨勪俊鍙�",identifier);
-                    log.info("-------time--------------,{}",LocalDateTime.now());
+                    logger.info("-------鐩戝惉鍒�,{}鐨凜ODE_CHECK鐨勪俊鍙�",identifier);
+                    //logger.info("-------time--------------,{}",LocalDateTime.now());
                     //sn
                     this.SNRetrieval(identifier,value.toString());
                     if (identifier.equals(OPCElement.OP120_ZZ_CODE_CHECK) && "1".equals(value.toString())){
                         //鎬昏涓婄嚎鎵爜浼犺緭鏁版嵁
-                        log.info("-------鐩戝惉鍒�,{}鐨勬壂鐮佹灙鎵爜鐨凜ODE_CHECK鐨勪俊鍙�",identifier);
+                        logger.info("-------鐩戝惉鍒�,{}鐨勬壂鐮佹灙鎵爜鐨凜ODE_CHECK鐨勪俊鍙�",identifier);
                         scannerGunMessage();
                     }
                 }
                 if (collect2.contains(identifier)){
                     if ("1".equals(value.toString())){
-                        log.info("-------鐩戝惉鍒�,{}鐨凷AVE_REQUEST_LAST鐨勪俊鍙�",identifier);
-                        log.info("-------time--------------,{}",LocalDateTime.now());
-                        //save
+                        logger.info("-------鐩戝惉鍒�,{}鐨凷AVE_REQUEST_LAST鐨勪俊鍙�",identifier);
+                        //logger.info("-------time--------------,{}",LocalDateTime.now());
                         this.SaveData(identifier);
-
                     }
                 }
-
             }
         } catch (Exception e) {
             System.out.println(e.getMessage());
@@ -174,17 +170,16 @@
                     if (CollUtil.isNotEmpty(rmRepairRecords)){
                         a = "1";
                     }
-
                 }
-                log.info("-----杩斿洖codeCheckFeed-----,{}",a);
+                logger.info("-----杩斿洖codeCheckFeed-----,{}",a);
 //                String a="1";
                 // 1:OK鍙敓浜� 2:NG涓嶅彲鐢熶骇 3:NG鍙繑宸� 4:PC妫�绱㈠け璐ワ紙鏃犺褰曪級5:PC妫�绱㈠け璐ワ紙杞欢锛�
                 if (StrUtil.isNotBlank(a)){
                     int input = Integer.parseInt(a);
                     ReadWriteEntity entity = new ReadWriteEntity(parts[0]+"."+parts[1]+".CodeCheckFeed", input);
-                    log.info("-------鐩戝惉鍒�,{}鐨凜odeCheck鐨勪俊鍙�",Node);
+                    logger.info("-------鐩戝惉鍒�,{}鐨凜odeCheck鐨勪俊鍙�",Node);
                     miloService.writeToOpcByte(entity);
-                    log.info("鐩戝惉鍒拌繑鍥瀋odecheckfeed淇″彿锛寋}",entity);
+                    logger.info("鐩戝惉鍒拌繑鍥瀋odecheckfeed淇″彿锛寋}",entity);
                     //棣栫珯浼犺緭璁㈠崟鍙�
                     if (OPCElement.OP050_HX_CODE_CHECK.equals(Node)){
                         //鏌ヨ璁㈠崟鍙�
@@ -196,14 +191,12 @@
                             BsOrderScheduling bsOrderScheduling1 = tempList.get(0);
                             orderNum = bsOrderScheduling1.getOrderNo();
                         }
-
                         ReadWriteEntity entity2 = new ReadWriteEntity(parts[0]+"."+parts[1]+".OrderNumber", orderNum);
                         miloService.writeToOpcUa(entity2);
                     }
                     //濡傛灉鏄繑淇伐浣嶉渶瑕佷紶杈撹繑淇伐浣嶅彿
                     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,daPassingStationCollections,rmRepairRecords);
                     }
                     System.out.println(entity);
@@ -238,7 +231,7 @@
         //杩囩珯璁板綍
 //        List<DaPassingStationCollection> daPassingStationCollections = passingStationCollectionServiceImpl.selectDaPassingStationCollectionList(PassingStationCollection);
 
-        //鎵�鏈夊弽宸ュ伐浣�
+        //鎵�鏈夎繑宸ュ伐浣�
         List<String> collect1 = rmRepairRecords.stream().map(RmRepairRecord::getProcessesCode).collect(Collectors.toList());
         if (CollUtil.isNotEmpty(collect1)){
             //鏌ヨ鍑烘墍鏈夐渶瑕佽繑淇伐浣嶇殑鏈�灏弌p鍧�
@@ -271,8 +264,6 @@
                 }
 
             }
-
-
             //鎵�鏈夋斁琛屽伐浣�
             List<String> passStation = new ArrayList<>();
             //鎵�鏈夌敓浜у伐浣�
@@ -350,7 +341,7 @@
             readWriteEntity.setValue(minOP);
             miloService.writeToOpcShort(readWriteEntity);
             miloService.writeToOpcByte(writeList);
-            log.info("杩斾慨鍐欏叆锛�,{}",writeList);
+            logger.info("{}杩斾慨鍐欏叆锛�,{}",SNCode,writeList);
             if (CollUtil.isNotEmpty(OP755List)){
                 miloService.writeToOpcByte(OP755List);
             }
@@ -392,10 +383,10 @@
 
             List<ReadWriteEntity> readWriteEntityList = new ArrayList<>();
             if(CollUtil.isNotEmpty(nodeIdList)){
-                long time1 = new Date().getTime();
+                //long time1 = new Date().getTime();
                 readWriteEntityList = miloService.readFromOpcUa(nodeIdList);
-                long time2 = new Date().getTime();
-                log.info("璇诲彇鐐逛綅鑺辫垂鏃堕棿锛歿},",time2-time1);
+                //long time2 = new Date().getTime();
+                //logger.info("璇诲彇鐐逛綅鑺辫垂鏃堕棿锛歿},",time2-time1);
             }
                 //杩斿洖plc淇濆瓨鎴愬姛
                 if (parts.length==3){
@@ -406,9 +397,12 @@
                         ReadWriteEntity entity = new ReadWriteEntity(parts[0] + "." + parts[1] + ".SaveFeedLast", 1);
                                 miloService.writeToOpcByte(entity);
                     }
-                    log.info("-------璇锋眰杩斿洖,{}鐨凷aveFeedLast鐨勪俊鍙�",Node);
-                    log.info("-------璇锋眰杩斿洖-----,{}",LocalDateTime.now());
+                    logger.info("{}淇濆瓨璇锋眰淇″彿杩斿洖,MES->PLC鐨凷aveFeedLast淇″彿",Node);
+                    //logger.info("-------璇锋眰杩斿洖-----,{}",LocalDateTime.now());
                 }
+
+                BsOrderScheduling bsOrderScheduling=bsOrderSchedulingService.selectBsOrderSchedulingSNCode(SNCode);
+
                 List<DaParamCollection> daParamCollectionlist = new ArrayList<>();
                 if (CollUtil.isNotEmpty(nodeIdList)){
                     for(int i=0;i<nodeIdList.size();i++){
@@ -429,23 +423,20 @@
                             ParamCollection.setState("鍚堟牸");
                             ParamCollection.setType(list.get(i).getCollectParameterType());
                             ParamCollection.setCollectionTime(new Date());
+                            ParamCollection.setWorkOrderNo(bsOrderScheduling.getOrderNo());
                             daParamCollectionlist.add(ParamCollection);
                         }
                     }
                     daParamCollectionService.saveBeachDaParamCollection(daParamCollectionlist);
-                    log.info("-------淇濆瓨鏁版嵁瀹屾垚---------");
+                    logger.info("{}鍙戝姩鏈猴紙{}锛夐噰闆嗘暟鎹繚瀛樺畬鎴�",SNCode,Node);
                 }
-
-
-
-
             Long beatTime = 0L;
             if (ObjectUtil.isNotEmpty(object)){
                 String str = object.toString();
                 beatTime = Float.valueOf(str).longValue();
             }
             Object ProductStatus = miloService.readFromOpcUa(parts[0] + "." + parts[1] + ".ProductStatus").getValue();
-            log.info("ProductStatus,{}",ProductStatus.toString());
+            logger.info("ProductStatus,{}",ProductStatus.toString());
             String str1="鍚堟牸" ;
             if (ObjectUtil.isNotEmpty(ProductStatus)){
                 String productStatusString = ProductStatus.toString();
@@ -464,9 +455,26 @@
             PassingStationCollection.setCreateTime(new Date());
             PassingStationCollection.setBeatTime(beatTime.toString());
             PassingStationCollection.setOutRsSign(str1);
+            PassingStationCollection.setWorkOrderNo(bsOrderScheduling.getOrderNo());
             passingStationCollectionServiceImpl.insertDaPassingStationCollection(PassingStationCollection);
-            log.info("-------淇濆瓨杩囩珯璁板綍鏁版嵁瀹屾垚---------");
+            logger.info("{}鍙戝姩鏈猴紙{}锛夎繃绔欐暟鎹繚瀛樺畬鎴�",SNCode,Node);
 
+            //鏇存柊宸ュ崟鐘舵��
+            if ("OP790".equals(parts[1])) {
+                bsOrderScheduling.setReport20("1");
+                bsOrderScheduling.setProductionStatus("3");
+                bsOrderScheduling.setFinalAssemblyOfflineTime(new Date());
+            }else if("OP050".equals(parts[1])){
+                bsOrderScheduling.setReport10("1");
+                bsOrderScheduling.setProductionStatus("2");
+                bsOrderScheduling.setBoxClosingOnlineTime(new Date());
+            }else if("OP120".equals(parts[1])){
+                bsOrderScheduling.setFinalAssemblyLaunchTime(new Date());
+                bsOrderScheduling.setClosingBoxOfflineTime(new Date());
+            }
+            bsOrderScheduling.setQualityStatus(str1);
+            bsOrderScheduling.setCurrentWorkstation(parts[1]);
+            bsOrderSchedulingService.updateBsOrderScheduling(bsOrderScheduling);
         }
     }
 }
diff --git a/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml b/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml
index 8163148..3afc5b3 100644
--- a/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml
+++ b/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml
@@ -99,6 +99,12 @@
         <include refid="selectBsOrderSchedulingVo"/>
         where id = #{id}
     </select>
+
+    <select id="selectBsOrderSchedulingSNCode" parameterType="String" resultMap="BsOrderSchedulingResult">
+        <include refid="selectBsOrderSchedulingVo"/>
+        where engine_no = #{sncode}
+    </select>
+
     <select id="getPrepareOnlineList" resultType="com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling">
         select bos.* from bs_order_scheduling bos
         <where>
diff --git a/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java b/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java
index 79053cf..d05af84 100644
--- a/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java
+++ b/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java
@@ -6,6 +6,8 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import com.jcdm.common.utils.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.List;
 
@@ -17,6 +19,7 @@
 @Component("ryTask")
 public class RyTask
 {
+    private static final Logger logger = LoggerFactory.getLogger("sys-user");
     public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
     {
         System.out.println(StringUtils.format("鎵ц澶氬弬鏂规硶锛� 瀛楃涓茬被鍨媨}锛屽竷灏旂被鍨媨}锛岄暱鏁村瀷{}锛屾诞鐐瑰瀷{}锛屾暣褰}", s, b, l, d, i));
@@ -46,6 +49,7 @@
         List<BsOrderScheduling> bsOrderSchedulings = bsOrderSchedulingService.selectBsOrderSchedulingList(bsOrderScheduling);
         for (BsOrderScheduling orderScheduling : bsOrderSchedulings) {
             String xmlResult = ReceivingServices.getInterfaceInformationXml(url, getProductionPlanInformationXml(orderScheduling.getOrderNo(), "0010"));
+            logger.info("{}",xmlResult);
             String status = ReceivingServices.xmlToJSON3(xmlResult);
             if(status.equals("1")){
                 orderScheduling.setReport10("1");
@@ -61,9 +65,10 @@
         List<BsOrderScheduling> bsOrderSchedulings = bsOrderSchedulingService.selectBsOrderSchedulingList(bsOrderScheduling);
         for (BsOrderScheduling orderScheduling : bsOrderSchedulings) {
             String xmlResult = ReceivingServices.getInterfaceInformationXml(url, getProductionPlanInformationXml(orderScheduling.getOrderNo(), "0790"));
+            logger.info("{}",xmlResult);
             String status = ReceivingServices.xmlToJSON3(xmlResult);
             if(status.equals("1")){
-                orderScheduling.setReport10("1");
+                orderScheduling.setReport20("1");
                 int i = bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling);
                 System.out.println("鏇存柊鐘舵�佹垚鍔�");
             }
@@ -83,6 +88,7 @@
                 "      </urn:ZPP_BC_001>\n" +
                 "   </soapenv:Body>\n" +
                 "</soapenv:Envelope>";
+
         return content;
     }
 }

--
Gitblit v1.9.3