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("]", ")");
}
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);
}
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;
}
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);
}
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);
}
}
}
Aggregations