From 745d27feae34022ccb708aba034123e08e4e9e14 Mon Sep 17 00:00:00 2001
From: 1098226878@qq.com <1098226878@qq.com>
Date: 星期二, 28 十二月 2021 22:21:16 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
service-api/src/main/java/com/java110/api/bmo/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java | 52 +++++++++++++++++++++++++++-------------------------
1 files changed, 27 insertions(+), 25 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..ce0b991 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
@@ -50,6 +50,8 @@
String giveQuantity = paramIn.getString("giveQuantity");
//鑾峰彇鐗╁搧id
String resId = paramIn.getString("resId");
+ //鑾峰彇鐗╁搧id
+ String resCode = paramIn.getString("resCode");
//鑾峰彇鐗╁搧鍚嶇О
String resName = paramIn.getString("resName");
//鑾峰彇褰撳墠鐢ㄦ埛id
@@ -63,6 +65,7 @@
JSONObject allocationUserStorehouseJson = new JSONObject();
allocationUserStorehouseJson.put("ausId", "-1");
allocationUserStorehouseJson.put("resId", resId);
+ allocationUserStorehouseJson.put("resCode", resCode);
allocationUserStorehouseJson.put("resName", resName);
allocationUserStorehouseJson.put("storeId", storeId);
allocationUserStorehouseJson.put("stock", stock);
@@ -95,25 +98,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));
}
}
@@ -121,16 +121,16 @@
super.update(dataFlowContext, userStorehousePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_USER_STOREHOUSE);
UserStorehouseDto userStorehouse = new UserStorehouseDto();
userStorehouse.setUserId(acceptUserId);
- userStorehouse.setResId(resId);
+ userStorehouse.setResCode(resCode);
//鏌ヨ鎺ュ彈杞禒浜虹殑涓汉鐗╁搧淇℃伅
List<UserStorehouseDto> userStorehouses = userStorehouseInnerServiceSMOImpl.queryUserStorehouses(userStorehouse);
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 +143,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 +159,19 @@
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);
+ userStorePo.setResCode(resCode);
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