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