vn.webapp.service.AcademicYearServiceImpl.java Source code

Java tutorial

Introduction

Here is the source code for vn.webapp.service.AcademicYearServiceImpl.java

Source

/*
 * 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);

    }
}