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 | 79 +++++++++++++++++++++++++++++++++------
1 files changed, 66 insertions(+), 13 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 88838b9..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
@@ -1,27 +1,28 @@
package com.mes.glassinfo.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.query.MPJQueryWrapper;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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 com.github.yulichang.base.MPJBaseServiceImpl;
import java.util.ArrayList;
-import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author wu
@@ -32,32 +33,37 @@
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.stock_id,b.heat_layout_id,b.heat_layout_sort,b.x_axis,b.y_axis,b.project_no,b.glass_id")
+ .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")
.leftJoin("optimize_detail b on t.project_no=b.project_no")
- .eq("t.state",200)
+ //.eq("t.state",100)
.eq("t.project_no", engineeringId));
}
// 鍒涘缓涓�涓� List 鐢ㄤ簬淇濆瓨鏄犲皠鍚庣殑瀹炰綋瀵硅薄
List<GlassInfo> resultList = new ArrayList<>();
- if(optimizeGlassinfos!=null){
+ if (optimizeGlassinfos != null) {
for (OptimizeGlassinfo map : optimizeGlassinfos) {
// 鍒涘缓涓�涓柊鐨� OptimizeGlassinfo 瀵硅薄
GlassInfo glassInfo = new GlassInfo();
// 灏� Map 涓殑姣忎釜閿�煎鏄犲皠鍒� OptimizeGlassinfo 瀵硅薄鐨勭浉搴斿瓧娈典笂
glassInfo.setEngineerId(map.getProjectNo());
- glassInfo.setFlowCardId(map.getProjectId());
+ glassInfo.setFlowCardId(map.getProcessId());
glassInfo.setFilmsid(map.getGlassType());
+ glassInfo.setGlassType(map.getType());
glassInfo.setWidth(map.getWidth());
glassInfo.setHeight(map.getHeight());
+ glassInfo.setEdgWidth(map.getPWidth());
+ glassInfo.setLayer(map.getLayer());
+ glassInfo.setTotalLayer(map.getTotalLayer());
+ glassInfo.setEdgHeight(map.getPHeight());
glassInfo.setThickness(map.getGlassThickness());
glassInfo.setPatternSequence(map.getStockId());//
glassInfo.setTemperingLayoutId(map.getHeatLayoutId());//閽㈠寲鐗堝浘id
@@ -70,8 +76,55 @@
resultList.add(glassInfo);
}
}
- log.info("鏌ヨ鍑篻lassinfo鐨勬暟鎹畕}:",resultList);
- log.info("鏌ヨ鍑篻lassinfopro鐨勬暟鎹畕}:",optimizeGlassinfos);
+ log.info("鏌ヨ鍑篻lassinfo鐨勬暟鎹畕}:", resultList);
+ log.info("鏌ヨ鍑篻lassinfopro鐨勬暟鎹畕}:", optimizeGlassinfos);
return resultList;
}
+
+ @Override
+ public void saveGlassInfo(List<GlassInfo> glassinfo) {
+ this.saveBatch(glassinfo);
+ }
+
+
+ @Override
+ public int getGlassInfoCountByFlowCardId(String flowCardId) {
+ return baseMapper.selectCount(new QueryWrapper<GlassInfo>().lambda()
+ .eq(GlassInfo::getFlowCardId, flowCardId));
+ }
+
+
+ @Override
+ public List<Map<String, Object>> 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