You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
331 lines
16 KiB
331 lines
16 KiB
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 |
|
{ |
|
/// <summary> |
|
/// SJTJWindow.xaml 的交互逻辑 |
|
/// </summary> |
|
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<ComboBoxBinding> listsss = new List<ComboBoxBinding>(); |
|
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<Cus_MZYSSC> listmzyssc = new List<Cus_MZYSSC>(); |
|
//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<Cus_MZYSSC> listmzyssc = new List<Cus_MZYSSC>(); |
|
|
|
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<Cus_MZYSSC> listmzyssc = new List<Cus_MZYSSC>(); |
|
//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<Cus_MZYSSC> listmzyssc = new List<Cus_MZYSSC>(); |
|
|
|
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<Cus_SSJDYL> listssjdyl = new List<Cus_SSJDYL>(); |
|
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) |
|
{ |
|
|
|
} |
|
} |
|
}
|
|
|