StableVersion4.3/HL_FristAidPlatform_Emergen.../Form_PatientList.cs

644 lines
25 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using DevExpress.XtraEditors;
using HL_FristAidPlatform_DTO;
using HL_FristAidPlatform_Public;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
namespace HL_FristAidPlatform_EmergencyTriage
{
public partial class Form_PatientList : XtraForm
{
/// <summary>
/// 当前页
/// </summary>
public int curPage = 1;
/// <summary>
/// 每页大小
/// </summary>
public int pageSize = 25;
/// <summary>
/// 所有记录条数
/// </summary>
public int totalNumber = 0;
public string signArea;
public string killip;
public string comeHospital;
public string triageDepartment;
DateTime dt = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd"));
public Form_PatientList()
{
InitializeComponent();
}
private void PatientList_Load(object sender, EventArgs e)
{
gridView1.OptionsFind.AlwaysVisible = false;
GetEventList();
TriageDepartment();
GetMedicalRecordList();
List<string> greenway = new List<string>();
greenway.Add("全部");
greenway.Add("绿道患者");
greenway.Add("非绿道患者");
com_IsGreenWay.DataSource = greenway;
}
public void GetEventList()
{
List<AccidentInfoDTO> list = DBHelpClass.GetList<AccidentInfoDTO>("/api/base/T_Base_AccidentInfo/GetAccidentInfoClass");
AccidentInfoDTO dto = new AccidentInfoDTO();
dto.ID = 0;
dto.Name = "全部";
List<AccidentInfoDTO> list1 = new List<AccidentInfoDTO>();
list1.Add(dto);
list1.AddRange(list);
com_AccidentInfo.DisplayMember = "Name";
com_AccidentInfo.ValueMember = "ID";
com_AccidentInfo.DataSource = list1;
}
#region 按钮及选项效果
private void lbl_aignArea1_Click(object sender, EventArgs e)
{
signArea = "1";
lbl_signArea1.ForeColor = Color.White;
lbl_signArea1.BackColor = Color.FromArgb(250, 53, 52);
lbl_signArea2.ForeColor = Color.FromArgb(64, 64, 64);
lbl_signArea2.BackColor = Color.FromArgb(252, 252, 252);
lbl_signArea3.ForeColor = Color.FromArgb(64, 64, 64);
lbl_signArea3.BackColor = Color.FromArgb(252, 252, 252);
}
private void lbl_signArea2_Click(object sender, EventArgs e)
{
signArea = "2";
lbl_signArea1.ForeColor = Color.FromArgb(64, 64, 64);
lbl_signArea1.BackColor = Color.FromArgb(252, 252, 252);
lbl_signArea2.ForeColor = Color.White;
lbl_signArea2.BackColor = Color.FromArgb(255, 153, 0);
lbl_signArea3.ForeColor = Color.FromArgb(64, 64, 64);
lbl_signArea3.BackColor = Color.FromArgb(252, 252, 252);
}
private void lbl_signArea3_Click(object sender, EventArgs e)
{
signArea = "3";
lbl_signArea1.ForeColor = Color.FromArgb(64, 64, 64);
lbl_signArea1.BackColor = Color.FromArgb(252, 252, 252);
lbl_signArea2.ForeColor = Color.FromArgb(64, 64, 64);
lbl_signArea2.BackColor = Color.FromArgb(252, 252, 252);
lbl_signArea3.ForeColor = Color.White;
lbl_signArea3.BackColor = Color.FromArgb(25, 190, 107);
}
private void lbl_killp1_Click(object sender, EventArgs e)
{
killip = "1";
lbl_killp1.BackColor = Color.FromArgb(250, 53, 52);
lbl_killp1.ForeColor = Color.White;
lbl_killp2.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp2.ForeColor = Color.FromArgb(64, 64, 64);
lbl_killp3.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp3.ForeColor = Color.FromArgb(64, 64, 64);
lbl_killp4.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp4.ForeColor = Color.FromArgb(64, 64, 64);
}
private void lbl_killp2_Click(object sender, EventArgs e)
{
killip = "2";
lbl_killp1.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp1.ForeColor = Color.FromArgb(64, 64, 64);
lbl_killp2.BackColor = Color.FromArgb(241, 90, 34);
lbl_killp2.ForeColor = Color.White;
lbl_killp3.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp3.ForeColor = Color.FromArgb(64, 64, 64);
lbl_killp4.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp4.ForeColor = Color.FromArgb(64, 64, 64);
}
private void lbl_killp3_Click(object sender, EventArgs e)
{
killip = "3";
lbl_killp1.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp1.ForeColor = Color.FromArgb(64, 64, 64);
lbl_killp2.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp2.ForeColor = Color.FromArgb(64, 64, 64);
lbl_killp3.BackColor = Color.FromArgb(255, 153, 0);
lbl_killp3.ForeColor = Color.White;
lbl_killp4.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp4.ForeColor = Color.FromArgb(64, 64, 64);
}
private void lbl_killp4_Click(object sender, EventArgs e)
{
killip = "4";
lbl_killp1.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp1.ForeColor = Color.FromArgb(64, 64, 64);
lbl_killp2.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp2.ForeColor = Color.FromArgb(64, 64, 64);
lbl_killp4.BackColor = Color.FromArgb(25, 190, 107);
lbl_killp4.ForeColor = Color.White;
lbl_killp3.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp3.ForeColor = Color.FromArgb(64, 64, 64);
}
private void lbl_comeHospital1_Click(object sender, EventArgs e)
{
comeHospital = "1";
ColorChange(lbl_comeHospital1);
UnColorChange(lbl_comeHospital2);
UnColorChange(lbl_comeHospital3);
UnColorChange(lbl_comeHospital4);
UnColorChange(lbl_comeHospital5);
UnColorChange(lbl_comeHospital6);
}
private void lbl_comeHospital2_Click(object sender, EventArgs e)
{
comeHospital = "2";
ColorChange(lbl_comeHospital2);
UnColorChange(lbl_comeHospital1);
UnColorChange(lbl_comeHospital3);
UnColorChange(lbl_comeHospital4);
UnColorChange(lbl_comeHospital5);
UnColorChange(lbl_comeHospital6);
}
private void lbl_comeHospital3_Click(object sender, EventArgs e)
{
comeHospital = "3";
ColorChange(lbl_comeHospital3);
UnColorChange(lbl_comeHospital1);
UnColorChange(lbl_comeHospital2);
UnColorChange(lbl_comeHospital4);
UnColorChange(lbl_comeHospital5);
UnColorChange(lbl_comeHospital6);
}
private void lbl_comeHospital4_Click(object sender, EventArgs e)
{
comeHospital = "4";
ColorChange(lbl_comeHospital4);
UnColorChange(lbl_comeHospital1);
UnColorChange(lbl_comeHospital2);
UnColorChange(lbl_comeHospital3);
UnColorChange(lbl_comeHospital5);
UnColorChange(lbl_comeHospital6);
}
private void lbl_comeHospital5_Click(object sender, EventArgs e)
{
comeHospital = "5";
ColorChange(lbl_comeHospital5);
UnColorChange(lbl_comeHospital1);
UnColorChange(lbl_comeHospital2);
UnColorChange(lbl_comeHospital3);
UnColorChange(lbl_comeHospital4);
UnColorChange(lbl_comeHospital6);
}
private void lbl_comeHospital6_Click(object sender, EventArgs e)
{
comeHospital = "6";
ColorChange(lbl_comeHospital6);
UnColorChange(lbl_comeHospital1);
UnColorChange(lbl_comeHospital2);
UnColorChange(lbl_comeHospital3);
UnColorChange(lbl_comeHospital4);
UnColorChange(lbl_comeHospital5);
}
private void simpleButton2_Click(object sender, EventArgs e)
{
timeControl1.TimeValue = DateTime.Now.ToString();
timeControl2.TimeValue = DateTime.Now.ToString();
GetMedicalRecordList();
}
private void simpleButton4_Click(object sender, EventArgs e)
{
DateTime startMonth = dt.AddDays(1 - dt.Day);
DateTime endMonth = startMonth.AddMonths(1).AddDays(-1);
timeControl1.TimeValue = startMonth.ToString();
timeControl2.TimeValue = endMonth.ToString();
GetMedicalRecordList();
}
private void simpleButton5_Click(object sender, EventArgs e)
{
DateTime startYear = new DateTime(dt.Year, 1, 1);
DateTime endYear = new DateTime(dt.Year, 12, 31);
timeControl1.TimeValue = startYear.ToString();
timeControl2.TimeValue = endYear.ToString();
GetMedicalRecordList();
}
private void simpleButton6_Click(object sender, EventArgs e)
{
timeControl1.TimeValue = "";
timeControl2.TimeValue = "";
GetMedicalRecordList();
}
private void simpleButton7_Click(object sender, EventArgs e)
{
timeControl1.TimeValue = "";
timeControl2.TimeValue = "";
signArea = "";
lbl_signArea1.ForeColor = Color.FromArgb(64, 64, 64);
lbl_signArea1.BackColor = Color.FromArgb(252, 252, 252);
lbl_signArea2.ForeColor = Color.FromArgb(64, 64, 64);
lbl_signArea2.BackColor = Color.FromArgb(252, 252, 252);
lbl_signArea3.ForeColor = Color.FromArgb(64, 64, 64);
lbl_signArea3.BackColor = Color.FromArgb(252, 252, 252);
comeHospital = "";
UnColorChange(lbl_comeHospital1);
UnColorChange(lbl_comeHospital2);
UnColorChange(lbl_comeHospital3);
UnColorChange(lbl_comeHospital4);
UnColorChange(lbl_comeHospital5);
UnColorChange(lbl_comeHospital6);
killip = "";
lbl_killp1.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp1.ForeColor = Color.FromArgb(64, 64, 64);
lbl_killp2.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp2.ForeColor = Color.FromArgb(64, 64, 64);
lbl_killp3.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp3.ForeColor = Color.FromArgb(64, 64, 64);
lbl_killp4.BackColor = Color.FromArgb(252, 252, 252);
lbl_killp4.ForeColor = Color.FromArgb(64, 64, 64);
txt_name.Text = "";
timeControl1.TimeValue = "";
timeControl2.TimeValue = "";
text_eventName.Text = "";
com_AccidentInfo.Text = "";
radioButton1.Checked = true;
GetMedicalRecordList();
}
#endregion
public void ColorChange(LabelControl lbl)
{
lbl.ForeColor = Color.White;
lbl.BackColor = Color.FromArgb(0, 132, 204);
}
public void UnColorChange(LabelControl lbl)
{
lbl.BackColor = Color.FromArgb(252, 252, 252);
lbl.ForeColor = Color.FromArgb(64, 64, 64);
}
public void GetMedicalRecordList()
{
string trageDepartment = com_TriageDepartment.Text == "全部" ? "" : com_TriageDepartment.SelectedValue.ToString();
string isGreenWay = "";
if (com_IsGreenWay.Text == "非绿道患者")
isGreenWay = "0";
if (com_IsGreenWay.Text == "绿道患者")
isGreenWay = "1";
int category = -1;
if (radioButton2.Checked == true)
category = 0;
if (radioButton3.Checked == true)
category = 1;
int eventId = com_AccidentInfo.Text == "全部" ? 0 : int.Parse(com_AccidentInfo.SelectedValue.ToString());
DataTable dt = DBHelpClass.Get(string.Format("api/service/T_Service_EmergencyTriage/GetPatientListOfTriage?name={0}&startTime={1}&endTime={2}&killip={3}&signArea={4}&comeHospital={5}&triageDepartment={6}&isGreenWay={7}&category={8}&eventName={9}&eventId={10}&pageIndex={11}&pageSize={12}", txt_name.Text.Trim(), timeControl1.TimeValue.ToString(), timeControl2.TimeValue.ToString(), killip, signArea, comeHospital, trageDepartment, isGreenWay, category, text_eventName.Text.Trim(), eventId, curPage, pageSize));
gridControl1.DataSource = dt;
totalNumber = DBHelpClass.TotalNumber;
userControlForPage.RefreshPager(pageSize, totalNumber, curPage);
}
/// <summary>
/// 绑定去向
/// </summary>
public void TriageDepartment()
{
string url = string.Format("api/base/T_Base_DiagnosisAndTriageGo/GetTriageGoList");
List<T_Base_TriageGoDTO> list = DBHelpClass.GetList<T_Base_TriageGoDTO>(url);
T_Base_TriageGoDTO dto = new T_Base_TriageGoDTO();
dto.ID = 0;
dto.Name = "全部";
List<T_Base_TriageGoDTO> list1 = new List<T_Base_TriageGoDTO>();
list1.Add(dto);
list1.AddRange(list);
com_TriageDepartment.DisplayMember = "Name";
com_TriageDepartment.ValueMember = "ID";
com_TriageDepartment.DataSource = list1;
}
private void simpleButton1_Click(object sender, EventArgs e)
{
GetMedicalRecordList();
}
private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
{
if (e.Column.FieldName == "Category")
{
int value = PublicClass.ToInt32(e.Value, -1);
switch (value)
{
case 0:
e.DisplayText = "正常";
break;
case 1:
e.DisplayText = "三无患者";
break;
}
}
if (e.Column.FieldName == "Gender")
{
int value = PublicClass.ToInt32(e.Value, -1);
switch (value)
{
case 0:
e.DisplayText = "未知";
break;
case 1:
e.DisplayText = "男";
break;
case 2:
e.DisplayText = "女";
break;
}
}
if (e.Column.FieldName == "IsGreenWay")
{
int value = PublicClass.ToInt32(e.Value, -1);
switch (value)
{
case 0:
e.DisplayText = "非绿道患者";
break;
case 1:
e.DisplayText = "绿道患者";
break;
}
}
if (e.Column.FieldName == "SignArea")
{
int value = PublicClass.ToInt32(e.Value, -1);
switch (value)
{
case 1:
e.DisplayText = "红区";
break;
case 2:
e.DisplayText = "黄区";
break;
case 3:
e.DisplayText = "绿区";
break;
}
}
if (e.Column.FieldName == "Killip")
{
int value = PublicClass.ToInt32(e.Value, -1);
switch (value)
{
case 1:
e.DisplayText = "I级";
break;
case 2:
e.DisplayText = "II级";
break;
case 3:
e.DisplayText = "III级";
break;
case 4:
e.DisplayText = "IV级";
break;
}
}
if (e.Column.FieldName == "ComeHospital")
{
int value = PublicClass.ToInt32(e.Value, -1);
switch (value)
{
case 1:
e.DisplayText = "自行来院";
break;
case 2:
e.DisplayText = "120来院";
break;
case 3:
e.DisplayText = "院内发病";
break;
case 4:
e.DisplayText = "乡镇转诊";
break;
case 5:
e.DisplayText = "乡镇转120";
break;
case 6:
e.DisplayText = "其他";
break;
}
}
}
private void gridControl1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (gridView1.DataRowCount > 0)
{
int selectRow = gridView1.FocusedRowHandle;
string patientGuid = gridView1.GetRowCellValue(selectRow, "GUID").ToString();
string name = gridView1.GetRowCellValue(selectRow, "Name").ToString();
string age = gridView1.GetRowCellValue(selectRow, "Age").ToString();
string comeHospital = gridView1.GetRowCellValue(selectRow, "ComeHospital").ToString();
string gender = gridView1.GetRowCellValue(selectRow, "Gender").ToString();
string id = gridView1.GetRowCellValue(selectRow, "ID").ToString();
Form_PatientEMR detail = new Form_PatientEMR(patientGuid, name, age, comeHospital, gender, id);
detail.WindowState = FormWindowState.Normal;
detail.Owner = this;
detail.Show();
}
}
private void userControlForPage_myPagerEvents(int curPage, int pageSize)
{
userControlForPage.myPagerEvents += MyPagerEvents;
}
private void MyPagerEvents(int curPage, int pageSize)
{
this.curPage = curPage;
this.pageSize = pageSize;
GetMedicalRecordList();
}
private void simpleButton3_Click(object sender, EventArgs e)
{
Form_PublisAddPatient AddPatient = new Form_PublisAddPatient(int.Parse(PublicClassForDataBase.Config10007), "");
AddPatient.Show();
}
private bool ShowChildrenForm(string p_ChildrenFormText)
{
int i;
//依次检测当前窗体的子窗体
for (i = 0; i < this.MdiChildren.Length; i++)
{
//判断当前子窗体的Text属性值是否与传入的字符串值相同
if (this.MdiChildren[i].Text == p_ChildrenFormText)
{
//如果值相同则表示此子窗体为想要调用的子窗体激活此子窗体并返回true值
this.MdiChildren[i].Activate();
return true;
}
}
//如果没有相同的值则表示要调用的子窗体还没有被打开返回false值
return false;
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
if (gridView1.DataRowCount > 0)
{
int selectRow = gridView1.FocusedRowHandle;
string _guid = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "GUID"), "");
DialogResult dr = XtraMessageBox.Show("是否确定删除该病例?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (dr == DialogResult.Yes)
{
List<T_Service_PatientDTO> list = new List<T_Service_PatientDTO>();
T_Service_PatientDTO dto = new T_Service_PatientDTO();
dto.GUID = _guid;
string Url = "api/service/T_Service_EmergencyTriage/UpdateDeletFlagByPatientGuid";
list.Add(dto);
//初始化两个工厂
ClientFactory<T_Service_PatientDTO> httpClient = new HttpClientFactory<T_Service_PatientDTO>();
Client<T_Service_PatientDTO> client = httpClient.VisitFactory();
//访问
ListEntity<T_Service_PatientDTO> t = client.Post(Url, list);
if (t.Success)
{
JObject jo = (JObject)JsonConvert.DeserializeObject(t.DataString);
string msg = jo["Msg"].ToString();
if (!string.IsNullOrEmpty(msg))
{
XtraMessageBox.Show(msg);
GetMedicalRecordList();
}
}
else
{
MessageBox.Show("删除失败");
}
}
else
{
return;
}
}
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "急诊分诊-患者病历删除失败:\r\n" + ex);
}
}
private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
if (gridView1.GetRow(e.RowHandle) == null)
{
return;
}
else
{
if (e.Column.FieldName == "IsGreenWay")
{
string value = gridView1.GetRowCellValue(e.RowHandle, "IsGreenWay").ToString();
if (value == "1") //条件判断
{
e.Appearance.BackColor = Color.FromArgb(25, 190, 107);
e.Appearance.ForeColor = Color.White;
}
}
if (e.Column.FieldName == "SignArea")
{
e.Appearance.Font = new Font("Tahoma", 9, FontStyle.Bold);
string value = gridView1.GetRowCellValue(e.RowHandle, "SignArea").ToString();
if (value == "1")
e.Appearance.ForeColor = Color.FromArgb(250, 53, 52);
if (value == "2")
e.Appearance.ForeColor = Color.FromArgb(255, 153, 0);
if (value == "3")
e.Appearance.ForeColor = Color.FromArgb(25, 190, 107);
}
if (e.Column.FieldName == "Killip")
{
e.Appearance.Font = new Font("Tahoma", 9, FontStyle.Bold);
string value = gridView1.GetRowCellValue(e.RowHandle, "Killip").ToString();
if (value == "1")
e.Appearance.ForeColor = Color.FromArgb(250, 53, 52);
if (value == "2")
e.Appearance.ForeColor = Color.FromArgb(241, 90, 34);
if (value == "3")
e.Appearance.ForeColor = Color.FromArgb(255, 153, 0);
if (value == "4")
e.Appearance.ForeColor = Color.FromArgb(25, 190, 107);
}
}
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
int selectRow = gridView1.FocusedRowHandle;
string _guid = PublicClass.ToString(gridView1.GetRowCellValue(selectRow, "GUID"), "");
List<EmergencyTriageDTO> list = new List<EmergencyTriageDTO>();
EmergencyTriageDTO dto = new EmergencyTriageDTO();
dto.PatientGuid = _guid;
dto.TriageDepartment = "";
list.Add(dto);
string Url = "api/service/FristAidTran/RecallDepartment";
//初始化两个工厂
ClientFactory<EmergencyTriageDTO> httpClient = new HttpClientFactory<EmergencyTriageDTO>();
Client<EmergencyTriageDTO> client = httpClient.VisitFactory();
ListEntity<EmergencyTriageDTO> t = client.Post(Url, list);
if (t.Success)
{
MessageBox.Show("出科召回成功");
GetMedicalRecordList();
}
else
{
MessageBox.Show("出科召回失败");
}
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "急诊分诊-患者出科召回失败:\r\n" + ex);
}
}
private void simpleButton_SaveEvent_Click(object sender, EventArgs e)
{
Form_BatchPatient form_BatchPatient = new Form_BatchPatient();
form_BatchPatient.Show();
}
}
}