From a035603b566cc5bd7523612fc42eed825eab4f13 Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期三, 28 七月 2021 17:27:00 +0800
Subject: [PATCH] 优化细节问题
---
service-store/src/main/java/com/java110/store/bmo/collection/impl/ResourceOutBMOImpl.java | 31 ++++++++++++++++++-------------
1 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/service-store/src/main/java/com/java110/store/bmo/collection/impl/ResourceOutBMOImpl.java b/service-store/src/main/java/com/java110/store/bmo/collection/impl/ResourceOutBMOImpl.java
index 2ae8b2d..c2a83d7 100755
--- a/service-store/src/main/java/com/java110/store/bmo/collection/impl/ResourceOutBMOImpl.java
+++ b/service-store/src/main/java/com/java110/store/bmo/collection/impl/ResourceOutBMOImpl.java
@@ -21,6 +21,7 @@
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
import java.util.List;
@Service("resourceOutBMOImpl")
@@ -62,16 +63,17 @@
if (StringUtil.isEmpty(resourceStores.get(0).getMiniStock())) {
throw new IllegalArgumentException("鏈�灏忚閲忔�绘暟涓嶈兘涓虹┖锛�");
}
- String miniStock1 = resourceStores.get(0).getMiniStock();
+ BigDecimal miniStock1 = new BigDecimal(resourceStores.get(0).getMiniStock());
+ BigDecimal purchaseQuantity = new BigDecimal(purchaseApplyDetailPo.getPurchaseQuantity());
if (StringUtil.isEmpty(resourceStores.get(0).getMiniUnitStock())) {
throw new IllegalArgumentException("鏈�灏忚閲忓崟浣嶆暟閲忎笉鑳戒负绌猴紒");
}
//鑾峰彇鐗╁搧鏈�灏忚閲忓崟浣嶆暟閲�
- String miniUnitStock1 = resourceStores.get(0).getMiniUnitStock();
+ BigDecimal miniUnitStock1 = new BigDecimal(resourceStores.get(0).getMiniUnitStock());
//璁$畻棰嗙敤鐗╁搧鐨勬渶灏忚閲忔�绘暟
- double applyQuantity = Double.parseDouble(purchaseApplyDetailPo.getPurchaseQuantity()) * Double.parseDouble(miniUnitStock1);
+ BigDecimal applyQuantity = purchaseQuantity.multiply(miniUnitStock1);
//璁$畻鐗╁搧棰嗙敤鍚庡墿浣欑殑鏈�灏忚閲忔�绘暟
- double newMiniStock = Double.parseDouble(miniStock1) - applyQuantity;
+ BigDecimal newMiniStock = miniStock1.subtract(applyQuantity);
resourceStorePo.setMiniStock(String.valueOf(newMiniStock));
resourceStoreInnerServiceSMOImpl.updateResourceStore(resourceStorePo);
ResourceStoreDto resourceStoreDto = new ResourceStoreDto();
@@ -104,9 +106,10 @@
userStorehousePo.setStock(purchaseApplyDetailPo.getPurchaseQuantity());
if (!StringUtil.isEmpty(unitCode) && !StringUtil.isEmpty(miniUnitCode) && !StringUtil.isEmpty(miniUnitStock) && !unitCode.equals(miniUnitCode)) {
//鑾峰彇棰嗗彇鏁伴噺
- double purchaseQuantity = Double.parseDouble(purchaseApplyDetailPo.getPurchaseQuantity());
+ BigDecimal purchaseQuantity2 = new BigDecimal(purchaseApplyDetailPo.getPurchaseQuantity());
+ BigDecimal miniUnitStock2 = new BigDecimal(miniUnitStock);
//璁$畻涓汉鐗╁搧鏈�灏忚閲忔�绘暟
- double quantity = purchaseQuantity * Double.parseDouble(miniUnitStock);
+ BigDecimal quantity = purchaseQuantity2.multiply(miniUnitStock2);
userStorehousePo.setMiniStock(String.valueOf(quantity));
} else {
userStorehousePo.setMiniStock(purchaseApplyDetailPo.getPurchaseQuantity());
@@ -114,23 +117,25 @@
userStorehouseInnerServiceSMOImpl.saveUserStorehouses(userStorehousePo);
} else {
//鑾峰彇涓汉鐗╁搧棰嗙敤鍚庣殑搴撳瓨
- double total = Double.parseDouble(purchaseApplyDetailPo.getPurchaseQuantity()) + Double.parseDouble(userStorehouseDtos.get(0).getStock());
- userStorehousePo.setStock(total + "");
+ BigDecimal purchaseQuantity3 = new BigDecimal(purchaseApplyDetailPo.getPurchaseQuantity());
+ BigDecimal stock3 = new BigDecimal(userStorehouseDtos.get(0).getStock());
+ BigDecimal total = purchaseQuantity3.add(stock3);
+ userStorehousePo.setStock(total.toString());
userStorehousePo.setUsId(userStorehouseDtos.get(0).getUsId());
if (!StringUtil.isEmpty(unitCode) && !StringUtil.isEmpty(miniUnitCode) && !StringUtil.isEmpty(miniUnitStock) && !unitCode.equals(miniUnitCode)) {
//鑾峰彇鏈棰嗗彇鏁伴噺
- double purchaseQuantity = Double.parseDouble(purchaseApplyDetailPo.getPurchaseQuantity());
+ BigDecimal miniUnitStock3 = new BigDecimal(miniUnitStock);
//璁$畻鏈棰嗗彇鐨勪釜浜虹墿鍝佹渶灏忚閲忔�绘暟
- double quantity = purchaseQuantity * Double.parseDouble(miniUnitStock);
- double miniStock = 0.0;
+ BigDecimal quantity = purchaseQuantity3.multiply(miniUnitStock3);
+ BigDecimal miniStock = new BigDecimal(0);
//鑾峰彇涓汉鐗╁搧鍘熷厛鐨勬渶灏忚閲忔�绘暟
if (StringUtil.isEmpty(userStorehouseDtos.get(0).getMiniStock())) {
throw new IllegalArgumentException("淇℃伅閿欒锛屼釜浜虹墿鍝佹渶灏忚閲忔�绘暟涓嶈兘涓虹┖锛�");
} else {
- miniStock = Double.parseDouble(userStorehouseDtos.get(0).getMiniStock());
+ miniStock = new BigDecimal(userStorehouseDtos.get(0).getMiniStock());
}
//璁$畻棰嗙敤鍚庝釜浜虹墿鍝佹�荤殑鏈�灏忚閲忔�绘暟
- double miniQuantity = quantity + miniStock;
+ BigDecimal miniQuantity = quantity.add(miniStock);
userStorehousePo.setMiniStock(String.valueOf(miniQuantity));
} else {
userStorehousePo.setMiniStock(String.valueOf(total));
--
Gitblit v1.8.0