/**
  * Extrae todo lo referente a Objetivos
  *
  * @param aDependenceId
  * @return lista de objetivos
  */
 public List<ObjectiveEntity> getAllObjectivesByDependenceId(Long urId) {
   // se obtiene la entidad segun su Id
   Long aDependenceId = theirDependenceDao.GetUEGbyUR(urId);
   DependenceEntity myDependence = theirDependenceDao.getDependenceById(aDependenceId);
   // Se obtiene el plan Institucional que esta ligado a la dependencia
   Long myIdWithIP = myDependence.getDependenceId();
   // Se obtienen los objetivos que tienen el encuadre
   List<ObjectiveEntity> myListofObjectives =
       theirObjectiveProgrammingDao.getObjectivesByDependencyId(myIdWithIP);
   // Se regresa una lista de objetivos con su ascendencia
   return (List<ObjectiveEntity>)
       theirObjectiveProgrammingDao.getHierarchicalObjectivesByEntities(myListofObjectives);
 }
 /**
  * Obtien los catalogos requeridos para la ventana de Clasificador Administrativo utilizado
  * duirante la captura directa de la Ficha (AnteProyecto)
  *
  * @param resposableUnit
  * @return ClasificationDTO
  */
 @Override
 public ClasificationDTO getCatalogs(Long aDependenceId) {
   ClasificationDTO clasificationDTO = new ClasificationDTO();
   try {
     clasificationDTO.setBudgetUnitList(
         theirDependenceDao.getDependciesIsBudgetByDependIdRelated(aDependenceId));
     clasificationDTO.setExecuteUnitList(
         theirDependenceDao.getDependciesIsExecUnitByDependIdRelated(aDependenceId));
     clasificationDTO.setBranchList(
         theirDependenceDao.getDependciesIsBranchByDependIdRelated(aDependenceId));
     clasificationDTO.setSectorList(
         theirDependenceDao.getDependciesIsSectorByDependIdRelated(aDependenceId));
   } catch (Exception ex) {
     Logger.getLogger(DirectCaptureDraftProjectImpl.class.getName()).log(Level.SEVERE, null, ex);
   }
   return clasificationDTO;
 }
  /**
   * Este es el metodo que regresa la lista dummy de las dependencias que son Unidades Ejecutoras
   * del Gasto(UEG), cuando se haga la logica de negocio se cambiaran las firmas que apuntaran a los
   * Dao que se hayan definido para el manejo de estas operaciones
   *
   * @return
   */
  @Override
  public List<DependenceEntity> getDraftProjectDependencesByUEG() {
    Collection<DependenceEntity> myDependenceCollection = theirDependenceDao.getDependencesByUr();

    List<DependenceEntity> itsListOfDependencesDummy =
        new ArrayList<DependenceEntity>(myDependenceCollection);
    return itsListOfDependencesDummy;
  }
 /**
  * Regresa UEG en base a la UR seleccionada
  *
  * @param resposableUnit
  * @return
  */
 @Override
 public Long GetUEGbyUR(DependenceEntity resposableUnit) {
   Long aDependenceId = theirDependenceDao.GetUEGbyUR(resposableUnit.getDependenceId());
   return aDependenceId;
 }