lxp
2025-03-18 059b188fd49c5127b75a38408d12e26d2363fbab
cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonTrainingRecordServiceImpl.java
@@ -27,6 +27,7 @@
import com.ruoyi.personnel.service.PersonTrainingDetailedService;
import com.ruoyi.personnel.service.PersonTrainingRecordService;
import com.ruoyi.system.mapper.UserMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -214,7 +215,7 @@
    @Override
    public void outOfFocusPreservation(PersonTrainingRecord personTrainingRecord) {
        int userId = SecurityUtils.getUserId().intValue();
        int userId = Integer.parseInt(SecurityUtils.getUserId().toString());
        // 培训通过了,培训课时计入到当天的辅助工时 (辅助工时 以及 核准工时都添加)
        baseMapper.updateById(personTrainingRecord);
        PersonTrainingDetailed personTrainingDetailed = personTrainingDetailedMapper.selectById(personTrainingRecord.getCourseId());
@@ -224,24 +225,21 @@
            if(StringUtils.isEmpty(trainingDateTwo)) {
                throw new ErrorException("没有设置培训日期无法添加辅助工时");
            }
            AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay = auxiliaryWorkingHoursDayService.selectAuxiliaryWorkingHoursByNumber("401");
            // 是否以及添加过了
            List<AuxiliaryWorkingHoursDay> auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectList(new LambdaQueryWrapper<AuxiliaryWorkingHoursDay>()
                    .eq(AuxiliaryWorkingHoursDay::getNameUser, personTrainingRecord.getUserId())
                    .eq(AuxiliaryWorkingHoursDay::getAuxiliaryProject, personTrainingDetailed.getTrainingContent())
                    .eq(AuxiliaryWorkingHoursDay::getCreateUser, userId)
                    .eq(AuxiliaryWorkingHoursDay::getAuxiliaryProject,auxiliaryWorkingHoursDay.getAuxiliaryProject())
                    .eq(AuxiliaryWorkingHoursDay::getDateTime, trainingDateTwo + " 00:00:00"));
            // 如果有数据 合格就不做处理   不合格就删除
            if(CollectionUtils.isNotEmpty(auxiliaryWorkingHoursDays)) {
                if(personTrainingRecord.getExaminationResults().equals("不合格")) {
                    auxiliaryWorkingHoursDayMapper.delete(new LambdaQueryWrapper<AuxiliaryWorkingHoursDay>()
                            .eq(AuxiliaryWorkingHoursDay::getNameUser, personTrainingRecord.getUserId())
                            .eq(AuxiliaryWorkingHoursDay::getAuxiliaryProject, personTrainingDetailed.getTrainingContent())
                            .eq(AuxiliaryWorkingHoursDay::getCreateUser, userId)
                            .eq(AuxiliaryWorkingHoursDay::getAuxiliaryProject, auxiliaryWorkingHoursDay.getAuxiliaryProject())
                            .eq(AuxiliaryWorkingHoursDay::getDateTime, trainingDateTwo + " 00:00:00"));
                }
            }
            // 是否通过
            if(personTrainingRecord.getExaminationResults().equals("合格") && CollectionUtils.isEmpty(auxiliaryWorkingHoursDays)) {
                // 如果是检测办的人就不用加
                User user = userMapper.selectById(personTrainingRecord.getUserId());
                if(user.getDepartLimsId().contains("22")) {
@@ -256,7 +254,7 @@
                // 项目名称
                a.setRemarks(personTrainingDetailed.getTrainingContent()); //  辅助说明
                a.setNumber("401"); // 编号
                AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay = auxiliaryWorkingHoursDayService.selectAuxiliaryWorkingHoursByNumber("401");
                a.setAuxiliaryProject(auxiliaryWorkingHoursDay.getAuxiliaryProject()); // 辅助项目名称
                a.setNonproductiveTime(Double.parseDouble(divide.toString())); // 辅助工时
                a.setApprovedWorkingHour(auxiliaryWorkingHoursDay.getApprovedWorkingHour()); // 核准工时
@@ -287,8 +285,34 @@
                }
                a.setWeek(weekNumber+""); // 周次
                a.setWeekDay(dayOfWeekNumber == 7 ? 0+"" : dayOfWeekNumber+""); // 星期
            // 是否通过
            if(personTrainingRecord.getExaminationResults().equals("合格") && CollectionUtils.isEmpty(auxiliaryWorkingHoursDays)) {
                auxiliaryWorkingHoursDayMapper.insert(a);
            }
            // 培训讲师也要加上相应的工时
            String trainingLecturerId = personTrainingDetailed.getTrainingLecturerId();
            String[] split = trainingLecturerId.split(",");
            for (String name : split) {
                if(StringUtils.isNotEmpty(name)) {
                    User user1 = userMapper.selectList(new LambdaQueryWrapper<User>().like(User::getName, name)).get(0);
                    if(user1.getDepartLimsId().contains("22")) {
                        continue;
                    }
                    // 添加过了就不再添加
                    List<AuxiliaryWorkingHoursDay> list = auxiliaryWorkingHoursDayMapper.selectList(new LambdaQueryWrapper<AuxiliaryWorkingHoursDay>()
                            .eq(AuxiliaryWorkingHoursDay::getNameUser, user1.getId())
                            .eq(AuxiliaryWorkingHoursDay::getAuxiliaryProject, auxiliaryWorkingHoursDay.getAuxiliaryProject())
                            .eq(AuxiliaryWorkingHoursDay::getDateTime, trainingDateTwo + " 00:00:00"));
                    if(CollectionUtils.isNotEmpty(list)) {
                        continue;
                    }
                    AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay1 = new AuxiliaryWorkingHoursDay(); // 用于添加培训讲师
                    BeanUtils.copyProperties(a,auxiliaryWorkingHoursDay1);
                    auxiliaryWorkingHoursDay1.setNameUser(user1.getId());
                    auxiliaryWorkingHoursDay1.setId(null);
                    auxiliaryWorkingHoursDayMapper.insert(auxiliaryWorkingHoursDay1);
                }
            }
        }
    }