From c32e18332fc5d062aea27bfcc82105dd73a0a56f Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期四, 11 四月 2024 14:58:06 +0800
Subject: [PATCH] 迁移缓存逻辑代码
---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java | 470 +++++++++++++++++++++++++++++++++
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java | 234 ++++++++++++++++
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java | 4
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/SelectInfo.java | 75 +++++
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java | 5
5 files changed, 787 insertions(+), 1 deletions(-)
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java
new file mode 100644
index 0000000..26d30b5
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java
@@ -0,0 +1,470 @@
+package com.mes.common;
+
+import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
+import com.github.xingshuangs.iot.protocol.s7.service.MultiAddressWrite;
+import com.github.xingshuangs.iot.protocol.s7.service.S7PLC;
+import com.google.common.primitives.Bytes;
+
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.List;
+
+public class S7control {
+
+ S7PLC s7PLC; // PLC閫氳绫诲疄渚�
+ private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
+ private String ip = "192.168.10.1"; // plc ip鍦板潃
+ private int port = 102; // plc 绔彛鍙�
+
+ private static volatile S7control instance = null;
+
+ private S7control() {
+ if (s7PLC == null)
+ s7PLC = new S7PLC(plcType, ip, port,0,0);
+ }
+
+ // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
+ public static S7control getinstance() {
+ if (instance == null) {
+ synchronized (S7control.class) {
+ if (instance == null) {
+ instance = new S7control();
+ }
+ }
+ }
+ return instance;
+ }
+
+ /**
+ * 鍏抽棴瑗块棬瀛恠7閫氳杩炴帴
+ */
+ public void CloseS7client() {
+ if (s7PLC == null)
+ s7PLC.close();
+ s7PLC.checkConnected();
+ }
+
+ /**
+ * s7閫氳杩炴帴鐘舵��
+ */
+ public boolean CheckConnected() {
+ return s7PLC.checkConnected();
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓獁ord
+ *
+ * @param address 鍦板潃
+ * @param data word鐨勫��
+ */
+ public void WriteWord(String address, short data) {
+ if (s7PLC==null)
+ {
+ return;
+ }
+ s7PLC.writeInt16(address, data);
+ }
+
+ /**
+ * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜word
+ *
+ * @param address 鍦板潃
+ * @param datas word鐨勫��
+ */
+ public void WriteWord(String address, List<Short> datas) {
+ if (s7PLC==null)
+ return;
+ // s7PLC.write(address, data);
+ List<String> addresslist = GetAddressList(address, datas.size(), 16);
+ MultiAddressWrite addressWrite = new MultiAddressWrite();
+ for (int i = 0; i < datas.size(); i++) {
+ addressWrite.addInt16(addresslist.get(i), datas.get(i));
+ }
+ s7PLC.writeMultiData(addressWrite);
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜word
+ *
+ * @param address 鍦板潃
+ * @param datas word鐨勫��
+ */
+
+
+
+
+
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓狟it
+ *
+ * @param address 鍦板潃
+ * @param data Bit鐨勫��
+ */
+ public void WriteBit(String address, Boolean data) {
+ if (s7PLC==null)
+ return;
+ s7PLC.writeBoolean(address, data);
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜bit
+ *
+ * @param address 鍦板潃
+ * @param datas bit鐨勫��
+ */
+ public void WriteBit(List<String> address, List<Boolean> datas) {
+ if (s7PLC==null)
+ return;
+ // s7PLC.write(address, data);
+
+ MultiAddressWrite addressWrite = new MultiAddressWrite();
+ for (int i = 0; i < address.size(); i++) {
+ addressWrite.addBoolean(address.get(i), datas.get(i));
+ }
+ s7PLC.writeMultiData(addressWrite);
+ }
+
+ /**
+ * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜bit
+ *
+ * @param address 鍦板潃
+ * @param datas word鐨勫��
+ */
+ public void WriteBit(String address, List<Boolean> datas) {
+ if (s7PLC==null)
+ return;
+ // s7PLC.write(address, data);
+ List<String> addresslist = GetAddressList(address, datas.size(), 1);
+ MultiAddressWrite addressWrite = new MultiAddressWrite();
+ for (int i = 0; i < datas.size(); i++) {
+ addressWrite.addBoolean(addresslist.get(i), datas.get(i));
+ }
+ s7PLC.writeMultiData(addressWrite);
+ }
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜byte
+ *
+ * @param address 鍦板潃
+ * @param datas byte鐨勫��
+ */
+ public void WriteByte(String address, byte[] datas) {
+ if (s7PLC==null)
+ return;
+ // s7PLC.write(address, data);
+ s7PLC.writeByte(address, datas);
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
+ *
+ * @param address 鍦板潃
+ * @return 缁撴灉
+ */
+ public List<Short> ReadWord(List<String> address) {
+ if (s7PLC == null)
+ return null;
+
+ try {
+ return s7PLC.readInt16(address);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+ }
+
+
+
+
+ private int getIndexFromAddress(String address) {
+
+ // 鍙互瑙f瀽鍑哄湴鍧�涓殑鏁板瓧閮ㄥ垎锛屽苟杞崲涓烘暣鏁�
+ return 0;
+ }
+
+ private String getAddressFromIndex(int index) {
+
+ // 鏁存暟杞崲涓哄湴鍧�鏍煎紡鐨勫瓧绗︿覆
+ return "";
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
+ *
+ * @param address 鍦板潃
+ * @param count 杩炵画璇诲灏戜釜word
+ * @return 缁撴灉
+ */
+ public List<Short> ReadWord(String address, int count) {
+ if (s7PLC == null)
+ return null;
+
+ List<String> addresslist = GetAddressList(address, count, 16);
+ try {
+ return s7PLC.readInt16(addresslist);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+
+ return null;
+ }
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 璇诲彇byte缁撴灉闆�
+ *
+ * @param address 鍦板潃
+ * @param count 杩炵画璇诲灏戜釜byte
+ * @return 缁撴灉
+ */
+ public byte[] ReadByte(String address, int count) {
+ if (s7PLC==null)
+ return null;
+ // List<String> addresslist = GetAddressList(address, count, 16);
+
+ try {
+ return s7PLC.readByte(address, count);
+ }catch (Exception e) {
+ // 澶勭悊寮傚父
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+
+ }
+
+ /**
+ * 鎸夋寚瀹氱殑鍦板潃 鎸塨it浣� 0 flase 1 true 璇诲彇缁撴灉
+ *
+ * @param addresslist 鍦板潃闆�
+ * @return Boolean缁撴灉
+ */
+ public List<Boolean> ReadBits(List<String> addresslist) {
+ if (s7PLC==null)
+ return null;
+ return s7PLC.readBoolean(addresslist);
+ }
+//璇诲彇涓嶈繛缁湴鍧�bit
+public List<Boolean> readBits(List<String> addressList) {
+ if (s7PLC == null || addressList.isEmpty()) {
+ return null;
+ }
+
+ List<Boolean> values = new ArrayList<>();
+ for (String address : addressList) {
+ try {
+ boolean value = s7PLC.readBoolean(address);
+ values.add(value);
+ } catch (Exception e) {
+ // 澶勭悊寮傚父
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ }
+ }
+
+ return values;
+}
+
+
+//璇诲彇String
+public List<String> readStrings(List<String> addressList) {
+ if (s7PLC == null) {
+ return null;
+ }
+ List<String> result = new ArrayList<>();
+ for (String address : addressList) {
+ try {
+ byte[] bytes = s7PLC.readByte(address, 14);
+ if (bytes != null) {
+ String str = new String(bytes, StandardCharsets.UTF_8);
+ result.add(str);
+ }
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ result.add(null);
+ }
+ }
+
+ return result;
+}
+
+
+
+
+
+ public List<String> readStringsandword(List<String> addressList) {
+ if (s7PLC == null) {
+ return null;
+ }
+ List<String> result = new ArrayList<>();
+ for (String address : addressList) {
+ try {
+ if (address.contains("-")) {
+ address = address.substring(0, address.indexOf("-"));
+
+ byte[] bytes = s7PLC.readByte(address, 14);
+ if (bytes != null) {
+ String str = new String(bytes, StandardCharsets.UTF_8);
+ result.add(str);
+ }
+
+ } else {
+ Short value = s7PLC.readInt16(address);
+ result.add(value.toString());
+
+ }
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ result.add(null);
+ }
+ }
+
+ return result;
+ }
+
+
+
+//涓嶈繛缁湴鍧�鍐欏叆Word
+ public void WriteWord(List<String> address, List<Short> datas) {
+ if (s7PLC == null)
+ return;
+
+ for (int i = 0; i < address.size(); i++) {
+ String addr = address.get(i);
+ short data = datas.get(i);
+
+ if (addr.contains("-")) {
+ outmesid(String.valueOf(data),addr); // 鍗曠嫭澶勭悊甯︾牬鎶樺彿鐨勫湴鍧�
+ } else {
+ s7PLC.writeInt16(addr, data); // 灏嗘暟鎹啓鍏ュ崟涓湴鍧�
+ }
+ }
+ }
+
+
+
+//瀛楃涓插啓鍏�
+ public void outmesid(String data, String addr) {
+// System.out.println("outmesid: " + data);
+ List<Byte> glassidlist = new ArrayList<>();
+ String[] parts = addr.split("-");
+ if (parts.length == 2) {
+ addr = parts[0]; // 鍙繚鐣� "-" 鍓嶉潰鐨勯儴鍒�
+ }
+ for (char iditem : data.toCharArray()) {
+ glassidlist.add(Byte.valueOf(String.valueOf(iditem)));
+ }
+ byte[] bytes = Bytes.toArray(glassidlist);
+ S7control.getinstance().WriteByte(addr, bytes);
+ }
+
+//璇诲彇涓嶈繛缁瓀ord
+ public List<Short> readWords(List<String> addresses) {
+ if (s7PLC == null) {
+ return null;
+ }
+
+ List<Short> data = new ArrayList<>();
+
+ for (String address : addresses) {
+ try {
+
+ // 鍗曚釜鍦板潃
+ Short value = s7PLC.readInt16(address);
+ data.add(value);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+
+ }
+
+ }
+ return data;
+ }
+
+//璇诲彇鏃堕棿
+public Long readtime(String address) {
+ if (s7PLC == null)
+ return null;
+ try {
+ return s7PLC.readTime(address);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+}
+
+
+ public void writetime(String address, long datas) {
+ if (s7PLC == null)
+ return;
+
+
+ s7PLC.writeTime(address, datas); // 灏嗘暟鎹啓鍏ュ崟涓湴鍧�
+ }
+
+
+
+
+
+ private int extractAddressNumber(String address) {
+ String numberStr = address.replaceAll("\\D+", ""); // 浣跨敤姝e垯琛ㄨ揪寮忔彁鍙栨暟瀛楅儴鍒�
+ return Integer.parseInt(numberStr);
+ }
+
+
+ /**
+ * 浠庢寚瀹氱殑鍦板潃寮�濮� 杩炵画鎸塨it浣嶈鍙�
+ *
+ * @param address 鍦板潃
+ * @param count 闀垮害
+ * @return Boolean缁撴灉
+ */
+ public List<Boolean> ReadBits(String address, int count) {
+ if (s7PLC == null)
+ return null;
+ List<String> addresslist = GetAddressList(address, count, 1);
+ try {
+ return s7PLC.readBoolean(addresslist);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+
+ };
+
+
+ public void writeString(String addr,String data) {
+ s7PLC.writeString(addr,data);
+ }
+
+
+
+ private List<String> GetAddressList(String address, int count, int addedbit) {
+ List<String> addresslist = new ArrayList<String>();
+
+ String[] stringdatas = address.trim().split("\\.");
+ if (stringdatas.length < 2 || !address.startsWith("DB"))
+ return null;
+ int dbwindex = 0;
+ int bitindex = 0;
+ if (stringdatas.length == 2) {
+ dbwindex = Integer.parseInt(stringdatas[1]);
+ } else if (stringdatas.length == 3) {
+ dbwindex = Integer.parseInt(stringdatas[1]);
+ bitindex = Integer.parseInt(stringdatas[2]);
+ } else
+ return null;
+
+ addresslist.add(address);
+ for (int i = 0; i < count-1; i++) {
+
+ int bitcurrent = bitindex + addedbit;
+ if (bitcurrent > 7) {
+ dbwindex += bitcurrent / 8;
+ bitindex = 0;
+ } else
+ bitindex = bitcurrent;
+
+ String endstr=stringdatas.length==3?"." + bitindex:"";
+ addresslist.add(stringdatas[0] + "." + dbwindex + endstr);
+ }
+ return addresslist;
+ }
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java
index a24f392..8bd7830 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java
@@ -81,6 +81,11 @@
*/
private Integer temperingFeedSequence;
+
+ /**
+ * 鑶滅郴id
+ */
+ private int filmsid;
/**
* 鐘舵��
*/
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/SelectInfo.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/SelectInfo.java
new file mode 100644
index 0000000..5005692
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/SelectInfo.java
@@ -0,0 +1,75 @@
+package com.mes.downstorage.mapper;
+
+import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.uppattenusage.entity.GlassInfo;
+import com.mes.downglassinfo.entity.DownGlassTask;
+import org.apache.ibatis.annotations.*;
+
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface SelectInfo {
+ // 鐜荤拑淇℃伅 鎸塈D鏌ヨ
+ @Select("select * from `glass_info` where id=#{id}")
+ GlassInfo SelectGlassId(String id);
+
+ // 閽㈠寲鎸夊伐绋嬫煡璇�
+ //@Select("select * from `v_optimize_heat_layout` where project_no=#{projeceid} ")
+ //List<Map> SelectTemperedTerritory(String projeceid);
+//
+// // 鍒囧壊鐗堝浘鎸夊伐绋嬫煡璇�
+ // @Select("select * from optimize_detail where project_no=#{projeceid} ")
+ // List<Map> SelectCutTerritory(String projeceid);
+//
+// // 鏌ヨ纾ㄨ竟淇℃伅
+// @Select("select * from task_cache where task_type='2' and task_stauts='2' and end_cell=#{EndCell}")
+// List<Map> SelectEdgInfo(String EndCell);
+
+ // 鏌ヨ绗煎瓙鍐呯┖闂�
+ @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is null order by escd.slot")
+ List<DownStorageCageDetails> SelectCacheLeisure();
+
+ // 鏌ヨ绗煎瓙鍐呭嚭鐗囦换鍔�
+ @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot WHERE escd.slot IS NOT NULL order by escd.tempering_layout_id,escd.tempering_feed_sequence")
+ List<DownStorageCageDetails> SelectCacheOut();
+
+ // 鏌ヨ绗煎瓙鍐呬俊鎭�
+ @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot order by esc.slot")
+ List<DownStorageCageDetails> SelectCachInfo();
+
+ // 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿
+ @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is not null escd.tempering_layout_id=#{tempering_layout_id} and escd.tempering_feed_sequence<#{tempering_feed_sequence} and esc.remain_width-#{width}>0 order by escd.tempering_feed_sequence")
+ List<DownStorageCageDetails> SelectIsExistIntoCache(Integer tempering_layout_id, Integer tempering_feed_sequence,
+ double width);
+
+ // 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿
+ @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is not null escd.tempering_layout_id<#{tempering_layout_id} and esc.remain_width-#{width}>0 order by escd.tempering_layout_id desc,escd.tempering_feed_sequence")
+ List<DownStorageCageDetails> SelectIsExistIntoCache(Integer tempering_layout_id, double width);
+
+ // 鏌ヨ鍏ㄩ儴浠诲姟
+ @Select("select * from down_glass_task")
+ List<DownGlassTask> SelectCacheInfoAll();
+
+ // 鏌ヨ杩涚墖浠诲姟
+ @Select("select * from down_glass_task where task_type='1' and task_stauts='0'")
+ List<DownGlassTask> SelectInputCacheInfo();
+
+ // 鏌ヨ鍑虹墖浠诲姟
+ @Select("select * from down_glass_task where task_type='2' and task_stauts='0'")
+ List<DownGlassTask> SelectOutCacheInfo();
+
+ // 鏌ヨ A06 鎴� A11 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
+ @Select("select * from down_glass_task where task_type='2' and task_stauts='2' and end_cell=#{EndCell} limit 1")
+ GlassInfo SelectLastOutCacheInfo(String EndCell);
+
+ // 淇敼绗煎瓙鍐呬俊鎭�
+ @Update("update")
+ Integer UpdateCache(@Param("id") Integer id, @Param("order_id") String order_id);
+
+ // 娣诲姞涓嬬墖浠诲姟
+ @Insert("INSERT into down_glass_task VALUES(#{id},#{start},#{end},#{type},0,)")
+ Integer insertCacheTask(String id, String start, String end, String type,double width,double height,Integer filmsId,double thickness,String flowCardId);
+
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java
new file mode 100644
index 0000000..67de8c9
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java
@@ -0,0 +1,234 @@
+package com.mes.downstorage.service;
+
+import com.mes.common.PLCAutoMes;
+import com.mes.common.S7control;
+import com.mes.device.PlcParameterObject;
+import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.downstorage.mapper.SelectInfo;
+import com.mes.uppattenusage.entity.GlassInfo;
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Data
+@Service
+public class DownGlassCacheLogic {
+ @Autowired
+ private SelectInfo selectInfo;
+
+ /**
+ * @param Number
+ * //璇嗗埆閫昏緫 涓嶄氦浜�
+ */
+
+ public void identify(String Number){
+ //鏌ヨ浠诲姟
+ PlcParameterObject plcmes= PLCAutoMes.PlcMesObject;
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+ String s=S7control.getinstance().ReadWord("DB14.26", 1).get(0)+"";
+ boolean isexist=isExist(Number);
+ if (isexist) {
+ //瀛樺湪閫昏緫 1.娣诲姞淇℃伅 2.鍥炲PLC瀛樺湪
+ //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+ }else {
+ //涓嶅瓨鍦ㄩ�昏緫 1.鍥炲PLC涓嶅瓨鍦�
+ //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 2);
+ }
+ }
+ //涓嬬墖鍓嶇悊鐗�
+ public static final String RESULT_IN = "1";
+ public static final String RESULT_OUT = "2";
+ public static final String RESULT_IN_OUT = "3";
+
+ public void process() {
+ String result = S7control.getinstance().ReadWord("DB14.0", 1).get(0) + "";
+ String number = S7control.getinstance().ReadWord("DB14.2", 1).get(0) + "";
+
+ // 杩涚墖璇锋眰
+ if (RESULT_IN.equals(result)) {
+ processInto(number);
+ }
+ // 鍑虹墖璇锋眰
+ else if (RESULT_OUT.equals(result)) {
+ processOut();
+ }
+ // 杩涘嚭鐗囪姹�
+ else if (RESULT_IN_OUT.equals(result)) {
+ // 鍏堝嚭鍚庤繘
+ if (!processOut()) {
+ processInto(number);
+ }
+ }
+ }
+
+
+ /**
+ * @param Number
+ * @return
+ * //涓嬬墖鍓嶇悊鐗� 杩�
+ */
+
+ public boolean processInto(String Number){
+ //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠�
+ GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
+ PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+ //瀛樺湪姝ょ幓鐠冪紪鍙�
+ if(GlassInfo!=null){
+ //鍚岄挗鍖栫増鍥惧唴鐨勬爡鏍煎彿
+ List<DownStorageCageDetails> list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperingLayoutId(),GlassInfo.getTemperingFeedSequence(),GlassInfo.getWidth());
+ //绌烘爡鏍煎彿
+ if (list.size()==0) {
+ list=selectInfo.SelectCacheLeisure();
+ }
+ //灏忎簬姝ょ幓鐠冮挗鍖栫増鍥惧簭鍙风殑鏍呮牸鍙�
+ if(list.size()==0){
+ list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperingLayoutId(),GlassInfo.getWidth());
+ }
+ if(list.size()>0){
+ //瀛樺湪绌烘牸
+ //1.鐢熸垚浠诲姟锛� 璧峰浣嶇疆0 缁撴潫浣嶇疆this.slot 浠诲姟绫诲瀷 1 锛堣繘鐗囦换鍔★級
+ //2.鍥炲 1杩涚墖
+ DownStorageCageDetails item=list.get(0);
+ selectInfo.insertCacheTask(GlassInfo.getId()+"","0",item.getSlot()+"","1",GlassInfo.getWidth(),GlassInfo.getHeight(),GlassInfo.getFilmsid(),GlassInfo.getThickness(),GlassInfo.getFlowcardId());
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+ return true;
+ }
+
+ }else{
+ // ID缂栧彿涓嶅瓨鍦� 涓嶅鐞�/鍥炲PLC 杩涜鎶ヨ鎻愮ず
+ }
+ //杩斿洖缁撴灉
+ return false;
+ }
+ //鐞嗙墖 鍑�
+ public boolean processOut(){
+ //鏌ヨ浠诲姟
+ String G06=S7control.getinstance().ReadWord("DB14.56", 1).get(0)+"";
+ String G11=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+"";
+ String G13=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+"";
+ PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+ List<DownStorageCageDetails> list=selectInfo.SelectCacheOut();
+ //鍏朵粬鎯呭喌鏉′欢 濡傦細鍚庣画璁惧鏁呴殰绂佹鐞嗙墖鍑虹墖 绛�
+ boolean isOut=true;
+ if (list.size()>0&&isOut) {
+ DownStorageCageDetails item=list.get(0);
+ //
+ if(G06=="0"&&G11=="1"){
+ //鍑哄埌 G06
+
+ selectInfo.insertCacheTask(item.getGlassId()+"","0","06","2",item.getWidth(),item.getHeight(),item.getFilmsid(),item.getThickness(),item.getFlowCardId());
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ return true;
+ }else if(G06=="1"&&G11=="0"){
+ //鍑哄埌 G11
+
+ selectInfo.insertCacheTask(item.getGlassId()+"","0","11","2",item.getWidth(),item.getHeight(),item.getFilmsid(),item.getThickness(),item.getFlowCardId());
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ return true;
+ }else if(G06=="0"&&G11=="0"){
+ //閮藉厑璁� G04/G05 涓婁竴鐗囨槸鍚﹀拰姝ょ墖鐜荤拑灏哄灏哄鐩稿悓
+ String endcell="06";
+ String SendEndcell="1";
+ boolean If_=false;
+ GlassInfo glassInfo06= selectInfo.SelectLastOutCacheInfo("06");
+ GlassInfo glassInfo11= selectInfo.SelectLastOutCacheInfo("11");
+ GlassInfo glassInfo13= selectInfo.SelectLastOutCacheInfo("13");
+ if(glassInfo06!=null&&glassInfo11.getWidth()==item.getWidth()&&glassInfo06.getHeight()==item.getHeight()){
+ endcell="11";
+ SendEndcell="2";
+ }else if(item.getHeight()>=3440&&item.getWidth()>=1440){
+ //鍏朵粬鏉′欢浜哄伐澶勭悊
+
+ }
+
+ selectInfo.insertCacheTask(item.getGlassId()+"","0",endcell,"2",item.getWidth(),item.getHeight(),item.getFilmsid(),item.getThickness(),item.getFlowCardId());
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ return true;
+ }
+ }
+ //杩斿洖缁撴灉
+ return false;
+ }
+
+ /**
+ * @param Number
+ * //纾ㄨ竟 涓嶄氦浜� 鐞嗙墖鍜岀(杈规満鑷繁浜や簰
+ */
+
+ public void processMb(String Number){
+ //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠�
+ GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
+ PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+ if(GlassInfo!=null){
+ //鍙戦�佷换鍔� ID 闀� 瀹� 鍘� 鍊掕 宸ヨ壓鍔熻兘绛�
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.22").getAddress(),"N10000");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.24").getAddress(), "1000");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.26").getAddress(),"800");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(),"60");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.30").getAddress(), "2");
+ S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+ }
+ //杩斿洖缁撴灉
+ }
+
+
+ /**
+ * @param Number
+ * @return
+ * 鏌ヨ娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹�
+ */
+ public boolean selectMessageId(String Number){
+ //鏌ヨ鏄惁瀛樺湪
+
+ GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
+ if(GlassInfo==null){
+ //杩斿洖 涓嶅瓨鍦�
+ return false;
+
+ }
+ //杩斿洖 瀛樺湪
+ return true;
+ }
+
+ /**
+ * @param Number
+ * @return
+ * 鍒犻櫎娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹�
+ */
+
+ public boolean deleteMessageId(String Number){
+ //鏌ヨ鏄惁瀛樺湪
+ GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
+ if(GlassInfo==null){
+ //杩斿洖 涓嶅瓨鍦�
+ return false;
+ }
+ //杩斿洖 瀛樺湪
+ return true;
+ }
+
+
+
+ /**
+ * @param Number
+ * @return
+ * //鏄惁瀛樺湪姝ょ紪鍙风幓鐠�
+ */
+ public boolean isExist(String Number){
+ //鏌ヨ鏄惁瀛樺湪
+ GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
+ if(GlassInfo==null){
+ //杩斿洖 涓嶅瓨鍦�
+ return false;
+ }
+ //杩斿洖 瀛樺湪
+ return true;
+ }
+
+}
+
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java
index b7cd761..b4889ac 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java
@@ -64,10 +64,11 @@
downGlassInfoMapper = WebSocketServer.applicationContext.getBean(DownGlassInfoMapper.class);
List<DownGlassInfo> taskdownGlassInf = downGlassInfoMapper.selectunloadingtaskstate();
//
+
+
if (taskdownGlassInf != null && !taskdownGlassInf.isEmpty()) {
//
-
for (DownGlassInfo downGlassInfo : taskdownGlassInf) {
// 鍒涘缓鏂扮殑 DownGlassInfo 瀵硅薄骞惰缃浉鍏冲睘鎬�
@@ -88,6 +89,7 @@
// 鎻掑叆鏁版嵁鍒颁笅鐗囩幓鐠冧俊鎭〃
downGlassInfoMapper.insert(newdownGlassInfo);
//鎻掑叆鏁版嵁鍒版満姊版墜浠诲姟琛�
+
downWorkstationMapper.insertdownWorkstationtask(newdownGlassInfo);
//鏇存柊涓嬬墖浠诲姟琛ㄧ姸鎬佷负0
downGlassInfoMapper.updateTaskStateToZero(downGlassInfo.getFlowCardId());
--
Gitblit v1.8.0