gaoluyang
21 小时以前 abd339106ed3a6465293edccd33e5f87bd43bdde
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonTrainingController.java
@@ -96,8 +96,17 @@
    public Result<?> addOrUpdatePersonTrainingDetailed(@RequestBody PersonTrainingDetailed personTrainingDetailed) {
        if (ObjectUtils.isEmpty(personTrainingDetailed.getId())) {
            personTrainingDetailed.setState(3);
            personTrainingDetailedService.save(personTrainingDetailed);
            return Result.success();
        }
        personTrainingDetailedService.saveOrUpdate(personTrainingDetailed);
        // 讲师可能在内部人员和外聘人员之间切换,先显式覆盖两列,避免 updateById 跳过 null 导致旧值残留
        personTrainingDetailedService.update(null, Wrappers.<PersonTrainingDetailed>lambdaUpdate()
                .eq(PersonTrainingDetailed::getId, personTrainingDetailed.getId())
                .set(PersonTrainingDetailed::getTrainingLecturerId, personTrainingDetailed.getTrainingLecturerId())
                .set(PersonTrainingDetailed::getTrainingLecturerName, personTrainingDetailed.getTrainingLecturerName()));
        personTrainingDetailed.setTrainingLecturerId(null);
        personTrainingDetailed.setTrainingLecturerName(null);
        personTrainingDetailedService.updateById(personTrainingDetailed);
        return Result.success();
    }