yz_08
2021-05-10 a0a84b9ecbedfa2a04060171cf25e5a0215a5e73
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpOpenArchivesServiceImpl.java
@@ -4,10 +4,13 @@
import cc.mrbird.febs.common.core.entity.constant.FebsConstant;
import cc.mrbird.febs.common.core.utils.SortUtil;
import cc.mrbird.febs.server.hr.entity.EmpBaseInfo;
import cc.mrbird.febs.server.hr.entity.EmpDimissionLog;
import cc.mrbird.febs.server.hr.entity.EmpOpenArchives;
import cc.mrbird.febs.server.hr.mapper.EmpOpenArchivesMapper;
import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService;
import cc.mrbird.febs.server.hr.service.IEmpDimissionLogService;
import cc.mrbird.febs.server.hr.service.IEmpOpenArchivesService;
import cn.hutool.core.date.DateUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.annotation.Propagation;
@@ -38,6 +41,7 @@
    private final EmpOpenArchivesMapper empOpenarchivesMapper;
    private final IEmpBaseInfoService empBaseInfoService;
    private final IEmpDimissionLogService dimissionLogService;
    private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
            .map(u -> u.getUserId().toString())
            .orElse("1");
@@ -47,7 +51,7 @@
        LambdaQueryWrapper<EmpOpenArchives> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EmpOpenArchives::getDelFlag, 0);
        Page<EmpOpenArchives> page = new Page<>(request.getPageNum(), request.getPageSize());
        SortUtil.handlePageSort(request, page, "createTime", FebsConstant.ORDER_DESC, true);
        SortUtil.handlePageSort(request, page, "openDate", FebsConstant.ORDER_ASC, true);
        return this.page(page, queryWrapper);
    }
@@ -71,10 +75,21 @@
        empBaseInfo.setEntryType(empOpenarchives.getOpenType());
        empBaseInfo.setEmpStatus("0");
        empBaseInfo.setDimissionType("");
        empBaseInfo.setDimissionDate(null);
        empBaseInfo.setDimissionDate(DateUtil.parse("1900-01-01"));
        empBaseInfo.setModifyTime(new Date());
        empBaseInfo.setModifier(operatorId);
        empBaseInfoService.saveOrUpdate(empBaseInfo);
        EmpDimissionLog dimissionLog = new EmpDimissionLog();
        dimissionLog.setCloseId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
        dimissionLog.setEmpId(empOpenarchives.getEmpId());
        dimissionLog.setEntryDate(empOpenarchives.getOpenDate());
        dimissionLog.setDimissionType(empOpenarchives.getOpenType());
        dimissionLog.setRemark(empOpenarchives.getRemark());
        dimissionLog.setCreator(operatorId);
        dimissionLog.setModifier(operatorId);
        dimissionLogService.save(dimissionLog);
    }
    @Override