@Override
 public OrdreSortie findOrdreById(Long id) throws ServiceException {
   try {
     return ordreSortieDao.findById(id);
   } catch (DataAccessException ex) {
     Logger.getLogger(OrdreSortieServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
   }
   return null;
 }
  @Override
  public List<Affectation> findAllAffectationByOrdre(Long idOrdre) throws ServiceException {
    try {
      OrdreSortie os = ordreSortieDao.findById(idOrdre);
      //  List<Affectation> tmp = affectationDao.findAllByOrdreSortie(os);
      return affectationDao.findAllByOrdreSortie(os);

    } catch (DataAccessException ex) {
      Logger.getLogger(OrdreSortieServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
    }
    return Collections.EMPTY_LIST;
  }
 @Override
 public List<BonSortie> findAllByOrdre(Long idOdre) throws ServiceException {
   try {
     OrdreSortie os = ordreSortieDao.findById(idOdre);
     if (os == null) {
       throw new ServiceException("Service not found");
     }
     return bonSortieDao.findByOrdreSortie(os);
   } catch (DataAccessException ex) {
     Logger.getLogger(OrdreSortieServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
   }
   return Collections.EMPTY_LIST;
 }
 @Override
 public void deletOrdre(Long id) throws ServiceException {
   try {
     OrdreSortie os = ordreSortieDao.findById(id);
     if (os != null) {
       if (os.getEtatType() != EtatType.acheve) {
         os.setActive(false);
         ordreSortieDao.update(os);
       }
     }
   } catch (DataAccessException ex) {
     Logger.getLogger(OrdreSortieServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
   }
 }
 @Override
 public void imprimerOrdreSortie(
     Long idOrdre, OutputStream stream, Date dateOrdre, int noChapitre, int noOdre, String objet)
     throws ServiceException {
   try {
     OrdreSortie os = ordreSortieDao.findById(idOrdre);
     Document doc = new Document();
     PdfWriter.getInstance(doc, stream);
     doc.setPageSize(PageSize.A4);
     doc.open();
     Util.produceHeader(doc);
     produireOrdreSortieBody(os, doc, dateOrdre, noChapitre, noOdre, objet);
     doc.close();
   } catch (DocumentException ex) {
     Logger.getLogger(OrdreSortieServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
   } catch (Exception ex) {
     Logger.getLogger(OrdreSortieServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
   }
 }