jiangping
2024-08-13 6765787baa5e0b771d71f865c4deb776367410c4
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/EmpowerServiceImpl.java
@@ -2,30 +2,47 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Date;
import com.doumee.core.utils.Utils;
import com.doumee.dao.admin.response.MemberInfoDTO;
import com.doumee.dao.business.EmpowerMapper;
import com.doumee.dao.business.join.EmpowerJoinMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.Device;
import com.doumee.dao.business.model.Empower;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.EmpowerService;
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;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.List;
import java.util.Objects;
/**
 * 人员授权导入记录Service实现
 * @author 江蹄蹄
 * @date 2023/11/23 18:16
 * @date 2023/11/30 15:33
 */
@Service
public class EmpowerServiceImpl implements EmpowerService {
    @Autowired
    private EmpowerMapper empowerMapper;
    @Autowired
    private EmpowerJoinMapper empowerJoinMapper;
    @Override
    public Integer create(Empower empower) {
@@ -87,86 +104,51 @@
    @Override
    public PageData<Empower> findPage(PageWrap<Empower> pageWrap) {
        IPage<Empower> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<Empower> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(Empower::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(Empower::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(Empower::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(Empower::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEdirot() != null) {
            queryWrapper.lambda().eq(Empower::getEdirot, pageWrap.getModel().getEdirot());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(Empower::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(Empower::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(Empower::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(Empower::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getHkId() != null) {
            queryWrapper.lambda().eq(Empower::getHkId, pageWrap.getModel().getHkId());
        }
        if (pageWrap.getModel().getSortnum() != null) {
            queryWrapper.lambda().eq(Empower::getSortnum, pageWrap.getModel().getSortnum());
        }
        if (pageWrap.getModel().getMemberId() != null) {
            queryWrapper.lambda().eq(Empower::getMemberId, pageWrap.getModel().getMemberId());
        }
        if (pageWrap.getModel().getStartTime() != null) {
            queryWrapper.lambda().eq(Empower::getStartTime, pageWrap.getModel().getStartTime());
        }
        if (pageWrap.getModel().getEndTime() != null) {
            queryWrapper.lambda().eq(Empower::getEndTime, pageWrap.getModel().getEndTime());
        }
        if (pageWrap.getModel().getImportStatus() != null) {
            queryWrapper.lambda().eq(Empower::getImportStatus, pageWrap.getModel().getImportStatus());
        }
        if (pageWrap.getModel().getImportInfo() != null) {
            queryWrapper.lambda().eq(Empower::getImportInfo, pageWrap.getModel().getImportInfo());
        }
        if (pageWrap.getModel().getSendStatus() != null) {
            queryWrapper.lambda().eq(Empower::getSendStatus, pageWrap.getModel().getSendStatus());
        }
        if (pageWrap.getModel().getSendType() != null) {
            queryWrapper.lambda().eq(Empower::getSendType, pageWrap.getModel().getSendType());
        }
        if (pageWrap.getModel().getSendInfo() != null) {
            queryWrapper.lambda().eq(Empower::getSendInfo, pageWrap.getModel().getSendInfo());
        }
        if (pageWrap.getModel().getSendDate() != null) {
            queryWrapper.lambda().ge(Empower::getSendDate, Utils.Date.getStart(pageWrap.getModel().getSendDate()));
            queryWrapper.lambda().le(Empower::getSendDate, Utils.Date.getEnd(pageWrap.getModel().getSendDate()));
        }
        if (pageWrap.getModel().getSendUserId() != null) {
            queryWrapper.lambda().eq(Empower::getSendUserId, pageWrap.getModel().getSendUserId());
        }
        if (pageWrap.getModel().getCancelUserId() != null) {
            queryWrapper.lambda().eq(Empower::getCancelUserId, pageWrap.getModel().getCancelUserId());
        }
        if (pageWrap.getModel().getCancelDate() != null) {
            queryWrapper.lambda().ge(Empower::getCancelDate, Utils.Date.getStart(pageWrap.getModel().getCancelDate()));
            queryWrapper.lambda().le(Empower::getCancelDate, Utils.Date.getEnd(pageWrap.getModel().getCancelDate()));
        }
        if (pageWrap.getModel().getCANCElInfo() != null) {
            queryWrapper.lambda().eq(Empower::getCANCElInfo, pageWrap.getModel().getCANCElInfo());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
        MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(Empower.class);
        queryWrapper.selectAs(Member::getName,Empower::getMemberName);
        queryWrapper.selectAs(Member::getPhone,Empower::getMemberPhone);
        queryWrapper.selectAs(Member::getIdcardDecode,Empower::getMemberidCard);
        queryWrapper.selectAs(Device::getName,Empower::getDeviceName);
        queryWrapper.selectAs(Company::getName,Empower::getCompanyName);
        queryWrapper.selectAs(SystemUser::getUsername,Empower::getCreaterName);
        queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
        queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
        queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,Empower::getCreator);
        queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
        queryWrapper
               /* .eq(Empower::getIsdeleted, Constants.ZERO)*/
                .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName())
                .or().like(Member::getPhone,pageWrap.getModel().getMemberName()));
        queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getSendStatus()),Empower::getSendStatus,pageWrap.getModel().getSendStatus());
        queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getCompanyId()),Company::getId,pageWrap.getModel().getCompanyId());
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getName,pageWrap.getModel().getCompanyName());
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getDeviceName()),Device::getName,pageWrap.getModel().getDeviceName());
        queryWrapper.ge(Objects.nonNull(pageWrap.getModel().getSendStartDate()),Empower::getCreateDate,pageWrap.getModel().getSendStartDate());
        queryWrapper.le(Objects.nonNull(pageWrap.getModel().getSendEndDate()),Empower::getCreateDate,pageWrap.getModel().getSendEndDate());
        SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
        Calendar cal=Calendar.getInstance();
        if(Objects.nonNull(pageWrap.getModel().getTimeDn())){
            if(Constants.equalsInteger(pageWrap.getModel().getTimeDn(),0)){
                String now=format.format(cal.getTime())+" :00:00:00";
                queryWrapper.ge(Empower::getSendDate,now);
            }
            if(Constants.equalsInteger(pageWrap.getModel().getTimeDn(),7)){
                cal.add(Calendar.DAY_OF_MONTH,-7);
                queryWrapper.ge(Empower::getSendDate,cal.getTime());
            }
            if(Constants.equalsInteger(pageWrap.getModel().getTimeDn(),30)){
                cal.add(Calendar.DAY_OF_MONTH,-30);
                queryWrapper.ge(Empower::getSendDate,cal.getTime());
            }
        }
        return PageData.from(empowerMapper.selectPage(page, queryWrapper));
        queryWrapper.orderByDesc(Empower::getId);
        IPage<Empower> result = empowerJoinMapper.selectJoinPage(page, Empower.class,queryWrapper);
        return PageData.from(result);
    }
    @Override