336 lines
14 KiB
C#
336 lines
14 KiB
C#
using DevExpress.XtraEditors;
|
|
using DevExpress.XtraGrid.Views.Grid;
|
|
using HL_FristAidPlatform_DTO;
|
|
using HL_FristAidPlatform_Public;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
|
|
namespace HL_FristAidPlatform_FollowUp
|
|
{
|
|
public partial class Form_FollowUpDetail : XtraForm
|
|
{
|
|
/// <summary>
|
|
/// 当前患者信息
|
|
/// </summary>
|
|
public DataTable Cur_PatientDT;
|
|
|
|
/// <summary>
|
|
/// 当前患者编号(GUID)
|
|
/// </summary>
|
|
public string Cur_PatientID;
|
|
|
|
/// <summary>
|
|
/// 当前随访计划编号(GUID)
|
|
/// </summary>
|
|
public string Cur_FollUpID;
|
|
|
|
public Form_FollowUpDetail(string _Cur_PatientID)
|
|
{
|
|
InitializeComponent();
|
|
Cur_PatientID = _Cur_PatientID;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 窗体加载
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void Form_FollowUpDetail_Load(object sender, EventArgs e)
|
|
{
|
|
BindData();
|
|
BindList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 绑定随访计划列表
|
|
/// </summary>
|
|
private void BindList()
|
|
{
|
|
try
|
|
{
|
|
DataTable data = DBHelpClass.Get("api/service/T_Service_FollowUp/?pageIndex=1&pageSize=20&pGuid=" + Cur_PatientID + "");
|
|
gridControl_FollowUpVisit.DataSource = data;
|
|
gridView_FollowUpVisit.OptionsBehavior.Editable = false;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "绑定随访计划列表:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询绑定
|
|
/// </summary>
|
|
private void BindData()
|
|
{
|
|
BindDoctorList();
|
|
BindPatientInfo();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 绑定随访医生列表
|
|
/// </summary>
|
|
private void BindDoctorList()
|
|
{
|
|
try
|
|
{
|
|
DataTable dataTableDoctor = DBHelpClass.Get("api/admin/T_SYS_User/GetModelByWhere?where=PositionID in(1,2)");
|
|
PublicClass.SetLookUpList(ref lookUpEdit_FollowUpDoctor, dataTableDoctor, 0, 4, false);
|
|
lookUpEdit_FollowUpDoctor.EditValue = Information.User.ID.ToString();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "绑定随访医生列表:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 绑定患者信息
|
|
/// </summary>
|
|
private void BindPatientInfo()
|
|
{
|
|
try
|
|
{
|
|
Cur_PatientDT = DBHelpClass.GetDataRow("api/service/T_Service_Patient/" + Cur_PatientID + "");
|
|
label_name.Text = Cur_PatientDT.Rows[0]["Name"].ToString();
|
|
label_sex.Text = Cur_PatientDT.Rows[0]["GenderString"].ToString();
|
|
label_age.Text = Cur_PatientDT.Rows[0]["Age"].ToString();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "绑定患者信息:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 保存
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void simpleButton_save_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
#region 保存
|
|
List<T_Service_FollowUpDTO> patientDTOs = new List<T_Service_FollowUpDTO>();
|
|
T_Service_FollowUpDTO PrehospitalDTO = new T_Service_FollowUpDTO();
|
|
string Url = string.Empty;
|
|
ClientFactory<T_Service_FollowUpDTO> httpClient = new HttpClientFactory<T_Service_FollowUpDTO>();
|
|
Client<T_Service_FollowUpDTO> client = httpClient.VisitFactory();
|
|
DataTable dataTable = new DataTable();
|
|
//dataTable = DBHelpClass.Get("api/service/T_Service_FollowUp/GetByPatientGuid?patientGuid=" + Cur_PatientID + "");
|
|
if (!string.IsNullOrEmpty(Cur_FollUpID))
|
|
{
|
|
dataTable = DBHelpClass.GetDataRow("api/service/T_Service_FollowUp/" + Cur_FollUpID + "");
|
|
if (dataTable.Rows.Count > 0)
|
|
{
|
|
Url = "api/service/T_Service_FollowUp/Update";
|
|
PrehospitalDTO.ID = Int64.Parse(dataTable.Rows[0]["ID"].ToString());
|
|
PrehospitalDTO.GUID = dataTable.Rows[0]["GUID"].ToString();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Url = "api/service/T_Service_FollowUp";
|
|
PrehospitalDTO.GUID = Guid.NewGuid().ToString();
|
|
}
|
|
PrehospitalDTO.PatientGuid = Cur_PatientID;
|
|
PrehospitalDTO.FollowUpDate = Convert.ToDateTime(dateEdit_FollowUpDate.TimeValue).ToString();
|
|
PrehospitalDTO.FollowUpType = comboBox_FollowUpType.Text;
|
|
PrehospitalDTO.AdmittingDiagnosis = comboBox_AdmittingDiagnosis.Text;
|
|
PrehospitalDTO.DischargeDiagnosis = comboBox_DischargeDiagnosis.Text;
|
|
PrehospitalDTO.HospitalOutcome = comboBox_HospitalOutcome.Text;
|
|
PrehospitalDTO.DrugRegimen = comboBox_DrugRegimen.Text;
|
|
PrehospitalDTO.FollowUpStatus = "1";
|
|
string healthPrescription = "";
|
|
string rehabilitationProgram = "";
|
|
for (int i = 0; i < checkedListBox_HealthPrescription.CheckedIndices.Count; i++)
|
|
{
|
|
healthPrescription += checkedListBox_HealthPrescription.CheckedIndices[i].ToString() + "#";
|
|
}
|
|
for (int i = 0; i < checkedListBox_RehabilitationProgram.CheckedIndices.Count; i++)
|
|
{
|
|
rehabilitationProgram += checkedListBox_RehabilitationProgram.CheckedIndices[i].ToString() + "#";
|
|
}
|
|
//string SyndromeNumber = string.Empty;
|
|
//string Syndrome = string.Empty;
|
|
//PublicClass.GetCheckedListBoxItemValues(checkedListBox_HealthPrescription, "#", out healthPrescription, out rehabilitationProgram);
|
|
//dto.SyndromeNumber = SyndromeNumber;
|
|
//dto.Syndrome = Syndrome;
|
|
PrehospitalDTO.HealthPrescription = healthPrescription.Length==0? healthPrescription:healthPrescription.Remove(healthPrescription.Length - 1);
|
|
PrehospitalDTO.RehabilitationProgram = rehabilitationProgram.Length==0? rehabilitationProgram:rehabilitationProgram.Remove(rehabilitationProgram.Length - 1);
|
|
PrehospitalDTO.InspectionResult = textEdit_InspectionResult.Text;
|
|
PrehospitalDTO.CheckResult = textEdit_CheckResult.Text;
|
|
PrehospitalDTO.FollowUpResult = comboBox_FollowUpResult.Text;
|
|
PrehospitalDTO.FollowUpDoctor = lookUpEdit_FollowUpDoctor.Text;
|
|
patientDTOs.Add(PrehospitalDTO);
|
|
//访问
|
|
ListEntity<T_Service_FollowUpDTO> t = client.Post(Url, patientDTOs);
|
|
if (t.Success)
|
|
{
|
|
XtraMessageBox.Show("保存系统信息成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
else
|
|
{
|
|
XtraMessageBox.Show("保存失败,请稍后重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "保存:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 绑定详情
|
|
/// </summary>
|
|
/// <param name="_patientID"></param>
|
|
/// <param name="entity"></param>
|
|
public void BindDataPrehospital(string _patientID, ListEntity<T_Service_FollowUpDTO> entity)
|
|
{
|
|
try
|
|
{
|
|
#region 绑定详情
|
|
DataTable dataTable = new DataTable();
|
|
if (string.IsNullOrEmpty(_patientID))
|
|
{
|
|
dataTable = DBHelpClass.JsonToDataRow(entity.DataString);
|
|
}
|
|
if (entity == null)
|
|
{
|
|
dataTable = DBHelpClass.GetDataRow("api/service/T_Service_FollowUp/" + _patientID + "");
|
|
}
|
|
if (dataTable != null)
|
|
{
|
|
if (dataTable.Rows.Count > 0)
|
|
{
|
|
dateEdit_FollowUpDate.TimeValue = PublicClass.ToString(dataTable.Rows[0]["FollowUpDate"], "");
|
|
comboBox_FollowUpType.Text = dataTable.Rows[0]["FollowUpType"] + "";
|
|
comboBox_AdmittingDiagnosis.Text = dataTable.Rows[0]["AdmittingDiagnosis"] + "";
|
|
comboBox_DischargeDiagnosis.Text = dataTable.Rows[0]["DischargeDiagnosis"] + "";
|
|
comboBox_HospitalOutcome.Text = dataTable.Rows[0]["HospitalOutcome"] + "";
|
|
comboBox_DrugRegimen.Text = dataTable.Rows[0]["DrugRegimen"] + "";
|
|
string healthPrescriptionText = dataTable.Rows[0]["HealthPrescription"] + "";
|
|
string[] listHealthPrescriptionText = { };
|
|
listHealthPrescriptionText = healthPrescriptionText.Split('#');
|
|
for (int i = 0; i < listHealthPrescriptionText.Length; i++)
|
|
{
|
|
checkedListBox_HealthPrescription.SetItemCheckState(int.Parse(listHealthPrescriptionText[i]), CheckState.Checked);
|
|
}
|
|
string rehabilitationProgramText = dataTable.Rows[0]["RehabilitationProgram"] + "";
|
|
string[] listrehabilitationProgramText = { };
|
|
listrehabilitationProgramText = rehabilitationProgramText.Split('#');
|
|
for (int i = 0; i < listrehabilitationProgramText.Length; i++)
|
|
{
|
|
checkedListBox_RehabilitationProgram.SetItemCheckState(int.Parse(listrehabilitationProgramText[i]), CheckState.Checked);
|
|
}
|
|
textEdit_InspectionResult.Text = dataTable.Rows[0]["InspectionResult"] + "";
|
|
textEdit_CheckResult.Text = dataTable.Rows[0]["CheckResult"] + "";
|
|
comboBox_FollowUpResult.Text = dataTable.Rows[0]["FollowUpResult"] + "";
|
|
lookUpEdit_FollowUpDoctor.Text = dataTable.Rows[0]["FollowUpDoctor"] + "";
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "绑定详情:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 单击绑定详情
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void gridView_FollowUpVisit_RowClick(object sender, RowClickEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
DataRow dataRow = gridView_FollowUpVisit.GetDataRow(e.RowHandle);
|
|
Cur_FollUpID = dataRow["GUID"].ToString();
|
|
BindDataPrehospital(Cur_FollUpID, null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog(this.Text, "单击绑定详情:\r\n" + ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 新增
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void simpleButton_Add_Click(object sender, EventArgs e)
|
|
{
|
|
dateEdit_FollowUpDate.TimeValue = "";
|
|
comboBox_FollowUpType.Text = "";
|
|
comboBox_AdmittingDiagnosis.Text = "";
|
|
comboBox_DischargeDiagnosis.Text = "";
|
|
comboBox_HospitalOutcome.Text = "";
|
|
comboBox_DrugRegimen.Text = "";
|
|
checkedListBox_HealthPrescription.Text = "";
|
|
checkedListBox_RehabilitationProgram.Text = "";
|
|
textEdit_InspectionResult.Text = "";
|
|
textEdit_CheckResult.Text = "";
|
|
comboBox_FollowUpResult.Text = "";
|
|
lookUpEdit_FollowUpDoctor.Text = "";
|
|
}
|
|
|
|
private void gridView_FollowUpVisit_RowCellStyle(object sender, RowCellStyleEventArgs e)
|
|
{
|
|
GridView View = sender as GridView;
|
|
//随访状态
|
|
if (e.Column.FieldName == "FollowUpStatus")
|
|
{
|
|
int value = PublicClass.ToInt32(e.CellValue, 0);
|
|
switch (value)
|
|
{
|
|
case 0:
|
|
e.Appearance.BackColor = Color.Red;
|
|
e.Appearance.BackColor2 = Color.FromArgb(255, 255, 255);
|
|
break;
|
|
case 1:
|
|
e.Appearance.BackColor = Color.Green;
|
|
e.Appearance.BackColor2 = Color.FromArgb(255, 255, 255);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 自定义显示
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void gridView_FollowUpVisit_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
|
|
{
|
|
GridView View = sender as GridView;
|
|
//随访状态
|
|
if (e.Column.FieldName == "FollowUpStatus")
|
|
{
|
|
int value = PublicClass.ToInt32(e.Value, 0);
|
|
switch (value)
|
|
{
|
|
case 0:
|
|
e.DisplayText = "未随访";
|
|
break;
|
|
case 1:
|
|
e.DisplayText = "已随访";
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|