From 0ef978824efad7ec45e43e08ab02db14e17c2010 Mon Sep 17 00:00:00 2001 From: luozukai Date: Tue, 15 Oct 2019 20:05:42 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E6=94=B9][=E6=89=8B=E7=BB=AD?= =?UTF-8?q?=E8=B4=B9][=E5=BC=80=E5=8F=91]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxBillDailyServiceImpl.java | 19 +++++++++++++++++- .../impl/WxBillOtherDepositServiceImpl.java | 3 ++- .../service/impl/WxBillOtherServiceImpl.java | 3 ++- .../impl/WxBillPropertyServiceImpl.java | 19 +++++++++++++++++- .../service/impl/WxBillRentServiceImpl.java | 20 ++++++++++++++++++- 5 files changed, 59 insertions(+), 5 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java index bde2ff563..44955e841 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java @@ -184,7 +184,8 @@ public class WxBillDailyServiceImpl implements WxBillDailyService { String price = ""; String message = ""; if(record.getServiceChargePayUpdate() != null){ - wxBillDaily.setServiceChargePay(Integer.parseInt(record.getServiceChargePayUpdate()) * 100); + Double l = Double.valueOf(record.getServiceChargePayUpdate())*100; + wxBillDaily.setServiceChargePay(l.intValue()); }else{ Long addpay = wxBillDaily.getPay(); wxBillDaily.setPayDate(record.getPayDate()); @@ -346,7 +347,23 @@ public class WxBillDailyServiceImpl implements WxBillDailyService { @Override public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillDaily record) { + WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(record.getTenantId()); List billDailyList = wxBillDailyMapper.queryBillDailyList(record); + billDailyList.stream().forEach(e->{ + //手续费 = 合同应收+手续费+滞纳金 + if(e.getReceivePay() != null){ + if(e.getLatePayPrice() == null) e.setLatePayPrice(0l); + BigDecimal servicePay; + if(e.getServiceChargePay() != null){ + servicePay = new BigDecimal(e.getServiceChargePay()); + }else{ + servicePay = new BigDecimal(e.getReceivePay()).multiply(new BigDecimal(wxPayAccountBill.getServiceChargeRate())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); + } + Long realReceivePay = servicePay.longValue() + e.getLatePayPrice() + e.getReceivePay(); + e.setRealReceivePay(realReceivePay); + e.setServiceChargePay(servicePay.intValue()); + } + }); List datalist = new ArrayList<>(); WxBillDailyExportVo wxBillDailyExportVo; for (int i = 0, size = billDailyList.size(); i < size; i++) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherDepositServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherDepositServiceImpl.java index 20224990a..9597b4ee2 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherDepositServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherDepositServiceImpl.java @@ -179,7 +179,8 @@ public class WxBillOtherDepositServiceImpl implements WxBillOtherDepositService String message = ""; String price = ""; if(record.getServiceChargePayUpdate() != null){ - wxBillOtherDeposit.setServiceChargePay(Integer.parseInt(record.getServiceChargePayUpdate()) * 100); + Double l = Double.valueOf(record.getServiceChargePayUpdate())*100; + wxBillOtherDeposit.setServiceChargePay(l.intValue()); }else{ Long addpay = wxBillOtherDeposit.getPay(); wxBillOtherDeposit.setPayDate(record.getPayDate()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherServiceImpl.java index aadcd2424..02de73b36 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillOtherServiceImpl.java @@ -180,7 +180,8 @@ public class WxBillOtherServiceImpl implements WxBillOtherService { String message = ""; String price = ""; if(record.getServiceChargePayUpdate() != null){ - wxBillOther.setServiceChargePay(Integer.parseInt(record.getServiceChargePayUpdate()) * 100); + Double l = Double.valueOf(record.getServiceChargePayUpdate())*100; + wxBillOther.setServiceChargePay(l.intValue()); }else{ Long addpay = wxBillOther.getPay(); wxBillOther.setPayDate(record.getPayDate()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java index 8b6be5106..d3787b9e9 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java @@ -161,7 +161,8 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { String message = ""; String price = ""; if(record.getServiceChargePayUpdate() != null){ - property.setServiceChargePay(Integer.parseInt(record.getServiceChargePayUpdate()) * 100); + Double l = Double.valueOf(record.getServiceChargePayUpdate())*100; + property.setServiceChargePay(l.intValue()); }else{ Long addpay = property.getPay(); property.setRevenue(record.getRevenue()); @@ -325,9 +326,25 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { @Override public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillProperty wxBillProperty) { + WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(wxBillProperty.getTenantId()); String billName = wxBillProperty.getRentShopType().equals(EnumRentShopType.SHOP.getCode()) ? "商铺物业账单" : "多经点位物业账单"; List billPropertyList = wxBillPropertyMapper.queryBillPropertyList(wxBillProperty); + billPropertyList.stream().forEach(e->{ + //手续费 = 合同应收+手续费+滞纳金 + if(e.getReceivePay() != null){ + if(e.getLatePayPrice() == null) e.setLatePayPrice(0l); + BigDecimal servicePay; + if(e.getServiceChargePay() != null){ + servicePay = new BigDecimal(e.getServiceChargePay()); + }else{ + servicePay = new BigDecimal(e.getReceivePay()).multiply(new BigDecimal(wxPayAccountBill.getServiceChargeRate())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); + } + Long realReceivePay = servicePay.longValue() + e.getLatePayPrice() + e.getReceivePay(); + e.setRealReceivePay(realReceivePay); + e.setServiceChargePay(servicePay.intValue()); + } + }); Map> collect = billPropertyList.parallelStream() .collect(Collectors.groupingBy(WxBillProperty::getMerchantId)); Set>> entries = collect.entrySet(); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java index fcff8bb92..79b3e3cbc 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java @@ -165,7 +165,8 @@ public class WxBillRentServiceImpl implements WxBillRentService { String price = ""; String message =""; if(record.getServiceChargePayUpdate() != null){ - wxBillRent.setServiceChargePay(Integer.parseInt(record.getServiceChargePayUpdate()) * 100); + Double l = Double.valueOf(record.getServiceChargePayUpdate())*100; + wxBillRent.setServiceChargePay(l.intValue()); }else{ Long addpay = wxBillRent.getPay(); wxBillRent.setRevenue(record.getRevenue()); @@ -438,8 +439,25 @@ public class WxBillRentServiceImpl implements WxBillRentService { @Override public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillRent wxBillRent) { + WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(wxBillRent.getTenantId()); + String billName = wxBillRent.getRentShopType().equals(EnumRentShopType.SHOP.getCode()) ? "商铺租金账单" : "多经点位租金账单"; List billRentList = wxBillRentMapper.queryBillRentList(wxBillRent); + billRentList.stream().forEach(e->{ + //手续费 = 合同应收+手续费+滞纳金 + if(e.getReceivePay() != null){ + if(e.getLatePayPrice() == null) e.setLatePayPrice(0l); + BigDecimal servicePay; + if(e.getServiceChargePay() != null){ + servicePay = new BigDecimal(e.getServiceChargePay()); + }else{ + servicePay = new BigDecimal(e.getReceivePay()).multiply(new BigDecimal(wxPayAccountBill.getServiceChargeRate())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); + } + Long realReceivePay = servicePay.longValue() + e.getLatePayPrice() + e.getReceivePay(); + e.setRealReceivePay(realReceivePay); + e.setServiceChargePay(servicePay.intValue()); + } + }); Map> collect = billRentList.parallelStream() .collect(Collectors.groupingBy(WxBillRent::getMerchantId)); Set>> entries = collect.entrySet();