From f44f00034483637a48c4cfedf7b6e93b83c8c6af Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 30 十月 2025 03:36:24 +0800
Subject: [PATCH] 1、 中空理片笼任务优化:进片调度增加限制,避免重复生成调度任务

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
index ee1bfc4..b648bf9 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -44,6 +44,10 @@
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -284,7 +288,7 @@
                 .eq(BigStorageCage::getEnableState, Const.SLOT_ON)
                 .eq(BigStorageCage::getRemainWidth, slotWidth).orderByAsc(BigStorageCage::getSlot)
                 .inSql(BigStorageCage::getDeviceId,
-                        "select distinct device_id from big_storage_cage_details where engineer_id = '" + EngineerId + "'")
+                        "select distinct device_id from big_storage_cage_details where engineer_id = '" + EngineerId + "' and device_id not in (5,6)")
                 .last("limit 1"));
         if (null != bigStorageCage) {
             log.info("鏍规嵁鐗堝浘id鎵惧埌绗煎瓙鍐呯殑鐩爣鏍煎瓙锛歿},鐜荤拑id锛歿}", bigStorageCage.getSlot(), glassId);
@@ -580,7 +584,18 @@
     }
 
     @Override
+    public List<BigStorageCageDetails> queryNeedDispatch() {
+        return baseMapper.queryNeedDispatch();
+    }
+
+    @Override
+    public BigStorageSlotDTO queryNeedDispatchSlotBySequence() {
+        return baseMapper.queryNeedDispatchSlotBySequence();
+    }
+
+    @Override
     public List<OptimizeProject> queryTemperingOrder() {
+        String temperingengineerId = redisUtil.getCacheObject("temperingEngineerId");
         List<TemperingGlassCountDTO> temperingGlassCountDTOS = baseMapper.queryTemperingGlassCountSummary(1);
         List<OptimizeProject> projectList = optimizeProjectService.engineerScheduling(new OptimizeProject() {{
             setType(3);
@@ -592,6 +607,9 @@
         for (TemperingGlassCountDTO dto : temperingGlassCountDTOS) {
             if (projectNoSet.contains(dto.getEngineerId())) {
                 OptimizeProject project = new OptimizeProject();
+                if (Objects.equals(dto.getEngineerId(), temperingengineerId)) {
+                    project.setState(1);
+                }
                 project.setProjectNo(dto.getEngineerId());
                 project.setGlassType(dto.getFilmsId());
                 project.setGlassThickness(dto.getThickness().intValue());

--
Gitblit v1.8.0