package pt.estgp.estgweb.domain.dao.impl;
import jomm.dao.impl.AbstractDao;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import pt.estgp.estgweb.utils.Globals;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.dao.DaoUtils;
import pt.estgp.estgweb.services.common.SearchTypeEnum;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;
import static org.
hibernate.
criterion.
Restrictions.
*;
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @time 2:51:06
* @see pt.estgp.estgweb.domain.dao.impl
*/
public class CourseDaoImpl
extends CourseDao
{
public static CourseDaoImpl getInstance
()
{
if (myInstance ==
null)
myInstance =
new CourseDaoImpl
();
return (CourseDaoImpl
) myInstance
;
}
public CourseImpl findCourseByCode
(1.5.0/docs/api/java/lang/String.html">String code
)
{
return (CourseImpl
) createCriteria
().
add(eq
("code", code
)).
uniqueResult();
}
public List
<Course
> findValidateRole
(1.5.0/docs/api/java/lang/String.html">String role
)
{
return createCriteria
().
add(eq
("validationRole", role
)).
list();
}
public CourseImpl findCourseByCodeAndYear
(1.5.0/docs/api/java/lang/String.html">String code,
1.5.0/docs/api/java/lang/String.html">String year
)
{
return (CourseImpl
) createCriteria
().
add(eq
("code", code
)).
add(eq
("importYear", year
)).
uniqueResult();
}
public int countCoursesActualYear
(1.5.0/docs/api/java/lang/String.html">String query, SearchTypeEnum searchType
)
{
Criterion c = DaoUtils.
createSearchQuery(query, searchType,
"name",
"description");
return createCriteria
()
.
add(c
)
.
add(eq
("importYear", DaoFactory.
getConfigurationDaoImpl().
getInterfaceImportYear()))
.
list().
size();
}
public int countCoursesUnits
(1.5.0/docs/api/java/lang/String.html">String importYear,
long courseId
)
{
/* return createCriteria()
.createAlias("courseUnits", "c")
.setProjection(Projections.property("c.id"))
.add(eq("c.importYear", importYear))
.add(eq("id", courseId))
.list().size();
*/
return (1.5.0/docs/api/java/lang/Integer.html">Integer) createCriteria
(CourseUnit.
class)
.
setProjection(Projections.
rowCount())
.
add(eq
("importYear",importYear
))
.
add(eq
("course.id",courseId
))
.
uniqueResult();
}
public int countCoursesUnits
(1.5.0/docs/api/java/lang/String.html">String importYear,
long courseId,
1.5.0/docs/api/java/lang/String.html">String semestre
)
{
/* return createCriteria()
.createAlias("courseUnits", "c")
.setProjection(Projections.property("c.id"))
.add(eq("c.importYear", importYear))
.add(eq("id", courseId))
.list().size();
*/
return (1.5.0/docs/api/java/lang/Integer.html">Integer) createCriteria
(CourseUnit.
class)
.
setProjection(Projections.
rowCount())
.
add(eq
("importYear",importYear
))
.
add(eq
("semestre",semestre
))
.
add(eq
("course.id",courseId
))
.
uniqueResult();
}
public int countCoursesUnitsTurmas
(1.5.0/docs/api/java/lang/String.html">String importYear,
long courseId
)
{
return (1.5.0/docs/api/java/lang/Integer.html">Integer) createCriteria
(CourseUnitTurma.
class)
.
setProjection(Projections.
countDistinct("turma"))
.
createAlias("courseUnit",
"courseUnit")
.
createAlias("students",
"student")
.
add(eq
("courseUnit.importYear",importYear
))
.
add(eq
("courseUnit.course.id",courseId
))
.
uniqueResult();
}
public int countCoursesUnitsNot
(1.5.0/docs/api/java/lang/String.html">String importYear,
long courseId
)
{
return createCriteria
()
.
createAlias("courseUnits",
"c")
.
setProjection(Projections.
property("c.id"))
.
add(not
(eq
("c.importYear", importYear
)))
.
add(eq
("id", courseId
))
.
list().
size();
}
public List
<Long
> findCoursesUnitsIds
(1.5.0/docs/api/java/lang/String.html">String importYear,
long courseId
)
{
return createCriteria
()
.
createAlias("courseUnits",
"c")
.
setProjection(Projections.
property("c.id"))
.
add(eq
("id", courseId
))
.
add(eq
("c.importYear", importYear
))
.
addOrder(Order.
asc("c.name"))
.
list();
}
public List
<Long
> findCoursesUnitsIds
(long courseId
)
{
return createCriteria
()
.
createAlias("courseUnits",
"c")
.
setProjection(Projections.
property("c.id"))
.
add(eq
("id", courseId
))
.
addOrder(Order.
asc("c.importYear"))
.
addOrder(Order.
asc("c.name"))
.
list();
}
public List
<Course
> searchActualYear
(1.5.0/docs/api/java/lang/String.html">String query, SearchTypeEnum searchTypeEnum,
int max,
int page
)
{
Criterion c = DaoUtils.
createSearchQuery(query, searchTypeEnum,
"name",
"description");
Criteria criteria = createCriteria
();
criteria.
add(c
)
.
add(eq
("importYear", DaoFactory.
getConfigurationDaoImpl().
getInterfaceImportYear()))
.
addOrder(Order.
asc("name"))
.
setMaxResults(max
)
.
setFirstResult(page
* max
);
return criteria.
list();
}
public List
<Course
> findAllOrderByName
()
{
return createCriteria
()
.
addOrder(Order.
asc("name"))
.
list();
}
public List
<Course
> findAllImportYearOrderByName
(1.5.0/docs/api/java/lang/String.html">String importYear,
1.5.0/docs/api/java/lang/String.html">String area
)
{
Criteria c = createCriteria
();
if (importYear
!=
null && importYear.
length() > 0)
{
c.
add(eq
("importYear", importYear
));
}
if (area
!=
null && area.
length() > 0)
{
c.
add(eq
("area", area
));
}
return c.
addOrder(Order.
asc("name"))
.
list();
}
public List
<Course
> findAllOrderByName
(1.5.0/docs/api/java/lang/String.html">String importYear
)
{
return createCriteria
()
.
add(eq
("cu.importYear", importYear
))
.
addOrder(Order.
asc("name"))
.
list();
}
public List
<Course
> findAllOrderByNameEvenWithoutCourseUnit
(1.5.0/docs/api/java/lang/String.html">String importYear,
1.5.0/docs/api/java/lang/String.html">String area,
1.5.0/docs/api/java/lang/String.html">String type
)
{
Criteria c = createCriteria
();
/* c.setProjection(Projections.projectionList()
.add(Projections.distinct(Projections.id())));*/
if (importYear
!=
null && importYear.
length() > 0)
c.
add(eq
("importYear", importYear
));
if (area
!=
null && area.
length() > 0)
c.
add(eq
("area", area
));
if (type
!=
null && type.
length() > 0)
c.
add(eq
("degree", type
));
return c.
addOrder(Order.
asc("name"))
.
list();
}
public List
<Course
> findAllActiveOrderByNameEvenWithoutCourseUnit
()
{
Criteria c = createCriteria
();
/* c.setProjection(Projections.projectionList()
.add(Projections.distinct(Projections.id())));*/
c.
add(eq
("status",
true));
return c.
addOrder(Order.
asc("name"))
.
list();
}
public List
<Course
> findAllShowStudiesPlanCoursesOrderByNameEvenWithoutCourseUnit
(1.5.0/docs/api/java/lang/String.html">String institutionalCode,
1.5.0/docs/api/java/lang/String.html">String degree
)
{
return findAllCoursesOrderByNameEvenWithoutCourseUnit
(institutionalCode,degree,
true,
false);
}
public List
<String
> findDegrees
(1.5.0/docs/api/java/lang/String.html">String institutionalCode,
boolean showWithStudiesPlanActive
)
{
1.5.0/docs/api/javax/management/Query.html">Query q = getCurrentSession
().
createQuery("select distinct (degree) from " + Course.
class.
getName() +
" where department.courseSchool.institutionalCode = :institutionalCode " +
(showWithStudiesPlanActive
? " and showStudiesPlan = true " :
" " ) +
" order by degree ");
q.
setString("institutionalCode",institutionalCode
);
return q.
list();
}
public List
<Course
> findAllCoursesOrderByNameEvenWithoutCourseUnit
(1.5.0/docs/api/java/lang/String.html">String institutionalCode,
1.5.0/docs/api/java/lang/String.html">String degree,
boolean showOnlyWithStudiesPlanActive,
boolean showOnlyStatusActive
)
{
Criteria c = createCriteria
();
c.
createAlias("department",
"d");
c.
createAlias("d.courseSchool",
"sc");
if(showOnlyWithStudiesPlanActive
)
c.
add(eq
("showStudiesPlan",
true));
if(showOnlyStatusActive
)
c.
add(eq
("status",
true));
if (degree
!=
null && degree.
length() > 0)
c.
add(eq
("degree", degree
));
if (institutionalCode
!=
null && institutionalCode.
length() > 0)
c.
add(eq
("sc.institutionalCode", institutionalCode
));
return c.
addOrder(Order.
asc("name"))
.
list();
}
public List
<Course
> findAllActiveOrderByNameEvenWithoutCourseUnit
(1.5.0/docs/api/java/lang/String.html">String importYear,
1.5.0/docs/api/java/lang/String.html">String area,
1.5.0/docs/api/java/lang/String.html">String type
)
{
Criteria c = createCriteria
();
/* c.setProjection(Projections.projectionList()
.add(Projections.distinct(Projections.id())));*/
if (importYear
!=
null && importYear.
length() > 0)
c.
add(eq
("status",
true));
if (area
!=
null && area.
length() > 0)
c.
add(eq
("area", area
));
if (type
!=
null && type.
length() > 0)
c.
add(eq
("degree", type
));
return c.
addOrder(Order.
asc("name"))
.
list();
}
public List
<Course
> findCoursesWithUnitsIn
(1.5.0/docs/api/java/lang/String.html">String importYear
)
{
return findAllOrderByName
(importYear,
null,
null,
null);
}
public List
<String
> loadInstitutionCodes
(1.5.0/docs/api/java/lang/String.html">String importYear
)
{
return
createCriteria
()
.
createAlias("department",
"d")
.
createAlias("d.courseSchool",
"sc")
.
setProjection(Projections
.
distinct(Projections.
projectionList()
.
add(Projections.
property("sc.institutionalCode"))))
.
add(1.5.0/docs/api/java/beans/Expression.html">Expression.
isNotNull("sc.institutionalCode"))
.
list();
}
public List
<Course
> findCoursesWithUnitsIn
(1.5.0/docs/api/java/lang/String.html">String importYear,
1.5.0/docs/api/java/lang/String.html">String institutionCode,
1.5.0/docs/api/java/lang/String.html">String semestre
)
{
return findAllOrderByName
(importYear,
null,
null,institutionCode,semestre
);
}
public List
<Course
> findCoursesWithUnitsIn
(1.5.0/docs/api/java/lang/String.html">String importYear,
1.5.0/docs/api/java/lang/String.html">String institutionCode
)
{
return findAllOrderByName
(importYear,
null,
null,institutionCode
);
}
public List
<Course
> findAllOrderByName
(1.5.0/docs/api/java/lang/String.html">String importYear,
1.5.0/docs/api/java/lang/String.html">String area,
1.5.0/docs/api/java/lang/String.html">String type
)
{
return findAllOrderByName
(importYear,area,type,
null);
}
public List
<Course
> findAllOrderByName
(1.5.0/docs/api/java/lang/String.html">String importYear,
1.5.0/docs/api/java/lang/String.html">String area,
1.5.0/docs/api/java/lang/String.html">String type,
1.5.0/docs/api/java/lang/String.html">String institutionCode
)
{
return findAllOrderByName
(importYear,area,type,institutionCode,
null);
}
public List
<Course
> findAllOrderByName
(1.5.0/docs/api/java/lang/String.html">String importYear,
1.5.0/docs/api/java/lang/String.html">String area,
1.5.0/docs/api/java/lang/String.html">String type,
1.5.0/docs/api/java/lang/String.html">String institutionCode,
1.5.0/docs/api/java/lang/String.html">String semestre
)
{
1.5.0/docs/api/java/lang/String.html">String query =
"select distinct c from c in class Course join c.courseUnits cu where ";
1.5.0/docs/api/java/lang/String.html">String logic =
" ";
if (importYear
!=
null && importYear.
length() > 0)
{
query += logic +
"cu.importYear = :importYear ";
logic =
" and ";
}
if (institutionCode
!=
null && institutionCode.
trim().
length() > 0)
{
query += logic +
"c.department.courseSchool.institutionalCode = :institutionCode ";
logic =
" and ";
}
if (area
!=
null && area.
length() > 0)
{
query += logic +
"c.area = :area ";
logic =
" and ";
}
if (type
!=
null && type.
length() > 0)
{
query += logic +
"c.degree = :degree ";
logic =
" and ";
}
if (semestre
!=
null && semestre.
length() > 0)
{
query += logic +
"cu.semestre = :semestre ";
logic =
" and ";
}
query +=
" order by c.name asc";
1.5.0/docs/api/javax/management/Query.html">Query q = getCurrentSession
().
createQuery(query
);
if (importYear
!=
null && importYear.
length() > 0)
{
q.
setString("importYear",importYear
);
}
if (institutionCode
!=
null && institutionCode.
trim().
length() > 0)
{
q.
setString("institutionCode",institutionCode
);
}
if (area
!=
null && area.
length() > 0)
{
q.
setString("area",area
);
}
if (type
!=
null && type.
length() > 0)
{
q.
setString("degree",type
);
}
if (semestre
!=
null && semestre.
length() > 0)
{
q.
setString("semestre",semestre
);
}
/* c.setProjection(Projections.projectionList()
.add(Projections.distinct(Projections.id())));*/
return q.
list();
}
public List
<String
> loadImportYears
()
{
1.5.0/docs/api/javax/management/Query.html">Query q = createQuery
("select distinct c.importYear from c in class " + CourseUnit.
class.
getName() +
" order by c.importYear desc");
return q.
list();
}
public List
<Course
> loadAllCourses
(long teacherId,
1.5.0/docs/api/java/lang/String.html">String importYear
)
{
return
createCriteria
()
.
add(eq
("importYear", importYear
))
.
list();
}
public List
<Course
> loadCoordinatedCourses
(long teacherId,
1.5.0/docs/api/java/lang/String.html">String importYear
)
{
return
createCriteria
()
.
add(eq
("coordinator.id", teacherId
))
.
add(eq
("importYear", importYear
))
.
list();
}
public List
<Course
> loadDirectorCourses
(long teacherId,
1.5.0/docs/api/java/lang/String.html">String importYear
)
{
return
createCriteria
()
.
add(eq
("director.id", teacherId
))
.
add(eq
("importYear", importYear
))
.
list();
}
public List
<Course
> findAll
(1.5.0/docs/api/java/lang/String.html">String importYear
)
{
return createCriteria
().
add(eq
("importYear", importYear
)).
addOrder(Order.
asc("name"))
.
list();
}
public List
<Course
> findAllStatus
(1.5.0/docs/api/java/lang/String.html">String importYear,
boolean status
)
{
return createCriteria
()
.
add(eq
("importYear", importYear
))
.
add(eq
("status", status
))
.
createAlias("department",
"d")
.
createAlias("d.courseSchool",
"cs")
.
addOrder(Order.
asc("cs.name"))
.
addOrder(Order.
asc("name"))
.
list();
}
public List
<Course
> findActiveCourses
(1.5.0/docs/api/java/lang/String.html">String importYear
)
{
return findAllStatus
(importYear,
true);
}
/**
* Return only courses if user is from CourseCommission or Coordinator or have role Globals.SERVICES_PROGRAMS_ROLE
* otherwise return null;
* @param u
* @return
*/
public List
<Course
> findActiveCoursesCoordinationsOrCommissions
(User u
)
{
Criteria cri = getCriteriaForComissionsAndCoordinationsOr
(u
);
if(cri ==
null)
return new ArrayList
<Course
>();
return cri
//.add(eq("importYear", importYear)) Nao podemos ter isto senao caso tenhamos o sistema num ano de interface diferente nao vem cursos nenhuns a nao ser os que desapareceram
// no passado e mantiveram o ano anterior
.
add(eq
("status",
true))
.
addOrder(Order.
asc("name"))
.
list();
}
public Criteria getCriteriaForComissionsAndCoordinationsOr
(User u
)
{
return getCriteriaForComissionsAndCoordinationsOr
(u,
null,
null);
}
/**
* Restricts only courses if user is from CourseCommission or Coordinator or have role Globals.SERVICES_PROGRAMS_ROLE
* @param u
* @return
*/
public Criteria getCriteriaForComissionsAndCoordinationsOr
(User u,
1.5.0/docs/api/java/lang/String.html">String courseAlias,Criteria init
)
{
if(courseAlias ==
null)
courseAlias =
"";
else
courseAlias = courseAlias +
".";
if(u.
hasRole(Globals.
SERVICES_PROGRAMS_ROLE))
{
if(init
!=
null)
return init
;
else
return createCriteria
();
}
else if(u
instanceof TeacherImpl
)
{
TeacherImpl tImpl =
(TeacherImpl
) DaoFactory.
getTeacherDaoImpl().
get(u.
getId());
List
<String
> coordinatedRolesCourses = tImpl.
obtainCourseComissionsAndCoordinationsRoles();
Criteria cri = init
!=
null ? init : createCriteria
();
if(coordinatedRolesCourses.
size() > 0)
{
cri.
createAlias(courseAlias +
"coordinator",
"coord");
Criterion criterion = eq
("coord.id", u.
getId());
for(1.5.0/docs/api/java/lang/String.html">String role: coordinatedRolesCourses
)
{
criterion = or
(criterion,eq
(courseAlias+
"validationRole",role
));
}
cri.
add(criterion
);
return cri
;
}
else
return cri
;
}
else
{
return null;
}
}
public List
<Course
> findAllNotIn
(1.5.0/docs/api/java/lang/String.html">String importYear
)
{
return createCriteria
().
add(not
(eq
("importYear", importYear
)))
.
list();
}
// Duarte Santos
public List
<String
> loadAreas
()
{
return
createCriteria
()
.
setProjection(Projections
.
distinct(Projections.
projectionList()
.
add(Projections.
property("area"))))
.
add(1.5.0/docs/api/java/beans/Expression.html">Expression.
isNotNull("area"))
.
list();
}
public static void main
(1.5.0/docs/api/java/lang/String.html">String[] args
) throws 1.5.0/docs/api/java/sql/SQLException.html">SQLException {
AbstractDao.
getCurrentSession().
beginTransaction();
5+0%2Fdocs%2Fapi+List">List t2 =
new CourseDaoImpl
().
findDegrees("1",
true);
5+0%2Fdocs%2Fapi+List">List t =
new CourseDaoImpl
().
findAllCoursesOrderByNameEvenWithoutCourseUnit("1",
"L",
true,
true);
t2 =
new CourseDaoImpl
().
findAllOrderByName("201516",
"td",
"L",
"1");
1.5.0/docs/api/java/lang/System.html">System.
out.
println(t.
size());
1.5.0/docs/api/java/lang/System.html">System.
out.
println(t2.
size());
5+0%2Fdocs%2Fapi+List">List l =
new CourseDepartmentDaoImpl
().
findActives();
1.5.0/docs/api/java/lang/System.html">System.
out.
println(l.
size());
l =
new CourseDepartmentDaoImpl
().
findActives("1");
1.5.0/docs/api/java/lang/System.html">System.
out.
println(l.
size());
1.5.0/docs/api/java/lang/System.html">System.
out.
println("---");
5+0%2Fdocs%2Fapi+List">List s1 =
new CourseDaoImpl
().
loadInstitutionCodes("201516");
1.5.0/docs/api/java/lang/System.html">System.
out.
println(s1.
size());
1.5.0/docs/api/java/lang/System.html">System.
out.
println(l.
size());
s1 =
new CourseUnitDaoImpl
().
loadByYearInstitutionCode("201516",1
);
1.5.0/docs/api/java/lang/System.html">System.
out.
println(s1.
size());
s1 =
new CourseUnitDaoImpl
().
loadCourseUnits(10,
"S1",
"201516",
true,
true,
"1");
1.5.0/docs/api/java/lang/System.html">System.
out.
println(s1.
size());
s1 =
new StudentDaoImpl
().
findAllSigesCodesYear("201516",1
);
1.5.0/docs/api/java/lang/System.html">System.
out.
println(s1.
size());
s1 =
new TeacherDaoImpl
().
findAllSigesCodesYear("201516",1
);
1.5.0/docs/api/java/lang/System.html">System.
out.
println(s1.
size());
1.5.0/docs/api/java/lang/System.html">System.
out.
println("---");
1.5.0/docs/api/javax/management/Query.html">Query q = AbstractDao.
getCurrentSession()
.
createQuery(
"select count(c.id) from c in class " + CourseUnit.
class.
getName() +
" " +
"where c.course.department.courseSchool.institutionalCode = 1 and c.importYear = '201516'");
1.5.0/docs/api/java/lang/Long.html">Long count =
(1.5.0/docs/api/java/lang/Long.html">Long) q.
list().
get(0
);
1.5.0/docs/api/java/lang/System.html">System.
out.
println(count
);
q = AbstractDao.
getCurrentSession().
createQuery(
"select c.id from c in class " + CourseUnit.
class.
getName() +
" " +
"where c.course.department.courseSchool.institutionalCode = 1 and c.importYear = '201516'");
1.5.0/docs/api/java/lang/System.html">System.
out.
println(q.
list().
size());
1.5.0/docs/api/java/sql/PreparedStatement.html">PreparedStatement ps= AbstractDao.
getCurrentSession().
connection().
prepareStatement(
"select distinct (user.sigesCode)\n" +
"from subscribedunits \n" +
"join courseunit on subscribedunits.courseUnitId = courseunit.id\n" +
"join course on courseunit.course = course.id\n" +
"join course_department on course.area = course_department.sigla\n" +
"join course_school on course_department.school_id = course_school.id\n" +
"join user on user.id = subscribedunits.studentid\n" +
"left join (\n" +
"select subscribedturmaunits.studentId,courseunitturma.courseUnit,courseunitturma.turma from subscribedturmaunits \n" +
"join courseunitturma on courseunitturma.id = subscribedturmaunits.courseunitturmaid\n" +
"join courseunit on courseunit.id = courseunitturma.courseUnit\n" +
"where courseunit.importYear=\"201516\") as turmas\n" +
"on turmas.studentId = subscribedunits.studentId and turmas.courseUnit = subscribedunits.courseunitid\n" +
"where courseunit.importYear=\"201516\" and course_school.institutionalCode = \"1\" and turmas.studentId is null ");
1.5.0/docs/api/java/sql/ResultSet.html">ResultSet rs = ps.
executeQuery();
List
<Integer
> longs =
new ArrayList
<Integer
>();
while(rs.
next())
{
longs.
add(rs.
getInt("sigesCode"));
}
1.5.0/docs/api/java/lang/System.html">System.
out.
println(longs.
size());
1.5.0/docs/api/java/lang/String.html">String query =
"select {0} " +
"from subscribedturmaunits " +
"join courseunitturma on courseunitturma.id = subscribedturmaunits.courseUnitTurmaId " +
"join courseunit on courseunitturma.courseUnit = courseunit.id " +
"join course on courseunit.course = course.id\n" +
"join course_department on course.area = course_department.sigla\n" +
"join course_school on course_department.school_id = course_school.id\n" +
"join user on user.id = subscribedturmaunits.studentId " +
"left join subscribedunits on " +
"subscribedturmaunits.studentId = subscribedunits.studentId " +
"and subscribedunits.courseUnitId = courseunit.id " +
"where courseunit.importYear = \"201516\" and course_school.institutionalCode = 1 and subscribedunits.studentId is null";
1.5.0/docs/api/java/lang/String.html">String fields =
"courseunit.code as unidSigesCode," +
"user.name as name, " +
"user.sigesCode as sigesCode, " +
"subscribedturmaunits.studentId as studentId, " +
"courseunit.id as unitId ," +
"courseunit.name as unitname ," +
"courseunitturma.id as turmaId ," +
"courseunitturma.turma as turma";
ps = AbstractDao.
getCurrentSession().
connection().
prepareStatement(
1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.
format(query,
"count(*) as total"));
rs = ps.
executeQuery();
rs.
next();
int size = rs.
getInt("total");
rs.
close();
ps.
close();
if(size
> 0)
{
/**********logging*********/
1.5.0/docs/api/java/lang/String.html">String msg =
"Found " + size +
" subscritions in turmas wich are not in subscribedUnits will remove them";
1.5.0/docs/api/java/lang/System.html">System.
out.
println(msg
);
/**********logging*********/
ps = AbstractDao.
getCurrentSession().
connection().
prepareStatement(
1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.
format(query,fields
));
rs = ps.
executeQuery();
int i =
0;
while(rs.
next())
{
1.5.0/docs/api/java/lang/String.html">String unidSigesCode = rs.
getString("unidSigesCode");
1.5.0/docs/api/java/lang/String.html">String studentName = rs.
getString("name");
long sigesCode = rs.
getInt("sigesCode");
long studentId = rs.
getLong("studentId");
long unitId = rs.
getLong("unitId");
1.5.0/docs/api/java/lang/String.html">String unitname = rs.
getString("unitname");
long turmaId = rs.
getLong("turmaId");
1.5.0/docs/api/java/lang/String.html">String turma = rs.
getString("turma");
CourseUnitTurma cut = DaoFactory.
getCourseUnitTurmaDaoImpl().
load(turmaId
);
Student s = DaoFactory.
getStudentDaoImpl().
load(studentId
);
//cut.getStudents().remove(s);
//s.getTurmas().remove(cut);
/**********logging*********/
msg =
"Inconsistencia encontrada na turma " + turma +
" para o aluno " + studentName +
" siges: " + sigesCode +
" id:" + studentId +
" na unidade siges:" + unidSigesCode +
" unitid:" + unitId +
" " + unitname +
" O aluno nao tinha esta unidade e tinha uma turma para ela ";
1.5.0/docs/api/java/lang/System.html">System.
out.
println(msg
);
/**********logging*********/
}
rs.
close();
ps.
close();
}
else
{
1.5.0/docs/api/java/lang/String.html">String msgS =
"OK check - Todos os alunos com cadeiras em turmas tem a cadeira subscrita ano: 201516 institution:1 possiveis adicionados manualmente, confirmar";
1.5.0/docs/api/java/lang/System.html">System.
out.
println(msgS
);
}
AbstractDao.
getCurrentSession().
getTransaction().
commit();
}
}