From 3d9e0ec1c1e457ed3fd2b334cf4c4dd66c10eead Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期二, 23 十二月 2025 11:09:46 +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/tools/AreaComputed.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/tools/AreaComputed.java b/north-glass-erp/src/main/java/com/example/erp/tools/AreaComputed.java
new file mode 100644
index 0000000..d9ff6b4
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/tools/AreaComputed.java
@@ -0,0 +1,59 @@
+package com.example.erp.tools;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.example.erp.common.Constants;
+import com.example.erp.entity.sd.Order;
+import com.example.erp.mapper.sd.OrderMapper;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.DecimalFormat;
+import java.util.List;
+import java.util.Map;
+
+@RequiredArgsConstructor
+public class AreaComputed {
+    private static final OrderMapper orderMapper = null;
+
+    public static List<Map<String,Object>>  computeArea( List<Map<String, Object>> list) {
+
+        list.forEach(map -> {
+            //鑾峰彇缁撶畻闈㈢Н璁$畻鏂瑰紡
+            Order order = orderMapper.selectOne(new QueryWrapper<Order>().eq("order_id", map.get("orderId")));
+            Integer width = Integer.parseInt(map.get("width").toString());
+            Integer height = Integer.parseInt(map.get("height").toString());
+            Integer quantity = Integer.parseInt(map.get("quantity").toString());
+
+            //璁剧疆闈㈢Н淇濈暀浣嶆暟
+            Double area = Double.valueOf(String.format("%."+Constants.decimalPoint+"f", width * height /1000000 ));
+
+            Double totalArea =0.00;
+            switch (order.getCalculateType()) {
+                //
+                case 2:
+                case 4: {
+                    totalArea = Double.valueOf(
+                            String.format("%."+Constants.decimalPoint+"f",
+                                    width * height*quantity /1000000
+                            )
+                    );
+                    break;
+                }
+                default:{
+                    totalArea = Double.valueOf(
+                            String.format("%."+Constants.decimalPoint+"f",
+                                    area*quantity /1000000
+                            )
+                    );
+                    break;
+                }
+            }
+
+            map.put("computeGrossArea", totalArea);
+
+        });
+
+        return list;
+
+    }
+}

--
Gitblit v1.8.0