package com.cm.demandeprolongementretraite.service; import com.cm.demandeprolongementretraite.domain.DemandeProlongmentRetraite; import com.cm.demandeprolongementretraite.domain.enumeration.Statut; import com.cm.demandeprolongementretraite.repository.DemandeProlongmentRetraiteRepository; import com.cm.demandeprolongementretraite.service.dto.DemandeProlongmentRetraiteDTO; import com.cm.demandeprolongementretraite.service.dto.PersonneTitulaireDTO; import com.cm.demandeprolongementretraite.service.mapper.ConnectionService; import com.cm.demandeprolongementretraite.service.mapper.DemandeProlongmentRetraiteMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.Calendar; import java.util.Optional; /** * Service Implementation for managing {@link DemandeProlongmentRetraite}. */ @Service @Transactional public class DemandeProlongmentRetraiteService { private final Logger log = LoggerFactory.getLogger(DemandeProlongmentRetraiteService.class); private final DemandeProlongmentRetraiteRepository demandeProlongmentRetraiteRepository; private final DemandeProlongmentRetraiteMapper demandeProlongmentRetraiteMapper; private final ConnectionService connectionService; public DemandeProlongmentRetraiteService(DemandeProlongmentRetraiteRepository demandeProlongmentRetraiteRepository, DemandeProlongmentRetraiteMapper demandeProlongmentRetraiteMapper, ConnectionService connectionService) { this.demandeProlongmentRetraiteRepository = demandeProlongmentRetraiteRepository; this.demandeProlongmentRetraiteMapper = demandeProlongmentRetraiteMapper; this.connectionService = connectionService; } /** * Save a demandeProlongmentRetraite. * * @param demandeProlongmentRetraiteDTO the entity to save. * @return the persisted entity. */ public DemandeProlongmentRetraiteDTO save(DemandeProlongmentRetraiteDTO demandeProlongmentRetraiteDTO) { log.debug("Request to save DemandeProlongmentRetraite : {}", demandeProlongmentRetraiteDTO); DemandeProlongmentRetraite demandeProlongmentRetraite = demandeProlongmentRetraiteMapper.toEntity(demandeProlongmentRetraiteDTO); demandeProlongmentRetraite = demandeProlongmentRetraiteRepository.save(demandeProlongmentRetraite); return demandeProlongmentRetraiteMapper.toDto(demandeProlongmentRetraite); } /** * Get all the demandeProlongmentRetraites. * * @param pageable the pagination information. * @return the list of entities. */ @Transactional(readOnly = true) public Page findAll(Pageable pageable) { log.debug("Request to get all DemandeProlongmentRetraites"); return demandeProlongmentRetraiteRepository.findAll(pageable) .map(demandeProlongmentRetraiteMapper::toDto); } /** * Get one demandeProlongmentRetraite by id. * * @param id the id of the entity. * @return the entity. */ @Transactional(readOnly = true) public Optional findOne(Long id) { log.debug("Request to get DemandeProlongmentRetraite : {}", id); return demandeProlongmentRetraiteRepository.findById(id) .map(demandeProlongmentRetraiteMapper::toDto); } /** * Delete the demandeProlongmentRetraite by id. * * @param id the id of the entity. */ public void delete(Long id) { log.debug("Request to delete DemandeProlongmentRetraite : {}", id); demandeProlongmentRetraiteRepository.deleteById(id); } public DemandeProlongmentRetraiteDTO ValiderDemande (DemandeProlongmentRetraiteDTO demandeProlongmentRetraiteDTO) { PersonneTitulaireDTO personneTitulaireDTO =connectionService.getPersonne(demandeProlongmentRetraiteDTO.getIdPersonnel()).block(); demandeProlongmentRetraiteDTO.setStatut(Statut.VALIDER); /* SimpleDateFormat sdf=new SimpleDateFormat("yyyy"); String f=sdf.format(demandeProlongmentRetraiteDTO.getNombreAnneesDemandee()); if(f.equals(LocalDate.now().getYear()));*/ if(demandeProlongmentRetraiteDTO.getNombreAnneesDemandee().equals(LocalDate.now().getYear())) // if(demandeProlongmentRetraiteDTO.getNombreAnneesDemandee().equals(LocalDate.now().equals(demandeProlongmentRetraiteDTO.getNombreAnneesDemandee()))); personneTitulaireDTO.setStatut("RETRAITER"); connectionService.updatStatut(personneTitulaireDTO).subscribe(data -> { System.out.println("******************************************************** " + data); }); log.debug("Request to save DemandeProlongementRetraite : {}", demandeProlongmentRetraiteDTO); DemandeProlongmentRetraite demandeProlongmentRetraite = demandeProlongmentRetraiteMapper.toEntity(demandeProlongmentRetraiteDTO); demandeProlongmentRetraite = demandeProlongmentRetraiteRepository.save(demandeProlongmentRetraite); return demandeProlongmentRetraiteMapper.toDto(demandeProlongmentRetraite); } public DemandeProlongmentRetraite findDemandeProloByIdPersonnel(Long id) { log.debug("Request to get Demande : {}", id); return demandeProlongmentRetraiteRepository.findDemandeProlongmentRetraiteByIdPersonnel(id); } }