批量培训完成根据不同的人员岗位状态设置不同的目标状态,人员岗位管理转岗功能和离职功能

develop-QA
qinyulong 3 months ago
parent e89e50e3fe
commit 560ef1c7a5
  1. 4
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/PostHandleEntity.java
  2. 6
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/PostHandleStatusEnum.java
  3. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CultivateDetailController.java
  4. 21
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/PostHandleController.java
  5. 13
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/TrainingPlanController.java
  6. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICultivateDetailService.java
  7. 16
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IPostHandleService.java
  8. 38
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CultivateDetailServiceImpl.java
  9. 51
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java

@ -137,9 +137,9 @@ public class PostHandleEntity extends BaseEntity {
@Schema(description = "转岗时间")
private Date toNewJob;
/**
* 1实习-培训中,2转岗中,3正常,4下岗中,5离职,6培训合格,7培训不合格
* 1实习-培训中,2转岗中,3正常,4下岗中,5离职,6转岗培训合格,7下岗培训合格8实习培训合格9培训不合格
*/
@Schema(description = "1实习-培训中,2转岗中,3正常,4下岗中,5离职,6培训合格,7培训不合格")
@Schema(description = "1实习-培训中,2转岗中,3正常,4下岗中,5离职,6转岗培训合格,7下岗培训合格,8实习培训合格,9培训不合格")
private Short phStatus;
}

@ -26,8 +26,10 @@ public enum PostHandleStatusEnum {
NORMALITY("正常", 3),
LAID_OFF("下岗中", 4),
DEPART("离职", 5),
TRAINED("培训合格", 6),
UNQUALIFIED("培训不合格", 7),
JOB_TRANSFER_TRAINED("转岗培训合格", 6),
LAID_OFF_TRAINED("下岗培训合格", 7),
IN_PRACTICE_TRAINED("实习培训合格", 8),
UNQUALIFIED("培训不合格", 9),
;
final String name;
final Integer code;

@ -191,7 +191,7 @@ public class CultivateDetailController extends BladeController {
cultivateDetail.setCaStatus(TrainingStatusEnum.OK_TRAINED.getCode().shortValue());
cultivateDetail.setFinishTime(new Date());
}
return R.status(cultivateDetailService.saveOrUpdateBatch(cultivateDetails));
return cultivateDetailService.trainingCompleted(cultivateDetails);
}
@PostConstruct // 项目启动后立即执行一次

@ -225,4 +225,25 @@ public class PostHandleController extends BladeController {
return postHandleService.saveExcelData(importList);
}
/**
* 转岗
*/
@PostMapping("/jobTransfer")
@ApiOperationSupport(order = 13)
@Operation(summary = "转岗", description = "传入postHandle")
public R jobTransfer(@Valid @RequestBody PostHandleEntity postHandle) {
return postHandleService.jobTransfer(postHandle);
}
/**
* 离职
*/
@PostMapping("/depart")
@ApiOperationSupport(order = 14)
@Operation(summary = "离职", description = "传入postHandle")
public R depart(@Valid @RequestBody PostHandleEntity postHandle) {
return postHandleService.depart(postHandle);
}
}

@ -16,6 +16,8 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.jobTransfer.pojo.entity.CultivateDetailEntity;
import org.springblade.desk.jobTransfer.pojo.enums.TrainingStatusEnum;
import org.springblade.desk.jobTransfer.pojo.excel.TrainingPlanExcel;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -29,6 +31,7 @@ import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tool.constant.BladeConstant;
import java.util.Date;
import java.util.Map;
import java.util.List;
@ -113,6 +116,16 @@ public class TrainingPlanController extends BladeController {
return R.status(trainingPlanService.deleteLogic(Func.toLongList(ids)));
}
/**
* 批量增改
*/
@PostMapping("/submit-list")
@ApiOperationSupport(order = 8)
@Operation(summary = "批量增改", description = "传入trainingPlanEntities")
public R issued(@Valid @RequestBody List<TrainingPlanEntity> trainingPlanEntities) {
return R.status(trainingPlanService.saveOrUpdateBatch(trainingPlanEntities));
}
/**
* 导出数据

@ -1,6 +1,7 @@
package org.springblade.desk.jobTransfer.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import org.springblade.core.tool.api.R;
import org.springblade.desk.jobTransfer.pojo.entity.CultivateDetailEntity;
import org.springblade.desk.jobTransfer.pojo.excel.CultivateDetailExcel;
import org.springblade.desk.jobTransfer.pojo.request.CultivateDetailQuery;
@ -35,6 +36,13 @@ public interface ICultivateDetailService extends BaseService<CultivateDetailEnti
*/
List<CultivateDetailExcel> exportCultivateDetail(Wrapper<CultivateDetailEntity> queryWrapper);
/**
* 批量培训完成
*
* @param cultivateDetails
* @return
*/
R trainingCompleted(List<CultivateDetailEntity> cultivateDetails);
/**
* 培训超期
*/

@ -82,4 +82,20 @@ public interface IPostHandleService extends BaseService<PostHandleEntity> {
* @return
*/
R saveExcelData(List<PostHandleImport> postHandleEntityList);
/**
* 转岗
*
* @param postHandleEntity
* @return
*/
R jobTransfer(PostHandleEntity postHandleEntity);
/**
* 离职
*
* @param postHandleEntity
* @return
*/
R depart(PostHandleEntity postHandleEntity);
}

@ -1,17 +1,27 @@
package org.springblade.desk.jobTransfer.service.impl;
import jakarta.annotation.Resource;
import org.springblade.core.tool.api.R;
import org.springblade.desk.jobTransfer.pojo.entity.CultivateDetailEntity;
import org.springblade.desk.jobTransfer.pojo.entity.PostHandleEntity;
import org.springblade.desk.jobTransfer.pojo.enums.PostHandleStatusEnum;
import org.springblade.desk.jobTransfer.pojo.excel.CultivateDetailExcel;
import org.springblade.desk.jobTransfer.pojo.request.CultivateDetailQuery;
import org.springblade.desk.jobTransfer.pojo.vo.CultivateDetailVO;
import org.springblade.desk.jobTransfer.mapper.CultivateDetailMapper;
import org.springblade.desk.jobTransfer.service.ICultivateDetailService;
import org.springblade.desk.jobTransfer.service.IPostHandleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* 培训安排 服务实现类
@ -22,6 +32,9 @@ import java.util.List;
@Service
public class CultivateDetailServiceImpl extends BaseServiceImpl<CultivateDetailMapper, CultivateDetailEntity> implements ICultivateDetailService {
@Resource
private IPostHandleService postHandleService;
@Override
public IPage<CultivateDetailVO> selectCultivateDetailPage(IPage<CultivateDetailVO> page, CultivateDetailQuery cultivateDetailQuery) {
return page.setRecords(baseMapper.selectCultivateDetailPage(page, cultivateDetailQuery));
@ -37,6 +50,31 @@ public class CultivateDetailServiceImpl extends BaseServiceImpl<CultivateDetailM
return cultivateDetailList;
}
@Override
@Transactional(rollbackFor = Exception.class)
public R trainingCompleted(List<CultivateDetailEntity> cultivateDetails) {
//1.批量修改培训计划状态
boolean saved = this.saveOrUpdateBatch(cultivateDetails);
if (!saved) {
return R.fail("批量操作失败");
}
//2.批量修改人员岗位表数据
Set<Long> phIds = cultivateDetails.stream().map(CultivateDetailEntity::getPhId).collect(Collectors.toSet());
boolean updateSuccess = postHandleService.lambdaUpdate()
.in(PostHandleEntity::getId, phIds)
// 根据不同的原始状态设置不同的目标状态
.eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.JOB_TRANSFER.getCode())
.set(PostHandleEntity::getPhStatus, PostHandleStatusEnum.JOB_TRANSFER_TRAINED.getCode())
.eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.LAID_OFF.getCode())
.set(PostHandleEntity::getPhStatus, PostHandleStatusEnum.LAID_OFF_TRAINED.getCode())
.eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.IN_PRACTICE.getCode())
.set(PostHandleEntity::getPhStatus, PostHandleStatusEnum.IN_PRACTICE_TRAINED.getCode())
// 统一设置更新时间
.set(PostHandleEntity::getUpdateTime, new Date())
.update();
return R.status(updateSuccess);
}
@Override
public void exceed() {
baseMapper.exceed();

@ -3,7 +3,9 @@ package org.springblade.desk.jobTransfer.service.impl;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import jakarta.annotation.Resource;
import org.springblade.core.tool.api.R;
import org.springblade.desk.jobTransfer.pojo.entity.CertificateMaintenanceEntity;
import org.springblade.desk.jobTransfer.pojo.entity.CultivateDetailEntity;
import org.springblade.desk.jobTransfer.pojo.entity.EquipmentMaintenanceEntity;
import org.springblade.desk.jobTransfer.pojo.entity.PostHandleEntity;
import org.springblade.desk.jobTransfer.pojo.enums.*;
import org.springblade.desk.jobTransfer.pojo.excel.PostHandleExcel;
@ -11,7 +13,9 @@ import org.springblade.desk.jobTransfer.pojo.excel.PostHandleImport;
import org.springblade.desk.jobTransfer.pojo.request.PostHandleQuery;
import org.springblade.desk.jobTransfer.pojo.vo.PostHandleVO;
import org.springblade.desk.jobTransfer.mapper.PostHandleMapper;
import org.springblade.desk.jobTransfer.service.ICertificateMaintenanceService;
import org.springblade.desk.jobTransfer.service.ICultivateDetailService;
import org.springblade.desk.jobTransfer.service.IEquipmentMaintenanceService;
import org.springblade.desk.jobTransfer.service.IPostHandleService;
import org.springblade.system.cache.SysCache;
import org.springblade.system.cache.UserCache;
@ -40,6 +44,12 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
@Resource
private ICultivateDetailService iCultivateDetailService;
@Resource
private ICertificateMaintenanceService certificateMaintenanceService;
@Resource
private IEquipmentMaintenanceService equipmentMaintenanceService;
@Override
public IPage<PostHandleVO> selectPostHandlePage(IPage<PostHandleVO> page, PostHandleQuery postHandleQuery) {
// return page.setRecords(baseMapper.selectPostHandlePage(page, postHandle));
@ -63,12 +73,12 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
// 1. 验证阶段:查看匹配的数据数量,如数量和id不同,则失败
Long matchedCount = this.lambdaQuery()
.in(PostHandleEntity::getId, ids)
// .eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.of(""))
.eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.IN_PRACTICE_TRAINED.getCode().shortValue())
.eq(PostHandleEntity::getStaffType, StaffTypeEnum.FIELD_WORK.getCode())
.eq(PostHandleEntity::getIsDeleted, 0)
.count();
if (matchedCount < ids.size()) {
return R.fail("请选择实习工进行转正操作");
return R.fail("请在实习培训完成后操作");
}
//更新阶段
@ -231,6 +241,43 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
return R.status(saved);
}
@Override
public R jobTransfer(PostHandleEntity postHandleEntity) {
if (!(PostHandleStatusEnum.JOB_TRANSFER_TRAINED.getCode().shortValue() == postHandleEntity.getPhStatus())) {
return R.fail("请在转岗培训完成后操作");
}
postHandleEntity.setPhStatus(PostHandleStatusEnum.NORMALITY.getCode().shortValue());
postHandleEntity.setToNewJob(new Date());
return R.status(this.updateById(postHandleEntity));
}
@Override
@Transactional(rollbackFor = Exception.class)
public R depart(PostHandleEntity postHandleEntity) {
//1.离职修改状态
if (!(PostHandleStatusEnum.LAID_OFF_TRAINED.getCode().shortValue() == postHandleEntity.getPhStatus())) {
return R.fail("请在下岗培训完成后操作");
}
postHandleEntity.setPhStatus(PostHandleStatusEnum.DEPART.getCode().shortValue());
postHandleEntity.setToNewJob(new Date());
boolean updateP = this.updateById(postHandleEntity);
//2.离职后需把证书维护的状态置为离职
boolean updateC = certificateMaintenanceService.lambdaUpdate()
.eq(CertificateMaintenanceEntity::getPhId, postHandleEntity.getId())
.set(CertificateMaintenanceEntity::getMaintenanceStatus, MaintenanceStatusEnum.DEPART.getCode().shortValue())
.update();
//3.离职后需把设备维护的状态置为离职
boolean updateE = equipmentMaintenanceService.lambdaUpdate()
.eq(EquipmentMaintenanceEntity::getPhId, postHandleEntity.getId())
.set(EquipmentMaintenanceEntity::getMaintenanceStatus, MaintenanceStatusEnum.DEPART.getCode().shortValue())
.update();
if (updateP && updateC && updateE) {
return R.status(updateE);
} else {
return R.fail("操作失败");
}
}
/**
* 转换单个对象
*/

Loading…
Cancel
Save