转岗管理:实习工转正功能+人员转岗添加功能

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

@ -1,5 +1,7 @@
package org.springblade.desk.jobTransfer.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.enums.ParameterIn;
import io.swagger.v3.oas.annotations.media.Schema;
@ -108,7 +110,7 @@ public class PostHandleController extends BladeController {
@ApiOperationSupport(order = 6)
@Operation(summary = "新增或修改", description = "传入postHandle")
public R submit(@Valid @RequestBody PostHandleEntity postHandle) {
return R.status(postHandleService.saveOrUpdate(postHandle));
return postHandleService.saveOrUpdateHandle(postHandle);
}
/**
@ -121,6 +123,39 @@ public class PostHandleController extends BladeController {
return R.status(postHandleService.deleteLogic(Func.toLongList(ids)));
}
/**
* 批量转正
*
* @param ids
* @return R
*/
@PostMapping("/regularization")
@ApiOperationSupport(order = 8)
@Operation(summary = "转正", description = "传入ids")
public R regularization(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
return postHandleService.regularization(Func.toLongList(ids));
}
/**
* 批量转岗计划
*
* @param ids
* @param teacherId
* @param teacherName
* @param trainingPlanId
* @return
*/
@PostMapping("/JobTransferPlan")
@ApiOperationSupport(order = 8)
@Operation(summary = "批量转岗计划", description = "传入ids")
public R JobTransferPlan(@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.JobTransferPlan(Func.toLongList(ids), teacherId, teacherName, trainingPlanId);
}
/**
* 导出数据

@ -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.PostHandleEntity;
import org.springblade.desk.jobTransfer.pojo.excel.PostHandleExcel;
import org.springblade.desk.jobTransfer.pojo.request.PostHandleQuery;
@ -35,4 +36,21 @@ public interface IPostHandleService extends BaseService<PostHandleEntity> {
*/
List<PostHandleExcel> exportPostHandle(Wrapper<PostHandleEntity> queryWrapper);
/**
* 批量转正
*
* @param ids
* @return
*/
R regularization(List<Long> ids);
/**
* 新增
*
* @param postHandleEntity
* @return
*/
R saveOrUpdateHandle(PostHandleEntity postHandleEntity);
R JobTransferPlan(List<Long> ids, Long teacherId, String teacherName, Long trainingPlanId);
}

@ -1,21 +1,26 @@
package org.springblade.desk.jobTransfer.service.impl;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
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.enums.StaffTypeEnum;
import org.springblade.desk.jobTransfer.pojo.enums.TrainingStatusEnum;
import org.springblade.desk.jobTransfer.pojo.excel.PostHandleExcel;
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.ICultivateDetailService;
import org.springblade.desk.jobTransfer.service.IPostHandleService;
import org.springblade.system.pojo.entity.Dept;
import org.springblade.system.pojo.entity.User;
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 java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* 岗位处理 服务实现类
@ -26,6 +31,9 @@ import java.util.Objects;
@Service
public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, PostHandleEntity> implements IPostHandleService {
@Autowired
private ICultivateDetailService iCultivateDetailService;
@Override
public IPage<PostHandleVO> selectPostHandlePage(IPage<PostHandleVO> page, PostHandleQuery postHandleQuery) {
// return page.setRecords(baseMapper.selectPostHandlePage(page, postHandle));
@ -43,4 +51,76 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
return postHandleList;
}
@Override
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::getIsDeleted, 0)
.count();
if (matchedCount < ids.size()) {
return R.fail("请选择实习工进行转正操作");
}
//更新阶段
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())
.set(PostHandleEntity::getUpdateTime, new Date())
.update();
return R.status(updateSuccess);
}
@Override
public R saveOrUpdateHandle(PostHandleEntity postHandleEntity) {
if (null != postHandleEntity.getId() && postHandleEntity.getId() > 0) {
//更新
return R.status(this.updateById(postHandleEntity));
} else {
//同一用户不允许多次新增
Long existCount = this.lambdaQuery()
.eq(PostHandleEntity::getUserId, postHandleEntity.getUserId())
.eq(PostHandleEntity::getIsDeleted, 0)
.count();
if (existCount > 0) {
return R.fail("该用户已存在岗位处理记录,不允许重复添加");
}
// 如果是正式工状态为正常
if (postHandleEntity.getStaffType() == StaffTypeEnum.of("正式工").getCode().shortValue()) {
postHandleEntity.setPhStatus(PostHandleStatusEnum.of("正常").getCode().shortValue());
} else {
postHandleEntity.setPhStatus(PostHandleStatusEnum.of("实习中").getCode().shortValue());
}
boolean save = this.save(postHandleEntity);
//实习工自动创建一条培训计划
createPlan(postHandleEntity);
return R.status(save);
}
}
@Override
public R JobTransferPlan(List<Long> ids, Long teacherId, String teacherName, Long trainingPlanId) {
return null;
}
/**
* 实习工自动创建一条培训计划
*
* @param postHandleEntity
*/
public void createPlan(PostHandleEntity postHandleEntity) {
if (postHandleEntity.getStaffType() == StaffTypeEnum.of("实习工").getCode().shortValue()) {
CultivateDetailEntity cultivateDetailEntity = new CultivateDetailEntity();
cultivateDetailEntity.setPhId(postHandleEntity.getId());
cultivateDetailEntity.setType((short) 1);
cultivateDetailEntity.setCaStatus(TrainingStatusEnum.of("未配置").getCode().shortValue());
iCultivateDetailService.save(cultivateDetailEntity);
}
}
}

Loading…
Cancel
Save