liukangdong
2024-12-06 cb54e068db9d9816ae38f60f57ad0fe7ca10fca8
Merge branch 'master' of http://139.186.142.91:10010/r/productDev/funingyunwei
已修改7个文件
168 ■■■■■ 文件已修改
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwAccountServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java
@@ -56,7 +56,7 @@
    private String remark;
    @ApiModelProperty(value = "状态 0启用 1禁用", example = "1")
    @ExcelColumn(name="状态",index = 9,width = 6,valueMapping = "0=启用;1=停用;")
    @ExcelColumn(name="状态",index = 8,width = 6,valueMapping = "0=启用;1=停用;")
    private Integer status;
    @ApiModelProperty(value = "排序码", example = "1")
@@ -121,6 +121,5 @@
    @ApiModelProperty(value = "超期任务数")
    @TableField(exist = false)
    @ExcelColumn(name="超期任务数",index = 8,width = 6)
    private Integer timeOutTaskNum;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
@@ -26,129 +26,103 @@
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
    @ExcelColumn(name="主键")
    private Integer id;
    @ApiModelProperty(value = "创建人编码", example = "1")
    @ExcelColumn(name="创建人编码")
    private Integer creator;
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
    @ExcelColumn(name="更新人编码")
    private Integer editor;
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
    @ExcelColumn(name="是否删除0否 1是")
    private Integer isdeleted;
    @ApiModelProperty(value = "标题")
    @ExcelColumn(name="标题")
    private String title;
    @ApiModelProperty(value = "备注")
    @ExcelColumn(name="备注")
    private String remark;
    @ApiModelProperty(value = "状态 0启用 1禁用", example = "1")
    @ExcelColumn(name="状态 0启用 1禁用")
    private Integer status;
    @ApiModelProperty(value = "排序码", example = "1")
    @ExcelColumn(name="排序码")
    private Integer sortnum;
    @ApiModelProperty(value = "情况说明")
    @ExcelColumn(name="情况说明")
    private String content;
    @ApiModelProperty(value = "上门时间")
    @ExcelColumn(name="上门时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date getDate;
    @ApiModelProperty(value = "所属项目编码(关联yw_project)", example = "1")
    @ExcelColumn(name="所属项目编码(关联yw_project)")
    private Integer projectId;
    @ApiModelProperty(value = "所属楼宇编码(关联yw_building)", example = "1")
    @ExcelColumn(name="所属楼宇编码(关联yw_building)")
    private Integer buildingId;
    @ApiModelProperty(value = "所属房间编码(关联yw_room)", example = "1")
    @ExcelColumn(name="所属房间编码(关联yw_room)")
    private Integer roomId;
    @ApiModelProperty(value = "所属楼层编码(关联yw_floor)", example = "1")
    @ExcelColumn(name="所属楼层编码(关联yw_floor)")
    private Integer floorId;
    @ApiModelProperty(value = "提报人编码", example = "1")
    @ExcelColumn(name="提报人编码")
    private Integer userId;
    @ApiModelProperty(value = "联系电话")
    @ExcelColumn(name="联系电话")
    private String phone;
    @ApiModelProperty(value = "提报时间")
    @ExcelColumn(name="提报时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelColumn(name="上报时间",index = 5,width = 16,dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date submitDate;
    @ApiModelProperty(value = "工单分类编码(关联category)", example = "1")
    @ExcelColumn(name="工单分类编码(关联category)")
    private Integer cateId;
    @ApiModelProperty(value = "保修区域类型 0室内维修 1公共区域", example = "1")
    @ExcelColumn(name="保修区域类型 0室内维修 1公共区域")
    @ExcelColumn(name="位置区域",valueMapping = "0=室内维修;1=公共区域;",index = 0,width = 10)
    private Integer areaType;
    @ApiModelProperty(value = "工单编号")
    @ExcelColumn(name="工单编号")
    private String code;
    @ApiModelProperty(value = "处理状态 0待处理 1已分派 2已处理", example = "1")
    @ExcelColumn(name="处理状态 0待处理 1已分派 2已处理")
    @ExcelColumn(name="工单状态",index = 7,width = 10,valueMapping = "0=待处理;1=已分派;1=已处理;")
    private Integer dealStatus;
    @ApiModelProperty(value = "分派人编码(关联system_user)", example = "1")
    @ExcelColumn(name="分派人编码(关联system_user)")
    private Integer dispatchUserId;
    @ApiModelProperty(value = "分派时间")
    @ExcelColumn(name="分派时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dispatchDate;
    @ApiModelProperty(value = "分派处理说明")
    @ExcelColumn(name="分派处理说明")
    private String dispatchInfo;
    @ApiModelProperty(value = "处理人编码(关联system_user)", example = "1")
    @ExcelColumn(name="处理人编码(关联system_user)")
    private Integer dealUserId;
    @ApiModelProperty(value = "处理时间")
    @ExcelColumn(name="处理时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dealDate;
    @ApiModelProperty(value = "处理备注")
    @ExcelColumn(name="处理备注")
    private String dealInfo;
    @ApiModelProperty(value = "处理方式 0指派后处理 1直接回复", example = "1")
    @ExcelColumn(name="处理方式 0指派后处理 1直接回复")
    private Integer dealType;
    @ApiModelProperty(value = "项目名称")
    @TableField(exist = false)
    private String projectName;
@@ -158,9 +132,11 @@
    private String queryStatus;
    @ApiModelProperty(value = "楼宇名称")
    @ExcelColumn(name="楼宇",index = 1,width = 10)
    @TableField(exist = false)
    private String buildingName;
    @ApiModelProperty(value = "房源名称")
    @ExcelColumn(name="房源",index = 2,width = 10)
    @TableField(exist = false)
    private String roomName;
    @ApiModelProperty(value = "楼层名称")
@@ -170,6 +146,7 @@
    @TableField(exist = false)
    private String roomNum;
    @ApiModelProperty(value = "提报人姓名")
    @ExcelColumn(name="上报人",index = 4,width = 10)
    @TableField(exist = false)
    private String creatorName;
    @ApiModelProperty(value = "提报人电话")
@@ -177,11 +154,13 @@
    private String creatorMobile;
    @ApiModelProperty(value = "处理人姓名")
    @TableField(exist = false)
    @ExcelColumn(name="处理人",index = 6,width = 10)
    private String dealUserName;
    @ApiModelProperty(value = "处理人组织")
    @TableField(exist = false)
    private String dealUserCompany;
    @ApiModelProperty(value = "类别名称")
    @ExcelColumn(name="工单分类",index = 3,width = 10)
    @TableField(exist = false)
    private String categoryName;
    @ApiModelProperty(value = "分配人姓名")
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -25,10 +25,12 @@
import com.doumee.dao.admin.request.UpdateCompanySortDTO;
import com.doumee.dao.admin.response.CompanyDTO;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.YwContractMapper;
import com.doumee.dao.business.dao.CompanyMapper;
import com.doumee.dao.business.dao.join.CompanyJoinMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.YwContract;
import com.doumee.dao.business.vo.CompanyTree;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.CompanyService;
@@ -63,6 +65,9 @@
    @Autowired
    private CompanyJoinMapper companyJoinMapper;
    @Autowired
    private YwContractMapper ywContractMapper;
    /**
     * 创建财务公司
@@ -77,6 +82,13 @@
                .eq(Company::getType,company.getType())
                .eq(Company::getIsdeleted,Constants.ZERO)) >0){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,名称不能重复~");
        }
        if(StringUtils.isNotBlank(company.getCode())){
            if(companyMapper.selectCount(new QueryWrapper<Company>().lambda()
                    .eq(Company::getCode,company.getCode())
                    .eq(Company::getIsdeleted,Constants.ZERO)) >0){
                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,纳税识别号不能重复~");
            }
        }
        company.setCreateDate(new Date());
        company.setCreator(company.getLoginUserInfo().getId());
@@ -105,6 +117,13 @@
                .eq(Company::getName,company.getName())
                .eq(Company::getIsdeleted,Constants.ZERO)) >0){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,组织名称不能重复~");
        }
        if(StringUtils.isNotBlank(company.getCode())){
            if(companyMapper.selectCount(new QueryWrapper<Company>().lambda()
                    .eq(Company::getCode,company.getCode())
                    .eq(Company::getIsdeleted,Constants.ZERO)) >0){
                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,纳税识别号不能重复~");
            }
        }
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(user ==null){
@@ -260,6 +279,9 @@
                .eq(Member::getIsdeleted,Constants.ZERO)) >0){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "对不起,该部门下存在人员信息,不能进行删除操作!");
        }
        if(ywContractMapper.selectCount(new QueryWrapper<YwContract>().lambda().eq(YwContract::getCompanyId,id))>Constants.ZERO){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "当前公司已关联业务,不可删除");
        }
        Company company = new Company();
        company.setId(id);
@@ -308,6 +330,15 @@
                .eq(Company::getIsdeleted,Constants.ZERO)) >0){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,组织名称不能重复~");
        }
        if(StringUtils.isNotBlank(company.getCode())){
            if(companyMapper.selectCount(new QueryWrapper<Company>().lambda()
                    .eq(Company::getCode,company.getCode())
                    .ne(Company::getId,company.getId())
                    .eq(Company::getIsdeleted,Constants.ZERO)) >0){
                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,纳税识别号不能重复~");
            }
        }
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(user == null){
            user = company.getLoginUserInfo();
@@ -367,6 +398,14 @@
                .eq(Company::getIsdeleted,Constants.ZERO)) >0){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,名称不能重复~");
        }
        if(StringUtils.isNotBlank(company.getCode())){
            if(companyMapper.selectCount(new QueryWrapper<Company>().lambda()
                    .eq(Company::getCode,company.getCode())
                    .ne(Company::getId,company.getId())
                    .eq(Company::getIsdeleted,Constants.ZERO)) >0){
                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,纳税识别号不能重复~");
            }
        }
        companyMapper.updateById(company);
        return company.getId();
    }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwAccountServiceImpl.java
@@ -8,9 +8,11 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.YwAccountMapper;
import com.doumee.dao.business.YwContractRevenueMapper;
import com.doumee.dao.business.dao.CompanyMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.YwAccount;
import com.doumee.dao.business.model.YwContractRevenue;
import com.doumee.dao.business.model.YwProject;
import com.doumee.service.business.YwAccountService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -18,6 +20,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -37,6 +40,8 @@
    private YwAccountMapper ywAccountMapper;
    @Autowired
    private CompanyMapper companyMapper;
    @Autowired
    private YwContractRevenueMapper ywContractRevenueMapper;
    @Override
    public Integer create(YwAccount model) {
@@ -49,6 +54,15 @@
                || !Constants.equalsInteger(ywProject.getType(),Constants.TWO)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,请选择正确的公司信息!");
        }
        if(StringUtils.isNotBlank(model.getTitle())){
            if(ywAccountMapper.selectCount(new QueryWrapper<YwAccount>().lambda()
                    .eq(YwAccount::getTitle,model.getTitle())
                    .eq(YwAccount::getIsdeleted,Constants.ZERO)) >0){
                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,收支条目不能重复~");
            }
        }
        model.setCreator(model.getLoginUserInfo().getId());
        model.setIsdeleted(Constants.ZERO);
        model.setCreateDate(new Date());
@@ -61,6 +75,9 @@
    @Override
    public void deleteById(Integer id, LoginUserInfo user) {
        if(ywContractRevenueMapper.selectCount(new QueryWrapper<YwContractRevenue>().lambda().eq(YwContractRevenue::getAccountId,id))>Constants.ZERO){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"当前收支账户已关联业务,不可删除");
        }
        YwAccount model = new YwAccount();
        model.setId(id);
        model.setIsdeleted(Constants.ONE);
@@ -95,6 +112,15 @@
                || !Constants.equalsInteger(ywProject.getType(),Constants.TWO)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,请选择正确的公司信息!");
        }
        if(StringUtils.isNotBlank(model.getTitle())){
            if(ywAccountMapper.selectCount(new QueryWrapper<YwAccount>().lambda()
                    .eq(YwAccount::getTitle,model.getTitle())
                    .ne(YwAccount::getId,model.getId())
                    .eq(YwAccount::getIsdeleted,Constants.ZERO)) >0){
                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,收支条目不能重复~");
            }
        }
        model.setEditDate(model.getCreateDate());
        model.setEditor(model.getCreator());
        ywAccountMapper.updateById(model);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java
@@ -268,6 +268,7 @@
                new MPJLambdaWrapper<YwContractRevenue>().selectAll(YwContractRevenue.class)
                        .selectAs(YwContractBill::getCode,YwContractRevenue::getBillCode)
                        .selectAs(YwContract::getCode,YwContractRevenue::getContractCode)
                        .selectAs(YwContract::getStatus,YwContractRevenue::getContractStatus)
                        .selectAs(YwCustomer::getName,YwContractRevenue::getCustomerName)
                        .selectAs(SystemUser::getRealname,YwContractRevenue::getRealname)
                        .selectAs(YwAccount::getTitle,YwContractRevenue::getAccountTitle)
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
@@ -31,6 +31,7 @@
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.stream.Collectors;
@@ -74,12 +75,20 @@
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public Integer create(YwContract model) {
        isParamValidCreated(model);
        model.setCreator(model.getLoginUserInfo().getId());
        model.setIsdeleted(Constants.ZERO);
        model.setCreateDate(new Date());
        model.setStatus(Constants.ZERO);
        model.setEditDate(model.getCreateDate());
        model.setEditor(model.getCreator());
        if(model.getStartDate().getTime() > System.currentTimeMillis()){
            model.setStatus(Constants.ZERO);
        }else if(model.getStartDate().getTime() <= System.currentTimeMillis() && model.getEndDate().getTime() > System.currentTimeMillis()){
            model.setStatus(Constants.ONE);
        }else{
            model.setStatus(Constants.TWO);
        }
        model.setStatus(Constants.ZERO);//待执行
        model.setRemark(getRemarlByParam(model));
        ywContractMapper.insert(model);
@@ -268,7 +277,7 @@
        }
        model.setTotalArea(new BigDecimal(0));
        for(YwRoom r : rooms){
            model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getArea())));
            model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getRentArea())));
        }
        model.setRoomList(rooms);
    }
@@ -353,9 +362,6 @@
        update.setBtFee(param.getBtFee());
        update.setBtRemark(getbackRentRemarkByParam(param));
        ywContractMapper.updateById(update);
//        if(1==1){
//            throw new BusinessException(ResponseStatus.NOT_ALLOWED);
//        }
        dealLogBiz(param,Constants.YwLogType.CONTRACT_BACK, param.getLoginUserInfo().getRealname(),getbackRentLogByParam(param));
        return param.getId();
    }
@@ -417,16 +423,8 @@
                        closeBills.add(bill);
                        noBills.add(bill);
                    }
//                    if(bill.getStartDate().getTime()>param.getEditDate().getTime()){
//                        //如果还没开始,账单直接关闭
//                        closeBills.add(bill);
//                        noBills.add(bill);
//                    }else{
//                        canBills.add(bill);
//                    }
                }else  if(Constants.equalsInteger(bill.getPayStatus(),Constants.ONE) ){
                    if(bill.getStartDate().getTime()>param.getBtDate().getTime()){
//                    if(bill.getEndDate().getTime()<param.getEditDate().getTime()){
                        //如果已结清,账单直接关闭
                        noBills.add(bill);
                    }else{
@@ -489,6 +487,7 @@
                addBill.setContractId(param.getId());
                addBill.setType(Constants.ONE);
                addBill.setStatus(Constants.ZERO);
                addBill.setTotleFee(addBill.getReceivableFee());
                if(Constants.equalsInteger(addBill.getFeeType(),Constants.ONE)){
                    addBill.setStartDate(addBill.getPlanPayDate());
                    addBill.setEndDate(addBill.getPlanPayDate());
@@ -698,12 +697,16 @@
        }
        int num =1;
        for(int i=0;i<billList1.size();i++){
            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)) {
            billList2.get(i).setSortnum(num);
            num++;
            }
        }
        if(model.getId()!=null){
            ywContractBillMapper.insert(billList1);
@@ -849,34 +852,37 @@
        BigDecimal totalFee = new BigDecimal(0);
        DateCompare dateCompare =   DateCompare.dayCompare(bill.getStartDate(),bill.getEndDate(),freeStart, freeEnd);
        if(Constants.equalsInteger(d.getCircleType(),Constants.ZERO)){
            //0=元每平米天
            //0=元每平米天 账单金额=账单周期的天数*租赁面积*单价;
            int days = dateCompare.getDay() ;
            BigDecimal areas = getAreasNumBYRooms(model.getRoomList());
            totalFee = new BigDecimal(days).multiply(areas).multiply(Constants.formatBigdecimal(d.getPrice()));//总价格
        }else  if(Constants.equalsInteger(d.getCircleType(),Constants.ONE)){
            //1=元每平米月
            //1=元每平米月 账单金额=账单周期的月数(开始日期计算自然月)*租赁面积*单价+不满一个月的天数*租赁面积*单价*12/365;
            BigDecimal areas = getAreasNumBYRooms(model.getRoomList());
            BigDecimal month =dateCompare.getMonthFloat();
            totalFee = month.multiply(areas).multiply(Constants.formatBigdecimal(d.getPrice()));//总价格
        }else  if(Constants.equalsInteger(d.getCircleType(),Constants.TWO)){
            //2=元每平米年
            //2=元每平米年 账单金额=账单周期的月数(开始日期计算自然月)*单价*面积/12+不满一个月的天数*租赁面积*单价/365;
            BigDecimal areas = getAreasNumBYRooms(model.getRoomList());
            BigDecimal year =  dateCompare.getYearFloat();
            totalFee = year.multiply(areas).multiply(Constants.formatBigdecimal(d.getPrice()));//总价格
            BigDecimal month = new BigDecimal(dateCompare.getMonth());
            totalFee = ((month.multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(12),2, RoundingMode.HALF_UP))
                    .add(new BigDecimal(dateCompare.getMonthDays()).multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(365),2, RoundingMode.HALF_UP)))
                    .multiply(areas);//总价格
        }else  if(Constants.equalsInteger(d.getCircleType(),Constants.THREE)){
            //3=元每天
            //3=元每天 账单金额=账单周期的天数*单价;
            int days = dateCompare.getDay() ;
            totalFee = new BigDecimal(days).multiply(Constants.formatBigdecimal(d.getPrice()));//总价格
        }else  if(Constants.equalsInteger(d.getCircleType(),Constants.FOUR)){
            //4=元每月
            //4=元每月 账单金额=账单周期的月数(开始日期计算自然月)*单价+不满一个月的天数*单价*12/365
            BigDecimal month = dateCompare.getMonthFloat();
            totalFee = month.multiply(Constants.formatBigdecimal(d.getPrice()));//总价格
        }else  if(Constants.equalsInteger(d.getCircleType(),Constants.FIVE)){
            //5=元每年
            BigDecimal year =  dateCompare.getYearFloat();
            totalFee = year.multiply(Constants.formatBigdecimal(d.getPrice()));//总价格
            //5=元每年 账单金额=账单周期的月数(开始日期计算自然月)*单价*面积/12+不满一个月的天数*租赁面积*单价/365;
            BigDecimal month = new BigDecimal(dateCompare.getMonth());
            totalFee =( month.multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(12),2, RoundingMode.HALF_UP))
                    .add(new BigDecimal(dateCompare.getMonthDays()).multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(365),2, RoundingMode.HALF_UP));//总价格
        }else  if(Constants.equalsInteger(d.getCircleType(),Constants.SIX)){
            //6=元每场
            //6=元每场 账单金额=单价;只有选择一次性付款时,才能选择该单价维度;
            totalFee =Constants.formatBigdecimal(d.getPrice());
        }
        if(Constants.equalsInteger(model.getRoundedUp(),Constants.ONE)){
@@ -947,7 +953,7 @@
        BigDecimal data= new BigDecimal(0);
        if(roomList!=null){
            for(YwRoom r :roomList){
                data = data.add(Constants.formatBigdecimal(r.getArea()));
                data = data.add(Constants.formatBigdecimal(r.getRentArea()));
            }
        }
@@ -1141,7 +1147,7 @@
        }
        model.setTotalArea(new BigDecimal(0));
        for(YwRoom r : rooms){
            model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getArea())));
            model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getRentArea())));
        }
        model.setRoomList(rooms);
        YwCustomer customer = customerMapper.selectById(model.getRenterId());
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
@@ -287,7 +287,7 @@
                .like(StringUtils.isNotBlank(model.getTitle()),YwPatrolScheme::getTitle,model.getTitle())
                //查询有时段交集的数据
                .apply(Objects.nonNull(model.getStartDate())&&Objects.nonNull(model.getEndDate()),
                        " t.START_DATE <= '"+Utils.Date.getStart(pageWrap.getModel().getEndDate())+"' and t.END_DATE >= '"+Utils.Date.getStart(pageWrap.getModel().getStartDate())+"' "
                        " t.START_DATE <= '"+pageWrap.getModel().getEndDate()+"' and t.END_DATE >= '"+pageWrap.getModel().getStartDate()+"' "
                )
//                .ge(Objects.nonNull(model.getStartDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()))
//                .le(Objects.nonNull(model.getEndDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()))