package cc.mrbird.febs.server.hr.service.impl; import cc.mrbird.febs.common.core.constant.ModuleCode; import cc.mrbird.febs.common.core.entity.QueryRequest; import cc.mrbird.febs.common.core.exception.FebsException; import cc.mrbird.febs.common.core.utils.FebsUtil; import cc.mrbird.febs.common.core.utils.MyUtil; import cc.mrbird.febs.common.core.utils.SequenceUtil; import cc.mrbird.febs.server.hr.entity.EmpAccessory; import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; import cc.mrbird.febs.server.hr.entity.Label; import cc.mrbird.febs.server.hr.feign.IRemoteDeptService; import cc.mrbird.febs.server.hr.mapper.EmpAccessoryMapper; import cc.mrbird.febs.server.hr.properties.FebsServerHrProperties; import cc.mrbird.febs.server.hr.service.IEmpAccessoryService; import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; import cc.mrbird.febs.server.hr.service.ILabelService; import cc.mrbird.febs.server.hr.vo.EmpAccessoryVO; import cn.hutool.core.io.FileUtil; import cn.hutool.core.lang.Dict; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.ZipUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.util.*; /** * 附件管理 Service实现 * * @author yz * @date 2021-02-15 17:07:19 */ @Service @RequiredArgsConstructor @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) @Slf4j public class EmpAccessoryServiceImpl extends ServiceImpl implements IEmpAccessoryService { private final ILabelService labelService; private final EmpAccessoryMapper empAccessoryMapper; private final FebsServerHrProperties properties; private final IRemoteDeptService remoteDeptService; private final IEmpBaseInfoService empBaseInfoService; /** * 参数2为数据中心ID 参数1为终端ID */ private Snowflake snowflake = IdUtil.getSnowflake(ModuleCode.HR_FIlE, 1); @Override public IPage> findEmpAccessorys(QueryRequest request, EmpAccessoryVO vo) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("a.delFlag", 0); if (StrUtil.isNotBlank(vo.getBasic())) { queryWrapper.and(p -> { p.like("a.empNumb", vo.getBasic()) .or().like("a.deptName", vo.getBasic()) .or().like("a.certificateNumb", vo.getBasic()) .or().like("a.empName", vo.getBasic()) .or().like("a.jobName", vo.getBasic()); }); } if (StrUtil.isNotBlank(vo.getEmpName())) { queryWrapper.like("a.empName", vo.getEmpName()); } if (StrUtil.isNotBlank(vo.getEmpNumb())) { queryWrapper.like("a.empNumb", vo.getEmpNumb()); } if (StrUtil.isNotBlank(vo.getCertificateNumb())) { queryWrapper.like("a.certificateNumb", vo.getCertificateNumb()); } if (StrUtil.isNotBlank(vo.getDeptName())) { queryWrapper.like("a.deptName", vo.getDeptName()); } if (StrUtil.isNotBlank(vo.getEntryDate())) { queryWrapper.between("a.entryDate", vo.getEntryDate().split(",")[0], vo.getEntryDate().split(",")[1]); } if (StrUtil.isNotBlank(vo.getAge())) { String[] arr = vo.getAge().split(","); for (String s : arr) { if (StrUtil.equals(s, "18-29")) { queryWrapper.or().between("a.age", 18, 29); } if (StrUtil.equals(s, "30-39")) { queryWrapper.or().between("a.age", 30, 39); } if (StrUtil.equals(s, "40-49")) { queryWrapper.or().between("a.age", 40, 49); } if (StrUtil.equals(s, "50-59")) { queryWrapper.or().between("a.age", 50, 59); } if (StrUtil.equals(s, "60-69")) { queryWrapper.or().between("a.age", 60, 69); } if (StrUtil.equals(s, "69-999")) { queryWrapper.or().ge("a.age", 69); } } } if (StrUtil.isNotBlank(vo.getArchivesStatus())) { queryWrapper.in("a.archivesStatus", vo.getArchivesStatus().split(",")); } if (StrUtil.isNotBlank(vo.getEducation())) { queryWrapper.in("a.education", vo.getEducation().split(",")); } if (StrUtil.isNotBlank(vo.getSex())) { queryWrapper.in("a.sex", vo.getSex().split(",")); } if (StrUtil.isNotBlank(vo.getInsuranceType())) { queryWrapper.in("a.insuranceType", vo.getInsuranceType().split(",")); } if (StrUtil.isNotBlank(vo.getPolitics())) { queryWrapper.in("a.politics", vo.getPolitics().split(",")); } if (StrUtil.isNotBlank(vo.getEmpStatus())) { queryWrapper.in("a.empStatus", vo.getEmpStatus().split(",")); } if (StrUtil.isNotBlank(vo.getPolitics())) { queryWrapper.in("a.politics", vo.getPolitics().split(",")); } if (StringUtils.isNotBlank(vo.getHandbookStatus())) { queryWrapper.in("a.HandbookStatus", vo.getHandbookStatus().split(",")); } if (StringUtils.isNotBlank(vo.getEmpCardStatus())) { queryWrapper.in("a.EmpCardStatus", vo.getEmpCardStatus().split(",")); } if (StringUtils.isNotBlank(vo.getEmpType())) { queryWrapper.in("a.empType", vo.getEmpType().split(",")); } if (StringUtils.isNotBlank(vo.getEntryType())) { queryWrapper.in("a.entryType", vo.getEntryType().split(",")); } queryWrapper.inSql("c.dept_Id", remoteDeptService.userRightDepts()); if (StrUtil.isNotBlank(vo.getFileName())){ queryWrapper.like("acc.filesName", vo.getFileName()); } queryWrapper.orderByAsc("a.deptName,a.empName"); queryWrapper.groupBy(" a.delFlag,a.empName,a.empStatus,a.empId,a.certificateNumb,a.empNumb,deptName,a.jobName"); Page page = new Page<>(request.getPageNum(), request.getPageSize()); // String querySql = empAccessoryMapper.getQuerySql(); //List