| | |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | |
| | | import cc.mrbird.febs.server.hr.entity.EmpDimissionLog; |
| | | import cc.mrbird.febs.server.hr.service.IEmpDimissionLogService; |
| | | import cn.hutool.core.date.DateUnit; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | |
| | | private final RedisService redisService; |
| | | private final IRemoteDeptService remoteDeptService; |
| | | private final EmpBaseInfoMapper empBaseInfoMapper; |
| | | private final IEmpDimissionLogService dimissionLogService; |
| | | private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) |
| | | .map(u -> u.getUserId().toString()) |
| | | .orElse("1"); |
| | |
| | | * |
| | | * date 2021-02-18 12:54 |
| | | * @author: luoyibo |
| | | * @param ids 待关闭档案员工 Id |
| | | * @param dimissionType 离职类型 |
| | | * @param dimissionDate 离职日期 |
| | | * @param remark 备注 |
| | | * @param empDimissionLog |
| | | * @return boolean |
| | | */ |
| | | @Override |
| | | public boolean closeEmpArchives(String ids, String dimissionType, Date dimissionDate, String remark) { |
| | | String[] str = ids.split(","); |
| | | public boolean closeEmpArchives(EmpDimissionLog empDimissionLog) { |
| | | String[] str = empDimissionLog.getEmpIds().split(","); |
| | | List<String> list = new ArrayList<>(Arrays.asList(str)); |
| | | return empBaseInfoMapper.closeEmpArchives(list, dimissionType, dimissionDate, remark, operatorId)>0; |
| | | String[] strDate = empDimissionLog.getEntryDates().split(","); |
| | | EmpDimissionLog dimissionLog = null; |
| | | for (int i = 0,k=str.length; i < k; i++) { |
| | | dimissionLog = new EmpDimissionLog(); |
| | | dimissionLog.setCloseId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | dimissionLog.setEmpId(Long.parseLong(str[i])); |
| | | dimissionLog.setEntryDate(DateUtil.parse(strDate[i],"yyyy-MM-dd")); |
| | | dimissionLog.setDimissionDate(empDimissionLog.getDimissionDate()); |
| | | dimissionLog.setDimissionType(empDimissionLog.getDimissionType()); |
| | | dimissionLog.setRemark(empDimissionLog.getRemark()); |
| | | dimissionLog.setSelfLeaveDay(empDimissionLog.getSelfLeaveDay()); |
| | | dimissionLog.setReporter(empDimissionLog.getReporter()); |
| | | dimissionLog.setCreator(operatorId); |
| | | dimissionLog.setModifier(operatorId); |
| | | |
| | | dimissionLogService.save(dimissionLog); |
| | | } |
| | | return empBaseInfoMapper.closeEmpArchives(list, empDimissionLog.getDimissionType(), empDimissionLog.getDimissionDate(), empDimissionLog.getRemark(), operatorId)>0; |
| | | } |
| | | } |