From a035603b566cc5bd7523612fc42eed825eab4f13 Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期三, 28 七月 2021 17:27:00 +0800
Subject: [PATCH] 优化细节问题

---
 service-api/src/main/java/com/java110/api/bmo/allocationStorehouse/impl/AllocationStorehouseBMOImpl.java |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/bmo/allocationStorehouse/impl/AllocationStorehouseBMOImpl.java b/service-api/src/main/java/com/java110/api/bmo/allocationStorehouse/impl/AllocationStorehouseBMOImpl.java
index a6bd51f..46caf6e 100644
--- a/service-api/src/main/java/com/java110/api/bmo/allocationStorehouse/impl/AllocationStorehouseBMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/bmo/allocationStorehouse/impl/AllocationStorehouseBMOImpl.java
@@ -17,6 +17,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 @Service("allocationStorehouseBMOImpl")
@@ -77,23 +78,24 @@
             List<ResourceStorePo> resourceStores = resourceStoreServiceSMOImpl.getResourceStores(resourceStorePo);
             Assert.listOnlyOne(resourceStores, "璧勬簮鐗╁搧淇℃伅閿欒");
             //鑾峰彇搴撳瓨鏁伴噺
-            double resourceStoreStock = Double.parseDouble(resourceStores.get(0).getStock());
+            BigDecimal resourceStoreStock = new BigDecimal(resourceStores.get(0).getStock());
             //鑾峰彇璋冩嫧鐨勬暟閲�
-            double storehouseStock = Double.parseDouble(allocationStorehousePo.getStock());
+            BigDecimal storehouseStock = new BigDecimal(allocationStorehousePo.getStock());
             //搴撳瓨鏁伴噺
-            double stock = resourceStoreStock + storehouseStock;
+            BigDecimal stock = resourceStoreStock.add(storehouseStock);
             resourceStorePo.setStock(String.valueOf(stock));
             //璁$畻鏈�灏忚閲忔�绘暟
             if (StringUtil.isEmpty(resourceStores.get(0).getMiniStock())) {
                 throw new IllegalArgumentException("鏈�灏忚閲忔�绘暟涓嶈兘涓虹┖锛�");
             }
-            String miniStock = resourceStores.get(0).getMiniStock(); //鑾峰彇鐗╁搧琛ㄧ殑鏈�灏忚閲忔�绘暟
+            BigDecimal miniStock = new BigDecimal(resourceStores.get(0).getMiniStock()); //鑾峰彇鐗╁搧琛ㄧ殑鏈�灏忚閲忔�绘暟
             if (StringUtil.isEmpty(resourceStores.get(0).getMiniUnitStock())) {
                 throw new IllegalArgumentException("鏈�灏忚閲忓崟浣嶆暟閲忎笉鑳戒负绌猴紒");
             }
-            String miniUnitStock = resourceStores.get(0).getMiniUnitStock(); //鑾峰彇鏈�灏忚閲忓崟浣嶆暟閲�
-            double nowMiniStock = Double.parseDouble(allocationStorehousePo.getStock()) * Double.parseDouble(miniUnitStock); //璁$畻褰撳墠鐨勬渶灏忚閲忔�绘暟
-            double newMiniStock = Double.parseDouble(miniStock) + Double.parseDouble(String.valueOf(nowMiniStock));
+            BigDecimal miniUnitStock = new BigDecimal(resourceStores.get(0).getMiniUnitStock()); //鑾峰彇鏈�灏忚閲忓崟浣嶆暟閲�
+            BigDecimal stock2 = new BigDecimal(allocationStorehousePo.getStock()); //鑾峰彇鏈�灏忚閲忓崟浣嶆暟閲�
+            BigDecimal nowMiniStock = stock2.multiply(miniUnitStock); //璁$畻褰撳墠鐨勬渶灏忚閲忔�绘暟
+            BigDecimal newMiniStock = miniStock.add(nowMiniStock);
             resourceStorePo.setMiniStock(String.valueOf(newMiniStock));
             super.update(dataFlowContext, resourceStorePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_RESOURCE_STORE);
         }

--
Gitblit v1.8.0