Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package vn.webapp.service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import vn.webapp.dao.AcademicYearDAO; import vn.webapp.model.AcademicYear; import org.joda.time.Days; import org.joda.time.LocalDate; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; @Service("academicYearService") public class AcademicYearServiceImpl implements AcademicYearService { @Autowired private AcademicYearDAO academicYearDAO; /** * Get all list of academic year * @param null * @return List */ @Override public List<AcademicYear> list() { return academicYearDAO.getList(); } public AcademicYear loadByID(int aY_ID) { return academicYearDAO.loadByID(aY_ID); } public AcademicYear getCurAcadYear() { List<AcademicYear> acadYearList = academicYearDAO.getList(); AcademicYear res = new AcademicYear(); LocalDate today = LocalDate.now(); LocalDate firstdate = LocalDate.now(); LocalDate enddate = LocalDate.now(); for (AcademicYear aY : acadYearList) { DateTimeFormatter fmt = DateTimeFormat.forPattern("dd-MM-yyyy"); DateTimeFormatter fmt1 = DateTimeFormat.forPattern("yyyy-MM-dd"); try { firstdate = fmt.parseLocalDate(aY.getACAYEAR_FromDate()); enddate = fmt.parseLocalDate(aY.getACAYEAR_ToDate()); } catch (IllegalArgumentException e) { firstdate = fmt1.parseLocalDate(aY.getACAYEAR_FromDate()); enddate = fmt1.parseLocalDate(aY.getACAYEAR_ToDate()); } //System.out.println(aY.getACAYEAR_Code()+":"+firstdate+" --> "+enddate); if ((Days.daysBetween(firstdate, today).getDays() > 0) && (Days.daysBetween(today, enddate).getDays() > 0)) { res = aY; break; } } return res; } public int getCurSemester() { List<AcademicYear> acadYearList = academicYearDAO.getList(); AcademicYear res = new AcademicYear(); LocalDate today = LocalDate.now(); LocalDate firstdate = LocalDate.now(); LocalDate enddate = LocalDate.now(); for (AcademicYear aY : acadYearList) { DateTimeFormatter fmt = DateTimeFormat.forPattern("dd-MM-yyyy"); DateTimeFormatter fmt1 = DateTimeFormat.forPattern("yyyy-MM-dd"); try { firstdate = fmt.parseLocalDate(aY.getACAYEAR_FromDate()); enddate = fmt.parseLocalDate(aY.getACAYEAR_ToDate()); } catch (IllegalArgumentException e) { firstdate = fmt1.parseLocalDate(aY.getACAYEAR_FromDate()); enddate = fmt1.parseLocalDate(aY.getACAYEAR_ToDate()); } //System.out.println(aY.getACAYEAR_Code()+":"+firstdate+" --> "+enddate); if ((Days.daysBetween(firstdate, today).getDays() > 0) && (Days.daysBetween(today, enddate).getDays() > 0)) { int weeks = Days.daysBetween(firstdate, today).getDays() / 7 + 1; if (weeks < 23) return 1; else if (weeks < 45) return 2; else return 3; } } return 0; } public AcademicYear loadByCode(String aY_Code) { return academicYearDAO.loadByCode(aY_Code); } public int save(String ACAYEAR_Code, String ACAYEAR_FromDate, String ACAYEAR_ToDate) { AcademicYear aY = new AcademicYear(); aY.setACAYEAR_Code(ACAYEAR_Code); aY.setACAYEAR_FromDate(ACAYEAR_FromDate); aY.setACAYEAR_ToDate(ACAYEAR_ToDate); return academicYearDAO.save(aY); } public void edit(String ACAYEAR_Code, String ACAYEAR_FromDate, String ACAYEAR_ToDate) { AcademicYear aY = academicYearDAO.loadByCode(ACAYEAR_Code); if (aY != null) { aY.setACAYEAR_Code(ACAYEAR_Code); aY.setACAYEAR_FromDate(ACAYEAR_FromDate); aY.setACAYEAR_ToDate(ACAYEAR_ToDate); } academicYearDAO.edit(aY); } public int remove(int aY_ID) { return academicYearDAO.remove(aY_ID); } }