@Override
    public List<Tour> findTours(Criteria criteria) throws DaoException {
        Short status = (Short) criteria.getParam(DAO_TOUR_STATUS);
        Boolean allStatus = (Boolean) criteria.getParam(DAO_TOUR_ALLSTATUS);
        if (allStatus != null && allStatus) {
            criteria.remuveParam(DAO_TOUR_STATUS);
        } else if (status == null) {
            criteria.addParam(DAO_TOUR_STATUS, ACTIVE);
        }
        Date dateFrom = (Date) criteria.getParam(DAO_TOUR_DATE_FROM);
        Date dateTo = (Date) criteria.getParam(DAO_TOUR_DATE_TO);
        Boolean allDate = (Boolean) criteria.getParam(DAO_TOUR_ALLDATE);
        if (allDate != null && allDate) {
            criteria.remuveParam(DAO_TOUR_DATE_FROM);
            criteria.remuveParam(DAO_TOUR_DATE_TO);
        } else if (dateFrom == null && dateTo == null) {
            criteria.addParam(DAO_TOUR_DATE_FROM, new Date());
        }
        TypedQuery query = TypedQueryFactory.getInctance(QueryType.TOURQUERY);
        return query.load(criteria, loadGeneric, mysqlConn);
    }