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; } } }