public static Page<Office> page( int page, int pageSize, String sortBy, String order, String filter) { return find.where() .ilike("name", "%" + filter + "%") .orderBy(sortBy + " " + order) .findPagingList(pageSize) .getPage(page); }
/** * Return a page of Performance * * @param page Page to display * @param pageSize Number of computers per page * @param sortBy Computer property used for sorting * @param order Sort order (either or asc or desc) * @param filter Filter applied on the name column */ public static Page<Performance> page( int page, int pageSize, String sortBy, String order, String filter) { return find.where() .ilike("name", "%" + filter + "%") .orderBy(sortBy + " " + order) .fetch("INSERT FOREIGN KEY NAME") .findPagingList(pageSize) .getPage(page); }
/** * Returns the PerformanceID of given performance time * * @param performanceTime Which subversion number to find ID for * @return id of Performance. Creates new one if no performanceTime already existed */ public static Long getPerformanceID(String performanceTime) { // Used in saveRun Performance performance = find.where().eq("time", performanceTime).findUnique(); if (performance == null) { // If no Performance was found... add it and return that id Performance newPerformance = new Performance(); newPerformance.time = performanceTime; newPerformance.save(); return newPerformance.id; } return performance.id; }
// TODO: repair choosing doctor by typename public static List<String> fioListByType(String doctorTypeName) { /*String query = "find doctor fetch doctor_type.doctor_type_id"; List<Doctor> doctors = Ebean.find(Doctor.class) .setQuery(query) .setParameter("doctor_type_id", new Long(1)) .findList(); */ String sql = "SELECT * FROM DOCTOR LEFT JOIN DOCTOR_TYPE ON DOCTOR_TYPE.ID = DOCTOR.DOCTOR_TYPE_ID"; SqlQuery sqlQuery = Ebean.createSqlQuery(sql); List<SqlRow> list = sqlQuery.findList(); /*RawSql rawSql = RawSqlBuilder.parse(sql).create(); javax.persistence.Query<Doctor> query = Ebean.find(Doctor.class); query.setRawSql(rawSql); //.columnMapping("id", "doctor.id") //.columnMapping("name", "doctor.name") //.columnMapping("surname", "doctor.surname") //.columnMapping("patronymic", "doctor.patronymic") //.columnMapping("patronymic", "doctor_type.doctor_type_name"); List<Doctor> doctors = query.findList(); */ // List<Doctor> doctors = Ebean.find(Doctor.class) // .fetch("doctor_type","doctor.doctor_type_id") // .findList(); // List<Doctor> doctors = find.fetch("doctor_type") // .where().eq("doctor.doctor_type_name", doctorTypeName) // .findList(); /*com.avaje.ebean.Query q = Ebean.createQuery(Doctor.class); q.join("doctor_type"); final List<Doctor> eventList = q.findList();*/ List<Doctor> doctors = find.where().eq("doctor_type_id", new Long(1)).findList(); List<String> theList = new ArrayList<String>(); for (Doctor doctor : doctors) { theList.add(doctor.getFullName()); } return theList; }