From a325f9eda08af39cce45cba363e4247a1b7d5465 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期五, 24 十月 2025 15:50:40 +0800
Subject: [PATCH] 切割排产,钢化排产的排序指定功能,排序规则重写

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java |   46 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 40 insertions(+), 6 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 2a3a54c..ee1bfc4 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
@@ -2,6 +2,7 @@
 
 import cn.hutool.core.lang.Assert;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.toolkit.JoinWrappers;
@@ -28,6 +29,8 @@
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.mapper.GlassInfoMapper;
 import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.pp.entity.OptimizeProject;
+import com.mes.pp.service.OptimizeProjectService;
 import com.mes.sysconfig.entity.SysConfig;
 import com.mes.sysconfig.service.SysConfigService;
 import com.mes.temperingglass.entity.TemperingGlassInfo;
@@ -40,10 +43,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -68,6 +68,8 @@
     private BigStorageCageService bigStorageCageService;
     @Resource
     private GlassInfoMapper glassInfoMapper;
+    @Resource
+    private OptimizeProjectService optimizeProjectService;
 
     @Resource
     private GlassInfoService glassInfoService;
@@ -546,8 +548,8 @@
     }
 
     @Override
-    public List<BigStorageRelationDTO> queryIsAllNeedDispatchVirtualSlot() {
-        return baseMapper.queryIsAllNeedDispatchVirtualSlot();
+    public List<BigStorageRelationDTO> queryIsAllNeedDispatchVirtualSlot(List<Integer> deviceIdList) {
+        return baseMapper.queryIsAllNeedDispatchVirtualSlot(deviceIdList);
     }
 
     @Override
@@ -568,4 +570,36 @@
     public void updateDeviceIdBySlot(List<Integer> slotList) {
         baseMapper.updateDeviceIdBySlot(slotList);
     }
+
+    @Override
+    public List<BigStorageCageDetails> queryEngineer() {
+        QueryWrapper<BigStorageCageDetails> wrapper = new QueryWrapper<>();
+        wrapper.select("distinct engineer_id")
+                .eq("state", 100);
+        return this.list(wrapper);
+    }
+
+    @Override
+    public List<OptimizeProject> queryTemperingOrder() {
+        List<TemperingGlassCountDTO> temperingGlassCountDTOS = baseMapper.queryTemperingGlassCountSummary(1);
+        List<OptimizeProject> projectList = optimizeProjectService.engineerScheduling(new OptimizeProject() {{
+            setType(3);
+        }});
+        Set<String> projectNoSet = projectList.stream()
+                .map(OptimizeProject::getProjectNo)
+                .collect(Collectors.toSet());
+        List<OptimizeProject> resultList= new ArrayList<>();
+        for (TemperingGlassCountDTO dto : temperingGlassCountDTOS) {
+            if (projectNoSet.contains(dto.getEngineerId())) {
+                OptimizeProject project = new OptimizeProject();
+                project.setProjectNo(dto.getEngineerId());
+                project.setGlassType(dto.getFilmsId());
+                project.setGlassThickness(dto.getThickness().intValue());
+                project.setGlassTotal(dto.getTotalCount());
+                project.setGlassTotalArea(dto.getRealCount());
+                resultList.add(project);
+            }
+        }
+        return resultList;
+    }
 }

--
Gitblit v1.8.0