jiangping
2024-08-13 6765787baa5e0b771d71f865c4deb776367410c4
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/TrainTimeServiceImpl.java
@@ -1,15 +1,23 @@
package com.doumee.service.business.impl;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.TrainTimeMapper;
import com.doumee.dao.business.join.TrainTimeJoinMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.TrainTime;
import com.doumee.dao.business.model.Visits;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.TrainTimeService;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -26,6 +34,9 @@
    @Autowired
    private TrainTimeMapper trainTimeMapper;
    @Autowired
    private TrainTimeJoinMapper trainTimeJoinMapper;
@@ -89,54 +100,26 @@
    @Override
    public PageData<TrainTime> findPage(PageWrap<TrainTime> pageWrap) {
        IPage<TrainTime> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<TrainTime> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(TrainTime::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(TrainTime::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(TrainTime::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(TrainTime::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEdirot() != null) {
            queryWrapper.lambda().eq(TrainTime::getEdirot, pageWrap.getModel().getEdirot());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(TrainTime::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(TrainTime::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(TrainTime::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(TrainTime::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getMemberId() != null) {
            queryWrapper.lambda().eq(TrainTime::getMemberId, pageWrap.getModel().getMemberId());
        }
        if (pageWrap.getModel().getStartTime() != null) {
            queryWrapper.lambda().eq(TrainTime::getStartTime, pageWrap.getModel().getStartTime());
        }
        if (pageWrap.getModel().getEndTime() != null) {
            queryWrapper.lambda().eq(TrainTime::getEndTime, pageWrap.getModel().getEndTime());
        }
        if (pageWrap.getModel().getImportStatus() != null) {
            queryWrapper.lambda().eq(TrainTime::getImportStatus, pageWrap.getModel().getImportStatus());
        }
        if (pageWrap.getModel().getImportInfo() != null) {
            queryWrapper.lambda().eq(TrainTime::getImportInfo, pageWrap.getModel().getImportInfo());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(trainTimeMapper.selectPage(page, queryWrapper));
        MPJLambdaWrapper<TrainTime> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.leftJoin(Member.class,Member::getId,TrainTime::getMemberId);
        queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
        queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,TrainTime::getCreator);
        queryWrapper.selectAll(TrainTime.class);
        queryWrapper.selectAs(Member::getName,TrainTime::getName);
        queryWrapper.selectAs(Member::getPhone,TrainTime::getPhone);
        queryWrapper.selectAs(Member::getIdcardNo,TrainTime::getIdcardNo);
        queryWrapper.selectAs(Company::getName,TrainTime::getCompanyName);
        queryWrapper.selectAs(SystemUser::getUsername,TrainTime::getCreateName);
        queryWrapper.eq(TrainTime::getIsdeleted, Constants.ZERO);
        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getName()), ms->ms.like(Member::getPhone,pageWrap.getModel().getName())
                .or().like(Member::getName,pageWrap.getModel().getName()));
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getName,pageWrap.getModel().getCompanyName());
        queryWrapper.orderByDesc(TrainTime::getCreateDate);
        IPage<TrainTime> result = trainTimeJoinMapper.selectJoinPage(page, TrainTime.class,queryWrapper);
        return PageData.from(result);
    }
    @Override