|  |  |  | 
|---|
|  |  |  | List<YwContractBill> noBills = new ArrayList<>();//不需要结算的账单 | 
|---|
|  |  |  | List<YwContractBill> yjBills = new ArrayList<>();//押金账单 | 
|---|
|  |  |  | List<YwContractBill> canBills = new ArrayList<>();//可退租修改数据 | 
|---|
|  |  |  | Integer canBillCount = Constants.ZERO; | 
|---|
|  |  |  | List<YwContractBill> allBills = ywContractBillMapper.selectList(new QueryWrapper<YwContractBill>(). | 
|---|
|  |  |  | select("*," + | 
|---|
|  |  |  | "( select ifnull(sum(case when yw.REVENUE_TYPE = 0 then yw.ACT_RECEIVABLE_FEE  else  -yw.ACT_RECEIVABLE_FEE end),0) from  yw_contract_revenue yw where yw.bill_id = yw_contract_bill.id and yw.status = 0 and yw.isdeleted = 0 ) as  actReceivableFee " ) | 
|---|
|  |  |  | 
|---|
|  |  |  | ||Constants.equalsInteger(bill.getPayStatus(),Constants.THREE)){ | 
|---|
|  |  |  | if(bill.getStartDate().getTime()<=param.getBtDate().getTime()){ | 
|---|
|  |  |  | canBills.add(bill); | 
|---|
|  |  |  | canBillCount = canBillCount ++; | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | //如果还没开始,账单直接关闭 | 
|---|
|  |  |  | closeBills.add(bill); | 
|---|
|  |  |  | 
|---|
|  |  |  | noBills.add(bill); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | canBills.add(bill); | 
|---|
|  |  |  | canBillCount = canBillCount ++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else  if(Constants.equalsInteger(bill.getPayStatus(),Constants.TWO) ){ | 
|---|
|  |  |  | canBills.add(bill); | 
|---|
|  |  |  | canBillCount = canBillCount ++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | if(fee.compareTo(new BigDecimal(0))== 0){ | 
|---|
|  |  |  | //如果费用正好,则修改账单信息为已结清 | 
|---|
|  |  |  | b.setPayStatus(Constants.ONE); | 
|---|
|  |  |  | canBillCount = canBillCount --; | 
|---|
|  |  |  | }else if(fee.compareTo(new BigDecimal(0))> 0){ | 
|---|
|  |  |  | //如果需要进行退款,更新账单信息为待退款 | 
|---|
|  |  |  | b.setPayStatus(Constants.FOUR); | 
|---|
|  |  |  | 
|---|
|  |  |  | for(YwContractBill addBill : param.getAddBillList()){ | 
|---|
|  |  |  | addBill.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | addBill.setContractId(param.getId()); | 
|---|
|  |  |  | addBill.setCreateDate(new Date()); | 
|---|
|  |  |  | addBill.setCreator(param.getEditor()); | 
|---|
|  |  |  | addBill.setType(Constants.TWO); | 
|---|
|  |  |  | addBill.setStatus(Constants.ZERO); | 
|---|
|  |  |  | addBill.setTotleFee(addBill.getReceivableFee()); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | param.setBtWaitBill(canBills.size() + newBills.size()+yjNoBills);//未清算的账单数量 | 
|---|
|  |  |  | param.setBtWaitBill(canBillCount  + newBills.size()+yjNoBills);//未清算的账单数量 | 
|---|
|  |  |  | param.setBtCLoseBill(closeBills.size()); | 
|---|
|  |  |  | param.setBtFee(totalBackFee); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | queryWrapper.le(YwContract::getWyFreeEndDate, Utils.Date.getEnd(pageWrap.getModel().getWyFreeEndDate())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (pageWrap.getModel().getZlTotalFee() != null) { | 
|---|
|  |  |  | queryWrapper.eq(YwContract::getZlTotalFee, pageWrap.getModel().getZlTotalFee()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | if (pageWrap.getModel().getCompanyName() != null) { | 
|---|
|  |  |  | queryWrapper.like(Company::getName, pageWrap.getModel().getCompanyName()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getRoomId() != null) { | 
|---|
|  |  |  | queryWrapper.apply(" t.id in ( select ycr.CONTRACT_ID from yw_contract_room ycr where ycr.type = 0 and  ycr.ROOM_ID = "+pageWrap.getModel().getRoomId()+" )  "); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | queryWrapper.ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), YwContract::getStartDate, pageWrap.getModel().getQueryStartTime()) | 
|---|
|  |  |  | .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()), YwContract::getEndDate, pageWrap.getModel().getQueryEndTime()); | 
|---|
|  |  |  | queryWrapper.orderByDesc(YwContract::getCreateDate ); | 
|---|