StableVersion4.3/HL_FristAidPlatform_Public/Util.cs

200 lines
6.7 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using Newtonsoft.Json;
using System;
using System.IO;
using System.Net;
using System.Security.Cryptography;
using System.Text;
namespace HL_FristAidPlatform_Public
{
public class Util
{
/// <summary>
///
/// </summary>
/// <param name="summaryValue">MD5计算值</param>
/// <param name="serviceCode">业务代码</param>
/// <param name="parameter">参数</param>
/// <returns></returns>
public static string GetECG(string summaryValue, string serviceCode, string parameter)
{
try
{
string guid = Guid.NewGuid().ToString();
string authorKey = Information.Hospital.Ecg_AuthorKey;
string appId = Information.Hospital.Ecg_AppId;
string token = Information.Hospital.Ecg_Token;
string Url = Information.Hospital.Ecg_URL;
string postText = "header[authorKey]=" + authorKey + "&header[appId]=" + appId + "&header[token]=" + token + "&header[ssid]" +
"=" + guid + "&header[service]=" + serviceCode + "&header[summary]=" + summaryValue;
postText += parameter;
string responseString = Util.ECGPost(Url, postText);
return responseString;
}
catch (Exception ex)
{
PublicClass.WriteErrorLog("Util", "GetECG\r\n" + ex);
return "";
}
}
/// <summary>
/// MD5加密
/// </summary>
/// <param name="text"></param>
/// <returns></returns>
public static string Encryption(string text)
{
try
{
//初始化MD5对象
MD5 md5 = MD5.Create();
//将源字符串转化为byte数组
byte[] soucebyte = Encoding.UTF8.GetBytes(text);
//soucebyte转化为mf5的byte数组
byte[] md5bytes = md5.ComputeHash(soucebyte);
//将md5的byte数组再转化为MD5数组
StringBuilder sb = new StringBuilder();
foreach (Byte b in md5bytes)
{
//x表示16进制2表示2位
sb.Append(b.ToString("x2"));
}
return sb.ToString();
}
catch (Exception ex)
{
PublicClass.WriteErrorLog("Util", "Encryption\r\n" + ex);
return "";
}
}
/// <summary>
/// Post
/// </summary>
/// <param name="url"></param>
/// <param name="t"></param>
/// <returns></returns>
public static string ECGPost(string url, string postText)
{
try
{
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
//在转换字节时指定编码格式
byte[] byteData = Encoding.UTF8.GetBytes(postText);
var length = byteData.Length;
request.ContentLength = length;
var writer = request.GetRequestStream();
writer.Write(byteData, 0, length);
writer.Close();
//接收数据
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8")).ReadToEnd();
return responseString;
}
catch (Exception ex)
{
PublicClass.WriteErrorLog("Util", "ECGPost\r\n" + ex);
return "";
}
}
public static string ECGPostEncoding(string url, string postText)
{
try
{
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
//在转换字节时指定编码格式
byte[] byteData = Encoding.UTF8.GetBytes(postText);
var length = byteData.Length;
request.ContentLength = length;
var writer = request.GetRequestStream();
writer.Write(byteData, 0, length);
writer.Close();
//接收数据
var response = (HttpWebResponse)request.GetResponse();
string responseString = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8")).ReadToEnd();
responseString = JsonConvert.DeserializeObject(responseString).ToString();
return responseString;
}
catch (Exception ex)
{
PublicClass.WriteErrorLog("Util", "ECGPost\r\n" + ex);
return "";
}
}
public enum ServiceCode
{
/// <summary>
/// 表示上传静态心电数据
/// </summary>
UPLOADEDATA,
/// <summary>
/// 表示获取心电图的判读和报告
/// </summary>
GETEREPORT,
/// <summary>
/// 提交心电医疗订单
/// </summary>
POSTMEDICALFORM,
/// <summary>
/// 查询心电片段截图(代理模式)
/// </summary>
QUERYHEARTPICBYPROXY,
/// <summary>
/// 查询心电图报告(代理模式)
/// </summary>
QUERYHEARTREPORTBYPROXY,
/// <summary>
/// 获取动态密钥
/// </summary>
GETTOKEN,
/// <summary>
/// 获取设备列表
/// </summary>
GETEQMTLIST,
/// <summary>
/// 通过代理商获取服务机构
/// </summary>
GETSERVICEORGLIST,
/// <summary>
/// 通过代理商获取动态报告
/// </summary>
GETDYNAMICREPORT,
/// <summary>
/// 通过代理商获取动态合同
/// </summary>
GETDYNAMICWARDSHIP,
/// <summary>
/// 通过代理商获取动态业务统计信息
/// </summary>
GETDYNAMICBSSTATIS,
/// <summary>
/// 上传存储报告记录
/// </summary>
UPLOADSTOREREPORT,
/// <summary>
/// 查询存储报告记录
/// </summary>
QUERYSTOREREPORT
}
}
}