孔祥富
2021-02-25 a533affac66b956b4285ed74261bdff7481133f6
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpUnemploymentServiceImpl.java
@@ -1,22 +1,33 @@
package cc.mrbird.febs.server.hr.service.impl;
import cc.mrbird.febs.common.core.constant.ModuleCode;
import cc.mrbird.febs.server.hr.entity.EmpUnemployment;
import cc.mrbird.febs.server.hr.mapper.EmpUnemploymentMapper;
import cc.mrbird.febs.server.hr.service.IEmpUnemploymentService;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.annotation.Propagation;
import lombok.RequiredArgsConstructor;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cc.mrbird.febs.common.core.constant.ModuleCode;
import cc.mrbird.febs.common.core.entity.QueryRequest;
import cc.mrbird.febs.common.core.entity.system.Dept;
import cc.mrbird.febs.common.core.utils.CastUtil;
import cc.mrbird.febs.common.core.utils.FebsUtil;
import cc.mrbird.febs.common.core.utils.SequenceUtil;
import java.util.*;
import cc.mrbird.febs.common.redis.service.RedisService;
import cc.mrbird.febs.server.hr.entity.EmpUnemployment;
import cc.mrbird.febs.server.hr.mapper.EmpUnemploymentMapper;
import cc.mrbird.febs.server.hr.service.IEmpUnemploymentService;
import cn.hutool.core.date.DateUtil;
import lombok.RequiredArgsConstructor;
/**
 * name:EmpUnemployment
@@ -32,6 +43,7 @@
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
class EmpUnemploymentServiceImpl extends ServiceImpl<EmpUnemploymentMapper, EmpUnemployment> implements IEmpUnemploymentService {
   private final RedisService redisService;
    private final EmpUnemploymentMapper empUnemploymentMapper;
    private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
            .map(u -> u.getUserId().toString())
@@ -41,6 +53,24 @@
    public IPage<EmpUnemployment> findEmpUnemployments(QueryRequest request, EmpUnemployment empUnemployment) {
        LambdaQueryWrapper<EmpUnemployment> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EmpUnemployment::getDelFlag, empUnemployment.getDelFlag());
        if (StringUtils.isNotBlank(empUnemployment.getEmpNumb())) {
            queryWrapper.like(EmpUnemployment::getEmpNumb, empUnemployment.getEmpNumb());
        }
        if (StringUtils.isNotBlank(empUnemployment.getEmpName())) {
            queryWrapper.like(EmpUnemployment::getEmpName, empUnemployment.getEmpName());
        }
        if (StringUtils.isNotBlank(empUnemployment.getCertificateNumb())) {
            queryWrapper.like(EmpUnemployment::getCertificateNumb, empUnemployment.getCertificateNumb());
        }
        if (StringUtils.isNotBlank(empUnemployment.getDeptName())) {
            queryWrapper.like(EmpUnemployment::getDeptName, empUnemployment.getDeptName());
        }
        if (StringUtils.isNotBlank(empUnemployment.getApplayDateStr())) {
           queryWrapper.between(EmpUnemployment::getApplayDate, empUnemployment.getApplayDateStr().split(",")[0],  empUnemployment.getApplayDateStr().split(",")[1]);
        }
        if (StringUtils.isNotBlank(empUnemployment.getApplayReason())) {
            queryWrapper.like(EmpUnemployment::getApplayReason, empUnemployment.getApplayReason());
        }
        Page<EmpUnemployment> page = new Page<>(request.getPageNum(), request.getPageSize());
        return this.page(page, queryWrapper);
    }
@@ -104,4 +134,31 @@
        List<String> list = new ArrayList<>(Arrays.asList(str));
        return empUnemploymentMapper.momentToNormal(list, operatorId)>0;
    }
    @Override
   @Transactional(rollbackFor = Exception.class)
    public void importEmpUnemployment(List<List<Object>> listObject) {
       for (List<Object> list : listObject) {
          EmpUnemployment empUnemployment=new EmpUnemployment();
          empUnemployment.setUnemploymentId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
          empUnemployment.setEmpNumb(list.get(0).toString());
         List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
         Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get()
               .getDeptId();
         empUnemployment.setDeptName(list.get(1).toString());
         empUnemployment.setDeptId(deptId);
         empUnemployment.setJobName(list.get(2).toString());
         empUnemployment.setEmpName(list.get(3).toString());
         empUnemployment.setCertificateNumb(list.get(4).toString());
         if (StringUtils.isNotBlank(list.get(5).toString())) {
            empUnemployment.setApplayDate(DateUtil.parseDate(list.get(5).toString()));
         }
         empUnemployment.setApplayReason(list.get(6).toString());
         empUnemployment.setReporter(list.get(7).toString());
         empUnemployment.setAuditor(list.get(8).toString());
         empUnemployment.setRemark(list.get(9).toString());
         this.save(empUnemployment);
       }
   }
}