From 1eadcf2fe21a211ba361b3cdb86a79f34b4b0479 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期二, 14 五月 2024 14:48:02 +0800
Subject: [PATCH] 修改出片逻辑
---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java | 84 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 83 insertions(+), 1 deletions(-)
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
index c10e337..211dc88 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
@@ -1,5 +1,8 @@
package com.mes.downstorage.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.yulichang.query.MPJQueryWrapper;
@@ -12,12 +15,20 @@
import com.mes.downstorage.mapper.DownStorageCageMapper;
import com.mes.downstorage.service.DownStorageCageDetailsService;
+import com.mes.downworkstation.entity.DownWorkstation;
+import com.mes.downworkstation.mapper.DownWorkstationMapper;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.mapper.GlassInfoMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
+
@Slf4j
@Service
public class DownStorageCageDetailsServiceImpl extends ServiceImpl<DownStorageCageDetailsMapper, DownStorageCageDetails> implements DownStorageCageDetailsService {
@@ -26,7 +37,10 @@
private DownStorageCageMapper downStorageCageMapper;
@Autowired
private DownStorageCageDetailsMapper downStorageCageDetailsMapper;
-
+ @Autowired
+ private GlassInfoMapper glassInfoMapper;
+ @Autowired
+ private DownWorkstationMapper downWorkstationMapper;
@Override
public void addDownStorageCageDetails(DownStorageCageDetails details) {
this.save(details);
@@ -59,6 +73,14 @@
);
}
+
+
+
+
+
+
+
+
@@ -161,9 +183,69 @@
+ @Override
+ public List<DownStorageCageDetails> CacheOut1(int start,int end) {
+ List<DownStorageCageDetails> cageDetails = downStorageCageDetailsMapper.selectList(null);
+ // Step 5: 鍒ゆ柇 down_storage_cage_details 缁撴灉鏁伴噺鏄惁涓�9锛屽鏋滄槸锛屽垯鎵ц鍙﹀涓�涓煡璇�
+ if (cageDetails.size() == 9) {
+ log.info("婊′簡鐨勬椂鍊欙紝鎸夌収绗煎唴鐗堝浘id 鐗堝浘鐗囧簭鍑�");
+ List<DownWorkstation> workstationList = downWorkstationMapper.selectList(new QueryWrapper<DownWorkstation>().between("workstation_id", start, end));
+
+
+ List<String> flowCardIds = new ArrayList<>();
+ for (DownWorkstation workstation : workstationList) {
+ flowCardIds.add(workstation.getFlowCardId());
+ }
+ LambdaQueryWrapper<DownStorageCageDetails> anotherQueryWrapper = Wrappers.lambdaQuery();
+
+ anotherQueryWrapper.orderByAsc(DownStorageCageDetails::getTemperingLayoutId);
+ anotherQueryWrapper.orderByDesc(DownStorageCageDetails::getTemperingFeedSequence);
+ anotherQueryWrapper.in(DownStorageCageDetails::getFlowCardId,flowCardIds);
+ anotherQueryWrapper.last("LIMIT 1");
+ return downStorageCageDetailsMapper.selectList(anotherQueryWrapper);
+ }else
+ {
+
+ // Step 1: 鏌ヨ DownWorkstation 琛ㄨ幏鍙栧搴� workstation_id 鐨� flow_card_id
+ List<DownWorkstation> workstationList = downWorkstationMapper.selectList(new QueryWrapper<DownWorkstation>().between("workstation_id", start, end));
+
+
+ List<String> flowCardIds = new ArrayList<>();
+ for (DownWorkstation workstation : workstationList) {
+ flowCardIds.add(workstation.getFlowCardId());
+ }
+
+ LambdaQueryWrapper<GlassInfo> queryWrapper = Wrappers.lambdaQuery();
+ queryWrapper.select(GlassInfo::getFlowCardId,
+ GlassInfo::getGlassId,
+ GlassInfo::getTemperingLayoutId,
+ GlassInfo::getTemperingFeedSequence)
+ .notInSql(GlassInfo::getGlassId, "SELECT glass_id FROM down_glass_info")
+ .orderByAsc(GlassInfo::getTemperingLayoutId)
+ .orderByDesc(GlassInfo::getTemperingFeedSequence)
+ .last("LIMIT 1");
+
+ // 鏌ヨ GlassInfo 琛�
+ List<GlassInfo> glassInfos = glassInfoMapper.selectList(queryWrapper);
+
+ // Step 3: 鏋勯�犳煡璇� down_storage_cage_details 琛ㄧ殑鏉′欢
+ List<String> glassIds = glassInfos.stream().map(GlassInfo::getGlassId).collect(Collectors.toList());
+ LambdaQueryWrapper<DownStorageCageDetails> cageDetailsQueryWrapper = Wrappers.lambdaQuery();
+ cageDetailsQueryWrapper.in(DownStorageCageDetails::getGlassId, glassIds);
+ cageDetailsQueryWrapper.in(DownStorageCageDetails::getFlowCardId, flowCardIds);
+
+ log.info("鎸夌収娴佺▼鍗$殑鐗堝浘id 鐗堝浘鐗囧簭鍑�");
+ // Step 4: 鏌ヨ down_storage_cage_details 琛ㄥ苟杩斿洖缁撴灉
+ return downStorageCageDetailsMapper.selectList(cageDetailsQueryWrapper);
+ }
+
+
+ }
+
+
--
Gitblit v1.8.0