批量转岗计划+批量下岗计划

develop-QA
qinyulong 3 months ago
parent 388411a1f9
commit b2aa5fcd02
  1. 18
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/PostHandleController.java
  2. 21
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IPostHandleService.java
  3. 96
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java

@ -156,6 +156,24 @@ public class PostHandleController extends BladeController {
return postHandleService.JobTransferPlan(Func.toLongList(ids), teacherId, teacherName, trainingPlanId);
}
/**
* 批量下岗计划
*
* @param ids
* @param teacherId
* @param teacherName
* @param trainingPlanId
* @return
*/
@PostMapping("/layoffPlan")
@ApiOperationSupport(order = 8)
@Operation(summary = "批量下岗计划", description = "传入ids")
public R layoffPlan(@Parameter(description = "主键集合", required = true) @RequestParam String ids,
@Parameter(description = "培训师id", required = true) @RequestParam Long teacherId,
@Parameter(description = "培训师姓名", required = true) @RequestParam String teacherName,
@Parameter(description = "培训模板id", required = true) @RequestParam Long trainingPlanId) {
return postHandleService.layoffPlan(Func.toLongList(ids), teacherId, teacherName, trainingPlanId);
}
/**
* 导出数据

@ -52,5 +52,26 @@ public interface IPostHandleService extends BaseService<PostHandleEntity> {
*/
R saveOrUpdateHandle(PostHandleEntity postHandleEntity);
/**
* 批量转岗计划
*
* @param ids
* @param teacherId
* @param teacherName
* @param trainingPlanId
* @return
*/
R JobTransferPlan(List<Long> ids, Long teacherId, String teacherName, Long trainingPlanId);
/**
* 批量下岗计划
*
* @param ids
* @param teacherId
* @param teacherName
* @param trainingPlanId
* @return
*/
R layoffPlan(List<Long> ids, Long teacherId, String teacherName, Long trainingPlanId);
}

@ -18,7 +18,9 @@ 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.ArrayList;
import java.util.Date;
import java.util.List;
@ -52,12 +54,13 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
}
@Override
@Transactional(rollbackFor = Exception.class)
public R regularization(List<Long> ids) {
// 1. 验证阶段:查看匹配的数据数量,如数量和id不同,则失败
Long matchedCount = this.lambdaQuery()
.in(PostHandleEntity::getId, ids)
// .eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.of(""))
.eq(PostHandleEntity::getStaffType, StaffTypeEnum.of("实习工").getCode())
.eq(PostHandleEntity::getStaffType, StaffTypeEnum.FIELD_WORK.getCode())
.eq(PostHandleEntity::getIsDeleted, 0)
.count();
if (matchedCount < ids.size()) {
@ -67,15 +70,16 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
//更新阶段
boolean updateSuccess = this.lambdaUpdate()
.in(PostHandleEntity::getId, ids)
.eq(PostHandleEntity::getStaffType, StaffTypeEnum.of("实习工").getCode())
.set(PostHandleEntity::getStaffType, StaffTypeEnum.of("正式工").getCode())
.set(PostHandleEntity::getPhStatus, PostHandleStatusEnum.of("正常").getCode())
.eq(PostHandleEntity::getStaffType, StaffTypeEnum.FIELD_WORK.getCode())
.set(PostHandleEntity::getStaffType, StaffTypeEnum.FORMAL.getCode())
.set(PostHandleEntity::getPhStatus, PostHandleStatusEnum.NORMALITY.getCode())
.set(PostHandleEntity::getUpdateTime, new Date())
.update();
return R.status(updateSuccess);
}
@Override
@Transactional(rollbackFor = Exception.class)
public R saveOrUpdateHandle(PostHandleEntity postHandleEntity) {
if (null != postHandleEntity.getId() && postHandleEntity.getId() > 0) {
@ -91,10 +95,10 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
return R.fail("该用户已存在岗位处理记录,不允许重复添加");
}
// 如果是正式工状态为正常
if (postHandleEntity.getStaffType() == StaffTypeEnum.of("正式工").getCode().shortValue()) {
postHandleEntity.setPhStatus(PostHandleStatusEnum.of("正常").getCode().shortValue());
if (postHandleEntity.getStaffType() == StaffTypeEnum.FORMAL.getCode().shortValue()) {
postHandleEntity.setPhStatus(PostHandleStatusEnum.NORMALITY.getCode().shortValue());
} else {
postHandleEntity.setPhStatus(PostHandleStatusEnum.of("实习中").getCode().shortValue());
postHandleEntity.setPhStatus(PostHandleStatusEnum.IN_PRACTICE.getCode().shortValue());
}
boolean save = this.save(postHandleEntity);
//实习工自动创建一条培训计划
@ -104,9 +108,85 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
}
@Override
@Transactional(rollbackFor = Exception.class)
public R JobTransferPlan(List<Long> ids, Long teacherId, String teacherName, Long trainingPlanId) {
// 1. 验证阶段:查看匹配的数据数量,如数量和id不同,则失败
Long matchedCount = this.lambdaQuery()
.in(PostHandleEntity::getId, ids)
.eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.NORMALITY.getCode())
.eq(PostHandleEntity::getStaffType, StaffTypeEnum.FORMAL.getCode())
.eq(PostHandleEntity::getIsDeleted, 0)
.count();
if (matchedCount < ids.size()) {
return R.fail("请选择正式工安排转岗计划");
}
// 2. 更新人员岗位数据
boolean updateSuccess = this.lambdaUpdate()
.in(PostHandleEntity::getId, ids)
.eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.NORMALITY.getCode())
.eq(PostHandleEntity::getStaffType, StaffTypeEnum.FORMAL.getCode())
.set(PostHandleEntity::getPhStatus, PostHandleStatusEnum.JOB_TRANSFER.getCode())
.set(PostHandleEntity::getUpdateTime, new Date())
.update();
if (!updateSuccess) {
return R.fail("转岗计划操作失败");
}
// 3. 为每条转岗计划新增培训安排
List<CultivateDetailEntity> cultivateDetails = new ArrayList<>();
for (Long phId : ids) {
CultivateDetailEntity detail = new CultivateDetailEntity();
detail.setType((short) 2);
detail.setPlanId(trainingPlanId);
detail.setPhId(phId);
detail.setCaStatus(TrainingStatusEnum.WAIT_DISTRIBUTE.getCode().shortValue());
detail.setTeacherId(teacherId);
detail.setTeacherName(teacherName);
cultivateDetails.add(detail);
}
boolean saveResult = iCultivateDetailService.saveBatch(cultivateDetails);
return R.status(saveResult, "操作成功");
}
@Override
@Transactional(rollbackFor = Exception.class)
public R layoffPlan(List<Long> ids, Long teacherId, String teacherName, Long trainingPlanId) {
// 1. 验证阶段:查看匹配的数据数量,如数量和id不同,则失败
Long matchedCount = this.lambdaQuery()
.in(PostHandleEntity::getId, ids)
.eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.NORMALITY.getCode())
.eq(PostHandleEntity::getStaffType, StaffTypeEnum.FORMAL.getCode())
.eq(PostHandleEntity::getIsDeleted, 0)
.count();
if (matchedCount < ids.size()) {
return R.fail("请选择正式工安排下岗计划");
}
// 2. 更新人员岗位数据
boolean updateSuccess = this.lambdaUpdate()
.in(PostHandleEntity::getId, ids)
.eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.NORMALITY.getCode())
.eq(PostHandleEntity::getStaffType, StaffTypeEnum.FORMAL.getCode())
.set(PostHandleEntity::getPhStatus, PostHandleStatusEnum.LAID_OFF.getCode())
.set(PostHandleEntity::getUpdateTime, new Date())
.update();
if (!updateSuccess) {
return R.fail("下岗计划操作失败");
}
// 3. 为每条下岗计划新增培训安排
List<CultivateDetailEntity> cultivateDetails = new ArrayList<>();
for (Long phId : ids) {
CultivateDetailEntity detail = new CultivateDetailEntity();
detail.setType((short) 3);
detail.setPlanId(trainingPlanId);
detail.setPhId(phId);
detail.setCaStatus(TrainingStatusEnum.WAIT_DISTRIBUTE.getCode().shortValue());
detail.setTeacherId(teacherId);
detail.setTeacherName(teacherName);
cultivateDetails.add(detail);
}
boolean saveResult = iCultivateDetailService.saveBatch(cultivateDetails);
return null;
return R.status(saveResult, "操作成功");
}
/**

Loading…
Cancel
Save