jiangping
2024-11-27 9328e1b87ef53c7210a7d8342d8af8800c91809e
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
@@ -87,6 +87,7 @@
    }
    @Override
    public   List<YwContractBill> getBillList(YwContract model){
        isParamValidForBill(model);
        model.setCreateDate(new Date());
        model.setEditDate(model.getCreateDate());
@@ -120,6 +121,8 @@
                    ||model.getZlDetailList().size() ==0){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请按页面要求填写租赁条款信息");
            }
            model.setType(Constants.TWO);
            model.setWyDetailList(null);
            if(!(model.getZlFreeEndDate()==null &&  model.getZlFreeStartDate()==null) && (
                    (model.getZlFreeEndDate()!=null &&  model.getZlFreeStartDate()==null)
                            ||(model.getZlFreeEndDate()==null &&  model.getZlFreeStartDate()!=null)
@@ -158,6 +161,8 @@
            ){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请按页面要求填写物业条款信息");
            }
            model.setType(Constants.ONE);
            model.setZlDetailList(null);
            if(!(model.getWyFreeEndDate()==null &&  model.getWyFreeStartDate()==null) && (
                    (model.getWyFreeEndDate()!=null &&  model.getWyFreeStartDate()==null)
                            ||(model.getWyFreeEndDate()==null &&  model.getWyFreeStartDate()!=null)
@@ -184,7 +189,7 @@
            }
        }
        YwProject project = projectMapper.selectById(model.getCompanyId());
        YwProject project = projectMapper.selectById(model.getProjectId());
        if(project ==null || Constants.equalsInteger(project.getIsdeleted(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,请选择正确的项目信息!");
        }
@@ -202,13 +207,12 @@
        for(YwRoom r : rooms){
            model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getArea())));
        }
        model.setRoomList(rooms);
    }
    private String getRemarlByParam(YwContract model) {
        String str = "";
        YwContractDetail zl = model.getZlDetailList()!=null&&model.getZlDetailList().size()>0?model.getZlDetailList().get(0):null;
        YwContractDetail yw = model.getWyDetailList()!=null&&model.getWyDetailList().size()>0?model.getWyDetailList().get(0):null;
        //起租日2024/06/01,租赁数为500㎡。首期租赁三月一付,租金单价35元/㎡·月。首期物业三月一付,物业单价4.3元/㎡·月
        String str0 = "合同摘要:起租日{param1},租赁数为{param2}㎡。首期租赁{param3},租金单价{param4}元{param5}。首期物业{param6},物业单价{param7}{param8}";
        String str1 = "合同摘要:起租日{param1},租赁数为{param2}㎡。首期租赁{param3},租金单价{param4}元{param5}。";
@@ -216,20 +220,20 @@
        if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
            str= str0;
        }
        if(Constants.equalsInteger(model.getType(),Constants.ONE)){
        if(Constants.equalsInteger(model.getType(),Constants.TWO)){
            str= str1;
        }
        if(Constants.equalsInteger(model.getType(),Constants.TWO)){
        if(Constants.equalsInteger(model.getType(),Constants.ONE)){
            str= str2;
        }
        str = str.replace("{param1}",DateUtil.getDateLongSlash(model.getStartDate()))
                .replace("{param2}",model.getTotalArea().intValue()+"")
                .replace("{param3}",Constants.getPayTypeByNum(model.getZlPayType()))
                .replace("{param4}",zl!=null&&zl.getPrice()!=null?(zl.getPrice().intValue()+""):"0")
                .replace("{param5}",Constants.getPayTypeByNum(model.getWyPayType()))
                .replace("{param6}",Constants.getUnitTypeByNum(zl!=null?zl.getCircleType():null))
                .replace("{param7}",zl!=null&&yw.getPrice()!=null?(zl.getPrice().intValue()+""):"0")
                .replace("{param8}",Constants.getUnitTypeByNum(yw!=null?yw.getCircleType():null));
                .replace("{param4}",Constants.formatBigdecimal(model.getZlFirstPrice()).intValue()+"")
                .replace("{param5}",Constants.getUnitTypeByNum(model.getZlFirstCircle())
                .replace("{param6}",Constants.getPayTypeByNum(model.getWyPayType()))
                .replace("{param7}",Constants.formatBigdecimal(model.getWyFirstPrice()).intValue()+"")
                .replace("{param8}",Constants.getUnitTypeByNum(model.getWyFirstCircle())));
        return  str;
    }
    private String getbackRentRemarkByParam(YwContract model) {
@@ -458,7 +462,7 @@
        List<YwContractDetail> details = new ArrayList<>();
        int num = 0;
        if(Constants.equalsInteger(model.getType(),Constants.ZERO )
                || Constants.equalsInteger(model.getType(),Constants.ONE)){
                || Constants.equalsInteger(model.getType(),Constants.TWO)){
            for(YwContractDetail d :model.getZlDetailList()){
               d.setCreateDate(model.getEditDate());
               d.setCreator(model.getEditor());
@@ -472,7 +476,7 @@
        }
        num = 0;
        if(Constants.equalsInteger(model.getType(),Constants.ZERO )
                || Constants.equalsInteger(model.getType(),Constants.TWO)){
                || Constants.equalsInteger(model.getType(),Constants.ONE)){
            for(YwContractDetail d :model.getWyDetailList()){
                d.setCreateDate(model.getEditDate());
                d.setCreator(model.getEditor());
@@ -500,7 +504,7 @@
        List<YwContractBill> billList1 = new ArrayList<>();
        List<YwContractBill> billList2 = new ArrayList<>();
        if(Constants.equalsInteger(model.getType(),Constants.ZERO )
                || Constants.equalsInteger(model.getType(),Constants.ONE)){
                || Constants.equalsInteger(model.getType(),Constants.TWO)){
            //如果有租赁条款
            if(Constants.formatBigdecimal(model.getZlDeposit()).compareTo(new BigDecimal(0))>0){
                    //如果有租赁押金
@@ -521,7 +525,7 @@
            }
        }
        if(Constants.equalsInteger(model.getType(),Constants.ZERO )
                || Constants.equalsInteger(model.getType(),Constants.TWO)){
                || Constants.equalsInteger(model.getType(),Constants.ONE)){
            //如果物业条款
            if(Constants.formatBigdecimal(model.getWyDeposit()).compareTo(new BigDecimal(0))>0){
                //如果有租赁押金
@@ -547,13 +551,19 @@
        }else  if(model.getBillType() == 0){
            model.setBillList(billList2);
        }
        if(model.getId()!=null){
        int num =1;
            for(int i=0;i<billList1.size();i++){
                billList1.get(i).setSortnum(i+1);
            if(Constants.equalsInteger( billList1.get(i).getCostType(),Constants.ZERO)){
                billList1.get(i).setSortnum(num++);
            }
        }
          num =1;
            for(int i=0;i<billList2.size();i++){
                billList2.get(i).setSortnum(i+1);
            if(Constants.equalsInteger( billList2.get(i).getCostType(),Constants.ONE)){
                billList2.get(i).setSortnum(num++);
            }
        }
        if(model.getId()!=null){
            ywContractBillMapper.insert(billList1);
            ywContractBillMapper.insert(billList2);
        }
@@ -573,6 +583,8 @@
        bill.setType(Constants.ZERO);
        bill.setCostType(type);
        bill.setTotleFee(type==Constants.THREE?model.getZlDeposit():model.getWyDeposit());//押金费用
        bill.setReceivableFee(bill.getTotleFee());
        bill.setBillType(Constants.ZERO);
        bill.setSortnum(0);
        return bill;
    }
@@ -678,6 +690,8 @@
            bill.setPlanPayDate(DateUtil.addDaysToDate(d.getStartDate(),Constants.formatIntegerNum(d.getAdvanceDays()) * -1));
            BigDecimal totalFee =getTotalFeeByStartEnd(model,d,freeStart,freeEnd);
            bill.setTotleFee(totalFee);
            bill.setReceivableFee(totalFee);
            bill.setBillType(Constants.ZERO);
            list.add(bill);
        }
@@ -759,6 +773,8 @@
            bill.setEndDate(d.getEndDate());//账单结束
            bill.setPlanPayDate(DateUtil.addDaysToDate(d.getStartDate(),Constants.formatIntegerNum(d.getAdvanceDays()) * -1));
            bill.setTotleFee(getTotalFeeByStartEnd(model,d,freeStart,freeEnd));
            bill.setReceivableFee(bill.getTotleFee());
            bill.setBillType(Constants.ZERO);
            list.add(bill);
        }
        return list;
@@ -774,6 +790,7 @@
        bill.setIsdeleted(Constants.ZERO);
        bill.setContractId(model.getId());
        bill.setStatus(Constants.ZERO);
        bill.setPayStatus(Constants.ZERO);
        bill.setDetailId(d.getId());
        bill.setCostType(d.getType());
        bill.setType(Constants.ZERO);
@@ -783,9 +800,12 @@
    private BigDecimal getAreasNumBYRooms(List<YwRoom> roomList) {
        BigDecimal data= new BigDecimal(0);
        if(roomList!=null){
        for(YwRoom r :roomList){
            data = data.add(Constants.formatBigdecimal(r.getArea()));
        }
        }
        return  data;
    }
@@ -859,7 +879,7 @@
        }
        if(Constants.equalsInteger(model.getType(),Constants.ZERO )
                || Constants.equalsInteger(model.getType(),Constants.ONE)){
                || Constants.equalsInteger(model.getType(),Constants.TWO)){
            if(  model.getZlDeposit() == null
                    ||model.getZlPayType() == null
                    || model.getZlPayType()>3
@@ -899,7 +919,7 @@
            }
        }
        if(Constants.equalsInteger(model.getType(),Constants.ZERO )
                || Constants.equalsInteger(model.getType(),Constants.TWO)){
                || Constants.equalsInteger(model.getType(),Constants.ONE)){
            if(  model.getWyDeposit() == null
                    ||model.getWyPayType() == null
                    || model.getWyPayType()>3
@@ -917,7 +937,7 @@
            }
            for(YwContractDetail d :model.getWyDetailList()){
                if(  d.getStartDate() == null
                        ||d.getEditDate() == null
                        ||d.getEndDate() == null
                        ||d.getPrice() == null
                        ||d.getCircleType() == null
                        || d.getCircleType()>6
@@ -940,7 +960,7 @@
            }
        }
        YwProject project = projectMapper.selectById(model.getCompanyId());
        YwProject project = projectMapper.selectById(model.getProjectId());
        if(project ==null || Constants.equalsInteger(project.getIsdeleted(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,请选择正确的项目信息!");
        }
@@ -958,6 +978,7 @@
        for(YwRoom r : rooms){
            model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getArea())));
        }
        model.setRoomList(rooms);
        YwCustomer customer = customerMapper.selectById(model.getRenterId());
        if(customer ==null || Constants.equalsInteger(customer.getIsdeleted(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,选择租客信息不存在,请返回刷新重试!");