using AIMSDAL;
using AIMSModel;
using DrawGraph;
using HelperDB;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
namespace AIMSBLL
{
public partial class BCharges
{
public static DataTable GetDrugsByIds(string ids)
{
if (ids != null && ids.Length > 0)
{
string sql = string.Format("select *, Bill Stand from Charges where IsValid=1 and Id in({0}) order by charindex(','+rtrim(cast(id as varchar(10)))+',',',{0},')", ids);//IsValid=1 and
return DBHelper.GetDataTable(sql);
}
else
{
string sql = string.Format("select *, Bill Stand from Charges where 1<>1 ");
return DBHelper.GetDataTable(sql);
}
}
public static DataTable GetAllChargesByCondition(string Condition)
{
string strSql = "SELECT top 20 d.*, Bill Stand,unit DosageUnit,Form Factory,d.Class as TypeName FROM Charges d where d.IsValid=1 and (d.HelpCode like'%" + Condition.ToUpper() + "%' or d.Name like'%" + Condition + "%') ";
return DBHelper.GetDataTable(strSql);
}
public static DataTable SelectIdName(string str)
{
string sql = string.Empty;
if (str == "")
{
sql = string.Format("select Id,Name,code,price,Bill from Charges where IsValid = 1");
}
else
{
sql = string.Format("SELECT Top 26 e.Id,e.Name,code,price,Bill FROM Charges e WHERE (Lower(Name) like '%{0}%' OR Lower(HelpCode) like '%{0}%') and IsValid = 1", str);
}
return DBHelper.GetDataTable(sql);
}
public static DataTable GetChargsByCodes(string ids, string numbers)
{
DataTable dt = BCharges.GetChargsByCodes(ids);
dt.Columns.Add(new DataColumn("Number", typeof(string)));
string[] numbes = new string[0];
if (numbers != null && numbers != "") numbes = numbers.Split(',');
for (int i = 0; i < dt.Rows.Count; i++)
{
if (numbes.Length != 0 && numbes.Length <= dt.Rows.Count) dt.Rows[i]["Number"] = numbes[i].ToString();
else dt.Rows[i]["Number"] = "0";
}
return dt;
}
public static DataTable GetChargsByCodes(string ChargCodes)
{
if (ChargCodes != null && ChargCodes.Length > 0)
{
string sql = string.Format("select * from Charges where Id in({0}) order by charindex(','+rtrim(Id)+',',',{1},') ", ChargCodes, ChargCodes.Replace("'", ""));
return DBHelper.GetDataTable(sql);
}
else
{
string sql = string.Format("select * from Charges where 1<>1 ");
return DBHelper.GetDataTable(sql);
}
}
///
/// 模糊查询事件
///
///
public static DataTable SelectByIdName(string str, string deptid)
{
string sql = string.Empty;
if (str == "")
{
sql = string.Format("select Top 40 Id ID,name+' '+ISNULL(Bill,'') Name, Code,code xmbm,Form,Price,Bill from Charges where Class <> '药品'");
}
else
{
sql = string.Format("select Top 40 Id ID,name+' '+ISNULL(Bill,'') Name, Code,code xmbm,Form,Price,Bill from Charges where Class <> '药品' and ( Code like '%{0}%' OR name like '%{0}%' ) ", str);
}
try
{
return DBHelper.GetDataTable(sql);
}
catch (SqlException ex)
{
throw new Exception(ex.Message);
}
}
public static List GetChargsListByCodes(string ids, string numbers)
{
List dt = DCharges.GetChargsListByCodes(ids);
string[] numbes = new string[0];
if (numbers != null && numbers != "") numbes = numbers.Split(',');
for (int i = 0; i < dt.Count; i++)
{
if (numbes.Length != 0 && numbes.Length <= dt.Count) dt[i].Number = numbes[i].ToString();
else dt[i].Number = "1";
}
return dt;
}
}
}