febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpDimissionLog.java
@@ -125,4 +125,10 @@ @TableField(exist = false) private String dimissionDateStr= ""; @TableField(exist = false) private String afterOperation= ""; @TableField(exist = false) private String certificateNumb= ""; } febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpContractInfoMapper.java
@@ -60,4 +60,18 @@ " </foreach>\n" + "</script>") int momentToNormal(@Param("list") List<String> list,@Param("operatorId") String operatorId); @Update("<script> " + " UPDATE t_emp_contractinfo SET contractStatus='3',\n" + " empStatus='1',\n" + " modifyTime = NOW(),\n" + " modifier = #{operatorId}, \n" + " version = version+1 \n" + " WHERE contractStatus in ('1','2') " + " and empId IN \n" + " <foreach item=\"delId\" collection=\"list\" open=\"(\" close=\")\" separator=\",\">\n" + " #{delId} \n" + " </foreach>\n" + "</script>") int terminateContract(@Param("list") List<String> list,@Param("operatorId") String operatorId); } febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpContractInfoService.java
@@ -79,4 +79,6 @@ boolean momentToNormal(String ids); void importEmpContractInfo(List<List<Object>> listObject); void terminateContract(String empIds, String operatorId); } febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
@@ -13,6 +13,7 @@ import cc.mrbird.febs.server.hr.entity.EmpJobChange; import cc.mrbird.febs.server.hr.feign.IRemoteUserService; import cc.mrbird.febs.server.hr.properties.FebsServerHrProperties; import cc.mrbird.febs.server.hr.service.IEmpContractInfoService; import cc.mrbird.febs.server.hr.service.IEmpDimissionLogService; import cc.mrbird.febs.server.hr.service.IEmpJobChangeService; import cn.hutool.core.date.DateUnit; @@ -66,6 +67,7 @@ private final EmpBaseInfoMapper empBaseInfoMapper; private final IEmpDimissionLogService dimissionLogService; private final IEmpJobChangeService jobChangeService; private final IEmpContractInfoService empContractInfoService; private final FebsServerHrProperties properties; private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()) .map(u -> u.getUserId().toString()) @@ -269,6 +271,7 @@ String[] str = empDimissionLog.getEmpIds().split(","); List<String> list = new ArrayList<>(Arrays.asList(str)); String[] strDate = empDimissionLog.getEntryDates().split(","); EmpDimissionLog dimissionLog = null; for (int i = 0, k = str.length; i < k; i++) { dimissionLog = new EmpDimissionLog(); @@ -284,9 +287,28 @@ dimissionLog.setModifier(operatorId); dimissionLogService.save(dimissionLog); } EmpBaseInfo empBaseInfo = this.getById(dimissionLog.getEmpId()); if (StrUtil.isNotBlank(empDimissionLog.getAfterOperation())) { String[] strAfterOperation = empDimissionLog.getAfterOperation().split(","); int flag = 0; for (String s : strAfterOperation) { flag = flag + Integer.parseInt(s); } switch (flag) { case 1: //解除合同 empContractInfoService.terminateContract(empDimissionLog.getEmpIds(), operatorId); break; case 2: //禁用账户 iRemoteUserService.updateStatus(empBaseInfo.getCertificateNumb()); iRemoteUserService.updateStatus(empDimissionLog.getCertificateNumb()); break; case 3: empContractInfoService.terminateContract(empDimissionLog.getEmpIds(), operatorId); iRemoteUserService.updateStatus(empDimissionLog.getCertificateNumb()); break; } } return empBaseInfoMapper.closeEmpArchives(list, empDimissionLog.getDimissionType(), empDimissionLog.getDimissionDate(), empDimissionLog.getRemark(), operatorId) > 0; } @@ -740,13 +762,13 @@ } /** * * 检查是否是带条件查询 * * <p> * date 2021-02-26 13:49 * @author: luoyibo * * @param empBaseInfo 人员参数 * @return boolean * @author: luoyibo */ private boolean checkQueryCondition(EmpBaseInfo empBaseInfo){ int hasCondition = 0; febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpContractInfoServiceImpl.java
@@ -11,7 +11,6 @@ import cc.mrbird.febs.common.core.entity.system.DicItem; import cc.mrbird.febs.common.core.utils.CastUtil; import cc.mrbird.febs.common.redis.service.RedisService; import cc.mrbird.febs.server.hr.entity.EmpPhysicalExam; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -26,7 +25,6 @@ import cc.mrbird.febs.common.core.entity.QueryRequest; import cc.mrbird.febs.common.core.utils.FebsUtil; import cc.mrbird.febs.common.core.utils.SequenceUtil; import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; import cc.mrbird.febs.server.hr.entity.EmpContractInfo; import cc.mrbird.febs.server.hr.mapper.EmpContractInfoMapper; import cc.mrbird.febs.server.hr.service.IEmpContractInfoService; @@ -190,4 +188,12 @@ this.save(contractInfo); } } @Override @Transactional(rollbackFor = Exception.class) public void terminateContract(String empIds, String operatorId) { String[] str = empIds.split(","); List<String> list = new ArrayList<>(Arrays.asList(str)); empContractinfoMapper.terminateContract(list, operatorId); } } febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/controller/UserController.java
@@ -175,7 +175,10 @@ @PostMapping("updateStatus") public void updateStatus(@NotBlank(message = "{required}") String certificateNumb) { this.userService.updateUserByCertificateNumb(certificateNumb); String[] strNumbers = certificateNumb.split(","); for (int i = 0,k=strNumbers.length; i < k; i++) { this.userService.updateUserByCertificateNumb(strNumbers[i]); } } private static final String XLSX = ".xlsx"; @PostMapping("import")