us.mn.state.health.lims.referral.daoimpl.ReferringTestResultDAOImpl.java Source code

Java tutorial

Introduction

Here is the source code for us.mn.state.health.lims.referral.daoimpl.ReferringTestResultDAOImpl.java

Source

/*
 * The contents of this file are subject to the Mozilla Public License
 * Version 1.1 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * License for the specific language governing rights and limitations under
 * the License.
 *
 * The Original Code is OpenELIS code.
 *
 * Copyright (C) ITECH, University of Washington, Seattle WA.  All Rights Reserved.
 */
package us.mn.state.health.lims.referral.daoimpl;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import us.mn.state.health.lims.audittrail.dao.AuditTrailDAO;
import us.mn.state.health.lims.audittrail.daoimpl.AuditTrailDAOImpl;
import us.mn.state.health.lims.common.daoimpl.BaseDAOImpl;
import us.mn.state.health.lims.common.exception.LIMSRuntimeException;
import us.mn.state.health.lims.hibernate.HibernateUtil;
import us.mn.state.health.lims.referral.dao.ReferringTestResultDAO;
import us.mn.state.health.lims.referral.valueholder.ReferringTestResult;

import java.sql.Date;
import java.util.List;

/*
 */
public class ReferringTestResultDAOImpl extends BaseDAOImpl implements ReferringTestResultDAO {

    private AuditTrailDAO auditDAO = new AuditTrailDAOImpl();

    public boolean insertData(ReferringTestResult referringTestResult) throws LIMSRuntimeException {
        try {
            String id = (String) HibernateUtil.getSession().save(referringTestResult);
            referringTestResult.setId(id);

            auditDAO.saveNewHistory(referringTestResult, referringTestResult.getSysUserId(),
                    "REFERRING_TEST_RESULT");
            closeSession();
        } catch (HibernateException e) {
            handleException(e, "insertData");
        }

        return true;
    }

    @Override
    @SuppressWarnings("unchecked")
    public List<ReferringTestResult> getReferringTestResultsForSampleItem(String sampleItemId)
            throws LIMSRuntimeException {
        String sql = "from ReferringTestResult rtr where rtr.sampleItemId = :sampleItemId";
        try {
            Query query = HibernateUtil.getSession().createQuery(sql);
            query.setInteger("sampleItemId", Integer.parseInt(sampleItemId));
            List<ReferringTestResult> list = query.list();
            closeSession();
            return list;
        } catch (HibernateException e) {
            handleException(e, "getReferringTestResultsForSampleItem");
        }
        return null;
    }

    @Override
    public List<ReferringTestResult> getResultsInDateRange(Date lowDate, Date highDate)
            throws LIMSRuntimeException {
        String sql = "from ReferringTestResult rtr where rtr.lastupdated BETWEEN :lowDate AND :highDate";
        try {
            Query query = HibernateUtil.getSession().createQuery(sql);
            query.setDate("lowDate", lowDate);
            query.setDate("highDate", highDate);

            List<ReferringTestResult> list = query.list();
            closeSession();
            return list;
        } catch (HibernateException e) {
            handleException(e, "getResultsInDateRange");
        }

        return null;
    }

}