Search in sources :

Example 1 with ExternalActivity

use of com.autentia.tnt.businessobject.ExternalActivity in project TNTConcept by autentia.

the class ActivityBean method fillExternalActivities.

private void fillExternalActivities(SimpleScheduleModel model) {
    Calendar calMin = Calendar.getInstance();
    Calendar calMax = Calendar.getInstance();
    calMin = getMinimumSearchTime(selectedDate);
    calMax = getMaximumSearchTime(selectedDate);
    ExternalActivitySearch search = new ExternalActivitySearch();
    search.setStartStartDate(calMin.getTime());
    search.setEndStartDate(calMax.getTime());
    search.setStartEndDate(calMin.getTime());
    search.setEndEndDate(calMax.getTime());
    search.setOwner(authManager.getCurrentPrincipal().getUser());
    List<ExternalActivity> extActivities = externalActivityManager.getAllEntities(search, new SortCriteria(sortColumn, sortAscending));
    for (ExternalActivity extActivity : extActivities) {
        ExternalActivityScheduleEntry entry = new ExternalActivityScheduleEntry(extActivity);
        model.addEntry(entry);
    }
}
Also used : SortCriteria(com.autentia.tnt.dao.SortCriteria) ExternalActivitySearch(com.autentia.tnt.dao.search.ExternalActivitySearch) GregorianCalendar(java.util.GregorianCalendar) Calendar(java.util.Calendar) ExternalActivity(com.autentia.tnt.businessobject.ExternalActivity)

Example 2 with ExternalActivity

use of com.autentia.tnt.businessobject.ExternalActivity in project TNTConcept by autentia.

the class ActivityBean method create.

/**
 * Go to create page
 *
 * @return forward to CREATE page
 */
public String create() {
    activity = new Activity();
    externalActivity = new ExternalActivity();
    selectedOrganization = null;
    selectedProject = null;
    organizations.clear();
    projects.clear();
    cal.setTime(scheduleModel.getSelectedDate());
    if (scheduleModel.getMode() == ScheduleModel.MONTH || scheduleModel.getMode() == ScheduleModel.WEEK) {
        cal.set(Calendar.HOUR_OF_DAY, ((SettingBean) FacesUtils.getBean("settingBean")).getMySettings().getWorkingDayHourStarts());
    }
    activity.setStartDate(cal.getTime());
    activity.setDescription(FacesUtils.getMessage("activity.description"));
    activity.setUser(authManager.getCurrentPrincipal().getUser());
    externalActivity.setStartDate(cal.getTime());
    // it is going to end in the same day
    externalActivity.setEndDate(cal.getTime());
    externalActivity.setComments(FacesUtils.getMessage("offer.observations"));
    externalActivity.setOwnerId(authManager.getCurrentPrincipal().getUser().getId());
    externalActivity.setDepartmentId(authManager.getCurrentPrincipal().getUser().getDepartmentId());
    DocumentCategory padre = dcManager.getDocumentCategoryParent();
    // User category
    DocumentCategory extActDocCategory = new DocumentCategory();
    extActDocCategory.setName(externalActivity.getName());
    extActDocCategory.setDescription(externalActivity.getName());
    extActDocCategory.setPadre(padre);
    externalActivity.setDocumentCategory(extActDocCategory);
    // Preselect last selected options
    Setting val = settings.get(SettingPath.BITACORE_LAST_ROLEID, false);
    int projectRoleId = SettingManager.getInt(val, -1);
    Project pr = null;
    if (projectRoleId != -1) {
        ProjectRole projectRole;
        try {
            projectRole = projectRoleMgr.getEntityById(projectRoleId);
            if (!projectRole.getProject().isFinished()) {
                setRole(projectRole);
                setSelectedProject(projectRole.getProject());
                setSelectedOrganization(getSelectedProject().getClient());
                pr = projectRole.getProject();
            }
        } catch (ObjectNotFoundException onfex) {
        // Caso especial. Si no se localiza el anterior rol, continuamos con la
        // ejecucion.
        }
    }
    if (pr != null) {
        setBillable(pr.getBillable());
        setDefaultBillable(pr.getBillable());
    } else {
        val = settings.get(SettingPath.BITACORE_LAST_BILLABLE, false);
        setBillable(SettingManager.getBoolean(val, false));
    }
    if (scheduleModel.getMode() == ScheduleModel.MONTH || scheduleModel.getMode() == ScheduleModel.WEEK) {
        ActivitySearch searchToday = new ActivitySearch();
        ExternalActivitySearch extActivitySearchToday = new ExternalActivitySearch();
        Calendar initToday = Calendar.getInstance();
        initToday.setTime(DateUtils.minHourInDate(scheduleModel.getSelectedDate()));
        Calendar lastToday = Calendar.getInstance();
        lastToday.setTime(DateUtils.maxHourInDate(scheduleModel.getSelectedDate()));
        searchToday.setStartStartDate(initToday.getTime());
        searchToday.setEndStartDate(lastToday.getTime());
        extActivitySearchToday.setStartStartDate(initToday.getTime());
        extActivitySearchToday.setEndStartDate(lastToday.getTime());
        // Try to obtain the last hour in day.
        searchToday.setUser(authManager.getCurrentPrincipal().getUser());
        extActivitySearchToday.setOwner(authManager.getCurrentPrincipal().getUser());
        List<Activity> activities = manager.getAllEntities(searchToday, new SortCriteria(sortColumn, sortAscending));
        List<ExternalActivity> extActivities = externalActivityManager.getAllEntities(extActivitySearchToday, new SortCriteria(sortColumn, sortAscending));
        if (activities.size() > 0 && extActivities.size() <= 0) {
            // No externalActivities
            // sort is descendent
            Collections.sort(activities, new compareActivitiesByStartAndDuration());
            activity.setStartDate(activities.get(0).getEndDate());
            externalActivity.setStartDate(activities.get(0).getEndDate());
            externalActivity.setEndDate(activities.get(0).getEndDate());
        } else if (activities.size() <= 0 && extActivities.size() > 0) {
            // No activities
            Collections.sort(extActivities, new compareExternalActivitiesActivitiesByStartAndDuration());
            activity.setStartDate(extActivities.get(0).getEndDate());
            externalActivity.setStartDate(extActivities.get(0).getEndDate());
            externalActivity.setEndDate(extActivities.get(0).getEndDate());
        } else if (activities.size() > 0 && extActivities.size() > 0) {
            Collections.sort(activities, new compareActivitiesByStartAndDuration());
            Collections.sort(extActivities, new compareExternalActivitiesActivitiesByStartAndDuration());
            Date lastActivityEndDate = activities.get(0).getEndDate();
            Date lastExtActivityEndDate = extActivities.get(0).getEndDate();
            Date startDate = (lastActivityEndDate.compareTo(lastExtActivityEndDate) > 0) ? lastActivityEndDate : lastExtActivityEndDate;
            activity.setStartDate(startDate);
            externalActivity.setStartDate(startDate);
            externalActivity.setEndDate(startDate);
        }
    }
    tabsRendered = NO_EDIT_SELECTED;
    return NavigationResults.CREATE;
}
Also used : ExternalActivitySearch(com.autentia.tnt.dao.search.ExternalActivitySearch) Setting(com.autentia.tnt.businessobject.Setting) GregorianCalendar(java.util.GregorianCalendar) Calendar(java.util.Calendar) Activity(com.autentia.tnt.businessobject.Activity) ExternalActivity(com.autentia.tnt.businessobject.ExternalActivity) ProjectRole(com.autentia.tnt.businessobject.ProjectRole) DocumentCategory(com.autentia.tnt.businessobject.DocumentCategory) Date(java.util.Date) LocalDate(java.time.LocalDate) ExternalActivity(com.autentia.tnt.businessobject.ExternalActivity) SortCriteria(com.autentia.tnt.dao.SortCriteria) Project(com.autentia.tnt.businessobject.Project) ObjectNotFoundException(org.hibernate.ObjectNotFoundException) SettingBean(com.autentia.tnt.bean.admin.SettingBean) ExternalActivitySearch(com.autentia.tnt.dao.search.ExternalActivitySearch) ActivitySearch(com.autentia.tnt.dao.search.ActivitySearch)

Example 3 with ExternalActivity

use of com.autentia.tnt.businessobject.ExternalActivity in project TNTConcept by autentia.

the class ActivityBean method deleteExternalActivity.

public String deleteExternalActivity() {
    // activityDAO.delete(activity);
    ExternalActivity act = externalActivityManager.getEntityById(externalActivity.getId());
    externalActivityManager.deleteEntity(act);
    // manager.deleteEntity(activity);
    act = null;
    externalActivity = null;
    scheduleModel.setSelectedEntry(null);
    reloadModel = true;
    scheduleModel.refresh();
    return NavigationResults.LIST;
}
Also used : ExternalActivity(com.autentia.tnt.businessobject.ExternalActivity)

Aggregations

ExternalActivity (com.autentia.tnt.businessobject.ExternalActivity)3 SortCriteria (com.autentia.tnt.dao.SortCriteria)2 ExternalActivitySearch (com.autentia.tnt.dao.search.ExternalActivitySearch)2 Calendar (java.util.Calendar)2 GregorianCalendar (java.util.GregorianCalendar)2 SettingBean (com.autentia.tnt.bean.admin.SettingBean)1 Activity (com.autentia.tnt.businessobject.Activity)1 DocumentCategory (com.autentia.tnt.businessobject.DocumentCategory)1 Project (com.autentia.tnt.businessobject.Project)1 ProjectRole (com.autentia.tnt.businessobject.ProjectRole)1 Setting (com.autentia.tnt.businessobject.Setting)1 ActivitySearch (com.autentia.tnt.dao.search.ActivitySearch)1 LocalDate (java.time.LocalDate)1 Date (java.util.Date)1 ObjectNotFoundException (org.hibernate.ObjectNotFoundException)1