From 4063326d3002b13df49e0b36cd1c52b0763d0dd3 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期五, 21 六月 2024 16:12:00 +0800
Subject: [PATCH] 增加按照流程卡顺序下片逻辑
---
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java | 60 +++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 35 insertions(+), 25 deletions(-)
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
index 8ba557f..25fd269 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -4,25 +4,25 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.query.MPJQueryWrapper;
-import com.github.yulichang.toolkit.JoinWrappers;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.entity.OptimizeGlassinfo;
import com.mes.glassinfo.mapper.GlassInfoMapper;
import com.mes.glassinfo.service.GlassInfoService;
import com.mes.pp.entity.OptimizeProject;
import com.mes.pp.mapper.OptimizeProjectMapper;
-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;
+import java.util.stream.Collectors;
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author wu
@@ -33,10 +33,11 @@
public class GlassInfoServiceImpl extends MPJBaseServiceImpl<GlassInfoMapper, GlassInfo> implements GlassInfoService {
@Autowired
OptimizeProjectMapper optimizeProjectMapper;
+
@Override
@DS("pp")
public List<GlassInfo> selectGlassInfo(String engineeringId) {
- List<OptimizeGlassinfo> optimizeGlassinfos=null;
+ List<OptimizeGlassinfo> optimizeGlassinfos = null;
if (engineeringId != null) {
optimizeGlassinfos = optimizeProjectMapper.selectJoinList(OptimizeGlassinfo.class, new MPJQueryWrapper<OptimizeProject>()
.select("b.process_id,t.type,b.width,b.height,t.glass_thickness,t.glass_type,b.p_width,b.p_height,b.layer, b.total_layer, b.stock_id,b.heat_layout_id,b.heat_layout_sort,b.x_axis,b.y_axis,b.project_no,b.glass_id")
@@ -48,7 +49,7 @@
// 鍒涘缓涓�涓� List 鐢ㄤ簬淇濆瓨鏄犲皠鍚庣殑瀹炰綋瀵硅薄
List<GlassInfo> resultList = new ArrayList<>();
- if(optimizeGlassinfos!=null){
+ if (optimizeGlassinfos != null) {
for (OptimizeGlassinfo map : optimizeGlassinfos) {
// 鍒涘缓涓�涓柊鐨� OptimizeGlassinfo 瀵硅薄
GlassInfo glassInfo = new GlassInfo();
@@ -75,8 +76,8 @@
resultList.add(glassInfo);
}
}
- log.info("鏌ヨ鍑篻lassinfo鐨勬暟鎹畕}:",resultList);
- log.info("鏌ヨ鍑篻lassinfopro鐨勬暟鎹畕}:",optimizeGlassinfos);
+ log.info("鏌ヨ鍑篻lassinfo鐨勬暟鎹畕}:", resultList);
+ log.info("鏌ヨ鍑篻lassinfopro鐨勬暟鎹畕}:", optimizeGlassinfos);
return resultList;
}
@@ -86,10 +87,6 @@
}
-
-
-
-
@Override
public int getGlassInfoCountByFlowCardId(String flowCardId) {
return baseMapper.selectCount(new QueryWrapper<GlassInfo>().lambda()
@@ -97,24 +94,37 @@
}
-
@Override
public List<Map<String, Object>> getFlowCardId() {
- return baseMapper.selectJoinMaps(JoinWrappers.lambda(GlassInfo.class)
- .select(GlassInfo::getFlowCardId)
- .leftJoin(UpPattenUsage.class, on -> on
- .eq(OptimizeProject::getProjectNo, GlassInfo::getEngineerId)
- .ne(OptimizeProject::getState, 300)
- )
- .groupBy(GlassInfo::getFlowCardId)
+ // 绗簩涓煡璇細鏌ヨ OptimizeProject 琛紝鏍规嵁 GlassInfo 鐨� engineerId 鍜� state 杩涜绛涢��
+ List<OptimizeProject> optimizeProjects = optimizeProjectMapper.selectList(
+ new QueryWrapper<OptimizeProject>()
+ .ne("state", 300)
);
+ // 鎻愬彇 engineerId 鍒楄〃
+ List<String> engineerIds = optimizeProjects.stream()
+ .map(OptimizeProject::getProjectNo)
+ .collect(Collectors.toList());
+
+ // 绗竴涓煡璇細鏌ヨ GlassInfo 琛ㄥ苟鎸� flow_card_id 鍒嗙粍锛屽悓鏃剁瓫閫夊嚭鍦� engineerIds 鍒楄〃涓殑璁板綍
+ List<GlassInfo> glassInfos = baseMapper.selectList(
+ new QueryWrapper<GlassInfo>()
+ .in("engineer_id", engineerIds)
+ .groupBy("flow_card_id")
+ );
+
+ // 杞崲涓� List<Map<String, Object>>
+ List<Map<String, Object>> result = glassInfos.stream()
+ .map(glassInfo -> {
+ Map<String, Object> map = new HashMap<>();
+ map.put("flow_card_id", glassInfo.getFlowCardId());
+ // 濡傛灉杩樻湁鍏朵粬瀛楁闇�瑕佹坊鍔犲埌 map 涓紝鍦ㄨ繖閲岀户缁坊鍔�
+ return map;
+ })
+ .collect(Collectors.toList());
+ log.info("result: {}", result);
+ return result;
}
-
-
-
-
-
-
}
--
Gitblit v1.8.0