Я сравниваю тип задания с датой создания задания, и оно нормально работает для одного условия, но если я включаю другое условие, оно не работает.
Let Job Types be Full Time and Internship
if ((filter.getFullTime() != null && !filter.getFullTime().isEmpty()) && (filter.getSevenday() != null || filter.getTwo() != null || filter.getFourteenday() != null || filter.getThirtyday() != null || filter.getHour() != null)) {
LOG.info("1 If condition is called");
Conjunction con = Restrictions.conjunction();
Criterion id2 = Restrictions.eq("job_type", filter.getFullTime());
con.add(id2);
Criterion id18 = Restrictions.between("job_createddate", filter.getSevenday(), filter.getCurrentdate());
Criterion id19 = Restrictions.between("job_createddate", filter.getTwo(), filter.getCurrentdate());
Criterion id20 = Restrictions.between("job_createddate", filter.getFourteenday(), filter.getCurrentdate());
Criterion id21 = Restrictions.between("job_createddate", filter.getThirtyday(), filter.getCurrentdate());
Criterion id22 = Restrictions.between("job_createddate", filter.getHour(), filter.getCurrentdate());
myQueryDisjunc.add(id18);
myQueryDisjunc.add(id19);
myQueryDisjunc.add(id20);
myQueryDisjunc.add(id21);
myQueryDisjunc.add(id22);
cr.add(con);
cr.add(myQueryDisjunc);
}else {
Criterion id1 = Restrictions.eq("job_type", filter.getFreelance());
Criterion id2 = Restrictions.eq("job_type", filter.getFullTime());
Criterion id3 = Restrictions.eq("job_type", filter.getInternship());
Criterion id4 = Restrictions.eq("job_type", filter.getPartTime());
Criterion id5 = Restrictions.eq("job_type", filter.getTemporary());
Criterion id6 = Restrictions.eq("job_type", filter.getVolunteer());
myQueryDisjunc.add(id1);
myQueryDisjunc.add(id2);
myQueryDisjunc.add(id3);
myQueryDisjunc.add(id4);
myQueryDisjunc.add(id5);
myQueryDisjunc.add(id6);
}
Если условие дает данные полноговремя работы семь дней или любые другие выбранные дни.Но если я выбираю стажировку, то она должна перейти в другое условие, но все равно она работает с условием if.