diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/PostHandleEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/PostHandleEntity.java index 31355182..3f7a2a59 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/PostHandleEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/PostHandleEntity.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; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/PostHandleStatusEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/PostHandleStatusEnum.java index d1fefcda..4ba3b663 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/PostHandleStatusEnum.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/PostHandleStatusEnum.java @@ -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; diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CultivateDetailController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CultivateDetailController.java index fea2e567..604580a3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CultivateDetailController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CultivateDetailController.java @@ -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 // 项目启动后立即执行一次 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/PostHandleController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/PostHandleController.java index a6810c52..cef1dd1e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/PostHandleController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/PostHandleController.java @@ -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); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/TrainingPlanController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/TrainingPlanController.java index f991c161..dd6276a0 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/TrainingPlanController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/TrainingPlanController.java @@ -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 trainingPlanEntities) { + return R.status(trainingPlanService.saveOrUpdateBatch(trainingPlanEntities)); + } + /** * 导出数据 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICultivateDetailService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICultivateDetailService.java index 9a558f5a..febffdc1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICultivateDetailService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICultivateDetailService.java @@ -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 exportCultivateDetail(Wrapper queryWrapper); + /** + * 批量培训完成 + * + * @param cultivateDetails + * @return + */ + R trainingCompleted(List cultivateDetails); /** * 培训超期 */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IPostHandleService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IPostHandleService.java index 05d9052b..45045850 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IPostHandleService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IPostHandleService.java @@ -82,4 +82,20 @@ public interface IPostHandleService extends BaseService { * @return */ R saveExcelData(List postHandleEntityList); + + /** + * 转岗 + * + * @param postHandleEntity + * @return + */ + R jobTransfer(PostHandleEntity postHandleEntity); + + /** + * 离职 + * + * @param postHandleEntity + * @return + */ + R depart(PostHandleEntity postHandleEntity); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CultivateDetailServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CultivateDetailServiceImpl.java index e66d9306..5d5abe4f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CultivateDetailServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CultivateDetailServiceImpl.java @@ -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 implements ICultivateDetailService { + @Resource + private IPostHandleService postHandleService; + @Override public IPage selectCultivateDetailPage(IPage page, CultivateDetailQuery cultivateDetailQuery) { return page.setRecords(baseMapper.selectCultivateDetailPage(page, cultivateDetailQuery)); @@ -37,6 +50,31 @@ public class CultivateDetailServiceImpl extends BaseServiceImpl cultivateDetails) { + //1.批量修改培训计划状态 + boolean saved = this.saveOrUpdateBatch(cultivateDetails); + if (!saved) { + return R.fail("批量操作失败"); + } + //2.批量修改人员岗位表数据 + Set 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(); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java index 9e5b6894..3c3f59d7 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java @@ -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 selectPostHandlePage(IPage page, PostHandleQuery postHandleQuery) { // return page.setRecords(baseMapper.selectPostHandlePage(page, postHandle)); @@ -63,12 +73,12 @@ public class PostHandleServiceImpl extends BaseServiceImpl