diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 1e7286eb1..2eacebe3b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -2611,7 +2611,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { //免租期 List freePeriods = getFreeDays(rentcontract); //根据租金和扣点来计算 - String needpay = WxRentContractHelper.getNeedPayMoney(freePeriods,rentcontract, priceArrs[yearIndex],rentBill.getStarttime(), + String rentNeedpay = WxRentContractHelper.getNeedPayMoney(freePeriods,rentcontract, priceArrs[yearIndex],rentBill.getStarttime(), rentBill.getEndtime(),0,0,false,rentcontract.getReceivePeriodUnit(),rentcontract.getReceivePeriod()); String bussinessNeedPay = "0"; @@ -2625,7 +2625,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { rentBill.getEndtime(),0,0,false,rentcontract.getReceivePeriodUnit(),rentcontract.getReceivePeriod()); } - needpay = new BigDecimal(needpay).add(new BigDecimal(bussinessNeedPay)).add(new BigDecimal(operationNeedPay)).toPlainString(); + String needpay = new BigDecimal(rentNeedpay).add(new BigDecimal(bussinessNeedPay)).add(new BigDecimal(operationNeedPay)).toPlainString(); //计算跳点。 BigDecimal[] jumppays = calcuteReveneuJump(salesDeciaml, rentcontract,rentBill.getStarttime(), rentBill.getEndtime(),freePeriods); @@ -2639,10 +2639,10 @@ public class WxRentContractServiceImpl implements WxRentContractService { } StringBuffer sb = new StringBuffer(); if (jumppay.compareTo(new BigDecimal(needpay)) > 0 ) { - sb.append("跳点规则计算金额:"+jumppay.toPlainString()+",合同租金扣点规则计算金额:"+needpay+"."); + sb.append("跳点规则计算金额:"+jumppay.toPlainString()+",合同租金扣点规则计算金额:"+needpay+".(其中包含租金:"+rentNeedpay+",商业管理费:"+bussinessNeedPay+",营运管理费:"+operationNeedPay+")"); needpay = jumppay.toPlainString(); }else { - sb.append("跳点规则计算金额:"+jumppay.toPlainString()+",合同租金扣点规则计算金额:"+needpay+"."); + sb.append("跳点规则计算金额:"+jumppay.toPlainString()+",合同租金扣点规则计算金额:"+needpay+".(其中包含租金:"+rentNeedpay+",商业管理费:"+bussinessNeedPay+",营运管理费:"+operationNeedPay+")"); } @@ -2698,6 +2698,55 @@ public class WxRentContractServiceImpl implements WxRentContractService { wxAllBillMapper.updateById(propertyBill); } + //商业管理费,营运管理费应收改为0,因为金额已经合并了 + WxAllBill bussinessmanageBill = new WxAllBill(); + bussinessmanageBill.updateTenantInfo(rentcontract); + bussinessmanageBill.setBillType(EnumBillAllType.RENT_BUSSINESS_MANAGE.getCode()); + bussinessmanageBill.setEnergyFeesId(EnumBillAllType.RENT_BUSSINESS_MANAGE.getEnergyFeesId()); + bussinessmanageBill.setRentContractId(rentcontract.getId()); + bussinessmanageBill.setIsPreview(EnumYesOrNo.NO.getCode()); + bussinessmanageBill.setStarttimeEqual(rentBill.getStarttime()); + bussinessmanageBill.setEndtimeEqual(rentBill.getEndtime()); + List bmbillList = wxAllBillMapper.findList(bussinessmanageBill); + WxAllBill bmbill = null; + if (null != bmbillList && bmbillList.size() > 0 ) { + bmbill = bmbillList.get(0); + bmbill.setMoneyChangeDetail("原合同商业管理费金额:"+bmbill.getNeedPay()+"元,已合并到租金,调整为:0元。"); + bmbill.setReceivePay("0"); + bmbill.setBillRemark("设置销售额,已自动计算合并到租金"); + if (new BigDecimal(bmbill.getOwe()).compareTo(new BigDecimal(0)) < 0 ) { + bmbill.setStatus(EnumBillStatus.STOP_TO_SETTLE.getCode()); + }else { + //bmbill.setStatus(EnumBillStatus.PAID.getCode()); + } + bmbill.setUpdatetime(new Date()); + wxAllBillMapper.updateById(bmbill); + } + + WxAllBill operatermanageBill = new WxAllBill(); + operatermanageBill.updateTenantInfo(rentcontract); + operatermanageBill.setBillType(EnumBillAllType.RENT_OPERATION_MANAGE.getCode()); + operatermanageBill.setEnergyFeesId(EnumBillAllType.RENT_OPERATION_MANAGE.getEnergyFeesId()); + operatermanageBill.setRentContractId(rentcontract.getId()); + operatermanageBill.setIsPreview(EnumYesOrNo.NO.getCode()); + operatermanageBill.setStarttimeEqual(rentBill.getStarttime()); + operatermanageBill.setEndtimeEqual(rentBill.getEndtime()); + List ombillList = wxAllBillMapper.findList(operatermanageBill); + WxAllBill ombill = null; + if (null != ombillList && ombillList.size() > 0 ) { + ombill = ombillList.get(0); + ombill.setMoneyChangeDetail("原合同营业管理费金额:"+bmbill.getNeedPay()+"元,已合并到租金,调整为:0元。"); + ombill.setReceivePay("0"); + ombill.setBillRemark("设置销售额,已自动计算合并到租金"); + if (new BigDecimal(ombill.getOwe()).compareTo(new BigDecimal(0)) < 0 ) { + ombill.setStatus(EnumBillStatus.STOP_TO_SETTLE.getCode()); + }else { + //ombill.setStatus(EnumBillStatus.PAID.getCode()); + } + ombill.setUpdatetime(new Date()); + wxAllBillMapper.updateById(ombill); + } + WxRentContractRevenueSetSalesVo vo = new WxRentContractRevenueSetSalesVo(); vo.setTotal(needpay); List blist = new ArrayList(); @@ -2705,9 +2754,17 @@ public class WxRentContractServiceImpl implements WxRentContractService { if (null != propertyBill) { blist.add(propertyBill); } + if (null != bmbill) { + blist.add(bmbill); + } + if (null != ombill) { + blist.add(ombill); + } vo.setBillList(blist);; return vo; } + + @Override public WxRentContractYearsSumVo calcuteYearsRevenueRentUp(WxRentContract rentcontract) {