renkang
2025-01-03 4a2bbbc0345635ba658636fb5fef0cfcdd3447fc
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
@@ -89,7 +89,6 @@
        }else{
            model.setStatus(Constants.TWO);
        }
        model.setStatus(Constants.ZERO);//待执行
        model.setRemark(getRemarlByParam(model));
        ywContractMapper.insert(model);
        dealDetailListBiz(model);//处理条款信息
@@ -400,6 +399,7 @@
        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 " )
@@ -421,6 +421,7 @@
                        ||Constants.equalsInteger(bill.getPayStatus(),Constants.THREE)){
                    if(bill.getStartDate().getTime()<=param.getBtDate().getTime()){
                        canBills.add(bill);
                        canBillCount = canBillCount ++;
                    }else{
                        //如果还没开始,账单直接关闭
                        closeBills.add(bill);
@@ -432,9 +433,11 @@
                        noBills.add(bill);
                    }else{
                        canBills.add(bill);
                        canBillCount = canBillCount ++;
                    }
                }else  if(Constants.equalsInteger(bill.getPayStatus(),Constants.TWO) ){
                     canBills.add(bill);
                    canBillCount = canBillCount ++;
                }
            }
        }
@@ -462,14 +465,15 @@
                    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());
@@ -488,6 +492,8 @@
            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());
@@ -549,7 +555,7 @@
                }
            }
        }
        param.setBtWaitBill(canBills.size() + newBills.size()+yjNoBills);//未清算的账单数量
        param.setBtWaitBill(canBillCount  + newBills.size()+yjNoBills);//未清算的账单数量
        param.setBtCLoseBill(closeBills.size());
        param.setBtFee(totalBackFee);
    }
@@ -701,13 +707,19 @@
        }
        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++;
            }