in study-builder/fdahpStudyDesigner/src/main/java/com/fdahpstudydesigner/dao/StudyActiveTasksDAOImpl.java [490:669]
public ActiveTaskBo saveOrUpdateActiveTask(ActiveTaskBo activeTaskBo, String customStudyId) {
logger.entry("begin saveOrUpdateActiveTask()");
Session session = null;
try {
session = hibernateTemplate.getSessionFactory().openSession();
transaction = session.beginTransaction();
session.saveOrUpdate(activeTaskBo);
if (activeTaskBo.getType().equalsIgnoreCase(FdahpStudyDesignerConstants.SCHEDULE)
&& (activeTaskBo != null)
&& (activeTaskBo.getId() != null)) {
if ((activeTaskBo.getActiveTaskFrequenciesList() != null)
&& !activeTaskBo.getActiveTaskFrequenciesList().isEmpty()) {
String deleteQuery =
"delete from active_task_custom_frequencies where active_task_id=:activeTaskId";
query =
session
.createSQLQuery(deleteQuery)
.setParameter("activeTaskId", activeTaskBo.getId());
query.executeUpdate();
String deleteQuery2 =
"delete from active_task_frequencies where active_task_id=:activeTaskId";
query =
session
.createSQLQuery(deleteQuery2)
.setParameter("activeTaskId", activeTaskBo.getId());
query.executeUpdate();
for (ActiveTaskFrequencyBo activeTaskFrequencyBo :
activeTaskBo.getActiveTaskFrequenciesList()) {
if (activeTaskFrequencyBo.getFrequencyTime() != null) {
activeTaskFrequencyBo.setFrequencyTime(
FdahpStudyDesignerUtil.getFormattedDate(
activeTaskFrequencyBo.getFrequencyTime(),
FdahpStudyDesignerConstants.SDF_TIME,
FdahpStudyDesignerConstants.UI_SDF_TIME));
if (activeTaskFrequencyBo.getActiveTaskId() == null) {
activeTaskFrequencyBo.setId(null);
activeTaskFrequencyBo.setActiveTaskId(activeTaskBo.getId());
}
session.saveOrUpdate(activeTaskFrequencyBo);
}
}
}
if (activeTaskBo.getActiveTaskFrequenciesList() != null) {
ActiveTaskFrequencyBo activeTaskFrequencyBo = activeTaskBo.getActiveTaskFrequenciesBo();
if ((activeTaskFrequencyBo.getFrequencyDate() != null)
|| (activeTaskFrequencyBo.getFrequencyTime() != null)
|| activeTaskBo
.getFrequency()
.equalsIgnoreCase(FdahpStudyDesignerConstants.FREQUENCY_TYPE_ONE_TIME)) {
if (!activeTaskBo
.getFrequency()
.equalsIgnoreCase(activeTaskBo.getPreviousFrequency())) {
String deleteQuery =
"delete from active_task_custom_frequencies where active_task_id=:activeTaskId";
query =
session
.createSQLQuery(deleteQuery)
.setParameter("activeTaskId", activeTaskBo.getId());
query.executeUpdate();
String deleteQuery2 =
"delete from active_task_frequencies where active_task_id=:activeTaskId";
query =
session
.createSQLQuery(deleteQuery2)
.setParameter("activeTaskId", activeTaskBo.getId());
query.executeUpdate();
}
if (activeTaskFrequencyBo.getActiveTaskId() == null) {
activeTaskFrequencyBo.setActiveTaskId(activeTaskBo.getId());
}
if ((activeTaskBo.getActiveTaskLifetimeStart() != null)
&& !activeTaskBo.getActiveTaskLifetimeStart().isEmpty()) {
activeTaskFrequencyBo.setFrequencyDate(activeTaskBo.getActiveTaskLifetimeStart());
}
if ((activeTaskBo.getActiveTaskFrequenciesBo().getFrequencyTime() != null)
&& !activeTaskBo.getActiveTaskFrequenciesBo().getFrequencyTime().isEmpty()) {
activeTaskBo
.getActiveTaskFrequenciesBo()
.setFrequencyTime(
FdahpStudyDesignerUtil.getFormattedDate(
activeTaskBo.getActiveTaskFrequenciesBo().getFrequencyTime(),
FdahpStudyDesignerConstants.SDF_TIME,
FdahpStudyDesignerConstants.UI_SDF_TIME));
}
if ((activeTaskBo.getActiveTaskFrequenciesBo().getFrequencyDate() != null)
&& !activeTaskBo.getActiveTaskFrequenciesBo().getFrequencyDate().isEmpty()
&& !FdahpStudyDesignerUtil.isValidDateFormat(
activeTaskBo.getActiveTaskFrequenciesBo().getFrequencyDate(),
FdahpStudyDesignerConstants.SD_DATE_FORMAT)) {
activeTaskFrequencyBo.setFrequencyDate(
FdahpStudyDesignerUtil.getFormattedDate(
activeTaskFrequencyBo.getFrequencyDate(),
FdahpStudyDesignerConstants.UI_SDF_DATE,
FdahpStudyDesignerConstants.SD_DATE_FORMAT));
}
session.saveOrUpdate(activeTaskFrequencyBo);
}
}
if ((activeTaskBo.getActiveTaskCustomScheduleBo() != null)
&& (activeTaskBo.getActiveTaskCustomScheduleBo().size() > 0)) {
String deleteQuery =
"delete from active_task_custom_frequencies where active_task_id=:activeTaskId";
query =
session
.createSQLQuery(deleteQuery)
.setParameter("activeTaskId", activeTaskBo.getId());
query.executeUpdate();
String deleteQuery2 =
"delete from active_task_frequencies where active_task_id=:activeTaskId";
query =
session
.createSQLQuery(deleteQuery2)
.setParameter("activeTaskId", activeTaskBo.getId());
query.executeUpdate();
for (ActiveTaskCustomScheduleBo activeTaskCustomScheduleBo :
activeTaskBo.getActiveTaskCustomScheduleBo()) {
if (activeTaskCustomScheduleBo.getActiveTaskId() == null) {
activeTaskCustomScheduleBo.setActiveTaskId(activeTaskBo.getId());
}
if ((activeTaskCustomScheduleBo.getFrequencyStartDate() != null)
&& !activeTaskCustomScheduleBo.getFrequencyStartDate().isEmpty()) {
activeTaskCustomScheduleBo.setFrequencyStartDate(
FdahpStudyDesignerUtil.getFormattedDate(
activeTaskCustomScheduleBo.getFrequencyStartDate(),
FdahpStudyDesignerConstants.UI_SDF_DATE,
FdahpStudyDesignerConstants.SD_DATE_FORMAT));
}
if ((activeTaskCustomScheduleBo.getFrequencyEndDate() != null)
&& !activeTaskCustomScheduleBo.getFrequencyEndDate().isEmpty()) {
activeTaskCustomScheduleBo.setFrequencyEndDate(
FdahpStudyDesignerUtil.getFormattedDate(
activeTaskCustomScheduleBo.getFrequencyEndDate(),
FdahpStudyDesignerConstants.UI_SDF_DATE,
FdahpStudyDesignerConstants.SD_DATE_FORMAT));
}
if ((activeTaskCustomScheduleBo.getFrequencyStartTime() != null)
&& !activeTaskCustomScheduleBo.getFrequencyStartTime().isEmpty()) {
activeTaskCustomScheduleBo.setFrequencyStartTime(
FdahpStudyDesignerUtil.getFormattedDate(
activeTaskCustomScheduleBo.getFrequencyStartTime(),
FdahpStudyDesignerConstants.SDF_TIME,
FdahpStudyDesignerConstants.UI_SDF_TIME));
}
if ((activeTaskCustomScheduleBo.getFrequencyEndTime() != null)
&& !activeTaskCustomScheduleBo.getFrequencyEndTime().isEmpty()) {
activeTaskCustomScheduleBo.setFrequencyEndTime(
FdahpStudyDesignerUtil.getFormattedDate(
activeTaskCustomScheduleBo.getFrequencyEndTime(),
FdahpStudyDesignerConstants.SDF_TIME,
FdahpStudyDesignerConstants.UI_SDF_TIME));
}
activeTaskCustomScheduleBo.setxDaysSign(activeTaskCustomScheduleBo.isxDaysSign());
if (activeTaskCustomScheduleBo.getTimePeriodFromDays() != null) {
activeTaskCustomScheduleBo.setTimePeriodFromDays(
activeTaskCustomScheduleBo.getTimePeriodFromDays());
}
activeTaskCustomScheduleBo.setyDaysSign(activeTaskCustomScheduleBo.isyDaysSign());
if (activeTaskCustomScheduleBo.getTimePeriodToDays() != null) {
activeTaskCustomScheduleBo.setTimePeriodToDays(
activeTaskCustomScheduleBo.getTimePeriodToDays());
}
session.saveOrUpdate(activeTaskCustomScheduleBo);
}
}
}
transaction.commit();
} catch (Exception e) {
transaction.rollback();
logger.error("StudyActiveTasksDAOImpl - saveOrUpdateActiveTask() - Error", e);
} finally {
if (session != null) {
session.close();
}
}
logger.exit("saveOrUpdateActiveTask() - Ends");
return activeTaskBo;
}