using SchedulingSystem.EntityClass; using SchedulingSystemClient.EntityClass; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace SchedulingSystemClient { /// /// SJTJWindow.xaml 的交互逻辑 /// public partial class SJTJWindow : UserControl { public SJTJWindow() { InitializeComponent(); } SurgerySchedulingEntities myModel = new SurgerySchedulingEntities(); private void UserControl_Loaded(object sender, RoutedEventArgs e) { str = "麻醉医生"; MZYS.IsEnabled = false; HS.IsEnabled = true; SSJ.IsEnabled = true; mzysgrid.Visibility = Visibility.Visible; hsgrid.Visibility = Visibility.Collapsed; ssjgrid.Visibility = Visibility.Collapsed; kssj.Text = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.ToString(); jssj.Text = DateTime.Now.ToString(); List listsss = new List(); listsss = (from tbsss in myModel.SYS_SSSB select new ComboBoxBinding { ID = tbsss.ID, Name = tbsss.SSSMC }).ToList(); listsss.Add(new ComboBoxBinding() { ID = 0, Name = "全部" }); sss.ItemsSource = listsss.OrderBy(a => a.ID); sss.SelectedValuePath = "ID"; sss.DisplayMemberPath = "Name"; sss.SelectedValue = 0; ChaXun(); } private void btn_cx_Click(object sender, RoutedEventArgs e) { ChaXun(); } private void ChaXun() { DateTime tjkssj; DateTime tjjssj; if (kssj.SelectedDate!=null) { tjkssj = Convert.ToDateTime(kssj.SelectedDate); } else { tjkssj = DateTime.Now; } if (jssj.SelectedDate != null) { tjjssj = Convert.ToDateTime(jssj.SelectedDate).AddDays(1); } else { tjjssj = DateTime.Now; } if (str == "麻醉医生") { //List listmzyssc = new List(); //var listmzys = ((from tbsspb in myModel.Bus_SSPBB // join tbmzys1 in myModel.SYS_MZYSB on tbsspb.MZYS1 equals tbmzys1.ID // join tbsssb in myModel.SYS_SSSB on tbsspb.SSSID equals tbsssb.ID // select new Cus_MZYSSC // { // MZYSID = tbsspb.MZYS1, // MZYS = tbmzys1.YSMC, // SSSID = tbsspb.SSSID, // SSS = tbsssb.SSSMC, // SSSC = tbsspb.SSSC, // }).Concat(from tbsspb in myModel.Bus_SSPBB // join tbmzys2 in myModel.SYS_MZYSB on tbsspb.MZYS2 equals tbmzys2.ID // join tbsssb in myModel.SYS_SSSB on tbsspb.SSSID equals tbsssb.ID // select new Cus_MZYSSC // { // MZYSID = tbsspb.MZYS2, // MZYS = tbmzys2.YSMC, // SSSID = tbsspb.SSSID, // SSS = tbsssb.SSSMC, // SSSC = tbsspb.SSSC, // })).ToList(); //var list = listmzys.GroupBy(t => new{ t.SSSID, t.MZYSID }).ToList(); //for (int i = 0; i < list.Count; i++) //{ // int sssid =Convert.ToInt32(list[i].Key.SSSID); // int mzysid =Convert.ToInt32(list[i].Key.MZYSID); // var listys = listmzys.Where(a=>a.SSSID== sssid && a.MZYSID == mzysid).ToList(); // Cus_MZYSSC mzys = new Cus_MZYSSC(); // mzys.MZYS = listys[0].MZYS; // mzys.SSS = listys[0].SSS; // mzys.SSTS = listys.Count(); // mzys.SSSC = listys.Sum(a=>a.SSSC); // if (mzys.SSTS !=0 ) // { // mzys.SSPJSC = Convert.ToDecimal(Math.Round((double)mzys.SSSC / (double)mzys.SSTS, 2)); // } // listmzyssc.Add(mzys); //} List listmzyssc = new List(); var listmzys = (from tbmzyspbb in myModel.Bus_MZYSPBB join tbmzysb in myModel.SYS_MZYSB on tbmzyspbb.MZYSID equals tbmzysb.ID where tbmzyspbb.SSJSSJ >= tjkssj && tbmzyspbb.SSJSSJ <= tjjssj select new Cus_MZYSSC { MZYSID = tbmzyspbb.MZYSID, MZYS = tbmzysb.YSMC, SSSID = tbmzyspbb.PBID, SSSC = tbmzyspbb.SSSC, }).ToList(); var list = listmzys.GroupBy(t => new {t.MZYSID }).ToList(); for (int i = 0; i < list.Count; i++) { int mzysid = Convert.ToInt32(list[i].Key.MZYSID); var listys = listmzys.Where(a => a.MZYSID == mzysid).ToList(); Cus_MZYSSC mzys = new Cus_MZYSSC(); mzys.MZYS = listys[0].MZYS; mzys.SSS = listys[0].SSS; mzys.SSTS = listys.Count(); mzys.SSSC = listys.Sum(a => a.SSSC); if (mzys.SSTS != 0) { mzys.SSPJSC = Convert.ToDecimal(Math.Round((double)mzys.SSSC / (double)mzys.SSTS, 2)); } listmzyssc.Add(mzys); } mzysdata.ItemsSource = listmzyssc; } if (str == "护士") { //List listmzyssc = new List(); //var listmzys = ((from tbsspb in myModel.Bus_SSPBB // join tbxhhs1 in myModel.SYS_HSB on tbsspb.XHHS1 equals tbxhhs1.ID // join tbsssb in myModel.SYS_SSSB on tbsspb.SSSID equals tbsssb.ID // select new Cus_MZYSSC // { // MZYSID = tbsspb.XHHS1, // MZYS = tbxhhs1.HSMC, // SSSID = tbsspb.SSSID, // SSS = tbsssb.SSSMC, // SSSC = tbsspb.SSSC, // }).Concat(from tbsspb in myModel.Bus_SSPBB // join tbxhhs2 in myModel.SYS_MZYSB on tbsspb.XHHS2 equals tbxhhs2.ID // join tbsssb in myModel.SYS_SSSB on tbsspb.SSSID equals tbsssb.ID // select new Cus_MZYSSC // { // MZYSID = tbsspb.XHHS2, // MZYS = tbxhhs2.YSMC, // SSSID = tbsspb.SSSID, // SSS = tbsssb.SSSMC, // SSSC = tbsspb.SSSC, // }).Concat(from tbsspb in myModel.Bus_SSPBB // join tbxshs1 in myModel.SYS_MZYSB on tbsspb.XSHS1 equals tbxshs1.ID // join tbsssb in myModel.SYS_SSSB on tbsspb.SSSID equals tbsssb.ID // select new Cus_MZYSSC // { // MZYSID = tbsspb.XSHS1, // MZYS = tbxshs1.YSMC, // SSSID = tbsspb.SSSID, // SSS = tbsssb.SSSMC, // SSSC = tbsspb.SSSC, // }).Concat(from tbsspb in myModel.Bus_SSPBB // join tbxshs2 in myModel.SYS_MZYSB on tbsspb.XSHS1 equals tbxshs2.ID // join tbsssb in myModel.SYS_SSSB on tbsspb.SSSID equals tbsssb.ID // select new Cus_MZYSSC // { // MZYSID = tbsspb.XSHS2, // MZYS = tbxshs2.YSMC, // SSSID = tbsspb.SSSID, // SSS = tbsssb.SSSMC, // SSSC = tbsspb.SSSC, // })).ToList(); //var list = listmzys.GroupBy(t => new { t.SSSID, t.MZYSID }).ToList(); //for (int i = 0; i < list.Count; i++) //{ // int sssid = Convert.ToInt32(list[i].Key.SSSID); // int mzysid = Convert.ToInt32(list[i].Key.MZYSID); // var listys = listmzys.Where(a => a.SSSID == sssid && a.MZYSID == mzysid).ToList(); // Cus_MZYSSC mzys = new Cus_MZYSSC(); // mzys.MZYS = listys[0].MZYS; // mzys.SSS = listys[0].SSS; // mzys.SSTS = listys.Count(); // mzys.SSSC = listys.Sum(a => a.SSSC); // if (mzys.SSTS != 0) // { // mzys.SSPJSC = Convert.ToDecimal(Math.Round((double)mzys.SSSC / (double)mzys.SSTS, 2)); // } // listmzyssc.Add(mzys); //} //hsdata.ItemsSource = listmzyssc; List listmzyssc = new List(); var lisths = (from tbhspbb in myModel.Bus_HSPBB join tbhsb in myModel.SYS_HSB on tbhspbb.HSID equals tbhsb.ID where tbhspbb.SSJSSJ >= tjkssj && tbhspbb.SSJSSJ <= tjjssj select new Cus_MZYSSC { MZYSID = tbhspbb.HSID, MZYS = tbhsb.HSMC, SSSC = tbhspbb.SSSC, }).ToList(); var list = lisths.GroupBy(t => new { t.MZYSID }).ToList(); for (int i = 0; i < list.Count; i++) { int mzysid = Convert.ToInt32(list[i].Key.MZYSID); var listys = lisths.Where(a => a.MZYSID == mzysid).ToList(); Cus_MZYSSC mzys = new Cus_MZYSSC(); mzys.MZYS = listys[0].MZYS; mzys.SSS = listys[0].SSS; mzys.SSTS = listys.Count(); mzys.SSSC = listys.Sum(a => a.SSSC); if (mzys.SSTS != 0) { mzys.SSPJSC = Convert.ToDecimal(Math.Round((double)mzys.SSSC / (double)mzys.SSTS, 2)); } listmzyssc.Add(mzys); } hsdata.ItemsSource = listmzyssc; } if (str == "手术间") { List listssjdyl = new List(); var listssj = (from tbsspb in myModel.Bus_SSPBB join tbsssb in myModel.SYS_SSSB on tbsspb.SSSID equals tbsssb.ID where tbsspb.SSJSSJ >= tjkssj && tbsspb.SSJSSJ <= tjjssj select new Cus_SSJDYL { ID =tbsspb.ID, SSS = tbsssb.SSSMC, SSSID =tbsspb.SSSID, SSSC =tbsspb.SSSC }).ToList(); var list = listssj.GroupBy(t => t.SSSID).ToList(); for (int i = 0; i < list.Count; i++) { int sssid = Convert.ToInt32(list[i].Key); var listsss = listssj.Where(a => a.SSSID == sssid).ToList(); Cus_SSJDYL ssjdyl = new Cus_SSJDYL(); ssjdyl.SSSID = sssid; ssjdyl.SSS = listsss[0].SSS; ssjdyl.SSSC = listsss.Sum(a=>a.SSSC); ssjdyl.SSZSC = listssj.Sum(a => a.SSSC); if (ssjdyl.SSZSC != 0) { ssjdyl.SSSCZB = Convert.ToDecimal( Math.Round((double) ssjdyl.SSSC / (double)ssjdyl.SSZSC * 100, 2)) ; } ssjdyl.SSTS = listsss.Count; ssjdyl.SSZTS = listssj.Count; if (ssjdyl.SSZTS != 0) { ssjdyl.SSTSZB = Convert.ToDecimal(Math.Round((double)ssjdyl.SSTS / (double)ssjdyl.SSZTS * 100, 2)); } if (ssjdyl.SSTS!=0) { ssjdyl.SSPJSC = Convert.ToDecimal(Math.Round((double)ssjdyl.SSSC / (double)ssjdyl.SSTS, 2)); } listssjdyl.Add(ssjdyl); } ssjdata.ItemsSource = listssjdyl; } } string str = "麻醉医生"; private void MZYS_Click(object sender, RoutedEventArgs e) { str = "麻醉医生"; MZYS.IsEnabled = false; HS.IsEnabled = true; SSJ.IsEnabled = true; mzysgrid.Visibility = Visibility.Visible; hsgrid.Visibility = Visibility.Collapsed; ssjgrid.Visibility = Visibility.Collapsed; ChaXun(); } private void HS_Click(object sender, RoutedEventArgs e) { str = "护士"; MZYS.IsEnabled = true; HS.IsEnabled = false; SSJ.IsEnabled = true; mzysgrid.Visibility = Visibility.Collapsed; hsgrid.Visibility = Visibility.Visible; ssjgrid.Visibility = Visibility.Collapsed; ChaXun(); } private void SSJ_Click(object sender, RoutedEventArgs e) { str = "手术间"; MZYS.IsEnabled = true; HS.IsEnabled = true; SSJ.IsEnabled = false; mzysgrid.Visibility = Visibility.Collapsed; hsgrid.Visibility = Visibility.Collapsed; ssjgrid.Visibility = Visibility.Visible; ChaXun(); } private void btn_dc_Click(object sender, RoutedEventArgs e) { } } }