Forráskód Böngészése

互认 弹窗提示 数据回传到his 做优化 以及互认上传数据 增加异常数据统计表

zackhua 5 hónapja
szülő
commit
68082ef992

+ 152 - 140
LisPacsDataUpload/Form1.cs

@@ -11,7 +11,6 @@ using System.Drawing;
 using System.IO;
 using System.Text;
 using System.Threading;
-using System.Web.UI.WebControls;
 using System.Windows.Forms;
 using System.Xml;
 
@@ -39,6 +38,9 @@ namespace LisPacsDataUpload
         private int zlhr = 0;// 是否为临生免
         private int lisSource = 1;// 0中联老版lis 1 中联新版lis  2  专业版临生免  3 三方lis
         private int open_multiple_upload_flag = 0;// 开启多个线程上传
+
+        string lis_upload_url = "http://40.26.204.3:8084/phimp-napi/qyhrlischeckreportinfo/save"; //lis 上传接口地址
+        string file_url = "http://40.26.204.3:8084/phimp-napi/attachMent/upload";  // 文件上传地址
         private delegate void SetTextCallback(string text);
         //在给textBox1.text赋值的地方调用以下方法即可
         public Form1()
@@ -383,7 +385,7 @@ namespace LisPacsDataUpload
                 lock (LisLock)
                 {
                     string Thread_name = "[" + Thname.ToString() + "]";
-                    string url = "http://40.26.204.3:8084/phimp-napi/qyhrlischeckreportinfo/save";
+                    
                     #region 1、单条上传lis文件及数据
                     LogHelper.Info(Thread_name + "[LIS]开始");
                     string lis_sql = @"select * from( Select rownum rn,b.* From (Select t.* from lis_upload t
@@ -470,67 +472,6 @@ namespace LisPacsDataUpload
                                 }
                                 LogHelper.Info("生成pdf成功,地址为 = " );
                             }
-                            /*string orgName = dt.Rows[i]["orgName"].ToString();
-                            string name = dt.Rows[i]["patientName"].ToString();
-                            string sex = dt.Rows[i]["sex"].ToString();
-                            string ch = dt.Rows[i]["bedNo"].ToString();
-                            string zyh = dt.Rows[i]["zyh"].ToString();
-                            string mzh = dt.Rows[i]["mzh"].ToString();
-                            string age = dt.Rows[i]["age"].ToString();
-                            string dep = dt.Rows[i]["dep"].ToString();
-                            string type;
-                            string title = dt.Rows[i]["reportName"].ToString();
-                            string patientType = dt.Rows[i]["patientType"].ToString();
-                            if (patientType == "1")
-                            {
-                                type = "门诊";
-                            }
-                            else if (patientType == "2")
-                            {
-                                type = "住院";
-                            }
-                            else if (patientType == "3")
-                            {
-                                type = "体检";
-                            }
-                            else
-                            {
-                                type = "其他";
-                            }
-                            string baseInfo = "姓名:{0}  性别:{1}  年龄:{2}  病人来源:{3}  床号:{4}  住院号:{5}   门诊号:{6}  申请科室:{7}";
-
-                            string signature = "签名:{0}  日期:{1}";
-                            string qname = dt.Rows[i]["auditorName"].ToString();
-                            string qdate = dt.Rows[i]["auditTime"].ToString();
-                            signature = string.Format(signature, qname, qdate);
-                            baseInfo = string.Format(baseInfo, name, sex, age, type, ch, zyh, mzh, dep);
-                            string reportId = dt.Rows[i]["reportId"].ToString();
-                            string dt_sql = @"Select * From lis_upload_items t Where t.groupItemCode = '" + reportId+"'";
-                            LogHelper.Info("查询LIS项目指标数据执行sql:" + dt_sql);
-                            DataTable items = new DataTable();
-                            if (zlhr == zlhrConstant_true)
-                            {
-                                items = OracleHelper<object>.PgQueryDS(dt_sql);
-                            }
-                            else
-                            {
-                                items = OracleHelper<object>.RunQueryDS(dt_sql);
-                            }
-                            LogHelper.Info("查询LIS项目指标数据执行sql 条数=:" + items.Rows.Count);
-                            if (items.Rows.Count < 1)
-                            {
-                                LogHelper.Info("查询LIS项目指标数据为空,生成PDF失败,跳过本条数据生成下一条PDF。");
-                                continue;
-                            }
-                            string res = CreateLisPDF(orgName, baseInfo, items, signature, title);
-                            if (res == "")
-                            {                             
-                                   
-                                ShowLog = "生成PDF文件失败,[LIS]上传失败!跳过本条数据上传下一条。";
-                                this.SetText(ShowLog);
-                                LogHelper.Info(ShowLog);
-                                continue;
-                            }*/
                             //是否授权
                             if (!isAuthorization())
                             {
@@ -554,8 +495,36 @@ namespace LisPacsDataUpload
                             string file_json = "{\"attachmentType\":\".pdf\",\"attachmentName\":\"检验报告\",\"businessType\":\"A001\",\"attachmentFile\":\"" + attachmentFile + "\"}";
                             string file_vi = Tools.GuidTo16String();
                             file_json = Tools.AESEncrypt(file_json, Tools.pwd, file_vi);
-                            string file_url = "http://40.26.204.3:8084/phimp-napi/attachMent/upload";
-                            string file_res = Tools.WSCenterData(file_url, file_json, file_vi, Tools.accessToken, 1);
+                            //string file_url = "http://40.26.204.3:8084/phimp-napi/attachMent/upload";
+                            //string file_res = Tools.WSCenterData(file_url, file_json, file_vi, Tools.accessToken, 1);
+                            string file_res = string.Empty;
+                            try
+                            {
+                                file_res = Tools.WSCenterData(file_url, file_json, file_vi, Tools.accessToken, 1);
+                            }
+                            catch (Exception e)
+                            {
+
+                                //写入后台表机构记录上传错误的数据
+
+                                string errSql = @"Insert Into 互认报告上传异常记录(BUSINESSNUMBER,REPORTID,TYPE,ATTACHMENTID,REQUEST_DATA,IV,UPLOADED,UPLOADE_TIME) Values('{0}','{1}',2,'{2}',{3},{4},0,to_date('{5}','yyyy/mm/dd hh24:mi:ss'))";
+                                errSql = string.Format(errSql, dt.Rows[i]["businessNumber"].ToString(), dt.Rows[i]["reportId"].ToString(), null, file_json, file_vi, DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
+                                int err_count = 0;
+                                if (zlhr == zlhrConstant_true)
+                                {
+                                    LogHelper.Info("errSql:" + errSql);
+                                    err_count = OracleHelper<object>.PgExecuteNonQuery(errSql);
+                                }
+                                else
+                                {
+                                    err_count = OracleHelper<object>.ExecuteNonQuery(errSql);
+                                }
+                                LogHelper.Info("写入后台表机构记录上传错误的数据" + err_count);
+                                LogHelper.Info(e.Message);
+                                continue;
+
+                            }
+
                             string file_res_aes = Tools.AESDecrypt(file_res, Tools.pwd, file_vi);
                             ResFile resfile = Tools.JsonToObject<ResFile>(Tools.FormatStr(file_res_aes), Encoding.UTF8);
                             if (resfile.statusCode != "1")
@@ -725,13 +694,37 @@ namespace LisPacsDataUpload
                                 continue;
                             }
                             string json_pacs = JsonConvert.SerializeObject(plist);
-                            LogHelper.Info("lis 上传的json>>"+ json_pacs);
-
                             json_pacs = "{\"mainBody\":" + json_pacs + "}";
                             string json_pacs_log = json_pacs;
                             string vi_pacs = Tools.GuidTo16String();
                             json_pacs = Tools.AESEncrypt(json_pacs, Tools.pwd, vi_pacs);
-                            string res_pacs = Tools.WSCenterData(url, json_pacs, vi_pacs, Tools.accessToken, 1);
+                            string res_pacs = string.Empty;
+                            try {
+                                res_pacs = Tools.WSCenterData(lis_upload_url, json_pacs, vi_pacs, Tools.accessToken, 1);
+                            }
+                            catch (Exception e)
+                            {
+
+                                //写入后台表机构记录上传错误的数据
+
+                                string errSql = @"Insert Into 互认报告上传异常记录(BUSINESSNUMBER,REPORTID,TYPE,ATTACHMENTID,REQUEST_DATA,IV,UPLOADED,UPLOADE_TIME) Values('{0}','{1}',2,'{2}',{3},{4},0,to_date('{5}','yyyy/mm/dd hh24:mi:ss'))";
+                                errSql = string.Format(errSql, dt.Rows[i]["businessNumber"].ToString(), dt.Rows[i]["reportId"].ToString(), resfile.mainBody.attachmentId, json_pacs, vi_pacs, DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
+                                int err_count = 0;
+                                if (zlhr == zlhrConstant_true)
+                                {
+                                    LogHelper.Info("errSql:" + errSql);
+                                    err_count = OracleHelper<object>.PgExecuteNonQuery(errSql);
+                                }
+                                else
+                                {
+                                    err_count = OracleHelper<object>.ExecuteNonQuery(errSql);
+                                }
+                                LogHelper.Info("写入后台表机构记录上传错误的数据" + err_count);
+                                LogHelper.Info( e.Message);
+                                continue;
+
+                            }
+
                             string res_aes_pacs = Tools.AESDecrypt(res_pacs, Tools.pwd, vi_pacs);
                             ResPacs respacs = Tools.JsonToObject<ResPacs>(Tools.FormatStr(res_aes_pacs), Encoding.UTF8);
                             LogHelper.Info("上传检验报告的接口状态==" + JsonConvert.SerializeObject(respacs));
@@ -928,7 +921,35 @@ namespace LisPacsDataUpload
                         string vi_pacs_pc = Tools.GuidTo16String();
                         json_pacs_pc = Tools.AESEncrypt(json_pacs_pc, Tools.pwd, vi_pacs_pc);
                         //string url_pacs = "http://40.26.204.3:8084/phimp-napi/qyhrlischeckreportinfo/save";
-                        string res_pacs_pc = Tools.WSCenterData(url, json_pacs_pc, vi_pacs_pc, Tools.accessToken, 1);
+                        //string res_pacs_pc = Tools.WSCenterData(url, json_pacs_pc, vi_pacs_pc, Tools.accessToken, 1);
+
+                        string res_pacs_pc = string.Empty;
+                        try
+                        {
+                            res_pacs_pc = Tools.WSCenterData(lis_upload_url, json_pacs_pc, vi_pacs_pc, Tools.accessToken, 1);
+                        }
+                        catch (Exception e)
+                        {
+                            //写入后台表机构记录上传错误的数据
+
+                            string errSql = @"Insert Into 互认报告上传异常记录(BUSINESSNUMBER,REPORTID,TYPE,ATTACHMENTID,REQUEST_DATA,IV,UPLOADED,UPLOADE_TIME) Values('{0}','{1}',2,'{2}',{3},{4},0,to_date('{5}','yyyy/mm/dd hh24:mi:ss'))";
+                            errSql = string.Format(errSql, dt.Rows[i]["businessNumber"].ToString(), dt.Rows[i]["reportId"].ToString(), null, json_pacs_pc, vi_pacs_pc, DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
+                            int err_count = 0;
+                            if (zlhr == zlhrConstant_true)
+                            {
+                                LogHelper.Info("errSql:" + errSql);
+                                err_count = OracleHelper<object>.PgExecuteNonQuery(errSql);
+                            }
+                            else
+                            {
+                                err_count = OracleHelper<object>.ExecuteNonQuery(errSql);
+                            }
+                            LogHelper.Info("写入后台表机构记录上传错误的数据" + err_count);
+                            LogHelper.Info(e.Message);
+                            continue;
+
+                        }
+
                         string res_aes_pacs_pc = Tools.AESDecrypt(res_pacs_pc, Tools.pwd, vi_pacs_pc);
                         ResPacs respacs_pc = Tools.JsonToObject<ResPacs>(Tools.FormatStr(res_aes_pacs_pc), Encoding.UTF8);
                         if (respacs_pc.statusCode != "1")
@@ -1052,7 +1073,6 @@ namespace LisPacsDataUpload
                 lock (LisLock2)
                 {
                     string Thread_name = "[" + Thname.ToString() + "]";
-                    string url = "http://40.26.204.3:8084/phimp-napi/qyhrlischeckreportinfo/save";
                     #region 1、单条上传lis文件及数据
                     LogHelper.Info(Thread_name + "[LIS]开始");
                     string lis_sql = @"select * from( Select rownum rn,b.* From (Select t.* from lis_upload t
@@ -1143,74 +1163,12 @@ namespace LisPacsDataUpload
                                 }
                                 LogHelper.Info("生成pdf成功,地址为 = " + generatePdfUrl);
                             }
-
-                            /*string orgName = dt.Rows[i]["orgName"].ToString();
-                            string name = dt.Rows[i]["patientName"].ToString();
-                            string sex = dt.Rows[i]["sex"].ToString();
-                            string ch = dt.Rows[i]["bedNo"].ToString();
-                            string zyh = dt.Rows[i]["zyh"].ToString();
-                            string mzh = dt.Rows[i]["mzh"].ToString();
-                            string age = dt.Rows[i]["age"].ToString();
-                            string dep = dt.Rows[i]["dep"].ToString();
-                            string type;
-                            string title = dt.Rows[i]["reportName"].ToString();
-                            string patientType = dt.Rows[i]["patientType"].ToString();
-
-                            if (patientType == "1")
-                            {
-                                type = "门诊";
-                            }
-                            else if (patientType == "2")
-                            {
-                                type = "住院";
-                            }
-                            else if (patientType == "3")
-                            {
-                                type = "体检";
-                            }
-                            else
-                            {
-                                type = "其他";
-                            }
-                            string baseInfo = "姓名:{0}  性别:{1}  年龄:{2}  病人来源:{3}  床号:{4}  住院号:{5}   门诊号:{6}  申请科室:{7}";
-
-                            string signature = "签名:{0}  日期:{1}";
-                            string qname = dt.Rows[i]["auditorName"].ToString();
-                            string qdate = dt.Rows[i]["auditTime"].ToString();
-                            signature = string.Format(signature, qname, qdate);
-                            baseInfo = string.Format(baseInfo, name, sex, age, type, ch, zyh, mzh, dep);
-                            string reportId = dt.Rows[i]["reportId"].ToString();
-                            string dt_sql = @"Select * From lis_upload_items t Where t.groupItemCode = '" + reportId + "'";
-                            LogHelper.Info("thread2  项目指标执行sql:" + dt_sql);
-                            DataTable items = new DataTable();
-                            if (zlhr==zlhrConstant_true)
-                            {
-                                items = OracleHelper<object>.PgQueryDS(dt_sql);
-                            }
-                            else
-                            {
-                                items = OracleHelper<object>.RunQueryDS(dt_sql);
-                            }
-                            LogHelper.Info("thread2  项目指标执行sql 条数:" + items.Rows.Count);
-                            if (items.Rows.Count < 1)
-                            {
-                                LogHelper.Info("查询LIS项目指标数据为空,生成PDF失败,跳过本条数据生成下一条PDF。");
-                                continue;
-                            }
-                            string res = CreateLisPDF(orgName, baseInfo, items, signature, title);
-                            if (res == "")
-                            {
-                                ShowLog = "生成PDF文件失败,[LIS]上传失败!跳过本条数据上传下一条。";
-                                this.SetText(ShowLog);
-                                LogHelper.Info(ShowLog);
-                                continue;
-                            }*/
+                           
                             //是否授权
                             if (!isAuthorization())
                             {
                                 continue;
                             }
-                            LogHelper.Info("thread2 最后GeneratePdfUrl= " + generatePdfUrl);
                             string attachmentFile = "";
                             if (zlhr == zlhrConstant_true)
                             {
@@ -1218,14 +1176,41 @@ namespace LisPacsDataUpload
                             }
                             else
                             {
+                                LogHelper.Info("thread2 最后GeneratePdfUrl= " + generatePdfUrl);
                                 attachmentFile = Tools.FileToBase64Str(generatePdfUrl);
                             }
                             //上传文件
                             string file_json = "{\"attachmentType\":\".pdf\",\"attachmentName\":\"检验报告\",\"businessType\":\"A001\",\"attachmentFile\":\"" + attachmentFile + "\"}";
                             string file_vi = Tools.GuidTo16String();
                             file_json = Tools.AESEncrypt(file_json, Tools.pwd, file_vi);
-                            string file_url = "http://40.26.204.3:8084/phimp-napi/attachMent/upload";
-                            string file_res = Tools.WSCenterData(file_url, file_json, file_vi, Tools.accessToken, 1);
+                           // string file_url = "http://40.26.204.3:8084/phimp-napi/attachMent/upload";
+                            //string file_res = Tools.WSCenterData(file_url, file_json, file_vi, Tools.accessToken, 1);
+                            string file_res = string.Empty;
+                            try
+                            {
+                                file_res = Tools.WSCenterData(file_url, file_json, file_vi, Tools.accessToken, 1);
+                            }
+                            catch (Exception e)
+                            {
+                                LogHelper.Info("写入后台表机构记录上传错误的数据");
+                                //写入后台表机构记录上传错误的数据
+                                string errSql = @"Insert Into 互认报告上传异常记录(BUSINESSNUMBER,REPORTID,TYPE,ATTACHMENTID,REQUEST_DATA,IV,UPLOADED,UPLOADE_TIME) Values('{0}','{1}',2,'{2}',{3},{4},0,to_date('{5}','yyyy/mm/dd hh24:mi:ss'))";
+                                errSql = string.Format(errSql, dt.Rows[i]["businessNumber"].ToString(), dt.Rows[i]["reportId"].ToString(), null, file_json, file_vi, DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
+                                int err_count = 0;
+                                if (zlhr == zlhrConstant_true)
+                                {
+                                    LogHelper.Info("errSql:" + errSql);
+                                    err_count = OracleHelper<object>.PgExecuteNonQuery(errSql);
+                                }
+                                else
+                                {
+                                    err_count = OracleHelper<object>.ExecuteNonQuery(errSql);
+                                }
+                                LogHelper.Info("写入上传错误状态" + err_count);
+                                LogHelper.Info(e.Message);
+                                continue;
+
+                            }
                             string file_res_aes = Tools.AESDecrypt(file_res, Tools.pwd, file_vi);
                             ResFile resfile = Tools.JsonToObject<ResFile>(Tools.FormatStr(file_res_aes), Encoding.UTF8);
                             if (resfile.statusCode != "1")
@@ -1398,7 +1383,33 @@ namespace LisPacsDataUpload
                             string json_pacs_log = json_pacs;
                             string vi_pacs = Tools.GuidTo16String();
                             json_pacs = Tools.AESEncrypt(json_pacs, Tools.pwd, vi_pacs);
-                            string res_pacs = Tools.WSCenterData(url, json_pacs, vi_pacs, Tools.accessToken, 1);
+                            //string res_pacs = Tools.WSCenterData(url, json_pacs, vi_pacs, Tools.accessToken, 1);
+                            string res_pacs = string.Empty;
+                            try
+                            {
+                                file_res = Tools.WSCenterData(lis_upload_url, json_pacs, vi_pacs, Tools.accessToken, 1);
+                            }
+                            catch (Exception e)
+                            {
+                                //写入后台表机构记录上传错误的数据
+                                LogHelper.Info("写入后台表机构记录上传错误的数据2");
+
+                               string errSql = @"Insert Into 互认报告上传异常记录(BUSINESSNUMBER,REPORTID,TYPE,ATTACHMENTID,REQUEST_DATA,IV,UPLOADED,UPLOADE_TIME) Values('{0}','{1}',2,'{2}',{3},{4},0,to_date('{5}','yyyy/mm/dd hh24:mi:ss'))";
+                                errSql = string.Format(errSql, dt.Rows[i]["businessNumber"].ToString(), dt.Rows[i]["reportId"].ToString(), resfile.mainBody.attachmentId, json_pacs, vi_pacs, DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
+                                int err_count = 0;
+                                if (zlhr == zlhrConstant_true)
+                                {
+                                    LogHelper.Info("errSql:" + errSql);
+                                    err_count = OracleHelper<object>.PgExecuteNonQuery(errSql);
+                                }
+                                else
+                                {
+                                    err_count = OracleHelper<object>.ExecuteNonQuery(errSql);
+                                }
+                                LogHelper.Info("写入数据" + err_count);
+                                LogHelper.Info(e.Message);
+                                continue;
+                            }
                             string res_aes_pacs = Tools.AESDecrypt(res_pacs, Tools.pwd, vi_pacs);
                             ResPacs respacs = Tools.JsonToObject<ResPacs>(Tools.FormatStr(res_aes_pacs), Encoding.UTF8);
                             if (respacs.statusCode != "1")
@@ -1445,10 +1456,7 @@ namespace LisPacsDataUpload
                         LogHelper.Info(ShowLog);
                         GetLisDefault();
                     }
-
                     #endregion
-
-                   
                 }
 
             }
@@ -1477,7 +1485,7 @@ namespace LisPacsDataUpload
                                                        Where  t.attachmentId Is Null
                                                        Order By to_date(t.AUDITTIME,'yyyy-mm-dd hh24:mi:ss')
                                                        ) b 
-                                           )  Where rn <= 100";
+                                           )  Where rn <= 150";
                     DataTable dt = OracleHelper<object>.RunQueryDS(sql_pdf);
                     if (dt.Rows.Count < 1)
                     {
@@ -1492,6 +1500,8 @@ namespace LisPacsDataUpload
 
                         for (int i = 0; i < dt.Rows.Count; i++)
                         {
+
+                            //获取报告数据并生成报告 开始
                             string orgName = dt.Rows[i]["orgName"].ToString();
                             string name = dt.Rows[i]["patientName"].ToString();
                             string sex = dt.Rows[i]["sex"].ToString();
@@ -1534,6 +1544,8 @@ namespace LisPacsDataUpload
                                 this.SetText(ShowLog);
                                 continue;
                             }
+                            //获取报告数据并生成报告 结束
+
                             //是否授权
                             if (!isAuthorization())
                             {

+ 1 - 5
LisPacsDataUpload/Models/LISITEMS.cs

@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
+
 namespace LisPacsDataUpload.Models
 {
     public class LISITEMS

+ 0 - 73
LisPacsDataUpload/Models/PACS.cs

@@ -87,78 +87,5 @@ namespace LisPacsDataUpload.Models
         public string STUDYUID { get; set; }  //  检查 UID,DICOM 中协议中影像检查唯一标识
 
 
-
-
-        //public string PATIENTAGE  { get; set; }
-        //public string ageUnit { get; set; }
-        //public string patientIdCard { get; set; }
-        //public string inTime { get; set; }
-        //public string inpatientAreaName { get; set; }
-        //public string roomNo { get; set; }
-        //public string bedNo { get; set; }
-        //public string phoneNo { get; set; }
-        //public string address { get; set; }
-        //public string reportTypeName { get; set; }
-        //public string reportTypeCode { get; set; }
-        //public string diagnosisCode { get; set; }
-        //public string diagnosisName { get; set; }
-        //public string applyTime { get; set; }
-        //public string applyerCode { get; set; }
-        //public string applyerName { get; set; }
-        //public string applyDeptCode { get; set; }
-        //public string applyDeptName { get; set; }
-        //public string applyOrgCode { get; set; }
-        //public string applyOrgName { get; set; }
-        //public string receiverTime { get; set; }
-        //public string receiverCode { get; set; }
-        //public string receiverName { get; set; }
-        //public string checkTime { get; set; }
-        //public string checkerCode { get; set; }
-        //public string checkerName { get; set; }
-        //public string checkDeptCode { get; set; }
-        //public string checkDeptName { get; set; }
-        //public string reportTime { get; set; }
-        //public string reportorCode { get; set; }
-        //public string reportorName { get; set; }
-        //public string auditTime { get; set; }
-        //public string auditorCode { get; set; }
-        //public string auditorName { get; set; }
-        //public string localItemId { get; set; }
-        //public string standardItemId { get; set; }
-        //public string itemName { get; set; }
-        //public string purpose { get; set; }
-        //public string testPrice { get; set; }
-        //public string checkTypeCode { get; set; }
-        //public string checkTypeName { get; set; }
-        //public string positionCode { get; set; }
-        //public string positionName { get; set; }
-        //public string methodCode { get; set; }
-        //public string methodName { get; set; }
-        //public string isEnganced { get; set; }
-        //public string isMakeShadow { get; set; }
-        //public string process { get; set; }
-        //public string findings { get; set; }
-        //public string diagnosResult { get; set; }
-        //public string resultType { get; set; }
-        //public string unit { get; set; }
-        //public string machineType { get; set; }
-        //public string machineCode { get; set; }
-        //public string machineName { get; set; }
-        //public string attachmentId { get; set; }
-        //public string studyInstanceUid { get; set; }
-        //public string dicomImgFtpUrl { get; set; }
-        //public string orgCode { get; set; }
-        //public string orgName { get; set; }
-        //public string pacsYunOrgCode { get; set; }
-        //public string reportId { get; set; }
-        //public string reportName { get; set; }
-        //public string reportType { get; set; }
-        //public string requestId { get; set; }
-        //public string businessNumber { get; set; }
-        //public string patientType { get; set; }
-        //public string patientName { get; set; }
-        //public string patientSex { get; set; }
-        //public string patientBirthday { get; set; }
-        //public string regionHr { get; set; }
     }
 }

+ 13 - 0
LisPacsDataUpload/Models/PacsItems.cs

@@ -0,0 +1,13 @@
+
+namespace LisPacsDataUpload.Models
+{
+    public class PacsItems
+    {
+        public string STANDARDITEMID { get; set; }//检查互认唯一编码(标准统一项目编码,单个互认编码)
+        public string POSITIONCODE { get; set; }//检查部位编码
+        public string POSITIONNAME { get; set; }//检查部位名称
+        public string TESTPRICE { get; set; }//检查明细费用(元)传数值,保留小数点后四位,如:233.5600
+
+
+    }
+}

+ 1 - 1
LisPacsDataUpload/business/PdfUtils.cs

@@ -213,7 +213,7 @@ namespace LisPacsDataUpload.business
         public static string GeneratePdf(int lisVersion, string reportNumber, string bbid, string yzid)
         {
             string pdfUrl = getPdfParamByLisVersion(lisVersion, reportNumber, bbid, yzid);
-            LogHelper.Info("GeneratePdf==" + pdfUrl);
+            LogHelper.Info("GeneratePdf==");
             return pdfUrl;
         }
 

+ 1 - 1
ZLPlugin_LisPacs_MR/Properties/AssemblyInfo.cs

@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("zlsoft")]
 [assembly: AssemblyProduct("ZLPlugin_LisPacs_MR")]
-[assembly: AssemblyCopyright("Copyright ©  2024-1.0.1.7")]
+[assembly: AssemblyCopyright("Copyright ©  2024-1.0.1.8")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
 

+ 32 - 6
ZLPlugin_LisPacs_MR/SocketClient.cs

@@ -1,8 +1,7 @@
 using System;
-using System.Collections.Generic;
-using System.Linq;
 using System.Net;
 using System.Net.Sockets;
+using System.Security;
 using System.Text;
 using System.Threading;
 using ZLPlugin_LisPacs_MR.Domain.Units;
@@ -51,7 +50,7 @@ namespace ZLPlugin_LisPacs_MR
         public SocketClient(string ip,int Port)
         {
             _ClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
-            _ClientSocket.ReceiveTimeout = 2000;
+            _ClientSocket.ReceiveTimeout = 60000;
             this.ipAddress = ip;
             this.Port = Port;
             Start();
@@ -132,7 +131,7 @@ namespace ZLPlugin_LisPacs_MR
         /// </summary>
         public void WhileReceive(int waittingdate)
         {
-            byte[] buffer = new byte[1024*10];
+            byte[] buffer = new byte[1024*100];
             int receivedBytes = 0;
             var begintime = DateTime.Now.Ticks;
             TimeSpan timeSpan = new TimeSpan();
@@ -150,8 +149,35 @@ namespace ZLPlugin_LisPacs_MR
                     flag = false;
                     Log.Info("flag=" + flag);
                 }
-                //传递一个byte数组,用于接收数据。length表示接收了多少字节的数据
-                receivedBytes = _ClientSocket.Receive(buffer);
+                
+                while (flag)
+                {
+                    try
+                    {
+                        //传递一个byte数组,用于接收数据。length表示接收了多少字节的数据
+                        receivedBytes = _ClientSocket.Receive(buffer);
+                    }catch (ArgumentNullException e)
+                    {
+                        Log.Info("获取数据超时 ArgumentNullException " + e.Message);
+                        break;
+                    }
+                    catch (SocketException e)
+                    {
+                        Log.Info("获取数据超时 SocketException" + e.Message);
+                        break;
+                    }
+                    catch (ObjectDisposedException e)
+                    {
+                        Log.Info("获取数据超时 ObjectDisposedException" + e.Message);
+                        break;
+                    }
+                    catch (SecurityException e)
+                    {
+                        Log.Info("获取数据超时 SecurityException" + e.Message);
+                        break;
+                    }
+                }
+                Log.Info("receivedBytes " + receivedBytes);
                 if (receivedBytes > 0)
                 {
                     Message = Encoding.Default.GetString(buffer, 0, receivedBytes);//只将接收到的数据进行转化

+ 1 - 0
ZLPlugin_LisPacs_MR/clsPlugin.cs

@@ -388,6 +388,7 @@ namespace ZLPlugin_LisPacs_MR
                 MessageBox.Show(ex.Message, "中联软件", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                 Log.Info(ex.Message);
                 Log.Info(ex.StackTrace);
+                Log.Info(ex.InnerException.StackTrace);
                 return false;
             }
            /* if (socketClient != null)