Search in sources :

Example 21 with DataEntryStage

use of org.akaza.openclinica.bean.core.DataEntryStage in project OpenClinica by OpenClinica.

the class CrfBusinessLogicHelper method markCRFStarted.

/**
     * The following methods are for 'mark CRF complete' Note that we will also wrap Study Event status changes in this
     * code, possibly split out in a later release, tbh 06/2008
     * 
     * @return
     */
public boolean markCRFStarted(EventCRFBean ecb, UserAccountBean ub) throws Exception {
    EventCRFDAO eventCrfDao = new EventCRFDAO(ds);
    StudyDAO sdao = new StudyDAO(ds);
    StudyBean study = sdao.findByStudySubjectId(ecb.getStudySubjectId());
    EventDefinitionCRFBean edcb = getEventDefinitionCrfByStudyEventAndCrfVersion(ecb, study);
    StudyEventDefinitionDAO studyEventDefinitionDao = new StudyEventDefinitionDAO(ds);
    StudyEventDefinitionBean sedBean = (StudyEventDefinitionBean) studyEventDefinitionDao.findByPK(edcb.getStudyEventDefinitionId());
    CRFDAO crfDao = new CRFDAO(ds);
    ArrayList crfs = (ArrayList) crfDao.findAllActiveByDefinition(sedBean);
    sedBean.setCrfs(crfs);
    logger.debug("inout_event_crf_id:" + ecb.getId());
    logger.debug("inout_study_event_def_id:" + sedBean.getId());
    Status newStatus = Status.AVAILABLE;
    DataEntryStage newStage = ecb.getStage();
    ecb.setUpdater(ub);
    ecb.setUpdatedDate(new Date());
    ecb.setStatus(newStatus);
    ecb.setStage(newStage);
    ecb = (EventCRFBean) eventCrfDao.update(ecb);
    logger.debug("just updated event crf id: " + ecb.getId());
    StudyEventDAO sedao = new StudyEventDAO(ds);
    StudyEventBean seb = (StudyEventBean) sedao.findByPK(ecb.getStudyEventId());
    if (seb.getSubjectEventStatus().isScheduled() || seb.getSubjectEventStatus().isNotScheduled() || seb.getSubjectEventStatus().isDE_Started()) {
        // change status for study event
        seb.setUpdatedDate(new Date());
        seb.setUpdater(ub);
        seb.setSubjectEventStatus(SubjectEventStatus.DATA_ENTRY_STARTED);
        seb = (StudyEventBean) sedao.update(seb);
    }
    return true;
}
Also used : Status(org.akaza.openclinica.bean.core.Status) SubjectEventStatus(org.akaza.openclinica.bean.core.SubjectEventStatus) EventDefinitionCRFDAO(org.akaza.openclinica.dao.managestudy.EventDefinitionCRFDAO) EventCRFDAO(org.akaza.openclinica.dao.submit.EventCRFDAO) CRFDAO(org.akaza.openclinica.dao.admin.CRFDAO) StudyBean(org.akaza.openclinica.bean.managestudy.StudyBean) ArrayList(java.util.ArrayList) StudyEventDefinitionBean(org.akaza.openclinica.bean.managestudy.StudyEventDefinitionBean) StudyEventBean(org.akaza.openclinica.bean.managestudy.StudyEventBean) Date(java.util.Date) DataEntryStage(org.akaza.openclinica.bean.core.DataEntryStage) StudyEventDefinitionDAO(org.akaza.openclinica.dao.managestudy.StudyEventDefinitionDAO) StudyEventDAO(org.akaza.openclinica.dao.managestudy.StudyEventDAO) EventDefinitionCRFBean(org.akaza.openclinica.bean.managestudy.EventDefinitionCRFBean) StudyDAO(org.akaza.openclinica.dao.managestudy.StudyDAO) EventCRFDAO(org.akaza.openclinica.dao.submit.EventCRFDAO)

Example 22 with DataEntryStage

use of org.akaza.openclinica.bean.core.DataEntryStage in project OpenClinica by OpenClinica.

the class TableOfContentsServlet method getLink.

/**
     * Assumes the Event CRF's data entry stage is not Uncompleted.
     * 
     * @param ecb
     *            An Event CRF which should be displayed in the table of
     *            contents.
     * @return A text link to the Table of Contents servlet for the bean.
     */
public static String getLink(EventCRFBean ecb) {
    DataEntryStage stage = ecb.getStage();
    String answer = Page.TABLE_OF_CONTENTS_SERVLET.getFileName();
    answer = Page.TABLE_OF_CONTENTS_SERVLET.getFileName();
    answer += "?action=" + getActionForStage(ecb.getStage());
    answer += "&" + INPUT_ID + "=" + ecb.getId();
    return answer;
}
Also used : DataEntryStage(org.akaza.openclinica.bean.core.DataEntryStage)

Aggregations

DataEntryStage (org.akaza.openclinica.bean.core.DataEntryStage)22 ArrayList (java.util.ArrayList)14 Status (org.akaza.openclinica.bean.core.Status)13 EventCRFBean (org.akaza.openclinica.bean.submit.EventCRFBean)13 SubjectEventStatus (org.akaza.openclinica.bean.core.SubjectEventStatus)10 EventDefinitionCRFBean (org.akaza.openclinica.bean.managestudy.EventDefinitionCRFBean)10 HashMap (java.util.HashMap)9 StudyEventBean (org.akaza.openclinica.bean.managestudy.StudyEventBean)9 Date (java.util.Date)8 EventDefinitionCRFDAO (org.akaza.openclinica.dao.managestudy.EventDefinitionCRFDAO)8 StudyEventDAO (org.akaza.openclinica.dao.managestudy.StudyEventDAO)8 StudyBean (org.akaza.openclinica.bean.managestudy.StudyBean)7 EventCRFDAO (org.akaza.openclinica.dao.submit.EventCRFDAO)7 StudyEventDefinitionBean (org.akaza.openclinica.bean.managestudy.StudyEventDefinitionBean)6 StudyDAO (org.akaza.openclinica.dao.managestudy.StudyDAO)6 StudyEventDefinitionDAO (org.akaza.openclinica.dao.managestudy.StudyEventDefinitionDAO)6 CRFDAO (org.akaza.openclinica.dao.admin.CRFDAO)5 SectionDAO (org.akaza.openclinica.dao.submit.SectionDAO)5 HttpSession (javax.servlet.http.HttpSession)4 UserAccountBean (org.akaza.openclinica.bean.login.UserAccountBean)4