From 6040d02eb83c3eaccad27d223742db1861e9ea1e Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期五, 10 九月 2021 00:34:50 +0800
Subject: [PATCH] 优化代码
---
service-api/src/main/java/com/java110/api/bmo/allocationStorehouse/impl/AllocationStorehouseBMOImpl.java | 21 ++++++++++++++++++---
1 files changed, 18 insertions(+), 3 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 8090ce4..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
@@ -13,9 +13,11 @@
import com.java110.utils.constant.BusinessTypeConstant;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
import java.util.List;
@Service("allocationStorehouseBMOImpl")
@@ -76,12 +78,25 @@
List<ResourceStorePo> resourceStores = resourceStoreServiceSMOImpl.getResourceStores(resourceStorePo);
Assert.listOnlyOne(resourceStores, "璧勬簮鐗╁搧淇℃伅閿欒");
//鑾峰彇搴撳瓨鏁伴噺
- int resourceStoreStock = Integer.parseInt(resourceStores.get(0).getStock());
+ BigDecimal resourceStoreStock = new BigDecimal(resourceStores.get(0).getStock());
//鑾峰彇璋冩嫧鐨勬暟閲�
- int storehouseStock = Integer.parseInt(allocationStorehousePo.getStock());
+ BigDecimal storehouseStock = new BigDecimal(allocationStorehousePo.getStock());
//搴撳瓨鏁伴噺
- int stock = resourceStoreStock + storehouseStock;
+ BigDecimal stock = resourceStoreStock.add(storehouseStock);
resourceStorePo.setStock(String.valueOf(stock));
+ //璁$畻鏈�灏忚閲忔�绘暟
+ if (StringUtil.isEmpty(resourceStores.get(0).getMiniStock())) {
+ throw new IllegalArgumentException("鏈�灏忚閲忔�绘暟涓嶈兘涓虹┖锛�");
+ }
+ BigDecimal miniStock = new BigDecimal(resourceStores.get(0).getMiniStock()); //鑾峰彇鐗╁搧琛ㄧ殑鏈�灏忚閲忔�绘暟
+ if (StringUtil.isEmpty(resourceStores.get(0).getMiniUnitStock())) {
+ throw new IllegalArgumentException("鏈�灏忚閲忓崟浣嶆暟閲忎笉鑳戒负绌猴紒");
+ }
+ 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