diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java index 123fdbada..65f7380b3 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java @@ -219,61 +219,34 @@ public class WxAllBillController extends BillBaseController { if (null != wxMerchant.getOnlyOwe() && EnumYesOrNo.YES.getCode().intValue() == wxMerchant.getOnlyOwe().intValue()) { wxMerchant.setOweBillBeforeDays(getOweBillBeforeDays()); } + //根据科目来 + List sumList = billAllHelper.getFeesBillSum(wxMerchant,starttime, enttime); + if (null == sumList ) { + return new ResultData(); + } - wxMerchant.setBillType(EnumBillAllType.RENT.getCode()); - WxBillSum rentSum = billAllHelper.getBillSum(wxMerchant,starttime, enttime); - rentSum.setBillName(EnumBillAllType.RENT.getMessage()); - - wxMerchant.setBillType(EnumBillAllType.RENT_BUSSINESS_MANAGE.getCode()); - WxBillSum rentBussinessManageSum = billAllHelper.getBillSum(wxMerchant, starttime, enttime); - rentBussinessManageSum.setBillName(EnumBillAllType.RENT_BUSSINESS_MANAGE.getMessage()); - - wxMerchant.setBillType(EnumBillAllType.RENT_OPERATION_MANAGE.getCode()); - WxBillSum rentOperationManageSum = billAllHelper.getBillSum(wxMerchant, starttime, enttime); - rentOperationManageSum.setBillName(EnumBillAllType.RENT_OPERATION_MANAGE.getMessage()); - - wxMerchant.setBillType(EnumBillAllType.RENT_DEPOSIT.getCode()); - WxBillSum rentDepositSum = billAllHelper.getBillSum(wxMerchant, starttime, enttime); - rentDepositSum.setBillName(EnumBillAllType.RENT_DEPOSIT.getMessage()); - - wxMerchant.setBillType(EnumBillAllType.PROPERTY.getCode()); - WxBillSum propertySum = billAllHelper.getBillSum(wxMerchant, starttime, enttime); - propertySum.setBillName(EnumBillAllType.PROPERTY.getMessage()); - - wxMerchant.setBillType(EnumBillAllType.PROPERTY_DEPOSIT.getCode()); - WxBillSum propertyDepositSum = billAllHelper.getBillSum(wxMerchant, starttime, enttime); - propertyDepositSum.setBillName(EnumBillAllType.PROPERTY_DEPOSIT.getMessage()); - - wxMerchant.setBillType(EnumBillAllType.DAILY.getCode()); - WxBillSum dailySum = billAllHelper.getBillSum(wxMerchant, starttime, enttime); - dailySum.setBillName(EnumBillAllType.DAILY.getMessage()); - - wxMerchant.setBillType(EnumBillAllType.OTHER.getCode()); - WxBillSum otherSum = billAllHelper.getBillSum(wxMerchant, starttime, enttime); - otherSum.setBillName(EnumBillAllType.OTHER.getMessage()); - - wxMerchant.setBillType(EnumBillAllType.OTHER_DEPOSIT.getCode()); - WxBillSum otherDepositSum = billAllHelper.getBillSum(wxMerchant, starttime, enttime); - otherDepositSum.setBillName(EnumBillAllType.OTHER_DEPOSIT.getMessage()); - - vo.setNeedPay(billAllHelper.calcuteSum(rentSum.getNeedPay(),rentBussinessManageSum.getNeedPay(),rentOperationManageSum.getNeedPay(),rentDepositSum.getNeedPay(),propertySum.getNeedPay(), - propertyDepositSum.getNeedPay(),dailySum.getNeedPay(),otherSum.getNeedPay(),otherDepositSum.getNeedPay())); - vo.setPaid(billAllHelper.calcuteSum(rentSum.getPaid(),rentBussinessManageSum.getPaid(),rentOperationManageSum.getPaid(),rentDepositSum.getPaid(),propertySum.getPaid(), - propertyDepositSum.getPaid(),dailySum.getPaid(),otherSum.getPaid(),otherDepositSum.getPaid())); - vo.setOwe(billAllHelper.calcuteSum(rentSum.getOwe(),rentBussinessManageSum.getOwe(),rentOperationManageSum.getOwe(),rentDepositSum.getOwe(),propertySum.getOwe(), - propertyDepositSum.getOwe(),dailySum.getOwe(),otherSum.getOwe(),otherDepositSum.getOwe())); - - List sumlist = new ArrayList<>(); - sumlist.add(rentSum); - sumlist.add(rentBussinessManageSum); - sumlist.add(rentOperationManageSum); - sumlist.add(rentDepositSum); - sumlist.add(propertySum); - sumlist.add(propertyDepositSum); - sumlist.add(dailySum); - sumlist.add(otherSum); - sumlist.add(otherDepositSum); - vo.setBillSumList(sumlist); + WxEnergyFees fq = new WxEnergyFees(); + fq.updateTenantInfo(wxMerchant); + Map feesMap = wxEnergyService.getFeesMap(fq); + BigDecimal needpay = new BigDecimal(0); + BigDecimal paid = new BigDecimal(0); + BigDecimal owe = new BigDecimal(0); + for (int i = 0 ; i < sumList.size() ; i ++) { + WxBillSum s = sumList.get(i); + if (null != s.getEnergyFeesId() && null != feesMap) { + WxEnergyFees fees = feesMap.get(s.getEnergyFeesId()); + if (null != fees) { + s.setBillName(fees.getName()); + } + needpay = needpay.add(s.getNeedPayNumber()); + paid = paid.add(s.getPaidNumber()); + owe = owe.add(s.getOweNumber()); + } + } + vo.setNeedPay(needpay.toPlainString()); + vo.setPaid(paid.toPlainString()); + vo.setOwe(owe.toPlainString()); + vo.setBillSumList(sumList); return new ResultData(vo); } diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxBillSum.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillSum.java index 0c8890755..6a1a9cdc8 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxBillSum.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillSum.java @@ -13,7 +13,11 @@ import com.baomidou.mybatisplus.annotation.TableField; public class WxBillSum implements Serializable { private static final long serialVersionUID = 1L; - + + private Long energyFeesId; + @TableField(exist = false) + private String energyFeesName; + //应收总金额 private String needPay = "0"; @TableField(exist = false) diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxAllBillMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxAllBillMapper.java index 11904f673..d317842a7 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxAllBillMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxAllBillMapper.java @@ -30,6 +30,8 @@ public interface WxAllBillMapper extends CommonMapper { WxBillSum getBillMonthSum(WxAllBill wxBillRent); + List getFeesBillSum(WxAllBill wxBillRent); + List getMerchantIdList(WxAllBill wxBillRent); List getBillHotNotify(WxAllBill wxBillRent); diff --git a/mallinkService/src/main/java/com/iformall/service/WxAllBillService.java b/mallinkService/src/main/java/com/iformall/service/WxAllBillService.java index 441af9ab6..a32542bb1 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxAllBillService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxAllBillService.java @@ -29,6 +29,8 @@ public interface WxAllBillService { WxBillSum getBillMonthSum(WxAllBill wxBillRent); + List getFeesBillSum(WxAllBill wxBillRent); + PageInfo listAsPage(WxAllBill record, Integer pageIndex, Integer pageSize); List getMerchantIds(WxAllBill wxBillRent); @@ -73,19 +75,4 @@ public interface WxAllBillService { void deleteEnergyReadingBills(WxAllBill wxBillDaily); - - - - - - - - - - - - - - - } diff --git a/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java b/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java index 69962ef71..5fb9ebda2 100644 --- a/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java +++ b/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java @@ -112,6 +112,12 @@ public class WxBillAllHelper { return rentSum; } + public List getFeesBillSum(WxMerchant wxMerchant,Date starttime, Date enttime) { + WxAllBill br = new WxAllBill(); + updateQueryParm(wxMerchant, br,starttime,enttime); + return wxAllBillService.getFeesBillSum(br); + } + public List getBillHotNotify(WxMerchant wxMerchant,Date starttime, Date enttime) { WxAllBill br = new WxAllBill(); updateQueryParm(wxMerchant, br,starttime,enttime); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java index 1a747919d..0f0692cb5 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java @@ -152,6 +152,12 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill updateQueryParam(wxBillRent); return wxAllBillMapper.getBillMonthSum(wxBillRent); } + + @Override + public List getFeesBillSum(WxAllBill wxBillRent) { + updateQueryParam(wxBillRent); + return wxAllBillMapper.getFeesBillSum(wxBillRent); + } @Override public PageInfo listAsPage(WxAllBill record, Integer pageIndex, Integer pageSize) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java index 26869308a..9d04adec0 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -257,10 +257,13 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService wxBillRent.setPropertyContractId(id); wxBillRent.setSortColumns("starttime asc"); wxBillRent.updateTenantInfo(tenantEntity); - //一次性的和非一次性的都有这个属性,过滤掉,就是物业主账单 - wxBillRent.setHasParentBillId(EnumYesOrNo.NO.getCode()); + //物业主账单 + wxBillRent.setEnergyFeesId(EnumBillAllType.PROPERTY.getEnergyFeesId()); List retList = wxAllBillMapper.findList(wxBillRent); - //非一次性的有这个属性 + + //获取非一次性的, + wxBillRent.setEnergyFeesId(null); + wxBillRent.setBillType(EnumBillAllType.PROPERTY.getCode()); wxBillRent.setHasParentBillId(EnumYesOrNo.YES.getCode()); List unFixedList = wxAllBillMapper.findList(wxBillRent); Map> childMap = null; diff --git a/mallinkService/src/main/resources/mapper/WxAllBillMapper.xml b/mallinkService/src/main/resources/mapper/WxAllBillMapper.xml index e9fff4bee..d76b5e514 100644 --- a/mallinkService/src/main/resources/mapper/WxAllBillMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxAllBillMapper.xml @@ -151,6 +151,7 @@ + +