using DevExpress.XtraEditors; using HL_FristAidPlatform_DTO; using HL_FristAidPlatform_Public; using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.IO; using System.Windows.Forms; namespace HL_FristAidPlatform_Base { public partial class Form_Hospital : XtraForm { #region 变量 /// /// 操作标识 1:新增 2:修改 /// private int Flag; /// /// 当前操作的医院ID /// private long Cur_HospitalID; /// /// 当前院徽图片文件名 /// private string Cur_Logo = string.Empty; /// /// 当前院徽图片(转换成二进制之后数据) /// private string Cur_LogoImageData = string.Empty; /// /// 当前院徽图片的位图源 /// private Bitmap Cur_LogoImageData_Bitmap; /// /// 当前背景图片文件名 /// private string Cur_BgImage = string.Empty; /// /// 当前背景图片(转换成二进制之后数据) /// private string Cur_BgImageData = string.Empty; /// /// 当前背景图片的位图源 /// private Bitmap Cur_BgImageData_Bitmap; /// /// 每个 groupControl标题高度 /// private int H1 = 28; #endregion /// /// 医院信息维护 /// /// 医院编号 public Form_Hospital(long _hospitalID = 0) { InitializeComponent(); //如果当前屏幕的高度不足以显示完整的弹出窗体,则缩小高度到适应当前屏幕的高度 if (PublicClass.ScreenHeight < this.Height) { this.Height = PublicClass.ScreenHeight; } Cur_HospitalID = _hospitalID; } /// /// 加载 /// /// /// private void Form_Base_Hospital_Load(object sender, EventArgs e) { BindData(); BindInfo(); radioGroup_CP_CertificationVersion_SelectedIndexChanged(null, null); } #region BindData() /// /// 绑定控件基础数据 /// private void BindData() { //绑定院区属性 BindAttributeTag(); //绑定当前院区的急救车 BindAmbulance(); //胸痛认证版本 BindAmbulance(PublicClassForDataBase.Config10001, radioGroup_CP_CertificationVersion); //卒中认证版本 BindAmbulance(PublicClassForDataBase.Config10002, radioGroup_AP_CertificationVersion); } /// /// 绑定院区属性 /// private void BindAttributeTag() { try { DataTable ResultDT = PublicClass.EnumToDataTable(typeof(Enumerate.HospitalAttributeTag), "Name", "ID"); PublicClass.BindRadioGroupData(radioGroup_AttributeTag, ResultDT, "Name", "ID"); } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "绑定院区属性:\r\n" + ex); } } /// /// 绑定当前院区的急救车 /// private void BindAmbulance() { try { DataTable ResultDT = DBHelpClass.Get("/api/base/T_Base_Ambulance/GetListForState?state=-1&hospitalGuid=" + Information.Hospital.GUID); PublicClass.SetLookUpList(lookUp_DefaultAmbulanceGuid, ResultDT, "GUID", "PlateNumber", true); } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "绑定当前院区的急救车:\r\n" + ex); } } /// /// 获取认证标准 /// /// 所属系统编号参数 /// 绑定控件 private void BindAmbulance(string systemModuleID, RadioGroup radioGroup) { try { DataTable ResultDT = DBHelpClass.Get(string.Format("api/base/T_Base_CertificationVersion?systemModuleID={0}", systemModuleID)); PublicClass.BindRadioGroupData(radioGroup, ResultDT, "VersionName", "GUID"); } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "获取认证标准:\r\n" + ex); } } /// /// 绑定上级医院 /// private void BindParentHospital() { try { string Url = "api/base/T_Base_Hospital/GetList"; DataTable ResultDT = DBHelpClass.Get(Url); PublicClass.SetLookUpList(lookUp_ParentGUID, ResultDT, "GUID", "Name"); } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "绑定上级医院:\r\n" + ex); } } #endregion BindData() #region BindInfo() /// /// 绑定信息 /// private void BindInfo() { try { string Url = string.Format("api/base/T_Base_Hospital/{0}", Cur_HospitalID); DataTable ResultDT = DBHelpClass.GetDataRow(Url); if (ResultDT != null && ResultDT.Rows.Count > 0) { txt_Name.Tag = PublicClass.ToString(ResultDT.Rows[0]["ID"], ""); txt_Name.Text = PublicClass.ToString(ResultDT.Rows[0]["Name"], ""); string AttributeTag = PublicClass.ToString(ResultDT.Rows[0]["AttributeTag"], ""); radioGroup_AttributeTag.EditValue = AttributeTag; if (AttributeTag != ((int)Enumerate.HospitalAttributeTag.主院区).ToString()) { lookUp_ParentGUID.EditValue = PublicClass.ToString(ResultDT.Rows[0]["ParentGUID"], ""); } txt_ShortName.Tag = PublicClass.ToString(ResultDT.Rows[0]["GUID"], ""); txt_ShortName.Text = PublicClass.ToString(ResultDT.Rows[0]["ShortName"], ""); txt_EnglishName.Tag = PublicClass.ToString(ResultDT.Rows[0]["CreationDate"], ""); txt_EnglishName.Text = PublicClass.ToString(ResultDT.Rows[0]["EnglishName"], ""); txt_AliasName.Text = PublicClass.ToString(ResultDT.Rows[0]["AliasName"], ""); #region 院徽图片 txt_LogoUrl.Text = PublicClass.ToString(ResultDT.Rows[0]["LogoUrl"], ""); if (!string.IsNullOrEmpty(PublicClass.ToString(ResultDT.Rows[0]["LogoImageData"], ""))) { MemoryStream ms = new MemoryStream(Convert.FromBase64String(ResultDT.Rows[0]["LogoImageData"].ToString())); Image img = Image.FromStream(ms); Cur_LogoImageData_Bitmap = new Bitmap(img, picture_LogoImageData.Width, picture_LogoImageData.Height); picture_LogoImageData.Image = Cur_LogoImageData_Bitmap; Cur_Logo = ResultDT.Rows[0]["LogoUrl"].ToString(); //所选图标转换成二进制 Cur_LogoImageData = PublicClass.Png2String(Cur_LogoImageData_Bitmap); } else { picture_LogoImageData.Image = null; } #endregion #region 院徽图片 txt_BgImageUrl.Text = PublicClass.ToString(ResultDT.Rows[0]["BgImageUrl"], ""); if (!string.IsNullOrEmpty(PublicClass.ToString(ResultDT.Rows[0]["BgImageData"], ""))) { MemoryStream ms = new MemoryStream(Convert.FromBase64String(ResultDT.Rows[0]["BgImageData"].ToString())); Image img = Image.FromStream(ms); Cur_BgImageData_Bitmap = new Bitmap(img, picture_BgImageData.Width, picture_BgImageData.Height); picture_BgImageData.Image = Cur_BgImageData_Bitmap; Cur_BgImage = ResultDT.Rows[0]["BgImageUrl"].ToString(); //所选图标转换成二进制 Cur_BgImageData = PublicClass.Png2String(Cur_BgImageData_Bitmap); } else { picture_BgImageData.Image = null; } #endregion txt_Nature.Text = PublicClass.ToString(ResultDT.Rows[0]["Nature"], ""); txt_Grade.Text = PublicClass.ToString(ResultDT.Rows[0]["Grade"], ""); txt_ContactNumber.Text = PublicClass.ToString(ResultDT.Rows[0]["ContactNumber"], ""); txt_Fax.Text = PublicClass.ToString(ResultDT.Rows[0]["Fax"], ""); txt_Website.Text = PublicClass.ToString(ResultDT.Rows[0]["Website"], ""); txt_ZipCode.Text = PublicClass.ToString(ResultDT.Rows[0]["ZipCode"], ""); txt_BusRoute.Text = PublicClass.ToString(ResultDT.Rows[0]["BusRoute"], ""); txt_ContactAddress.Text = PublicClass.ToString(ResultDT.Rows[0]["ContactAddress"], ""); txt_Introduce.Text = PublicClass.ToString(ResultDT.Rows[0]["Introduce"], ""); txt_Ecg_OrgCode.Text = PublicClass.ToString(ResultDT.Rows[0]["Ecg_OrgCode"], ""); txt_Ecg_URL.Text = PublicClass.ToString(ResultDT.Rows[0]["Ecg_URL"], ""); txt_Ecg_RecordNumPer.Text = PublicClass.ToString(ResultDT.Rows[0]["Ecg_RecordNumPer"], ""); txt_Ecg_AuthorKey.Text = PublicClass.ToString(ResultDT.Rows[0]["Ecg_AuthorKey"], ""); txt_Ecg_AppId.Text = PublicClass.ToString(ResultDT.Rows[0]["Ecg_AppId"], ""); txt_Ecg_Token.Text = PublicClass.ToString(ResultDT.Rows[0]["Ecg_Token"], ""); txt_Ecg_Summary.Text = PublicClass.ToString(ResultDT.Rows[0]["Ecg_Summary"], ""); txt_CCPC_AppID.Text = PublicClass.ToString(ResultDT.Rows[0]["CCPC_AppID"], ""); txt_CCPC_SecretKey.Text = PublicClass.ToString(ResultDT.Rows[0]["CCPC_SecretKey"], ""); txt_CCPC_HospitalID.Text = PublicClass.ToString(ResultDT.Rows[0]["CCPC_HospitalID"], ""); txt_STEMI_D2B_DelayTime_ReferenceValue.Text = PublicClass.ToString(ResultDT.Rows[0]["STEMI_D2B_DelayTime_ReferenceValue"], ""); txt_NSTEMI_D2B_DelayTime_ReferenceValue.Text = PublicClass.ToString(ResultDT.Rows[0]["NSTEMI_D2B_DelayTime_ReferenceValue"], ""); txt_Longitude.Text = PublicClass.ToString(ResultDT.Rows[0]["Longitude"], ""); txt_Latitude.Text = PublicClass.ToString(ResultDT.Rows[0]["Latitude"], ""); lookUp_DefaultAmbulanceGuid.EditValue = PublicClass.ToString(ResultDT.Rows[0]["DefaultAmbulanceGuid"], ""); radioGroup_CP_CertificationVersion.EditValue = PublicClass.ToString(ResultDT.Rows[0]["CP_CertificationVersion"], ""); radioGroup_CP_CertificationStatus.EditValue = PublicClass.ToString(ResultDT.Rows[0]["CP_CertificationStatus"], ""); radioGroup_CP_First_Reperfusion.EditValue = PublicClass.ToString(ResultDT.Rows[0]["CP_First_Reperfusion"], ""); //再灌注查询条件 PublicClass.SetItemChecked(checkedList_CP_Second_Reperfusion, PublicClass.ToString(ResultDT.Rows[0]["CP_Second_Reperfusion"], ""), '|'); radioGroup_AP_CertificationVersion.EditValue = PublicClass.ToString(ResultDT.Rows[0]["AP_CertificationVersion"], ""); radioGroup_AP_CertificationStatus.EditValue = PublicClass.ToString(ResultDT.Rows[0]["AP_CertificationStatus"], ""); Flag = 2; } else { Flag = 1; } } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "绑定信息:\r\n" + ex); } } #endregion BindInfo() #region 控件事件 /// /// 保存 /// /// /// private void btn_Save_Click(object sender, EventArgs e) { try { #region 保存 //医院名称不能为空 if (string.IsNullOrEmpty(txt_Name.Text.ToString().Trim())) { XtraMessageBox.Show("医院名称不能为空,请填写!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); txt_Name.Focus(); return; } List list = new List(); T_Base_HospitalDTO model = new T_Base_HospitalDTO(); string Url = string.Empty; if (Flag == 1) { Url = "api/base/T_Base_Hospital"; model.GUID = Guid.NewGuid().ToString(); model.CreationDate = Convert.ToDateTime(DateTime.Now.ToString(PublicClass.TimeToString)); } else { Url = "api/base/T_Base_Hospital/Update"; model.ID = PublicClass.ToInt32(txt_Name.Tag, 0); model.GUID = PublicClass.ToString(txt_ShortName.Tag, ""); model.CreationDate = PublicClass.ToDateTime(txt_EnglishName.Tag, DateTime.Now); } model.Name = PublicClass.ToString(txt_Name.Text, ""); string AttributeTag = PublicClass.ToString(radioGroup_AttributeTag.EditValue, ""); model.AttributeTag = AttributeTag; if (AttributeTag == ((int)Enumerate.HospitalAttributeTag.主院区).ToString()) { model.ParentGUID = ""; } else { model.ParentGUID = PublicClass.ToString(lookUp_ParentGUID.EditValue, ""); } model.ShortName = PublicClass.ToString(txt_ShortName.Text, ""); model.EnglishName = PublicClass.ToString(txt_EnglishName.Text, ""); model.AliasName = PublicClass.ToString(txt_AliasName.Text, ""); model.LogoUrl = Cur_Logo; model.LogoImageData = Convert.FromBase64String(Cur_LogoImageData); model.BgImageUrl = Cur_BgImage; model.BgImageData = Convert.FromBase64String(Cur_BgImageData); model.Nature = PublicClass.ToString(txt_Nature.Text, ""); model.Grade = PublicClass.ToString(txt_Grade.Text, ""); model.ContactNumber = PublicClass.ToString(txt_ContactNumber.Text, ""); model.Fax = PublicClass.ToString(txt_Fax.Text, ""); model.Website = PublicClass.ToString(txt_Website.Text, ""); model.ZipCode = PublicClass.ToString(txt_ZipCode.Text, ""); model.BusRoute = PublicClass.ToString(txt_BusRoute.Text, ""); model.ContactAddress = PublicClass.ToString(txt_ContactAddress.Text, ""); model.Introduce = PublicClass.ToString(txt_Introduce.Text, ""); model.CCPC_AppID = PublicClass.ToString(txt_CCPC_AppID.Text, ""); model.CCPC_SecretKey = PublicClass.ToString(txt_CCPC_SecretKey.Text, ""); model.CCPC_HospitalID = PublicClass.ToString(txt_CCPC_HospitalID.Text, ""); model.Ecg_OrgCode = PublicClass.ToString(txt_Ecg_OrgCode.Text, ""); model.Ecg_URL = PublicClass.ToString(txt_Ecg_URL.Text, ""); model.Ecg_RecordNumPer = PublicClass.ToInt32(txt_Ecg_RecordNumPer.Text, 1); model.Ecg_AuthorKey = PublicClass.ToString(txt_Ecg_AuthorKey.Text, ""); model.Ecg_AppId = PublicClass.ToString(txt_Ecg_AppId.Text, ""); model.Ecg_Token = PublicClass.ToString(txt_Ecg_Token.Text, ""); model.Ecg_Summary = PublicClass.ToString(txt_Ecg_Summary.Text, ""); model.STEMI_D2B_DelayTime_ReferenceValue = PublicClass.ToInt32(txt_STEMI_D2B_DelayTime_ReferenceValue.Text, 0); model.NSTEMI_D2B_DelayTime_ReferenceValue = PublicClass.ToInt32(txt_NSTEMI_D2B_DelayTime_ReferenceValue.Text, 0); model.Longitude = PublicClass.ToString(txt_Longitude.Text, ""); model.Latitude = PublicClass.ToString(txt_Latitude.Text, ""); string DefaultAmbulanceGuid = PublicClass.ToString(lookUp_DefaultAmbulanceGuid.EditValue, "-1"); model.DefaultAmbulanceGuid = DefaultAmbulanceGuid == "-1" ? "" : lookUp_DefaultAmbulanceGuid.EditValue.ToString(); model.CP_CertificationVersion = PublicClass.ToString(radioGroup_CP_CertificationVersion.EditValue, ""); model.CP_CertificationStatus = PublicClass.ToString(radioGroup_CP_CertificationStatus.EditValue, ""); model.CP_First_Reperfusion = PublicClass.ToString(radioGroup_CP_First_Reperfusion.EditValue, ""); //次选再灌注 string CP_Second_Reperfusion = string.Empty; string CP_Second_ReperfusionText = string.Empty; PublicClass.GetCheckedListBoxItemValues(checkedList_CP_Second_Reperfusion, "|", out CP_Second_Reperfusion, out CP_Second_ReperfusionText); model.CP_Second_Reperfusion = CP_Second_Reperfusion; model.AP_CertificationVersion = PublicClass.ToString(radioGroup_AP_CertificationVersion.EditValue, ""); model.AP_CertificationStatus = PublicClass.ToString(radioGroup_AP_CertificationStatus.EditValue, ""); list.Add(model); //初始化两个工厂 ClientFactory httpClient = new HttpClientFactory(); Client client = httpClient.VisitFactory(); //访问 ListEntity t = client.Post(Url, list); if (t.Success) { XtraMessageBox.Show("保存医院信息成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); DialogResult = DialogResult.OK; Flag = 0; Close(); } else { XtraMessageBox.Show("保存失败,请稍后重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } #endregion } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "保存:\r\n" + ex); } } /// /// 选择医院院徽地址 /// /// /// private void btn_SelLogoUrlFlie_Click(object sender, EventArgs e) { try { OpenFileDialog ofd = new OpenFileDialog(); string BaseDirectory = AppDomain.CurrentDomain.BaseDirectory;//根目录路径 ofd.InitialDirectory = BaseDirectory; ofd.Filter = "Image Files(*.JPG;*.PNG;*.jpeg;*.GIF;*.BMP)|*.JPG;*.PNG;*.GIF;*.BMP;*.jpeg|All files(*.*)|*.*"; ofd.RestoreDirectory = true; if (ofd.ShowDialog() == DialogResult.OK) { FileInfo file = new FileInfo(ofd.FileName); if (file.Extension == ".png" || file.Extension == ".PNG") { string Cur_PicAddress = ofd.FileName; Image imge = Image.FromFile(Cur_PicAddress); Cur_LogoImageData_Bitmap = new Bitmap(imge, picture_LogoImageData.Width, picture_LogoImageData.Height); picture_LogoImageData.Image = Cur_LogoImageData_Bitmap; txt_LogoUrl.Text = Cur_Logo = file.Name; //所选图标转换成二进制 Cur_LogoImageData = PublicClass.Png2String(Cur_LogoImageData_Bitmap); } else { XtraMessageBox.Show("为确保系统美观度,请上传.png格式的图标!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "选择医院院徽地址:\r\n" + ex); } } /// /// 背景图片地址 /// /// /// private void btn_SelBgImageUrlFlie_Click(object sender, EventArgs e) { try { OpenFileDialog ofd = new OpenFileDialog(); string BaseDirectory = AppDomain.CurrentDomain.BaseDirectory;//根目录路径 ofd.InitialDirectory = BaseDirectory; ofd.Filter = "Image Files(*.JPG;*.PNG;*.jpeg;*.GIF;*.BMP)|*.JPG;*.PNG;*.GIF;*.BMP;*.jpeg|All files(*.*)|*.*"; ofd.RestoreDirectory = true; if (ofd.ShowDialog() == DialogResult.OK) { FileInfo file = new FileInfo(ofd.FileName); string Cur_PicAddress = ofd.FileName; Image imge = Image.FromFile(Cur_PicAddress); Cur_BgImageData_Bitmap = new Bitmap(imge); picture_BgImageData.Image = Cur_BgImageData_Bitmap; txt_BgImageUrl.Text = Cur_BgImage = file.Name; //所选图标转换成二进制 Cur_BgImageData = PublicClass.Png2String(Cur_BgImageData_Bitmap); } } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "背景图片地址:\r\n" + ex); } } /// /// 选择基层版显示基层版再灌注策略 /// /// /// private void radioGroup_CP_CertificationVersion_SelectedIndexChanged(object sender, EventArgs e) { string CP_CertificationVersion = PublicClass.ToString(radioGroup_CP_CertificationVersion.EditValue, ""); if (!string.IsNullOrEmpty(CP_CertificationVersion)) { if (CP_CertificationVersion == PublicClassForDataBase.Config122) { panel_CP_First_Reperfusion.Visible = true; } else { panel_CP_First_Reperfusion.Visible = false; } } else { panel_CP_First_Reperfusion.Visible = false; } } /// /// 医院属性选择项事件 /// /// /// private void radioGroup_AttributeTag_SelectedIndexChanged(object sender, EventArgs e) { string EditValue = PublicClass.ToString(radioGroup_AttributeTag.EditValue, ""); if (EditValue == ((int)Enumerate.HospitalAttributeTag.主院区).ToString()) { lookUp_ParentGUID.Enabled = false; } else { lookUp_ParentGUID.Enabled = true; BindParentHospital(); } } #endregion 控件事件 } }