From b021f4175c672b6a64b5e65d477c877f0855b2a4 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期一, 13 五月 2024 08:49:16 +0800
Subject: [PATCH] 卧式理片笼对接改造已基本完成:部分逻辑暂未校验:超过阈值
---
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 190 +++++++++++-----
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java | 20 +
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java | 73 +++---
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/mapper/EdgGlassTaskInfoMapper.java | 18 +
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java | 20 +
/dev/null | 202 ------------------
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java | 43 +--
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java | 37 +++
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java | 16 +
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java | 7
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java | 9
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java | 3
hangzhoumesParent/common/servicebase/pom.xml | 7
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml | 5
14 files changed, 319 insertions(+), 331 deletions(-)
diff --git a/hangzhoumesParent/common/servicebase/pom.xml b/hangzhoumesParent/common/servicebase/pom.xml
index e7f1411..07e9a43 100644
--- a/hangzhoumesParent/common/servicebase/pom.xml
+++ b/hangzhoumesParent/common/servicebase/pom.xml
@@ -16,5 +16,12 @@
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
+ <dependencies>
+ <dependency>
+ <groupId>com.microsoft.sqlserver</groupId>
+ <artifactId>sqljdbc4</artifactId>
+ <version>4.0</version>
+ </dependency>
+ </dependencies>
</project>
\ No newline at end of file
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
index 7899cfa..2e03df0 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
@@ -41,4 +41,13 @@
public static final Integer GLASS_CACHE_TYPE_IN = 1;
public static final Integer GLASS_CACHE_TYPE_OUT = 2;
+ /**
+ * 纾ㄨ竟浠诲姟鐜荤拑鐘舵��
+ * 杩涚墖浠诲姟1
+ * 鍑虹墖浠诲姟2
+ */
+ public static final Integer EDG_GLASS_BEFORE = 0;
+ public static final Integer EDG_GLASS_START = 1;
+ public static final Integer EDG_GLASS_SUCCESS = 2;
+
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java
index 376cca1..13cceb4 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java
@@ -23,9 +23,6 @@
public static void main(String[] args) {
try {
-// SpringApplication springApplication = new SpringApplication(CacheGlassModuleApplication.class);
-// ConfigurableApplicationContext applicationContext = springApplication.run(args);
-// WebSocketServer.setApplicationContext(applicationContext);
SpringApplication.run(CacheGlassModuleApplication.class, args);
} catch (Exception e) {
log.error(e.getMessage());
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcHomeEdg.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcHomeEdg.java
deleted file mode 100644
index 7331a33..0000000
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcHomeEdg.java
+++ /dev/null
@@ -1,202 +0,0 @@
-package com.mes.common;
-
-import cn.hutool.json.JSONObject;
-import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.mes.edgstoragecage.entity.EdgStorageCage;
-import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
-import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
-import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
-import com.mes.edgstoragecage.service.EdgStorageCageService;
-import com.mes.glassinfo.entity.GlassInfo;
-import com.mes.glassinfo.service.GlassInfoService;
-import com.mes.taskcache.entity.TaskCache;
-import com.mes.taskcache.service.TaskCacheService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.*;
-
-@Service
-@Slf4j
-public class PlcHomeEdg extends Thread {
-
-
- @Autowired
- TaskCacheService taskCacheService;
- @Autowired
- GlassInfoService glassInfoService;
- @Autowired
- EdgStorageCageService edgStorageCageService;
- @Autowired
- EdgStorageCageDetailsService edgStorageCageDetailsService;
- @Resource
- private EdgStorageCageDetailsMapper edgStorageCageDetailsMapper;
-
- private Map<String, String> mapParameter = new HashMap<String, String>();
- private Map<String, String> mapValue = new HashMap<String, String>();
- private Map<String, String> mapType = new HashMap<String, String>();
- private Map<String, Object> mapSettings = new HashMap<String, Object>();
-
-
- private void initialize() {
-// mapParameter.put("A06_request_word", "DB11.0"); //work
-// mapParameter.put("A05_scanning_ID", "DB11.2");
-// mapParameter.put("MES_confirmation_word", "DB11.40");
-// mapParameter.put("A09_glass_status", "DB11.70");
-// //mapParameter.put("A10_glass_status", "DB11.72");
-// mapParameter.put("A09_prohibit_film_production", "DB11.74");
-// mapParameter.put("A10_prohibit_film_production", "DB11.76");
-// mapSettings.put("territoryPoor", 3);
-// mapType.put("A06_request_word", "Word");
-// mapType.put("A05_scanning_ID", "String");
-// mapType.put("MES_confirmation_word", "Word");
-// mapType.put("A09_glass_status", "Word");
-// //mapType.put("A10_glass_status", "Word");
-// mapType.put("A09_prohibit_film_production", "Word");
-// mapType.put("A10_prohibit_film_production", "Word");
- mapValue.put("A06_request_word", "1");//璇锋眰瀛�
- mapValue.put("A05_scanning_ID", "11111111111");//璇锋眰ID
- mapValue.put("MES_confirmation_word", "0");//MES鍙戦�佸瓧
- mapValue.put("A09_glass_status", "0");//A09鐜荤拑鐘舵��
- mapValue.put("A10_glass_status", "0");//A09鐜荤拑鐘舵��
- mapValue.put("A09_prohibit_film_production", "0");//A9绂佹鍑虹墖
- mapValue.put("A10_prohibit_film_production", "0");//A10绂佹鍑虹墖
-
- }
-
- private void inTo() {
- List<GlassInfo> glassInfos = glassInfoService.selectId(mapValue.get("A05_scanning_ID"));
- if (glassInfos.size() < 1) {
- log.info("姝ょ幓鐠冪紪鍙蜂笉瀛樺湪");
- } else if (glassInfos.size() == 1) {
- //娣诲姞杩涚墖浠诲姟 鏌ユ壘绌烘牸
- log.info("姝e父");
- List<EdgStorageCage> list = edgStorageCageService.selectCacheEmpty();
-
- if (list.size() > 1) {
- EdgStorageCageDetails edgStorageCageDetails = edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>()
- .eq(EdgStorageCageDetails::getGlassId, glassInfos.get(0).getGlassId()));
- edgStorageCageDetails.setState(200);
-
- TaskCache taskCache = new TaskCache();
- EdgStorageCage edgStorageCage = list.get(0);
- taskCache.setGlassId(glassInfos.get(0).getGlassId());
- taskCache.setTaskStatus(0);
- taskCache.setStartCell(0);
- taskCache.setEndCell(edgStorageCage.getSlot());
- taskCache.setTaskType(1);
- taskCache.setCreateTime(new Date());
- edgStorageCageDetailsMapper.updateById(edgStorageCageDetails);
- taskCacheService.insertTaskCache(taskCache);
- S7object.getinstance().plccontrol.WriteWord(mapParameter.get("MES_confirmation_word"), (short) 1);
- } else {
- log.info("涓嶅瓨鍦ㄧ┖鏍�");
- }
- } else {
- log.info("姝ょ幓鐠冪紪鍙峰瓨鍦ㄥ涓�");
- }
- }
-
- private void outTo(int line) {
- int endcell = 0;
- EdgStorageCageDetails outEdgStorageCageDetails = new EdgStorageCageDetails();
- TaskCache taskCacheA09 = taskCacheService.selectLastOutCacheInfo("");
- TaskCache taskCacheA10 = taskCacheService.selectLastOutCacheInfo("");
- //涓ょ嚎鍚勮嚜瑕佸嚭鐨勭幓鐠�
- EdgStorageCageDetails glassInfo09 = edgStorageCageDetailsService.selectConformGlass(taskCacheA09.getGlassId(), (int) mapSettings.get("territoryPoor"));
- EdgStorageCageDetails glassInfo10 = edgStorageCageDetailsService.selectConformGlass(taskCacheA10.getGlassId(), (int) mapSettings.get("territoryPoor"));
- //鍐冲畾绾胯矾
- if (line == 1) {
- endcell = 9000;
- outEdgStorageCageDetails = glassInfo09;
- } else if (line == 2) {
- endcell = 1000;
- outEdgStorageCageDetails = glassInfo10;
- } else if (line == 3) {
- endcell = 9000;//榛樿璧颁竴鍙风嚎 浼樺寲鏂瑰悜鍙牴鎹� 瀵规瘮涓ょ嚎閫熷害/涓ょ嚎褰撳墠浠诲姟鎯呭喌鍋�
- outEdgStorageCageDetails = glassInfo09;
- }
- if (outEdgStorageCageDetails != null && endcell > 0) {
- TaskCache taskCache = new TaskCache();
- taskCache.setGlassId(outEdgStorageCageDetails.getGlassId());
- taskCache.setTaskStatus(0);
- taskCache.setStartCell(outEdgStorageCageDetails.getSlot());
- taskCache.setEndCell(endcell);
- taskCache.setTaskType(2);
- taskCache.setCreateTime(new Date());
- taskCacheService.insertTaskCache(taskCache);
- S7object.getinstance().plccontrol.WriteWord(mapParameter.get("MES_confirmation_word"), (short) 1);
- }
-
-
- }
-
- @Override
- public void run() {
- boolean start = true;
- initialize();
- log.info("褰撳墠鍙傛暟鍊硷細{}", mapValue);
- while (this != null && start) {
- JSONObject jsonObject = new JSONObject();
- for (String key : mapParameter.keySet()) {
- String value = "";
- if ("String".equals(mapType.get(key))) {
- value = S7object.getinstance().plccontrol.readString(mapParameter.get(key));
- } else {
- value = S7object.getinstance().plccontrol.readWord(mapParameter.get(key)) + "";
- }
- mapValue.put(key, value);
- }
-
- S7object.getinstance().plccontrol.WriteWord(S7object.getinstance().PlcMesObject.getPlcParameter("A06_request_word").getAddress(), (short)1);
- try {
- Thread.sleep(1000);
-// initialize();//鍒濆鍖栨暟鎹�
- if ("0".equals(S7object.getinstance().PlcMesObject.getPlcParameter("A06_request_word"))) {
- //娓呴櫎
- S7object.getinstance().plccontrol.WriteWord(mapParameter.get("MES_confirmation_word"), (short) 0);
- } else if ("1".equals(S7object.getinstance().PlcMesObject.getPlcParameter("A06_request_word")) &&
- "0".equals(S7object.getinstance().PlcMesObject.getPlcParameter("MES_confirmation_word"))) {
-
- inTo();
- } else if ("2".equals(mapValue.get("A06_request_word")) &&
- "0".equals(mapValue.get("MES_confirmation_word")) && !"0".equals(mapValue.get("A09_glass_status"))) {
- //09绌洪棽 锛�1 10绌洪棽 锛�2 閮界┖闂诧細3 鍏朵粬0
- outTo(Integer.parseInt(mapValue.get("A09_glass_status")));
- } else if ("3".equals(mapValue.get("A06_request_word")) &&
- "0".equals(mapValue.get("MES_confirmation_word"))) {
-
- if ("0".equals(mapValue.get("A09_glass_status")) || "0".equals(mapValue.get("A10_glass_status"))) {
- outTo(Integer.parseInt(mapValue.get("A09_glass_status")));
- } else {
- inTo();
- }
- }
-
-
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
-// log.info("鎺ㄦ暟鎹�");
- // jsonObject.append("params", new short[] { 30, 40, });
- ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home");
- if (sendwServer != null) {
- for (WebSocketServer webserver : sendwServer) {
- webserver.sendMessage(jsonObject.toString());
- if (webserver != null) {
-
- List<String> messages = webserver.getMessages();
-
- if (!messages.isEmpty()) {
- // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
- webserver.clearMessages();
- }
- }
-
- }
- }
- }
- }
-}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java
new file mode 100644
index 0000000..b8b8a9d
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java
@@ -0,0 +1,20 @@
+package com.mes.edgglasstask.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-05-11
+ */
+@RestController
+@RequestMapping("/edgGlassTaskInfo")
+public class EdgGlassTaskInfoController {
+
+}
+
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
new file mode 100644
index 0000000..810e146
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
@@ -0,0 +1,37 @@
+package com.mes.edgglasstask.entity;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-05-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class EdgGlassTaskInfo implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private String glassId;
+
+ private Integer width;
+
+ private Integer height;
+
+ private Integer thickness;
+
+ private Integer glassType;
+
+ private Integer status;
+
+
+
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/mapper/EdgGlassTaskInfoMapper.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/mapper/EdgGlassTaskInfoMapper.java
new file mode 100644
index 0000000..2f6a5be
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/mapper/EdgGlassTaskInfoMapper.java
@@ -0,0 +1,18 @@
+package com.mes.edgglasstask.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author wu
+ * @since 2024-05-11
+ */
+@DS("salve_hangzhoumes")
+public interface EdgGlassTaskInfoMapper extends BaseMapper<EdgGlassTaskInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java
new file mode 100644
index 0000000..1589b7d
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java
@@ -0,0 +1,16 @@
+package com.mes.edgglasstask.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-05-11
+ */
+public interface EdgGlassTaskInfoService extends IService<EdgGlassTaskInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
new file mode 100644
index 0000000..34a06f4
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.edgglasstask.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+import com.mes.edgglasstask.mapper.EdgGlassTaskInfoMapper;
+import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-05-11
+ */
+@Service
+public class EdgGlassTaskInfoServiceImpl extends ServiceImpl<EdgGlassTaskInfoMapper, EdgGlassTaskInfo> implements EdgGlassTaskInfoService {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
index 7c71c38..2969896 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
@@ -20,7 +20,7 @@
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author zhoush
@@ -37,44 +37,46 @@
@Override
public EdgStorageCage selectNearestEmpty(int currentSlot) {
- return this.selectJoinOne(EdgStorageCage.class,new MPJLambdaWrapper<EdgStorageCage>()
+ return this.selectJoinOne(EdgStorageCage.class, new MPJLambdaWrapper<EdgStorageCage>()
.selectAll(EdgStorageCage.class)
- .leftJoin(EdgStorageCageDetails.class,on->on
- .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot)
+ .leftJoin(EdgStorageCageDetails.class, on -> on
+ .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot)
.eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN))
.isNull(EdgStorageCageDetails::getSlot)
- .last("order by abs(slot - 4) asc limit 1")
+ .last("order by abs(t.slot - " + currentSlot + ") asc limit 1")
);
}
/**
* 鏌ヨ绗煎唴绌烘牸
+ *
* @return
*/
@Override
- public List<EdgStorageCage> selectCacheEmpty(){
- return baseMapper.selectJoinList(EdgStorageCage.class,new MPJLambdaWrapper<EdgStorageCage>()
+ public List<EdgStorageCage> selectCacheEmpty() {
+ return baseMapper.selectJoinList(EdgStorageCage.class, new MPJLambdaWrapper<EdgStorageCage>()
.selectAll(EdgStorageCage.class)
- .leftJoin(EdgStorageCageDetails.class,on->on
- .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot)
- .eq(EdgStorageCageDetails::getState,"100"))
+ .leftJoin(EdgStorageCageDetails.class, on -> on
+ .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot)
+ .eq(EdgStorageCageDetails::getState, "100"))
.isNull(EdgStorageCageDetails::getSlot)
- .last("order by abs(slot - 4) asc")
+ .last("order by abs(t.slot - 4) asc")
);
}
/**
* 鏌ヨ绗煎唴鍑虹墖浠诲姟 鎸夐挗鍖栫増鍥惧彿+鐗堝浘鍐呭簭鍙�
+ *
* @return
*/
@Override
- public List<Map<String, Object>> selectCacheOut(){
+ public List<Map<String, Object>> selectCacheOut() {
return upPattenUsageMapper.selectJoinMaps(JoinWrappers.lambda(UpPattenUsage.class).selectAll(UpPattenUsage.class)
- .select(EdgStorageCageDetails::getWidth, EdgStorageCageDetails::getHeight,EdgStorageCageDetails::getGlassId)
- .leftJoin(EdgStorageCageDetails.class,on->on
- .eq(EdgStorageCageDetails::getDeviceId,EdgStorageCage::getDeviceId)
- .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot))
+ .select(EdgStorageCageDetails::getWidth, EdgStorageCageDetails::getHeight, EdgStorageCageDetails::getGlassId)
+ .leftJoin(EdgStorageCageDetails.class, on -> on
+ .eq(EdgStorageCageDetails::getDeviceId, EdgStorageCage::getDeviceId)
+ .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot))
.isNull(EdgStorageCageDetails::getSlot)
);
// return upPattenUsageMapper.selectJoinMaps(new MPJQueryWrapper<UpPattenUsage>().selectAll(UpPattenUsage.class)
@@ -87,17 +89,18 @@
/**
* 鐞嗙墖缂撳瓨璇︽儏
+ *
* @return
*/
@Override
- public List<Map<String, Object>> selectEdgStorageCages(){
+ public List<Map<String, Object>> selectEdgStorageCages() {
return baseMapper.selectJoinMaps(JoinWrappers.lambda(EdgStorageCage.class)
.selectAll(EdgStorageCage.class)
- .selectAs(EdgStorageCageDetails::getId,"esdId")
- .select(EdgStorageCageDetails::getGlassId,EdgStorageCageDetails::getWidth,EdgStorageCageDetails::getHeight,EdgStorageCageDetails::getId)
- .leftJoin(EdgStorageCageDetails.class,on->on
- .eq(EdgStorageCageDetails::getDeviceId,EdgStorageCage::getDeviceId)
- .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot))
+ .selectAs(EdgStorageCageDetails::getId, "esdId")
+ .select(EdgStorageCageDetails::getGlassId, EdgStorageCageDetails::getWidth, EdgStorageCageDetails::getHeight, EdgStorageCageDetails::getId)
+ .leftJoin(EdgStorageCageDetails.class, on -> on
+ .eq(EdgStorageCageDetails::getDeviceId, EdgStorageCage::getDeviceId)
+ .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot))
);
// return baseMapper.selectJoinMaps(new MPJQueryWrapper<EdgStorageCage>().selectAll(EdgStorageCage.class)
// .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
@@ -107,39 +110,41 @@
/**
* 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愬惎鐢�/绂佺敤銆�
+ *
* @param edgStorageCage
* @return
*/
@Override
- public boolean updateEdgStorageCage(EdgStorageCage edgStorageCage){
- EdgStorageCage edgItem=baseMapper.selectById(edgStorageCage.getId());
+ public boolean updateEdgStorageCage(EdgStorageCage edgStorageCage) {
+ EdgStorageCage edgItem = baseMapper.selectById(edgStorageCage.getId());
edgItem.setEnableState(edgStorageCage.getEnableState());
baseMapper.updateById(edgItem);
return true;
}
/**
- *淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
+ * 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
+ *
* @param edgStorageCageId
* @param edgStorageCageDetails
* @return
*/
@Override
- public boolean updateEdgStorageCageDetails(int edgStorageCageId,EdgStorageCageDetails edgStorageCageDetails){
- EdgStorageCage edgItem=baseMapper.selectById(edgStorageCageId);
- log.info("姝e父"+edgItem);
- EdgStorageCageDetails edgDItem=edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId());
- if (edgItem!=null){
+ public boolean updateEdgStorageCageDetails(int edgStorageCageId, EdgStorageCageDetails edgStorageCageDetails) {
+ EdgStorageCage edgItem = baseMapper.selectById(edgStorageCageId);
+ log.info("姝e父" + edgItem);
+ EdgStorageCageDetails edgDItem = edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId());
+ if (edgItem != null) {
//绉婚櫎
- EdgStorageCageDetails result=edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot,edgStorageCageId));
- if (result!=null){
+ EdgStorageCageDetails result = edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot, edgStorageCageId));
+ if (result != null) {
result.setSlot(0);
edgStorageCageDetailsMapper.updateById(result);
}
//娣诲姞
- if(edgDItem!=null){
+ if (edgDItem != null) {
//鍙紶鏍煎瓙 锛氱Щ闄ょ幓鐠�
- EdgStorageCageDetails newresult=edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId());
+ EdgStorageCageDetails newresult = edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId());
newresult.setSlot(edgItem.getSlot());
edgStorageCageDetailsMapper.updateById(newresult);
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
index fc0aa21..0f0b2a6 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -9,6 +9,8 @@
import com.mes.common.S7object;
import com.mes.common.config.Const;
import com.mes.device.PlcParameterObject;
+import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
import com.mes.edgstoragecage.entity.EdgStorageCage;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
@@ -18,6 +20,7 @@
import com.mes.taskcache.entity.TaskCache;
import com.mes.taskcache.service.TaskCacheService;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -46,8 +49,14 @@
@Autowired
EdgStorageCageDetailsService edgStorageCageDetailsService;
+ @Autowired
+ EdgGlassTaskInfoService edgGlassTaskInfoService;
+
@Value("${mes.threshold}")
private int threshold;
+
+ @Value("${mes.ratio}")
+ private int ratio;
@Scheduled(fixedDelay = 1000)
public void plcHomeEdgTask() {
@@ -55,12 +64,23 @@
String taskRequestTypeValue = plcParameterObject.getPlcParameter("A06_request_word").getValue();
String glassIdeValue = plcParameterObject.getPlcParameter("A05_scanning_ID").getValue();
String confirmationWrodValue = plcParameterObject.getPlcParameter("MES_confirmation_word").getValue();
- //A08 A09琛ㄧず绾胯矾鐩稿悓 鍙仛绛変环
+ //A08 A09琛ㄧず绾胯矾鐩稿悓 鍙仛绛変环 鏃犳暟鎹浆int寮傚父
String out08Glassstate = plcParameterObject.getPlcParameter("A08_glass_status").getValue();
String out10Glassstate = plcParameterObject.getPlcParameter("A10_glass_status").getValue();
String confirmationWrodAddress = plcParameterObject.getPlcParameter("MES_confirmation_word").getAddress();
String currentSlot = plcParameterObject.getPlcParameter("Current_slot").getValue();
- log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佸垎鍒负锛欰09{}銆丄10{},褰撳墠鏍煎瓙鍙蜂负锛歿}",
+
+// String taskRequestTypeValue = "2";
+// String glassIdeValue = "2222222222";
+// String confirmationWrodValue = "0";
+// //A08 A09琛ㄧず绾胯矾鐩稿悓 鍙仛绛変环
+// Integer out08Glassstate = 1;
+// Integer out10Glassstate = 0;
+// String confirmationWrodAddress = "DB11.38";
+// String currentSlot = "1";
+
+
+ log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佸垎鍒负锛欰09:{}銆丄10:{},褰撳墠鏍煎瓙鍙蜂负锛歿}",
taskRequestTypeValue, glassIdeValue, confirmationWrodValue, out08Glassstate, out10Glassstate, currentSlot);
if ("0".equals(taskRequestTypeValue)) {
@@ -77,22 +97,27 @@
S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 0);
return;
}
-
if ("1".equals(taskRequestTypeValue)) {
- log.info("3銆佽繘鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛岃繘鐗囦换鍔�");
+ log.info("2銆佽繘鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛岃繘鐗囦换鍔�");
inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
} else if ("2".equals(taskRequestTypeValue)) {
//09绌洪棽 锛�1 10绌洪棽 锛�2 閮界┖闂诧細3 鍏朵粬0
- log.info("3銆佸嚭鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛岃繘鐗囦换鍔�");
- outTo(Integer.parseInt(out08Glassstate), confirmationWrodAddress);
+ log.info("2銆佸嚭鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛岃繘鐗囦换鍔�");
+ outTo(Integer.parseInt(out08Glassstate),
+ Integer.parseInt(out10Glassstate), confirmationWrodAddress);
} else if ("3".equals(taskRequestTypeValue)) {
- log.info("3銆佽繘鐗囧拰鍑虹墖閮界┖闂诧紝鎵ц鍑虹墖浠诲姟");
+ log.info("2銆佽繘鐗囧拰鍑虹墖閮界┖闂诧紝鎵ц鍑虹墖浠诲姟");
//鍔犵瀛愰噷闈㈡槸鍚︽湁鐜荤拑锛屾湁鍏堝嚭锛屾棤鐜荤拑鍏堣繘
int count = edgStorageCageDetailsService.count(new LambdaQueryWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN));
- if ("0".equals(out08Glassstate) || count > 0) {
+ if ("0".equals(out08Glassstate) && "0".equals(out10Glassstate) && count < 9) {
inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
} else {
- outTo(Integer.parseInt(out08Glassstate), confirmationWrodAddress);
+ boolean outFlase = outTo(Integer.parseInt(out08Glassstate),
+ Integer.parseInt(out10Glassstate), confirmationWrodAddress);
+ log.info("鍑虹墖浠诲姟鏄惁瀹屾垚锛歿},澶辫触涓旂幓鐠僫d:{}涓嶄负绌哄垯鎵ц杩涚墖浠诲姟", outFlase, glassIdeValue);
+ if (!outFlase && StringUtils.isNotBlank(glassIdeValue)) {
+ inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
+ }
}
}
}
@@ -114,7 +139,7 @@
log.info("2銆佽幏鍙栧埌鐨勭幓鐠冧俊鎭负{}", glassInfo);
//娣诲姞杩涚墖浠诲姟 鏌ユ壘绌烘牸
EdgStorageCage nearestEmpty = edgStorageCageService.selectNearestEmpty(Integer.parseInt(currentSlot));
- Assert.isTrue(nearestEmpty == null, "鏍煎瓙宸叉弧");
+ Assert.isTrue(null != nearestEmpty, "鏍煎瓙宸叉弧");
log.info("3銆佹煡璇㈠崸寮忕悊鐗囩閲岄潰鐨勭┖鏍�:{}", nearestEmpty);
log.info("4銆佸皢鐜荤拑淇℃伅鎻掑叆鍗у紡鐞嗙墖绗�,褰撳墠鐜荤拑淇℃伅:{}", glassInfo);
@@ -125,17 +150,9 @@
details.setDeviceId(nearestEmpty.getDeviceId());
edgStorageCageDetailsService.save(details);
log.info("5銆佺幓鐠冧俊鎭凡瀛樺叆鐞嗙墖绗艰鎯呰〃锛岀幓鐠冧俊鎭负{}", details);
-
//娣诲姞杩涚墖浠诲姟
- TaskCache taskCache = new TaskCache();
- taskCache.setGlassId(glassId);
- taskCache.setTaskStatus(0);
- taskCache.setStartCell(0);
- taskCache.setEndCell(nearestEmpty.getSlot());
- taskCache.setTaskType(1);
- taskCache.setCreateTime(new Date());
- taskCacheService.insertTaskCache(taskCache);
- log.info("6銆佺敓鎴愯繘鐗囦换鍔′俊鎭瓨鍏ヤ换鍔¤〃{}", taskCache);
+ boolean taskCache = saveTaskCache(details.getGlassId(), 0, nearestEmpty.getSlot(), Const.GLASS_CACHE_TYPE_IN);
+ log.info("6銆佺敓鎴愯繘鐗囦换鍔′俊鎭瓨鍏ヤ换鍔¤〃鏄惁瀹屾垚锛歿}", taskCache);
S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 1);
log.info("7銆佸彂閫佺‘璁ゅ瓧瀹屾垚");
@@ -146,10 +163,11 @@
/**
* 鍑虹墖浠诲姟
*
- * @param line
+ * @param out08Glassstate
+ * @param out10Glassstate
* @param confirmationWrodAddress
*/
- private void outTo(int line, String confirmationWrodAddress) {
+ private boolean outTo(int out08Glassstate, int out10Glassstate, String confirmationWrodAddress) {
//閫昏緫姝ラ锛�
// 0銆丄09銆丄10鏄惁绌洪棽锛屾槸鍚﹀彲浠ユ墽琛屽嚭鐗囦换鍔�
// 1銆佽幏鍙栭挗鍖栫増鍥炬槸鍚﹁秴杩囬槇鍊�
@@ -163,11 +181,11 @@
// 1.2.3銆佹寜鐓у嚭鐗囦俊鎭幓璇︽儏琛ㄦ煡璇㈡牸瀛愬湪绗煎瓙閲岄潰鍓╀綑鐩稿悓灏哄鐨勭幓鐠冩暟鎹笖浠ョ増鍥緄d銆佺増搴忓崌搴忔帓搴� 鍙栫涓�鍧楃幓鐠冨嚭鐗�
// 2銆佸鏋滄病鏈夊巻鍙插嚭鐗囦换鍔�
// 2.1銆佸嚭褰撳墠鐗堝浘id鏈�灏忕増搴忔渶灏忕殑鐜荤拑锛堥棶棰橈細涓ゆ潯绾块兘娌℃湁鍘嗗彶浠诲姟锛屽嚭鐗囨椂涓ゆ潯绾跨殑鐜荤拑灏哄鐩稿悓锛屾槸鍚︽壘灏哄涓嶅悓鐨勶級
- Assert.isTrue(line != 0, "A09銆丄10閮芥湁鐜荤拑锛屾棤娉曞嚭鐗�");
- log.info("0銆佸嚭鐗囦换鍔″嚭銆恵}銆戝彿绾�,澶囨敞(09绌洪棽锛�1;10绌洪棽锛�2;閮界┖闂诧細3)", line);
+ Assert.isFalse(out08Glassstate == 0 && out10Glassstate == 0, "A09銆丄10閮芥湁鐜荤拑锛屾棤娉曞嚭鐗�");
+ log.info("0銆佸嚭鐗囦换鍔″嚭鐨勭姸鎬�:A09:銆恵}銆�;A10:銆恵}銆�)", out08Glassstate, out10Glassstate);
//瀹氫箟鍑虹墖鐜荤拑淇℃伅
- EdgStorageCageDetails glassInfo = null;
int endcell = 0;
+ EdgStorageCageDetails glassInfo = null;
boolean flag = queryMaxMinDiff(threshold);
log.info("1銆佽幏鍙栭挗鍖栫増鍥炬槸鍚﹁秴杩囬槇鍊�:{}", flag);
if (flag) {
@@ -176,41 +194,46 @@
Integer a09Count = queryCountByTaskLine(Const.A09_OUT_TARGET_POSITION).size();
Integer a10Count = queryCountByTaskLine(Const.A10_OUT_TARGET_POSITION).size();
log.info("1.2銆佽幏鍙栫瀛愬墿浣欐暟閲廇09涓簕},A10涓簕}", a09Count, a10Count);
- if (a10Count <= a09Count && line != 2) {
- log.info("1.2.1銆丄09绾垮嚭鐗�");
- endcell = Const.A09_OUT_TARGET_POSITION;
- } else {
- log.info("1.2.2銆丄10绾垮嚭鐗�");
- endcell = Const.A09_OUT_TARGET_POSITION;
- }
+
+ // 鍋囪宸茬煡 outXXGlassstate 鐨勫�煎彧鏈� 0 鍜� 1 涓ょ鎯呭喌锛屼笖 0 琛ㄧず鏌愮鐘舵�侊紝1 琛ㄧず鍙︿竴绉嶇姸鎬�
+ int targetPositionWhenStateZero = (out08Glassstate == 0) ? Const.A10_OUT_TARGET_POSITION : Const.A09_OUT_TARGET_POSITION;
+ int targetPositionWhenStateOne = (out10Glassstate == 0) ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
+ endcell = (a10Count <= a09Count) ? targetPositionWhenStateZero : targetPositionWhenStateOne;
} else {
- //鑾峰彇鎸囧畾绾胯矾灏嗚鍑虹殑鐜荤拑淇℃伅
- endcell = line == 2 ? Const.A10_OUT_TARGET_POSITION : Const.A09_OUT_TARGET_POSITION;
- //褰撳墠浠诲姟鍑哄畬鏃犵幓鐠� 鏇存崲鐜荤拑
+ //褰撳墠浠诲姟鍑哄畬鏃犵幓鐠� 鏇存崲鐜荤拑 鑾峰彇鍙︿竴鏉$嚎璺�
+ endcell = out08Glassstate == 1 ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
int othercell = endcell == Const.A10_OUT_TARGET_POSITION ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
List<EdgStorageCageDetails> details = queryCountByTaskLine(endcell);
if (details.size() > 0) {
glassInfo = details.get(0);
} else {
- //todo:鍘荤悊鐗囩閲岄潰鏌�
+ //鍘荤悊鐗囩閲岄潰鏌�
glassInfo = queryChangeGlassInfo(othercell);
}
-
}
if (glassInfo != null) {
log.info("4銆佹坊鍔犲嚭鐗囦换鍔★紝鐜荤拑id锛歿}锛屼换鍔$被鍨嬶細{}锛岃捣濮嬩綅缃細{}锛岀粨鏉熶綅缃細{}", glassInfo.getGlassId(),
2, glassInfo.getSlot(), endcell);
- TaskCache taskCache = new TaskCache();
- taskCache.setGlassId(glassInfo.getGlassId());
- taskCache.setTaskStatus(0);
- taskCache.setStartCell(glassInfo.getSlot());
- taskCache.setEndCell(endcell);
- taskCache.setTaskType(2);
- taskCache.setCreateTime(new Date());
- taskCacheService.insertTaskCache(taskCache);
+
+ LambdaQueryWrapper<EdgStorageCageDetails> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(EdgStorageCageDetails::getGlassId, glassInfo.getGlassId());
+ EdgStorageCageDetails updateDetail = new EdgStorageCageDetails();
+ updateDetail.setState(Const.GLASS_STATE_OUT);
+ edgStorageCageDetailsService.update(updateDetail, wrapper);
+ log.info("5銆佹洿鏂板嚭鐗囩幓鐠冪殑鐘舵�佷负{}", Const.GLASS_STATE_OUT);
+
+ boolean taskCacheStatus = saveTaskCache(glassInfo.getGlassId(), glassInfo.getSlot(), endcell, Const.GLASS_CACHE_TYPE_OUT);
+ log.info("6銆佹坊鍔犲嚭鐗囦换鍔℃槸鍚﹀畬鎴愶細{}", taskCacheStatus);
+
+ boolean glassSizeStatus = saveGlassSize(glassInfo);
+ log.info("7銆佹坊鍔犲嚭鐗囩幓鐠冨昂瀵镐俊鎭埌纾ㄨ竟鍓嶇幓鐠冭〃鏄惁瀹屾垚锛歿}", glassSizeStatus);
+
S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 1);
+ log.info("8銆佸彂閫佺‘璁ゅ瓧宸插畬鎴�");
+ return Boolean.TRUE;
}
+ return Boolean.FALSE;
}
/**
@@ -219,12 +242,18 @@
* @return
*/
private boolean queryMaxMinDiff(int threshold) {
- //todo:鑾峰彇绗煎瓙鍐呮渶澶х増鍥緄d鍜屾渶灏忕増鍥緄d鎻掑�硷紝鍒ゆ柇鏄惁澶т簬闃堝�硷紝澶т簬闃堝�肩洿鎺ュ嚭鏈�灏忕増鍥剧幓鐠�
+ //鑾峰彇绗煎瓙鍐呮渶澶х増鍥緄d鍜屾渶灏忕増鍥緄d鎻掑�硷紝鍒ゆ柇鏄惁澶т簬闃堝�硷紝澶т簬闃堝�肩洿鎺ュ嚭鏈�灏忕増鍥剧幓鐠�
QueryWrapper<EdgStorageCageDetails> queryWrapper = new QueryWrapper<>();
queryWrapper.select("max(tempering_layout_id)-min(tempering_layout_id) as diff")
.eq("state", Const.GLASS_STATE_IN);
- Integer diff = (Integer) edgStorageCageDetailsService.listObjs(queryWrapper).get(0);
- return diff > threshold;
+ List<Object> list = edgStorageCageDetailsService.listObjs(queryWrapper);
+ if (CollectionUtil.isNotEmpty(list)) {
+ Long diff = (Long) list.get(0);
+ return diff > threshold;
+ } else {
+ return Boolean.FALSE;
+ }
+
}
/**
@@ -255,7 +284,7 @@
}
TaskCache taskCache = taskCacheList.get(0);
MPJQueryWrapper<EdgStorageCageDetails> mpjLambdaWrapper = new MPJQueryWrapper<>();
- mpjLambdaWrapper.select("a.*")
+ mpjLambdaWrapper.select("t1.*")
.innerJoin("edg_storage_cage_details t1 on t.width = t1.width and t.height = t1.height")
.eq("t.glass_id", taskCache.getGlassId())
.ne("t1.glass_id", taskCache.getGlassId())
@@ -277,18 +306,25 @@
//鑾峰彇绗煎瓙鍐呮暟閲忓墠浜岀殑鐜荤拑鏁伴噺
MPJLambdaWrapper<EdgStorageCageDetails> wrapper = new MPJLambdaWrapper<>();
wrapper.select(EdgStorageCageDetails::getWidth, EdgStorageCageDetails::getHeight)
- .selectCount("*", EdgStorageCageDetails::getCount)
+ .selectCount(EdgStorageCageDetails::getGlassId, EdgStorageCageDetails::getCount)
.groupBy(EdgStorageCageDetails::getWidth, EdgStorageCageDetails::getHeight)
- .last("order by count(*) desc limit 2");
+ .last("order by count(t.glass_id) desc limit 2");
List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(wrapper);
log.info("鑾峰彇绗煎瓙鍐呮暟閲忓墠浜岀殑鐜荤拑鏁伴噺锛歿}", list);
- Assert.notEmpty(list, "绗煎瓙閲屾病鏈夌幓鐠�");
- //涓�鐗囩幓鐠冪洿鎺ュ嚭
- if (list.size() == 1) {
- return list.get(0);
+ if (CollectionUtil.isEmpty(list)) {
+ log.info("绗煎瓙閲屾病鏈夌幓鐠�");
+ return null;
}
- //鍒嗗埆鑾峰彇瀹介珮鐨勭幓鐠冩暟閲�
+ //涓�鐗囩幓鐠冪洿鎺ュ嚭
+ //鑾峰彇瀹介珮鎷嶇涓�鐨勭幓鐠冧俊鎭�
EdgStorageCageDetails firstSize = list.get(0);
+ Integer firstCount = firstSize.getCount();
+ Double firstWidth = firstSize.getWidth();
+ Double firstHeight = firstSize.getHeight();
+ if (list.size() == 1) {
+ return queryMinGlass(firstWidth, firstHeight);
+ }
+ //鑾峰彇瀹介珮鎷嶇浜岀殑鐜荤拑淇℃伅
EdgStorageCageDetails secondSize = list.get(1);
//鑾峰彇浠诲姟琛ㄤ腑鏈�鍚庝竴娆″嚭鐗囩殑鐜荤拑id
LambdaQueryWrapper<TaskCache> queryWrapper = new LambdaQueryWrapper<TaskCache>().eq(TaskCache::getTaskType, Const.GLASS_CACHE_TYPE_OUT)
@@ -299,9 +335,7 @@
log.info("{}绾挎病鏈夊嚭鐗囦换鍔′俊鎭紝鐩存帴鍑虹墖", othercell);
return queryMinGlass(firstSize.getWidth(), firstSize.getHeight());
}
- Integer firstCount = firstSize.getCount();
- Double firstWidth = firstSize.getWidth();
- Double firstHeight = firstSize.getHeight();
+
Integer secondCount = secondSize.getCount();
Double secondWidth = secondSize.getWidth();
Double secondHeight = secondSize.getHeight();
@@ -328,4 +362,42 @@
}
}
}
+
+ /**
+ * 娣诲姞鐞嗙墖绗间换鍔�
+ *
+ * @param glassId
+ * @param startcell
+ * @param endcell
+ * @param taskType
+ * @return
+ */
+ private boolean saveTaskCache(String glassId, int startcell, int endcell, int taskType) {
+ TaskCache taskCache = new TaskCache();
+ taskCache.setGlassId(glassId);
+ taskCache.setTaskStatus(0);
+ taskCache.setStartCell(startcell);
+ taskCache.setEndCell(endcell);
+ taskCache.setTaskType(taskType);
+ taskCache.setCreateTime(new Date());
+ return taskCacheService.save(taskCache);
+ }
+
+ /**
+ * 娣诲姞鐞嗙墖绗间换鍔�
+ *
+ * @param glassInfo
+ * @return
+ */
+ private boolean saveGlassSize(EdgStorageCageDetails glassInfo) {
+ EdgGlassTaskInfo edgGlassTaskInfo = new EdgGlassTaskInfo();
+ BeanUtils.copyProperties(glassInfo, edgGlassTaskInfo);
+ edgGlassTaskInfo.setHeight((int) (glassInfo.getEdgHeight() * ratio));
+ edgGlassTaskInfo.setWidth((int) (glassInfo.getWidth() * ratio));
+ edgGlassTaskInfo.setThickness((int) (glassInfo.getThickness() * ratio));
+ edgGlassTaskInfo.setStatus(Const.EDG_GLASS_BEFORE);
+ return edgGlassTaskInfoService.save(edgGlassTaskInfo);
+ }
+
+
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
index c5a6f02..4f37295 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
@@ -16,13 +16,6 @@
public interface TaskCacheService extends IService<TaskCache> {
/**
- * 娣诲姞鐞嗙墖绗间换鍔�
- * @param taskCache
- * @return
- */
- boolean insertTaskCache(TaskCache taskCache);
-
- /**
* 鏌ヨ纾ㄨ竟浠诲姟
* @param line
* @return
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
index 486eb8a..2398039 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
@@ -11,7 +11,7 @@
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author zhoush
@@ -20,41 +20,32 @@
@Service
public class TaskCacheServiceImpl extends ServiceImpl<TaskCacheMapper, TaskCache> implements TaskCacheService {
-
- /**
- * 娣诲姞鐞嗙墖绗间换鍔�
- * @param taskCache
- * @return
- */
- @Override
- public boolean insertTaskCache(TaskCache taskCache){
- baseMapper.insert(taskCache);
- return true;
- }
-
/**
* 鏌ヨ纾ㄨ竟浠诲姟
+ *
* @param line
* @return
*/
@Override
public List<TaskCache> selectEdgInfo(String line) {
- return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell,line));
+ return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell, line));
// return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("end_cell",line));
}
/**
* 鏌ヨ寰呯悊鐗囧伐浣滅殑浠诲姟
+ *
* @return
*/
@Override
- public List<TaskCache> selectCacheInfo(){
- return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus,0));
+ public List<TaskCache> selectCacheInfo() {
+ return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus, 0));
// return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0));
}
/**
* 鏌ヨ鍏ㄩ儴浠诲姟
+ *
* @return
*/
@Override
@@ -64,44 +55,48 @@
/**
* 鏌ヨ寰呰繘鐗囦换鍔�
+ *
* @return
*/
@Override
- public List<TaskCache> selectInputTaskCache(){
- return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus,0).eq(TaskCache::getTaskType,1));
+ public List<TaskCache> selectInputTaskCache() {
+ return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus, 0).eq(TaskCache::getTaskType, 1));
// return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0).eq("task_type",1));
}
/**
* 鏌ヨ寰呭嚭鐗囦换鍔�
+ *
* @return
*/
@Override
- public List<TaskCache> selectOutTaskCache(){
- return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus,0).eq(TaskCache::getTaskType,2));
+ public List<TaskCache> selectOutTaskCache() {
+ return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus, 0).eq(TaskCache::getTaskType, 2));
// return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0).eq("task_type",2));
}
/**
* 鏌ヨ A09 鎴� A10 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
+ *
* @param line
* @return
*/
@Override
- public List<TaskCache> selectLastOutCacheInfos(int line){
- return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell,line).eq(TaskCache::getTaskStatus,1).orderByDesc(TaskCache::getCreateTime));
+ public List<TaskCache> selectLastOutCacheInfos(int line) {
+ return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell, line).eq(TaskCache::getTaskStatus, 1).orderByDesc(TaskCache::getCreateTime));
// return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("end_cell",line).eq("task_status",1).orderByDesc("ID"));
}
/**
* 鏌ヨ A09 鎴� A10 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
+ *
* @param line
* @return
*/
@Override
- public TaskCache selectLastOutCacheInfo(String line){
- return baseMapper.selectOne(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell,line).eq(TaskCache::getTaskStatus,1).orderByDesc(TaskCache::getCreateTime));
+ public TaskCache selectLastOutCacheInfo(String line) {
+ return baseMapper.selectOne(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell, line).eq(TaskCache::getTaskStatus, 1).orderByDesc(TaskCache::getCreateTime));
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
index d0380ee..e48a9b9 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
@@ -1,14 +1,15 @@
server:
- port: 8085
+ port: 8081
spring:
profiles:
active: dev
application:
- name: unLoadGlass
+ name: cacheGlass
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mes:
threshold: 3
+ ratio: 10
--
Gitblit v1.8.0