diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java index c42c03170..3f0437f22 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -345,6 +345,9 @@ public class WxRentContractController extends BaseController { if(StringUtils.isBlank(payAccountBill.getBankCardId())) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "甲方银行账户卡号未填写"); } + if (payAccountBill.getServiceChargeRate() == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "手续费费率未填写"); + } String tenantId = getTenantId(); WxPayAccountBill payAccountBillNew = payAccountBillService.getByTenantId(tenantId); payAccountBillNew.setBankAccountName(payAccountBill.getBankAccountName()); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java index f5f9a58fc..8903d8eb8 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java @@ -1,10 +1,7 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; -import com.iformall.domain.po.WxBillProperty; -import com.iformall.domain.po.WxBillRent; -import com.iformall.domain.po.WxPropertyContract; -import com.iformall.domain.po.WxRentContract; +import com.iformall.domain.po.*; import java.util.List; import java.util.Map; @@ -55,4 +52,7 @@ public interface WxBillPropertyMapper extends CommonMapper * 保存billAction */ void insertBillAction(); + + void updateServiceCharge(WxPayAccountBill tenantId); + } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java index a3d5eb6d2..fa04f450d 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java @@ -2,6 +2,7 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxBillRent; +import com.iformall.domain.po.WxPayAccountBill; import com.iformall.domain.po.WxRentContract; import org.apache.ibatis.annotations.Param; @@ -52,4 +53,7 @@ public interface WxBillRentMapper extends CommonMapper { * 保存billAction */ void insertBillAction(); + + void updateServiceCharge(WxPayAccountBill record); + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java index 567a5009e..ed8e186b7 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java @@ -363,12 +363,17 @@ public class WxBillAllServiceImpl implements WxBillAllService { //status不是欠缴,都展示0,与前端保持一致 if (!EnumBillRentStatus.NOT_PAID.getCode().equals(wxBillAllVo.getStatus())) { - wxBillAllVo.setOwe(0l); + wxBillAllVo.setOwe(0L); wxBillAllVo.setOweStr("0"); } datalist.add(wxBillAllVo); } } + WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(wxBillAll.getTenantId()); + datalist.stream().forEach(e -> { + //手续费 = 合同应收+手续费+滞纳金 + cmputeTotalMoney(wxPayAccountBill, e); + }); excelService.exportExcel(datalist, null, "账单数据", WxBillAllVo.class, "账单数据.xlsx", response, false); } 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 06699edb8..42574d32e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java @@ -289,11 +289,10 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { WxBillPropertyDeposit deposit = null; List billDepositList = wxBillPropertyDepositMapper.queryBillDepositList(depositParam); if (!billDepositList.isEmpty()) { - WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(property.getTenantId()); deposit = billDepositList.get(0); - wxBillPropertyDepositService.computeTotalMoney(wxPayAccountBill, deposit); - deposit.setOwe(deposit.getRealReceivePay() - deposit.getPay()); - + //WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(property.getTenantId()); + //wxBillPropertyDepositService.computeTotalMoney(wxPayAccountBill, deposit); + //deposit.setOwe(deposit.getRealReceivePay() - deposit.getPay()); } Map result = new HashMap<>(2); result.put("property", property); 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 73145e75a..ec3a05587 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java @@ -289,10 +289,10 @@ public class WxBillRentServiceImpl implements WxBillRentService { WxBillDeposit deposit = null; List billDepositList = wxBillDepositMapper.queryBillDepositList(depositParam); if (!billDepositList.isEmpty()) { - WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(rent.getTenantId()); deposit = billDepositList.get(0); - wxBillDepositService.computeTotalMoney(wxPayAccountBill, deposit); - deposit.setOwe(deposit.getRealReceivePay() - deposit.getPay()); + //WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(rent.getTenantId()); + //wxBillDepositService.computeTotalMoney(wxPayAccountBill, deposit); + //deposit.setOwe(deposit.getRealReceivePay() - deposit.getPay()); } //周期 Map result = new HashMap<>(3); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayAccountBillServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayAccountBillServiceImpl.java index ccac8df3d..f41371517 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayAccountBillServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayAccountBillServiceImpl.java @@ -5,6 +5,8 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.IdWorker; import com.iformall.domain.po.WxPayAccountBill; +import com.iformall.mapper.WxBillPropertyMapper; +import com.iformall.mapper.WxBillRentMapper; import com.iformall.mapper.WxPayAccountBillMapper; import com.iformall.service.WxPayAccountBillService; import org.slf4j.Logger; @@ -19,6 +21,11 @@ public class WxPayAccountBillServiceImpl implements WxPayAccountBillService { @Autowired WxPayAccountBillMapper wxPayAccountBillMapper; + @Autowired + WxBillRentMapper wxBillRentMapper; + + @Autowired + WxBillPropertyMapper wxBillPropertyMapper; @Override public PageInfo listAsPage(WxPayAccountBill record, Integer pageIndex, Integer pageSize) { @@ -40,13 +47,17 @@ public class WxPayAccountBillServiceImpl implements WxPayAccountBillService { @Override public void saveOrUpdate(WxPayAccountBill record) { if (record.getId() == null) { - //record.setId(UUID.randomUUID().toString().replaceAll("-", "")); final IdWorker idWorker = IdWorker.get(); record.setId(idWorker.nextId()); wxPayAccountBillMapper.insert(record); } else { wxPayAccountBillMapper.updateById(record); } + + //更新手续费 + wxBillRentMapper.updateServiceCharge(record); + wxBillPropertyMapper.updateServiceCharge(record); + } @Override diff --git a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml index 252d5ec49..a94da39c7 100644 --- a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml @@ -268,5 +268,10 @@ and (select late_pay_ratio from wx_property_contract where id = b.`property_contract_id`) > 0 and DATEDIFF(now(), date_add(b.receive_date,interval(select late_pay_day from wx_property_contract where id = b.`property_contract_id`) day)) >0; + + + update wx_bill_property set service_charge_pay=round(receive_pay+receive_pay*#{serviceChargeRate}/100) where tenant_id=#{tenantId} and status in(1,2,4) + + diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index 37cbba659..f4e198590 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -274,5 +274,10 @@ and (select late_pay_ratio from wx_rent_contract where id = b.`rent_contract_id`) > 0 and DATEDIFF(now(), date_add(b.receive_date,interval(select late_pay_day from wx_rent_contract where id = b.`rent_contract_id`) day)) >0; + + + update wx_bill_rent set service_charge_pay=round(receive_pay+receive_pay*#{serviceChargeRate}/100) where tenant_id=#{tenantId} and status in(1,2,4) + +