111
k94314517
2024-01-19 3e651114469863063847b4fe7f05c538e84eed28
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -2,19 +2,27 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.dto.MemberQueryDTO;
import com.doumee.dao.business.join.MemberJoinMapper;
import com.doumee.dao.business.model.DispatchUnit;
import com.doumee.dao.business.model.DuWorktype;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.Worktype;
import com.doumee.service.business.MemberService;
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.xiaoymin.knife4j.core.util.CollectionUtils;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
/**
 * 用工信息表Service实现
@@ -26,6 +34,9 @@
    @Autowired
    private MemberMapper memberMapper;
    @Autowired
    private MemberJoinMapper memberJoinMapper;
    @Override
    public Integer create(Member member) {
@@ -151,4 +162,25 @@
        QueryWrapper<Member> wrapper = new QueryWrapper<>(member);
        return memberMapper.selectCount(wrapper);
    }
    @Override
    public List<Member> findListByDTO(MemberQueryDTO memberQueryDTO) {
        List<Member> memberList = memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
                .selectAll(Member.class)
                .selectAs(DispatchUnit::getName,Member::getDuName)
                .selectAs(Worktype::getName,Member::getWorkTypeName)
                .leftJoin(DispatchUnit.class,DispatchUnit::getId,Member::getDuId)
                .leftJoin(Worktype.class,Worktype::getId,Member::getWorktypeId)
                .notIn(CollectionUtils.isNotEmpty(memberQueryDTO.getMemberIds()),Member::getId,memberQueryDTO.getMemberIds())
                .eq(!Objects.isNull(memberQueryDTO.getCompanyId()),Member::getCompanyId,memberQueryDTO.getCompanyId())
                .eq(Member::getIsdeleted, Constants.ZERO)
                .notExists(!Objects.isNull(memberQueryDTO.getInsuranceApplyId()),
                        " select 1 from apply_detail ad where ad.applyId = "+memberQueryDTO.getInsuranceApplyId()+" and ad.END_TIME > now() and ad.isdeleted = 0 " +
                                " and ad.member_id = t.id ")
        );
        return memberList;
    }
}