NewDriverServiceImpl.java 12.8 KB
package com.ruoyi.service.impl.driver;

import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.domain.driver.NewDriver;
import com.ruoyi.mapper.driver.NewDriverMapper;
import com.ruoyi.service.driver.NewDriverService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import com.github.pagehelper.PageHelper;

import javax.servlet.http.HttpServletResponse;

import java.util.Collection;
import java.util.Collections;
import java.util.List;

import com.ruoyi.domain.OrderEntity;

@Service
public class NewDriverServiceImpl extends ServiceImpl<NewDriverMapper, NewDriver> implements NewDriverService {
    @Autowired
    private NewDriverMapper newDriverMapper;

    /**
     * 分页查询
     */
    @Override
    public IPage<NewDriver> pageList(Page<NewDriver> page, NewDriver entity, OrderEntity orderEntity) {
        LambdaQueryWrapper<NewDriver> countWrapper = new LambdaQueryWrapper<>(entity);
        countWrapper.select(NewDriver::getJobCode);
        int count = count(countWrapper);

        List<NewDriver> lists = Collections.emptyList();
        if (count > 0) {
            PageHelper.startPage((int) page.getCurrent(), (int) page.getSize(), false);
            LambdaQueryWrapper<NewDriver> selectWrapper = new LambdaQueryWrapper<>(entity);
            orderColumn(selectWrapper, orderEntity);
            lists = list(selectWrapper);
        }

        IPage<NewDriver> returnPage = new Page<NewDriver>();
        returnPage.setRecords(lists);
        returnPage.setPages(count % page.getSize() == 0 ? count / page.getSize() : count / page.getSize() + 1);
        returnPage.setCurrent(page.getCurrent());
        returnPage.setSize(page.getSize());
        returnPage.setTotal(count);

        return returnPage;
    }

    @Override
    public List<NewDriver> list(NewDriver entity) {
        return list(new LambdaQueryWrapper<>(entity));
    }

    @Override
    public List<NewDriver> listOfIds(Collection<String> ids) {
        if (CollectionUtils.isEmpty(ids)) {
            return Collections.emptyList();
        }
        LambdaQueryWrapper<NewDriver> wrapper = new LambdaQueryWrapper<>();
        wrapper.in(NewDriver::getId, ids);
        return list(wrapper);
    }

    @Override
    public List<NewDriver> listOfSelect(NewDriver entity) {
        LambdaQueryWrapper<NewDriver> wrapper = new LambdaQueryWrapper<>(entity);
        wrapper.select(NewDriver::getId, NewDriver::getJobCode, NewDriver::getPersonnelName);
        return list(wrapper);
    }

    @Override
    public NewDriver getOne(NewDriver entity) {
        return getOne(new LambdaQueryWrapper<>(entity));
    }

    @Override
    public Integer countId(NewDriver entity) {
        LambdaQueryWrapper<NewDriver> wrapper = new LambdaQueryWrapper<>(entity);
        wrapper.select(NewDriver::getJobCode);
        return count(wrapper);
    }


    /**
     * 插入有值的列
     */
    @Override
    public int insertSelective(NewDriver entity) {
        return newDriverMapper.insertSelective(entity);
    }

    /**
     * 插入数据
     */
    @Override
    public boolean insert(NewDriver entity) {
        return save(entity);
    }

    /**
     * 根据主键修改数据
     */
    @Override
    public boolean updateByPrimaryKey(NewDriver entity) {
        return updateById(entity);
    }

    @Override
    public boolean updateClient(NewDriver entity) {
        LambdaUpdateWrapper<NewDriver> wrapper = new LambdaUpdateWrapper<NewDriver>();

        wrapper.set(NewDriver::getImage, entity.getImage()).set(NewDriver::getFaceFeature, entity.getFaceFeature())
                .set(NewDriver::getBlueTooth, entity.getBlueTooth()).set(NewDriver::getInteger, entity.getInteger())
                .set(NewDriver::getSyncontent, entity.getSyncontent()).set(NewDriver::getCsn, entity.getCsn())
                .eq(NewDriver::getJobCode, entity.getJobCode());

        return update(wrapper);
    }

    @Override
    public boolean faceRegister(NewDriver entity) {
        LambdaUpdateWrapper<NewDriver> wrapper = new LambdaUpdateWrapper<NewDriver>();
        //TODO 保存图片信息
        wrapper.set(NewDriver::getImage, entity.getImage())
                .set(NewDriver::getFaceSignIn, entity.getFaceSignIn())
                .set(NewDriver::getSignInEquipment, entity.getFaceSignIn())
                .eq(NewDriver::getJobCode, entity.getIcCardCode());
        return update(wrapper);
    }

    /***根据主键删除数据*/
    @Override
    public boolean deleteById(java.lang.String jobCode) {
        return removeById(jobCode);
    }


    public static void orderColumn(LambdaQueryWrapper<NewDriver> wrapper, com.ruoyi.domain.OrderEntity orderEntity) {
        if (org.apache.commons.lang3.StringUtils.equals("ascending", orderEntity.getOrder())) {
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "id")) {
                wrapper.orderByAsc(NewDriver::getId);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "jobCode")) {
                wrapper.orderByAsc(NewDriver::getJobCode);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "companyCode")) {
                wrapper.orderByAsc(NewDriver::getCompanyCode);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "brancheCompanyCode")) {
                wrapper.orderByAsc(NewDriver::getBrancheCompanyCode);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "personnelName")) {
                wrapper.orderByAsc(NewDriver::getPersonnelName);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "papersCode")) {
                wrapper.orderByAsc(NewDriver::getPapersCode);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "icCardCode")) {
                wrapper.orderByAsc(NewDriver::getIcCardCode);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "personnelType")) {
                wrapper.orderByAsc(NewDriver::getPersonnelType);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "posts")) {
                wrapper.orderByAsc(NewDriver::getPosts);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "card")) {
                wrapper.orderByAsc(NewDriver::getCard);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "telphone")) {
                wrapper.orderByAsc(NewDriver::getTelphone);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "icRfid")) {
                wrapper.orderByAsc(NewDriver::getIcRfid);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "idRfid")) {
                wrapper.orderByAsc(NewDriver::getIdRfid);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "tagRfid")) {
                wrapper.orderByAsc(NewDriver::getTagRfid);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "remark")) {
                wrapper.orderByAsc(NewDriver::getRemark);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "lineName")) {
                wrapper.orderByAsc(NewDriver::getLineName);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "lineCode")) {
                wrapper.orderByAsc(NewDriver::getLineCode);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "faceSignIn")) {
                wrapper.orderByAsc(NewDriver::getFaceSignIn);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "image")) {
                wrapper.orderByAsc(NewDriver::getImage);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "updateTime")) {
                wrapper.orderByAsc(NewDriver::getUpdateTime);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "signInEquipment")) {
                wrapper.orderByAsc(NewDriver::getSignInEquipment);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "fleetName")) {
                wrapper.orderByAsc(NewDriver::getFleetName);
            }
        } else if (org.apache.commons.lang3.StringUtils.equals("descending", orderEntity.getOrder())) {
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "id")) {
                wrapper.orderByDesc(NewDriver::getId);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "jobCode")) {
                wrapper.orderByDesc(NewDriver::getJobCode);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "companyCode")) {
                wrapper.orderByDesc(NewDriver::getCompanyCode);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "brancheCompanyCode")) {
                wrapper.orderByDesc(NewDriver::getBrancheCompanyCode);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "personnelName")) {
                wrapper.orderByDesc(NewDriver::getPersonnelName);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "papersCode")) {
                wrapper.orderByDesc(NewDriver::getPapersCode);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "icCardCode")) {
                wrapper.orderByDesc(NewDriver::getIcCardCode);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "personnelType")) {
                wrapper.orderByDesc(NewDriver::getPersonnelType);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "posts")) {
                wrapper.orderByDesc(NewDriver::getPosts);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "card")) {
                wrapper.orderByDesc(NewDriver::getCard);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "telphone")) {
                wrapper.orderByDesc(NewDriver::getTelphone);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "icRfid")) {
                wrapper.orderByDesc(NewDriver::getIcRfid);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "idRfid")) {
                wrapper.orderByDesc(NewDriver::getIdRfid);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "tagRfid")) {
                wrapper.orderByDesc(NewDriver::getTagRfid);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "remark")) {
                wrapper.orderByDesc(NewDriver::getRemark);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "lineName")) {
                wrapper.orderByDesc(NewDriver::getLineName);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "lineCode")) {
                wrapper.orderByDesc(NewDriver::getLineCode);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "faceSignIn")) {
                wrapper.orderByDesc(NewDriver::getFaceSignIn);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "image")) {
                wrapper.orderByDesc(NewDriver::getImage);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "updateTime")) {
                wrapper.orderByDesc(NewDriver::getUpdateTime);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "signInEquipment")) {
                wrapper.orderByDesc(NewDriver::getSignInEquipment);
            }
            if (org.apache.commons.lang3.StringUtils.equals(orderEntity.getProp(), "fleetName")) {
                wrapper.orderByDesc(NewDriver::getFleetName);
            }
        }
    }

}