345 lines
14 KiB
C#
345 lines
14 KiB
C#
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.Text.RegularExpressions;
|
|
using System.Windows.Forms;
|
|
|
|
namespace HL_FristAidPlatform_EmergencyTriage
|
|
{
|
|
public partial class Form_PatientInfo : XtraForm
|
|
{
|
|
|
|
/// <summary>
|
|
/// 民族
|
|
/// </summary>
|
|
private DataTable NationDT;
|
|
|
|
private string _guid;
|
|
private string fpGuid;
|
|
public Form_PatientInfo(string guid)
|
|
{
|
|
InitializeComponent();
|
|
_guid = guid; ;
|
|
|
|
}
|
|
|
|
private void Form_PatientInfo_Load(object sender, EventArgs e)
|
|
{
|
|
//职业
|
|
PublicClass.SetLookUpList(lookUpEdit_Profession, Enumerate.PublicDictionaryType.职业, true, "请选择");
|
|
BindGender();
|
|
BindPathogeny();
|
|
BindNation();
|
|
QueryInfo(_guid);
|
|
}
|
|
|
|
public void QueryInfo(string guid)
|
|
{
|
|
string url = string.Format("/api/service/T_Service_Patient/GetPatients?guid={0}", _guid);
|
|
DataTable dt = DBHelpClass.GetDataRow(url);
|
|
if (dt != null)
|
|
{
|
|
if (dt.Rows.Count > 0)
|
|
{
|
|
fpGuid = dt.Rows[0]["FPGUID"].ToString();
|
|
txt_Name.Text = dt.Rows[0]["Name"].ToString();
|
|
radioGroup_Gender.EditValue = dt.Rows[0]["Gender"].ToString();
|
|
txt_Age.Text = dt.Rows[0]["Age"].ToString();
|
|
lookUpEdit_Nation.EditValue = dt.Rows[0]["Nation"].ToString();
|
|
txt_Phone.Text = dt.Rows[0]["MobilePhone"].ToString();
|
|
lookUpEdit_Pathogeny.EditValue = dt.Rows[0]["PathogenyGUID"].ToString();
|
|
txt_IDNumber.Text = dt.Rows[0]["IdentityCard"].ToString();
|
|
txt_Address.Text = dt.Rows[0]["Address"].ToString();
|
|
txt_Attack_Address.Text = dt.Rows[0]["Attack_Address"].ToString();
|
|
dateEdit_Birthday.TimeValue = dt.Rows[0]["Birthday"].ToString();
|
|
lookUpEdit_Profession.EditValue = dt.Rows[0]["Profession"].ToString();
|
|
txt_EmergencyContact.Text = dt.Rows[0]["EmergencyContact"].ToString();
|
|
txt_EmergencyContactPhone.Text = dt.Rows[0]["EmergencyContactPhone"].ToString();
|
|
lookUpEdit_Pathogeny.Text = dt.Rows[0]["PathogenyGUID"].ToString();
|
|
txt_DisposalRecord.Text = dt.Rows[0]["DisposalRecord"].ToString();
|
|
dateEdit_Attack_Time.TimeValue = dt.Rows[0]["Attack_Time"].ToString();
|
|
ckb_Category.Checked = dt.Rows[0]["Category"].ToString() == "1" ? true : false;
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 绑定民族
|
|
/// </summary>
|
|
private void BindNation()
|
|
{
|
|
try
|
|
{
|
|
NationDT = DBHelpClass.Get("/api/base/T_Base_Nation/GetList");
|
|
PublicClass.SetLookUpList(ref lookUpEdit_Nation, NationDT, 8, 2, true, "请选择");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "绑定民族:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 绑定性别
|
|
/// </summary>
|
|
private void BindGender()
|
|
{
|
|
try
|
|
{
|
|
DataTable GenderDT = DBHelpClass.Get("/api/base/T_Base_Gender/GetList");
|
|
PublicClass.BindRadioGroupData(radioGroup_Gender, GenderDT, "GenderName", "GenderCode");
|
|
radioGroup_Gender.EditValue = "0";
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "绑定性别:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 绑定病因
|
|
/// </summary>
|
|
private void BindPathogeny()
|
|
{
|
|
try
|
|
{
|
|
DataTable dt = DBHelpClass.Get("/api/base/T_Base_Pathogeny/GetList");
|
|
PublicClass.SetLookUpList(ref lookUpEdit_Pathogeny, dt, 1, 2, true, "请选择");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "绑定民族:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
public List<string> SavePatientInfo()
|
|
{
|
|
try
|
|
{
|
|
List<string> dtLst = new List<string>();
|
|
UpdateFirstAidPatientsDTO dto = new UpdateFirstAidPatientsDTO();
|
|
List<UpdateFirstAidPatientsDTO> list = new List<UpdateFirstAidPatientsDTO>();
|
|
dto.PatientGUID = _guid;
|
|
dto.FPGUID = fpGuid;
|
|
dto.Name = txt_Name.Text;
|
|
dto.Gender = int.Parse(radioGroup_Gender.EditValue.ToString());
|
|
dto.Age = int.Parse(txt_Age.Text);
|
|
dto.Nation = lookUpEdit_Nation.EditValue.ToString();
|
|
dto.IdentityCard = txt_IDNumber.Text;
|
|
dto.MobilePhone = txt_Phone.Text;
|
|
dto.EmergencyContact = txt_EmergencyContact.Text;
|
|
dto.EmergencyContactPhone = txt_EmergencyContactPhone.Text;
|
|
dto.Address = txt_Address.Text;
|
|
dto.Attack_Address = txt_Attack_Address.Text;
|
|
dto.Profession = lookUpEdit_Profession.EditValue.ToString();
|
|
dto.Birthday = dateEdit_Birthday.TimeValue.ToString();
|
|
dto.PathogenyGUID = lookUpEdit_Pathogeny.EditValue.ToString();
|
|
dto.DisposalRecord = txt_DisposalRecord.Text;
|
|
dto.Attack_Time = dateEdit_Attack_Time.TimeValue.ToString();
|
|
dto.Category = ckb_Category.Checked == true ? 1 : 0;
|
|
list.Add(dto);
|
|
string Url = string.Empty;
|
|
|
|
Url = "api/service/T_Service_Patient/UpdateFirstAidPatientsInfo";
|
|
|
|
|
|
//初始化两个工厂
|
|
ClientFactory<UpdateFirstAidPatientsDTO> httpClient = new HttpClientFactory<UpdateFirstAidPatientsDTO>();
|
|
Client<UpdateFirstAidPatientsDTO> client = httpClient.VisitFactory();
|
|
ListEntity<UpdateFirstAidPatientsDTO> t = client.Post(Url, list);
|
|
if (t.Success)
|
|
{
|
|
if (!string.IsNullOrEmpty(t.DataString))
|
|
{
|
|
if (t.DataString.Contains("Success"))
|
|
{
|
|
JObject jo = (JObject)JsonConvert.DeserializeObject(t.DataString);
|
|
string msg = jo["Msg"].ToString();
|
|
if (!string.IsNullOrEmpty(msg))
|
|
{
|
|
XtraMessageBox.Show(msg);
|
|
}
|
|
dtLst.Add(txt_Name.Text);
|
|
dtLst.Add(txt_Age.Text);
|
|
dtLst.Add(radioGroup_Gender.EditValue.ToString());
|
|
}
|
|
else
|
|
{
|
|
string msg1 = t.DataString.Replace("/", "").Replace(@"\", "").Replace("\"", "");
|
|
XtraMessageBox.Show(msg1);
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
XtraMessageBox.Show("保存失败");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
XtraMessageBox.Show("保存失败");
|
|
}
|
|
return dtLst;
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
}
|
|
private void simpleButton1_Click(object sender, EventArgs e)
|
|
{
|
|
UpdateFirstAidPatientsDTO dto = new UpdateFirstAidPatientsDTO();
|
|
List<UpdateFirstAidPatientsDTO> list = new List<UpdateFirstAidPatientsDTO>();
|
|
dto.PatientGUID = _guid;
|
|
dto.FPGUID = fpGuid;
|
|
dto.Name = txt_Name.Text;
|
|
dto.Gender = int.Parse(radioGroup_Gender.EditValue.ToString());
|
|
dto.Age = int.Parse(txt_Age.Text);
|
|
dto.Nation = lookUpEdit_Nation.EditValue.ToString();
|
|
dto.IdentityCard = txt_IDNumber.Text;
|
|
dto.MobilePhone = txt_Phone.Text;
|
|
dto.EmergencyContact = txt_EmergencyContact.Text;
|
|
dto.EmergencyContactPhone = txt_EmergencyContactPhone.Text;
|
|
dto.Address = txt_Address.Text;
|
|
dto.Attack_Address = txt_Attack_Address.Text;
|
|
dto.Profession = lookUpEdit_Profession.EditValue.ToString();
|
|
dto.Birthday = dateEdit_Birthday.TimeValue.ToString();
|
|
dto.PathogenyGUID = lookUpEdit_Pathogeny.EditValue.ToString();
|
|
dto.DisposalRecord = txt_DisposalRecord.Text;
|
|
dto.Attack_Time = dateEdit_Attack_Time.TimeValue.ToString();
|
|
dto.Category = ckb_Category.Checked == true ? 1 : 0;
|
|
list.Add(dto);
|
|
string Url = string.Empty;
|
|
|
|
Url = "api/service/T_Service_Patient/UpdateFirstAidPatientsInfo";
|
|
|
|
|
|
//初始化两个工厂
|
|
ClientFactory<UpdateFirstAidPatientsDTO> httpClient = new HttpClientFactory<UpdateFirstAidPatientsDTO>();
|
|
Client<UpdateFirstAidPatientsDTO> client = httpClient.VisitFactory();
|
|
|
|
if (client.Post(Url, list).Success)
|
|
{
|
|
XtraMessageBox.Show("保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
this.Close();
|
|
}
|
|
}
|
|
|
|
private void dateEdit_Birthday_TimeValueChanged(object sender, EventArgs e)
|
|
{
|
|
if (!string.IsNullOrEmpty(dateEdit_Birthday.TimeValue))
|
|
{
|
|
DateTime dateTime = Convert.ToDateTime(dateEdit_Birthday.TimeValue);
|
|
int ageUnit = 1;
|
|
txt_Age.Text = PublicClass.GetAge(dateTime, DateTime.Now, out ageUnit).ToString();
|
|
|
|
}
|
|
}
|
|
|
|
private void ckb_Category_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
try
|
|
{
|
|
if (ckb_Category.Checked)
|
|
{
|
|
txt_Name.ReadOnly = true;
|
|
txt_Age.ReadOnly = true;
|
|
radioGroup_Gender.ReadOnly = true;
|
|
txt_Name.Text = PublicClassForDataBase.CreateCategoryName();
|
|
txt_Age.Text = "0";
|
|
}
|
|
else
|
|
{
|
|
txt_Name.ReadOnly = false;
|
|
txt_Age.ReadOnly = false;
|
|
radioGroup_Gender.ReadOnly = false;
|
|
txt_Name.Text = "";
|
|
txt_Age.Text = "";
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "是否三无人员:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
private void txt_IDNumber_EditValueChanged(object sender, EventArgs e)
|
|
{
|
|
string resulst = txt_IDNumber.Text.ToString().Trim();
|
|
try
|
|
{
|
|
#region 18位
|
|
if (resulst.Length == 18)
|
|
{
|
|
long n = 0;
|
|
if (long.TryParse(resulst.Remove(17), out n) == false
|
|
|| n < Math.Pow(10, 16) || long.TryParse(resulst.Replace('x', '0').Replace('X', '0'), out n) == false)
|
|
{
|
|
txt_IDNumber.Visible = true;
|
|
}
|
|
string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";
|
|
if (address.IndexOf(resulst.Remove(2)) == -1)
|
|
{
|
|
txt_IDNumber.Visible = true;
|
|
}
|
|
string birth = resulst.Substring(6, 8).Insert(6, "-").Insert(4, "-");
|
|
DateTime time = new DateTime();
|
|
if (DateTime.TryParse(birth, out time) == false)
|
|
{
|
|
txt_IDNumber.Visible = true;
|
|
}
|
|
|
|
string brithdaystr = resulst.Substring(6, 8);
|
|
dateEdit_Birthday.TimeValue = DateTime.Parse(string.Format("{0}-{1}-{2}", string.Format("{0}", brithdaystr.Substring(0, 4)), brithdaystr.Substring(4, 2), brithdaystr.Substring(6, 2))).ToString();
|
|
|
|
//性别
|
|
int sex = Convert.ToInt32(resulst.Substring(resulst.Length - 2, 1));
|
|
|
|
if (sex % 2 == 0)
|
|
radioGroup_Gender.EditValue = "2";
|
|
else if (sex % 2 == 1)
|
|
radioGroup_Gender.EditValue = "1";
|
|
else
|
|
radioGroup_Gender.EditValue = "0";
|
|
|
|
radioGroup_Gender.Enabled = false;
|
|
txt_Age.Enabled = false;
|
|
dateEdit_Birthday.Enabled = false;
|
|
}
|
|
else
|
|
{
|
|
radioGroup_Gender.Enabled = true;
|
|
txt_Age.Enabled = true;
|
|
dateEdit_Birthday.Enabled = true;
|
|
}
|
|
#endregion
|
|
if (Regex.IsMatch(resulst, @"[\u4e00-\u9fa5]"))
|
|
{
|
|
radioGroup_Gender.Enabled = true;
|
|
txt_Age.Enabled = true;
|
|
dateEdit_Birthday.Enabled = true;
|
|
MessageBox.Show("身份证格式错误,不能包含中文字符");
|
|
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
radioGroup_Gender.Enabled = true;
|
|
txt_Age.Enabled = true;
|
|
dateEdit_Birthday.Enabled = true;
|
|
MessageBox.Show("身份证格式错误,加载失败。");
|
|
}
|
|
}
|
|
}
|
|
}
|