Search in sources :

Example 6 with TrainingRegister

use of com.axelor.apps.talent.db.TrainingRegister in project axelor-open-suite by axelor.

the class TrainingRegisterServiceImpl method massTrainingRegisterCreation.

@Override
@Transactional
public String massTrainingRegisterCreation(ArrayList<LinkedHashMap<String, Object>> employeeList, TrainingSession trainingSession) {
    List<Long> eventsIds = new ArrayList<>();
    for (LinkedHashMap<String, Object> employeeMap : employeeList) {
        Employee employee = Beans.get(EmployeeRepository.class).find(Long.parseLong(employeeMap.get("id").toString()));
        if (employee.getUser() == null) {
            continue;
        }
        TrainingRegister trainingRegister = new TrainingRegister();
        trainingRegister.setTraining(trainingSession.getTraining());
        trainingRegister.setFromDate(trainingSession.getFromDate());
        trainingRegister.setToDate(trainingSession.getToDate());
        trainingRegister.setTrainingSession(trainingSession);
        trainingRegister.setEmployee(employee);
        trainingRegister.setRating(trainingSession.getOverallRatingToApply());
        Event event = this.plan(trainingRegister);
        trainingRegister.getEventList().add(event);
        eventsIds.add(event.getId());
        trainingSession.getTrainingRegisterList().add(trainingRegister);
    }
    Beans.get(TrainingSessionRepository.class).save(trainingSession);
    return eventsIds.toString().replace("[", "(").replace("]", ")");
}
Also used : EmployeeRepository(com.axelor.apps.hr.db.repo.EmployeeRepository) Employee(com.axelor.apps.hr.db.Employee) TrainingSessionRepository(com.axelor.apps.talent.db.repo.TrainingSessionRepository) TrainingRegister(com.axelor.apps.talent.db.TrainingRegister) ArrayList(java.util.ArrayList) Event(com.axelor.apps.crm.db.Event) Transactional(com.google.inject.persist.Transactional)

Example 7 with TrainingRegister

use of com.axelor.apps.talent.db.TrainingRegister in project axelor-open-suite by axelor.

the class TrainingSessionServiceImpl method cancel.

@Override
@Transactional
public void cancel(TrainingSession trainingSession) {
    trainingSession.setStatusSelect(3);
    for (TrainingRegister register : trainingSession.getTrainingRegisterList()) {
        register.setStatusSelect(3);
    }
    Beans.get(TrainingSessionRepository.class).save(trainingSession);
}
Also used : TrainingSessionRepository(com.axelor.apps.talent.db.repo.TrainingSessionRepository) TrainingRegister(com.axelor.apps.talent.db.TrainingRegister) Transactional(com.google.inject.persist.Transactional)

Example 8 with TrainingRegister

use of com.axelor.apps.talent.db.TrainingRegister in project axelor-open-suite by axelor.

the class TrainingSessionServiceImpl method updateTraingRegisterTraining.

@Override
@Transactional
public TrainingSession updateTraingRegisterTraining(TrainingSession trainingSession) {
    Training training = trainingSession.getTraining();
    for (TrainingRegister register : trainingSession.getTrainingRegisterList()) {
        register.setTraining(training);
        for (Event event : register.getEventList()) {
            event.setSubject(training.getName());
            Beans.get(EventRepository.class).save(event);
        }
    }
    return trainingSession;
}
Also used : Training(com.axelor.apps.talent.db.Training) TrainingRegister(com.axelor.apps.talent.db.TrainingRegister) Event(com.axelor.apps.crm.db.Event) EventRepository(com.axelor.apps.crm.db.repo.EventRepository) Transactional(com.google.inject.persist.Transactional)

Example 9 with TrainingRegister

use of com.axelor.apps.talent.db.TrainingRegister in project axelor-open-suite by axelor.

the class TrainingSessionServiceImpl method closeSession.

@Transactional
@Override
public void closeSession(TrainingSession trainingSession) {
    trainingSession.setStatusSelect(2);
    List<TrainingRegister> trainingRegisters = trainingRegisterRepo.all().filter("self.trainingSession = ?1", trainingSession).fetch();
    for (TrainingRegister trainingRegister : trainingRegisters) {
        trainingRegisterService.complete(trainingRegister);
    }
    trainingSessionRepo.save(trainingSession);
}
Also used : TrainingRegister(com.axelor.apps.talent.db.TrainingRegister) Transactional(com.google.inject.persist.Transactional)

Example 10 with TrainingRegister

use of com.axelor.apps.talent.db.TrainingRegister in project axelor-open-suite by axelor.

the class TrainingRegisterController method EventFromDateUpdate.

@Transactional
public void EventFromDateUpdate(ActionRequest request, ActionResponse response) {
    TrainingRegister trainingRegister = request.getContext().asType(TrainingRegister.class);
    if (trainingRegister.getEventList() != null) {
        for (Event event : trainingRegister.getEventList()) {
            event.setStartDateTime(trainingRegister.getFromDate());
            eventRepository.save(event);
        }
    }
}
Also used : TrainingRegister(com.axelor.apps.talent.db.TrainingRegister) Event(com.axelor.apps.crm.db.Event) Transactional(com.google.inject.persist.Transactional)

Aggregations

TrainingRegister (com.axelor.apps.talent.db.TrainingRegister)13 Transactional (com.google.inject.persist.Transactional)9 Event (com.axelor.apps.crm.db.Event)6 TrainingRegisterService (com.axelor.apps.talent.service.TrainingRegisterService)4 TrainingSessionRepository (com.axelor.apps.talent.db.repo.TrainingSessionRepository)3 Training (com.axelor.apps.talent.db.Training)2 EventRepository (com.axelor.apps.crm.db.repo.EventRepository)1 Employee (com.axelor.apps.hr.db.Employee)1 EmployeeRepository (com.axelor.apps.hr.db.repo.EmployeeRepository)1 TrainingSession (com.axelor.apps.talent.db.TrainingSession)1 TrainingRegisterRepository (com.axelor.apps.talent.db.repo.TrainingRegisterRepository)1 BigDecimal (java.math.BigDecimal)1 ArrayList (java.util.ArrayList)1