From 8a7e936b92038a9e5c7de3e1314c43f1346202c1 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 01 八月 2024 15:02:29 +0800
Subject: [PATCH] 大理片笼出片逻辑调整:1、尺寸限制 2、fixbug:玻璃重复进出,造成按照历史任务查询笼内玻璃尺寸返回多条记录sql查询异常 3、对列表在新增数据前先按照玻璃id对历史数据进行删除后新增,保证对列表数据唯一,防止大理片笼进片异常

---
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java |   88 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 81 insertions(+), 7 deletions(-)

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 ffa237c..7fff8e4 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
@@ -1,19 +1,27 @@
 package com.mes.taskcache.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.github.yulichang.query.MPJLambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
+import com.mes.edgstoragecage.entity.EdgStorageCage;
+import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
+import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.mapper.GlassInfoMapper;
 import com.mes.taskcache.entity.TaskCache;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.taskcache.mapper.TaskCacheMapper;
 import com.mes.taskcache.service.TaskCacheService;
-import com.mes.uppattenusage.entity.UpPattenUsage;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -23,8 +31,16 @@
  * @author zhoush
  * @since 2024-04-07
  */
+@Slf4j
 @Service
 public class TaskCacheServiceImpl extends ServiceImpl<TaskCacheMapper, TaskCache> implements TaskCacheService {
+
+    @Autowired
+    EdgStorageCageDetailsMapper edgStorageCageDetailsMapper;
+
+    @Autowired
+    GlassInfoMapper glassInfoMapper;
+
 
     /**
      * 娣诲姞鐞嗙墖绗间换鍔�
@@ -43,9 +59,54 @@
      * @return
      */
     @Override
-    public List<TaskCache> selectEdgInfo(String line) {
-        return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell,line));
+    public List<Map<String,Object>> selectEdgInfo(String line) {
+        List<TaskCache> taskCache=baseMapper.selectList(new MPJLambdaWrapper<TaskCache>()
+                .selectAll(TaskCache.class)
+                .eq(TaskCache::getEndCell, line)
+                .eq(TaskCache::getTaskStatus,1)
+                .orderByAsc(TaskCache::getCreateTime));
+        List<Map<String,Object>> result=new ArrayList<>();
+        int serialNumber=1;
+        for(TaskCache taskCache1:taskCache){
+            Map<String,Object> map=new HashMap<>();
+//            GlassInfo glassInfo=glassInfoMapper.selectOne(new MPJLambdaWrapper<GlassInfo>()
+//                    .selectAll(GlassInfo.class)
+//                    .eq(GlassInfo::getGlassId,taskCache1.getGlassId()));
+            List<GlassInfo> glassInfos=glassInfoMapper.selectJoinList(GlassInfo.class, new MPJLambdaWrapper<GlassInfo>()
+                    .selectAll(GlassInfo.class)
+                    .innerJoin(EdgStorageCageDetails.class, on -> on
+                            .eq(EdgStorageCageDetails::getGlassId, GlassInfo::getGlassId)
+                            .eq(EdgStorageCageDetails::getEngineerId, GlassInfo::getEngineerId))
+                    .eq(GlassInfo::getGlassId,taskCache1.getGlassId())
+                    .eq(EdgStorageCageDetails::getState,Const.GLASS_STATE_IN)
+            );
+            if(glassInfos.size()==1){
+                GlassInfo glassInfo=glassInfos.get(0);
+                map.put("Line",line);//绾胯矾   2001  1绾匡紝 2002 2绾�
+                map.put("Width",glassInfo.getWidth());//瀹�
+                map.put("Height",glassInfo.getHeight());//楂�
+                map.put("Thickness",glassInfo.getThickness());//鍘�
+                map.put("GlassId",glassInfo.getGlassId());//鐜荤拑ID
+                map.put("FlowCardId",glassInfo.getFlowCardId());//娴佺▼鍗″彿
+                map.put("TemperingLayoutId",glassInfo.getTemperingLayoutId());// 鏆備笉鏄剧ず  閽㈠寲鐗堝浘ID
+                map.put("TemperingFeedSequence",glassInfo.getTemperingFeedSequence());// 鏆備笉鏄剧ず  閽㈠寲鐗堝浘ID鍐呯殑搴忓彿
+                map.put("FilmsId",glassInfo.getFilmsid());//鑶滅郴
+                map.put("SerialNumber",serialNumber);//鍑虹墖椤哄簭
+                result.add(map);
+            }else if(glassInfos.size()>1){
+                log.info("鏁版嵁涓嶇鍚堥�昏緫--纾ㄨ竟闃熷垪glassId閲嶅:",glassInfos);
+                return new ArrayList<>();
+            }
+            serialNumber++;
+        }
+
+        return result;
 //        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("end_cell",line));
+    }
+
+    @Override
+    public TaskCache queryGlassByTaskCache(int line, List<Integer> taskTypes) {
+        return baseMapper.queryGlassByTaskCache(line, taskTypes);
     }
 
     /**
@@ -94,8 +155,21 @@
      * @return
      */
     @Override
-    public List<TaskCache> selectLastOutCacheInfo(String line){
-        return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell,line).eq(TaskCache::getTaskStatus,1).orderByDesc(TaskCache::getID));
+    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(int line){
+        return baseMapper.selectOne(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell,line).eq(TaskCache::getTaskStatus,1).orderByDesc(TaskCache::getCreateTime));
+    }
+
+
+
 }

--
Gitblit v1.8.0