From 35706002455c370eca21e177b95e39cff78f8f5b Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期二, 15 七月 2025 08:34:28 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java |   31 ++++++++++++++++++++++++++++---
 1 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
index d5e82fc..93211e4 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -16,6 +16,7 @@
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.springframework.stereotype.Service;
 
+import java.awt.*;
 import java.time.LocalDate;
 import java.util.List;
 import java.util.Map;
@@ -642,7 +643,7 @@
             } else {//灏忕墖鏍囩
                 for (FlowCard flowCard : flowCardList) {
                     Map<String, Object> itemmap = new HashMap<>();
-                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess()));
+                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(),flowCard.getOrderNumber()));
                     list.add(itemmap);
                 }
             }
@@ -678,7 +679,7 @@
             } else {//灏忕墖鏍囩
                 for (FlowCard flowCard : flowCardList) {
                     Map<String, Object> itemmap = new HashMap<>();
-                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess()));
+                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flowCard.getOrderNumber()));
                     list.add(itemmap);
                 }
             }
@@ -851,6 +852,10 @@
     }
 
     public Map<String, Object> getSelectPrintCustomLabelDetailsSv(String type, Integer lableType, Map<String, Object> object) {
+        String landingSequence = "";
+        if (object.get("landingSequence") != null) {
+            landingSequence = object.get("landingSequence").toString();
+        }
         Map<String, Object> map = new HashMap<>();
         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
         List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
@@ -891,11 +896,31 @@
             } else {//灏忕墖鏍囩
                 for (FlowCard flowCard : flowCardList) {
                     Map<String, Object> itemmap = new HashMap<>();
-                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess()));
+                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flowCard.getOrderNumber()));
                     list.add(itemmap);
                 }
             }
         }
+
+        if (!"1".equals(landingSequence)) {
+            // 鏋勯�犱竴涓厛鎸夌煭杈广�佸啀鎸夐暱杈圭殑姣旇緝鍣�
+            Comparator<Map<String,Object>> comparator = Comparator
+                    .comparingDouble((Map<String,Object> m) -> {
+                        Map<String,Object> first = ((List<Map<String,Object>>)m.get("data")).get(0);
+                        double w = ((Number) first.get("width")).doubleValue();
+                        double h = ((Number) first.get("height")).doubleValue();
+                        return Math.min(w, h);
+                    })
+                    .thenComparingDouble(m -> {
+                        Map<String,Object> first = ((List<Map<String,Object>>)m.get("data")).get(0);
+                        double w = ((Number) first.get("width")).doubleValue();
+                        double h = ((Number) first.get("height")).doubleValue();
+                        return Math.max(w, h);
+                    });
+
+            // 瀵规暣涓� list 鎺掑簭锛屽苟鏁翠綋鍙嶈浆锛岀煭杈瑰ぇ鈫掑墠锛岀煭杈圭浉鍚屾椂闀胯竟澶р啋鍓�
+            list.sort(comparator.reversed());
+        }
         map.put("data", list);
         map.put("title", flowCardMapper.getPrintTitle(type));
         return map;

--
Gitblit v1.8.0