jiangping
2024-11-21 6e4aee48f8193688ac1412ee90f0e1cbfe988058
开发更新
已修改23个文件
335 ■■■■ 文件已修改
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwBuildingMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwContractBillMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwContractDetailMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwContractMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwContractRoomMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwCustomerMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwDeviceMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwDeviceRecordMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwFloorMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwLinePointMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolLineMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolPointMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolSchemeMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolTaskMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwProjectMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwRoomMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwWorkorderMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwBuildingMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwBuilding;
import com.github.yulichang.base.MPJBaseMapper;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwBuildingMapper extends BaseMapper<YwBuilding> {
public interface YwBuildingMapper extends MPJBaseMapper<YwBuilding> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwContractBillMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwContractBill;
import com.github.yulichang.base.MPJBaseMapper;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwContractBillMapper extends BaseMapper<YwContractBill> {
public interface YwContractBillMapper extends MPJBaseMapper<YwContractBill> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwContractDetailMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.doumee.dao.business.model.YwContractDetail;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwContractDetailMapper extends BaseMapper<YwContractDetail> {
public interface YwContractDetailMapper extends MPJBaseMapper<YwContractDetail> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwContractMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.doumee.dao.business.model.YwContract;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwContractMapper extends BaseMapper<YwContract> {
public interface YwContractMapper extends MPJBaseMapper<YwContract> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwContractRoomMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.doumee.dao.business.model.YwContractRoom;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwContractRoomMapper extends BaseMapper<YwContractRoom> {
public interface YwContractRoomMapper extends MPJBaseMapper<YwContractRoom> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwCustomerMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwCustomer;
import com.github.yulichang.base.MPJBaseMapper;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwCustomerMapper extends BaseMapper<YwCustomer> {
public interface YwCustomerMapper extends MPJBaseMapper<YwCustomer> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwDeviceMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.doumee.dao.business.model.YwDevice;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwDeviceMapper extends BaseMapper<YwDevice> {
public interface YwDeviceMapper extends MPJBaseMapper<YwDevice> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwDeviceRecordMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwDeviceRecord;
import com.github.yulichang.base.MPJBaseMapper;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwDeviceRecordMapper extends BaseMapper<YwDeviceRecord> {
public interface YwDeviceRecordMapper extends MPJBaseMapper<YwDeviceRecord> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwFloorMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwFloor;
import com.github.yulichang.base.MPJBaseMapper;
/**
 * @author 江蹄蹄
 * @date 2024/11/20 15:03
 */
public interface YwFloorMapper extends BaseMapper<YwFloor> {
public interface YwFloorMapper extends MPJBaseMapper<YwFloor> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwLinePointMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwLinePoint;
import com.github.yulichang.base.MPJBaseMapper;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwLinePointMapper extends BaseMapper<YwLinePoint> {
public interface YwLinePointMapper extends MPJBaseMapper<YwLinePoint> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolLineMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.doumee.dao.business.model.YwPatrolLine;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwPatrolLineMapper extends BaseMapper<YwPatrolLine> {
public interface YwPatrolLineMapper extends MPJBaseMapper<YwPatrolLine> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolPointMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwPatrolPoint;
import com.github.yulichang.base.MPJBaseMapper;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwPatrolPointMapper extends BaseMapper<YwPatrolPoint> {
public interface YwPatrolPointMapper extends MPJBaseMapper<YwPatrolPoint> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolSchemeMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwPatrolScheme;
import com.github.yulichang.base.MPJBaseMapper;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwPatrolSchemeMapper extends BaseMapper<YwPatrolScheme> {
public interface YwPatrolSchemeMapper extends MPJBaseMapper<YwPatrolScheme> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwPatrolTaskMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwPatrolTask;
import com.github.yulichang.base.MPJBaseMapper;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwPatrolTaskMapper extends BaseMapper<YwPatrolTask> {
public interface YwPatrolTaskMapper extends MPJBaseMapper<YwPatrolTask> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwProjectMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwProject;
import com.github.yulichang.base.MPJBaseMapper;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwProjectMapper extends BaseMapper<YwProject> {
public interface YwProjectMapper extends MPJBaseMapper<YwProject> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwRoomMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwRoom;
import com.github.yulichang.base.MPJBaseMapper;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwRoomMapper extends BaseMapper<YwRoom> {
public interface YwRoomMapper extends MPJBaseMapper<YwRoom> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwWorkorderMapper.java
@@ -1,12 +1,12 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwWorkorder;
import com.github.yulichang.base.MPJBaseMapper;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 16:07
 */
public interface YwWorkorderMapper extends BaseMapper<YwWorkorder> {
public interface YwWorkorderMapper extends MPJBaseMapper<YwWorkorder> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
@@ -105,6 +105,9 @@
    @ApiModelProperty(value = "房源数")
    @TableField(exist = false)
    private Integer roomNum;
    @ApiModelProperty(value = "项目名称")
    @TableField(exist = false)
    private String projectName;
    @ApiModelProperty(value = "可招商房源数")
    @TableField(exist = false)
    private Integer roomeRentNum;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import com.doumee.core.model.LoginUserModel;
import io.swagger.annotations.ApiModel;
@@ -105,4 +106,10 @@
    @ExcelColumn(name="所属楼宇编码(关联yw_building)")
    private Integer buildingId;
    @ApiModelProperty(value = "项目名称")
    @TableField(exist = false)
    private String projectName;
    @ApiModelProperty(value = "楼宇名称")
    @TableField(exist = false)
    private String buildingName;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
@@ -1,7 +1,9 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import com.doumee.core.model.LoginUserModel;
import com.doumee.dao.system.model.Multifile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
@@ -10,6 +12,7 @@
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import java.util.List;
/**
 * 运维工单信息表
@@ -143,5 +146,31 @@
    @ApiModelProperty(value = "处理方式 0指派后处理 1直接回复", example = "1")
    @ExcelColumn(name="处理方式 0指派后处理 1直接回复")
    private Integer dealType;
    @ApiModelProperty(value = "项目名称")
    @TableField(exist = false)
    private String projectName;
    @ApiModelProperty(value = "楼宇名称")
    @TableField(exist = false)
    private String buildingName;
    @ApiModelProperty(value = "房源名称")
    @TableField(exist = false)
    private String roomName;
    @ApiModelProperty(value = "房号")
    @TableField(exist = false)
    private String roomNum;
    @ApiModelProperty(value = "提报人姓名")
    @TableField(exist = false)
    private String creatorName;
    @ApiModelProperty(value = "提报组织")
    @TableField(exist = false)
    private String creatorCompany;
    @ApiModelProperty(value = "提报人手机号")
    @TableField(exist = false)
    private String creatorPhone;
    @ApiModelProperty(value = "问题图片集合")
    @TableField(exist = false)
    private List<Multifile> fileList;
    @ApiModelProperty(value = "处理图片集合")
    @TableField(exist = false)
    private List<Multifile> dealFileList;
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
@@ -16,6 +16,7 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -119,69 +120,72 @@
    @Override
    public PageData<YwBuilding> findPage(PageWrap<YwBuilding> pageWrap) {
        IPage<YwBuilding> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<YwBuilding> queryWrapper = new QueryWrapper<>();
        MPJLambdaWrapper<YwBuilding> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(YwBuilding.class )
                .selectAs(YwProject::getName,YwBuilding::getProjectName)
                .leftJoin(YwProject.class,YwProject::getId,YwBuilding::getProjectId);
        Utils.MP.blankToNull(pageWrap.getModel());
        pageWrap.getModel().setIsdeleted(Constants.ZERO);
        queryWrapper.select("*,(select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=yw_building.id) as roomNum"+
                ",(select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=yw_building.id and a.IS_INVESTMENT=1) as roomRentNum");
        queryWrapper.select("*,(select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=t.id) as roomNum"+
                ",(select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=t.id and a.IS_INVESTMENT=1) as roomRentNum");
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(YwBuilding::getId, pageWrap.getModel().getId());
            queryWrapper.eq(YwBuilding::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(YwBuilding::getCreator, pageWrap.getModel().getCreator());
            queryWrapper.eq(YwBuilding::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(YwBuilding::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(YwBuilding::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
            queryWrapper.ge(YwBuilding::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.le(YwBuilding::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEditor() != null) {
            queryWrapper.lambda().eq(YwBuilding::getEditor, pageWrap.getModel().getEditor());
            queryWrapper.eq(YwBuilding::getEditor, pageWrap.getModel().getEditor());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(YwBuilding::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(YwBuilding::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
            queryWrapper.ge(YwBuilding::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.le(YwBuilding::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(YwBuilding::getIsdeleted, pageWrap.getModel().getIsdeleted());
            queryWrapper.eq(YwBuilding::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getName() != null) {
            queryWrapper.lambda().eq(YwBuilding::getName, pageWrap.getModel().getName());
            queryWrapper.eq(YwBuilding::getName, pageWrap.getModel().getName());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(YwBuilding::getRemark, pageWrap.getModel().getRemark());
            queryWrapper.eq(YwBuilding::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getStatus() != null) {
            queryWrapper.lambda().eq(YwBuilding::getStatus, pageWrap.getModel().getStatus());
            queryWrapper.eq(YwBuilding::getStatus, pageWrap.getModel().getStatus());
        }
        if (pageWrap.getModel().getSortnum() != null) {
            queryWrapper.lambda().eq(YwBuilding::getSortnum, pageWrap.getModel().getSortnum());
            queryWrapper.eq(YwBuilding::getSortnum, pageWrap.getModel().getSortnum());
        }
        if (pageWrap.getModel().getImgurl() != null) {
            queryWrapper.lambda().eq(YwBuilding::getImgurl, pageWrap.getModel().getImgurl());
            queryWrapper.eq(YwBuilding::getImgurl, pageWrap.getModel().getImgurl());
        }
        if (pageWrap.getModel().getCode() != null) {
            queryWrapper.lambda().eq(YwBuilding::getCode, pageWrap.getModel().getCode());
            queryWrapper.eq(YwBuilding::getCode, pageWrap.getModel().getCode());
        }
        if (pageWrap.getModel().getAddr() != null) {
            queryWrapper.lambda().eq(YwBuilding::getAddr, pageWrap.getModel().getAddr());
            queryWrapper.eq(YwBuilding::getAddr, pageWrap.getModel().getAddr());
        }
        if (pageWrap.getModel().getArea() != null) {
            queryWrapper.lambda().eq(YwBuilding::getArea, pageWrap.getModel().getArea());
            queryWrapper.eq(YwBuilding::getArea, pageWrap.getModel().getArea());
        }
        if (pageWrap.getModel().getCqArea() != null) {
            queryWrapper.lambda().eq(YwBuilding::getCqArea, pageWrap.getModel().getCqArea());
            queryWrapper.eq(YwBuilding::getCqArea, pageWrap.getModel().getCqArea());
        }
        if (pageWrap.getModel().getRentArea() != null) {
            queryWrapper.lambda().eq(YwBuilding::getRentArea, pageWrap.getModel().getRentArea());
            queryWrapper.eq(YwBuilding::getRentArea, pageWrap.getModel().getRentArea());
        }
        if (pageWrap.getModel().getOnFloor() != null) {
            queryWrapper.lambda().eq(YwBuilding::getOnFloor, pageWrap.getModel().getOnFloor());
            queryWrapper.eq(YwBuilding::getOnFloor, pageWrap.getModel().getOnFloor());
        }
        if (pageWrap.getModel().getUnderFloor() != null) {
            queryWrapper.lambda().eq(YwBuilding::getUnderFloor, pageWrap.getModel().getUnderFloor());
            queryWrapper.eq(YwBuilding::getUnderFloor, pageWrap.getModel().getUnderFloor());
        }
        if (pageWrap.getModel().getProjectId() != null) {
            queryWrapper.lambda().eq(YwBuilding::getProjectId, pageWrap.getModel().getProjectId());
            queryWrapper.eq(YwBuilding::getProjectId, pageWrap.getModel().getProjectId());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
@@ -190,7 +194,7 @@
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(ywBuildingMapper.selectPage(page, queryWrapper));
        return PageData.from(ywBuildingMapper.selectJoinPage(page,YwBuilding.class, queryWrapper));
    }
    @Override
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
@@ -17,6 +17,7 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -129,73 +130,78 @@
    @Override
    public PageData<YwRoom> findPage(PageWrap<YwRoom> pageWrap) {
        IPage<YwRoom> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<YwRoom> queryWrapper = new QueryWrapper<>();
         MPJLambdaWrapper<YwRoom> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(YwBuilding.class )
                .selectAs(YwProject::getName,YwRoom::getProjectName)
                .selectAs(YwBuilding::getName,YwRoom::getBuildingName)
                .leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId)
                .leftJoin(YwBuilding.class,YwBuilding::getId,YwRoom::getBuildingId);
        pageWrap.getModel().setIsdeleted(Constants.ZERO);
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(YwRoom::getId, pageWrap.getModel().getId());
            queryWrapper.eq(YwRoom::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(YwRoom::getCreator, pageWrap.getModel().getCreator());
            queryWrapper.eq(YwRoom::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(YwRoom::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(YwRoom::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
            queryWrapper.ge(YwRoom::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.le(YwRoom::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEditor() != null) {
            queryWrapper.lambda().eq(YwRoom::getEditor, pageWrap.getModel().getEditor());
            queryWrapper.eq(YwRoom::getEditor, pageWrap.getModel().getEditor());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(YwRoom::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(YwRoom::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
            queryWrapper.ge(YwRoom::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.le(YwRoom::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(YwRoom::getIsdeleted, pageWrap.getModel().getIsdeleted());
            queryWrapper.eq(YwRoom::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getName() != null) {
            queryWrapper.lambda().eq(YwRoom::getName, pageWrap.getModel().getName());
            queryWrapper.eq(YwRoom::getName, pageWrap.getModel().getName());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(YwRoom::getRemark, pageWrap.getModel().getRemark());
            queryWrapper.eq(YwRoom::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getStatus() != null) {
            queryWrapper.lambda().eq(YwRoom::getStatus, pageWrap.getModel().getStatus());
            queryWrapper.eq(YwRoom::getStatus, pageWrap.getModel().getStatus());
        }
        if (pageWrap.getModel().getSortnum() != null) {
            queryWrapper.lambda().eq(YwRoom::getSortnum, pageWrap.getModel().getSortnum());
            queryWrapper.eq(YwRoom::getSortnum, pageWrap.getModel().getSortnum());
        }
        if (pageWrap.getModel().getImgurl() != null) {
            queryWrapper.lambda().eq(YwRoom::getImgurl, pageWrap.getModel().getImgurl());
            queryWrapper.eq(YwRoom::getImgurl, pageWrap.getModel().getImgurl());
        }
        if (pageWrap.getModel().getCode() != null) {
            queryWrapper.lambda().eq(YwRoom::getCode, pageWrap.getModel().getCode());
            queryWrapper.eq(YwRoom::getCode, pageWrap.getModel().getCode());
        }
        if (pageWrap.getModel().getRoomNum() != null) {
            queryWrapper.lambda().eq(YwRoom::getRoomNum, pageWrap.getModel().getRoomNum());
            queryWrapper.eq(YwRoom::getRoomNum, pageWrap.getModel().getRoomNum());
        }
        if (pageWrap.getModel().getIsInvestment() != null) {
            queryWrapper.lambda().eq(YwRoom::getIsInvestment, pageWrap.getModel().getIsInvestment());
            queryWrapper.eq(YwRoom::getIsInvestment, pageWrap.getModel().getIsInvestment());
        }
        if (pageWrap.getModel().getArea() != null) {
            queryWrapper.lambda().eq(YwRoom::getArea, pageWrap.getModel().getArea());
            queryWrapper.eq(YwRoom::getArea, pageWrap.getModel().getArea());
        }
        if (pageWrap.getModel().getFeeArea() != null) {
            queryWrapper.lambda().eq(YwRoom::getFeeArea, pageWrap.getModel().getFeeArea());
            queryWrapper.eq(YwRoom::getFeeArea, pageWrap.getModel().getFeeArea());
        }
        if (pageWrap.getModel().getRentArea() != null) {
            queryWrapper.lambda().eq(YwRoom::getRentArea, pageWrap.getModel().getRentArea());
            queryWrapper.eq(YwRoom::getRentArea, pageWrap.getModel().getRentArea());
        }
        if (pageWrap.getModel().getFloor() != null) {
            queryWrapper.lambda().eq(YwRoom::getFloor, pageWrap.getModel().getFloor());
            queryWrapper.eq(YwRoom::getFloor, pageWrap.getModel().getFloor());
        }
        if (pageWrap.getModel().getProjectId() != null) {
            queryWrapper.lambda().eq(YwRoom::getProjectId, pageWrap.getModel().getProjectId());
            queryWrapper.eq(YwRoom::getProjectId, pageWrap.getModel().getProjectId());
        }
        if (pageWrap.getModel().getBuildingId() != null) {
            queryWrapper.lambda().eq(YwRoom::getBuildingId, pageWrap.getModel().getBuildingId());
            queryWrapper.eq(YwRoom::getBuildingId, pageWrap.getModel().getBuildingId());
        }
        queryWrapper.lambda().orderByAsc(YwRoom::getRoomNum);
        return PageData.from(ywRoomMapper.selectPage(page, queryWrapper));
        queryWrapper.orderByAsc(YwRoom::getRoomNum);
        return PageData.from(ywRoomMapper.selectJoinPage(page,YwRoom.class, queryWrapper));
    }
    @Override
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
@@ -1,5 +1,6 @@
package com.doumee.service.business.impl;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
@@ -12,19 +13,25 @@
import com.doumee.dao.business.YwProjectMapper;
import com.doumee.dao.business.YwRoomMapper;
import com.doumee.dao.business.YwWorkorderMapper;
import com.doumee.dao.business.model.YwBuilding;
import com.doumee.dao.business.model.YwProject;
import com.doumee.dao.business.model.YwRoom;
import com.doumee.dao.business.model.YwWorkorder;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.MultifileMapper;
import com.doumee.dao.system.model.Multifile;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.YwWorkorderService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
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.checkerframework.checker.units.qual.C;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -39,6 +46,10 @@
    @Autowired
    private YwWorkorderMapper ywWorkorderMapper;
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private MultifileMapper multifileMapper;
    @Autowired
    private YwProjectMapper ywProjectMapper;
    @Autowired
    private YwRoomMapper ywRoomMapper;
@@ -46,6 +57,7 @@
    private YwBuildingMapper ywBuildingMapper;
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public Integer create(YwWorkorder model) {
        dealParamValid(model);
@@ -56,6 +68,28 @@
        model.setEditDate(model.getCreateDate());
        model.setEditor(model.getCreator());
        ywWorkorderMapper.insert(model);
        List<Multifile> fileList = new ArrayList<>();
        if(model.getFileList()!=null && model.getFileList().size()>0){
            boolean isTrue = false;
            for (int i = 0; i <  model.getFileList().size(); i++) {
                Multifile multifile =  model.getFileList().get(i);
                if(StringUtils.isBlank(multifile.getFileurl())){
                    continue;
                }
                multifile.setCreateDate(new Date());
                multifile.setCreator(model.getEditor());
                multifile.setIsdeleted(Constants.ZERO);
                multifile.setObjId(model.getId());
                multifile.setCreator(model.getCreator());
                multifile.setObjType(Constants.MultiFile.YW_WORKORDER_PROBLEM.getKey());
                multifile.setSortnum(i+1);
                fileList.add(multifile);
            }
        }
        if(fileList.size()>0){
            multifileMapper.insert(fileList);
        }
        return model.getId();
    }
@@ -111,13 +145,73 @@
    }
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public void updateById(YwWorkorder model) {
        dealParamValid(model);
        model.setEditDate(new Date());
        model.setEditor(model.getLoginUserInfo().getId());
        ywWorkorderMapper.updateById(model);
    }
        List<Multifile> fileList = new ArrayList<>();
        if(model.getFileList()!=null && model.getFileList().size()>0){
            for (int i = 0; i <  model.getFileList().size(); i++) {
                Multifile multifile =  model.getFileList().get(i);
                if(StringUtils.isBlank(multifile.getFileurl())){
                    continue;
                }
                multifile.setCreateDate(new Date());
                multifile.setCreator(model.getEditor());
                multifile.setIsdeleted(Constants.ZERO);
                multifile.setObjId(model.getId());
                multifile.setCreator(model.getCreator());
                multifile.setObjType(Constants.MultiFile.YW_WORKORDER_PROBLEM.getKey());
                multifile.setSortnum(i+1);
                fileList.add(multifile);
            }
        }
        multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda()
                .set(Multifile::getIsdeleted,Constants.ONE)
                .set(Multifile::getEditDate,model.getEditDate())
                .set(Multifile::getEditor,model.getEditor())
                .eq(Multifile::getIsdeleted, Constants.ZERO)
                .eq(Multifile::getObjType,Constants.MultiFile.YW_WORKORDER_PROBLEM.getKey())
        );
        if(fileList.size()>0){
            multifileMapper.insert(fileList);
        }
    }
    private void initFiles(YwWorkorder model) {
        List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
                .eq(Multifile::getObjId, model.getId() )
                .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.YW_WORKORDER_PROBLEM.getKey()
                        ,Constants.MultiFile.YW_WORKORDER_DEAL.getKey() }))
                .eq(Multifile::getIsdeleted,Constants.ZERO));
        if(multifiles!=null){
            String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
                    +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_WORKORDER_FILE).getCode();
            for(Multifile f : multifiles){
                if(StringUtils.isBlank(f.getFileurl())){
                    continue;
                }
                f.setFileurlFull(path+f.getFileurl());
                if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.YW_WORKORDER_PROBLEM.getKey())){
                    //现场情况
                    if(model.getFileList() == null){
                        model.setFileList(new ArrayList<>());
                    }
                    model.getFileList().add(f);
                }
                if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.YW_WORKORDER_DEAL.getKey())){
                    //处理附件
                    if(model.getDealFileList() == null){
                        model.setDealFileList(new ArrayList<>());
                    }
                    model.getDealFileList().add(f);
                }
            }
        }
    }
    @Override
    public void updateByIdInBatch(List<YwWorkorder> ywWorkorders) {
        if (CollectionUtils.isEmpty(ywWorkorders)) {
@@ -130,7 +224,17 @@
    @Override
    public YwWorkorder findById(Integer id) {
        return ywWorkorderMapper.selectById(id);
        MPJLambdaWrapper<YwWorkorder> wrapper = new MPJLambdaWrapper<>();
        wrapper.selectAll(YwWorkorder.class )
                .selectAs(SystemUser::getRealname,YwWorkorder::getCreatorName)
                .selectAs(SystemUser::getMobile,YwWorkorder::getCreatorPhone)
                .selectAs(Company::getCompanyNamePath,YwWorkorder::getCreatorCompany)
                .leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getCreator)
                .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
                .eq(YwWorkorder::getId,id);
        YwWorkorder model = ywWorkorderMapper.selectJoinOne(YwWorkorder.class,wrapper);
        initFiles(model);//读取附件信息
        return model;
    }
    @Override