293 lines
15 KiB
C#

using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Collections.Generic;
using AIMSModel;
using AIMSObjectQuery;
using HelperDB;
using System.Text;
namespace AIMSDAL
{
internal partial class DPerson
{
public static void Add(Person PersonObj)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into [Person](");
strSql.Append("No,Name,HelpCode,Sex,PassWord,DepId,RoleId,BirthDay,TimeToWork,Diploma,JobTitle,PersonType,PersonOrder,IsValid,OperatorNo,OperatorName,OperateDate");
strSql.Append(")");
strSql.Append(" values (");
strSql.Append("'" + PersonObj.No + "',");
strSql.Append("'" + PersonObj.Name + "',");
strSql.Append("'" + PersonObj.HelpCode + "',");
strSql.Append("'" + PersonObj.Sex + "',");
strSql.Append("'" + PersonObj.PassWord + "',");
strSql.Append("" + PersonObj.DepId + ",");
strSql.Append("" + PersonObj.RoleId + ",");
strSql.Append("'" + PersonObj.BirthDay + "',");
strSql.Append("'" + PersonObj.TimeToWork + "',");
strSql.Append("'" + PersonObj.Diploma + "',");
strSql.Append("'" + PersonObj.JobTitle + "',");
strSql.Append("'" + PersonObj.PersonType + "',");
strSql.Append("" + PersonObj.PersonOrder + ",");
strSql.Append("" + PersonObj.IsValid + ",");
strSql.Append("'" + PersonObj.OperatorNo + "',");
strSql.Append("'" + PersonObj.OperatorName + "',");
strSql.Append("'" + PersonObj.OperateDate + "'");
strSql.Append(")");
HelperDB.DbHelperSQL.ExecNonQuery(strSql.ToString());
}
public static Person GetModel(int Id)
{
Person PersonObj = new Person();
StringBuilder strSql = new StringBuilder();
strSql.Append("select ");
strSql.Append("Id,No,Name,HelpCode,Sex,PassWord,DepId,RoleId,BirthDay,TimeToWork,Diploma,JobTitle,PersonType,PersonOrder,IsValid,OperatorNo,OperatorName,OperateDate ");
strSql.Append(" from Person ");
strSql.Append(" where Id=" + Id + "");
DataSet ds = HelperDB.DbHelperSQL.GetDataSet(strSql.ToString());
if (ds.Tables[0].Rows.Count > 0)
{
if (ds.Tables[0].Rows[0]["Id"].ToString() != "")
{
PersonObj.Id = int.Parse(ds.Tables[0].Rows[0]["Id"].ToString());
}
PersonObj.No = ds.Tables[0].Rows[0]["No"].ToString();
PersonObj.Name = ds.Tables[0].Rows[0]["Name"].ToString();
PersonObj.HelpCode = ds.Tables[0].Rows[0]["HelpCode"].ToString();
PersonObj.Sex = ds.Tables[0].Rows[0]["Sex"].ToString();
PersonObj.PassWord = ds.Tables[0].Rows[0]["PassWord"].ToString();
if (ds.Tables[0].Rows[0]["DepId"].ToString() != "")
{
PersonObj.DepId = int.Parse(ds.Tables[0].Rows[0]["DepId"].ToString());
}
if (ds.Tables[0].Rows[0]["RoleId"].ToString() != "")
{
PersonObj.RoleId = int.Parse(ds.Tables[0].Rows[0]["RoleId"].ToString());
}
if (ds.Tables[0].Rows[0]["BirthDay"].ToString() != "")
{
PersonObj.BirthDay = ds.Tables[0].Rows[0]["BirthDay"].ToString();
}
if (ds.Tables[0].Rows[0]["TimeToWork"].ToString() != "")
{
PersonObj.TimeToWork = ds.Tables[0].Rows[0]["TimeToWork"].ToString();
}
PersonObj.Diploma = ds.Tables[0].Rows[0]["Diploma"].ToString();
PersonObj.JobTitle = ds.Tables[0].Rows[0]["JobTitle"].ToString();
PersonObj.PersonType = ds.Tables[0].Rows[0]["PersonType"].ToString();
if (ds.Tables[0].Rows[0]["PersonOrder"].ToString() != "")
{
PersonObj.PersonOrder = int.Parse(ds.Tables[0].Rows[0]["PersonOrder"].ToString());
}
if (ds.Tables[0].Rows[0]["IsValid"].ToString() != "")
{
PersonObj.IsValid = int.Parse(ds.Tables[0].Rows[0]["IsValid"].ToString());
}
PersonObj.OperatorNo = ds.Tables[0].Rows[0]["OperatorNo"].ToString();
PersonObj.OperatorName = ds.Tables[0].Rows[0]["OperatorName"].ToString();
if (ds.Tables[0].Rows[0]["OperateDate"].ToString() != "")
{
PersonObj.OperateDate = DateTime.Parse(ds.Tables[0].Rows[0]["OperateDate"].ToString());
}
}
return PersonObj;
}
public static DataTable GetPersonDataTable()
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT p.Id,p.No,p.Name,p.HelpCode,p.Sex,p.PassWord,d.Name AS DepName,r.RoleName,p.BirthDay,p.TimeToWork,");
strSql.Append("p.Diploma,p.JobTitle,p.PersonType,p.PersonOrder,CASE p.IsValid WHEN 1 THEN '有效' WHEN 0 THEN '无效' END AS IsValid FROM Person p ");
strSql.Append("LEFT JOIN Department d ON d.Id =p.DepId ");
strSql.Append("LEFT JOIN [Role] r ON r.Id = p.RoleId ");
return HelperDB.DbHelperSQL.GetDataTable(strSql.ToString());
}
public static DataTable GetPersonDataTable(string name, string DeptName, bool IsValid)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT p.Id,p.No,p.Name,p.HelpCode,p.Sex,p.PassWord,d.Name AS DepName,r.RoleName,p.BirthDay,p.TimeToWork,");
strSql.Append("p.Diploma,p.JobTitle,p.PersonType,p.PersonOrder,CASE p.IsValid WHEN 1 THEN '有效' WHEN 0 THEN '无效' END AS IsValid FROM Person p ");
strSql.Append("LEFT JOIN Department d ON d.Id =p.DepId ");
strSql.Append("LEFT JOIN [Role] r ON r.Id = p.RoleId ");
if (name.Length > 0)
strSql.Append(" WHERE p.No like '%" + name + "%' Or p.Name like '%" + name + "%' Or p.HelpCode like '%" + name + "%' ");
if (DeptName.Length > 0 && name.Length == 0)
strSql.Append(" WHERE d.Name = '" + DeptName + "' ");
else if (DeptName.Length > 0 && name.Length > 0)
strSql.Append(" and d.Name = '" + DeptName + "' ");
else if (IsValid == true)
strSql.Append(" WHERE p.IsValid=1 ");
return HelperDB.DbHelperSQL.GetDataTable(strSql.ToString());
}
public static bool Login(string No, string PassWord)
{
string strSql = "SELECT * FROM Person p";
DataTable dt = HelperDB.DbHelperSQL.GetDataTable(strSql.ToString());
if (dt.Rows.Count > 0)
return true;
else
return false;
}
public static Person GetModelByNo(string No)
{
Person PersonObj = new Person();
StringBuilder strSql = new StringBuilder();
strSql.Append("select top 1 ");
strSql.Append("Id,No,Name,HelpCode,Sex,PassWord,DepId,RoleId,BirthDay,TimeToWork,Diploma,JobTitle,PersonType,PersonOrder,IsValid,OperatorNo,OperatorName,OperateDate ");
strSql.Append(" from Person ");
strSql.Append(" where No='" + No + "'");
DataSet ds = HelperDB.DbHelperSQL.GetDataSet(strSql.ToString());
if (ds.Tables[0].Rows.Count > 0)
{
if (ds.Tables[0].Rows[0]["Id"].ToString() != "")
{
PersonObj.Id = int.Parse(ds.Tables[0].Rows[0]["Id"].ToString());
}
PersonObj.No = ds.Tables[0].Rows[0]["No"].ToString();
PersonObj.Name = ds.Tables[0].Rows[0]["Name"].ToString();
PersonObj.HelpCode = ds.Tables[0].Rows[0]["HelpCode"].ToString();
PersonObj.Sex = ds.Tables[0].Rows[0]["Sex"].ToString();
PersonObj.PassWord = ds.Tables[0].Rows[0]["PassWord"].ToString();
if (ds.Tables[0].Rows[0]["DepId"].ToString() != "")
{
PersonObj.DepId = int.Parse(ds.Tables[0].Rows[0]["DepId"].ToString());
}
if (ds.Tables[0].Rows[0]["RoleId"].ToString() != "")
{
PersonObj.RoleId = int.Parse(ds.Tables[0].Rows[0]["RoleId"].ToString());
}
if (ds.Tables[0].Rows[0]["BirthDay"].ToString() != "")
{
PersonObj.BirthDay = ds.Tables[0].Rows[0]["BirthDay"].ToString();
}
if (ds.Tables[0].Rows[0]["TimeToWork"].ToString() != "")
{
PersonObj.TimeToWork = ds.Tables[0].Rows[0]["TimeToWork"].ToString();
}
PersonObj.Diploma = ds.Tables[0].Rows[0]["Diploma"].ToString();
PersonObj.JobTitle = ds.Tables[0].Rows[0]["JobTitle"].ToString();
PersonObj.PersonType = ds.Tables[0].Rows[0]["PersonType"].ToString();
if (ds.Tables[0].Rows[0]["PersonOrder"].ToString() != "")
{
PersonObj.PersonOrder = int.Parse(ds.Tables[0].Rows[0]["PersonOrder"].ToString());
}
if (ds.Tables[0].Rows[0]["IsValid"].ToString() != "")
{
PersonObj.IsValid = int.Parse(ds.Tables[0].Rows[0]["IsValid"].ToString());
}
PersonObj.OperatorNo = ds.Tables[0].Rows[0]["OperatorNo"].ToString();
PersonObj.OperatorName = ds.Tables[0].Rows[0]["OperatorName"].ToString();
if (ds.Tables[0].Rows[0]["OperateDate"].ToString() != "")
{
PersonObj.OperateDate = DateTime.Parse(ds.Tables[0].Rows[0]["OperateDate"].ToString());
}
}
return PersonObj;
}
public static DataTable GetPersonDataTableByDepId(int DepId, string HelpCode, string PersonType)
{
string strSql = "";
if (HelpCode == "简拼/汉字/ICD码")
{
HelpCode = "";
}
string Depstr = "";
if (DepId != -1) Depstr = " AND p.DepId='" + DepId + "' ";
if (PersonType == "医生")
{
strSql = "SELECT p.Id,p.Name,p.[No] FROM Person p WHERE p.IsValid=1 AND p.PersonType ='医生' " + Depstr + " AND (p.Name LIKE '%" + HelpCode + "%' OR p.HelpCode LIKE '%" + HelpCode + "%')";
}
if (PersonType == "麻醉医生")
{
strSql = "SELECT p.Id,p.Name,p.[No] FROM Person p WHERE p.IsValid=1 AND p.PersonType ='麻醉医生' " + Depstr + " AND (p.Name LIKE '%" + HelpCode + "%' OR p.HelpCode LIKE '%" + HelpCode + "%')";
}
if (PersonType == "麻醉护士")
{
strSql = "SELECT p.Id,p.Name,p.[No] FROM Person p WHERE p.IsValid=1 AND p.PersonType ='麻醉护士' " + Depstr + " AND (p.Name LIKE '%" + HelpCode + "%' OR p.HelpCode LIKE '%" + HelpCode + "%')";
}
if (PersonType == "手术室护士")
{
strSql = "SELECT p.Id,p.Name,p.[No] FROM Person p WHERE p.IsValid=1 AND p.PersonType ='手术室护士' " + Depstr + " AND (p.Name LIKE '%" + HelpCode + "%' OR p.HelpCode LIKE '%" + HelpCode + "%')";
}
if (PersonType == "护士")
{
strSql = "SELECT p.Id,p.Name,p.[No] FROM Person p WHERE p.IsValid=1 AND p.PersonType like '%护士%' " + Depstr + " AND (p.Name LIKE '%" + HelpCode + "%' OR p.HelpCode LIKE '%" + HelpCode + "%')";
}
return HelperDB.DbHelperSQL.GetDataTable(strSql.ToString());
}
public static DataTable GetSchedulingForSelect(DateTime time, string workerType)//int depId,
{
try
{
string sql = string.Empty;
sql = "EXEC usp_GetSchedulingForSelect @DateTime = '" + time +
"', @WorkerType= '" + workerType + "'";//, @DepId= " + depId
return DBHelper.GetDataTable(sql);
}
catch (SqlException ex)
{
throw new Exception(ex.Message);
}
}
public static List<string> GetruleAnesthesiaDoctor(string IDS)
{
List<string> ruleAnesthesiaDoctors = new List<string>();
ruleAnesthesiaDoctors.Add("");
string sql = string.Format("select top 15 RuleAnesthesiaDoctor from [dbo].[OperationRecordInfo] where RuleAnesthesiaDoctor is not null and RuleAnesthesiaDoctor<>'' {0} group by RuleAnesthesiaDoctor order by count(RuleAnesthesiaDoctor) desc ", (IDS == "" ? "" : (" and RuleAnesthesiaDoctor Like '%" + IDS + "%' ")));
DataTable obj = DBHelper.GetDataTable(sql);
if (obj != null && obj.Rows.Count > 0)
foreach (DataRow item in obj.Rows)
{
if (item[0].ToString().Trim() != "")
ruleAnesthesiaDoctors.Add(item[0].ToString());
}
return ruleAnesthesiaDoctors;
}
public static List<string> GetruleNurse(string IDS)
{
List<string> ruleNurses = new List<string>();
ruleNurses.Add("");
string sql = string.Format("select top 15 ruleNurse from [dbo].[OperationRecordInfo] where ruleNurse is not null and ruleNurse<>'' {0} group by ruleNurse order by count(ruleNurse) desc ", (IDS == "" ? "" : (" and ruleNurse Like '%" + IDS + "%' ")));
DataTable obj = DBHelper.GetDataTable(sql);
if (obj != null && obj.Rows.Count > 0)
foreach (DataRow item in obj.Rows)
{
if (item[0].ToString().Trim() != "")
ruleNurses.Add(item[0].ToString());
}
return ruleNurses;
}
public static List<string> Getexperts(string IDS)
{
List<string> expertss = new List<string>();
expertss.Add("");
string sql = string.Format("select top 15 experts from [dbo].[OperationRecordInfo] where experts is not null and experts<>'' {0} group by experts order by count(experts) desc ", (IDS == "" ? "" : (" and experts Like '%" + IDS + "%' ")));
DataTable obj = DBHelper.GetDataTable(sql);
if (obj != null && obj.Rows.Count > 0)
foreach (DataRow item in obj.Rows)
{
if (item[0].ToString().Trim() != "")
expertss.Add(item[0].ToString());
}
return expertss;
}
}
}