From 37a97e9ece1c531274b74ecf1abd41cecbb7a79f Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 12 十月 2021 23:50:52 +0800
Subject: [PATCH] 优化 临时车收费标准时加入 普通收费标准
---
service-api/src/main/java/com/java110/api/bmo/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java | 46 ++++++++++++++++++++++------------------------
1 files changed, 22 insertions(+), 24 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/bmo/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java b/service-api/src/main/java/com/java110/api/bmo/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java
index 744f26e..75bfa5c 100644
--- a/service-api/src/main/java/com/java110/api/bmo/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/bmo/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java
@@ -95,25 +95,22 @@
UserStorehousePo userStorehousePo = new UserStorehousePo();
userStorehousePo.setUsId(usId);
//杞禒鍚庝釜浜虹墿鍝佹渶灏忚閲忔�绘暟
- BigDecimal num1 = new BigDecimal(Double.parseDouble(miniStock));
- BigDecimal num2 = new BigDecimal(Double.parseDouble(giveQuantity));
- double quantity = num1.subtract(num2).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
- if (quantity == 0.0) {
- userStorehousePo.setMiniStock(String.valueOf(quantity));
+ BigDecimal num1 = new BigDecimal(miniStock);
+ BigDecimal num2 = new BigDecimal(giveQuantity);
+ BigDecimal quantity = num1.subtract(num2);
+ if (quantity.doubleValue() == 0.0) {
+ userStorehousePo.setMiniStock("0");
userStorehousePo.setStock("0");
} else {
userStorehousePo.setMiniStock(String.valueOf(quantity));
BigDecimal reduceNum = num1.subtract(num2);
if (unitCode.equals(miniUnitCode)) { //濡傛灉鐗╁搧鍗曚綅涓庢渶灏忚閲忓崟浣嶇浉鍚岋紝灏变笉鍚戜笂鍙栨暣
- //鐢ㄨ浆璧犲悗鏈�灏忚閲忔�绘暟闄や互鏈�灏忚閲忓崟浣嶆暟閲忥紝鑾峰彇杞禒鍚庣殑搴撳瓨鏁�
- BigDecimal num3 = new BigDecimal(Double.parseDouble(miniUnitStock));
- double unitStock = reduceNum.divide(num3, 2, BigDecimal.ROUND_HALF_UP).doubleValue();
- userStorehousePo.setStock(String.valueOf(unitStock));
+ userStorehousePo.setStock(String.valueOf(reduceNum));
} else { //濡傛灉鐗╁搧鏈�灏忚閲忓崟浣嶄笌鐗╁搧鍗曚綅涓嶅悓锛屽氨鍚戜笂鍙栨暣
//鐢ㄨ浆璧犲悗鏈�灏忚閲忔�绘暟闄や互鏈�灏忚閲忓崟浣嶆暟閲忥紝骞跺悜涓婂彇鏁达紝鑾峰彇杞禒鍚庣殑搴撳瓨鏁�
- BigDecimal num3 = new BigDecimal(Double.parseDouble(miniUnitStock));
- double unitStock = reduceNum.divide(num3, 2, BigDecimal.ROUND_HALF_UP).doubleValue();
- double stockNumber = Math.ceil(unitStock);
+ BigDecimal num3 = new BigDecimal(miniUnitStock);
+ BigDecimal unitStock = reduceNum.divide(num3, 2, BigDecimal.ROUND_HALF_UP);
+ Integer stockNumber = (int) Math.ceil(unitStock.doubleValue());
userStorehousePo.setStock(String.valueOf(stockNumber));
}
}
@@ -127,10 +124,10 @@
if (userStorehouses != null && userStorehouses.size() == 1) {
UserStorehousePo userStorePo = new UserStorehousePo();
//璁$畻鎺ュ彈鐢ㄦ埛鐨勬渶灏忚閲忔�绘暟
- BigDecimal num4 = new BigDecimal(Double.parseDouble(userStorehouses.get(0).getMiniStock()));
- BigDecimal num5 = new BigDecimal(Double.parseDouble(giveQuantity));
+ BigDecimal num4 = new BigDecimal(userStorehouses.get(0).getMiniStock());
+ BigDecimal num5 = new BigDecimal(giveQuantity);
BigDecimal addNum = num4.add(num5);
- double acceptMiniStock = num4.add(num5).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();;
+ BigDecimal acceptMiniStock = num4.add(num5);
userStorePo.setMiniStock(String.valueOf(acceptMiniStock));
//鑾峰彇鐗╁搧鍗曚綅
if (StringUtil.isEmpty(userStorehouses.get(0).getUnitCode())) {
@@ -143,12 +140,13 @@
}
String miniUnitCode1 = userStorehouses.get(0).getMiniUnitCode();
//璁$畻鎺ュ彈鐢ㄦ埛鐨勫簱瀛樻暟閲�
- BigDecimal num6 = new BigDecimal(Double.parseDouble(miniUnitStock));
- double unitStock = addNum.divide(num6, 2, BigDecimal.ROUND_HALF_UP).doubleValue();
+ BigDecimal num6 = new BigDecimal(miniUnitStock);
+ BigDecimal unitStock = addNum.divide(num6, 2, BigDecimal.ROUND_HALF_UP);
if (unitCode1.equals(miniUnitCode1)) { //濡傛灉鐗╁搧鍗曚綅涓庣墿鍝佹渶灏忚閲忓崟浣嶇浉鍚岋紝灏变笉鍚戜笂鍙栨暣
- userStorePo.setStock(String.valueOf(unitStock));
+ //濡傛灉鐗╁搧鍗曚綅涓庢渶灏忚閲忓崟浣嶇浉鍚岋紝鐗╁搧搴撳瓨灏辩瓑浜庢渶灏忚閲忔�绘暟
+ userStorePo.setStock(String.valueOf(acceptMiniStock));
} else { //濡傛灉鐗╁搧鍗曚綅涓庣墿鍝佹渶灏忚閲忓崟浣嶄笉鍚岋紝灏卞悜涓婂彇鏁�
- double stockNumber = Math.ceil(unitStock);
+ Integer stockNumber = (int) Math.ceil(unitStock.doubleValue());
userStorePo.setStock(String.valueOf(stockNumber));
}
userStorePo.setUsId(userStorehouses.get(0).getUsId());
@@ -158,18 +156,18 @@
throw new IllegalArgumentException("鏌ヨ涓汉鐗╁搧淇℃伅閿欒锛�");
} else {
//璁$畻杞禒鍚庡簱瀛樻暟閲�
- BigDecimal num7 = new BigDecimal(Double.parseDouble(giveQuantity));
- BigDecimal num8 = new BigDecimal(Double.parseDouble(miniUnitStock));
- double unitStock = num7.divide(num8, 2, BigDecimal.ROUND_HALF_UP).doubleValue();
+ BigDecimal num7 = new BigDecimal(giveQuantity);
+ BigDecimal num8 = new BigDecimal(miniUnitStock);
+ BigDecimal unitStock = num7.divide(num8, 2, BigDecimal.ROUND_HALF_UP);
UserStorehousePo userStorePo = new UserStorehousePo();
userStorePo.setUsId("-1");
userStorePo.setResId(resId);
userStorePo.setResName(resName);
userStorePo.setStoreId(storeId);
if (unitCode.equals(miniUnitCode)) { //濡傛灉鐗╁搧鍗曚綅涓庣墿鍝佹渶灏忚閲忓崟浣嶇浉鍚岋紝灏变笉鍚戜笂鍙栨暣
- userStorePo.setStock(String.valueOf(unitStock));
+ userStorePo.setStock(String.valueOf(num7));
} else { //濡傛灉鐗╁搧鍗曚綅涓庣墿鍝佹渶灏忚閲忓崟浣嶄笉鍚岋紝灏卞悜涓婂彇鏁�
- double stockNumber = Math.ceil(unitStock);
+ Integer stockNumber = (int) Math.ceil(unitStock.doubleValue());
userStorePo.setStock(String.valueOf(stockNumber));
}
userStorePo.setMiniStock(giveQuantity);
--
Gitblit v1.8.0