|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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.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) { | 
|---|
|  |  |  | 
|---|
|  |  |  | @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(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 | 
|---|
|  |  |  | /* .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().getCompanyName())); | 
|---|
|  |  |  | 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.ge(Objects.nonNull(pageWrap.getModel().getSendStartDate()),Empower::getSendDate,pageWrap.getModel().getSendStartDate()); | 
|---|
|  |  |  | queryWrapper.le(Objects.nonNull(pageWrap.getModel().getSendEndDate()),Empower::getSendDate,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::getCreateDate); | 
|---|
|  |  |  | IPage<Empower> result = empowerJoinMapper.selectJoinPage(page, Empower.class,queryWrapper); | 
|---|
|  |  |  | return PageData.from(result); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|