723 lines
26 KiB
C#
723 lines
26 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.Drawing;
|
||
using System.IO;
|
||
using System.Net;
|
||
using System.Security.Cryptography;
|
||
using System.Text;
|
||
using System.Windows.Forms;
|
||
|
||
namespace HL_FristAidPlatform_FollowUp
|
||
{
|
||
/// <summary>
|
||
/// 随访详情
|
||
/// </summary>
|
||
public partial class Form_ChestPainFollowUpDetail : XtraForm
|
||
{
|
||
/// <summary>
|
||
/// 月份
|
||
/// </summary>
|
||
public string month;
|
||
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public int content = 1;
|
||
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public string followUp;
|
||
|
||
|
||
/// <summary>
|
||
/// 基本信息
|
||
/// </summary>
|
||
public UC_FollowUpInfo Info;
|
||
|
||
/// <summary>
|
||
/// 危险因素
|
||
/// </summary>
|
||
public UC_FollowUpRiskReason RiskReason;
|
||
|
||
/// <summary>
|
||
/// 躯体症状
|
||
/// </summary>
|
||
public UC_FollowUpSomaticSymptoms SomaticSymptoms;
|
||
|
||
/// <summary>
|
||
/// 检查项目
|
||
/// </summary>
|
||
public UC_FollowUpInspectionItem InspectionItem;
|
||
|
||
/// <summary>
|
||
/// 用药信息
|
||
/// </summary>
|
||
public UC_FollowUpMedication Medication;
|
||
|
||
public string registerId;
|
||
|
||
public string status;
|
||
|
||
FollowUpDataUploadDTO FollowDto;
|
||
|
||
/// <summary>
|
||
/// 随访详情
|
||
/// </summary>
|
||
public Form_ChestPainFollowUpDetail(string _registerId, string _month)
|
||
{
|
||
InitializeComponent();
|
||
registerId = _registerId;
|
||
month = _month;
|
||
}
|
||
|
||
private void Form1_Load(object sender, EventArgs e)
|
||
{
|
||
GetRegisterInfo();
|
||
}
|
||
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public void GetRegisterInfo()
|
||
{
|
||
RegisterInfoDTO dto = new RegisterInfoDTO();
|
||
string url = string.Format("api/service/T_Service_ChestPain_FollowUpInfo/GetRegisterInfo?registerId={0}", registerId);
|
||
dto = DBHelpClass.GetDateModel<RegisterInfoDTO>(url);
|
||
if (dto != null)
|
||
{
|
||
followUp = dto.isFollowUp;
|
||
if (followUp == "1")
|
||
{
|
||
panel_WXYS.Visible = true;
|
||
panel_QTZZ.Visible = true;
|
||
panel_JCXM.Visible = true;
|
||
panel_YYXX.Visible = true;
|
||
}
|
||
else
|
||
{
|
||
panel_WXYS.Visible = false;
|
||
panel_QTZZ.Visible = false;
|
||
panel_JCXM.Visible = false;
|
||
panel_YYXX.Visible = false;
|
||
}
|
||
lbl_name.Text = dto.Name;
|
||
lbl_Age.Text = dto.Age.ToString();
|
||
if (dto.Gender == 0) lbl_Gender.Text = "未知";
|
||
if (dto.Gender == 1) lbl_Gender.Text = "男";
|
||
if (dto.Gender == 2) lbl_Gender.Text = "女";
|
||
if (dto.CP_Diagnosis_Code == "1") lbl_CP_Diagnosis_Code.Text = "STEMI";
|
||
if (dto.CP_Diagnosis_Code == "2") lbl_CP_Diagnosis_Code.Text = "NSTEMI";
|
||
if (dto.CP_Diagnosis_Code == "3") lbl_CP_Diagnosis_Code.Text = "UA";
|
||
if (dto.CP_Diagnosis_Code == "4") lbl_CP_Diagnosis_Code.Text = "主动脉夹层";
|
||
if (dto.CP_Diagnosis_Code == "5") lbl_CP_Diagnosis_Code.Text = "肺动脉栓塞";
|
||
if (dto.CP_Diagnosis_Code == "6") lbl_CP_Diagnosis_Code.Text = "非ACS心源性胸痛";
|
||
if (dto.CP_Diagnosis_Code == "7") lbl_CP_Diagnosis_Code.Text = "其它非心源性胸痛";
|
||
if (dto.CP_Diagnosis_Code == "8") lbl_CP_Diagnosis_Code.Text = "待查";
|
||
if (!string.IsNullOrEmpty(dto.Attack_Time.ToString())) lbl_Attack_Time.Text = Convert.ToDateTime(dto.Attack_Time).ToString("yyyy-MM-dd");
|
||
|
||
if (!string.IsNullOrEmpty(dto.Leave_Time.ToString())) lbl_Leave_Time.Text = Convert.ToDateTime(dto.Leave_Time).ToString("yyyy-MM-dd");
|
||
|
||
if (dto.STEMI_Measures == "1") lbl_STEMI_Measures.Text = "直接PCI";
|
||
if (dto.STEMI_Measures == "2") lbl_STEMI_Measures.Text = "溶栓";
|
||
if (dto.STEMI_Measures == "3") lbl_STEMI_Measures.Text = "择期介入";
|
||
if (dto.STEMI_Measures == "4") lbl_STEMI_Measures.Text = "CABG";
|
||
if (dto.STEMI_Measures == "5") lbl_STEMI_Measures.Text = "转运PCI";
|
||
|
||
}
|
||
|
||
if (month == "1月随访")
|
||
{
|
||
month = "1";
|
||
lbl_January.ForeColor = Color.FromArgb(45, 140, 240);
|
||
lbl_January.BackColor = Color.White;
|
||
|
||
lbl_March.ForeColor = Color.White;
|
||
lbl_March.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_June.ForeColor = Color.White;
|
||
lbl_June.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_December.ForeColor = Color.White;
|
||
lbl_December.BackColor = Color.FromArgb(45, 140, 240);
|
||
panelMain.Controls.Clear();
|
||
Info = new UC_FollowUpInfo(registerId, "1");
|
||
panelMain.Controls.Add(Info);
|
||
}
|
||
if (month == "3月随访")
|
||
{
|
||
month = "3";
|
||
lbl_March.ForeColor = Color.FromArgb(45, 140, 240);
|
||
lbl_March.BackColor = Color.White;
|
||
|
||
lbl_June.ForeColor = Color.White;
|
||
lbl_June.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_December.ForeColor = Color.White;
|
||
lbl_December.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_January.ForeColor = Color.White;
|
||
lbl_January.BackColor = Color.FromArgb(45, 140, 240);
|
||
panelMain.Controls.Clear();
|
||
Info = new UC_FollowUpInfo(registerId, "3");
|
||
panelMain.Controls.Add(Info);
|
||
}
|
||
if (month == "6月随访")
|
||
{
|
||
month = "6";
|
||
lbl_June.ForeColor = Color.FromArgb(45, 140, 240);
|
||
lbl_June.BackColor = Color.White;
|
||
|
||
lbl_March.ForeColor = Color.White;
|
||
lbl_March.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_December.ForeColor = Color.White;
|
||
lbl_December.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_January.ForeColor = Color.White;
|
||
lbl_January.BackColor = Color.FromArgb(45, 140, 240);
|
||
}
|
||
if (month == "12月随访")
|
||
{
|
||
month = "12";
|
||
lbl_December.ForeColor = Color.FromArgb(45, 140, 240);
|
||
lbl_December.BackColor = Color.White;
|
||
|
||
lbl_March.ForeColor = Color.White;
|
||
lbl_March.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_June.ForeColor = Color.White;
|
||
lbl_June.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_January.ForeColor = Color.White;
|
||
lbl_January.BackColor = Color.FromArgb(45, 140, 240);
|
||
}
|
||
panelMain.Controls.Clear();
|
||
Info = new UC_FollowUpInfo(registerId, month);
|
||
panelMain.Controls.Add(Info);
|
||
}
|
||
|
||
private void lbl_March_Click(object sender, EventArgs e)
|
||
{
|
||
month = "3";
|
||
lbl_March.ForeColor = Color.FromArgb(45, 140, 240);
|
||
lbl_March.BackColor = Color.White;
|
||
|
||
lbl_June.ForeColor = Color.White;
|
||
lbl_June.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_December.ForeColor = Color.White;
|
||
lbl_December.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_January.ForeColor = Color.White;
|
||
lbl_January.BackColor = Color.FromArgb(45, 140, 240);
|
||
RefreshMethod(content, month);
|
||
}
|
||
|
||
private void lbl_June_Click(object sender, EventArgs e)
|
||
{
|
||
month = "6";
|
||
lbl_June.ForeColor = Color.FromArgb(45, 140, 240);
|
||
lbl_June.BackColor = Color.White;
|
||
|
||
lbl_March.ForeColor = Color.White;
|
||
lbl_March.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_December.ForeColor = Color.White;
|
||
lbl_December.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_January.ForeColor = Color.White;
|
||
lbl_January.BackColor = Color.FromArgb(45, 140, 240);
|
||
RefreshMethod(content, month);
|
||
}
|
||
|
||
private void lbl_January_Click(object sender, EventArgs e)
|
||
{
|
||
month = "1";
|
||
lbl_January.ForeColor = Color.FromArgb(45, 140, 240);
|
||
lbl_January.BackColor = Color.White;
|
||
|
||
lbl_March.ForeColor = Color.White;
|
||
lbl_March.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_June.ForeColor = Color.White;
|
||
lbl_June.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_December.ForeColor = Color.White;
|
||
lbl_December.BackColor = Color.FromArgb(45, 140, 240);
|
||
RefreshMethod(content, month);
|
||
}
|
||
|
||
private void lbl_December_Click(object sender, EventArgs e)
|
||
{
|
||
month = "12";
|
||
lbl_December.ForeColor = Color.FromArgb(45, 140, 240);
|
||
lbl_December.BackColor = Color.White;
|
||
|
||
lbl_March.ForeColor = Color.White;
|
||
lbl_March.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_June.ForeColor = Color.White;
|
||
lbl_June.BackColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_January.ForeColor = Color.White;
|
||
lbl_January.BackColor = Color.FromArgb(45, 140, 240);
|
||
RefreshMethod(content, month);
|
||
}
|
||
|
||
|
||
|
||
private void lbl_WXYS_Click(object sender, EventArgs e)
|
||
{
|
||
|
||
lbl_WXYS.BackColor = Color.FromArgb(236, 245, 255);
|
||
lbl_WXYS.ForeColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_JBXX.BackColor = Color.White;
|
||
lbl_JBXX.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
lbl_QTZZ.BackColor = Color.White;
|
||
lbl_QTZZ.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
lbl_JCXM.BackColor = Color.White;
|
||
lbl_JCXM.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
lbl_YYXX.BackColor = Color.White;
|
||
lbl_YYXX.ForeColor = Color.FromArgb(92, 173, 255);
|
||
content = 2;
|
||
panelMain.Controls.Clear();
|
||
RiskReason = new UC_FollowUpRiskReason(registerId, month);
|
||
panelMain.Controls.Add(RiskReason);
|
||
}
|
||
|
||
private void lbl_QTZZ_Click(object sender, EventArgs e)
|
||
{
|
||
|
||
lbl_QTZZ.BackColor = Color.FromArgb(236, 245, 255);
|
||
lbl_QTZZ.ForeColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_JBXX.BackColor = Color.White;
|
||
lbl_JBXX.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
lbl_WXYS.BackColor = Color.White;
|
||
lbl_WXYS.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
lbl_JCXM.BackColor = Color.White;
|
||
lbl_JCXM.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
lbl_YYXX.BackColor = Color.White;
|
||
lbl_YYXX.ForeColor = Color.FromArgb(92, 173, 255);
|
||
content = 3;
|
||
panelMain.Controls.Clear();
|
||
SomaticSymptoms = new UC_FollowUpSomaticSymptoms(registerId, month);
|
||
panelMain.Controls.Add(SomaticSymptoms);
|
||
}
|
||
|
||
private void lbl_JCXM_Click(object sender, EventArgs e)
|
||
{
|
||
lbl_JCXM.BackColor = Color.FromArgb(236, 245, 255);
|
||
lbl_JCXM.ForeColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_JBXX.BackColor = Color.White;
|
||
lbl_JBXX.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
lbl_WXYS.BackColor = Color.White;
|
||
lbl_WXYS.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
lbl_QTZZ.BackColor = Color.White;
|
||
lbl_QTZZ.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
lbl_YYXX.BackColor = Color.White;
|
||
lbl_YYXX.ForeColor = Color.FromArgb(92, 173, 255);
|
||
content = 4;
|
||
panelMain.Controls.Clear();
|
||
InspectionItem = new UC_FollowUpInspectionItem(registerId, month);
|
||
panelMain.Controls.Add(InspectionItem);
|
||
}
|
||
|
||
private void lbl_YYXX_Click(object sender, EventArgs e)
|
||
{
|
||
lbl_YYXX.BackColor = Color.FromArgb(236, 245, 255);
|
||
lbl_YYXX.ForeColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_JBXX.BackColor = Color.White;
|
||
lbl_JBXX.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
lbl_WXYS.BackColor = Color.White;
|
||
lbl_WXYS.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
lbl_QTZZ.BackColor = Color.White;
|
||
lbl_QTZZ.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
lbl_JCXM.BackColor = Color.White;
|
||
lbl_JCXM.ForeColor = Color.FromArgb(92, 173, 255);
|
||
content = 5;
|
||
|
||
panelMain.Controls.Clear();
|
||
Medication = new UC_FollowUpMedication(registerId, month);
|
||
panelMain.Controls.Add(Medication);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 界面刷新切换方法
|
||
/// </summary>
|
||
/// <param name="content"></param>
|
||
/// <param name="month"></param>
|
||
public void RefreshMethod(int content, string month)
|
||
{
|
||
if (content == 1)
|
||
{
|
||
panelMain.Controls.Clear();
|
||
Info = new UC_FollowUpInfo(registerId, month);
|
||
panelMain.Controls.Add(Info);
|
||
}
|
||
if (content == 2)
|
||
{
|
||
panelMain.Controls.Clear();
|
||
RiskReason = new UC_FollowUpRiskReason(registerId, month);
|
||
panelMain.Controls.Add(RiskReason);
|
||
RiskReason.Dock = DockStyle.Fill;
|
||
}
|
||
if (content == 3)
|
||
{
|
||
panelMain.Controls.Clear();
|
||
SomaticSymptoms = new UC_FollowUpSomaticSymptoms(registerId, month);
|
||
panelMain.Controls.Add(SomaticSymptoms);
|
||
SomaticSymptoms.Dock = DockStyle.Fill;
|
||
}
|
||
if (content == 4)
|
||
{
|
||
panelMain.Controls.Clear();
|
||
InspectionItem = new UC_FollowUpInspectionItem(registerId, month);
|
||
panelMain.Controls.Add(InspectionItem);
|
||
InspectionItem.Dock = DockStyle.Fill;
|
||
}
|
||
if (content == 5)
|
||
{
|
||
panelMain.Controls.Clear();
|
||
Medication = new UC_FollowUpMedication(registerId, month);
|
||
panelMain.Controls.Add(Medication);
|
||
}
|
||
}
|
||
|
||
private class RegisterInfoDTO
|
||
{
|
||
/// <summary>
|
||
/// 是否随访
|
||
/// 1:是 0:否
|
||
/// </summary>
|
||
public string isFollowUp { get; set; }
|
||
|
||
|
||
/// <summary>
|
||
/// 姓名
|
||
/// </summary>
|
||
public string Name { get; set; }
|
||
|
||
/// <summary>
|
||
/// 性别
|
||
/// </summary>
|
||
public int Gender { get; set; }
|
||
|
||
/// <summary>
|
||
/// 年龄
|
||
/// </summary>
|
||
public int Age { get; set; }
|
||
|
||
/// <summary>
|
||
/// 出院时间
|
||
/// </summary>
|
||
public DateTime? Leave_Time { get; set; }
|
||
|
||
/// <summary>
|
||
/// 出院诊断
|
||
/// </summary>
|
||
public string CP_Diagnosis_Code { get; set; }
|
||
|
||
/// <summary>
|
||
/// 发病时间
|
||
/// </summary>
|
||
public DateTime? Attack_Time { get; set; }
|
||
|
||
/// <summary>
|
||
/// 措施
|
||
/// 1:直接PCI
|
||
/// 2:溶栓
|
||
/// 3:择期介入
|
||
/// 4:CABG
|
||
/// 5:转运 PCI
|
||
/// </summary>
|
||
public string STEMI_Measures { get; set; }
|
||
}
|
||
|
||
|
||
private void lbl_JBXX_Click(object sender, EventArgs e)
|
||
{
|
||
lbl_JBXX.BackColor = Color.FromArgb(236, 245, 255);
|
||
lbl_JBXX.ForeColor = Color.FromArgb(45, 140, 240);
|
||
|
||
lbl_WXYS.BackColor = Color.White;
|
||
lbl_WXYS.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
lbl_QTZZ.BackColor = Color.White;
|
||
lbl_QTZZ.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
lbl_JCXM.BackColor = Color.White;
|
||
lbl_JCXM.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
lbl_YYXX.BackColor = Color.White;
|
||
lbl_YYXX.ForeColor = Color.FromArgb(92, 173, 255);
|
||
|
||
content = 1;
|
||
panelMain.Controls.Clear();
|
||
Info = new UC_FollowUpInfo(registerId, month);
|
||
panelMain.Controls.Add(Info);
|
||
Info.Dock = DockStyle.Fill;
|
||
// Info.EventMethos += IsFollowMethos;
|
||
}
|
||
|
||
//private void IsFollowMethos(string _isfollow)
|
||
//{
|
||
// isfollowUp = _isfollow;
|
||
|
||
// //放弃治疗无需继续填写转归信息
|
||
// if (isfollowUp == "1")
|
||
// {
|
||
// panel_WXYS.Visible = true;
|
||
// panel_QTZZ.Visible = true;
|
||
// panel_JCXM.Visible = true;
|
||
// panel_YYXX.Visible = true;
|
||
// }
|
||
// else
|
||
// {
|
||
// panel_WXYS.Visible = false;
|
||
// panel_QTZZ.Visible = false;
|
||
// panel_JCXM.Visible = false;
|
||
// panel_YYXX.Visible = false;
|
||
// }
|
||
//}
|
||
/// <summary>
|
||
/// 保存草稿
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
private void simpleButton2_Click(object sender, EventArgs e)
|
||
{
|
||
if (content == 1)
|
||
{
|
||
Info.SaveFollowUpInfo(status);
|
||
GetRegisterInfo();
|
||
}
|
||
if (content == 2)
|
||
RiskReason.SaveFollowUpRiskReason(status);
|
||
if (content == 3)
|
||
SomaticSymptoms.SaveFollowUpSomaticSymptoms(status);
|
||
if (content == 4)
|
||
InspectionItem.submit(status);
|
||
if (content == 5)
|
||
Medication.SaveFollowUpMedication(status);
|
||
|
||
|
||
}
|
||
|
||
private void simpleButton1_Click(object sender, EventArgs e)
|
||
{
|
||
try
|
||
{
|
||
string url = string.Format("api/service/T_Service_ChestPain_FollowUpInfo/GetFollowUpDataUpload?registerId={0}&month={1}", registerId, month);
|
||
FollowDto = DBHelpClass.GetDateModel<FollowUpDataUploadDTO>(url);
|
||
|
||
if (FollowDto != null)
|
||
{
|
||
if (string.IsNullOrEmpty(FollowDto.registerId))
|
||
{
|
||
XtraMessageBox.Show("患者id为空,数据错误无法上传");
|
||
return;
|
||
}
|
||
if (string.IsNullOrEmpty(FollowDto.CP_DIAGNOSIS_CODE))
|
||
{
|
||
XtraMessageBox.Show("出院诊断值不能为空,数据错误无法上传");
|
||
return;
|
||
}
|
||
if (string.IsNullOrEmpty(FollowDto.LEAVE_TIME.ToString()))
|
||
{
|
||
XtraMessageBox.Show("出院时间值不能为空,数据错误无法上传");
|
||
return;
|
||
}
|
||
if (string.IsNullOrEmpty(FollowDto.OUTCOME_CODE))
|
||
{
|
||
XtraMessageBox.Show("出院类型值不能为空,数据错误无法上传");
|
||
return;
|
||
}
|
||
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
|
||
string str = serializer.Serialize(FollowDto);
|
||
//string str = ""; ;
|
||
PostData(str);
|
||
}
|
||
else
|
||
{
|
||
XtraMessageBox.Show("请先完善患者随访信息");
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
throw ex;
|
||
}
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 随访数据-上传
|
||
/// </summary>
|
||
public void PostData(string data)
|
||
{
|
||
//string data = "{}";
|
||
string url = "https://data.chinacpc.org/FollowUPUpload/PushData";
|
||
string appId = FollowDto.AppId;//"10009";
|
||
string secretKey = FollowDto.SecretKey;// "0f4f7c82efb91a37fe7c2b79b7fe8e01";
|
||
string requestId = Guid.NewGuid().ToString();
|
||
string time = DateTime.Now.ToString("yyyyMMddHHmmss");
|
||
|
||
|
||
var signPlain = new StringBuilder();
|
||
signPlain.Append(time);
|
||
signPlain.Append(requestId);
|
||
var sign = HmacSHA256(signPlain.ToString().ToUpper(), secretKey);
|
||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
||
request.Method = "POST";
|
||
request.ContentType = "application/json";
|
||
request.Headers.Add("time", time);
|
||
request.Headers.Add("appId", appId);
|
||
request.Headers.Add("requestId", requestId); request.Headers.Add("sign", sign);
|
||
var dataToPost = Encoding.UTF8.GetBytes(data);
|
||
request.ContentLength = dataToPost.Length;
|
||
using (var requestStream = request.GetRequestStream())
|
||
{
|
||
requestStream.Write(dataToPost, 0, dataToPost.Length);
|
||
}
|
||
try
|
||
{
|
||
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
|
||
{
|
||
var responseStream = response.GetResponseStream();
|
||
if (responseStream != null)
|
||
{
|
||
using (StreamReader reader = new StreamReader(responseStream))
|
||
{
|
||
var content = reader.ReadToEnd();
|
||
JObject jo = (JObject)JsonConvert.DeserializeObject(content);
|
||
string msg = jo["ResultCode"].ToString();
|
||
string error = jo["Error"].ToString();
|
||
if (msg == "200")
|
||
{
|
||
//更新状态
|
||
string Url = string.Empty;
|
||
Url = "api/service/T_Service_ChestPain_FollowUpInfo/UpdateStatus";
|
||
UpdateStatusDTO dto = new UpdateStatusDTO();
|
||
dto.registerId = registerId;
|
||
dto.month = month;
|
||
List<UpdateStatusDTO> list = new List<UpdateStatusDTO>();
|
||
list.Add(dto);
|
||
//初始化两个工厂
|
||
ClientFactory<UpdateStatusDTO> httpClient = new HttpClientFactory<UpdateStatusDTO>();
|
||
Client<UpdateStatusDTO> client = httpClient.VisitFactory();
|
||
//访问
|
||
ListEntity<UpdateStatusDTO> t = client.Post(Url, list);
|
||
|
||
if (string.IsNullOrEmpty(error))
|
||
{
|
||
XtraMessageBox.Show("提交成功");
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show(error);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show(content);
|
||
}
|
||
|
||
GetRegisterInfo();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
catch (WebException ex)
|
||
{
|
||
|
||
using (HttpWebResponse response = (HttpWebResponse)ex.Response)
|
||
{
|
||
var responseStream = response.GetResponseStream();
|
||
if (responseStream != null)
|
||
{
|
||
using (StreamReader reader = new StreamReader(responseStream))
|
||
{
|
||
var content = reader.ReadToEnd(); Console.WriteLine(content);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
private string HmacSHA256(string message, string signKey)
|
||
{
|
||
string signRet = string.Empty;
|
||
using (HMACSHA256 mac = new HMACSHA256(Encoding.UTF8.GetBytes(signKey)))
|
||
{
|
||
byte[] hash = mac.ComputeHash(Encoding.UTF8.GetBytes(message));
|
||
//signRet = Convert.ToBase64String(hash);
|
||
signRet = ToHexString(hash);
|
||
}
|
||
//bf7e5af635ac685b82b399ea02db6e05a9b307af232ec7154789241416517ed1
|
||
return signRet;
|
||
}
|
||
|
||
public static string ToHexString(byte[] bytes)
|
||
{
|
||
string hexString = string.Empty;
|
||
if (bytes != null)
|
||
{
|
||
StringBuilder strB = new StringBuilder();
|
||
foreach (byte b in bytes)
|
||
{
|
||
strB.AppendFormat("{0:x2}", b);
|
||
}
|
||
hexString = strB.ToString();
|
||
}
|
||
return hexString;
|
||
}
|
||
|
||
private void Form_ChestPainFollowUpDetail_FormClosed(object sender, FormClosedEventArgs e)
|
||
{
|
||
Form_ChestPainFollowUpList chestPainFollowUpList = new Form_ChestPainFollowUpList();
|
||
chestPainFollowUpList = (Form_ChestPainFollowUpList)this.Owner;
|
||
chestPainFollowUpList.
|
||
GetFollowUpDate("", "", "", "", "", "", "", 50, 1);
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public class UpdateStatusDTO
|
||
{
|
||
/// <summary>
|
||
/// 患者 ID
|
||
/// </summary>
|
||
public string registerId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 随访的月份
|
||
/// 1:1 月随访 3:3 月随访 6:6 月随访 12:12 月随访
|
||
/// </summary>
|
||
public string month { get; set; }
|
||
}
|
||
}
|