public QuestionnaireBo saveOrUpdateQuestionnaire()

in study-builder/fdahpStudyDesigner/src/main/java/com/fdahpstudydesigner/service/StudyQuestionnaireServiceImpl.java [721:910]


  public QuestionnaireBo saveOrUpdateQuestionnaire(
      QuestionnaireBo questionnaireBo, SessionObject sessionObject, String customStudyId) {
    logger.entry("begin saveORUpdateQuestionnaire()");
    QuestionnaireBo addQuestionnaireBo = null;
    try {
      if (null != questionnaireBo) {
        if (StringUtils.isNotEmpty(questionnaireBo.getId())) {
          addQuestionnaireBo =
              studyQuestionnaireDAO.getQuestionnaireById(questionnaireBo.getId(), customStudyId);
        } else {
          addQuestionnaireBo = new QuestionnaireBo();
          addQuestionnaireBo.setActive(true);
        }
        if (questionnaireBo.getStudyId() != null) {
          addQuestionnaireBo.setStudyId(questionnaireBo.getStudyId());
        }
        if (questionnaireBo.getFrequency() != null) {
          addQuestionnaireBo.setFrequency(questionnaireBo.getFrequency());
        }
        if (questionnaireBo.getScheduleType() != null) {
          addQuestionnaireBo.setScheduleType(questionnaireBo.getScheduleType());
        }
        if (questionnaireBo.getAnchorDateId() != null) {
          addQuestionnaireBo.setAnchorDateId(questionnaireBo.getAnchorDateId());
        }
        if ((questionnaireBo.getFrequency() != null)
            && !questionnaireBo
                .getFrequency()
                .equalsIgnoreCase(FdahpStudyDesignerConstants.FREQUENCY_TYPE_ONE_TIME)) {
          if (StringUtils.isNotBlank(questionnaireBo.getStudyLifetimeStart())
              && !("NA").equalsIgnoreCase(questionnaireBo.getStudyLifetimeStart())
              && !questionnaireBo.getStudyLifetimeStart().isEmpty()) {
            addQuestionnaireBo.setStudyLifetimeStart(
                FdahpStudyDesignerUtil.getFormattedDate(
                    questionnaireBo.getStudyLifetimeStart(),
                    FdahpStudyDesignerConstants.UI_SDF_DATE,
                    FdahpStudyDesignerConstants.DB_SDF_DATE));
            if (questionnaireBo.getAnchorDateId() != null) {
              addQuestionnaireBo.setAnchorDateId(questionnaireBo.getAnchorDateId());
            }
          } else {
            addQuestionnaireBo.setStudyLifetimeStart(null);
          }
          if (StringUtils.isNotBlank(questionnaireBo.getStudyLifetimeEnd())
              && !("NA").equalsIgnoreCase(questionnaireBo.getStudyLifetimeEnd())) {
            addQuestionnaireBo.setStudyLifetimeEnd(
                FdahpStudyDesignerUtil.getFormattedDate(
                    questionnaireBo.getStudyLifetimeEnd(),
                    FdahpStudyDesignerConstants.UI_SDF_DATE,
                    FdahpStudyDesignerConstants.DB_SDF_DATE));
          } else {
            addQuestionnaireBo.setStudyLifetimeEnd(null);
          }
        }
        if (questionnaireBo.getTitle() != null) {
          addQuestionnaireBo.setTitle(questionnaireBo.getTitle());
        }
        if (questionnaireBo.getShortTitle() != null) {
          addQuestionnaireBo.setShortTitle(questionnaireBo.getShortTitle());
        }
        if (questionnaireBo.getCreatedDate() != null) {
          addQuestionnaireBo.setCreatedDate(questionnaireBo.getCreatedDate());
        }
        if (questionnaireBo.getCreatedBy() != null) {
          addQuestionnaireBo.setCreatedBy(questionnaireBo.getCreatedBy());
        }
        if (questionnaireBo.getModifiedDate() != null) {
          addQuestionnaireBo.setModifiedDate(questionnaireBo.getModifiedDate());
        }
        if (questionnaireBo.getModifiedBy() != null) {
          addQuestionnaireBo.setModifiedBy(questionnaireBo.getModifiedBy());
        }
        addQuestionnaireBo.setRepeatQuestionnaire(questionnaireBo.getRepeatQuestionnaire());
        if (questionnaireBo.getDayOfTheWeek() != null) {
          addQuestionnaireBo.setDayOfTheWeek(questionnaireBo.getDayOfTheWeek());
        }
        if (questionnaireBo.getType() != null) {
          addQuestionnaireBo.setType(questionnaireBo.getType());
        }
        if (questionnaireBo.getBranching() != null) {
          addQuestionnaireBo.setBranching(questionnaireBo.getBranching());
        }
        if (questionnaireBo.getStatus() != null) {
          addQuestionnaireBo.setStatus(questionnaireBo.getStatus());
          if (questionnaireBo.getStatus()) {
            questionnaireBo.setIsChange(1);
          } else {
            questionnaireBo.setIsChange(0);
          }
        }
        if (questionnaireBo.getFrequency() != null) {
          if (!questionnaireBo
              .getFrequency()
              .equalsIgnoreCase(questionnaireBo.getPreviousFrequency())) {
            addQuestionnaireBo.setQuestionnaireCustomScheduleBo(
                questionnaireBo.getQuestionnaireCustomScheduleBo());
            addQuestionnaireBo.setQuestionnairesFrequenciesList(
                questionnaireBo.getQuestionnairesFrequenciesList());
            if (questionnaireBo
                .getFrequency()
                .equalsIgnoreCase(FdahpStudyDesignerConstants.FREQUENCY_TYPE_ONE_TIME)) {
              if (questionnaireBo.getQuestionnairesFrequenciesBo() != null) {
                if (!questionnaireBo.getQuestionnairesFrequenciesBo().getIsLaunchStudy()) {
                  if (StringUtils.isNotBlank(questionnaireBo.getStudyLifetimeStart())
                      && !("NA").equalsIgnoreCase(questionnaireBo.getStudyLifetimeStart())
                      && !questionnaireBo.getStudyLifetimeStart().isEmpty()) {
                    addQuestionnaireBo.setStudyLifetimeStart(
                        FdahpStudyDesignerUtil.getFormattedDate(
                            questionnaireBo.getStudyLifetimeStart(),
                            FdahpStudyDesignerConstants.UI_SDF_DATE,
                            FdahpStudyDesignerConstants.DB_SDF_DATE));
                  }
                }
                if (!questionnaireBo.getQuestionnairesFrequenciesBo().getIsStudyLifeTime()) {
                  if (StringUtils.isNotBlank(questionnaireBo.getStudyLifetimeEnd())
                      && !("NA").equalsIgnoreCase(questionnaireBo.getStudyLifetimeEnd())) {
                    addQuestionnaireBo.setStudyLifetimeEnd(
                        FdahpStudyDesignerUtil.getFormattedDate(
                            questionnaireBo.getStudyLifetimeEnd(),
                            FdahpStudyDesignerConstants.UI_SDF_DATE,
                            FdahpStudyDesignerConstants.DB_SDF_DATE));
                  } else {
                    addQuestionnaireBo.setStudyLifetimeEnd(null);
                  }
                }
              }
            }
            addQuestionnaireBo.setQuestionnairesFrequenciesBo(
                questionnaireBo.getQuestionnairesFrequenciesBo());
          } else {
            if ((questionnaireBo.getQuestionnaireCustomScheduleBo() != null)
                && !questionnaireBo.getQuestionnaireCustomScheduleBo().isEmpty()) {
              addQuestionnaireBo.setQuestionnaireCustomScheduleBo(
                  questionnaireBo.getQuestionnaireCustomScheduleBo());
            }
            if ((questionnaireBo.getQuestionnairesFrequenciesList() != null)
                && !questionnaireBo.getQuestionnairesFrequenciesList().isEmpty()) {
              addQuestionnaireBo.setQuestionnairesFrequenciesList(
                  questionnaireBo.getQuestionnairesFrequenciesList());
            }
            if (questionnaireBo.getQuestionnairesFrequenciesBo() != null) {
              if (questionnaireBo
                  .getFrequency()
                  .equalsIgnoreCase(FdahpStudyDesignerConstants.FREQUENCY_TYPE_ONE_TIME)) {
                if (!questionnaireBo.getQuestionnairesFrequenciesBo().getIsLaunchStudy()) {
                  if (StringUtils.isNotBlank(questionnaireBo.getStudyLifetimeStart())
                      && !("NA").equalsIgnoreCase(questionnaireBo.getStudyLifetimeStart())
                      && !questionnaireBo.getStudyLifetimeStart().isEmpty()) {
                    addQuestionnaireBo.setStudyLifetimeStart(
                        FdahpStudyDesignerUtil.getFormattedDate(
                            questionnaireBo.getStudyLifetimeStart(),
                            FdahpStudyDesignerConstants.UI_SDF_DATE,
                            FdahpStudyDesignerConstants.DB_SDF_DATE));
                  } else {
                    addQuestionnaireBo.setStudyLifetimeStart(null);
                  }
                }
                if (!questionnaireBo.getQuestionnairesFrequenciesBo().getIsStudyLifeTime()) {
                  if (StringUtils.isNotBlank(questionnaireBo.getStudyLifetimeEnd())
                      && !("NA").equalsIgnoreCase(questionnaireBo.getStudyLifetimeEnd())) {
                    addQuestionnaireBo.setStudyLifetimeEnd(
                        FdahpStudyDesignerUtil.getFormattedDate(
                            questionnaireBo.getStudyLifetimeEnd(),
                            FdahpStudyDesignerConstants.UI_SDF_DATE,
                            FdahpStudyDesignerConstants.DB_SDF_DATE));
                  }
                }
              }
              addQuestionnaireBo.setQuestionnairesFrequenciesBo(
                  questionnaireBo.getQuestionnairesFrequenciesBo());
            }
          }
        }
        if (questionnaireBo.getPreviousFrequency() != null) {
          addQuestionnaireBo.setPreviousFrequency(questionnaireBo.getPreviousFrequency());
        }
        if (questionnaireBo.getCurrentFrequency() != null) {
          addQuestionnaireBo.setCurrentFrequency(questionnaireBo.getCurrentFrequency());
        }
        addQuestionnaireBo.setIsChange(questionnaireBo.getIsChange());
        addQuestionnaireBo =
            studyQuestionnaireDAO.saveORUpdateQuestionnaire(
                addQuestionnaireBo, sessionObject, customStudyId);
      }
    } catch (Exception e) {
      logger.error("StudyQuestionnaireServiceImpl - saveORUpdateQuestionnaire - Error", e);
    }
    logger.exit("saveORUpdateQuestionnaire() - Ends");
    return addQuestionnaireBo;
  }