From 28f2652b6f7f079327d0d23cadfa20da15e12359 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期三, 12 六月 2024 16:57:12 +0800
Subject: [PATCH] 大理片笼:fixbug按照玻璃id判断玻璃状态及卧转立是否可直接启动
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 208 +++++++++++++++++++++++++--------------------------
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java | 5
2 files changed, 105 insertions(+), 108 deletions(-)
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
index f6e8f1c..c007100 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
@@ -1,13 +1,12 @@
package com.mes.edgglasstask.entity;
-import cn.hutool.core.date.DateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
-import net.sf.jsqlparser.expression.DateTimeLiteralExpression;
import java.io.Serializable;
+import java.util.Date;
/**
* <p>
@@ -73,6 +72,6 @@
* 绾胯矾
*/
@ApiModelProperty(value = "鏃堕棿", position = 9)
- private DateTime time;
+ private Date time;
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index a850be6..40d8dd9 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -8,7 +8,6 @@
import com.mes.bigstorage.service.BigStorageCageDetailsService;
import com.mes.bigstorage.service.BigStorageCageService;
import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
-import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService;
import com.mes.bigstoragetask.service.BigStorageCageOutTaskService;
import com.mes.common.S7object;
@@ -69,102 +68,101 @@
* fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
* fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
*/
- @Scheduled(fixedDelay = 5000)
- public void plcStorageCageTask() throws InterruptedException {
-
- PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
- try {
-
- String plcFeedGlassid = "";
- String plcFeedReqLine = "0";
- if ("1".equals(plcParameterObject.getPlcParameter("D01Request").getValue())) {
- plcFeedReqLine = "1";
- plcFeedGlassid = plcParameterObject.getPlcParameter("D01ID1").getValue();
- }
- if ("1".equals(plcParameterObject.getPlcParameter("D04Request").getValue())) {
- plcFeedReqLine = "2";
- plcFeedGlassid = plcParameterObject.getPlcParameter("D04ID1").getValue();
- }
- line1Time += 1;
- line2Time += 1;
-
- if (!("0".equals(plcFeedReqLine))) {
- log.info("1銆丳lc杩涚墖璇锋眰鏃�");
- BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails();
- GlassInfo glassInfo = glassInfoService.getById(plcFeedGlassid);
- log.info("2銆佹牴鎹幓鐠僫d鑾峰彇鐜荤拑淇℃伅" + glassInfo);
- if (bigStorageCageDetailsService.selectGetBoard(plcFeedReqLine) >= 0) {
- BigStorageCageDetails slotInfo = bigStorageCageService.feedGlass(glassInfo, bigStorageCageDetails);
- if (slotInfo != null) {
- int taskType = edgGlassTaskInfoService.judgeTasktype(plcFeedReqLine);
- log.info("3銆佹煡璇换鍔¤〃鍒ゆ柇褰撳墠浠诲姟绫诲瀷涓轰笂杞︾瓑鍒拌繕鏄笂杞﹀惎鍔�" + taskType);
- bigStorageCageFeedTaskService.addFeedTask(slotInfo, Integer.parseInt(plcFeedReqLine), taskType);
- log.info("4銆佹坊鍔犱换鍔″埌浠诲姟琛�");
- bigStorageCageFullAlarm = false;
- } else {
- bigStorageCageFullAlarm = true;
- }
- } else {
- log.info("褰撳墠鐜荤拑瀹藉害涓嶅涓婅溅" + glassInfo);
- if (!("1".equals(plcFeedReqLine))) {
- S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D02Go").getAddress(), 1);
- } else {
- S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D05Go").getAddress(), 1);
- }
- }
- } else {
- List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskService.querybigStorageCageFeedTask(1);
- log.info("5銆佹煡璇换鍔¤〃鏄惁鏈夊凡缁忓畬鎴愮殑杩涚墖浠诲姟" + bigStorageCageFeedTaskList.size());
- for (BigStorageCageFeedTask bigStorageCageFeedTask : bigStorageCageFeedTaskList
- ) {
- BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails();
- bigStorageCageDetails.setId(bigStorageCageFeedTask.getId());
- bigStorageCageDetails.setState(1);
- bigStorageCageDetailsService.updateById(bigStorageCageDetails);
- log.info("6銆佷慨鏀圭悊鐗囩璇︽儏鐜荤拑鐘舵��");
- bigStorageCageFeedTaskService.removeById(bigStorageCageFeedTask);
- log.info("7銆佸垹闄ゅ凡缁忓畬鎴愮殑杩涚墖浠诲姟");
- }
- //鍚姩闃堝��
- if (line1Time >= 300) {
- if ("0".equals(plcParameterObject.getPlcParameter("D05Go").getValue())) {
- S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D02Go").getAddress(), 1);
- }
- }
- if (line2Time >= 300) {
- if ("0".equals(plcParameterObject.getPlcParameter("D02Go").getValue())) {
- S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D05Go").getAddress(), 1);
- }
- }
- }
-
- //鏌ヨ鍑虹墖琛ㄦ槸鍚︽湁浠诲姟鏈畬鎴愮殑浠诲姟
- List<BigStorageCageOutTask> bigStorageCageOutTask = bigStorageCageOutTaskService.querybigStorageCageOutTask(0);
- if (bigStorageCageOutTask.size() == 0) {
- boolean result = bigStorageCageService.outGlass();
- log.info("8銆佹病鏈夋湭瀹屾垚浠诲姟鏃惰皟鐢ㄥ嚭鐗囨帴鍙�");
- if (result == false) {
- temperingGlassInfoService.schedulingTask();
- }
- }
- bigStorageCageOutTaskService.updateOutTask();
- log.info("9銆佹牴鎹换鍔¤〃鐘舵�佷慨鏀归挗鍖栧皬鐗囪〃浠诲姟鐘舵��");
-
- //鏉ヤ笉鍙婇�佹椂鐩存帴璧�
- String line = Integer.toString(edgGlassTaskInfoService.startTask());
-
- if (!(line.equals(plcFeedReqLine))) {
- S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D02Go").getAddress(), 1);
- } else {
- S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D05Go").getAddress(), 1);
- }
-
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
+// @Scheduled(fixedDelay = 5000)
+// public void plcStorageCageTask() throws InterruptedException {
+//
+// PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+// try {
+//
+// String plcFeedGlassid = "";
+// String plcFeedReqLine = "0";
+// if ("1".equals(plcParameterObject.getPlcParameter("D01Request").getValue())) {
+// plcFeedReqLine = "1";
+// plcFeedGlassid = plcParameterObject.getPlcParameter("D01ID1").getValue();
+// }
+// if ("1".equals(plcParameterObject.getPlcParameter("D04Request").getValue())) {
+// plcFeedReqLine = "2";
+// plcFeedGlassid = plcParameterObject.getPlcParameter("D04ID1").getValue();
+// }
+// line1Time += 1;
+// line2Time += 1;
+//
+// if (!("0".equals(plcFeedReqLine))) {
+// log.info("1銆丳lc杩涚墖璇锋眰鏃�");
+// BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails();
+// GlassInfo glassInfo = glassInfoService.getById(plcFeedGlassid);
+// log.info("2銆佹牴鎹幓鐠僫d鑾峰彇鐜荤拑淇℃伅" + glassInfo);
+// if (bigStorageCageDetailsService.selectGetBoard(plcFeedReqLine) >= 0) {
+// BigStorageCageDetails slotInfo = bigStorageCageService.feedGlass(glassInfo, bigStorageCageDetails);
+// if (slotInfo != null) {
+// int taskType = edgGlassTaskInfoService.judgeTasktype(plcFeedReqLine);
+// log.info("3銆佹煡璇换鍔¤〃鍒ゆ柇褰撳墠浠诲姟绫诲瀷涓轰笂杞︾瓑鍒拌繕鏄笂杞﹀惎鍔�" + taskType);
+// bigStorageCageFeedTaskService.addFeedTask(slotInfo, Integer.parseInt(plcFeedReqLine), taskType);
+// log.info("4銆佹坊鍔犱换鍔″埌浠诲姟琛�");
+// bigStorageCageFullAlarm = false;
+// } else {
+// bigStorageCageFullAlarm = true;
+// }
+// } else {
+// log.info("褰撳墠鐜荤拑瀹藉害涓嶅涓婅溅" + glassInfo);
+// if (!("1".equals(plcFeedReqLine))) {
+// S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D02Go").getAddress(), 1);
+// } else {
+// S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D05Go").getAddress(), 1);
+// }
+// }
+// } else {
+// List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskService.querybigStorageCageFeedTask(1);
+// log.info("5銆佹煡璇换鍔¤〃鏄惁鏈夊凡缁忓畬鎴愮殑杩涚墖浠诲姟" + bigStorageCageFeedTaskList.size());
+// for (BigStorageCageFeedTask bigStorageCageFeedTask : bigStorageCageFeedTaskList
+// ) {
+// BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails();
+// bigStorageCageDetails.setId(bigStorageCageFeedTask.getId());
+// bigStorageCageDetails.setState(1);
+// bigStorageCageDetailsService.updateById(bigStorageCageDetails);
+// log.info("6銆佷慨鏀圭悊鐗囩璇︽儏鐜荤拑鐘舵��");
+// bigStorageCageFeedTaskService.removeById(bigStorageCageFeedTask);
+// log.info("7銆佸垹闄ゅ凡缁忓畬鎴愮殑杩涚墖浠诲姟");
+// }
+// //鍚姩闃堝��
+// if (line1Time >= 300) {
+// if ("0".equals(plcParameterObject.getPlcParameter("D05Go").getValue())) {
+// S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D02Go").getAddress(), 1);
+// }
+// }
+// if (line2Time >= 300) {
+// if ("0".equals(plcParameterObject.getPlcParameter("D02Go").getValue())) {
+// S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D05Go").getAddress(), 1);
+// }
+// }
+// }
+//
+// //鏌ヨ鍑虹墖琛ㄦ槸鍚︽湁浠诲姟鏈畬鎴愮殑浠诲姟
+// List<BigStorageCageOutTask> bigStorageCageOutTask = bigStorageCageOutTaskService.querybigStorageCageOutTask(0);
+// if (bigStorageCageOutTask.size() == 0) {
+// boolean result = bigStorageCageService.outGlass();
+// log.info("8銆佹病鏈夋湭瀹屾垚浠诲姟鏃惰皟鐢ㄥ嚭鐗囨帴鍙�");
+// if (result == false) {
+// temperingGlassInfoService.schedulingTask();
+// }
+// }
+// bigStorageCageOutTaskService.updateOutTask();
+// log.info("9銆佹牴鎹换鍔¤〃鐘舵�佷慨鏀归挗鍖栧皬鐗囪〃浠诲姟鐘舵��");
+//
+// //鏉ヤ笉鍙婇�佹椂鐩存帴璧�
+// String line = Integer.toString(edgGlassTaskInfoService.startTask());
+//
+// if (!(line.equals(plcFeedReqLine))) {
+// S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D02Go").getAddress(), 1);
+// } else {
+// S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D05Go").getAddress(), 1);
+// }
+//
+//
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// }
@Scheduled(fixedDelay = 5000)
public void plcToHomeEdgScan() {
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
@@ -189,7 +187,7 @@
flag01 = judgeGlassTypeStatus(d01ID1, Const.A09_OUT_TARGET_POSITION);
}
if ("1".equals(d04Request)) {
- flag04 = judgeGlassTypeStatus(d01ID1, Const.A10_OUT_TARGET_POSITION);
+ flag04 = judgeGlassTypeStatus(d04ID1, Const.A10_OUT_TARGET_POSITION);
}
if (flag01 && flag04) {
//姣旇緝鏈�鏃╀竴鐗囦换鍔$殑鐗堝浘id鍙婄増搴� 姹傚嚭鍗ц浆绔嬬殑绾胯矾
@@ -264,16 +262,16 @@
*/
public Boolean judgeGlassTypeStatus(String glassId, Integer line) {
//1銆佽幏鍙栦换鍔¤〃涓浉閭荤幓鐠�
- List<EdgGlassTaskInfo> edgGlassTaskInfoList = edgGlassTaskInfoService.list(new QueryWrapper<EdgGlassTaskInfo>()
- .eq("line", line)
- .gt("id", "select id from edg_glass_task_info where glass_id = " + glassId)
- .orderByAsc("id"));
- Assert.isTrue(CollectionUtils.isEmpty(edgGlassTaskInfoList), "璇嗗埆鐜荤拑淇℃伅鏈嚭鐜板湪灏哄琛ㄤ腑,鑾峰彇鐩搁偦涓ゅ潡鐜荤拑澶辫触");
+ List<EdgGlassTaskInfo> edgGlassTaskInfoList = edgGlassTaskInfoService.list(new LambdaQueryWrapper<EdgGlassTaskInfo>()
+ .eq(EdgGlassTaskInfo::getLine, line)
+ .apply("time >= (select time from edg_glass_task_info where glass_id = '" + glassId + "')")
+ .orderByAsc(EdgGlassTaskInfo::getTime));
+ Assert.isFalse(CollectionUtils.isEmpty(edgGlassTaskInfoList), "璇嗗埆鐜荤拑淇℃伅鏈嚭鐜板湪灏哄琛ㄤ腑,鑾峰彇鐩搁偦涓ゅ潡鐜荤拑澶辫触");
//2銆佽幏鍙栧崸杞珛鍓╀綑瀹藉害
Map<String, Object> map = bigStorageCageFeedTaskService.getMap(new QueryWrapper<BigStorageCageFeedTask>()
- .select("5000 - sum(width + 20) as remainWidth")
+ .select("cast(5000 - sum(width + 20) as INT)as remainWidth")
.eq("line", line).eq("task_state", Const.BIG_STORAGE_IN_UP));
- Integer remainWidth = Integer.parseInt(map.get("remainWidth") + "");
+ Integer remainWidth = null == map ? 5000 : Integer.parseInt(map.get("remainWidth") + "");
//2銆佽幏鍙栧崸杞珛
Integer widthFirst = edgGlassTaskInfoList.get(0).getWidth();
if (edgGlassTaskInfoList.size() == 1) {
--
Gitblit v1.8.0