|
|
|
|
@ -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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|