811 lines
40 KiB
C#
811 lines
40 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
using System.Collections;
|
|
using AIMSModel;
|
|
using AIMSObjectQuery;
|
|
using System.Collections.Generic;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using HelperDB;
|
|
|
|
namespace AIMSDAL
|
|
{
|
|
public partial class DUseDrugsReport
|
|
{
|
|
#region 插入实体操作部份
|
|
/// <summary>
|
|
/// 插入
|
|
/// </summary>
|
|
/// <param name="cmd">Command对象</param>
|
|
/// <param name="useDrugsReport">实体类对象</param>
|
|
/// <returns>标识列值或影响的记录行数</returns>
|
|
public static int Insert(SqlCommand cmd, UseDrugsReport useDrugsReport)
|
|
{
|
|
cmd.Parameters.Clear();
|
|
cmd.CommandText = "insert into UseDrugsReport (用药Id,加药时间,使用日期,患者姓名,性别,年龄,住院号,病历号,身份证号码,疾病名称,药品名称,剩余药品弃取记录,批号,处方剂量,用量,残留剂量,残液处理方式,残液处理地点,处方医师,执行护士,复核人,核对护士,术间,医生签名,医生签名2,护士签名,PatientRecordId,State,Num,SpecUnit,Enter,镇痛泵使用量,镇痛泵余量) values (@用药Id,@加药时间,@使用日期,@患者姓名,@性别,@年龄,@住院号,@病历号,@身份证号码,@疾病名称,@药品名称,@剩余药品弃取记录,@批号,@处方剂量,@用量,@残留剂量,@残液处理方式,@残液处理地点,@处方医师,@执行护士,@复核人,@核对护士,@术间,@医生签名,@医生签名2,@护士签名,@PatientRecordId,@State,@Num,@SpecUnit,@Enter,@镇痛泵使用量,@镇痛泵余量);select @@identity";
|
|
//从实体中取出值放入Command的参数列表
|
|
cmd.Parameters.Add(new SqlParameter("@用药Id",useDrugsReport.用药Id.HasValue?(object)useDrugsReport.用药Id.Value:(object)DBNull.Value));
|
|
cmd.Parameters.Add(new SqlParameter("@加药时间",useDrugsReport.加药时间.HasValue?(object)useDrugsReport.加药时间.Value:(object)DBNull.Value));
|
|
cmd.Parameters.Add(new SqlParameter("@使用日期",useDrugsReport.使用日期==null?(object)DBNull.Value:(object)useDrugsReport.使用日期));
|
|
cmd.Parameters.Add(new SqlParameter("@患者姓名",useDrugsReport.患者姓名==null?(object)DBNull.Value:(object)useDrugsReport.患者姓名));
|
|
cmd.Parameters.Add(new SqlParameter("@性别",useDrugsReport.性别==null?(object)DBNull.Value:(object)useDrugsReport.性别));
|
|
cmd.Parameters.Add(new SqlParameter("@年龄",useDrugsReport.年龄==null?(object)DBNull.Value:(object)useDrugsReport.年龄));
|
|
cmd.Parameters.Add(new SqlParameter("@住院号",useDrugsReport.住院号==null?(object)DBNull.Value:(object)useDrugsReport.住院号));
|
|
cmd.Parameters.Add(new SqlParameter("@病历号",useDrugsReport.病历号==null?(object)DBNull.Value:(object)useDrugsReport.病历号));
|
|
cmd.Parameters.Add(new SqlParameter("@身份证号码",useDrugsReport.身份证号码==null?(object)DBNull.Value:(object)useDrugsReport.身份证号码));
|
|
cmd.Parameters.Add(new SqlParameter("@疾病名称", useDrugsReport.疾病名称 == null ? (object)DBNull.Value : (object)useDrugsReport.疾病名称));
|
|
cmd.Parameters.Add(new SqlParameter("@药品名称", useDrugsReport.药品名称 == null ? (object)DBNull.Value : (object)useDrugsReport.药品名称));
|
|
cmd.Parameters.Add(new SqlParameter("@剩余药品弃取记录", useDrugsReport.剩余药品弃取记录 == null ? (object)DBNull.Value : (object)useDrugsReport.剩余药品弃取记录));
|
|
cmd.Parameters.Add(new SqlParameter("@批号", useDrugsReport.批号 == null ? (object)DBNull.Value : (object)useDrugsReport.批号));
|
|
cmd.Parameters.Add(new SqlParameter("@处方剂量", useDrugsReport.处方剂量 == null ? (object)DBNull.Value : (object)useDrugsReport.处方剂量));
|
|
cmd.Parameters.Add(new SqlParameter("@用量", useDrugsReport.用量 == null ? (object)DBNull.Value : (object)useDrugsReport.用量));
|
|
cmd.Parameters.Add(new SqlParameter("@残留剂量", useDrugsReport.残留剂量 == null ? (object)DBNull.Value : (object)useDrugsReport.残留剂量));
|
|
cmd.Parameters.Add(new SqlParameter("@残液处理方式", useDrugsReport.残液处理方式 == null ? (object)DBNull.Value : (object)useDrugsReport.残液处理方式));
|
|
cmd.Parameters.Add(new SqlParameter("@残液处理地点", useDrugsReport.残液处理地点 == null ? (object)DBNull.Value : (object)useDrugsReport.残液处理地点));
|
|
cmd.Parameters.Add(new SqlParameter("@处方医师", useDrugsReport.处方医师 == null ? (object)DBNull.Value : (object)useDrugsReport.处方医师));
|
|
cmd.Parameters.Add(new SqlParameter("@执行护士", useDrugsReport.执行护士 == null ? (object)DBNull.Value : (object)useDrugsReport.执行护士));
|
|
cmd.Parameters.Add(new SqlParameter("@复核人", useDrugsReport.复核人 == null ? (object)DBNull.Value : (object)useDrugsReport.复核人));
|
|
cmd.Parameters.Add(new SqlParameter("@核对护士", useDrugsReport.核对护士 == null ? (object)DBNull.Value : (object)useDrugsReport.核对护士));
|
|
cmd.Parameters.Add(new SqlParameter("@术间", useDrugsReport.术间 == null ? (object)DBNull.Value : (object)useDrugsReport.术间));
|
|
cmd.Parameters.Add(new SqlParameter("@医生签名", useDrugsReport.医生签名 == null ? (object)DBNull.Value : (object)useDrugsReport.医生签名));
|
|
cmd.Parameters.Add(new SqlParameter("@医生签名2", useDrugsReport.医生签名2 == null ? (object)DBNull.Value : (object)useDrugsReport.医生签名2));
|
|
cmd.Parameters.Add(new SqlParameter("@护士签名",useDrugsReport.护士签名==null?(object)DBNull.Value:(object)useDrugsReport.护士签名));
|
|
cmd.Parameters.Add(new SqlParameter("@PatientRecordId",useDrugsReport.PatientRecordId.HasValue?(object)useDrugsReport.PatientRecordId.Value:(object)DBNull.Value));
|
|
cmd.Parameters.Add(new SqlParameter("@State",useDrugsReport.State.HasValue?(object)useDrugsReport.State.Value:(object)DBNull.Value));
|
|
cmd.Parameters.Add(new SqlParameter("@Num",useDrugsReport.Num.HasValue?(object)useDrugsReport.Num.Value:(object)DBNull.Value));
|
|
cmd.Parameters.Add(new SqlParameter("@SpecUnit",useDrugsReport.SpecUnit==null?(object)DBNull.Value:(object)useDrugsReport.SpecUnit));
|
|
cmd.Parameters.Add(new SqlParameter("@Enter",useDrugsReport.Enter.HasValue?(object)useDrugsReport.Enter.Value:(object)DBNull.Value));
|
|
cmd.Parameters.Add(new SqlParameter("@镇痛泵使用量",useDrugsReport.镇痛泵使用量==null?(object)DBNull.Value:(object)useDrugsReport.镇痛泵使用量));
|
|
cmd.Parameters.Add(new SqlParameter("@镇痛泵余量",useDrugsReport.镇痛泵余量==null?(object)DBNull.Value:(object)useDrugsReport.镇痛泵余量));
|
|
return Convert.ToInt32(cmd.ExecuteScalar());
|
|
}
|
|
/// <summary>
|
|
/// 不使用事务的插入方法
|
|
/// </summary>
|
|
/// <param name="useDrugsReport">实体类对象</param>
|
|
/// <returns>标识列值或影响的记录行数</returns>
|
|
public static int Insert(UseDrugsReport useDrugsReport)
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
|
|
{
|
|
conn.Open();
|
|
using (SqlCommand cmd = conn.CreateCommand())
|
|
{
|
|
return Insert(cmd, useDrugsReport);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 使用事务的插入方法
|
|
/// </summary>
|
|
/// <param name="connection">实现共享Connection的对象</param>
|
|
/// <param name="useDrugsReport">实体类对象</param>
|
|
/// <returns>标识列值或影响的记录行数</returns>
|
|
public static int Insert(Connection connection, UseDrugsReport useDrugsReport)
|
|
{
|
|
return Insert(connection.Command, useDrugsReport);
|
|
}
|
|
#endregion
|
|
|
|
#region 删除实体操作
|
|
|
|
/// <summary>
|
|
/// 删除
|
|
/// </summary>
|
|
/// <param name="cmd">Command对象</param>
|
|
/// <param name="useDrugsReport">实体类对象</param>
|
|
/// <returns>影响的记录行数</returns>
|
|
public static int ExcuteDeleteCommand(SqlCommand cmd, UseDrugsReport useDrugsReport)
|
|
{
|
|
cmd.Parameters.Clear();
|
|
cmd.CommandText = "delete from UseDrugsReport where Id=@Id";
|
|
//从实体中取出值放入Command的参数列表
|
|
cmd.Parameters.Add(new SqlParameter("@Id", useDrugsReport.Id));
|
|
return cmd.ExecuteNonQuery();
|
|
}
|
|
/// <summary>
|
|
/// 不使用事务的删除方法
|
|
/// </summary>
|
|
/// <param name="useDrugsReport">实体类对象</param>
|
|
/// <returns>影响的记录行数</returns>
|
|
public static int Delete(UseDrugsReport useDrugsReport)
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
|
|
{
|
|
conn.Open();
|
|
using (SqlCommand cmd = conn.CreateCommand())
|
|
{
|
|
return ExcuteDeleteCommand(cmd, useDrugsReport);
|
|
}
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 使用事务的删除方法
|
|
/// </summary>
|
|
/// <param name="connection">实现共享Connection的对象</param>
|
|
/// <param name="useDrugsReport">实体类对象</param>
|
|
/// <returns>影响的记录行数</returns>
|
|
public static int Delete(Connection connection, UseDrugsReport useDrugsReport)
|
|
{
|
|
return ExcuteDeleteCommand(connection.Command, useDrugsReport);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 执行删除命令
|
|
/// </summary>
|
|
/// <param name="cmd">Command对象</param>
|
|
/// <param name="oql">对象查询语句</param>
|
|
/// <param name="parameters">参数列表</param>
|
|
/// <returns>影响的记录行数</returns>
|
|
public static int ExcuteDeleteCommand(SqlCommand cmd, string oql, ParameterList parameters)
|
|
{
|
|
//解析过滤部份Sql语句
|
|
string filterString = SyntaxAnalyzer.ParseSql(oql, new UseDrugsReportMap());
|
|
if (filterString != string.Empty)
|
|
{
|
|
filterString = " where " + filterString;
|
|
}
|
|
cmd.Parameters.Clear();
|
|
cmd.CommandText = "delete from UseDrugsReport " + filterString;
|
|
//添加参数
|
|
if (parameters != null)
|
|
{
|
|
foreach (string key in parameters.Keys)
|
|
{
|
|
cmd.Parameters.Add(new SqlParameter(key, parameters[key]));
|
|
}
|
|
}
|
|
return cmd.ExecuteNonQuery();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 不使用事务的删除方法
|
|
/// </summary>
|
|
/// <param name="oql">对象查询语句</param>
|
|
/// <param name="parameters">参数列表</param>
|
|
/// <returns>影响的记录行数</returns>
|
|
public static int Delete(string oql, ParameterList parameters)
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
|
|
{
|
|
conn.Open();
|
|
using (SqlCommand cmd = conn.CreateCommand())
|
|
{
|
|
return ExcuteDeleteCommand(cmd, oql, parameters);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 使用事务的删除方法
|
|
/// </summary>
|
|
/// <param name="connection">实现共享Connection的对象</param>
|
|
/// <param name="oql">对象查询语句</param>
|
|
/// <param name="parameters">参数列表</param>
|
|
/// <returns>影响的记录行数</returns>
|
|
public static int Delete(Connection connection, string oql, ParameterList parameters)
|
|
{
|
|
return ExcuteDeleteCommand(connection.Command, oql, parameters);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 更新实体操作
|
|
|
|
/// <summary>
|
|
/// 更新
|
|
/// </summary>
|
|
/// <param name="cmd">Command对象</param>
|
|
/// <param name="useDrugsReport">实体类对象</param>
|
|
/// <returns>影响的记录行数</returns>
|
|
public static int ExcuteUpdateCommand(SqlCommand cmd, UseDrugsReport useDrugsReport)
|
|
{
|
|
cmd.CommandText = "update UseDrugsReport set 用药Id=@用药Id,加药时间=@加药时间,使用日期=@使用日期,患者姓名=@患者姓名,性别=@性别,年龄=@年龄,住院号=@住院号,病历号=@病历号,身份证号码=@身份证号码,疾病名称=@疾病名称,药品名称=@药品名称,剩余药品弃取记录=@剩余药品弃取记录,批号=@批号,处方剂量=@处方剂量,用量=@用量,残留剂量=@残留剂量,残液处理方式=@残液处理方式,残液处理地点=@残液处理地点,处方医师=@处方医师,执行护士=@执行护士,复核人=@复核人,核对护士=@核对护士,术间=@术间,医生签名=@医生签名,医生签名2=@医生签名2,护士签名=@护士签名,PatientRecordId=@PatientRecordId,State=@State,Num=@Num,SpecUnit=@SpecUnit,Enter=@Enter,镇痛泵使用量=@镇痛泵使用量,镇痛泵余量=@镇痛泵余量 where Id=@Id";
|
|
//从实体中取出值放入Command的参数列表
|
|
cmd.Parameters.Add(new SqlParameter("@用药Id",useDrugsReport.用药Id.HasValue?(object)useDrugsReport.用药Id.Value:(object)DBNull.Value));
|
|
cmd.Parameters.Add(new SqlParameter("@加药时间",useDrugsReport.加药时间.HasValue?(object)useDrugsReport.加药时间.Value:(object)DBNull.Value));
|
|
cmd.Parameters.Add(new SqlParameter("@使用日期",useDrugsReport.使用日期==null?(object)DBNull.Value:(object)useDrugsReport.使用日期));
|
|
cmd.Parameters.Add(new SqlParameter("@患者姓名",useDrugsReport.患者姓名==null?(object)DBNull.Value:(object)useDrugsReport.患者姓名));
|
|
cmd.Parameters.Add(new SqlParameter("@性别",useDrugsReport.性别==null?(object)DBNull.Value:(object)useDrugsReport.性别));
|
|
cmd.Parameters.Add(new SqlParameter("@年龄",useDrugsReport.年龄==null?(object)DBNull.Value:(object)useDrugsReport.年龄));
|
|
cmd.Parameters.Add(new SqlParameter("@住院号",useDrugsReport.住院号==null?(object)DBNull.Value:(object)useDrugsReport.住院号));
|
|
cmd.Parameters.Add(new SqlParameter("@病历号",useDrugsReport.病历号==null?(object)DBNull.Value:(object)useDrugsReport.病历号));
|
|
cmd.Parameters.Add(new SqlParameter("@身份证号码",useDrugsReport.身份证号码==null?(object)DBNull.Value:(object)useDrugsReport.身份证号码));
|
|
cmd.Parameters.Add(new SqlParameter("@疾病名称",useDrugsReport.疾病名称==null?(object)DBNull.Value:(object)useDrugsReport.疾病名称));
|
|
cmd.Parameters.Add(new SqlParameter("@药品名称",useDrugsReport.药品名称==null?(object)DBNull.Value:(object)useDrugsReport.药品名称));
|
|
cmd.Parameters.Add(new SqlParameter("@剩余药品弃取记录",useDrugsReport.剩余药品弃取记录==null?(object)DBNull.Value:(object)useDrugsReport.剩余药品弃取记录));
|
|
cmd.Parameters.Add(new SqlParameter("@批号",useDrugsReport.批号==null?(object)DBNull.Value:(object)useDrugsReport.批号));
|
|
cmd.Parameters.Add(new SqlParameter("@处方剂量",useDrugsReport.处方剂量==null?(object)DBNull.Value:(object)useDrugsReport.处方剂量));
|
|
cmd.Parameters.Add(new SqlParameter("@用量",useDrugsReport.用量==null?(object)DBNull.Value:(object)useDrugsReport.用量));
|
|
cmd.Parameters.Add(new SqlParameter("@残留剂量",useDrugsReport.残留剂量==null?(object)DBNull.Value:(object)useDrugsReport.残留剂量));
|
|
cmd.Parameters.Add(new SqlParameter("@残液处理方式",useDrugsReport.残液处理方式==null?(object)DBNull.Value:(object)useDrugsReport.残液处理方式));
|
|
cmd.Parameters.Add(new SqlParameter("@残液处理地点",useDrugsReport.残液处理地点==null?(object)DBNull.Value:(object)useDrugsReport.残液处理地点));
|
|
cmd.Parameters.Add(new SqlParameter("@处方医师",useDrugsReport.处方医师==null?(object)DBNull.Value:(object)useDrugsReport.处方医师));
|
|
cmd.Parameters.Add(new SqlParameter("@执行护士",useDrugsReport.执行护士==null?(object)DBNull.Value:(object)useDrugsReport.执行护士));
|
|
cmd.Parameters.Add(new SqlParameter("@复核人",useDrugsReport.复核人==null?(object)DBNull.Value:(object)useDrugsReport.复核人));
|
|
cmd.Parameters.Add(new SqlParameter("@核对护士",useDrugsReport.核对护士==null?(object)DBNull.Value:(object)useDrugsReport.核对护士));
|
|
cmd.Parameters.Add(new SqlParameter("@术间",useDrugsReport.术间==null?(object)DBNull.Value:(object)useDrugsReport.术间));
|
|
cmd.Parameters.Add(new SqlParameter("@医生签名",useDrugsReport.医生签名==null?(object)DBNull.Value:(object)useDrugsReport.医生签名));
|
|
cmd.Parameters.Add(new SqlParameter("@医生签名2",useDrugsReport.医生签名2==null?(object)DBNull.Value:(object)useDrugsReport.医生签名2));
|
|
cmd.Parameters.Add(new SqlParameter("@护士签名",useDrugsReport.护士签名==null?(object)DBNull.Value:(object)useDrugsReport.护士签名));
|
|
cmd.Parameters.Add(new SqlParameter("@PatientRecordId",useDrugsReport.PatientRecordId.HasValue?(object)useDrugsReport.PatientRecordId.Value:(object)DBNull.Value));
|
|
cmd.Parameters.Add(new SqlParameter("@State",useDrugsReport.State.HasValue?(object)useDrugsReport.State.Value:(object)DBNull.Value));
|
|
cmd.Parameters.Add(new SqlParameter("@Num",useDrugsReport.Num.HasValue?(object)useDrugsReport.Num.Value:(object)DBNull.Value));
|
|
cmd.Parameters.Add(new SqlParameter("@SpecUnit",useDrugsReport.SpecUnit==null?(object)DBNull.Value:(object)useDrugsReport.SpecUnit));
|
|
cmd.Parameters.Add(new SqlParameter("@Enter",useDrugsReport.Enter.HasValue?(object)useDrugsReport.Enter.Value:(object)DBNull.Value));
|
|
cmd.Parameters.Add(new SqlParameter("@镇痛泵使用量",useDrugsReport.镇痛泵使用量==null?(object)DBNull.Value:(object)useDrugsReport.镇痛泵使用量));
|
|
cmd.Parameters.Add(new SqlParameter("@镇痛泵余量",useDrugsReport.镇痛泵余量==null?(object)DBNull.Value:(object)useDrugsReport.镇痛泵余量));
|
|
cmd.Parameters.Add(new SqlParameter("@Id", useDrugsReport.Id));
|
|
return cmd.ExecuteNonQuery();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 不使用事务的更新方法
|
|
/// </summary>
|
|
/// <param name="useDrugsReport">实体类对象</param>
|
|
/// <returns>影响的记录行数</returns>
|
|
public static int Update(UseDrugsReport useDrugsReport)
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
|
|
{
|
|
conn.Open();
|
|
using (SqlCommand cmd = conn.CreateCommand())
|
|
{
|
|
return ExcuteUpdateCommand(cmd, useDrugsReport);
|
|
}
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 使用事务的更新方法
|
|
/// </summary>
|
|
/// <param name="connection">实现共享Connection的对象</param>
|
|
/// <param name="useDrugsReport">实体类对象</param>
|
|
/// <returns>影响的记录行数</returns>
|
|
public static int Update(Connection connection, UseDrugsReport useDrugsReport)
|
|
{
|
|
return ExcuteUpdateCommand(connection.Command, useDrugsReport);
|
|
}
|
|
/// <summary>
|
|
/// 执行更新命令
|
|
/// </summary>
|
|
/// <param name="cmd">Command对象</param>
|
|
/// <param name="oql">对象查询语句</param>
|
|
/// <param name="parameters">参数列表</param>
|
|
/// <returns>影响的记录行数</returns>
|
|
public static int ExcuteUpdateCommand(SqlCommand cmd, string oql, ParameterList parameters)
|
|
{
|
|
//解析过滤部份Sql语句
|
|
string updateString = SyntaxAnalyzer.ParseSql(oql, new UseDrugsReportMap());
|
|
cmd.CommandText = "update UseDrugsReport set " + updateString;
|
|
cmd.Parameters.Clear();
|
|
//添加参数
|
|
if (parameters != null)
|
|
{
|
|
foreach (string key in parameters.Keys)
|
|
{
|
|
cmd.Parameters.Add(new SqlParameter(key, parameters[key]));
|
|
}
|
|
}
|
|
return cmd.ExecuteNonQuery();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 不使用事务的更新方法
|
|
/// </summary>
|
|
/// <param name="oql">对象查询语句</param>
|
|
/// <param name="parameters">参数列表</param>
|
|
/// <returns>影响的记录行数</returns>
|
|
public static int Update(string oql, ParameterList parameters)
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
|
|
{
|
|
conn.Open();
|
|
using (SqlCommand cmd = conn.CreateCommand())
|
|
{
|
|
return ExcuteUpdateCommand(cmd, oql, parameters);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 使用事务的更新方法
|
|
/// </summary>
|
|
/// <param name="connection">实现共享Connection的对象</param>
|
|
/// <param name="oql">对象查询语句</param>
|
|
/// <param name="parameters">参数列表</param>
|
|
/// <returns>影响的记录行数</returns>
|
|
public static int Update(Connection connection, string oql, ParameterList parameters)
|
|
{
|
|
return ExcuteUpdateCommand(connection.Command, oql, parameters);
|
|
}
|
|
#endregion
|
|
|
|
#region 查询实体集合
|
|
/// <summary>
|
|
/// 执行Command获取对象列表
|
|
/// </summary>
|
|
/// <param name="cmd">Command对象</param>
|
|
/// <param name="recursiveType">递归类型</param>
|
|
/// <param name="recursiveDepth">递归深度</param>
|
|
/// <returns>实体类对象列表</returns>
|
|
public static List<UseDrugsReport> ExcuteSelectCommand(SqlCommand cmd, RecursiveType recursiveType, int recursiveDepth)
|
|
{
|
|
List<UseDrugsReport> useDrugsReportList = new List<UseDrugsReport>();
|
|
using (SqlDataReader dr = cmd.ExecuteReader())
|
|
{
|
|
while (dr.Read())
|
|
{
|
|
UseDrugsReport useDrugsReport = DataReaderToEntity(dr);
|
|
useDrugsReportList.Add(useDrugsReport);
|
|
}
|
|
}
|
|
return useDrugsReportList;
|
|
}
|
|
/// <summary>
|
|
/// 执行查询命令
|
|
/// </summary>
|
|
/// <param name="cmd">Command对象</param>
|
|
/// <param name="oql">对象查询语句</param>
|
|
/// <param name="parameters">参数列表</param>
|
|
/// <param name="recursiveType">递归类型</param>
|
|
/// <param name="recursiveDepth">递归深度</param>
|
|
/// <returns>实体类对象集合</returns>
|
|
public static List<UseDrugsReport> ExcuteSelectCommand(SqlCommand cmd, string oql, ParameterList parameters, RecursiveType recursiveType, int recursiveDepth)
|
|
{
|
|
//解析过滤部份Sql语句
|
|
string filterString = SyntaxAnalyzer.ParseSql(oql, new UseDrugsReportMap());
|
|
if (filterString != string.Empty)
|
|
{
|
|
if (filterString.Trim().ToLower().IndexOf("order ") != 0)
|
|
filterString = " where " + filterString;
|
|
}
|
|
cmd.Parameters.Clear();
|
|
cmd.CommandText = "select * from UseDrugsReport " + filterString;
|
|
//添加参数
|
|
if (parameters != null)
|
|
{
|
|
foreach (string key in parameters.Keys)
|
|
{
|
|
cmd.Parameters.Add(new SqlParameter(key, parameters[key]));
|
|
}
|
|
}
|
|
return ExcuteSelectCommand(cmd, recursiveType, recursiveDepth);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据对象查询语句查询实体集合
|
|
/// </summary>
|
|
/// <returns>实体类对象集合</returns>
|
|
public static List<UseDrugsReport> Select()
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
|
|
{
|
|
conn.Open();
|
|
using (SqlCommand cmd = conn.CreateCommand())
|
|
{
|
|
cmd.CommandText = "select * from UseDrugsReport";
|
|
return ExcuteSelectCommand(cmd, RecursiveType.Parent, 1);
|
|
}
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 根据对象查询语句查询实体集合
|
|
/// </summary>
|
|
/// <param name="recursiveType">递归类型</param>
|
|
/// <param name="recursiveDepth">递归深度</param>
|
|
/// <returns>实体类对象集合</returns>
|
|
public static List<UseDrugsReport> Select(RecursiveType recursiveType, int recursiveDepth)
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
|
|
{
|
|
conn.Open();
|
|
using (SqlCommand cmd = conn.CreateCommand())
|
|
{
|
|
cmd.CommandText = "select * from UseDrugsReport";
|
|
return ExcuteSelectCommand(cmd, recursiveType, recursiveDepth);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据对象查询语句查询实体集合
|
|
/// </summary>
|
|
/// <param name="oql">对象查询语句</param>
|
|
/// <param name="parameters">参数列表</param>
|
|
/// <returns>实体类对象集合</returns>
|
|
public static List<UseDrugsReport> Select(string oql, ParameterList parameters)
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
|
|
{
|
|
conn.Open();
|
|
using (SqlCommand cmd = conn.CreateCommand())
|
|
{
|
|
return ExcuteSelectCommand(cmd, oql, parameters, RecursiveType.Parent, 1);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据对象查询语句查询实体集合
|
|
/// </summary>
|
|
/// <param name="oql">对象查询语句</param>
|
|
/// <param name="parameters">参数列表</param>
|
|
/// <param name="recursiveType">递归类型</param>
|
|
/// <param name="recursiveDepth">递归深度</param>
|
|
/// <returns>实体类对象集合</returns>
|
|
public static List<UseDrugsReport> Select(string oql, ParameterList parameters, RecursiveType recursiveType, int recursiveDepth)
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
|
|
{
|
|
conn.Open();
|
|
using (SqlCommand cmd = conn.CreateCommand())
|
|
{
|
|
return ExcuteSelectCommand(cmd, oql, parameters, recursiveType, recursiveDepth);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据对象查询语句查询实体集合(启用事务)
|
|
/// </summary>
|
|
/// <param name="connection">连接对象</param>
|
|
/// <param name="oql">对象查询语句</param>
|
|
/// <param name="parameters">参数列表</param>
|
|
/// <param name="recursiveType">递归类型</param>
|
|
/// <param name="recursiveDepth">递归深度</param>
|
|
/// <returns>实体类对象集合</returns>
|
|
public static List<UseDrugsReport> Select(Connection connection, string oql, ParameterList parameters, RecursiveType recursiveType, int recursiveDepth)
|
|
{
|
|
return ExcuteSelectCommand(connection.Command, oql, parameters, recursiveType, recursiveDepth);
|
|
}
|
|
#endregion
|
|
|
|
#region 查询单个实体
|
|
|
|
/// <summary>
|
|
/// 递归查询单个实体
|
|
/// </summary>
|
|
/// <param name="cmd">Command对象</param>
|
|
/// <param name="recursiveType">递归类型</param>
|
|
/// <param name="recursiveDepth">递归深度</param>
|
|
/// <returns>实体对象</returns>
|
|
public static UseDrugsReport ExcuteSelectSingleCommand(SqlCommand cmd, RecursiveType recursiveType, int recursiveDepth)
|
|
{
|
|
UseDrugsReport useDrugsReport = null;
|
|
using (SqlDataReader dr = cmd.ExecuteReader())
|
|
{
|
|
if (dr.Read())
|
|
useDrugsReport = DataReaderToEntity(dr);
|
|
}
|
|
if (useDrugsReport == null)
|
|
return useDrugsReport;
|
|
return useDrugsReport;
|
|
}
|
|
/// <summary>
|
|
/// 更据对象查询语句递归查询单个实体
|
|
/// </summary>
|
|
/// <param name="cmd">Command对象</param>
|
|
/// <param name="oql">对象查询语句</param>
|
|
/// <param name="parameters">参数列表</param>
|
|
/// <param name="recursiveType">递归类型</param>
|
|
/// <param name="recursiveDepth">递归深度</param>
|
|
/// <returns>实体对象</returns>
|
|
public static UseDrugsReport ExcuteSelectSingleCommand(SqlCommand cmd, string oql, ParameterList parameters, RecursiveType recursiveType, int recursiveDepth)
|
|
{
|
|
//解析过滤部份Sql语句
|
|
string filterString = SyntaxAnalyzer.ParseSql(oql, new UseDrugsReportMap());
|
|
if (filterString != string.Empty)
|
|
{
|
|
filterString = " where " + filterString;
|
|
}
|
|
cmd.CommandText = "select * from UseDrugsReport " + filterString;
|
|
cmd.Parameters.Clear();
|
|
//添加参数
|
|
if (parameters != null)
|
|
{
|
|
foreach (string key in parameters.Keys)
|
|
{
|
|
cmd.Parameters.Add(new SqlParameter(key, parameters[key]));
|
|
}
|
|
}
|
|
return ExcuteSelectSingleCommand(cmd, recursiveType, recursiveDepth);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更据对象查询语句递归查询单个实体
|
|
/// </summary>
|
|
/// <param name="cmd">Command对象</param>
|
|
/// <param name="oql">对象查询语句</param>
|
|
/// <param name="parameters">参数列表</param>
|
|
/// <param name="recursiveType">递归类型</param>
|
|
/// <param name="recursiveDepth">递归深度</param>
|
|
/// <returns>实体对象</returns>
|
|
public static UseDrugsReport SelectSingle(string oql, ParameterList parameters, RecursiveType recursiveType, int recursiveDepth)
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
|
|
{
|
|
conn.Open();
|
|
using (SqlCommand cmd = conn.CreateCommand())
|
|
{
|
|
return ExcuteSelectSingleCommand(cmd, oql, parameters, recursiveType, recursiveDepth);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更据对象查询语句查询单个实体
|
|
/// </summary>
|
|
/// <param name="cmd">Command对象</param>
|
|
/// <param name="oql">对象查询语句</param>
|
|
/// <param name="parameters">参数列表</param>
|
|
/// <returns>实体对象</returns>
|
|
public static UseDrugsReport SelectSingle(string oql, ParameterList parameters)
|
|
{
|
|
return SelectSingle(oql, parameters, RecursiveType.Parent, 1);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更据对象查询语句并启用事务查询单个实体
|
|
/// </summary>
|
|
/// <param name="connection">连接对象</param>
|
|
/// <param name="oql">对象查询语句</param>
|
|
/// <param name="parameters">参数列表</param>
|
|
/// <returns>实体对象</returns>
|
|
public static UseDrugsReport SelectSingle(Connection connection, string oql, ParameterList parameters, RecursiveType recursiveType, int recursiveDepth)
|
|
{
|
|
return ExcuteSelectSingleCommand(connection.Command, oql, parameters, recursiveType, recursiveDepth);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更据主键值递归查询单个实体
|
|
/// </summary>
|
|
/// <param name="cmd">Command对象</param>
|
|
/// <param name="id">主键值</param>
|
|
/// <param name="recursiveType">递归类型</param>
|
|
/// <param name="recursiveDepth">递归深度</param>
|
|
/// <returns>实体对象</returns>
|
|
public static UseDrugsReport SelectSingle(SqlCommand cmd, int? id, RecursiveType recursiveType, int recursiveDepth)
|
|
{
|
|
cmd.Parameters.Clear();
|
|
if (id.HasValue)
|
|
{
|
|
cmd.CommandText = "select * from UseDrugsReport where Id=@pk";
|
|
cmd.Parameters.Add(new SqlParameter("@pk", id.Value));
|
|
}
|
|
else
|
|
{
|
|
cmd.CommandText = "select * from UseDrugsReport where Id is null";
|
|
}
|
|
return ExcuteSelectSingleCommand(cmd, recursiveType, recursiveDepth);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 按主键字段查询特定实体
|
|
/// </summary>
|
|
/// <param name="id">主键值</param>
|
|
/// <returns>实体类对象</returns>
|
|
public static UseDrugsReport SelectSingle(int? id)
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
|
|
{
|
|
conn.Open();
|
|
using (SqlCommand cmd = conn.CreateCommand())
|
|
{
|
|
return SelectSingle(cmd, id, RecursiveType.Parent, 1);
|
|
}
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 按主键字段查询特定实体
|
|
/// </summary>
|
|
/// <param name="id">主键值</param>
|
|
/// <param name="recursiveType">递归类型</param>
|
|
/// <param name="recursiveDepth">递归深度</param>
|
|
/// <returns>实体类对象</returns>
|
|
public static UseDrugsReport SelectSingle(int? id, RecursiveType recursiveType, int recursiveDepth)
|
|
{
|
|
using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
|
|
{
|
|
conn.Open();
|
|
using (SqlCommand cmd = conn.CreateCommand())
|
|
{
|
|
return SelectSingle(cmd, id, recursiveType, recursiveDepth);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 使用事务并按主键字段查询特定实体
|
|
/// </summary>
|
|
/// <param name="connection">连接对象</param>
|
|
/// <param name="id">主键值</param>
|
|
/// <returns>实体类对象</returns>
|
|
public static UseDrugsReport SelectSingle(Connection connection, int? id, RecursiveType recursiveType, int recursiveDepth)
|
|
{
|
|
return SelectSingle(connection.Command, id, recursiveType, recursiveDepth);
|
|
}
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// 从DataReader中取出值生成实体对象
|
|
/// </summary>
|
|
/// <param name="searcher">查询对象</param>
|
|
/// <returns>过滤条件字符串</returns>
|
|
private static UseDrugsReport DataReaderToEntity(SqlDataReader dr)
|
|
{
|
|
UseDrugsReport entity = new UseDrugsReport();
|
|
if (dr["Id"] != System.DBNull.Value)
|
|
{
|
|
entity.Id = Convert.ToInt32(dr["Id"]);
|
|
}
|
|
if (dr["用药Id"] != System.DBNull.Value)
|
|
{
|
|
entity.用药Id = Convert.ToInt32(dr["用药Id"]);
|
|
}
|
|
if (dr["加药时间"] != System.DBNull.Value)
|
|
{
|
|
entity.加药时间 = Convert.ToDateTime(dr["加药时间"]);
|
|
}
|
|
if (dr["使用日期"] != System.DBNull.Value)
|
|
{
|
|
entity.使用日期 = dr["使用日期"].ToString();
|
|
}
|
|
if (dr["患者姓名"] != System.DBNull.Value)
|
|
{
|
|
entity.患者姓名 = dr["患者姓名"].ToString();
|
|
}
|
|
if (dr["性别"] != System.DBNull.Value)
|
|
{
|
|
entity.性别 = dr["性别"].ToString();
|
|
}
|
|
if (dr["年龄"] != System.DBNull.Value)
|
|
{
|
|
entity.年龄 = dr["年龄"].ToString();
|
|
}
|
|
if (dr["住院号"] != System.DBNull.Value)
|
|
{
|
|
entity.住院号 = dr["住院号"].ToString();
|
|
}
|
|
if (dr["病历号"] != System.DBNull.Value)
|
|
{
|
|
entity.病历号 = dr["病历号"].ToString();
|
|
}
|
|
if (dr["身份证号码"] != System.DBNull.Value)
|
|
{
|
|
entity.身份证号码 = dr["身份证号码"].ToString();
|
|
}
|
|
if (dr["疾病名称"] != System.DBNull.Value)
|
|
{
|
|
entity.疾病名称 = dr["疾病名称"].ToString();
|
|
}
|
|
if (dr["药品名称"] != System.DBNull.Value)
|
|
{
|
|
entity.药品名称 = dr["药品名称"].ToString();
|
|
}
|
|
if (dr["剩余药品弃取记录"] != System.DBNull.Value)
|
|
{
|
|
entity.剩余药品弃取记录 = dr["剩余药品弃取记录"].ToString();
|
|
}
|
|
if (dr["批号"] != System.DBNull.Value)
|
|
{
|
|
entity.批号 = dr["批号"].ToString();
|
|
}
|
|
if (dr["处方剂量"] != System.DBNull.Value)
|
|
{
|
|
entity.处方剂量 = dr["处方剂量"].ToString();
|
|
}
|
|
if (dr["用量"] != System.DBNull.Value)
|
|
{
|
|
entity.用量 = dr["用量"].ToString();
|
|
}
|
|
if (dr["残留剂量"] != System.DBNull.Value)
|
|
{
|
|
entity.残留剂量 = dr["残留剂量"].ToString();
|
|
}
|
|
if (dr["残液处理方式"] != System.DBNull.Value)
|
|
{
|
|
entity.残液处理方式 = dr["残液处理方式"].ToString();
|
|
}
|
|
if (dr["残液处理地点"] != System.DBNull.Value)
|
|
{
|
|
entity.残液处理地点 = dr["残液处理地点"].ToString();
|
|
}
|
|
if (dr["处方医师"] != System.DBNull.Value)
|
|
{
|
|
entity.处方医师 = dr["处方医师"].ToString();
|
|
}
|
|
if (dr["执行护士"] != System.DBNull.Value)
|
|
{
|
|
entity.执行护士 = dr["执行护士"].ToString();
|
|
}
|
|
if (dr["复核人"] != System.DBNull.Value)
|
|
{
|
|
entity.复核人 = dr["复核人"].ToString();
|
|
}
|
|
if (dr["核对护士"] != System.DBNull.Value)
|
|
{
|
|
entity.核对护士 = dr["核对护士"].ToString();
|
|
}
|
|
|
|
if(dr["Enter"]!=System.DBNull.Value)
|
|
{
|
|
entity.Enter=Convert.ToInt32(dr["Enter"]);
|
|
}
|
|
if(dr["Num"]!=System.DBNull.Value)
|
|
{
|
|
entity.Num=Convert.ToInt32(dr["Num"]);
|
|
}
|
|
if(dr["SpecUnit"]!=System.DBNull.Value)
|
|
{
|
|
entity.SpecUnit=dr["SpecUnit"].ToString();
|
|
}
|
|
if (dr["术间"] != System.DBNull.Value)
|
|
{
|
|
entity.术间 = dr["术间"].ToString();
|
|
}
|
|
if (dr["医生签名"] != System.DBNull.Value)
|
|
{
|
|
entity.医生签名 = dr["医生签名"].ToString();
|
|
}
|
|
if (entity.医生签名 != null && entity.医生签名 != "")
|
|
{
|
|
entity.医生签名Img = BytesToImage(Convert.FromBase64String(entity.医生签名));
|
|
}
|
|
if (dr["医生签名2"] != System.DBNull.Value)
|
|
{
|
|
entity.医生签名2 = dr["医生签名2"].ToString();
|
|
}
|
|
if (entity.医生签名2 != null && entity.医生签名2 != "")
|
|
{
|
|
entity.医生签名2Img = BytesToImage(Convert.FromBase64String(entity.医生签名2));
|
|
}
|
|
if (dr["护士签名"] != System.DBNull.Value)
|
|
{
|
|
entity.护士签名 = dr["护士签名"].ToString();
|
|
}
|
|
if (entity.护士签名 != null && entity.护士签名 != "")
|
|
{
|
|
entity.护士签名Img = BytesToImage(Convert.FromBase64String(entity.护士签名));
|
|
}
|
|
if (dr["PatientRecordId"] != System.DBNull.Value)
|
|
{
|
|
entity.PatientRecordId = Convert.ToInt32(dr["PatientRecordId"]);
|
|
}
|
|
if (dr["State"] != System.DBNull.Value)
|
|
{
|
|
entity.State = Convert.ToInt32(dr["State"]);
|
|
}
|
|
if(dr["镇痛泵使用量"]!=System.DBNull.Value)
|
|
{
|
|
entity.镇痛泵使用量=dr["镇痛泵使用量"].ToString();
|
|
}
|
|
if(dr["镇痛泵余量"]!=System.DBNull.Value)
|
|
{
|
|
entity.镇痛泵余量=dr["镇痛泵余量"].ToString();
|
|
}
|
|
return entity;
|
|
}
|
|
/// <summary>
|
|
/// Byte[]转Image
|
|
/// </summary>
|
|
/// <param name="buffer"></param>
|
|
/// <returns></returns>
|
|
public static Image BytesToImage(byte[] buffer)
|
|
{
|
|
MemoryStream ms = new MemoryStream(buffer);
|
|
Image image = Image.FromStream(ms);
|
|
return image;
|
|
}
|
|
|
|
public static DataTable getUseDrugsReportNo(string Name)
|
|
{
|
|
string sql = string.Format("select top 5 批号 from UseDrugsReport where 批号 like '%{0}%' order by id desc", Name);
|
|
return DBHelper.GetDataTable(sql);
|
|
}
|
|
|
|
}
|
|
}
|
|
|