From 14901b7b990ae38fa4f2e4d57324b6d5e1189c63 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 08 八月 2024 14:50:48 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/HangZhouMes

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java |   48 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 41 insertions(+), 7 deletions(-)

diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
index 909c76a..9dba5bc 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
@@ -1,6 +1,7 @@
 package com.mes.downglassinfo.service.impl;
 
-import cn.hutool.json.JSONArray;
+import cn.smallbun.screw.core.util.CollectionUtils;
+import cn.smallbun.screw.core.util.CollectionUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -15,7 +16,9 @@
 import com.mes.downglassinfo.service.DownGlassInfoService;
 import com.mes.downstorage.entity.DownStorageCageDetails;
 import com.mes.downstorage.service.DownStorageCageDetailsService;
+import com.mes.downworkstation.entity.DownWorkstation;
 import com.mes.downworkstation.entity.dto.DownGlassInfoDTO;
+import com.mes.downworkstation.service.DownWorkstationService;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.job.DownLoadCacheGlassTask;
 import com.mes.pp.service.FlowCardService;
@@ -24,9 +27,9 @@
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
+import java.util.HashMap;import java.util.Map;
+import java.util.stream.Collectors;
 
 @Service
 public class DownGlassInfoServiceImpl extends ServiceImpl<DownGlassInfoMapper, DownGlassInfo> implements DownGlassInfoService {
@@ -36,6 +39,10 @@
 
     @Autowired
     DownStorageCageDetailsService downStorageCageDetailsService;
+
+
+    @Autowired
+    DownWorkstationService downWorkstationService;
 
     @Autowired
     RedisUtil redisUtil;
@@ -75,8 +82,15 @@
     }
 
     @Override
-    public List<DownGlassInfoDTO> queryWorkStationIsIn(Boolean isDownload) {
-        return baseMapper.queryWorkStationIsIn(isDownload);
+    public List<DownGlassInfoDTO> queryWorkStationIsIn(List<Integer> workList, Boolean isDownload) {
+        //鎸夌収瑕佹眰鑾峰彇宸茶惤鏋�/鏈惤鏋剁殑鐜荤拑淇℃伅
+        return baseMapper.queryWorkStationIsIn(workList, isDownload);
+    }
+
+    @Override
+    public List<DownGlassInfoDTO> queryWorkStationFlowCard(List<Integer> workList) {
+        //鑾峰彇宸茬粦瀹氭祦绋嬪崱鐨勬灦瀛愭湭钀界幓鐠冪殑鏁版嵁淇℃伅
+        return baseMapper.queryWorkStationFlowCard(workList);
     }
 
     @Override
@@ -107,8 +121,29 @@
         }
         return "success";
     }
-
     @Override
+    public List<DownWorkstation> queryWorkStationIsFull() {
+        //鏌ヨ鍙互钀芥灦鐨勭幓鐠冧俊鎭笖宸茬粦瀹氭祦绋嬪崱鐨勫伐浣嶄俊鎭�
+        List<DownWorkstation> list = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getEnableState, Const.SLOT_ON)
+                .isNotNull(DownWorkstation::getFlowCardId).ne(DownWorkstation::getFlowCardId, ""));
+        List<DownWorkstation> workstationFull = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(list)) {
+            //閮芥湁鐜荤拑鐨勫伐浣嶄俊鎭紙鍖呮嫭缁戝畾娴佺▼鍗★級
+            List<Integer> workstationList = list.stream().map(DownWorkstation::getWorkstationId).collect(Collectors.toList());
+            //鎸夌収绗﹀悎鏉′欢鐨勫伐浣嶈幏鍙栨湭钀芥灦鐨勬祦绋嬪崱鐜荤拑锛屽鏋滆繑鍥炰负绌猴紝鍒欒〃鏄庢墍鏈夐兘宸茶惤鏋跺畬鎴�
+            List<DownGlassInfoDTO> downGlassInfoDTOList = queryWorkStationIsIn(workstationList, Boolean.FALSE);
+            //鑾峰彇宸ヤ綅涓婄殑鏈弧鐨勬祦绋嬪崱鍙婂眰鏁�
+            List<String> flowCardIdList = downGlassInfoDTOList.stream().map(item -> item.getFlowCardId() + ":" + item.getLayer()).collect(Collectors.toList());
+            //鍙互钀芥灦鐨勭幓鐠冧俊鎭笖宸茬粦瀹氭祦绋嬪崱鐨勬墍鏈夌殑宸ヤ綅 - 鐜荤拑鏈弧娴佺▼鍗″強灞傛暟鐨勫伐浣�  =  宸叉弧宸ヤ綅
+            workstationFull = list.stream().filter(item -> !flowCardIdList.contains(item.getFlowCardId() + ":" + item.getLayer())).collect(Collectors.toList());
+            //鏄惁闇�瑕佸皢宸叉弧鐨勫伐浣嶇疆涓轰笉鍙惤鏋�
+            List<Integer> workstationIds = workstationFull.stream().map(DownWorkstation::getWorkstationId).collect(Collectors.toList());
+            downWorkstationService.update(new LambdaUpdateWrapper<DownWorkstation>().set(DownWorkstation::getEnableState, Const.SLOT_OFF)
+                    .in(DownWorkstation::getWorkstationId, workstationIds));
+
+        }
+        return workstationFull;
+    }@Override
     public List<Map<String, List<Map<String, Object>>>> downGlassPrint(DownGlassInfo downGlassInfo){
         QueryWrapper<DownGlassInfo> queryWrapper = Wrappers.query();
         queryWrapper.eq("flow_card_id", "NG24080012A001")
@@ -154,5 +189,4 @@
         listMap.add(result);
         return listMap;
     }
-
 }

--
Gitblit v1.8.0