修改业务逻辑
This commit is contained in:
parent
6f9369ef8e
commit
45cd2c182c
640
1200gFtp/DbHelperMySQL.cs
Normal file
640
1200gFtp/DbHelperMySQL.cs
Normal file
@ -0,0 +1,640 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using MySql.Data.MySqlClient;
|
||||
|
||||
namespace 云心电ECG数据解析服务端
|
||||
{
|
||||
/// <summary>
|
||||
/// 数据访问抽象基础类
|
||||
/// </summary>
|
||||
public abstract class DbHelperMySQL
|
||||
{
|
||||
//数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库.
|
||||
public static string connectionString = ConfigurationManager.ConnectionStrings["MYSQLConnectionString"].ConnectionString;//连接语句,请按照自己的连接修改
|
||||
public DbHelperMySQL()
|
||||
{
|
||||
}
|
||||
|
||||
#region 公用方法
|
||||
/// <summary>
|
||||
/// 得到最大值
|
||||
/// </summary>
|
||||
/// <param name="FieldName"></param>
|
||||
/// <param name="TableName"></param>
|
||||
/// <returns></returns>
|
||||
public static int GetMaxID(string FieldName, string TableName)
|
||||
{
|
||||
string strsql = "select max(" + FieldName + ")+1 from " + TableName;
|
||||
object obj = GetSingle(strsql);
|
||||
if (obj == null)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return int.Parse(obj.ToString());
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 是否存在
|
||||
/// </summary>
|
||||
/// <param name="strSql"></param>
|
||||
/// <returns></returns>
|
||||
public static bool Exists(string strSql)
|
||||
{
|
||||
object obj = GetSingle(strSql);
|
||||
int cmdresult;
|
||||
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
|
||||
{
|
||||
cmdresult = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
cmdresult = int.Parse(obj.ToString());
|
||||
}
|
||||
if (cmdresult == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 是否存在(基于MySqlParameter)
|
||||
/// </summary>
|
||||
/// <param name="strSql"></param>
|
||||
/// <param name="cmdParms"></param>
|
||||
/// <returns></returns>
|
||||
public static bool Exists(string strSql, params MySqlParameter[] cmdParms)
|
||||
{
|
||||
object obj = GetSingle(strSql, cmdParms);
|
||||
int cmdresult;
|
||||
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
|
||||
{
|
||||
cmdresult = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
cmdresult = int.Parse(obj.ToString());
|
||||
}
|
||||
if (cmdresult == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 执行简单SQL语句
|
||||
|
||||
/// <summary>
|
||||
/// 执行SQL语句,返回影响的记录数
|
||||
/// </summary>
|
||||
/// <param name="SQLString">SQL语句</param>
|
||||
/// <returns>影响的记录数</returns>
|
||||
public static int ExecuteSql(string SQLString)
|
||||
{
|
||||
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
||||
{
|
||||
using (MySqlCommand cmd = new MySqlCommand(SQLString, connection))
|
||||
{
|
||||
try
|
||||
{
|
||||
connection.Open();
|
||||
int rows = cmd.ExecuteNonQuery();
|
||||
return rows;
|
||||
}
|
||||
catch (MySql.Data.MySqlClient.MySqlException e)
|
||||
{
|
||||
connection.Close();
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static int ExecuteSqlByTime(string SQLString, int Times)
|
||||
{
|
||||
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
||||
{
|
||||
using (MySqlCommand cmd = new MySqlCommand(SQLString, connection))
|
||||
{
|
||||
try
|
||||
{
|
||||
connection.Open();
|
||||
cmd.CommandTimeout = Times;
|
||||
int rows = cmd.ExecuteNonQuery();
|
||||
return rows;
|
||||
}
|
||||
catch (MySql.Data.MySqlClient.MySqlException e)
|
||||
{
|
||||
connection.Close();
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 执行多条SQL语句,实现数据库事务。
|
||||
/// </summary>
|
||||
/// <param name="SQLStringList">多条SQL语句</param>
|
||||
public static int ExecuteSqlTran(List<String> SQLStringList)
|
||||
{
|
||||
using (MySqlConnection conn = new MySqlConnection(connectionString))
|
||||
{
|
||||
conn.Open();
|
||||
MySqlCommand cmd = new MySqlCommand();
|
||||
cmd.Connection = conn;
|
||||
MySqlTransaction tx = conn.BeginTransaction();
|
||||
cmd.Transaction = tx;
|
||||
try
|
||||
{
|
||||
int count = 0;
|
||||
for (int n = 0; n < SQLStringList.Count; n++)
|
||||
{
|
||||
string strsql = SQLStringList[n];
|
||||
if (strsql.Trim().Length > 1)
|
||||
{
|
||||
cmd.CommandText = strsql;
|
||||
count += cmd.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
tx.Commit();
|
||||
return count;
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
tx.Rollback();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 执行带一个存储过程参数的的SQL语句。
|
||||
/// </summary>
|
||||
/// <param name="SQLString">SQL语句</param>
|
||||
/// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param>
|
||||
/// <returns>影响的记录数</returns>
|
||||
public static int ExecuteSql(string SQLString, string content)
|
||||
{
|
||||
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
||||
{
|
||||
MySqlCommand cmd = new MySqlCommand(SQLString, connection);
|
||||
MySql.Data.MySqlClient.MySqlParameter myParameter = new MySql.Data.MySqlClient.MySqlParameter("@content", SqlDbType.NText);
|
||||
myParameter.Value = content;
|
||||
cmd.Parameters.Add(myParameter);
|
||||
try
|
||||
{
|
||||
connection.Open();
|
||||
int rows = cmd.ExecuteNonQuery();
|
||||
return rows;
|
||||
}
|
||||
catch (MySql.Data.MySqlClient.MySqlException e)
|
||||
{
|
||||
throw e;
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Dispose();
|
||||
connection.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 执行带一个存储过程参数的的SQL语句。
|
||||
/// </summary>
|
||||
/// <param name="SQLString">SQL语句</param>
|
||||
/// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param>
|
||||
/// <returns>影响的记录数</returns>
|
||||
public static object ExecuteSqlGet(string SQLString, string content)
|
||||
{
|
||||
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
||||
{
|
||||
MySqlCommand cmd = new MySqlCommand(SQLString, connection);
|
||||
MySql.Data.MySqlClient.MySqlParameter myParameter = new MySql.Data.MySqlClient.MySqlParameter("@content", SqlDbType.NText);
|
||||
myParameter.Value = content;
|
||||
cmd.Parameters.Add(myParameter);
|
||||
try
|
||||
{
|
||||
connection.Open();
|
||||
object obj = cmd.ExecuteScalar();
|
||||
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
catch (MySql.Data.MySqlClient.MySqlException e)
|
||||
{
|
||||
throw e;
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Dispose();
|
||||
connection.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 向数据库里插入图像格式的字段(和上面情况类似的另一种实例)
|
||||
/// </summary>
|
||||
/// <param name="strSQL">SQL语句</param>
|
||||
/// <param name="fs">图像字节,数据库的字段类型为image的情况</param>
|
||||
/// <returns>影响的记录数</returns>
|
||||
public static int ExecuteSqlInsertImg(string strSQL, byte[] fs)
|
||||
{
|
||||
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
||||
{
|
||||
MySqlCommand cmd = new MySqlCommand(strSQL, connection);
|
||||
MySql.Data.MySqlClient.MySqlParameter myParameter = new MySql.Data.MySqlClient.MySqlParameter("@fs", SqlDbType.Image);
|
||||
myParameter.Value = fs;
|
||||
cmd.Parameters.Add(myParameter);
|
||||
try
|
||||
{
|
||||
connection.Open();
|
||||
int rows = cmd.ExecuteNonQuery();
|
||||
return rows;
|
||||
}
|
||||
catch (MySql.Data.MySqlClient.MySqlException e)
|
||||
{
|
||||
throw e;
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Dispose();
|
||||
connection.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 执行一条计算查询结果语句,返回查询结果(object)。
|
||||
/// </summary>
|
||||
/// <param name="SQLString">计算查询结果语句</param>
|
||||
/// <returns>查询结果(object)</returns>
|
||||
public static object GetSingle(string SQLString)
|
||||
{
|
||||
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
||||
{
|
||||
using (MySqlCommand cmd = new MySqlCommand(SQLString, connection))
|
||||
{
|
||||
try
|
||||
{
|
||||
connection.Open();
|
||||
object obj = cmd.ExecuteScalar();
|
||||
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
catch (MySql.Data.MySqlClient.MySqlException e)
|
||||
{
|
||||
connection.Close();
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public static object GetSingle(string SQLString, int Times)
|
||||
{
|
||||
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
||||
{
|
||||
using (MySqlCommand cmd = new MySqlCommand(SQLString, connection))
|
||||
{
|
||||
try
|
||||
{
|
||||
connection.Open();
|
||||
cmd.CommandTimeout = Times;
|
||||
object obj = cmd.ExecuteScalar();
|
||||
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
catch (MySql.Data.MySqlClient.MySqlException e)
|
||||
{
|
||||
connection.Close();
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 执行查询语句,返回MySqlDataReader ( 注意:调用该方法后,一定要对MySqlDataReader进行Close )
|
||||
/// </summary>
|
||||
/// <param name="strSQL">查询语句</param>
|
||||
/// <returns>MySqlDataReader</returns>
|
||||
public static MySqlDataReader ExecuteReader(string strSQL)
|
||||
{
|
||||
MySqlConnection connection = new MySqlConnection(connectionString);
|
||||
MySqlCommand cmd = new MySqlCommand(strSQL, connection);
|
||||
try
|
||||
{
|
||||
connection.Open();
|
||||
MySqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
|
||||
return myReader;
|
||||
}
|
||||
catch (MySql.Data.MySqlClient.MySqlException e)
|
||||
{
|
||||
throw e;
|
||||
}
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// 执行查询语句,返回DataSet
|
||||
/// </summary>
|
||||
/// <param name="SQLString">查询语句</param>
|
||||
/// <returns>DataSet</returns>
|
||||
public static DataSet Query(string SQLString)
|
||||
{
|
||||
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
||||
{
|
||||
DataSet ds = new DataSet();
|
||||
try
|
||||
{
|
||||
connection.Open();
|
||||
MySqlDataAdapter command = new MySqlDataAdapter(SQLString, connection);
|
||||
command.Fill(ds, "ds");
|
||||
}
|
||||
catch (MySql.Data.MySqlClient.MySqlException ex)
|
||||
{
|
||||
throw new Exception(ex.Message);
|
||||
}
|
||||
return ds;
|
||||
}
|
||||
}
|
||||
public static DataSet Query(string SQLString, int Times)
|
||||
{
|
||||
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
||||
{
|
||||
DataSet ds = new DataSet();
|
||||
try
|
||||
{
|
||||
connection.Open();
|
||||
MySqlDataAdapter command = new MySqlDataAdapter(SQLString, connection);
|
||||
command.SelectCommand.CommandTimeout = Times;
|
||||
command.Fill(ds, "ds");
|
||||
}
|
||||
catch (MySql.Data.MySqlClient.MySqlException ex)
|
||||
{
|
||||
throw new Exception(ex.Message);
|
||||
}
|
||||
return ds;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region 执行带参数的SQL语句
|
||||
|
||||
/// <summary>
|
||||
/// 执行SQL语句,返回影响的记录数
|
||||
/// </summary>
|
||||
/// <param name="SQLString">SQL语句</param>
|
||||
/// <returns>影响的记录数</returns>
|
||||
public static int ExecuteSql(string SQLString, params MySqlParameter[] cmdParms)
|
||||
{
|
||||
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
||||
{
|
||||
using (MySqlCommand cmd = new MySqlCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
PrepareCommand(cmd, connection, null, SQLString, cmdParms);
|
||||
int rows = cmd.ExecuteNonQuery();
|
||||
cmd.Parameters.Clear();
|
||||
return rows;
|
||||
}
|
||||
catch (MySql.Data.MySqlClient.MySqlException e)
|
||||
{
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 执行多条SQL语句,实现数据库事务。
|
||||
/// </summary>
|
||||
/// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的MySqlParameter[])</param>
|
||||
public static void ExecuteSqlTran(Hashtable SQLStringList)
|
||||
{
|
||||
using (MySqlConnection conn = new MySqlConnection(connectionString))
|
||||
{
|
||||
conn.Open();
|
||||
using (MySqlTransaction trans = conn.BeginTransaction())
|
||||
{
|
||||
MySqlCommand cmd = new MySqlCommand();
|
||||
try
|
||||
{
|
||||
//循环
|
||||
foreach (DictionaryEntry myDE in SQLStringList)
|
||||
{
|
||||
string cmdText = myDE.Key.ToString();
|
||||
MySqlParameter[] cmdParms = (MySqlParameter[])myDE.Value;
|
||||
PrepareCommand(cmd, conn, trans, cmdText, cmdParms);
|
||||
int val = cmd.ExecuteNonQuery();
|
||||
cmd.Parameters.Clear();
|
||||
}
|
||||
trans.Commit();
|
||||
}
|
||||
catch
|
||||
{
|
||||
trans.Rollback();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 执行多条SQL语句,实现数据库事务。
|
||||
/// </summary>
|
||||
/// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的MySqlParameter[])</param>
|
||||
public static void ExecuteSqlTranWithIndentity(Hashtable SQLStringList)
|
||||
{
|
||||
using (MySqlConnection conn = new MySqlConnection(connectionString))
|
||||
{
|
||||
conn.Open();
|
||||
using (MySqlTransaction trans = conn.BeginTransaction())
|
||||
{
|
||||
MySqlCommand cmd = new MySqlCommand();
|
||||
try
|
||||
{
|
||||
int indentity = 0;
|
||||
//循环
|
||||
foreach (DictionaryEntry myDE in SQLStringList)
|
||||
{
|
||||
string cmdText = myDE.Key.ToString();
|
||||
MySqlParameter[] cmdParms = (MySqlParameter[])myDE.Value;
|
||||
foreach (MySqlParameter q in cmdParms)
|
||||
{
|
||||
if (q.Direction == ParameterDirection.InputOutput)
|
||||
{
|
||||
q.Value = indentity;
|
||||
}
|
||||
}
|
||||
PrepareCommand(cmd, conn, trans, cmdText, cmdParms);
|
||||
int val = cmd.ExecuteNonQuery();
|
||||
foreach (MySqlParameter q in cmdParms)
|
||||
{
|
||||
if (q.Direction == ParameterDirection.Output)
|
||||
{
|
||||
indentity = Convert.ToInt32(q.Value);
|
||||
}
|
||||
}
|
||||
cmd.Parameters.Clear();
|
||||
}
|
||||
trans.Commit();
|
||||
}
|
||||
catch
|
||||
{
|
||||
trans.Rollback();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 执行一条计算查询结果语句,返回查询结果(object)。
|
||||
/// </summary>
|
||||
/// <param name="SQLString">计算查询结果语句</param>
|
||||
/// <returns>查询结果(object)</returns>
|
||||
public static object GetSingle(string SQLString, params MySqlParameter[] cmdParms)
|
||||
{
|
||||
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
||||
{
|
||||
using (MySqlCommand cmd = new MySqlCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
PrepareCommand(cmd, connection, null, SQLString, cmdParms);
|
||||
object obj = cmd.ExecuteScalar();
|
||||
cmd.Parameters.Clear();
|
||||
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
catch (MySql.Data.MySqlClient.MySqlException e)
|
||||
{
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 执行查询语句,返回MySqlDataReader ( 注意:调用该方法后,一定要对MySqlDataReader进行Close )
|
||||
/// </summary>
|
||||
/// <param name="strSQL">查询语句</param>
|
||||
/// <returns>MySqlDataReader</returns>
|
||||
public static MySqlDataReader ExecuteReader(string SQLString, params MySqlParameter[] cmdParms)
|
||||
{
|
||||
MySqlConnection connection = new MySqlConnection(connectionString);
|
||||
MySqlCommand cmd = new MySqlCommand();
|
||||
try
|
||||
{
|
||||
PrepareCommand(cmd, connection, null, SQLString, cmdParms);
|
||||
MySqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
|
||||
cmd.Parameters.Clear();
|
||||
return myReader;
|
||||
}
|
||||
catch (MySql.Data.MySqlClient.MySqlException e)
|
||||
{
|
||||
throw e;
|
||||
}
|
||||
// finally
|
||||
// {
|
||||
// cmd.Dispose();
|
||||
// connection.Close();
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 执行查询语句,返回DataSet
|
||||
/// </summary>
|
||||
/// <param name="SQLString">查询语句</param>
|
||||
/// <returns>DataSet</returns>
|
||||
public static DataSet Query(string SQLString, params MySqlParameter[] cmdParms)
|
||||
{
|
||||
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
||||
{
|
||||
MySqlCommand cmd = new MySqlCommand();
|
||||
PrepareCommand(cmd, connection, null, SQLString, cmdParms);
|
||||
using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
|
||||
{
|
||||
DataSet ds = new DataSet();
|
||||
try
|
||||
{
|
||||
da.Fill(ds, "ds");
|
||||
cmd.Parameters.Clear();
|
||||
}
|
||||
catch (MySql.Data.MySqlClient.MySqlException ex)
|
||||
{
|
||||
throw new Exception(ex.Message);
|
||||
}
|
||||
return ds;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static void PrepareCommand(MySqlCommand cmd, MySqlConnection conn, MySqlTransaction trans, string cmdText, MySqlParameter[] cmdParms)
|
||||
{
|
||||
if (conn.State != ConnectionState.Open)
|
||||
conn.Open();
|
||||
cmd.Connection = conn;
|
||||
cmd.CommandText = cmdText;
|
||||
if (trans != null)
|
||||
cmd.Transaction = trans;
|
||||
cmd.CommandType = CommandType.Text;//cmdType;
|
||||
if (cmdParms != null)
|
||||
{
|
||||
|
||||
|
||||
foreach (MySqlParameter parameter in cmdParms)
|
||||
{
|
||||
if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
|
||||
(parameter.Value == null))
|
||||
{
|
||||
parameter.Value = DBNull.Value;
|
||||
}
|
||||
cmd.Parameters.Add(parameter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -170,7 +170,7 @@ namespace _1200gFtp
|
||||
/// <summary>
|
||||
/// 上传诊断结论到福乐云平台
|
||||
/// </summary>
|
||||
string FlySubmit(string patientId,int status1)
|
||||
string FlySubmit(string patientId, int status1)
|
||||
{
|
||||
//上传报告到福乐云平台
|
||||
FLYecgReport FER = new FLYecgReport();
|
||||
@ -199,25 +199,26 @@ namespace _1200gFtp
|
||||
/// 提交患者信息到福乐云
|
||||
/// </summary>
|
||||
/// <param name=""></param>
|
||||
string submitPatientInfoToFLY(string patientId1)
|
||||
string submitPatientInfoToFLY(string patientId1,string examid,string orgid,string orgname)
|
||||
{
|
||||
string sql = "select * from Tb_PatientInfo where PatientID='" + patientId1 + "'";
|
||||
DataTable dt_1 = SqliteOptions_sql.CreateInstance().ExcuteSqlite(sql);
|
||||
|
||||
string sql = "select * from tb_patientexamlist where regId='" + patientId1 + "' and examId='"+ examid + "'";
|
||||
DataTable dt_1 = MySQLHelper.GetTable(sql);
|
||||
PatientMd PMD = new PatientMd();
|
||||
string orgSN = string.Empty;
|
||||
string orgName = string.Empty;
|
||||
if (dt_1.Rows.Count == 1)
|
||||
{
|
||||
PMD.ID = dt_1.Rows[0]["ID"].ToString();
|
||||
PMD.PatientID = dt_1.Rows[0]["PatientID"].ToString();
|
||||
PMD.PatientName = dt_1.Rows[0]["PatientName"].ToString();
|
||||
PMD.P_Id = dt_1.Rows[0]["P_Id"].ToString();
|
||||
PMD.Gender = dt_1.Rows[0]["Gender"].ToString();
|
||||
PMD.Birthday = dt_1.Rows[0]["Birthday"].ToString();
|
||||
PMD.Folk = dt_1.Rows[0]["Folk"].ToString();
|
||||
DataTable dt_org = SqliteOptions_sql.CreateInstance().ExcuteSqlite("select * from tb_org where orgID='" + dt_1.Rows[0]["orgID"].ToString() + "'");
|
||||
orgSN = dt_org.Rows[0]["orgSN"].ToString();
|
||||
orgName = dt_org.Rows[0]["orgName"].ToString();
|
||||
PMD.PatientID = dt_1.Rows[0]["regId"].ToString();
|
||||
PMD.PatientName = dt_1.Rows[0]["pName"].ToString();
|
||||
PMD.P_Id ="-";
|
||||
PMD.Gender = dt_1.Rows[0]["gender"].ToString();
|
||||
PMD.Birthday = dt_1.Rows[0]["birthday"].ToString();
|
||||
PMD.Folk ="";
|
||||
// DataTable dt_org = SqliteOptions_sql.CreateInstance().ExcuteSqlite("select * from tb_org where orgID='" + dt_1.Rows[0]["orgID"].ToString() + "'");
|
||||
orgSN = orgid;
|
||||
orgName = orgname;
|
||||
}
|
||||
patientInfoFLY pfy = new patientInfoFLY();
|
||||
|
||||
@ -303,10 +304,8 @@ namespace _1200gFtp
|
||||
//将分析参数写入到分析参数表中
|
||||
//-----------------------------------
|
||||
if (string.IsNullOrEmpty(alp.patientid))
|
||||
alp.patientid = Guid.NewGuid().ToString();
|
||||
string ecgAnalysisJson = JsonConvert.SerializeObject(alp);//把心电数据保存成json文件
|
||||
string jsonFilePath = fi1.DirectoryName + @"\" + Guid.NewGuid().ToString() + ".txt";
|
||||
File.WriteAllText(jsonFilePath, ecgAnalysisJson, Encoding.UTF8);//保存json文件到指定的目标统一http访问目录下
|
||||
alp.patientid = Guid.NewGuid().ToString("N");
|
||||
|
||||
if (File.Exists(ecgFilePath))
|
||||
{
|
||||
fi1.Delete();//转成jpg后 将XML图删掉
|
||||
@ -327,6 +326,7 @@ namespace _1200gFtp
|
||||
FileInfo fi = new FileInfo(ecgFilePath);
|
||||
string patientId2 = alp.patientid;
|
||||
string patientname = alp.patientName;
|
||||
string examid = string.Empty;
|
||||
//if (fi.Name.Contains("["))
|
||||
// patientId2 = fi.Name.Substring(fi.Name.IndexOf('[') + 1, fi.Name.IndexOf(']') - fi.Name.IndexOf('[') - 1);
|
||||
//else
|
||||
@ -336,75 +336,146 @@ namespace _1200gFtp
|
||||
//if (fi.Name.IndexOf('[') > 0)
|
||||
// patientname = fi.Name.Substring(0, fi.Name.IndexOf('['));
|
||||
string orgSN = fi.Directory.Name;
|
||||
DataTable dt_org1 = SqliteOptions_sql.CreateInstance().ExcuteSqlite("select * from tb_org where orgSN='" + orgSN + "'");
|
||||
DataTable dt_org1 = MySQLHelper.GetTable("select * from tb_org where orgSN='" + orgSN + "'");
|
||||
// DataTable dt_org1 = DbHelperMySQL.Query(a).Tables[0];
|
||||
// DataTable dt_org1 = SqliteOptions_sql.CreateInstance().ExcuteSqlite("select * from tb_org where orgSN='" + orgSN + "'");
|
||||
string orgid = "";
|
||||
string highLevelOrgid = "";
|
||||
string inHisCode = "";
|
||||
string oragname = string.Empty;
|
||||
if (dt_org1.Rows.Count == 1)
|
||||
{
|
||||
orgid = dt_org1.Rows[0]["orgID"].ToString();
|
||||
highLevelOrgid = dt_org1.Rows[0]["highLevelOrgID"].ToString();
|
||||
inHisCode = dt_org1.Rows[0]["inHisCode"].ToString().Trim();//在福乐云his中的机构代码
|
||||
oragname = dt_org1.Rows[0]["orgName"].ToString();
|
||||
}
|
||||
string queryDate = fi.CreationTime.ToString("yyyy-MM-dd");//文件的创建时间作为 his中患者信息查询的 查询日期
|
||||
//获取福乐云HIS接口的token
|
||||
string hisToken = commonOptions.getHisToken(ConfigurationManager.AppSettings["hisGetEcgTokenUrl"], ConfigurationManager.AppSettings["hisAppkey"], ConfigurationManager.AppSettings["appsecret"]);
|
||||
string hisToken = commonOptions.getHisToken(ConfigurationManager.AppSettings["hisGetEcgTokenUrl"], ConfigurationManager.AppSettings["hisAppkey"], ConfigurationManager.AppSettings["appsecret"]);
|
||||
FlyHisEcgDataModel FHEDM = commonOptions.GetHisEcgData(ConfigurationManager.AppSettings["hisGetEcgDataUrl"], inHisCode, queryDate, hisToken);
|
||||
// 将患者姓名 和 his结果里的患者姓名进行对比 如果姓名匹配 那么就将这个人的 patientid 修改为 his结果里的 jianchaid
|
||||
patientInfo pi = ComparePatientInfo(FHEDM, patientname);
|
||||
if(pi!=null)
|
||||
if (pi != null)
|
||||
{
|
||||
patientId2 = pi.jianchaid;//检查id作为患者patientid
|
||||
// alp.patientid = patientId2;
|
||||
examid = pi.jianchabh;
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(examid))
|
||||
examid = Guid.NewGuid().ToString("N");
|
||||
//string returnStrx = FlySubmit(patientId2,7);//收到心电数据后,将心电数据状态传到福乐云平台
|
||||
|
||||
|
||||
string newEcgFilePath1 = fi.DirectoryName + @"\" + patientId2 + fi.Extension;
|
||||
fi.CopyTo(newEcgFilePath1);
|
||||
#region 插入业务数据
|
||||
//插入tb_patientexamlist表数据
|
||||
string idStr = Guid.NewGuid().ToString();
|
||||
string gender1 = pi != null ? pi.sex : "";
|
||||
string birthday1 = pi != null ? pi.birthdate : "null";
|
||||
StringBuilder patientexamlist = new StringBuilder();
|
||||
patientexamlist.Append(" insert into ");
|
||||
patientexamlist.Append(" tb_patientexamlist ");
|
||||
patientexamlist.Append("(");
|
||||
patientexamlist.Append("ID,examId,pName,gender,birthday,examDate,deviceType,se_dc,examItemName,reportstatus,applicationDate,orgName,orgId,createDate,");
|
||||
patientexamlist.Append("examItemCode,regId");
|
||||
patientexamlist.Append(")");
|
||||
patientexamlist.Append("values (");
|
||||
patientexamlist.Append("'" + Guid.NewGuid().ToString("N") + "','" + examid + "','" + patientname + "','" + gender1 + "'," + birthday1 + ",'" + fi.CreationTime.ToString("yyyy-MM-dd HH:mm:ss") + "',");
|
||||
patientexamlist.Append("'ECG','1/1','心电图','待分析','" + fi.CreationTime.ToString("yyyy-MM-dd HH:mm:ss") + "','" + oragname + "','" + orgid + "','" + fi.CreationTime.ToString("yyyy-MM-dd HH:mm:ss") + "',");
|
||||
patientexamlist.Append(" '','"+ patientId2 + "'");
|
||||
patientexamlist.Append(")");
|
||||
bool bol = MySQLHelper.ExecuteNonQuery(patientexamlist.ToString());
|
||||
|
||||
string sql = "select * from Tb_PatientInfo where PatientID='" + patientId2 + "' and orgID='" + orgid + "' and isXinDianTu = '1'";
|
||||
DataTable dt_getData = SqliteOptions_sql.CreateInstance().ExcuteSqlite(sql);
|
||||
if (dt_getData.Rows.Count == 1)
|
||||
//先创建ftp文件夹
|
||||
FtpHelper.MakeDir(patientId2);
|
||||
//上传心电图xml转换的图片
|
||||
string returnStr = FtpHelper.FileUpLoad(fi.FullName, patientId2, patientId2 + fi.Extension);
|
||||
if (returnStr == "上传成功")
|
||||
{
|
||||
string patientId = dt_getData.Rows[0]["PatientID"].ToString();
|
||||
string sql1 = "update Tb_PatientInfo set CreateDate='" + fi.CreationTime.ToString("yyyy-MM-dd HH:mm:ss") + "' where PatientID='" + patientId + "'";
|
||||
SqliteOptions_sql.CreateInstance().SqliteUpdate(sql1);
|
||||
//string fileMd5 = GetMD5HashFromFile(fi.FullName);
|
||||
//string returnMd5 = oss.PutObject("aecgdatas", patientId + fi.Extension, ecgFilePath);
|
||||
string returnStr = FtpHelper.FileUpLoad(fi.FullName, "", patientId2 + fi.Extension);//把生成的心电图和心电json文件 放到一个统一的http访问的一个文件夹里
|
||||
if (returnStr == "上传成功")
|
||||
textBox2.AppendText(patientexamlist.ToString() + "文件: " + fi.Name + " 上传成功:" + patientId2 + fi.Extension + " | " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\r\n");
|
||||
fi.Delete();
|
||||
}
|
||||
//把生成的json文件进行上传和插入表
|
||||
string ecgAnalysisJson = JsonConvert.SerializeObject(alp);//把心电数据保存成json文件
|
||||
string jsonFilePath = fi1.DirectoryName + @"\" + Guid.NewGuid().ToString() + ".txt";
|
||||
File.WriteAllText(jsonFilePath, ecgAnalysisJson, Encoding.UTF8);//保存json文件到指定的目标统一http访问目录下
|
||||
FileInfo filejson = new FileInfo(jsonFilePath);
|
||||
if (filejson.Exists)
|
||||
{
|
||||
//插入表tb_ecganalysisparas
|
||||
StringBuilder ecganalysisparas = new StringBuilder();
|
||||
ecganalysisparas.Append(" insert into ");
|
||||
ecganalysisparas.Append(" tb_ecganalysisparas ");
|
||||
ecganalysisparas.Append("(");
|
||||
ecganalysisparas.Append(" ID,orgId,examId,CollectionTime,HR,P_Axle,QRS_Axle,T_Axle,PTimeLimit,PR,qrsTimeLimit,QT,QTC,RV5,SV1,RV5_SV1,snapshotTime,");
|
||||
ecganalysisparas.Append(" ecgJsonDataFilePath,createDate,regId");
|
||||
ecganalysisparas.Append(")");
|
||||
ecganalysisparas.Append("values (");
|
||||
ecganalysisparas.Append(" '" + Guid.NewGuid().ToString("N") + "','" + orgid + "','" + examid + "','" + fi.CreationTime.ToString("yyyy-MM-dd HH:mm:ss") + "',");
|
||||
ecganalysisparas.Append(" '" + alp.heartRate + "','" + alp.P_degrees + "','" + alp.QRS_degrees + "','" + alp.T_degrees + "','" + alp.P + "','" + alp.PR + "','" + alp.QRS + "',");
|
||||
ecganalysisparas.Append("'" + alp.QT + "','" + alp.QTc + "','" + alp.RV5 + "','" + alp.SV1 + "','" + alp.RV5PLUSSV1 + "','" + fi.CreationTime.ToString("yyyy-MM-dd HH:mm:ss") + "',");
|
||||
ecganalysisparas.Append(" '" + ConfigurationManager.AppSettings["jsonurl"] + patientId2+"/"+ patientId2 + filejson.Extension + "','" + fi.CreationTime.ToString("yyyy-MM-dd HH:mm:ss") + "','" + patientId2 + "'");
|
||||
ecganalysisparas.Append(" )");
|
||||
bool bolecganalysisparas = MySQLHelper.ExecuteNonQuery(ecganalysisparas.ToString());
|
||||
//上传心电图xml转换的图片
|
||||
string returnStrjson = FtpHelper.FileUpLoad(filejson.FullName, patientId2, patientId2 + filejson.Extension);
|
||||
if (returnStrjson == "上传成功")
|
||||
{
|
||||
textBox2.AppendText(sql1 + "文件: " + fi.Name + "修改成功:" + patientId + fi.Extension + " | " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\r\n");
|
||||
fi.Delete();
|
||||
// fi_1.Delete();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
string idStr = Guid.NewGuid().ToString();
|
||||
string gender1 = pi != null ? pi.sex : "";
|
||||
string birthday1 = pi != null ? pi.birthdate : "";
|
||||
string sql2 = "insert into Tb_PatientInfo (ID,PatientID,CreateDate,isXinDianTu,orgID,highLevelOrgID,medicalSN,PatientName,Gender,Birthday) values ('" + idStr + "','" + patientId2 + "','" + fi.CreationTime.ToString("yyyy-MM-dd HH:mm:ss") + "','1','" + orgid + "','" + highLevelOrgid + "','','" + patientname + "','" + gender1 + "','" + birthday1 + "')";
|
||||
SqliteOptions_sql.CreateInstance().SqliteAdd(sql2);
|
||||
//string fileMd5 = GetMD5HashFromFile(fi.FullName);
|
||||
//string returnMd5 = oss.PutObject("aecgdatas", patientId2 + fi.Extension, ecgFilePath);
|
||||
string returnStr = FtpHelper.FileUpLoad(fi.FullName, "", patientId2 + fi.Extension);
|
||||
if (returnStr == "上传成功")
|
||||
{
|
||||
textBox2.AppendText(sql2 + "文件: " + fi.Name + " 上传成功:" + patientId2 + fi.Extension + " | " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\r\n");
|
||||
fi.Delete();
|
||||
// fi_1.Delete();
|
||||
textBox2.AppendText("文件: " + filejson.Name + " 上传成功:" + patientId2 + filejson.Extension + " | " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\r\n");
|
||||
filejson.Delete();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region 之前的
|
||||
//string sql = "select * from Tb_PatientInfo where PatientID='" + patientId2 + "' and orgID='" + orgid + "' and isXinDianTu = '1'";
|
||||
//DataTable dt_getData = SqliteOptions_sql.CreateInstance().ExcuteSqlite(sql);
|
||||
//if (dt_getData.Rows.Count == 1)
|
||||
//{
|
||||
// string patientId = dt_getData.Rows[0]["PatientID"].ToString();
|
||||
// string sql1 = "update Tb_PatientInfo set CreateDate='" + fi.CreationTime.ToString("yyyy-MM-dd HH:mm:ss") + "' where PatientID='" + patientId + "'";
|
||||
// SqliteOptions_sql.CreateInstance().SqliteUpdate(sql1);
|
||||
// //string fileMd5 = GetMD5HashFromFile(fi.FullName);
|
||||
// //string returnMd5 = oss.PutObject("aecgdatas", patientId + fi.Extension, ecgFilePath);
|
||||
// string returnStr = FtpHelper.FileUpLoad(fi.FullName, "", patientId2 + fi.Extension);//把生成的心电图和心电json文件 放到一个统一的http访问的一个文件夹里
|
||||
// if (returnStr == "上传成功")
|
||||
// {
|
||||
// textBox2.AppendText(sql1 + "文件: " + fi.Name + "修改成功:" + patientId + fi.Extension + " | " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\r\n");
|
||||
// fi.Delete();
|
||||
// // fi_1.Delete();
|
||||
// }
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// string idStr = Guid.NewGuid().ToString();
|
||||
// string gender1 = pi != null ? pi.sex : "";
|
||||
// string birthday1 = pi != null ? pi.birthdate : "";
|
||||
// string sql2 = "insert into Tb_PatientInfo (ID,PatientID,CreateDate,isXinDianTu,orgID,highLevelOrgID,medicalSN,PatientName,Gender,Birthday) values ('" + idStr + "','" + patientId2 + "','" + fi.CreationTime.ToString("yyyy-MM-dd HH:mm:ss") + "','1','" + orgid + "','" + highLevelOrgid + "','','" + patientname + "','" + gender1 + "','" + birthday1 + "')";
|
||||
// SqliteOptions_sql.CreateInstance().SqliteAdd(sql2);
|
||||
// //string fileMd5 = GetMD5HashFromFile(fi.FullName);
|
||||
// //string returnMd5 = oss.PutObject("aecgdatas", patientId2 + fi.Extension, ecgFilePath);
|
||||
// string returnStr = FtpHelper.FileUpLoad(fi.FullName, "", patientId2 + fi.Extension);
|
||||
// if (returnStr == "上传成功")
|
||||
// {
|
||||
// textBox2.AppendText(sql2 + "文件: " + fi.Name + " 上传成功:" + patientId2 + fi.Extension + " | " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\r\n");
|
||||
// fi.Delete();
|
||||
// // fi_1.Delete();
|
||||
// }
|
||||
//}
|
||||
#endregion
|
||||
|
||||
string returnStrxs= submitPatientInfoToFLY(patientId2);//先把患者信息提交到福乐云医共体平台
|
||||
|
||||
string returnStrxs = submitPatientInfoToFLY(patientId2,examid,orgid, oragname);//先把患者信息提交到福乐云医共体平台
|
||||
string returnStrx = FlySubmit(patientId2, 3);//收到心电数据后,将心电数据状态传到福乐云平台
|
||||
FileInfo fi_1= new FileInfo(newEcgFilePath1);
|
||||
FileInfo fi_1 = new FileInfo(newEcgFilePath1);
|
||||
if (fi_1.Exists)
|
||||
{
|
||||
FlyEcgReportFileSubmit(patientId2, newEcgFilePath1);//不管三七二十一,先把收到的心电图文件到福乐云平台
|
||||
fi_1.Delete();
|
||||
}
|
||||
|
||||
|
||||
//if (!fi_1.Exists)
|
||||
// FlyEcgReportFileSubmit(patientId2, ecgFilePath);//不管三七二十一,先把收到的心电图文件到福乐云平台
|
||||
//else
|
||||
@ -751,33 +822,33 @@ namespace _1200gFtp
|
||||
private void timer1_Tick(object sender, EventArgs e)
|
||||
{
|
||||
ftpDataJieXi();//解析FTP传上来的xml
|
||||
// startExe();
|
||||
// startExe();
|
||||
}
|
||||
|
||||
void startExe()
|
||||
{
|
||||
//try
|
||||
//{
|
||||
string exePath = File.ReadAllText(Application.StartupPath + @"\exePath.txt",Encoding.Default);
|
||||
// MessageBox.Show(exePath);
|
||||
Process[] mProcs = Process.GetProcessesByName(@"HbAutoDiagnosisPro");
|
||||
Process[] mProcs1 = Process.GetProcessesByName(@"HL_Holter");
|
||||
if (mProcs.Length == 0)
|
||||
{
|
||||
if (mProcs1.Length > 0)
|
||||
foreach (var p in mProcs1)
|
||||
p.Kill();
|
||||
Process.Start(exePath);
|
||||
string exePath = File.ReadAllText(Application.StartupPath + @"\exePath.txt", Encoding.Default);
|
||||
// MessageBox.Show(exePath);
|
||||
Process[] mProcs = Process.GetProcessesByName(@"HbAutoDiagnosisPro");
|
||||
Process[] mProcs1 = Process.GetProcessesByName(@"HL_Holter");
|
||||
if (mProcs.Length == 0)
|
||||
{
|
||||
if (mProcs1.Length > 0)
|
||||
foreach (var p in mProcs1)
|
||||
p.Kill();
|
||||
Process.Start(exePath);
|
||||
|
||||
//System.Diagnostics.Process myprocess = new System.Diagnostics.Process();
|
||||
//System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(exePath, "");
|
||||
//myprocess.StartInfo = startInfo;
|
||||
//myprocess.StartInfo.UseShellExecute = false;
|
||||
//myprocess.Start();
|
||||
}
|
||||
//System.Diagnostics.Process myprocess = new System.Diagnostics.Process();
|
||||
//System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(exePath, "");
|
||||
//myprocess.StartInfo = startInfo;
|
||||
//myprocess.StartInfo.UseShellExecute = false;
|
||||
//myprocess.Start();
|
||||
}
|
||||
//}
|
||||
//catch (Exception ex) { MessageBox.Show(ex.ToString()); }
|
||||
|
||||
|
||||
}
|
||||
|
||||
//解析FTP传上来的xml
|
||||
@ -788,7 +859,7 @@ namespace _1200gFtp
|
||||
{
|
||||
if (!string.IsNullOrEmpty(textBox1.Text))
|
||||
{
|
||||
string[] diList=Directory.GetDirectories(textBox1.Text);
|
||||
string[] diList = Directory.GetDirectories(textBox1.Text);
|
||||
foreach (string dir in diList)
|
||||
{
|
||||
List<FileInfo> fileList = GetFiles(dir);
|
||||
@ -802,7 +873,7 @@ namespace _1200gFtp
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
@ -941,7 +1012,7 @@ namespace _1200gFtp
|
||||
var ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue();
|
||||
var body = ea.Body;
|
||||
var message = Encoding.UTF8.GetString(body);
|
||||
DoData("接收到MQ消息:"+ message + "\r\n");
|
||||
DoData("接收到MQ消息:" + message + "\r\n");
|
||||
submitHis03(message);// 提交数据到 his03
|
||||
Thread.Sleep(2000);
|
||||
string messageStr = message;
|
||||
@ -965,41 +1036,41 @@ namespace _1200gFtp
|
||||
void submitHis03(string jsonStr)
|
||||
{
|
||||
panduReturnModel prm = JsonConvert.DeserializeObject<panduReturnModel>(jsonStr);
|
||||
DataTable dt01 = SqliteOptions_sql.CreateInstance().ExcuteSqlite("select * from guanxinPatients where applyId='"+prm.applyId+"'");
|
||||
DataTable dt01 = SqliteOptions_sql.CreateInstance().ExcuteSqlite("select * from guanxinPatients where applyId='" + prm.applyId + "'");
|
||||
if (dt01.Rows.Count > 0)
|
||||
{
|
||||
string jsonStr2= DecodeBase64("utf-8", dt01.Rows[0]["patientJson"].ToString());
|
||||
string jsonStr2 = DecodeBase64("utf-8", dt01.Rows[0]["patientJson"].ToString());
|
||||
his03Model hm = JsonConvert.DeserializeObject<his03Model>(jsonStr2);
|
||||
hm.pdfUrl = dt01.Rows[0]["pdfUrl"].ToString();
|
||||
hm.dicomUrl = dt01.Rows[0]["dicomUrl"].ToString();
|
||||
hm.testDate =Convert.ToDateTime(prm.reportTime).ToString("yyyyMMddTHHmmss");
|
||||
hm.testDate = Convert.ToDateTime(prm.reportTime).ToString("yyyyMMddTHHmmss");
|
||||
hm.evidence = prm.reportFeatures;// 心电图xml里的自动结论
|
||||
hm.conclusion = prm.reportConclusion;// 如果没有判读的 xml 这个字段为空即可。
|
||||
string jsonStr1 = JsonConvert.SerializeObject(hm);
|
||||
jsonStr1 = ("[" + jsonStr1 + "]");
|
||||
//string returnStr = netOptions.HttpPost("http://his.hebjcws.com:7086/pm-s-report/ECG/HIS03", jsonStr1, "POST");
|
||||
string returnStr = netOptions.HttpPost(apiList.his03, jsonStr1, "POST");
|
||||
DoData(returnStr+"远程判读已传给his03|MQ数据接收中:" + jsonStr1 + "\r\n");
|
||||
DoData(returnStr + "远程判读已传给his03|MQ数据接收中:" + jsonStr1 + "\r\n");
|
||||
}
|
||||
}
|
||||
private void button7_Click(object sender, EventArgs e)
|
||||
{
|
||||
// string yy = "eyJzdGF0dXMiOjAsImFnZSI6MjQsImNvbmNsdXNpb24iOiIiLCJldmlkZW5jZSI6IumrmOS+p+WjgeW/g+ail+mZiOaXp+acnzvnlLXovbTovbvluqblj7PlgY87IiwidGVzdERhdGUiOiIyMDE5MTIyMVQxNDE1NTciLCJkaWNvbVVybCI6Imh0dHA6Ly8xMC4xMy4xLjM2OjkwODkvQjQzQjE2NUQ0QjJGRkY1MjZCNkM3RTUyOEQzQUJDOUUuWE1MIiwicGRmVXJsIjoiaHR0cDovLzEwLjEzLjEuMzY6OTA4OS9CNDNCMTY1RDRCMkZGRjUyNkI2QzdFNTI4RDNBQkM5RS5qcGciLCJwZXJzb25ObyI6IjIwMDAwMDYwMTgxMzE3Iiwic291cmNlVHlwZSI6IjIiLCJwZXJzb25JZCI6IjhhOGQ4MWEzNmZjMmMxOWUwMTcwNTZhZDhkNTMyYTI0IiwidHlwZSI6IjIiLCJwb3NJZCI6IjUwY2U5Y2M1LTYzMmMtN2M4My1lMDUzLTEyNjQwMTBhZGRmNSIsInNhbXBsZXN0YXRlIjoi5ZCmIiwicGF0aWVudFR5cGUiOiLkvY/pmaIiLCJkaXNlYXNlIjoi5LiK5ZG85ZC46YGT5oSf5p+TIiwiYXBwbHlUaW1lIjoiMjAyMDAyMThUMTMxMzE3IiwiaXRlbVByaWNlIjoiOCIsIml0ZW1OYW1lIjoi5bi46KeE5b+D55S15Zu+5qOA5p+lIiwiaXRlbUlkIjoiOGE4ZDgxYTE2YTljMmM0YTAxNmM3OTIwNWM4NjUyYjkiLCJkb2N0b3JOYW1lIjoi5byg5by6IiwiZG9jdG9ySWQiOiIwN2RjZjU5Zi1hZTQ5LTRjZWYtOGE4MC0yYTVkMGM5OTljNDAiLCJkZXBhcnRtZW50SWQiOiJkM2ZkZGIyOC03NWY2LTQ0MzItYWQ4Yi01ODg3MDgyNzk0MDYiLCJiZWROdW0iOiIxNeWupDQy5bqKIiwiYWdlVW5pdCI6IuWygSIsInNleCI6IuWlsyIsImlkZW50aXR5Q29kZSI6IjEzMDI4MzE5OTUxMDI5NzcwOCIsIm5hbWUiOiLmnpfnj4oiLCJoaXNDb2RlIjoiMjAwMDAwNjAiLCJpZCI6IjhhOGQ4MWEzNmZjMmMxOWUwMTcwNTZiNmZjOGEyYTdlIn0=";
|
||||
// string jsonStr111= DecodeBase64("utf-8", yy);
|
||||
//// string jsonStr111 = "{\"applyId\":\"8a8d81aa7058ab1601705c85c8630024\",\"applyStatus\":2,\"auditorTime\":\"2020-02-19 16:24:48\",\"auditorUserId\":\"8a81e39f6d6d77b9017056bd4c83130b\",\"auditorUserName\":\"测试医生\",\"crisis\":\"0\",\"diagnosticPosId\":\"8a81e39f6d6d77b901703d17065a0cfd\",\"patientBirthday\":\"1996-02-19 08:00:00\",\"patientId\":\"130283199510297708\",\"patientName\":\"林珊\",\"patientSex\":\"女\",\"positive\":\"2\",\"reportConclusion\":\"测试数据。\",\"reportFeatures\":\"测试数据。\",\"reportPdf\":\"http://10.13.1.42:9096/ygt-diagnose-service/diagnose_res/pdf/20200219/8a8d81aa705b812901705c85c8b1001d.pdf\",\"reportTime\":\"2020-02-19 16:24:48\",\"reportUserId\":\"8a81e39f6d6d77b9017056bd4c83130b\",\"reportUserName\":\"测试医生\",\"supplierId\":\"8a8d81aa703d250601703d7c10f40004\"}";
|
||||
// // string jsonStr111 = "{\"status\":0,\"age\":40,\"conclusion\":\"\",\"evidence\":\"高侧壁心梗陈旧期;电轴轻度右偏;\",\"testDate\":\"20191221T141557\",\"dicomUrl\":\"https://zjkecgdatas.oss-cn-beijing.aliyuncs.com/D8B72AB5BD32A797B9D4AAF87D5E184B.XML\",\"pdfUrl\":\"https://zjkecgdatas.oss-cn-beijing.aliyuncs.com/D8B72AB5BD32A797B9D4AAF87D5E184B.jpg\",\"personNo\":\"2002140007143601\",\"sourceType\":\"1\",\"personId\":\"2c9a9cad7041fe9f017042d6500c02ec\",\"type\":\"2\",\"posId\":\"2c9580826a94e012016a968c21920164\",\"samplestate\":\"否\",\"patientType\":\"门诊\",\"disease\":\"沙门氏菌(亚利桑那)小肠炎\",\"applyTime\":\"20200214T163601\",\"itemPrice\":\"3\",\"itemName\":\"无创心电监测\",\"itemId\":\"ff8080816bbacdf9016bc00b83f90333\",\"doctorName\":\"基层医生\",\"departmentName\":\"全科\",\"doctorId\":\"2c9580826ab8eca6016ab9db50600000\",\"departmentId\":\"2c9580826a94e012016a968df29601bd\",\"ageUnit\":\"岁\",\"birthday\":\"1980-01-01 00:00:00.0\",\"sex\":\"男\",\"identityCode\":\"450101198001010772\",\"name\":\"联调测试004\",\"hisCode\":\"2002140007\",\"id\":\"2c9a9cad7041fe9f017042d727a702fb\"}";
|
||||
// his03Model hm = JsonConvert.DeserializeObject<his03Model>(jsonStr111);
|
||||
// hm.pdfUrl = "http://10.13.1.42:9096/ygt-diagnose-service/diagnose_res/pdf/20200219/8a8d81aa705b812901705c85c8b1001d.pdf";
|
||||
// //hm.dicomUrl = "https://zjkecgdatas.oss-cn-beijing.aliyuncs.com/8B63CCE5E3856D86460CB4CDA856C63C.XML";
|
||||
// hm.testDate = "20200219T165609";
|
||||
// hm.evidence = "高侧壁心梗陈旧期;电轴轻度右偏;";// 心电图xml里的自动结论
|
||||
// hm.conclusion = "测试数据。";// 如果没有判读的 xml 这个字段为空即可。
|
||||
//// hm.posId = "50ce9cc5-632c-7c83-e053-1264010addf5";
|
||||
// string jsonStr = JsonConvert.SerializeObject(hm);
|
||||
// jsonStr = ("[" + jsonStr + "]");
|
||||
// string yy = "eyJzdGF0dXMiOjAsImFnZSI6MjQsImNvbmNsdXNpb24iOiIiLCJldmlkZW5jZSI6IumrmOS+p+WjgeW/g+ail+mZiOaXp+acnzvnlLXovbTovbvluqblj7PlgY87IiwidGVzdERhdGUiOiIyMDE5MTIyMVQxNDE1NTciLCJkaWNvbVVybCI6Imh0dHA6Ly8xMC4xMy4xLjM2OjkwODkvQjQzQjE2NUQ0QjJGRkY1MjZCNkM3RTUyOEQzQUJDOUUuWE1MIiwicGRmVXJsIjoiaHR0cDovLzEwLjEzLjEuMzY6OTA4OS9CNDNCMTY1RDRCMkZGRjUyNkI2QzdFNTI4RDNBQkM5RS5qcGciLCJwZXJzb25ObyI6IjIwMDAwMDYwMTgxMzE3Iiwic291cmNlVHlwZSI6IjIiLCJwZXJzb25JZCI6IjhhOGQ4MWEzNmZjMmMxOWUwMTcwNTZhZDhkNTMyYTI0IiwidHlwZSI6IjIiLCJwb3NJZCI6IjUwY2U5Y2M1LTYzMmMtN2M4My1lMDUzLTEyNjQwMTBhZGRmNSIsInNhbXBsZXN0YXRlIjoi5ZCmIiwicGF0aWVudFR5cGUiOiLkvY/pmaIiLCJkaXNlYXNlIjoi5LiK5ZG85ZC46YGT5oSf5p+TIiwiYXBwbHlUaW1lIjoiMjAyMDAyMThUMTMxMzE3IiwiaXRlbVByaWNlIjoiOCIsIml0ZW1OYW1lIjoi5bi46KeE5b+D55S15Zu+5qOA5p+lIiwiaXRlbUlkIjoiOGE4ZDgxYTE2YTljMmM0YTAxNmM3OTIwNWM4NjUyYjkiLCJkb2N0b3JOYW1lIjoi5byg5by6IiwiZG9jdG9ySWQiOiIwN2RjZjU5Zi1hZTQ5LTRjZWYtOGE4MC0yYTVkMGM5OTljNDAiLCJkZXBhcnRtZW50SWQiOiJkM2ZkZGIyOC03NWY2LTQ0MzItYWQ4Yi01ODg3MDgyNzk0MDYiLCJiZWROdW0iOiIxNeWupDQy5bqKIiwiYWdlVW5pdCI6IuWygSIsInNleCI6IuWlsyIsImlkZW50aXR5Q29kZSI6IjEzMDI4MzE5OTUxMDI5NzcwOCIsIm5hbWUiOiLmnpfnj4oiLCJoaXNDb2RlIjoiMjAwMDAwNjAiLCJpZCI6IjhhOGQ4MWEzNmZjMmMxOWUwMTcwNTZiNmZjOGEyYTdlIn0=";
|
||||
// string jsonStr111= DecodeBase64("utf-8", yy);
|
||||
//// string jsonStr111 = "{\"applyId\":\"8a8d81aa7058ab1601705c85c8630024\",\"applyStatus\":2,\"auditorTime\":\"2020-02-19 16:24:48\",\"auditorUserId\":\"8a81e39f6d6d77b9017056bd4c83130b\",\"auditorUserName\":\"测试医生\",\"crisis\":\"0\",\"diagnosticPosId\":\"8a81e39f6d6d77b901703d17065a0cfd\",\"patientBirthday\":\"1996-02-19 08:00:00\",\"patientId\":\"130283199510297708\",\"patientName\":\"林珊\",\"patientSex\":\"女\",\"positive\":\"2\",\"reportConclusion\":\"测试数据。\",\"reportFeatures\":\"测试数据。\",\"reportPdf\":\"http://10.13.1.42:9096/ygt-diagnose-service/diagnose_res/pdf/20200219/8a8d81aa705b812901705c85c8b1001d.pdf\",\"reportTime\":\"2020-02-19 16:24:48\",\"reportUserId\":\"8a81e39f6d6d77b9017056bd4c83130b\",\"reportUserName\":\"测试医生\",\"supplierId\":\"8a8d81aa703d250601703d7c10f40004\"}";
|
||||
// // string jsonStr111 = "{\"status\":0,\"age\":40,\"conclusion\":\"\",\"evidence\":\"高侧壁心梗陈旧期;电轴轻度右偏;\",\"testDate\":\"20191221T141557\",\"dicomUrl\":\"https://zjkecgdatas.oss-cn-beijing.aliyuncs.com/D8B72AB5BD32A797B9D4AAF87D5E184B.XML\",\"pdfUrl\":\"https://zjkecgdatas.oss-cn-beijing.aliyuncs.com/D8B72AB5BD32A797B9D4AAF87D5E184B.jpg\",\"personNo\":\"2002140007143601\",\"sourceType\":\"1\",\"personId\":\"2c9a9cad7041fe9f017042d6500c02ec\",\"type\":\"2\",\"posId\":\"2c9580826a94e012016a968c21920164\",\"samplestate\":\"否\",\"patientType\":\"门诊\",\"disease\":\"沙门氏菌(亚利桑那)小肠炎\",\"applyTime\":\"20200214T163601\",\"itemPrice\":\"3\",\"itemName\":\"无创心电监测\",\"itemId\":\"ff8080816bbacdf9016bc00b83f90333\",\"doctorName\":\"基层医生\",\"departmentName\":\"全科\",\"doctorId\":\"2c9580826ab8eca6016ab9db50600000\",\"departmentId\":\"2c9580826a94e012016a968df29601bd\",\"ageUnit\":\"岁\",\"birthday\":\"1980-01-01 00:00:00.0\",\"sex\":\"男\",\"identityCode\":\"450101198001010772\",\"name\":\"联调测试004\",\"hisCode\":\"2002140007\",\"id\":\"2c9a9cad7041fe9f017042d727a702fb\"}";
|
||||
// his03Model hm = JsonConvert.DeserializeObject<his03Model>(jsonStr111);
|
||||
// hm.pdfUrl = "http://10.13.1.42:9096/ygt-diagnose-service/diagnose_res/pdf/20200219/8a8d81aa705b812901705c85c8b1001d.pdf";
|
||||
// //hm.dicomUrl = "https://zjkecgdatas.oss-cn-beijing.aliyuncs.com/8B63CCE5E3856D86460CB4CDA856C63C.XML";
|
||||
// hm.testDate = "20200219T165609";
|
||||
// hm.evidence = "高侧壁心梗陈旧期;电轴轻度右偏;";// 心电图xml里的自动结论
|
||||
// hm.conclusion = "测试数据。";// 如果没有判读的 xml 这个字段为空即可。
|
||||
//// hm.posId = "50ce9cc5-632c-7c83-e053-1264010addf5";
|
||||
// string jsonStr = JsonConvert.SerializeObject(hm);
|
||||
// jsonStr = ("[" + jsonStr + "]");
|
||||
|
||||
// //string returnStr= netOptions.HttpPost("http://39.99.134.67:8080/pm-s-report/ECG/HIS03", jsonStr, "POST");
|
||||
// string returnStr = netOptions.HttpPost("http://47.104.9.78:8033/pm-s-report/ECG/HIS03", jsonStr, "POST");
|
||||
// //string returnStr= netOptions.HttpPost("http://39.99.134.67:8080/pm-s-report/ECG/HIS03", jsonStr, "POST");
|
||||
// string returnStr = netOptions.HttpPost("http://47.104.9.78:8033/pm-s-report/ECG/HIS03", jsonStr, "POST");
|
||||
|
||||
string tt = "[{\"status\":0,\"posId\":\"50ce9cc5-632c-7c83-e053-1264010addf5\",\"id\":\"8a8d81a36fc2c19e017056b3d1452a67\",\"testDate\":\"20200219T183430\",\"hisCode\":\"20000062\",\"name\":\"刘艳芳\",\"identityCode\":\"130728198911015028\",\"sex\":\"女\",\"age\":30,\"ageUnit\":\"岁\",\"itemId\":\"8a8d81a16a9c2c4a016c79205c8652b9\",\"itemName\":\"常规心电图检查\",\"departmentId\":\"d3fddb28-75f6-4432-ad8b-588708279406\",\"doctorId\":\"07dcf59f-ae49-4cef-8a80-2a5d0c999c40\",\"patientType\":\"住院\",\"evidence\":\"心电图正常\",\"pdfUrl\":\"http://10.13.1.36:9089/A375510E9601A39CB51628F14AD9E2EF.jpg\",\"optName\":null,\"auditName\":null,\"bedNum\":\"15室40床\",\"testNum\":null,\"barCode\":null,\"specimenType\":null,\"dicomUrl\":\"http://10.13.1.36:9089/A375510E9601A39CB51628F14AD9E2EF.XML\",\"conclusion\":\"心电图正常2\",\"departmentName\":null,\"doctorName\":\"张强\",\"birthday\":null,\"negaPosiTive\":null}]";
|
||||
string returnStr = netOptions.HttpPost("http://47.104.9.78:8033/pm-s-report/ECG/HIS03", tt, "POST");
|
||||
@ -1015,7 +1086,7 @@ namespace _1200gFtp
|
||||
/// </summary>
|
||||
/// <param name="path"></param>
|
||||
/// <returns></returns>
|
||||
private EcgViewModel ReadXMLByPath(string path)
|
||||
private EcgViewModel ReadXMLByPath(string path)
|
||||
{
|
||||
var evm = new EcgViewModel
|
||||
{
|
||||
|
@ -203,6 +203,7 @@ namespace 云心电ECG数据解析服务端
|
||||
ap.Gain = valueStr + "mm/mV";
|
||||
}
|
||||
}
|
||||
reader.Close();
|
||||
return ap;
|
||||
}
|
||||
catch (Exception ex) { }
|
||||
|
84
1200gFtp/MySQLHelper.cs
Normal file
84
1200gFtp/MySQLHelper.cs
Normal file
@ -0,0 +1,84 @@
|
||||
using MySql.Data.MySqlClient;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace 云心电ECG数据解析服务端
|
||||
{
|
||||
internal class MySQLHelper
|
||||
{
|
||||
|
||||
//连接数据库
|
||||
static string connectionStrings = ConfigurationManager.ConnectionStrings["MYSQLConnectionString"].ConnectionString;//连接语句,请按照自己的连接修改
|
||||
static MySqlConnection conn = new MySqlConnection(connectionStrings);
|
||||
|
||||
private static void InitConn()
|
||||
{
|
||||
if (conn.State == ConnectionState.Closed)
|
||||
{
|
||||
conn.Open();
|
||||
}
|
||||
else if (conn.State == ConnectionState.Broken)
|
||||
{
|
||||
conn.Close();
|
||||
conn.Open();
|
||||
}
|
||||
}
|
||||
|
||||
//增删改
|
||||
public static bool ExecuteNonQuery(string sqlStr)
|
||||
{
|
||||
InitConn();
|
||||
MySqlCommand cmd = new MySqlCommand(sqlStr, conn);
|
||||
int result = cmd.ExecuteNonQuery();
|
||||
conn.Close();
|
||||
return result > 0;
|
||||
}
|
||||
|
||||
//执行集合函数
|
||||
public static object ExecuteScalar(string sqlStr)
|
||||
{
|
||||
InitConn();
|
||||
MySqlCommand cmd = new MySqlCommand(sqlStr, conn);
|
||||
object result = cmd.ExecuteScalar();
|
||||
conn.Close();
|
||||
return result;
|
||||
}
|
||||
|
||||
//查询,获取DataTable
|
||||
public static DataTable GetTable(string sqlStr)
|
||||
{
|
||||
InitConn();
|
||||
MySqlCommand cmd = new MySqlCommand(sqlStr);
|
||||
cmd.Connection = conn;
|
||||
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
|
||||
DataTable dt = new DataTable();
|
||||
da.Fill(dt);
|
||||
conn.Close();
|
||||
return dt;
|
||||
}
|
||||
|
||||
//二进制数据增删改
|
||||
public static bool Binary(string sqlStr, Dictionary<string, byte[]> parameters)
|
||||
{
|
||||
InitConn();
|
||||
MySqlCommand cmd = new MySqlCommand(sqlStr, conn);
|
||||
int i = 0;
|
||||
foreach (KeyValuePair<string, byte[]> kvp in parameters)
|
||||
{
|
||||
cmd.Parameters.Add("@" + kvp.Key, MySqlDbType.LongBlob);
|
||||
cmd.Parameters[i].Value = kvp.Value;
|
||||
i++;
|
||||
}
|
||||
int result = cmd.ExecuteNonQuery();
|
||||
conn.Close();
|
||||
return result > 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,10 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup>
|
||||
<connectionStrings>
|
||||
<add name="MYSQLConnectionString" connectionString="server=114.55.171.231;port=3306;user=admin;password=flowadmin; database=cloudpacs;SslMode=None" />
|
||||
</connectionStrings>
|
||||
<appSettings>
|
||||
<add key="ftpUrl" value="218.21.250.148"/>
|
||||
<add key="ftpName" value="datasum"/>
|
||||
<add key="ftpPwd" value="datasum"/>
|
||||
<add key="ftpUrl" value="114.55.171.231:21"/>
|
||||
<add key="ftpName" value="ecgtest"/>
|
||||
<add key="ftpPwd" value="ecgtest"/>
|
||||
<add key="flowygtUserName" value="tuguilaEcg"/>
|
||||
<add key="flowygtUserPwd" value="Aa123456"/>
|
||||
<add key="flowygtLoginUrl" value="https://pacs.gw12320.com/flowygt/thirdLogin" />
|
||||
@ -15,5 +18,7 @@
|
||||
<add key="hisGetEcgDataUrl" value="https://wlcbhis.gw12320.com:8443/histest/web/api/ecg/getecgdata"/>
|
||||
<add key="hisAppkey" value="873449856452552544"/>
|
||||
<add key="appsecret" value="hduCGgmtmrriHO#g"/>
|
||||
<!--json文件存放的服务路径-->
|
||||
<add key="jsonurl" value="https://114.55.171.231:48084/"/>
|
||||
</appSettings>
|
||||
</configuration>
|
||||
|
@ -46,6 +46,10 @@
|
||||
<HintPath>..\packages\Microsoft.Diagnostics.Tracing.EventSource.Redist.1.1.28\lib\net46\Microsoft.Diagnostics.Tracing.EventSource.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="MySql.Data, Version=6.9.12.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>bin\Debug\MySql.Data.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>bin\Debug\Newtonsoft.Json.dll</HintPath>
|
||||
@ -70,7 +74,9 @@
|
||||
<Compile Include="analysisParas.cs" />
|
||||
<Compile Include="apiList.cs" />
|
||||
<Compile Include="baseModel.cs" />
|
||||
<Compile Include="MySQLHelper.cs" />
|
||||
<Compile Include="commonOptions.cs" />
|
||||
<Compile Include="DbHelperMySQL.cs" />
|
||||
<Compile Include="EcgDataDraw_New.cs" />
|
||||
<Compile Include="EcgViewModel.cs" />
|
||||
<Compile Include="FLYecgReport.cs" />
|
||||
|
Loading…
Reference in New Issue
Block a user