From 09a010c5dc11c68a866a6075a74bd1bbefb4a9a8 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期一, 24 六月 2024 16:38:23 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java |   70 +++++++++++++++++++++++++++++-----
 1 files changed, 59 insertions(+), 11 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 be26553..6e35509 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,6 +1,7 @@
 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;
@@ -14,11 +15,14 @@
 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
@@ -29,22 +33,24 @@
 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")
+                    .select("b.process_id,t.glass_type,b.o_width,b.o_height,t.glass_thickness,b.order_sort,b.p_width,b.p_height,b.layer, b.total_layer, b.stock_id,b.heat_layout_id,b.heat_layout_sort,c.x_axis,c.y_axis,b.project_no,b.glass_id,c.rotate_angle")
                     .leftJoin("optimize_detail b on t.project_no=b.project_no")
+                                    .leftJoin("optimize_heat_detail c on c.project_no=t.project_no and b.heat_layout_id=c.layout_id and b.heat_layout_sort=c.sort")
                     //.eq("t.state",100)
                     .eq("t.project_no", engineeringId));
         }
-
+        //order_sort,o_width,o_height
         // 鍒涘缓涓�涓� List 鐢ㄤ簬淇濆瓨鏄犲皠鍚庣殑瀹炰綋瀵硅薄
         List<GlassInfo> resultList = new ArrayList<>();
 
-        if(optimizeGlassinfos!=null){
+        if (optimizeGlassinfos != null) {
             for (OptimizeGlassinfo map : optimizeGlassinfos) {
                 // 鍒涘缓涓�涓柊鐨� OptimizeGlassinfo 瀵硅薄
                 GlassInfo glassInfo = new GlassInfo();
@@ -52,9 +58,9 @@
                 glassInfo.setEngineerId(map.getProjectNo());
                 glassInfo.setFlowCardId(map.getProcessId());
                 glassInfo.setFilmsid(map.getGlassType());
-                glassInfo.setGlassType(map.getType());
-                glassInfo.setWidth(map.getWidth());
-                glassInfo.setHeight(map.getHeight());
+                glassInfo.setGlassType(map.getOrderSort());//璁㈠崟搴忓彿
+                glassInfo.setWidth(map.getOWidth());//璁㈠崟瀹�
+                glassInfo.setHeight(map.getOHeight());//璁㈠崟楂�
                 glassInfo.setEdgWidth(map.getPWidth());
                 glassInfo.setLayer(map.getLayer());
                 glassInfo.setTotalLayer(map.getTotalLayer());
@@ -65,14 +71,14 @@
                 glassInfo.setTemperingFeedSequence(map.getHeatLayoutSort());//閽㈠寲鐗堝浘椤哄簭
                 glassInfo.setXCoordinate(map.getXAxis());
                 glassInfo.setYCoordinate(map.getYAxis());
-
+                glassInfo.setAngle(map.getRotateAngle());
                 glassInfo.setGlassId(map.getGlassId());
                 // 灏嗘槧灏勫悗鐨勫璞℃坊鍔犲埌缁撴灉鍒楄〃涓�
                 resultList.add(glassInfo);
             }
         }
-        log.info("鏌ヨ鍑篻lassinfo鐨勬暟鎹畕}:",resultList);
-        log.info("鏌ヨ鍑篻lassinfopro鐨勬暟鎹畕}:",optimizeGlassinfos);
+        log.info("鏌ヨ鍑篻lassinfo鐨勬暟鎹畕}:", resultList);
+        log.info("鏌ヨ鍑篻lassinfopro鐨勬暟鎹畕}:", optimizeGlassinfos);
         return resultList;
     }
 
@@ -80,4 +86,46 @@
     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