package com.haitaiinc.htemr.archiveborrow;
import com.haitai.Util;
import com.haitai.common.schema.Patient;
import com.haitai.miner.Extractor;
import com.haitaiinc.common.HTConfig;
import com.haitaiinc.common.InterFaceFactory;
import com.haitaiinc.exception.HTException;
import com.haitaiinc.htemr.common.DbConnection;
import com.haitaiinc.htemr.common.MessageStore;
import com.haitaiinc.htemr.interfaces.ConsultationInterface;
import com.haitaiinc.htemr.interfaces.DeathRecordInterface;
import com.haitaiinc.htemr.interfaces.DiagnoseInterface;
import com.haitaiinc.htemr.interfaces.FirstPageInterface;
import com.haitaiinc.htemr.interfaces.ManageCourseInterface;
import com.haitaiinc.htemr.interfaces.ManageInfectInterface;
import com.haitaiinc.htemr.interfaces.ManageInpatientInterface;
import com.haitaiinc.htemr.interfaces.ManageOperationInterface;
import com.haitaiinc.htemr.interfaces.ManageUsersInterface;
import com.haitaiinc.htemr.interfaces.PrintInterface;
import com.haitaiinc.htemr.interfaces.RcFor24HourInterface;
import com.haitaiinc.htemr.interfaces.SystemMessageInterface;
import com.haitaiinc.htemr.interfaces.TableTendInterface;
import com.haitaiinc.htemr.struct.InConsultationApply;
import com.haitaiinc.htemr.struct.InCourseRc;
import com.haitaiinc.htemr.struct.InDeath24Hour;
import com.haitaiinc.htemr.struct.InDeathRecord;
import com.haitaiinc.htemr.struct.InDiagnoseRc;
import com.haitaiinc.htemr.struct.InFirstOther;
import com.haitaiinc.htemr.struct.InFirstPage;
import com.haitaiinc.htemr.struct.InInfect;
import com.haitaiinc.htemr.struct.InInfoChange;
import com.haitaiinc.htemr.struct.InOperationApply;
import com.haitaiinc.htemr.struct.InOperationRc;
import com.haitaiinc.htemr.struct.InPatient;
import com.haitaiinc.htemr.struct.InPatientOther;
import com.haitaiinc.htemr.struct.InReferralMr;
import com.haitaiinc.htemr.struct.InTableTend;
import com.haitaiinc.htemr.struct.OperatorBaseinfo;
import com.haitaiinc.htemr.struct.SelectContent;
import com.haitaiinc.utils.DateUtil;
import com.haitaiinc.utils.StringUtil;
import java.io.PrintStream;
import java.io.StringReader;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
public class ArchiveBorrowModel
{
public ArchiveBorrowModel()
{
}
/**
* 根据条件查询用户列表
*
* @param operator
* 设置查询条件
* @return 包含OperatorBaseinfo对象的列表
*/
public List searchOperationBaseInfos(OperatorBaseinfo operator)
throws HTException
{
ManageUsersInterface mui = (ManageUsersInterface)InterFaceFactory.buildInterface(com.haitaiinc.htemr.interfaces.ManageUsersInterface.class.getName());
return mui.searchOperatorBaseInfos(operator);
}
/**
* 根据abs,读取ArchiveBorrowSet数目,以判断是否存在
*
* @return String
*/
public String countArchiveBorrowSet()
throws HTException
{
String ret;
DbConnection db;
Connection conn;
ret = "";
db = new DbConnection();
conn = db.conn;
try
{
String sql = "select count(*) from ARCHIVE_BORROW_SET";
PreparedStatement pst = conn.prepareStatement(sql);
ResultSet rs = pst.executeQuery();
if(rs.next())
ret = rs.getString(1);
rs.close();
pst.close();
conn.commit();
}
catch(Exception e)
{
e.printStackTrace();
try
{
conn.rollback();
}
catch(Exception exception) { }
throw new HTException(e);
}finally{
db.close();
}
return ret;
}
/**
* 根据ab,读取ArchiveBorrow数目,以判断是否存在
*
* @param ab
* @return String
*/
public String countArchiveBorrow(ArchiveBorrow ab)
throws HTException
{
String ret;
DbConnection db;
Connection conn;
ret = "";
db = new DbConnection();
conn = db.conn;
try
{
String sql = ab.makeCountItemSql();
PreparedStatement pst = conn.prepareStatement(sql);
ResultSet rs = pst.executeQuery();
if(rs.next())
ret = rs.getString(1);
rs.close();
pst.close();
conn.commit();
}
catch(Exception e)
{
e.printStackTrace();
try
{
conn.rollback();
}
catch(Exception exception) { }
throw new HTException(e);
}finally{
db.close();
}
return ret;
}
/**
* 新增 病案借阅ArchiveBorrow
*
* @param ab
* 病案借阅结构体
*/
public void insertArchiveBorrow(ArchiveBorrow ab)
throws HTException
{
DbConnection db;
Connection conn;
db = new DbConnection();
conn = db.conn;
try
{
PreparedStatement pst = conn.prepareStatement(ArchiveBorrow.INSERT);
pst = ab.makeInsSt(pst);
pst.executeUpdate();
pst.close();
conn.commit();
}
catch(Exception e)
{
e.printStackTrace();
try
{
conn.rollback();
}
catch(Exception exception) { }
throw new HTException(e);
}finally{
db.close();
}
return;
}
/**
* 修改 病案借阅ArchiveBorrow
*
* @param ab
* 病案借阅结构体
*/
public void modifyArchiveBorrow(ArchiveBorrow ab)
throws HTException
{
DbConnection db;
Connection conn;
db = new DbConnection();
conn = db.conn;
try
{
PreparedStatement pst = conn.prepareStatement(ArchiveBorrow.UPDATE);
pst = ab.makeUpdSt(pst);
pst.executeUpdate();
pst.close();
conn.commit();
}
catch(Exception e)
{
e.printStackTrace();
try
{
conn.rollback();
}
catch(Exception exception) { }
throw new HTException(e);
}finally{
db.close();
}
return;
}
/**
* 根据applyFileFlow,读取ArchiveBorrow记录
*
* @param applyFileFlow
* @return ArchiveBorrow
*/
public ArchiveBorrow readArchiveBorrow(String applyFileFlow)
throws HTException
{
ArchiveBorrow ret;
DbConnection db;
Connection conn;
ret = null;
db = new DbConnection();
conn = db.conn;
try
{
String sql = ArchiveBorrow.SELECT + " where APPLY_FILE_FLOW=?";
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1, applyFileFlow);
ResultSet rs = pst.executeQuery();
if(rs.next())
{
ret = new ArchiveBorrow();
ret.fetchArchiveBorrow(rs);
}
rs.close();
pst.close();
conn.commit();
}
catch(Exception e)
{
e.printStackTrace();
try
{
conn.rollback();
}
catch(Exception exception) { }
throw new HTException(e);
}finally{
db.close();
}
return ret;
}
/**
* 删除 病案借阅ArchiveBorrow
*
* @param applyFileFlow
* 流水号
*/
public void deleteA