StableVersion4.3/HL_FristAidPlatform_ChestPain/V1.0/Form_ChestPain_PatientMainV...

438 lines
16 KiB
C#
Raw Permalink Normal View History

2024-03-11 09:47:34 +08:00
using DevExpress.XtraEditors;
using HL_FristAidPlatform_DynamicElectrocardiogram;
using HL_FristAidPlatform_MultiSystemPublic;
using HL_FristAidPlatform_Public;
using HL_FristAidPlatform_RealTimeVideo;
using System;
using System.Data;
using System.Windows.Forms;
namespace HL_FristAidPlatform_ChestPain
{
public partial class Form_ChestPain_PatientMainV1 : XtraForm
{
#region 变量
//1.声明自适应类实例
//AutoSizeFormClass autoSizeForm = new AutoSizeFormClass();
/// <summary>
/// 当前病人编号(ID)
/// </summary>
public long Cur_PatientID = 0;
/// <summary>
/// 当前病人编号(GUID)
/// </summary>
public string Cur_PatientGuid = string.Empty;
/// <summary>
/// 当前患者所属院区编号(GUID)
/// </summary>
private string Cur_HospitalGuid = string.Empty;
/// <summary>
/// 当前病人姓名
/// </summary>
private string Cur_PatientName = string.Empty;
/// <summary>
/// 当前病人性别
/// </summary>
private string Cur_PatientGender = string.Empty;
/// <summary>
/// 当前病人年龄
/// </summary>
private string Cur_PatientAge = string.Empty;
/// <summary>
/// 当前病人标签卡编号
/// </summary>
private long Cur_WristStrapID = 0;
/// <summary>
/// 当前病人标签卡编码
/// </summary>
private string Cur_WristStrapCode = string.Empty;
/// <summary>
/// 当前病人信息
/// </summary>
private DataTable Cur_PatientDT = new DataTable();
/// <summary>
/// 合同号
/// </summary>
private string Cur_WardshipId = string.Empty;
/// <summary>
/// 枚举
/// </summary>
private Enumerate.PatientMainState PatientMainState = Enumerate.PatientMainState.;
/// <summary>
/// 等待窗体
/// </summary>
private Loading loading = new Loading();
/// <summary>
/// 是否需要等待窗体
/// </summary>
private bool isNeedLoading = true;
#endregion
/// <summary>
/// 急救综合界面 _patientID与_patientGuid任传一个
/// </summary>
/// <param name="_patientID">患者编号(ID)</param>
/// <param name="_patientGuid">患者编号(GUID)</param>
/// <param name="_hospitalGuid">患者所属院区编号(GUID)</param>
/// <param name="_patientMainState">初始界面参数</param>
/// <param name="_isNeedLoading">是否需要等待窗体</param>
public Form_ChestPain_PatientMainV1(long _patientID = 0, string _patientGuid = "", string _hospitalGuid = "", Enumerate.PatientMainState _patientMainState = Enumerate.PatientMainState., bool _isNeedLoading = true)
{
InitializeComponent();
Cur_PatientID = _patientID;
Cur_PatientGuid = _patientGuid;
Cur_HospitalGuid = _hospitalGuid;
PatientMainState = _patientMainState;
isNeedLoading = _isNeedLoading;
}
/// <summary>
/// 窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form_ChestPain_PatientMain_Load(object sender, EventArgs e)
{
if (isNeedLoading)
{
loading.ShowMessage();
}
BindInfo();
if (isNeedLoading)
{
loading.HideMessage();
}
}
/// <summary>
/// 绑定患者信息
/// </summary>
private void BindInfo()
{
try
{
#region 绑定患者信息
string URL = string.Format("api/service/T_Service_Patient/GetModelByIdOrGuid?id={0}&guid={1}", Cur_PatientID, Cur_PatientGuid);
Cur_PatientDT = DBHelpClass.Get(URL);
if (Cur_PatientDT != null && Cur_PatientDT.Rows.Count > 0)
{
if (string.IsNullOrEmpty(Cur_PatientGuid))
Cur_PatientGuid = Cur_PatientDT.Rows[0]["GUID"].ToString();
if (Cur_PatientID == 0)
Cur_PatientID = PublicClass.ToInt64(Cur_PatientDT.Rows[0]["ID"], 0);
Cur_PatientName = lbl_PatientName.Text = Cur_PatientDT.Rows[0]["Name"].ToString();
Cur_PatientGender = lbl_PatientGender.Text = Cur_PatientDT.Rows[0]["GenderName"].ToString();
Cur_PatientAge = lbl_PatientAge.Text = Cur_PatientDT.Rows[0]["Age"].ToString();
Cur_WristStrapID = PublicClass.ToInt64(Cur_PatientDT.Rows[0]["WristStrapID"], 0);
Cur_WristStrapCode = lbl_PatientWristStrap.Text = Cur_PatientDT.Rows[0]["WristStrapCode"].ToString();
Cur_WardshipId = Cur_PatientDT.Rows[0]["WardshipId"].ToString();
//初始界面
switch (PatientMainState)
{
case Enumerate.PatientMainState.:
btn_TimeAxis_Click(null, null);
break;
case Enumerate.PatientMainState.:
btn_PatientDetail_Click(null, null);
break;
case Enumerate.PatientMainState.:
btn_Treatment_Click(null, null);
break;
case Enumerate.PatientMainState.:
btn_RealTimeMonitoring_Click(null, null);
break;
case Enumerate.PatientMainState.:
btn_ImageInformation_Click(null, null);
break;
case Enumerate.PatientMainState.:
btn_RealTimeVideo_Click(null, null);
break;
case Enumerate.PatientMainState.:
btn_OneClickNotification_Click(null, null);
break;
case Enumerate.PatientMainState.:
btn_Consultation_Click(null, null);
break;
case Enumerate.PatientMainState.:
btn_PatientOutcome_Click(null, null);
break;
case Enumerate.PatientMainState.:
btn_FirstAidTrack_Click(null, null);
break;
default:
btn_TimeAxis_Click(null, null);
break;
}
}
else
{
XtraMessageBox.Show("未获取到有效的病人信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
Close();
}
#endregion
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "绑定患者信息:\r\n" + ex);
}
}
/// <summary>
/// 抢救时间轴
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_TimeAxis_Click(object sender, EventArgs e)
{
MdiChildrenClose();
if (!ShowChildrenForm("Form_TimeAxis"))
{
Form_ChestPain_TimeAxisV1 form = new Form_ChestPain_TimeAxisV1(this, Cur_HospitalGuid, Cur_PatientGuid);
form.WindowState = FormWindowState.Maximized;
form.MdiParent = this;
form.Show();
}
}
/// <summary>
/// 急救信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_PatientDetail_Click(object sender, EventArgs e)
{
MdiChildrenClose();
if (!ShowChildrenForm("Form_PatientDetail"))
{
Form_ChestPain_PatientDetailV1 form = new Form_ChestPain_PatientDetailV1(Cur_HospitalGuid, Cur_PatientGuid, Cur_WristStrapID);
form.WindowState = FormWindowState.Maximized;
form.MdiParent = this;
form.Show();
}
}
/// <summary>
/// 胸痛诊疗
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Treatment_Click(object sender, EventArgs e)
{
MdiChildrenClose();
if (!ShowChildrenForm("Form_DirectReportMain"))
{
Form_ChestPain_TreatmentV1 form = new Form_ChestPain_TreatmentV1(Cur_HospitalGuid, Cur_PatientGuid);
form.WindowState = FormWindowState.Maximized;
form.MdiParent = this;
form.Show();
}
}
/// <summary>
/// 实时监测
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_RealTimeMonitoring_Click(object sender, EventArgs e)
{
MdiChildrenClose();
if (!ShowChildrenForm("HL_FristAidPlatform_DynamicElectrocardiogram"))
{
loading.ShowMessage("请稍候", "正在加载【" + Cur_PatientName + "】的心电监测...");
Form_DynamicElectrocardiogramDetailed form = new Form_DynamicElectrocardiogramDetailed(Cur_PatientName, Cur_PatientAge, Cur_PatientGender, Cur_WardshipId);
form.WindowState = FormWindowState.Maximized;
form.MdiParent = this;
form.Show();
loading.HideMessage();
}
}
/// <summary>
/// 影像信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_ImageInformation_Click(object sender, EventArgs e)
{
MdiChildrenClose();
if (!ShowChildrenForm("Form_ImageInformation"))
{
Form_ImageInformation form = new Form_ImageInformation(Cur_PatientGuid, PublicClassForDataBase.Config10001);
form.WindowState = FormWindowState.Maximized;
form.MdiParent = this;
form.Show();
}
}
/// <summary>
/// 实时视频
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_RealTimeVideo_Click(object sender, EventArgs e)
{
MdiChildrenClose();
if (!ShowChildrenForm("Form_RealTimeVideo"))
{
Form_RealTimeVideo form = new Form_RealTimeVideo(Cur_PatientGuid);
form.WindowState = FormWindowState.Maximized;
form.MdiParent = this;
form.Show();
}
}
/// <summary>
/// 一键通知
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_OneClickNotification_Click(object sender, EventArgs e)
{
MdiChildrenClose();
if (!ShowChildrenForm("Form_OneClickNotification"))
{
Form_OneClickNotification form = new Form_OneClickNotification(Cur_PatientGuid, Cur_PatientName, Cur_PatientGender, Cur_PatientAge);
form.WindowState = FormWindowState.Maximized;
form.MdiParent = this;
form.Show();
}
}
/// <summary>
/// 专家会诊
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Consultation_Click(object sender, EventArgs e)
{
MdiChildrenClose();
if (!ShowChildrenForm("Form_Consultation"))
{
Form_Consultation form = new Form_Consultation();
form.WindowState = FormWindowState.Maximized;
form.MdiParent = this;
form.Show();
}
}
/// <summary>
/// 患者转归
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_PatientOutcome_Click(object sender, EventArgs e)
{
MdiChildrenClose();
if (!ShowChildrenForm("Form_PatientOutcome"))
{
Form_ChestPain_OutcomeV1 form = new Form_ChestPain_OutcomeV1(Cur_HospitalGuid, Cur_PatientGuid, Cur_WristStrapID);
form.WindowState = FormWindowState.Maximized;
form.MdiParent = this;
form.Show();
}
}
/// <summary>
/// 急救轨迹
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_FirstAidTrack_Click(object sender, EventArgs e)
{
MdiChildrenClose();
if (!ShowChildrenForm("Form_FirstAidTrack"))
{
HL_FristAidPlatform_RealTimeVideo.Form_FirstAidTrack form = new HL_FristAidPlatform_RealTimeVideo.Form_FirstAidTrack(Cur_HospitalGuid, Cur_PatientGuid);
form.WindowState = FormWindowState.Maximized;
form.MdiParent = this;
form.Show();
}
}
/// <summary>
/// 根据传递的参数点击指定按钮事件
/// </summary>
/// <param name="_form_Flag"></param>
public void ClickMenu(int _form_Flag)
{
switch (_form_Flag)
{
case (int)Enumerate.ChestPainTimeAxis_Form.:
btn_PatientDetail_Click(null, null);
break;
case (int)Enumerate.ChestPainTimeAxis_Form.:
btn_Treatment_Click(null, null);
break;
case (int)Enumerate.ChestPainTimeAxis_Form.:
btn_PatientOutcome_Click(null, null);
break;
default:
break;
}
}
#region 方法
/// <summary>
/// 防止打开多个窗体
/// </summary>
/// <param name="p_ChildrenFormText">窗体名称</param>
/// <returns></returns>
private bool ShowChildrenForm(string p_ChildrenFormText)
{
int i;
//依次检测当前窗体的子窗体
for (i = 0; i < MdiChildren.Length; i++)
{
//判断当前子窗体的Text属性值是否与传入的字符串值相同
if (MdiChildren[i].Name == p_ChildrenFormText)
{
//如果值相同则表示此子窗体为想要调用的子窗体激活此子窗体并返回true值
MdiChildren[i].Activate();
return true;
}
}
//如果没有相同的值则表示要调用的子窗体还没有被打开返回false值
return false;
}
public void MdiChildrenClose()
{
//关闭所有已经打开的子窗体
if (MdiChildren.Length > 0)
{
foreach (Form myForm in this.MdiChildren)
{
myForm.Close();
}
}
}
#endregion
/// <summary>
/// 溶栓核查
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_ThrombolysisScreening_Click(object sender, EventArgs e)
{
Form_ChestPain_ThrombolysisScreening frm = new Form_ChestPain_ThrombolysisScreening(Cur_HospitalGuid, Cur_PatientGuid);
frm.ShowDialog();
}
}
}