diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxSettleMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxSettleMerchantServiceImpl.java index e74d03fe1..d7ea9542d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxSettleMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxSettleMerchantServiceImpl.java @@ -107,7 +107,7 @@ public class WxSettleMerchantServiceImpl implements WxSettleMerchantService{ valueMap.put("totalTempMoney", totalTempMoney); if (needCalcute) { - record.setTotalMoney(totalSaleMoney.subtract(calcuteAdd(totalReduceMoney,totalTempMoney))); + record.setTotalMoney(calcuteAdd(totalReduceMoney,totalTempMoney)); } valueMap.put("totalMoney", record.getTotalMoney()); @@ -127,7 +127,7 @@ public class WxSettleMerchantServiceImpl implements WxSettleMerchantService{ if (null == saleMoney || null == rate) { return new BigDecimal(0); } - return saleMoney.multiply(rate).setScale(3,BigDecimal.ROUND_HALF_UP); + return saleMoney.multiply(rate).divide(new BigDecimal(100)).setScale(3,BigDecimal.ROUND_HALF_UP); } private BigDecimal calcuteAdd(BigDecimal... args) { @@ -135,12 +135,19 @@ public class WxSettleMerchantServiceImpl implements WxSettleMerchantService{ for (int i = 0 ; i < args.length ; i ++) { BigDecimal _c = args[i]; if (null != _c) { - result.add(_c); + result = result.add(_c); } } return result.setScale(3,BigDecimal.ROUND_HALF_UP); } + public static void main(String[] args) { + BigDecimal result = new BigDecimal(0); + BigDecimal result1 = new BigDecimal(10.000); + System.out.println(result.add(result1)); + + } + private Object handleExcelData(Object value) { if (null == value) { diff --git a/mallinkService/src/main/java/com/iformall/utils/PriceUtilV2.java b/mallinkService/src/main/java/com/iformall/utils/PriceUtilV2.java index dac725bc8..3a9a4db38 100644 --- a/mallinkService/src/main/java/com/iformall/utils/PriceUtilV2.java +++ b/mallinkService/src/main/java/com/iformall/utils/PriceUtilV2.java @@ -94,12 +94,12 @@ public class PriceUtilV2 { number = number / 1000; getZero = true; } - if ((scale > 0) && (!(scale % 100 > 0))) { + else if ((scale > 0) && (!(scale % 100 > 0))) { numIndex = 2; number = number / 100; getZero = true; } - if ((scale > 0) && (!(scale % 10 > 0))) { + else if ((scale > 0) && (!(scale % 10 > 0))) { numIndex = 1; number = number / 10; getZero = true; @@ -150,12 +150,4 @@ public class PriceUtilV2 { } return sb.toString(); } - - - public static void main(String[] args) { - BigDecimal numberOfMoney = new BigDecimal(432342341231.906); - System.out.println(numberOfMoney.toString()); - System.out.println(number2CNMontrayUnit(numberOfMoney)); - } - } \ No newline at end of file