|  |  | 
 |  |  |         }else{ | 
 |  |  |             model.setStatus(Constants.TWO); | 
 |  |  |         } | 
 |  |  |         model.setStatus(Constants.ZERO);//待执行 | 
 |  |  |         model.setRemark(getRemarlByParam(model)); | 
 |  |  |         ywContractMapper.insert(model); | 
 |  |  |         dealDetailListBiz(model);//处理条款信息 | 
 |  |  | 
 |  |  |         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); | 
 |  |  |                     }else if(fee.compareTo(new BigDecimal(0)) < 0){ | 
 |  |  |                         //如果账单还有款待收,则保持状态不变 | 
 |  |  |                     } | 
 |  |  |                     b.setReceivableFee(editBill.getReceivableFee()); | 
 |  |  |                 } | 
 |  |  |                 b.setReceivableFee(editBill.getReceivableFee()); | 
 |  |  |                 b.setEditDate(param.getEditDate()); | 
 |  |  |                 b.setEditor(param.getEditor()); | 
 |  |  |                 b.setBtActDate(param.getBtActDate()); | 
 |  |  | 
 |  |  |             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); | 
 |  |  |     } | 
 |  |  | 
 |  |  |         } | 
 |  |  |         int num =1; | 
 |  |  |         for(int i=0;i<billList1.size();i++){ | 
 |  |  |             if(Constants.formatBigdecimal(billList1.get(i).getReceivableFee()).compareTo(new BigDecimal(0)) == 0){ | 
 |  |  |                 billList1.get(i).setPayStatus(Constants.ONE); | 
 |  |  |             } | 
 |  |  |             if(Constants.equalsInteger(billList1.get(i).getCostType(),Constants.ZERO)){ | 
 |  |  |                 billList1.get(i).setSortnum(num); | 
 |  |  |                 num++; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         for(int i=0;i<billList2.size();i++){ | 
 |  |  |             if(Constants.equalsInteger(billList1.get(i).getCostType(),Constants.ONE)) { | 
 |  |  |             if(Constants.formatBigdecimal(billList2.get(i).getReceivableFee()).compareTo(new BigDecimal(0)) == 0){ | 
 |  |  |                 billList2.get(i).setPayStatus(Constants.ONE); | 
 |  |  |             } | 
 |  |  |             if(Constants.equalsInteger(billList2.get(i).getCostType(),Constants.ONE)) { | 
 |  |  |                 billList2.get(i).setSortnum(num); | 
 |  |  |                 num++; | 
 |  |  |             } | 
 |  |  | 
 |  |  |             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 ); |