//显示待配明细 private void ShowDetails(string prescNo, ListView lv) { string sql = "select * from view_presc_window where prescno='{0}'"; sql = string.Format(sql, prescNo); DataTable dtDetails; csSql.ExecuteSelect(sql, Config.Soft.ConnString, out dtDetails); List <PrescDetails> ds = null; if (dtDetails != null && dtDetails.Rows.Count > 0) { ds = new List <PrescDetails>(); foreach (DataRow row in dtDetails.Rows) { PrescDetails pd = new PrescDetails { DrugOnlyCode = row["drugonlycode"].ToString(), DrugName = row["drugname"].ToString(), DrugSpec = row["drugspec"].ToString(), DrugFactory = row["drugfactory"].ToString(), DrugNum = GetNumString(int.Parse(row["drugnum"].ToString()), row["drugunit"].ToString(), int.Parse(row["drugpacknum"].ToString()), row["drugpackunit"].ToString(), int.Parse(row["drugsplitnum"].ToString()), row["drugsplitunit"].ToString()), Status = row["drugdoflag"].ToString() }; switch (pd.Status) { case "N": pd.Status = "未出"; break; case "Y": pd.Status = "已出"; break; case "E": pd.Status = "机外"; break; case "S": pd.Status = "缺药"; break; case "B": pd.Status = "超限"; break; case "M": pd.Status = "多出"; break; case "Q": pd.Status = "少出"; break; } ds.Add(pd); } } lv.ItemsSource = ds; }
//显示正在配药 private void ShowDoing() { string wins = GetWins(Config.Soft.MacCode); string sql = "select prescno,windowno,patname from pat_prescinfo where windowno in ({0}) and doflag in('D','O') and paytime>=convert(varchar(100),getdate(),23) order by dotime desc"; sql = string.Format(sql, wins); DataTable dtPresc; csSql.ExecuteSelect(sql, Config.Soft.ConnString, out dtPresc); List <Presc> ps = null; List <PC> cs = null; List <PrescDetails> ds = null; if (dtPresc != null && dtPresc.Rows.Count > 0) { string prescNo = dtPresc.Rows[0]["prescno"].ToString().Trim(); ps = new List <Presc>(); ps.Add(new Presc { PrescNo = prescNo, WindowNo = int.Parse(dtPresc.Rows[0]["windowno"].ToString()), PatName = dtPresc.Rows[0]["patname"].ToString() }); sql = @"select pd.drugonlycode,di.drugname,di.drugaliasname,di.drugspec,di.drugfactory,di.drugpacknum,di.drugpackunit,di.drugsplitnum,di.drugsplitunit,pd.drugnum,pd.drugunit,pd.doflag, (select top 1 maccode from drug_pos dp where dp.drugonlycode=pd.drugonlycode) as maccode from pat_druginfo pd left join drug_info di on di.drugonlycode=pd.drugonlycode where prescno='{0}'"; sql = string.Format(sql, prescNo); DataTable dtDetails; csSql.ExecuteSelect(sql, Config.Soft.ConnString, out dtDetails); if (dtDetails != null && dtDetails.Rows.Count > 0) { ds = new List <PrescDetails>(); foreach (DataRow row in dtDetails.Rows) { PrescDetails pd = new PrescDetails { MacCode = row["maccode"].ToString(), DrugOnlyCode = row["drugonlycode"].ToString(), DrugName = row["drugname"].ToString(), DrugSpec = row["drugspec"].ToString(), DrugFactory = row["drugfactory"].ToString(), DrugNum = GetNumString(int.Parse(row["drugnum"].ToString()), row["drugunit"].ToString(), int.Parse(row["drugpacknum"].ToString()), row["drugpackunit"].ToString(), int.Parse(row["drugsplitnum"].ToString()), row["drugsplitunit"].ToString()), Status = row["doflag"].ToString() }; switch (pd.Status) { case "N": pd.Status = "未出"; break; case "Y": pd.Status = "已出"; break; case "E": pd.Status = "机外"; break; case "S": pd.Status = "缺药"; break; case "B": pd.Status = "超限"; break; case "M": pd.Status = "多出"; break; case "Q": pd.Status = "少出"; break; } pd.BackColor = pd.MacCode == Config.Soft.MacCode ? color_In : color_Out; ds.Add(pd); } } sql = @"select distinct outpc,pcflag from pat_druginfo where prescno='{0}' and outpc is not null order by outpc"; sql = string.Format(sql, prescNo, Config.Soft.MacCode); DataTable dtPC; csSql.ExecuteSelect(sql, Config.Soft.ConnString, out dtPC); if (dtPC.Rows.Count > 0) { cs = new List <PC>(); foreach (DataRow row in dtPC.Rows) { PC c = new PC { OutPC = row["outpc"].ToString(), Flag = row["pcflag"].ToString() }; switch (c.Flag) { case "N": c.BackColor = color_No; break; case "D": c.BackColor = color_Doing; break; case "Y": c.BackColor = color_Yes; break; } cs.Add(c); } } } lvDoing.ItemsSource = ps; lvPC.ItemsSource = cs; lvDoing_Details.ItemsSource = ds; }