From 82e0ee9e39953af0b39e5471eb6a9be2d442fb7d Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期三, 27 三月 2024 17:01:54 +0800
Subject: [PATCH] 更新下片逻辑

---
 UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java       |   15 +++
 UnLoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java             |    3 
 UnLoadGlassModule/src/main/java/com/mes/mapper/DownGlassInfoMapper.java         |   17 ++++
 UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java                    |   15 +++
 UnLoadGlassModule/src/main/java/com/mes/service/DownGlassInfoService.java       |    2 
 UnLoadGlassModule/src/main/java/com/mes/controller/DownGlassInfoController.java |    4 +
 UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java             |    3 
 UnLoadGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java               |    2 
 UnLoadGlassModule/mockPLCData.properties                                        |    2 
 UnLoadGlassModule/src/main/java/com/mes/service/PlcService.java                 |  118 ++++++++++++++++++++++++-----
 10 files changed, 156 insertions(+), 25 deletions(-)

diff --git a/UnLoadGlassModule/mockPLCData.properties b/UnLoadGlassModule/mockPLCData.properties
index b9924ad..56514ef 100644
--- a/UnLoadGlassModule/mockPLCData.properties
+++ b/UnLoadGlassModule/mockPLCData.properties
@@ -1,5 +1,5 @@
 #Mock S7 PLC Data
-#Thu Mar 21 15:03:15 CST 2024
+#Wed Mar 27 10:21:54 CST 2024
 DB4.0.0=false
 DB4.1.1=false
 DB4.1.0=false
diff --git a/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java b/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
index c6b7f52..ab753f3 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
@@ -1,6 +1,7 @@
 package com.mes.config;
 
 import com.mes.service.PLCAutoMes;
+import com.mes.service.Plchome;
 import org.springframework.boot.ApplicationArguments;
 import org.springframework.boot.ApplicationRunner;
 import org.springframework.core.annotation.Order;
@@ -23,7 +24,7 @@
         //  new PlcHold().start();
        new PLCAutoMes().start();
 
-    // new Plchome().start();
+    new Plchome().start();
         //  new PlcLayout().start();
         //  new Plcalarm().start();
 
diff --git a/UnLoadGlassModule/src/main/java/com/mes/controller/DownGlassInfoController.java b/UnLoadGlassModule/src/main/java/com/mes/controller/DownGlassInfoController.java
index cd9e8ec..085e400 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/controller/DownGlassInfoController.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/controller/DownGlassInfoController.java
@@ -21,6 +21,8 @@
         return downGlassInfoService.getDownGlassInfoById(id);
     }
 
+
+
 //    @GetMapping("/messages")
 //    public String getMessages() throws IOException, TimeoutException {
 //        List<String> messages = new ArrayList<>();
@@ -33,4 +35,6 @@
 //    }
 
 
+
+
 }
diff --git a/UnLoadGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java b/UnLoadGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java
index 6630735..206e72d 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/entity/DownGlassInfo.java
@@ -15,5 +15,7 @@
     private Double width; // 瀹�
     private Double height; // 楂�
     private Double thickness; // 鍘氬害
+    private String filmsid;//鑶滅郴
+
 
 }
\ No newline at end of file
diff --git a/UnLoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java b/UnLoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java
index d9a2dfd..524d865 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java
@@ -14,4 +14,7 @@
     private Integer deviceId; // 璁惧id
     private Integer enableState; // 鍚敤鐘舵��
     private Integer workState; // 宸ヤ綔鐘舵��
+    private Integer racks_number; // 宸茶惤鏋舵暟閲�
+    private Integer total_quantity; // 鎬绘暟閲�
+
 }
\ No newline at end of file
diff --git a/UnLoadGlassModule/src/main/java/com/mes/mapper/DownGlassInfoMapper.java b/UnLoadGlassModule/src/main/java/com/mes/mapper/DownGlassInfoMapper.java
index 95ef927..dbd519c 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/mapper/DownGlassInfoMapper.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/mapper/DownGlassInfoMapper.java
@@ -4,12 +4,27 @@
 import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.mes.entity.DownGlassInfo;
-import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.*;
 import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 @Mapper
 @Repository
 @InterceptorIgnore(tenantLine = "true")
 @DS("hangzhoumes") // 鎸囧畾浣跨敤 hangzhoumes 鏁版嵁婧�
 public interface DownGlassInfoMapper extends BaseMapper<DownGlassInfo> {
+
+    // 鏌ヨ涓嬬墖浠诲姟琛ㄤ腑鐘舵�佷负1鐨勪笅鐗囦俊鎭�
+    @Select("SELECT flow_card_id,filmsid,width,height,thickness FROM down_glass_task WHERE state = 1;")
+    List<DownGlassInfo> selectunloadingtaskstate();
+
+    @Update("UPDATE down_glass_task SET state = 0 WHERE flow_card_id = #{flowCardId}")
+    void updateTaskStateToZero(@Param("flowCardId") String flowCardId);
+
+    @Select("SELECT MAX(sequence) FROM down_glass_info WHERE flow_card_id = #{flowCardId} LIMIT 1")
+    Integer getMaxSequenceByFlowCardId(@Param("flowCardId") String flowCardId);
+
+    @Delete("delete  from down_glass_task where flow_card_id = #{flowCardId}")
+    void deletetask(@Param("flowCardId") String flowCardId);
 }
diff --git a/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java b/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java
index 036b740..163348d 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.entity.DownGlassInfo;
 import com.mes.entity.DownWorkstation;
 import org.apache.ibatis.annotations.*;
 import org.springframework.stereotype.Component;
@@ -34,8 +35,22 @@
 //鏍规嵁璁惧ID鏌ヨ宸ヤ綅淇℃伅
     @Select("SELECT * FROM down_workstation WHERE device_id = #{deviceId}")
     List<DownWorkstation> selectByDeviceId(@Param("deviceId") Integer deviceId);
+//浠庢満姊版墜浠诲姟琛ㄦ煡璇㈢姸鎬佷负1鐨勬祦绋嬪崱鍙�
+//    @Select("SELECT *  FROM down_workstation_task WHERE state = 1")
+//    List<DownWorkstation> selectdownWorkstationstate();
+
+    @Select("SELECT dw.flow_card_id,dw.racks_number FROM down_workstation_task dwt JOIN down_workstation dw ON dwt.flow_card_id = dw.flow_card_id WHERE dwt.state = 1 LIMIT 1")
+    List<DownWorkstation> selectdownWorkstationstate();
+
+    @Update("UPDATE down_workstation SET racks_number = #{racksNumber} " +
+            "WHERE flow_card_id = #{flowCardId}")
+    void  update_racks_number(@Param("flowCardId") String flowCardId,
+                                   @Param("racksNumber") Integer racksNumber);
 
 
+    @Insert("INSERT INTO down_workstation_task (flow_card_id, width, height, thickness, filmsid,state) " +
+            "VALUES (#{flowCardId}, #{width}, #{height}, #{thickness}, #{filmsid},1)")
+    void insertdownWorkstationtask(DownGlassInfo downGlassInfo);
 
 
 
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/DownGlassInfoService.java b/UnLoadGlassModule/src/main/java/com/mes/service/DownGlassInfoService.java
index 8a564f8..2cf4210 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/service/DownGlassInfoService.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/DownGlassInfoService.java
@@ -17,4 +17,6 @@
     public DownGlassInfo getDownGlassInfoById(Integer id) {
         return downGlassInfoMapper.selectById(id);
     }
+
+
 }
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/PlcService.java b/UnLoadGlassModule/src/main/java/com/mes/service/PlcService.java
index 45e06f0..581cfe8 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/service/PlcService.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/PlcService.java
@@ -1,24 +1,30 @@
 package com.mes.service;
 
-import com.mes.common.PlcTools.MockS7PLCtwo;
 import com.mes.entity.DownGlassInfo;
 import com.mes.entity.DownStorageCageDetails;
+import com.mes.entity.DownWorkstation;
 import com.mes.entity.device.PlcParameterObject;
+import com.mes.mapper.DownGlassInfoMapper;
 import com.mes.mapper.DownWorkstationMapper;
 import com.mes.tools.WebSocketServer;
+import lombok.Data;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
-
+@Data
 @Service
 public class PlcService {
 
     @Autowired
     private DownWorkstationMapper downWorkstationMapper;
+    private DownGlassInfo downGlassInfo;
+    private DownWorkstation downWorkstation;
+    private DownGlassInfoMapper downGlassInfoMapper;
+
     private DownGlassInfoService downGlassInfoService;
+
+
 
 
 
@@ -34,30 +40,100 @@
     String PLCwancheng = plcread.getPlcParameter("A01Position").getValue();// plc瀹屾垚瀛�
 
 
-    public void performPlcActions() {
+    //褰撲笅鐗囦换鍔¤〃鐘舵�佷负1鏃跺�欏皢鏁版嵁鎻掑叆鍒颁笅鐗囩幓鐠冧俊鎭〃
+    public void insertdownglassinfo() {
+
+
         downWorkstationMapper = WebSocketServer.applicationContext.getBean(DownWorkstationMapper.class);
         downGlassInfoService = WebSocketServer.applicationContext.getBean(DownGlassInfoService.class);
-        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
-        int workstationId = 1;
-        int deviceId = 2;
-        int newWorkState = 9;
-        downWorkstationMapper.updateWorkStateByWorkstationIdAndDeviceId(workstationId, deviceId, newWorkState);
+        downGlassInfoMapper = WebSocketServer.applicationContext.getBean(DownGlassInfoMapper.class);
+        List<DownGlassInfo> taskdownGlassInf = downGlassInfoMapper.selectunloadingtaskstate();
+//
+        if (taskdownGlassInf != null && !taskdownGlassInf.isEmpty()) {
 
-        DownGlassInfo downGlassInfo = downGlassInfoService.getDownGlassInfoById(1);
 
-        Boolean[] value4 = { false, true, true, true, true, true, false, false, false, false};
-        List<Boolean> booldata2 = new ArrayList<>(Arrays.asList(value4));
-        MockS7PLCtwo.getInstance().writebits("DB4.0.0", booldata2);
-        List<Boolean> data4= MockS7PLCtwo.getInstance().readbits("DB4.0.0",10);
 
-        System.out.println("璇诲彇鐨剋ord鍊�: " + data4);
-        String OutActivate=plcmes.getPlcParameter("OutActivate").getValue();
-        byte[] getplcvalues = MockS7PLCtwo.getInstance().readByte("DB101.0", 2);
-        System.out.println(Arrays.toString(getplcvalues));
-        //System.out.println("璇诲彇鐨勯�氳word鍊�: " + OutActivate);
-        // 鍏朵粬涓� PLC 鐩稿叧鐨勬搷浣�...
+
+            for (DownGlassInfo downGlassInfo : taskdownGlassInf) {
+                // 鍒涘缓鏂扮殑 DownGlassInfo 瀵硅薄骞惰缃浉鍏冲睘鎬�
+                DownGlassInfo newdownGlassInfo = new DownGlassInfo();
+
+                newdownGlassInfo.setFlowCardId(downGlassInfo.getFlowCardId());
+                Integer maxSequence = downGlassInfoMapper.getMaxSequenceByFlowCardId(downGlassInfo.getFlowCardId());
+                int sequence = maxSequence != null ? maxSequence + 1 : 1; // 鍒濆鍖栭『搴忓瓧娈靛��
+
+                newdownGlassInfo.setWidth(downGlassInfo.getWidth());
+                newdownGlassInfo.setHeight(downGlassInfo.getHeight());
+                newdownGlassInfo.setThickness(downGlassInfo.getThickness());
+                newdownGlassInfo.setFilmsid(downGlassInfo.getFilmsid());
+                newdownGlassInfo.setSequence(sequence); // 璁剧疆椤哄簭瀛楁鍊�
+
+                // 鎻掑叆鏁版嵁鍒颁笅鐗囩幓鐠冧俊鎭〃
+                downGlassInfoMapper.insert(newdownGlassInfo);
+                //鎻掑叆鏁版嵁鍒版満姊版墜浠诲姟琛�
+                downWorkstationMapper.insertdownWorkstationtask(newdownGlassInfo);
+                //鏇存柊浠诲姟琛ㄧ姸鎬佷负0
+                downGlassInfoMapper.updateTaskStateToZero(downGlassInfo.getFlowCardId());
+
+                sequence++; // 閫掑椤哄簭瀛楁鍊�
+
+
+
+
+            }
+        }
     }
 
 
+    //褰撴満姊版墜浠诲姟琛ㄤ腑鐘舵�佷负1锛屽伐浣嶈〃娴佺▼鍗$粦瀹氫簡鏋跺瓙 鏇存柊宸茬粡钀芥灦鏁伴噺锛屽苟涓旀妸涓嬬墖浠诲姟琛ㄧ殑瀵瑰簲璁板綍鍒犳帀
+    public void down_workstation(){
+
+        //downWorkstationMapper = WebSocketServer.applicationContext.getBean(DownWorkstationMapper.class);
+        //downGlassInfoMapper = WebSocketServer.applicationContext.getBean(DownGlassInfoMapper.class);
+        try {
+            List<DownWorkstation> taskdownWorkstation = downWorkstationMapper.selectdownWorkstationstate();
+            if (taskdownWorkstation != null && !taskdownWorkstation.isEmpty()) {
+                //鏌ヨ涓嬬墖宸ヤ綅琛ㄤ腑鏄惁缁戝畾浜嗘灦瀛愭槸鍚︾粦瀹氫簡娴佺▼鍗″彿锛屽鏋滃凡缁忕粦瀹氬垯鏇存柊宸茶惤鏋舵暟閲�,骞朵笖鍒犻櫎涓嬬墖浠诲姟琛ㄤ腑鐨勮褰�
+                for (DownWorkstation downWorkstation : taskdownWorkstation) {
+                    downWorkstationMapper.update_racks_number(downWorkstation.getFlowCardId(),6 );
+                    downGlassInfoMapper.deletetask(downWorkstation.getFlowCardId());
+
+                }
+            }
+        } catch (Exception e) {
+            // 鎵撳嵃寮傚父淇℃伅
+            e.printStackTrace();
+            // 鎴栬�呭彲浠ヨ繘琛屽叾浠栧紓甯稿鐞嗭紝姣斿璁板綍鏃ュ織鎴栬�呰繑鍥炵壒瀹氱殑閿欒淇℃伅
+        }
+
+
+    }
+
+
+
+    //缁戝畾娴佺▼鍗″彿鏋跺瓙
+    public void bindingshelf(DownWorkstation downWorkstation){
+
+        String FlowCardId=downWorkstation.getFlowCardId();
+        int WorkstationId=downWorkstation.getWorkstationId();
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 }
diff --git a/UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java b/UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java
index 4990465..eba16ae 100644
--- a/UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java
+++ b/UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java
@@ -14,6 +14,8 @@
         this.plcServiceSupplier = () -> WebSocketServer.applicationContext.getBean(PlcService.class);
     }
 
+
+
     @Override
     public void run() {
         while (!Thread.currentThread().isInterrupted()) {
@@ -21,7 +23,18 @@
                 i++;
                 Thread.sleep(100);
                 PlcService plcService = plcServiceSupplier.get();
-                plcService.performPlcActions();
+               // plcService.performPlcActions();
+                //plcService.unloadpush();
+
+                //褰撲笅鐗囦换鍔¤〃鐘舵�佷负1鏃跺�欏皢鏁版嵁鎻掑叆鍒颁笅鐗囩幓鐠冧俊鎭〃
+                plcService.insertdownglassinfo();
+
+
+
+                //褰撴満姊版墜浠诲姟琛ㄤ腑鐘舵�佷负1 鏇存柊宸茬粡钀芥灦鏁伴噺锛屽苟涓旀妸涓嬬墖浠诲姟琛ㄧ殑閭f潯璁板綍鍒犳帀 宸ヤ綅琛ㄦ祦绋嬪崱缁戝畾浜嗘灦瀛�
+                plcService.down_workstation();
+
+
             } catch (InterruptedException e) {
                 Thread.currentThread().interrupt();
                 e.printStackTrace();

--
Gitblit v1.8.0