Browse Source

金控接口总金额位数限制

Hu Jie 7 years ago
parent
commit
fb8aba1162

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

@@ -5,6 +5,7 @@ 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;
@@ -105,7 +106,8 @@ public class FxPurOrder {
             this.custName = order.getEnterprise().getEnName();
         }
         this.custUU = order.getEnUU();
-        this.total = orderItem.getAmount() == null ? 0 : orderItem.getAmount();
+        DecimalFormat df = new DecimalFormat("0.000000");
+        this.total = orderItem.getAmount() == null ? 0 : Double.parseDouble(df.format(orderItem.getAmount()));
         this.date = order.getDate();
         this.orderItems.add(new FxPurcOrderItem(orderItem,needAcceptItem));
     }

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

@@ -5,6 +5,7 @@ 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;
 
 /**
@@ -120,8 +121,9 @@ 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 = acceptItem.getQty()*acceptItem.getOrderPrice() ;
+            this.acceptAmount = Double.parseDouble(df.format(acceptItem.getQty()*acceptItem.getOrderPrice())) ;
         } else {
             this.acceptAmount = 0d;
         }
@@ -138,7 +140,12 @@ public class FxPurcAcceptItem {
         this.acceptCode = acceptItem.getAccept().getCode();
         this.acceptDate = acceptItem.getAccept().getDate();
         this.acceptQty = acceptItem.getQty();
-        this.acceptAmount = acceptItem.getQty()*acceptItem.getOrderPrice();
+        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())) ;
+        } else {
+            this.acceptAmount = 0d;
+        }
         this.detno = acceptItem.getNumber();
         if (!StringUtils.isEmpty(acceptItem.getCheckQty())) {
             this.isCheck = acceptItem.getCheckQty() >= acceptItem.getQty() ? "已对账" : "已收货";

+ 3 - 1
src/main/java/com/uas/platform/b2b/openapi/service/impl/UsoftFxServiceImpl.java

@@ -13,6 +13,7 @@ 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,7 +78,8 @@ public class UsoftFxServiceImpl implements UsoftFxService{
                             // 不存在该明细,新增
                             if (!exitOrderItem) {
                                 Double orderItemAmout = orderItem.getAmount() == null ? 0d : orderItem.getAmount();
-                                fxPurOrder.setTotal(fxPurOrder.getTotal() + orderItemAmout);
+                                DecimalFormat df = new DecimalFormat("0.000000");
+                                fxPurOrder.setTotal(Double.parseDouble(df.format(fxPurOrder.getTotal() + orderItemAmout)));
                                 fxPurOrder.getOrderItems().add(new FxPurcOrderItem(orderItem,needAcceptItem));
                             } else {
                                 // 存在该明细,找出并把验收明细插入到该明细