| @@ -219,61 +219,34 @@ public class WxAllBillController extends BillBaseController { | |||||
| if (null != wxMerchant.getOnlyOwe() && EnumYesOrNo.YES.getCode().intValue() == wxMerchant.getOnlyOwe().intValue()) { | if (null != wxMerchant.getOnlyOwe() && EnumYesOrNo.YES.getCode().intValue() == wxMerchant.getOnlyOwe().intValue()) { | ||||
| wxMerchant.setOweBillBeforeDays(getOweBillBeforeDays()); | wxMerchant.setOweBillBeforeDays(getOweBillBeforeDays()); | ||||
| } | } | ||||
| //根据科目来 | |||||
| List<WxBillSum> 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<WxBillSum> 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<Long, WxEnergyFees> 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); | return new ResultData(vo); | ||||
| } | } | ||||
| @@ -13,7 +13,11 @@ import com.baomidou.mybatisplus.annotation.TableField; | |||||
| public class WxBillSum implements Serializable { | public class WxBillSum implements Serializable { | ||||
| private static final long serialVersionUID = 1L; | private static final long serialVersionUID = 1L; | ||||
| private Long energyFeesId; | |||||
| @TableField(exist = false) | |||||
| private String energyFeesName; | |||||
| //应收总金额 | //应收总金额 | ||||
| private String needPay = "0"; | private String needPay = "0"; | ||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| @@ -30,6 +30,8 @@ public interface WxAllBillMapper extends CommonMapper<WxAllBill, Long> { | |||||
| WxBillSum getBillMonthSum(WxAllBill wxBillRent); | WxBillSum getBillMonthSum(WxAllBill wxBillRent); | ||||
| List<WxBillSum> getFeesBillSum(WxAllBill wxBillRent); | |||||
| List<Long> getMerchantIdList(WxAllBill wxBillRent); | List<Long> getMerchantIdList(WxAllBill wxBillRent); | ||||
| List<WxBillHotNotify> getBillHotNotify(WxAllBill wxBillRent); | List<WxBillHotNotify> getBillHotNotify(WxAllBill wxBillRent); | ||||
| @@ -29,6 +29,8 @@ public interface WxAllBillService { | |||||
| WxBillSum getBillMonthSum(WxAllBill wxBillRent); | WxBillSum getBillMonthSum(WxAllBill wxBillRent); | ||||
| List<WxBillSum> getFeesBillSum(WxAllBill wxBillRent); | |||||
| PageInfo<WxAllBill> listAsPage(WxAllBill record, Integer pageIndex, Integer pageSize); | PageInfo<WxAllBill> listAsPage(WxAllBill record, Integer pageIndex, Integer pageSize); | ||||
| List<Long> getMerchantIds(WxAllBill wxBillRent); | List<Long> getMerchantIds(WxAllBill wxBillRent); | ||||
| @@ -73,19 +75,4 @@ public interface WxAllBillService { | |||||
| void deleteEnergyReadingBills(WxAllBill wxBillDaily); | void deleteEnergyReadingBills(WxAllBill wxBillDaily); | ||||
| } | } | ||||
| @@ -112,6 +112,12 @@ public class WxBillAllHelper { | |||||
| return rentSum; | return rentSum; | ||||
| } | } | ||||
| public List<WxBillSum> getFeesBillSum(WxMerchant wxMerchant,Date starttime, Date enttime) { | |||||
| WxAllBill br = new WxAllBill(); | |||||
| updateQueryParm(wxMerchant, br,starttime,enttime); | |||||
| return wxAllBillService.getFeesBillSum(br); | |||||
| } | |||||
| public List<WxBillHotNotify> getBillHotNotify(WxMerchant wxMerchant,Date starttime, Date enttime) { | public List<WxBillHotNotify> getBillHotNotify(WxMerchant wxMerchant,Date starttime, Date enttime) { | ||||
| WxAllBill br = new WxAllBill(); | WxAllBill br = new WxAllBill(); | ||||
| updateQueryParm(wxMerchant, br,starttime,enttime); | updateQueryParm(wxMerchant, br,starttime,enttime); | ||||
| @@ -152,6 +152,12 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill | |||||
| updateQueryParam(wxBillRent); | updateQueryParam(wxBillRent); | ||||
| return wxAllBillMapper.getBillMonthSum(wxBillRent); | return wxAllBillMapper.getBillMonthSum(wxBillRent); | ||||
| } | } | ||||
| @Override | |||||
| public List<WxBillSum> getFeesBillSum(WxAllBill wxBillRent) { | |||||
| updateQueryParam(wxBillRent); | |||||
| return wxAllBillMapper.getFeesBillSum(wxBillRent); | |||||
| } | |||||
| @Override | @Override | ||||
| public PageInfo<WxAllBill> listAsPage(WxAllBill record, Integer pageIndex, Integer pageSize) { | public PageInfo<WxAllBill> listAsPage(WxAllBill record, Integer pageIndex, Integer pageSize) { | ||||
| @@ -257,10 +257,13 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| wxBillRent.setPropertyContractId(id); | wxBillRent.setPropertyContractId(id); | ||||
| wxBillRent.setSortColumns("starttime asc"); | wxBillRent.setSortColumns("starttime asc"); | ||||
| wxBillRent.updateTenantInfo(tenantEntity); | wxBillRent.updateTenantInfo(tenantEntity); | ||||
| //一次性的和非一次性的都有这个属性,过滤掉,就是物业主账单 | |||||
| wxBillRent.setHasParentBillId(EnumYesOrNo.NO.getCode()); | |||||
| //物业主账单 | |||||
| wxBillRent.setEnergyFeesId(EnumBillAllType.PROPERTY.getEnergyFeesId()); | |||||
| List<WxAllBill> retList = wxAllBillMapper.findList(wxBillRent); | List<WxAllBill> retList = wxAllBillMapper.findList(wxBillRent); | ||||
| //非一次性的有这个属性 | |||||
| //获取非一次性的, | |||||
| wxBillRent.setEnergyFeesId(null); | |||||
| wxBillRent.setBillType(EnumBillAllType.PROPERTY.getCode()); | |||||
| wxBillRent.setHasParentBillId(EnumYesOrNo.YES.getCode()); | wxBillRent.setHasParentBillId(EnumYesOrNo.YES.getCode()); | ||||
| List<WxAllBill> unFixedList = wxAllBillMapper.findList(wxBillRent); | List<WxAllBill> unFixedList = wxAllBillMapper.findList(wxBillRent); | ||||
| Map<Long,List<WxAllBill>> childMap = null; | Map<Long,List<WxAllBill>> childMap = null; | ||||
| @@ -151,6 +151,7 @@ | |||||
| <result column="max_date" jdbcType="TIMESTAMP" property="maxDate" /> | <result column="max_date" jdbcType="TIMESTAMP" property="maxDate" /> | ||||
| <result column="return_pay" jdbcType="VARCHAR" property="returnPay"/> | <result column="return_pay" jdbcType="VARCHAR" property="returnPay"/> | ||||
| <result column="set_off" jdbcType="VARCHAR" property="setOff"/> | <result column="set_off" jdbcType="VARCHAR" property="setOff"/> | ||||
| <result column="energy_fees_id" jdbcType="BIGINT" property="energyFeesId"/> | |||||
| </resultMap> | </resultMap> | ||||
| <select id="getBillMonthSum" parameterType="com.iformall.domain.po.WxAllBill" resultMap="SumBaseResultMap"> | <select id="getBillMonthSum" parameterType="com.iformall.domain.po.WxAllBill" resultMap="SumBaseResultMap"> | ||||
| select | select | ||||
| @@ -163,6 +164,19 @@ | |||||
| from wx_all_bill | from wx_all_bill | ||||
| <include refid="dynamicWhereConditions"/> | <include refid="dynamicWhereConditions"/> | ||||
| </select> | </select> | ||||
| <select id="getFeesBillSum" parameterType="com.iformall.domain.po.WxAllBill" resultMap="SumBaseResultMap"> | |||||
| select | |||||
| energy_fees_id, | |||||
| sum(CAST(receive_pay AS DECIMAL(20,2))) receive_pay , | |||||
| sum(CAST(pay AS DECIMAL(20,2))) paid, | |||||
| min(starttime) min_date, | |||||
| max(endtime) max_date, | |||||
| sum(CAST(set_off AS DECIMAL(20,2))) set_off , | |||||
| sum(CAST(return_pay AS DECIMAL(20,2))) return_pay | |||||
| from wx_all_bill | |||||
| <include refid="dynamicWhereConditions"/> | |||||
| group by energy_fees_id | |||||
| </select> | |||||
| <select id="getMerchantIdList" parameterType="com.iformall.domain.po.WxAllBill" resultType="Long"> | <select id="getMerchantIdList" parameterType="com.iformall.domain.po.WxAllBill" resultType="Long"> | ||||
| select distinct merchant_id from wx_all_bill | select distinct merchant_id from wx_all_bill | ||||