AIMS/AIMSEntity/DAL/Extension/DUseDrugsReportService.cs
2022-09-26 17:39:34 +08:00

199 lines
16 KiB
C#

using AIMSModel;
using HelperDB;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.IO;
namespace AIMSDAL
{
public static partial class DUseDrugsReportService
{
//Add Mothed Start
public static readonly string InsertSql = "INSERT UseDrugsReport (用药Id, 加药时间, 使用日期, 患者姓名, 性别, 年龄, 住院号, 病历号, 身份证号码, 疾病名称, 药品名称, 剩余药品弃取记录, 批号, 处方剂量, 用量, 残留剂量, 残液处理方式, 残液处理地点, 处方医师, 执行护士, 复核人, 核对护士, 术间, 医生签名, 医生签名2, 护士签名, PatientRecordId, State, Num, SpecUnit, Enter, 镇痛泵使用量, 镇痛泵余量)VALUES (@用药Id, @加药时间, @使用日期, @患者姓名, @性别, @年龄, @住院号, @病历号, @身份证号码, @疾病名称, @药品名称, @剩余药品弃取记录, @批号, @处方剂量, @用量, @残留剂量, @残液处理方式, @残液处理地点, @处方医师, @执行护士, @复核人, @核对护士, @术间, @医生签名, @医生签名2, @护士签名, @PatientRecordId, @State, @Num, @SpecUnit, @Enter, @镇痛泵使用量, @镇痛泵余量)";
public static readonly string UpdateSql = "Update UseDrugsReport set 用药Id=@用药Id, 加药时间=@加药时间, 使用日期=@使用日期, 患者姓名=@患者姓名, 性别=@性别, 年龄=@年龄, 住院号=@住院号, 病历号=@病历号, 身份证号码=@身份证号码, 疾病名称=@疾病名称, 药品名称=@药品名称, 剩余药品弃取记录=@剩余药品弃取记录, 批号=@批号, 处方剂量=@处方剂量, 用量=@用量, 残留剂量=@残留剂量, 残液处理方式=@残液处理方式, 残液处理地点=@残液处理地点, 处方医师=@处方医师, 执行护士=@执行护士, 复核人=@复核人, 核对护士=@核对护士, 术间=@术间, 医生签名=@医生签名, 医生签名2=@医生签名2, 护士签名=@护士签名, PatientRecordId=@PatientRecordId, State=@State, Num=@Num, SpecUnit=@SpecUnit, Enter=@Enter, 镇痛泵使用量=@镇痛泵使用量, 镇痛泵余量=@镇痛泵余量 where Id=@Id";
public static readonly string DeleteSql = "Delete FROM UseDrugsReport where Id=@Id";
public static readonly string SelectSql = "Select * FROM UseDrugsReport";
public static readonly string SelectSqlById = "Select * FROM UseDrugsReport where Id =@Id";
public static int AddUseDrugsReport(UseDrugsReport useDrugsReport)
{
string sql = InsertSql;
SqlParameter[] para = new SqlParameter[]
{
new SqlParameter("@用药Id",useDrugsReport.Id), new SqlParameter("@加药时间",useDrugsReport.), new SqlParameter("@使用日期",useDrugsReport.使), new SqlParameter("@患者姓名",useDrugsReport.), new SqlParameter("@性别",useDrugsReport.), new SqlParameter("@年龄",useDrugsReport.), new SqlParameter("@住院号",useDrugsReport.), new SqlParameter("@病历号",useDrugsReport.), new SqlParameter("@身份证号码",useDrugsReport.), new SqlParameter("@疾病名称",useDrugsReport.), new SqlParameter("@药品名称",useDrugsReport.), new SqlParameter("@剩余药品弃取记录",useDrugsReport.), new SqlParameter("@批号",useDrugsReport.), new SqlParameter("@处方剂量",useDrugsReport.), new SqlParameter("@用量",useDrugsReport.), new SqlParameter("@残留剂量",useDrugsReport.), new SqlParameter("@残液处理方式",useDrugsReport.), new SqlParameter("@残液处理地点",useDrugsReport.), new SqlParameter("@处方医师",useDrugsReport.), new SqlParameter("@执行护士",useDrugsReport.), new SqlParameter("@复核人",useDrugsReport.), new SqlParameter("@核对护士",useDrugsReport.), new SqlParameter("@术间",useDrugsReport.), new SqlParameter("@医生签名",useDrugsReport.), new SqlParameter("@医生签名2",useDrugsReport.2), new SqlParameter("@护士签名",useDrugsReport.), new SqlParameter("@PatientRecordId",useDrugsReport.PatientRecordId), new SqlParameter("@State",useDrugsReport.State), new SqlParameter("@Num",useDrugsReport.Num), new SqlParameter("@SpecUnit",useDrugsReport.SpecUnit), new SqlParameter("@Enter",useDrugsReport.Enter), new SqlParameter("@镇痛泵使用量",useDrugsReport.使), new SqlParameter("@镇痛泵余量",useDrugsReport.)
};
return DBHelper.ExecNonQuery(sql, para);
}
public static int UpdateUseDrugsReport(UseDrugsReport useDrugsReport)
{
string sql = UpdateSql;
SqlParameter[] para = new SqlParameter[]
{
new SqlParameter("@Id",useDrugsReport.Id), new SqlParameter("@用药Id",useDrugsReport.Id), new SqlParameter("@加药时间",useDrugsReport.), new SqlParameter("@使用日期",useDrugsReport.使), new SqlParameter("@患者姓名",useDrugsReport.), new SqlParameter("@性别",useDrugsReport.), new SqlParameter("@年龄",useDrugsReport.), new SqlParameter("@住院号",useDrugsReport.), new SqlParameter("@病历号",useDrugsReport.), new SqlParameter("@身份证号码",useDrugsReport.), new SqlParameter("@疾病名称",useDrugsReport.), new SqlParameter("@药品名称",useDrugsReport.), new SqlParameter("@剩余药品弃取记录",useDrugsReport.), new SqlParameter("@批号",useDrugsReport.), new SqlParameter("@处方剂量",useDrugsReport.), new SqlParameter("@用量",useDrugsReport.), new SqlParameter("@残留剂量",useDrugsReport.), new SqlParameter("@残液处理方式",useDrugsReport.), new SqlParameter("@残液处理地点",useDrugsReport.), new SqlParameter("@处方医师",useDrugsReport.), new SqlParameter("@执行护士",useDrugsReport.), new SqlParameter("@复核人",useDrugsReport.), new SqlParameter("@核对护士",useDrugsReport.), new SqlParameter("@术间",useDrugsReport.), new SqlParameter("@医生签名",useDrugsReport.), new SqlParameter("@医生签名2",useDrugsReport.2), new SqlParameter("@护士签名",useDrugsReport.), new SqlParameter("@PatientRecordId",useDrugsReport.PatientRecordId), new SqlParameter("@State",useDrugsReport.State), new SqlParameter("@Num",useDrugsReport.Num), new SqlParameter("@SpecUnit",useDrugsReport.SpecUnit), new SqlParameter("@Enter",useDrugsReport.Enter), new SqlParameter("@镇痛泵使用量",useDrugsReport.使), new SqlParameter("@镇痛泵余量",useDrugsReport.)
};
return DBHelper.ExecNonQuery(sql, para);
}
public static int DelUseDrugsReport(UseDrugsReport useDrugsReport)
{
string sql = DeleteSql;
SqlParameter[] para = new SqlParameter[]
{
new SqlParameter("@Id",useDrugsReport.Id)
};
return DBHelper.ExecNonQuery(sql, para);
}
public static int DelUseDrugsReport(int id)
{
string sql = DeleteSql;
SqlParameter[] para = new SqlParameter[]
{
new SqlParameter("@Id",id)
};
return DBHelper.ExecNonQuery(sql, para);
}
public static IList<UseDrugsReport> GetAllList()
{
string sql = SelectSql;
return GetListBySql(sql);
}
public static UseDrugsReport GetUseDrugsReportById(int Id)
{
string sql = SelectSqlById;
SqlParameter para = new SqlParameter("@Id", Id);
IList<UseDrugsReport> list = GetListBySql(sql, para);
if (list.Count > 0)
return list[0];
else
return null;
}
public static IList<UseDrugsReport> GetListByDateTime(string BeginDate, string EndDate)
{
//string sql = "Select *,(select top 1 orderby from [dbo].[OperationRoom] where Name=术间 and IsValid=1) roomorder FROM UseDrugsReport where 使用日期>=CONVERT(VARCHAR(10),'" + BeginDate + "',120) AND 使用日期<=CONVERT(VARCHAR(10),'" + EndDate + "',120) ORDER BY 使用日期 DESC,roomorder";
string sql = "Select *,(select top 1 orderby from [dbo].[OperationRoom] where Name=术间 and IsValid=1) roomorder FROM UseDrugsReport where 使用日期>=CONVERT(VARCHAR(10),'" + BeginDate + "',120) AND 使用日期<=CONVERT(VARCHAR(10),'" + EndDate + "',120) ORDER BY 处方医师";
return GetListBySql(sql);
}
public static IList<UseDrugsReport> GetListByDateTimeWork(string BeginDate, string EndDate, int RecordId)
{
//string sql = "Select * FROM UseDrugsReport where 使用日期>=CONVERT(VARCHAR(10),'" + BeginDate + "',120) AND 使用日期<=CONVERT(VARCHAR(10),'" + EndDate + "',120) and PatientRecordId= '" + RecordId + "' ORDER BY 使用日期 DESC";
string sql = "Select * FROM UseDrugsReport where 使用日期>=CONVERT(VARCHAR(10),'" + BeginDate + "',120) AND 使用日期<=CONVERT(VARCHAR(10),'" + EndDate + "',120) and PatientRecordId= '" + RecordId + "' ORDER BY 处方医师";
return GetListBySql(sql);
}
private static IList<UseDrugsReport> GetListBySql(string sql, params SqlParameter[] para)
{
IList<UseDrugsReport> list = new List<UseDrugsReport>();
using (SqlConnection conn = new SqlConnection(Connection.ConnectionString))
{
if (conn.State != ConnectionState.Open)
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddRange(para);
using (SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
while (reader.Read())
{
UseDrugsReport temp = new UseDrugsReport();
temp.Id = DBHelper.GetInt(reader["Id"]);
temp.Id = DBHelper.GetInt(reader["用药Id"]);
if (reader["PatientRecordId"].ToString().Length > 1)
{
temp.PatientRecordId = DBHelper.GetInt(reader["PatientRecordId"]);
}
if (reader["State"].ToString().Length > 0)
{
temp.State = DBHelper.GetInt(reader["State"]);
}
temp. = DBHelper.GetDateTime(reader["加药时间"]);
temp.使 = DBHelper.GetString(reader["使用日期"]);
temp. = DBHelper.GetString(reader["患者姓名"]);
temp. = DBHelper.GetString(reader["性别"]);
temp. = DBHelper.GetString(reader["年龄"]);
temp. = DBHelper.GetString(reader["住院号"]);
temp. = DBHelper.GetString(reader["病历号"]);
temp. = DBHelper.GetString(reader["身份证号码"]);
temp. = DBHelper.GetString(reader["疾病名称"]);
temp. = DBHelper.GetString(reader["药品名称"]);
temp. = DBHelper.GetString(reader["剩余药品弃取记录"]);
temp. = DBHelper.GetString(reader["批号"]);
temp. = DBHelper.GetString(reader["处方剂量"]);
temp. = DBHelper.GetString(reader["用量"]);
temp. = DBHelper.GetString(reader["残留剂量"]);
temp. = DBHelper.GetString(reader["残液处理方式"]);
temp. = DBHelper.GetString(reader["残液处理地点"]);
temp. = DBHelper.GetString(reader["处方医师"]);
temp. = DBHelper.GetString(reader["执行护士"]);
temp. = DBHelper.GetString(reader["复核人"]);
temp. = DBHelper.GetString(reader["核对护士"]);
temp. = DBHelper.GetString(reader["术间"]);
temp. = DBHelper.GetString(reader["医生签名"]);
temp.2 = DBHelper.GetString(reader["医生签名2"]);
temp. = DBHelper.GetString(reader["护士签名"]);
if (reader["PatientRecordId"] != null)
{
temp.PatientRecordId = DBHelper.GetInt(reader["PatientRecordId"]);
}
temp.State = DBHelper.GetInt(reader["State"]);
temp.Enter = DBHelper.GetInt(reader["Enter"]);
if (reader["Num"].ToString() != "")
{
temp.Num = DBHelper.GetInt(reader["Num"]);
}
temp.SpecUnit = DBHelper.GetString(reader["SpecUnit"]);
temp.使 = DBHelper.GetString(reader["镇痛泵使用量"]);
temp. = DBHelper.GetString(reader["镇痛泵余量"]);
if (temp. != null && temp. != "")
{
temp.Img = BytesToImage(Convert.FromBase64String(temp.));
}
if (temp. != null && temp. != "")
{
temp.Img = BytesToImage(Convert.FromBase64String(temp.));
}
list.Add(temp);
}
reader.Close();
return list;
}
}
}
public static DataTable GetUseDrugsReport(string BeginDate, string EndDate)
{
string strSql = "EXEC [SP_UseDrugsReport] '" + BeginDate + "','" + EndDate + "' ";
return DBHelper.GetDataTable(strSql); ;
}
public static DataTable GetUseDrugsReportById(string OperationRecordId)
{
string strSql = "EXEC [SP_UseDrugsReportById] '" + OperationRecordId + "' ";
return DBHelper.GetDataTable(strSql);
}
/// <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 GetUseDrugsNotRegister(string begin,string end)
{
string sql = "exec SP_UseDrugsNotRegister '" + begin + "','" + end + "'";
return DBHelper.GetDataTable(sql);
}
}
}