Browse Source

Merge branch 'hotfix-huj-911'

Hu Jie 7 years ago
parent
commit
75d87fa0bd

+ 5 - 3
src/main/java/com/uas/platform/b2b/openapi/model/FxPurOrder.java

@@ -5,7 +5,6 @@ import com.uas.platform.b2b.model.PurchaseOrder;
 import com.uas.platform.b2b.model.PurchaseOrderItem;
 import org.springframework.util.StringUtils;
 
-import java.text.DecimalFormat;
 import java.util.Date;
 import java.util.HashSet;
 import java.util.Set;
@@ -106,8 +105,11 @@ public class FxPurOrder {
             this.custName = order.getEnterprise().getEnName();
         }
         this.custUU = order.getEnUU();
-        DecimalFormat df = new DecimalFormat("0.000000");
-        this.total = orderItem.getAmount() == null ? 0 : Double.parseDouble(df.format(orderItem.getAmount()));
+        if (StringUtils.isEmpty(orderItem.getQty()) || StringUtils.isEmpty(orderItem.getPrice())) {
+            this.total =  0d;
+        } else {
+            this.total = orderItem.getQty()*orderItem.getPrice();
+        }
         this.date = order.getDate();
         this.orderItems.add(new FxPurcOrderItem(orderItem,needAcceptItem));
     }

+ 2 - 5
src/main/java/com/uas/platform/b2b/openapi/model/FxPurcAcceptItem.java

@@ -5,7 +5,6 @@ import com.uas.platform.b2b.model.PurchaseOrder;
 import com.uas.platform.b2b.model.PurchaseOrderItem;
 import org.springframework.util.StringUtils;
 
-import java.text.DecimalFormat;
 import java.util.Date;
 
 /**
@@ -121,9 +120,8 @@ public class FxPurcAcceptItem {
         this.acceptCode = acceptItem.getAccept().getCode();
         this.acceptDate = acceptItem.getAccept().getDate();
         this.acceptQty = acceptItem.getQty();
-        DecimalFormat df = new DecimalFormat("0.000000");
         if (!StringUtils.isEmpty(acceptItem.getQty()) && !StringUtils.isEmpty(acceptItem.getOrderPrice())) {
-            this.acceptAmount = Double.parseDouble(df.format(acceptItem.getQty()*acceptItem.getOrderPrice())) ;
+            this.acceptAmount = acceptItem.getQty()*acceptItem.getOrderPrice() ;
         } else {
             this.acceptAmount = 0d;
         }
@@ -140,9 +138,8 @@ public class FxPurcAcceptItem {
         this.acceptCode = acceptItem.getAccept().getCode();
         this.acceptDate = acceptItem.getAccept().getDate();
         this.acceptQty = acceptItem.getQty();
-        DecimalFormat df = new DecimalFormat("0.000000");
         if (!StringUtils.isEmpty(acceptItem.getQty()) && !StringUtils.isEmpty(acceptItem.getOrderPrice())) {
-            this.acceptAmount = Double.parseDouble(df.format(acceptItem.getQty()*acceptItem.getOrderPrice())) ;
+            this.acceptAmount = acceptItem.getQty()*acceptItem.getOrderPrice() ;
         } else {
             this.acceptAmount = 0d;
         }

+ 6 - 1
src/main/java/com/uas/platform/b2b/openapi/model/FxPurcOrderItem.java

@@ -3,6 +3,7 @@ package com.uas.platform.b2b.openapi.model;
 import com.uas.platform.b2b.model.PurchaseAcceptItem;
 import com.uas.platform.b2b.model.PurchaseOrder;
 import com.uas.platform.b2b.model.PurchaseOrderItem;
+import org.springframework.util.StringUtils;
 
 import java.util.HashSet;
 import java.util.Set;
@@ -159,7 +160,11 @@ public class FxPurcOrderItem {
         this.productCmpcode = orderItem.getProductCmpCode();
         this.detno = orderItem.getNumber();
         this.qty = orderItem.getQty();
-        this.order = new FxPurOrder().convert(order,orderItem.getAmount());
+        Double orderTotal = 0d;
+        if (!StringUtils.isEmpty(orderItem.getQty()) && !StringUtils.isEmpty(orderItem.getPrice())) {
+            orderTotal = orderItem.getQty()*orderItem.getPrice();
+        }
+        this.order = new FxPurOrder().convert(order,orderTotal);
         return this;
     }
 }

+ 5 - 4
src/main/java/com/uas/platform/b2b/openapi/service/impl/UsoftFxServiceImpl.java

@@ -13,7 +13,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
-import java.text.DecimalFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.Iterator;
@@ -77,9 +76,11 @@ public class UsoftFxServiceImpl implements UsoftFxService{
                         if (order.getId().equals(fxPurOrder.getId())) {
                             // 不存在该明细,新增
                             if (!exitOrderItem) {
-                                Double orderItemAmout = orderItem.getAmount() == null ? 0d : orderItem.getAmount();
-                                DecimalFormat df = new DecimalFormat("0.000000");
-                                fxPurOrder.setTotal(Double.parseDouble(df.format(fxPurOrder.getTotal() + orderItemAmout)));
+                                Double orderItemAmout = 0d ;
+                                if (!StringUtils.isEmpty(orderItem.getQty()) && !StringUtils.isEmpty(orderItem.getPrice())) {
+                                    orderItemAmout = orderItem.getQty()*orderItem.getPrice();
+                                }
+                                fxPurOrder.setTotal(fxPurOrder.getTotal() + orderItemAmout);
                                 fxPurOrder.getOrderItems().add(new FxPurcOrderItem(orderItem,needAcceptItem));
                             } else {
                                 // 存在该明细,找出并把验收明细插入到该明细