From 81cad8df0f1b33700e7fc80f271eda7f1180efb0 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期二, 14 十月 2025 14:51:17 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java | 45 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 44 insertions(+), 1 deletions(-)
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java
index 3d029b8..deb63ae 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java
@@ -1245,10 +1245,53 @@
public Map<String, Object> getMaterialInfoSv(String processId) {
Map<String, Object> map = new HashMap<>();
- map.put("materialList", glassOptimizeMapper.getMaterialInfoSv(processId));
+ List<Map<String, Object>> materialList = glassOptimizeMapper.getMaterialInfoSv(processId);
+ List<Map<String, Object>> layoutSet = glassOptimizeMapper.getLayoutSetSv(processId);
+
+ // 鍒涘缓涓�涓狹ap鏉ュ瓨鍌ㄦ瘡涓猻tock_code鐨勬�婚潰绉�
+ Map<String, Double> stockCodeAreaMap = new HashMap<>();
+
+ // 閬嶅巻layoutSet璁$畻姣忎釜stock_code鐨勬�婚潰绉�(闈㈢Н*浣跨敤鐜�)
+ for (Map<String, Object> layout : layoutSet) {
+ Object stockCodeObj = layout.get("stock_code");
+ Object widthObj = layout.get("width");
+ Object heightObj = layout.get("height");
+ Object usageRateObj = layout.get("usage_rate");
+
+ if (stockCodeObj != null && widthObj != null && heightObj != null && usageRateObj != null) {
+ try {
+ String stockCode = stockCodeObj.toString();
+ double width = Double.parseDouble(widthObj.toString());
+ double height = Double.parseDouble(heightObj.toString());
+ double usageRate = Double.parseDouble(usageRateObj.toString());
+
+ // 璁$畻鍗曟潯鏁版嵁鐨勯潰绉�(骞虫柟绫�)
+ double area = (width * height * usageRate) / 1000000.0;
+
+ // 绱姞鍒板搴攕tock_code鐨勬�婚潰绉�
+ stockCodeAreaMap.put(stockCode, stockCodeAreaMap.getOrDefault(stockCode, 0.0) + area);
+ } catch (NumberFormatException e) {
+ System.err.println("鏁版嵁杞崲閿欒: " + e.getMessage());
+ }
+ }
+ }
+
+ // 灏嗚绠楀嚭鐨勬�婚潰绉坊鍔犲埌materialList涓搴旂殑鐗╂枡鏁版嵁
+ for (Map<String, Object> material : materialList) {
+ Object stockCodeObj = material.get("code");
+ if (stockCodeObj != null) {
+ String stockCode = stockCodeObj.toString();
+ if (stockCodeAreaMap.containsKey(stockCode)) {
+ material.put("totalArea", stockCodeAreaMap.get(stockCode));
+ }
+ }
+ }
+
+ map.put("materialList", materialList);
return map;
}
+
public Map<String, Object> getProductListSv(String processId) {
Map<String, Object> productMap = new HashMap<>();
List<Map<String, Object>> productInfo = glassOptimizeMapper.selectProjectList(processId);
--
Gitblit v1.8.0