From a7c479daff0e44988f174f8c93fb41f30fdc48e1 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 17 三月 2025 16:53:19 +0800
Subject: [PATCH] 大屏添加历史任务按钮
---
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java | 72 +++++++++++++++++++++++++++++++++--
1 files changed, 67 insertions(+), 5 deletions(-)
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
index 88f22a2..283a128 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
@@ -28,10 +28,7 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -192,7 +189,7 @@
public void generateHollowGlassInfo(String flowCardId, int totalLayer, int layer) {
GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getFlowCardId, flowCardId)
- .eq(GlassInfo::getLayer, layer).last("limit 1"));
+ .eq(GlassInfo::getLayer, layer).orderByDesc(GlassInfo::getId).last("limit 1"));
if (null == glassInfo) {
log.info("褰撳墠娴佺▼鍗′俊鎭负瀵煎叆mes绯荤粺娴佺▼鍗★細{}锛屽眰鏁皗}", flowCardId, layer);
return;
@@ -307,10 +304,75 @@
HollowBigStorageCageDetails cageDetails = v.get(0);
dtos.addAll(hollowBigStorageCageDetailsService.hollowIsAll(e, cageDetails.getTotalLayer(), Boolean.FALSE));
});
+ Map<String, FlowCardGlassInfoDTO> result = dtos.stream()
+ .collect(Collectors.toMap(
+ FlowCardGlassInfoDTO::getFlowCardId,
+ dto -> {
+ FlowCardGlassInfoDTO newDto = new FlowCardGlassInfoDTO();
+ newDto.setFlowCardId(dto.getFlowCardId());
+ newDto.setSumCount(dto.getSumCount());
+ newDto.setPairCount(dto.getPairCount());
+ newDto.setRealCount(dto.getRealCount());
+ newDto.setLayer(dto.getLayer());
+ return newDto;
+ },
+ (dto1, dto2) -> {
+ dto1.setRealCount(dto1.getRealCount() + dto2.getRealCount()); // 绱姞 realCount
+ dto1.setLayer(Math.max(dto1.getLayer(),dto2.getLayer())); // 绱姞 鏈�澶у眰鏁�
+ return dto1; // 杩斿洖鍚堝苟鍚庣殑瀵硅薄
+ }
+ ));
return dtos.stream().collect(Collectors.groupingBy(FlowCardGlassInfoDTO::getFlowCardId));
}
@Override
+ public List<FlowCardGlassInfoDTO> queryHollowAllFlowCardSummary(HollowBigStorageDetailsQueryVO query) {
+ List<HollowBigStorageCageDetails> detailsList = hollowBigStorageCageDetailsService.list(new LambdaQueryWrapper<HollowBigStorageCageDetails>()
+ .eq(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN)
+ .like(StringUtils.isNotBlank(query.getFilmsId()), HollowBigStorageCageDetails::getFilmsId, query.getFilmsId())
+ .like(StringUtils.isNotBlank(query.getFlowCardId()), HollowBigStorageCageDetails::getFlowCardId, query.getFlowCardId())
+ .eq(query.getThickness() != 0, HollowBigStorageCageDetails::getThickness, query.getThickness())
+ .orderByAsc(HollowBigStorageCageDetails::getFlowCardId)
+ );
+ if (CollectionUtil.isEmpty(detailsList)) {
+ log.info("绗煎唴鏃犵幓鐠�");
+ return null;
+ }
+ Map<String, List<HollowBigStorageCageDetails>> listMap = detailsList.stream().collect(Collectors.groupingBy(HollowBigStorageCageDetails::getFlowCardId));
+ List<FlowCardGlassInfoDTO> dtos = new ArrayList<>();
+ listMap.forEach((e, v) -> {
+ HollowBigStorageCageDetails cageDetails = v.get(0);
+ dtos.addAll(hollowBigStorageCageDetailsService.hollowIsAll(e, cageDetails.getTotalLayer(), Boolean.FALSE));
+ });
+ Map<String, FlowCardGlassInfoDTO> result = dtos.stream()
+ .collect(Collectors.toMap(
+ FlowCardGlassInfoDTO::getFlowCardId,
+ dto -> {
+ FlowCardGlassInfoDTO newDto = new FlowCardGlassInfoDTO();
+ newDto.setFlowCardId(dto.getFlowCardId());
+ newDto.setSumCount(dto.getSumCount());
+ newDto.setPairCount(dto.getPairCount());
+ newDto.setRealCount(dto.getRealCount());
+ newDto.setLayer(dto.getLayer());
+ newDto.setSlotCount(dto.getSlotCount());
+ return newDto;
+ },
+ (dto1, dto2) -> {
+ dto1.setRealCount(dto1.getRealCount() + dto2.getRealCount()); // 绱姞 realCount
+ dto1.setLayer(Math.max(dto1.getLayer(),dto2.getLayer())); // 绱姞 鏈�澶у眰鏁�
+ dto1.setSlotCount(dto1.getSlotCount() + dto2.getSlotCount());
+ return dto1; // 杩斿洖鍚堝苟鍚庣殑瀵硅薄
+ }
+ ));
+ List<FlowCardGlassInfoDTO> resultList = new ArrayList<>(result.values());
+ List<FlowCardGlassInfoDTO> sortedList = resultList.stream()
+ .sorted(Comparator.comparing(FlowCardGlassInfoDTO::getRealCount).reversed() // 绗竴涓瓧娈靛�掑簭
+ .thenComparing(FlowCardGlassInfoDTO::getSumCount, Comparator.reverseOrder())) // 绗簩涓瓧娈靛�掑簭
+ .collect(Collectors.toList());
+ return sortedList;
+ }
+
+ @Override
public Map<Integer, List<LackDetailsDTO>> queryLackByFlowCard(String flowCardId) {
List<LackDetailsDTO> lackDetailsList = this.baseMapper.queryLackByFlowCard(flowCardId);
Map<Integer, List<LackDetailsDTO>> listMap = lackDetailsList.stream().collect(Collectors.groupingBy(LackDetailsDTO::getLayer));
--
Gitblit v1.8.0