From 421becb5838430ec5fa4edfc5370e07f73c9928d Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 21 三月 2025 10:30:14 +0800
Subject: [PATCH] 工程打印界面新增厚度膜系显示

---
 north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java |   33 ++++++++++++++++++++++++++-------
 1 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
index 9f34bf6..c47bdda 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -502,9 +502,21 @@
         BigDecimal getPrice= BigDecimal.valueOf(orderDetail.getPrice());
         BigDecimal getQuantity= BigDecimal.valueOf(orderDetail.getQuantity());
         BigDecimal getComputeGrossArea= BigDecimal.valueOf(orderDetail.getComputeGrossArea());
+        BigDecimal getComputeArea= BigDecimal.valueOf(orderDetail.getComputeArea());
+        BigDecimal getWidth= BigDecimal.valueOf(orderDetail.getWidth());
+        BigDecimal getHeight= BigDecimal.valueOf(orderDetail.getHeight());
         if (calculateType == 3) {
             orderDetail.setGrossAmount(getPrice.multiply(getQuantity).setScale(2, RoundingMode.HALF_UP).doubleValue());
-        } else {
+        }else if (calculateType == 4) {
+            if(Objects.equals(orderDetail.getArea(), orderDetail.getComputeArea())&&Objects.equals(orderDetail.getGrossArea(), orderDetail.getComputeGrossArea())){
+                orderDetail.setGrossAmount(getWidth.multiply(getHeight).multiply(getQuantity).multiply(getPrice).
+                        divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP).doubleValue());
+            }else{
+                orderDetail.setGrossAmount(getPrice.multiply(getComputeGrossArea).setScale(2, RoundingMode.HALF_UP).doubleValue());
+            }
+        }else if (calculateType == 1){
+            orderDetail.setGrossAmount(getPrice.multiply(getComputeArea).multiply(getQuantity).setScale(2, RoundingMode.HALF_UP).doubleValue());
+        }else{
             orderDetail.setGrossAmount(getPrice.multiply(getComputeGrossArea).setScale(2, RoundingMode.HALF_UP).doubleValue());
         }
         return orderDetail;
@@ -896,11 +908,18 @@
     }
 
     public Object scannerGlassInfo(String projectNo) {
-        String projectId = "p" + projectNo.substring(0,8);
-        Integer heatNo = Integer.valueOf(projectNo.substring(8,11));
-        Integer sortNo = Integer.valueOf(projectNo.substring(11,14));
-        String processId = orderMapper.getProcessIdByOptimizeHeatDetail(projectId,heatNo,sortNo);
-        String orderId = flowCardMapper.getOrderIdByProcessId(processId);
-        return orderMapper.scannerGlassInfo(projectId,heatNo,sortNo,orderId);
+        try{
+            String projectId = "P" + projectNo.substring(0,8);
+            //鐐夊彿
+            Integer heatNo = Integer.valueOf(projectNo.substring(8,11));
+            //鐐夊唴搴忓彿
+            Integer sortNo = Integer.valueOf(projectNo.substring(11,14));
+            String processId = orderMapper.getProcessIdByOptimizeHeatDetail(projectId,heatNo,sortNo);
+            String orderId = flowCardMapper.getOrderIdByProcessId(processId);
+            return orderMapper.scannerGlassInfo(projectId,heatNo,sortNo,orderId);
+        }catch (Exception e){
+            return null;
+        }
+
     }
 }

--
Gitblit v1.8.0