Browse Source

feat: 更新子模块HisClientReceiveToScan的内容

singlese7en 2 tháng trước cách đây
mục cha
commit
9570b86d01
100 tập tin đã thay đổi với 2298 bổ sung986 xóa
  1. 0 0
      .vs/HisClientReceiveToSI/v15/Server/sqlite3/db.lock
  2. BIN
      .vs/HisClientReceiveToSI/v15/Server/sqlite3/storage.ide
  3. BIN
      .vs/HisClientReceiveToSI/v15/Server/sqlite3/storage.ide-shm
  4. BIN
      .vs/HisClientReceiveToSI/v15/Server/sqlite3/storage.ide-wal
  5. 1 1
      HisClientReceiveToScan.sln
  6. 49 40
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADTHandler.cs
  7. 90 0
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A01B01_Handler.cs
  8. 91 0
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A01B02_Handler.cs
  9. 89 0
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A01B03_Handler.cs
  10. 87 0
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A01B04_Handler.cs
  11. 0 109
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A01_Handler.cs
  12. 0 109
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A02_Handler.cs
  13. 85 0
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A03_Handler.cs
  14. 85 0
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A04B01_Handler.cs
  15. 88 0
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A04B02_Handler.cs
  16. 85 0
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A04B03_Handler.cs
  17. 0 138
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A04_Handler.cs
  18. 0 124
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A05_Handler.cs
  19. 85 0
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A08B01_Handler.cs
  20. 85 0
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A08B02_Handler.cs
  21. 85 0
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A31_Handler.cs
  22. 85 0
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A90_Handler.cs
  23. 85 0
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A91_Handler.cs
  24. 85 0
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A92_Handler.cs
  25. 3 2
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/BizComponent_ADT.cs
  26. 19 5
      IL.BizComponent/MediII.Adapter.BizComponent.ADT/MediII.Adapter.BizComponent.ADT.csproj
  27. 8 7
      IL.BizComponent/MediII.Adapter.BizComponent.Base/BaseBizComponent.cs
  28. 3 2
      IL.BizComponent/MediII.Adapter.BizComponent.Base/IBizComponent.cs
  29. 4 0
      IL.BizComponent/MediII.Adapter.BizComponent.Base/MediII.Adapter.BizComponent.Base.csproj
  30. 6 6
      IL.BizComponent/MediII.Adapter.BizComponent.MFN/MFN_Z2B_GY_KESHI.cs
  31. 21 80
      IL.BizComponent/MediII.Adapter.BizComponent.PMU/BizComponent_PMU.cs
  32. 2 2
      MediII.Adapter.MsgToScanServer/ApplictStatic.cs
  33. 4 4
      MediII.Adapter.MsgToScanServer/MediII.Adapter.MsgToScanMServer.csproj
  34. 37 37
      MediII.Adapter.MsgToScanServer/MsgToScanMServer.Designer.cs
  35. 105 105
      MediII.Adapter.MsgToScanServer/MsgToScanMServer.cs
  36. 2 2
      MediII.Adapter.MsgToScanServer/Program.cs
  37. 4 4
      MediII.Adapter.MsgToScanServer/ProjectInstaller.Designer.cs
  38. 1 1
      MediII.Adapter.MsgToScanServer/ProjectInstaller.cs
  39. 3 3
      MediII.Adapter.MsgToScanServer/Properties/AssemblyInfo.cs
  40. 1 1
      MediII.Adapter.MsgToScanServer/ServiceStatusPublishManager.cs
  41. 6 3
      MediII.Adapter.MsgToScanServer/app.config
  42. 3 0
      MediII.Adapter.ReceiveToScanModel/MediII.Adapter.ReceiveToScanModel.csproj
  43. 1 1
      MediII.Adapter.ReceiveToScanModel/Properties/AssemblyInfo.cs
  44. 65 0
      MediII.Adapter.ReceiveToScanModel/ResponseHead.cs
  45. 45 0
      MediII.Adapter.ReceiveToScanModel/TaskMessage.cs
  46. 41 0
      MediII.Adapter.ReceiveToScanModel/TaskResponse.cs
  47. 101 67
      MediII.Adapter.Scan.UE/DefaultDBScanner.cs
  48. 22 0
      MediII.Adapter.Scan.UE/HL7_A01B01_Scanner.cs
  49. 22 0
      MediII.Adapter.Scan.UE/HL7_A01B02_Scanner.cs
  50. 22 0
      MediII.Adapter.Scan.UE/HL7_A01B03_Scanner.cs
  51. 22 0
      MediII.Adapter.Scan.UE/HL7_A01B04_Scanner.cs
  52. 22 0
      MediII.Adapter.Scan.UE/HL7_A03_Scanner.cs
  53. 22 0
      MediII.Adapter.Scan.UE/HL7_A04B01_Scanner.cs
  54. 22 0
      MediII.Adapter.Scan.UE/HL7_A04B02_Scanner.cs
  55. 22 0
      MediII.Adapter.Scan.UE/HL7_A04B03_Scanner.cs
  56. 22 0
      MediII.Adapter.Scan.UE/HL7_A08B01_Scanner.cs
  57. 22 0
      MediII.Adapter.Scan.UE/HL7_A08B02_Scanner.cs
  58. 22 0
      MediII.Adapter.Scan.UE/HL7_A31_Scanner.cs
  59. 22 0
      MediII.Adapter.Scan.UE/HL7_A90_Scanner.cs
  60. 22 0
      MediII.Adapter.Scan.UE/HL7_A91_Scanner.cs
  61. 22 0
      MediII.Adapter.Scan.UE/HL7_A92_Scanner.cs
  62. 6 6
      MediII.Adapter.Scan.UE/HL7_Lock_Scanner.cs
  63. 7 7
      MediII.Adapter.Scan.UE/HL7_TimeOut_Scanner.cs
  64. 15 6
      MediII.Adapter.Scan.UE/MediII.Adapter.BizComponent.UE.csproj
  65. 7 7
      MediII.Adapter.Scanner/DBScaner.cs
  66. 1 1
      MediII.Adapter.WinForm.Scan/MediII.Adapter.WinForm.Scanner.csproj
  67. 7 2
      MediII.Adapter.WinForm.Scan/app.config
  68. BIN
      MessageToScan/UE/IL.Common.dll
  69. BIN
      MessageToScan/UE/MediII.Adapter.BizComponent.ADT.dll
  70. BIN
      MessageToScan/UE/MediII.Adapter.BizComponent.Base.dll
  71. BIN
      MessageToScan/UE/MediII.Adapter.BizComponent.MFN.dll
  72. BIN
      MessageToScan/UE/MediII.Adapter.BizComponent.PMU.dll
  73. BIN
      MessageToScan/UE/MediII.Adapter.BizComponent.UE.dll
  74. BIN
      MessageToScan/UE/MediII.Adapter.ReceiveToScanModel.dll
  75. BIN
      MessageToScan/UE/MediII.Adapter.Scan.Interface.dll
  76. BIN
      MessageToScan/UE/MediII.Adapter.Scanner.dll
  77. BIN
      MessageToScan/UE/MySql.Data.dll
  78. BIN
      MessageToScan/UE/Newtonsoft.Json.dll
  79. BIN
      MessageToScanServer.zip
  80. BIN
      MessageToScanServer/IL.Common.dll
  81. 0 4
      MessageToScanServer/Install.bat
  82. BIN
      MessageToScanServer/KC_HN_Tools.dll
  83. BIN
      MessageToScanServer/MediII.Adapter.MsgToScanMServer.exe
  84. 6 3
      MessageToScanServer/MediII.Adapter.MsgToScanMServer.exe.config
  85. BIN
      MessageToScanServer/MediII.Adapter.MsgToScanServer.exe
  86. 0 97
      MessageToScanServer/MediII.Adapter.MsgToScanServer.exe.config
  87. BIN
      MessageToScanServer/MediII.Adapter.Scan.Interface.dll
  88. BIN
      MessageToScanServer/MediII.Adapter.Scanner.dll
  89. BIN
      MessageToScanServer/MediII.Adapter.WinForm.Scanner.exe
  90. 98 0
      MessageToScanServer/MediII.Adapter.WinForm.Scanner.exe.config
  91. 0 0
      MessageToScanServer/MediII.Adapter.WinForm.Scanner.vshost.exe
  92. 98 0
      MessageToScanServer/MediII.Adapter.WinForm.Scanner.vshost.exe.config
  93. 0 0
      MessageToScanServer/MediII.Adapter.WinForm.Scanner.vshost.exe.manifest
  94. BIN
      MessageToScanServer/UE/Dapper.dll
  95. BIN
      MessageToScanServer/UE/IL.Common.dll
  96. BIN
      MessageToScanServer/UE/MediII.Adapter.BizComponent.ADT.dll
  97. BIN
      MessageToScanServer/UE/MediII.Adapter.BizComponent.Base.dll
  98. BIN
      MessageToScanServer/UE/MediII.Adapter.BizComponent.MFN.dll
  99. BIN
      MessageToScanServer/UE/MediII.Adapter.BizComponent.PMU.dll
  100. BIN
      MessageToScanServer/UE/MediII.Adapter.BizComponent.UE.dll

+ 0 - 0
.vs/HisClientReceiveToSI/v15/Server/sqlite3/db.lock


BIN
.vs/HisClientReceiveToSI/v15/Server/sqlite3/storage.ide


BIN
.vs/HisClientReceiveToSI/v15/Server/sqlite3/storage.ide-shm


BIN
.vs/HisClientReceiveToSI/v15/Server/sqlite3/storage.ide-wal


+ 1 - 1
HisClientReceiveToScan.sln

@@ -64,7 +64,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediII.Adapter.BizComponent
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediII.Adapter.Scanner", "MediII.Adapter.Scanner\MediII.Adapter.Scanner.csproj", "{0ADDDB14-B0F6-4D12-8025-5EC8124A511B}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediII.Adapter.MsgToScanServer", "MediII.Adapter.MsgToScanServer\MediII.Adapter.MsgToScanServer.csproj", "{76458091-5802-4284-8861-5F96360119FF}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediII.Adapter.MsgToScanMServer", "MediII.Adapter.MsgToScanServer\MediII.Adapter.MsgToScanMServer.csproj", "{76458091-5802-4284-8861-5F96360119FF}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{FB0F3AD4-26BC-44D6-B4BB-88380A445C53}"
 EndProject

+ 49 - 40
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADTHandler.cs

@@ -55,23 +55,20 @@ namespace MediII.Adapter.BizComponent.ADT
             {
                 switch (evntType)
                 {
-                    case "ADT^A01": return new ADT_A01_Handler();// 住院患者
-                    case "ADT^A02": return new ADT_A02_Handler();//住院更新
-                    case "ADT^A05": return new ADT_A05_Handler();//门诊患者更新
-                    case "ADT^A04": return new ADT_A04_Handler();// 门诊患者入院                
-                    //case "A08": return new ADT_A08_Handler();//患者信息修改:
-                    //case "A10": return new ADT_A10_Handler();//入科
-                    //case "A11": return new ADT_A11_Handler();//取消入院
-                    //case "A13": return new ADT_A13_Handler();//取消出院(ADT^A13)
-                    //case "A16": return new ADT_A16_Handler();//患者预出院
-                    //case "A25": return new ADT_A25_Handler();//患者取消预出院
-                    //case "A28": return new ADT_A28_Handler();//患者建档
-                    //case "A31": return new ADT_A31_Handler();//患者基本信息修改(ADT^A31) 
-                    //case "A29": return new ADT_A29_Handler();//删除婴儿信息(ADT^A29^ADT_A21)
-                    //case "A54": return new ADT_A54_Handler();//修改主治医生
-                    //case "A60": return new ADT_A60_Handler();//患者副作用信息修改
-
-
+                    case "ADT^A01[B01]": return new ADT_A01B01_Handler();// 住院就诊信息登记、相关明细任务生成
+                    case "ADT^A01[B02]": return new ADT_A01B02_Handler();// 住院处方单
+                    case "ADT^A01[B03]": return new ADT_A01B03_Handler();// 住院收费明细
+                    case "ADT^A01[B04]": return new ADT_A01B04_Handler();// 住院转科转床
+                    case "ADT^A03": return new ADT_A03_Handler();//患者出院信息
+                    case "ADT^A04[B01]": return new ADT_A04B01_Handler();//   门诊处方单
+                    case "ADT^A04[B02]": return new ADT_A04B02_Handler();//门诊收费明细
+                    case "ADT^A04[B03]": return new ADT_A04B03_Handler();//门诊挂号
+                    case "ADT^A08[B01]": return new ADT_A08B01_Handler();//门急诊诊断信息
+                    case "ADT^A08[B02]": return new ADT_A08B02_Handler();//住院诊断信息
+                    case "ADT^A31": return new ADT_A31_Handler();//患者基本信息
+                    case "ADT^A90": return new ADT_A90_Handler();//病案首页信息
+                    case "ADT^A91": return new ADT_A91_Handler();//发票金额
+                    case "ADT^A92": return new ADT_A92_Handler();//药品领用出库信息
 
 
                     default: throw new NotImplementedException();
@@ -92,7 +89,7 @@ namespace MediII.Adapter.BizComponent.ADT
         /// </summary>
         /// <param name="m">传入的消息结构</param>
         /// <returns>ACK</returns>
-        public abstract void Handler(string m);
+        public abstract void Handler(TaskMessage m);
 
         #region 获取字典信息
         /// <summary>
@@ -103,8 +100,8 @@ namespace MediII.Adapter.BizComponent.ADT
         {
             var ntb = new DataTable();
             var sql = string.Format("SELECT  CodeID,CodeName,HisCodeID,MedCodeID FROM  HealthCare.dbo.[{0}]  WHERE IsDel=0", viewName);
-            var cmd = SqlDataAccess.GetSqlStringCommand(ctx, sql);
-            ntb.Load(SqlDataAccess.ExecuteReader(ctx, cmd));
+            var cmd = MySqlDataAccess.GetSqlStringCommand(ctx, sql);
+            ntb.Load(MySqlDataAccess.ExecuteReader(ctx, cmd));
             return ntb;
         }
 
@@ -118,8 +115,8 @@ namespace MediII.Adapter.BizComponent.ADT
         protected string GetZone(Database ctx, string hisZone)
         {
             var sql = string.Format("SELECT top 1 Zone FROM HealthCare.dbo.HisInfo WHERE  HisZone='{0}'", hisZone);
-            var cmd = SqlDataAccess.GetSqlStringCommand(ctx, sql);
-            var val = StrHelepr.Obj2StrTrim(SqlDataAccess.ExecuteScalar(ctx, cmd));
+            var cmd = MySqlDataAccess.GetSqlStringCommand(ctx, sql);
+            var val = StrHelepr.Obj2StrTrim(MySqlDataAccess.ExecuteScalar(ctx, cmd));
             if (string.IsNullOrEmpty(val))
             {
                 return hisZone;
@@ -135,8 +132,8 @@ namespace MediII.Adapter.BizComponent.ADT
         protected string GetSeq(Database ctx, string seqName)
         {
             string sql = string.Format("SELECT NEXT VALUE FOR {0}", seqName);
-            var cmd = SqlDataAccess.GetSqlStringCommand(ctx, sql);
-            object obj = SqlDataAccess.ExecuteScalar(ctx, cmd);
+            var cmd = MySqlDataAccess.GetSqlStringCommand(ctx, sql);
+            object obj = MySqlDataAccess.ExecuteScalar(ctx, cmd);
             if (obj != null)
                 return obj.ToString();
             else
@@ -151,7 +148,7 @@ namespace MediII.Adapter.BizComponent.ADT
         internal DateTime GetNow(Database ctx)
         {
 
-            object obj = (DateTime)SqlDataAccess.ExecuteScalar(ctx, CommandType.Text, "select GETDATE()");
+            object obj = (DateTime)MySqlDataAccess.ExecuteScalar(ctx, CommandType.Text, "select SYSDATE()");
             if (obj != null)
                 return Convert.ToDateTime(obj.ToString());
             else
@@ -175,18 +172,18 @@ namespace MediII.Adapter.BizComponent.ADT
         protected void AddNewWardLog(Database ctx, string visitNo, string updateUser, string OperateTypeInstr, string remark, string oldMsg, string newMsg)
         {
             var sql = @" INSERT INTO HealthCare.dbo.Log_WardOperateLog( VisitNo ,  UpdateUser ,  UpdateDateTime ,   OperateTypeInstr , IP ,  Mac ,   Remark ,   OldContent ,   NewContent) VALUES( @VisitNo ,  @UpdateUser ,  GETDATE() ,   @OperateTypeInstr , @IP , @Mac ,   @Remark ,   @OldContent ,   @NewContent) ";
-            var cmd = SqlDataAccess.GetSqlStringCommand(ctx, sql);
-
-            SqlDataAccess.AddInParameter(ctx, cmd, "VisitNo", DbType.AnsiString, visitNo);
-            SqlDataAccess.AddInParameter(ctx, cmd, "UpdateUser", DbType.AnsiString, updateUser);
-            SqlDataAccess.AddInParameter(ctx, cmd, "OperateTypeInstr", DbType.AnsiString, OperateTypeInstr);
-            SqlDataAccess.AddInParameter(ctx, cmd, "IP", DbType.AnsiString, NetHelper.GetIP());
-            SqlDataAccess.AddInParameter(ctx, cmd, "Mac", DbType.AnsiString, NetHelper.GetMacAddress());
-            SqlDataAccess.AddInParameter(ctx, cmd, "Remark", DbType.AnsiString, remark);
-            SqlDataAccess.AddInParameter(ctx, cmd, "OldContent", DbType.AnsiString, oldMsg);
-            SqlDataAccess.AddInParameter(ctx, cmd, "NewContent", DbType.AnsiString, newMsg);
-
-            SqlDataAccess.ExecuteNonQuery(ctx, cmd);
+            var cmd = MySqlDataAccess.GetSqlStringCommand(ctx, sql);
+
+            MySqlDataAccess.AddInParameter(ctx, cmd, "VisitNo", DbType.AnsiString, visitNo);
+            MySqlDataAccess.AddInParameter(ctx, cmd, "UpdateUser", DbType.AnsiString, updateUser);
+            MySqlDataAccess.AddInParameter(ctx, cmd, "OperateTypeInstr", DbType.AnsiString, OperateTypeInstr);
+            MySqlDataAccess.AddInParameter(ctx, cmd, "IP", DbType.AnsiString, NetHelper.GetIP());
+            MySqlDataAccess.AddInParameter(ctx, cmd, "Mac", DbType.AnsiString, NetHelper.GetMacAddress());
+            MySqlDataAccess.AddInParameter(ctx, cmd, "Remark", DbType.AnsiString, remark);
+            MySqlDataAccess.AddInParameter(ctx, cmd, "OldContent", DbType.AnsiString, oldMsg);
+            MySqlDataAccess.AddInParameter(ctx, cmd, "NewContent", DbType.AnsiString, newMsg);
+
+            MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
         }
 
   
@@ -208,8 +205,8 @@ namespace MediII.Adapter.BizComponent.ADT
             try
             {
                 var sql = string.Format("SELECT ParamValue FROM  HealthCare.dbo.SiteParamCtrl WHERE SiteNo='0000' AND ParamID='{0}' AND IsDel=0", key);
-                var cmd = SqlDataAccess.GetSqlStringCommand(ctx, sql);
-                var obj = SqlDataAccess.ExecuteScalar(ctx, cmd);
+                var cmd = MySqlDataAccess.GetSqlStringCommand(ctx, sql);
+                var obj = MySqlDataAccess.ExecuteScalar(ctx, cmd);
                 return StrHelepr.Obj2StrTrim(obj);
             }
             catch (Exception ex)
@@ -223,12 +220,24 @@ namespace MediII.Adapter.BizComponent.ADT
 
         protected int GetScanTaskCount(string visitNo,string type)
         {
-            var sql = "SELECT count(1) FROM dbo.HL7_Scan WITH(NOLOCK) WHERE VisitNo=@VisitNo and TaskType=@TaskType and TaskStatus=1 and UpdateTime>'2023-01-01'";
+            var sql = "SELECT count(1) FROM HL7_Scan WHERE VisitNo=?VisitNo and TaskType=?TaskType and TaskStatus=1 and UpdateTime>'2023-01-01'";
             var cmd = ctx.DBGetSqlStringCommand(sql);
             ctx.AddInParameter(cmd, "VisitNo", DbType.String, visitNo);
             ctx.AddInParameter(cmd, "TaskType", DbType.String, type);
             var obj = int.Parse(StrHelepr.Obj2StrTrim(ctx.DBExecuteScalar(cmd)));
             return obj;
         }
+
+        protected void SetNextTask(TaskMessage msg)
+        {
+            var sql = string.Format(@"INSERT INTO TaskMessage(TaskID, VisitNo, TaskType, TypeName, TaskStatus, Parameter1, Parameter2, Parameter3, ErrMsg, ErrNm, 
+TaskTime, Reserve1, Reserve2, Reserve3) VALUES(MD5(UUID()),null,'{0}','{1}',1,'{2}','{3}','{4}',null,0,'{5}',null,null,'{6}')",
+            msg.TaskType, msg.TypeName, msg.Parameter1, msg.Parameter2, int.Parse(msg.Parameter3) + 1, msg.TaskTime,
+            msg.Reserve3);
+            var cmd = ctx.DBGetSqlStringCommand(sql);
+            ctx.DBExecuteNonQuery(cmd);
+        }
+
+        //protected void SetMsgType(int TaskStatus,string )
     }
 }

+ 90 - 0
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A01B01_Handler.cs

@@ -0,0 +1,90 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using System.Data;
+using System.Data.Common;
+using IL.Common;
+using MediII.Adapter.ReceiveToScanModel;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+namespace MediII.Adapter.BizComponent.ADT
+{
+    /// <summary>
+    /// 住院就诊记录
+    /// </summary>
+    public class ADT_A01B01_Handler : ADTHandler
+    {
+        public override void Handler(TaskMessage m)
+        {
+            //初始化
+            var rtnMsg = string.Empty;
+            var msgHead = string.Empty;
+            var msgBody = string.Empty;
+            var resultCode = string.Empty;
+            var result = string.Empty;
+            string guid = MediII.Common.GUIDHelper.NewGUID();
+            Restful server = new Restful();
+            //string jbody = string.Format("{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"{3}\",\"size\":{1},\"begin_date\":\"{2}\",\"page\":\"{6}\",\"patient_no\":\"\",\"patient_name\":\"\",}}}",
+            //    m.TaskType, m.Reserve3, m.Parameter1, m.Parameter2, guid, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),m.Parameter3);
+           string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"{3}\",\"size\":1,\"begin_date\":\"{2}\",\"page\":\"{6}\",\"patient_no\":\"\",\"patient_name\":\"\",}}}";
+
+            var token = JToken.Parse(jbody);
+            var jtimestamp = token.SelectToken("Request.Head.Timestamp");
+            jtimestamp.Replace(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            var jTranCode = token.SelectToken("Request.Head.TranCode");
+            jTranCode.Replace("v_inp_admit_info");
+            var jMessageId = token.SelectToken("Request.Head.MessageId");
+            jMessageId.Replace(guid);
+            var jend_date = token.SelectToken("Request.Body.end_date");
+            jend_date.Replace(m.Parameter2);
+            var jbegin_date = token.SelectToken("Request.Body.begin_date");
+            jbegin_date.Replace(m.Parameter1);
+            var jpage = token.SelectToken("Request.Body.page");
+            jpage.Replace(m.Parameter3);
+            var jsize = token.SelectToken("Request.Body.size");
+            jsize.Replace(m.Reserve3);
+
+
+            //读取配置的url
+            var url = System.Configuration.ConfigurationManager.AppSettings["Post_url"];
+            string responseMsg = string.Empty;
+            LogHelper.LogInfo("send:" + JsonConvert.SerializeObject(token), LogCatagories.AdapterScan);
+            responseMsg = server.Post(url, JsonConvert.SerializeObject(token));
+            LogHelper.LogInfo("response:" + responseMsg, LogCatagories.AdapterScan);
+            if (string.IsNullOrWhiteSpace(responseMsg))
+                throw new Exception("无返回数据," + responseMsg);
+
+            //解析body,
+            var jRequestBody = JObject.Parse(responseMsg);
+            var jRequest = jRequestBody["Response"];
+            var jBody = jRequest["Body"];
+            var jHead = jRequest["Head"];
+            var head = JsonConvert.DeserializeObject<ResponseHead>(jHead.ToString());
+            var jdata = jBody["data"];
+
+            if (head.AckCode != "100")
+                throw new Exception("返回错误:" + head.AckMessage);
+            if ((string)jdata["total"] != "0")
+            {
+                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
+                {
+                    var isql = @"INSERT INTO TaskResponse(TaskID, TaskType, `Status`, Content, ErrNm, ResolvingMsg, ResolvingTime, RemarkContent) 
+VALUES(@TaskID,@TaskType,1,@Content,0,null,null,@RemarkContent)";
+                    //住院就诊
+                    var cmd = ctx.DBGetSqlStringCommand(isql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskID", DbType.AnsiString, m.TaskID);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, m.TaskType);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "Content", DbType.AnsiString, responseMsg);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "RemarkContent", DbType.AnsiString, JsonConvert.SerializeObject(token));
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
+
+                    scope.Complete();
+                }
+                SetNextTask(m);
+            }
+        }
+    }
+}

+ 91 - 0
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A01B02_Handler.cs

@@ -0,0 +1,91 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using System.Data;
+using System.Data.Common;
+using IL.Common;
+using MediII.Adapter.ReceiveToScanModel;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+namespace MediII.Adapter.BizComponent.ADT
+{
+    /// <summary>
+    /// 住院就诊记录更新
+    /// </summary>
+    public class ADT_A01B02_Handler : ADTHandler
+    {
+        public override void Handler(TaskMessage m)
+        {
+            //初始化
+            var rtnMsg = string.Empty;
+            var msgHead = string.Empty;
+            var msgBody = string.Empty;
+            var resultCode = string.Empty;
+            var result = string.Empty;
+            string guid = MediII.Common.GUIDHelper.NewGUID();
+            Restful server = new Restful();
+            //string jbody = string.Format("{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"{3}\",\"size\":{1},\"begin_date\":\"{2}\",\"page\":\"{6}\",\"patient_no\":\"\",\"patient_name\":\"\",}}}",
+            //    m.TaskType, m.Reserve3, m.Parameter1, m.Parameter2, guid, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), m.Parameter3);
+
+            string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"{3}\",\"size\":1,\"begin_date\":\"{2}\",\"page\":\"{6}\",\"patient_no\":\"\",\"patient_name\":\"\",}}}";
+
+            var token = JToken.Parse(jbody);
+            var jtimestamp = token.SelectToken("Request.Head.Timestamp");
+            jtimestamp.Replace(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            var jTranCode = token.SelectToken("Request.Head.TranCode");
+            jTranCode.Replace("v_inp_pharmacy");
+            var jMessageId = token.SelectToken("Request.Head.MessageId");
+            jMessageId.Replace(guid);
+            var jend_date = token.SelectToken("Request.Body.end_date");
+            jend_date.Replace(m.Parameter2);
+            var jbegin_date = token.SelectToken("Request.Body.begin_date");
+            jbegin_date.Replace(m.Parameter1);
+            var jpage = token.SelectToken("Request.Body.page");
+            jpage.Replace(m.Parameter3);
+            var jsize = token.SelectToken("Request.Body.size");
+            jsize.Replace(m.Reserve3);
+            //读取配置的url
+            var url = System.Configuration.ConfigurationManager.AppSettings["Post_url"];
+            string responseMsg = string.Empty;
+
+            LogHelper.LogInfo("send:" + JsonConvert.SerializeObject(token), LogCatagories.AdapterScan);
+            responseMsg = server.Post(url, JsonConvert.SerializeObject(token));
+            LogHelper.LogInfo("response:" + responseMsg, LogCatagories.AdapterScan);
+            if (string.IsNullOrWhiteSpace(responseMsg))
+                throw new Exception("无返回数据," + responseMsg);
+
+            //解析body,
+            var jRequestBody = JObject.Parse(responseMsg);
+            var jRequest = jRequestBody["Response"];
+            var jBody = jRequest["Body"];
+            var jHead = jRequest["Head"];
+            var head = JsonConvert.DeserializeObject<ResponseHead>(jHead.ToString());
+            var jdata = jBody["data"];
+
+            if (head.AckCode != "100")
+                throw new Exception("返回错误:" + head.AckMessage);
+            if ((string)jdata["total"] != "0")
+            {
+                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
+                {
+                    var isql = @"INSERT INTO TaskResponse(TaskID, TaskType, `Status`, Content, ErrNm, ResolvingMsg, ResolvingTime, RemarkContent) 
+VALUES(@TaskID,@TaskType,1,@Content,0,null,null,@RemarkContent)";
+                    //住院就诊
+                    var cmd = ctx.DBGetSqlStringCommand(isql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskID", DbType.AnsiString, m.TaskID);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, m.TaskType);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "Content", DbType.AnsiString, responseMsg);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "RemarkContent", DbType.AnsiString, JsonConvert.SerializeObject(token));
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
+
+                    scope.Complete();
+                }
+                SetNextTask(m);
+            }
+        }
+
+    }
+}

+ 89 - 0
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A01B03_Handler.cs

@@ -0,0 +1,89 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using System.Transactions;
+using System.Data;
+using IL.Common;
+using MediII.Adapter.ReceiveToScanModel;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+namespace MediII.Adapter.BizComponent.ADT
+{
+    public class ADT_A01B03_Handler : ADTHandler
+    {
+        public override void Handler(TaskMessage m)
+        {
+            //初始化
+            var rtnMsg = string.Empty;
+            var msgHead = string.Empty;
+            var msgBody = string.Empty;
+            var resultCode = string.Empty;
+            var result = string.Empty;
+            string guid = MediII.Common.GUIDHelper.NewGUID();
+            Restful server = new Restful();
+            //string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"{3}\",\"size\":1,\"begin_date\":\"{2}\",\"page\":\"{6}\",\"patient_no\":\"\",\"patient_name\":\"\",}}}";
+            string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_charge_date\":\"{3}\",\"size\":1,\"begin_charge_date\":\"{2}\",\"page\":\"{6}\",\"inp_visit_id\":\"\",}}}";
+
+            var token = JToken.Parse(jbody);
+            var jtimestamp = token.SelectToken("Request.Head.Timestamp");
+            jtimestamp.Replace(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            var jTranCode = token.SelectToken("Request.Head.TranCode");
+            jTranCode.Replace("v_inp_charge_item_info");
+            var jMessageId = token.SelectToken("Request.Head.MessageId");
+            jMessageId.Replace(guid);
+            var jend_date = token.SelectToken("Request.Body.end_charge_date");
+            jend_date.Replace(m.Parameter2);
+            var jbegin_date = token.SelectToken("Request.Body.begin_charge_date");
+            jbegin_date.Replace(m.Parameter1);
+            var jpage = token.SelectToken("Request.Body.page");
+            jpage.Replace(m.Parameter3);
+            var jsize = token.SelectToken("Request.Body.size");
+            jsize.Replace(m.Reserve3);
+            //读取配置的url
+            var url = System.Configuration.ConfigurationManager.AppSettings["Post_url"];
+            string responseMsg = string.Empty;
+
+            LogHelper.LogInfo("send:" + JsonConvert.SerializeObject(token), LogCatagories.AdapterScan);
+            responseMsg = server.Post(url, JsonConvert.SerializeObject(token));
+            LogHelper.LogInfo("response:" + responseMsg, LogCatagories.AdapterScan);
+            if (string.IsNullOrWhiteSpace(responseMsg))
+                throw new Exception("无返回数据," + responseMsg);
+
+            //解析body,
+            var jRequestBody = JObject.Parse(responseMsg);
+            var jRequest = jRequestBody["Response"];
+            var jBody = jRequest["Body"];
+            var jHead = jRequest["Head"];
+            var head = JsonConvert.DeserializeObject<ResponseHead>(jHead.ToString());
+            var jdata = jBody["data"];
+
+            if (head.AckCode != "100")
+                throw new Exception("返回错误:" + head.AckMessage);
+            if ((string)jdata["total"] != "0" && (jdata["content"]).ToString().Length > 10)
+            {
+                //IL.Common.LogHelper.LogError("输出:" + (jdata["content"]).ToString(), LogCatagories.SQL);
+                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
+                {
+                    var isql = @"INSERT INTO TaskResponse(TaskID, TaskType, `Status`, Content, ErrNm, ResolvingMsg, ResolvingTime, RemarkContent) 
+VALUES(@TaskID,@TaskType,1,@Content,0,null,null,@RemarkContent)";
+                    //住院就诊
+                    var cmd = ctx.DBGetSqlStringCommand(isql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskID", DbType.AnsiString, m.TaskID);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, m.TaskType);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "Content", DbType.AnsiString, responseMsg);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "RemarkContent", DbType.AnsiString, JsonConvert.SerializeObject(token));
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
+
+                    scope.Complete();
+                }
+                SetNextTask(m);
+            }
+        }
+
+    }
+
+
+}

+ 87 - 0
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A01B04_Handler.cs

@@ -0,0 +1,87 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using System.Transactions;
+using MediII.Adapter.ReceiveToScanModel;
+using IL.Common;
+using System.Data.Common;
+using System.Data;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+namespace MediII.Adapter.BizComponent.ADT
+{
+    public class ADT_A01B04_Handler : ADTHandler
+    {
+        public override void Handler(TaskMessage m)
+        {
+            //初始化
+            var rtnMsg = string.Empty;
+            var msgHead = string.Empty;
+            var msgBody = string.Empty;
+            var resultCode = string.Empty;
+            var result = string.Empty;
+            string guid = MediII.Common.GUIDHelper.NewGUID();
+            Restful server = new Restful();
+            string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"\",\"size\":1,\"begin_date\":\"\",\"page\":\"{6}\",\"inp_visit_id\":\"\"}}}";
+
+            var token = JToken.Parse(jbody);
+            var jtimestamp = token.SelectToken("Request.Head.Timestamp");
+            jtimestamp.Replace(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            var jTranCode = token.SelectToken("Request.Head.TranCode");
+            jTranCode.Replace("v_pt_transfer_record");
+            var jMessageId = token.SelectToken("Request.Head.MessageId");
+            jMessageId.Replace(guid);
+            //var jend_date = token.SelectToken("Request.Body.end_date");
+            //jend_date.Replace(m.Parameter2);
+            //var jbegin_date = token.SelectToken("Request.Body.begin_date");
+            //jbegin_date.Replace(m.Parameter1);
+            var jpage = token.SelectToken("Request.Body.page");
+            jpage.Replace(m.Parameter3);
+            var jsize = token.SelectToken("Request.Body.size");
+            jsize.Replace(m.Reserve3);
+            //读取配置的url
+            var url = System.Configuration.ConfigurationManager.AppSettings["Post_url"];
+            string responseMsg = string.Empty;
+
+            LogHelper.LogInfo("send:" + JsonConvert.SerializeObject(token), LogCatagories.AdapterScan);
+            responseMsg = server.Post(url, JsonConvert.SerializeObject(token));
+            LogHelper.LogInfo("response:" + responseMsg, LogCatagories.AdapterScan);
+
+            if (string.IsNullOrWhiteSpace(responseMsg))
+                throw new Exception("无返回数据," + responseMsg);
+
+            //解析body,
+            var jRequestBody = JObject.Parse(responseMsg);
+            var jRequest = jRequestBody["Response"];
+            var jBody = jRequest["Body"];
+            var jHead = jRequest["Head"];
+            var head = JsonConvert.DeserializeObject<ResponseHead>(jHead.ToString());
+            var jdata = jBody["data"];
+
+            if (head.AckCode != "100")
+                throw new Exception("返回错误:" + head.AckMessage);
+            if ((string)jdata["total"] != "0")
+            {
+                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
+                {
+                    var isql = @"INSERT INTO TaskResponse(TaskID, TaskType, `Status`, Content, ErrNm, ResolvingMsg, ResolvingTime, RemarkContent) 
+VALUES(@TaskID,@TaskType,1,@Content,0,null,null,@RemarkContent)";
+                    //住院就诊
+                    var cmd = ctx.DBGetSqlStringCommand(isql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskID", DbType.AnsiString, m.TaskID);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, m.TaskType);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "Content", DbType.AnsiString, responseMsg);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "RemarkContent", DbType.AnsiString, JsonConvert.SerializeObject(token));
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
+
+                    scope.Complete();
+                }
+                //SetNextTask(m);
+            }
+        }
+    }
+}

+ 0 - 109
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A01_Handler.cs

@@ -1,109 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Transactions;
-using System.Data;
-using System.Data.Common;
-using IL.Common;
-
-namespace MediII.Adapter.BizComponent.ADT
-{
-    /// <summary>
-    /// 住院就诊记录
-    /// </summary>
-    public class ADT_A01_Handler : ADTHandler
-    {
-        public override void Handler(string m)
-        {
-            //初始化
-            var rtnMsg = string.Empty;
-            var msgHead = string.Empty;
-            var msgBody = string.Empty;
-            var resultCode = string.Empty;
-            var result = string.Empty;
-            WebService server = new WebService();
-            OperateXmlUtil xmlHelper = new OperateXmlUtil();
-            //读取配置的凭证号
-            var cert = System.Configuration.ConfigurationManager.AppSettings["cert"];
-            //读取就诊流水号
-            string visitNo = xmlHelper.XpathRead(m, "//*[@root='2.16.156.10011.2.5.1.9']", "extension");
-            var tmp = xmlHelper.XpathRead(m, "//*[name()='effectiveTime']");
-            var visitDate = tmp[0].LastChild.Attributes["value"].Value;
-            DateTime date = DateTime.ParseExact(visitDate, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
-            if (GetScanTaskCount(visitNo, "ADT^A04[B01]") > 0)
-            {
-                return;//存在任务则无需增加
-            }
-            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
-            {
-                var isql = @"INSERT INTO HL7_Platform.dbo.HL7_Scan  (ID ,ChartNo,VisitNo,OtherNo1,OtherNo2,OtherNo3,OtherName ,  TaskType ,  TaskStatus ,  UpdateUser ,  UpdateTime,Reserve1) VALUES (@ID ,@ChartNo ,@VisitNo ,@OtherNo1 ,  @OtherNo2 ,@OtherNo3 ,@OtherName ,@TaskType ,@TaskStatus , @UpdateUser , GETDATE(),@Reserve1)";
-                //住院就诊
-                var cmd = ctx.DBGetSqlStringCommand(isql);
-                SqlDataAccess.AddInParameter(ctx, cmd, "ID", DbType.AnsiString, Guid.NewGuid().ToString());
-                SqlDataAccess.AddInParameter(ctx, cmd, "ChartNo", DbType.AnsiString, visitNo);
-                SqlDataAccess.AddInParameter(ctx, cmd, "VisitNo", DbType.AnsiString, visitNo);
-                SqlDataAccess.AddInParameter(ctx, cmd, "OtherNo1", DbType.AnsiString, date.ToString("yyyy-MM-dd HH:mm:ss"));
-                SqlDataAccess.AddInParameter(ctx, cmd, "OtherNo2", DbType.AnsiString, "");
-                SqlDataAccess.AddInParameter(ctx, cmd, "OtherNo3", DbType.AnsiString, "");
-                SqlDataAccess.AddInParameter(ctx, cmd, "OtherName", DbType.AnsiString, "住院就诊信息登记");
-                SqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, "ADT^A01[B01]");
-                SqlDataAccess.AddInParameter(ctx, cmd, "TaskStatus", DbType.Int32, 1);
-                SqlDataAccess.AddInParameter(ctx, cmd, "UpdateUser", DbType.AnsiString, "9999");
-                SqlDataAccess.AddInParameter(ctx, cmd, "Reserve1", DbType.AnsiString, "");
-                SqlDataAccess.ExecuteNonQuery(ctx, cmd);
-
-                //ctx.AddInParameter(dcmd, "id", System.Data.DbType.String, Guid.NewGuid().ToString("N"));
-                //ctx.AddInParameter(dcmd, "ChartNo", System.Data.DbType.String, visitNo);
-                //ctx.AddInParameter(dcmd, "VisitNo", System.Data.DbType.String, visitNo);
-                //ctx.AddInParameter(dcmd, "OtherNo1", System.Data.DbType.String, date.ToString("yyyy-MM-dd HH:mm:ss"));
-                //ctx.AddInParameter(dcmd, "OtherNo2", System.Data.DbType.String, "");
-                //ctx.AddInParameter(dcmd, "OtherNo3", System.Data.DbType.String, "");
-                //ctx.AddInParameter(dcmd, "OtherName", System.Data.DbType.String, "门诊处方单");
-                //ctx.AddInParameter(dcmd, "TaskType", System.Data.DbType.String, "ADT^A01[B01]");
-                //ctx.AddInParameter(dcmd, "TaskStatus", System.Data.DbType.Int32, 1);
-                //ctx.AddInParameter(dcmd, "UpdateUser", System.Data.DbType.String, "9999");
-                //ctx.AddInParameter(dcmd, "Reserve1", System.Data.DbType.String, "");
-                //ctx.DBExecuteNonQuery(cmd);
-                
-               
-                scope.Complete(); 
-            }
-
-
-        }
-
-        /// <summary>
-        /// 获取门诊就诊次数
-        /// </summary> 
-        /// <returns></returns>
-        private int GetOutNumByChartNo(string chartNo)
-        {
-
-            string OutPatientSql = @"select count(1)	 
-                                             from HealthCare.dbo.OutPatient a, HealthCare.dbo.VisitRecord b	 
-                                             where a.VisitNo = b.VisitNo  AND b.ChartNo= @ChartNo  
-                                             AND a.VisitStatus<>'D'  ";
-            var cmd = SqlDataAccess.GetSqlStringCommand(ctx, OutPatientSql);
-            SqlDataAccess.AddInParameter(ctx, cmd, "ChartNo", DbType.AnsiString, chartNo);
-            return int.Parse(StrHelepr.Obj2StrTrim(SqlDataAccess.ExecuteScalar(ctx, cmd)));  //看诊次数 
-
-        }
-
-        /// <summary>
-        /// 获取急诊就诊次数
-        /// </summary> 
-        /// <returns></returns>
-        private int GetEmgNumByChartNo(string chartNo)
-        {
-            string EmgPatientSql = @"select count(1) from HealthCare.dbo.Emergency a, HealthCare.dbo.VisitRecord b	 
-                                             where a.VisitNo = b.VisitNo  
-                                             AND b.ChartNo= @ChartNo   AND a.VisitStatus<>'D'  ";
-            var cmd = SqlDataAccess.GetSqlStringCommand(ctx, EmgPatientSql);
-            SqlDataAccess.AddInParameter(ctx, cmd, "ChartNo", DbType.AnsiString, chartNo);
-            return int.Parse(StrHelepr.Obj2StrTrim(SqlDataAccess.ExecuteScalar(ctx, cmd)));   //看诊次数 
-
-        }
-
-    }
-}

+ 0 - 109
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A02_Handler.cs

@@ -1,109 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Transactions;
-using System.Data;
-using System.Data.Common;
-using IL.Common;
-
-namespace MediII.Adapter.BizComponent.ADT
-{
-    /// <summary>
-    /// 住院就诊记录更新
-    /// </summary>
-    public class ADT_A02_Handler : ADTHandler
-    {
-        public override void Handler(string m)
-        {
-            //初始化
-            var rtnMsg = string.Empty;
-            var msgHead = string.Empty;
-            var msgBody = string.Empty;
-            var resultCode = string.Empty;
-            var result = string.Empty;
-            WebService server = new WebService();
-            OperateXmlUtil xmlHelper = new OperateXmlUtil();
-            //读取配置的凭证号
-            var cert = System.Configuration.ConfigurationManager.AppSettings["cert"];
-            //读取就诊流水号
-            string visitNo = xmlHelper.XpathRead(m, "//*[@root='2.16.156.10011.2.5.1.9']", "extension");
-            var tmp = xmlHelper.XpathRead(m, "//*[name()='effectiveTime']");
-            var visitDate = tmp[0].LastChild.Attributes["value"].Value;
-            DateTime date = DateTime.ParseExact(visitDate, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
-            if (GetScanTaskCount(visitNo, "ADT^A02[B01]") > 0)
-            {
-                return;//存在任务则无需增加
-            }
-            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
-            {
-                var isql = @"INSERT INTO HL7_Platform.dbo.HL7_Scan  (ID ,ChartNo,VisitNo,OtherNo1,OtherNo2,OtherNo3,OtherName ,  TaskType ,  TaskStatus ,  UpdateUser ,  UpdateTime,Reserve1) VALUES (@ID ,@ChartNo ,@VisitNo ,@OtherNo1 ,  @OtherNo2 ,@OtherNo3 ,@OtherName ,@TaskType ,@TaskStatus , @UpdateUser , GETDATE(),@Reserve1)";
-                //住院就诊
-                var cmd = ctx.DBGetSqlStringCommand(isql);
-                SqlDataAccess.AddInParameter(ctx, cmd, "ID", DbType.AnsiString, Guid.NewGuid().ToString());
-                SqlDataAccess.AddInParameter(ctx, cmd, "ChartNo", DbType.AnsiString, visitNo);
-                SqlDataAccess.AddInParameter(ctx, cmd, "VisitNo", DbType.AnsiString, visitNo);
-                SqlDataAccess.AddInParameter(ctx, cmd, "OtherNo1", DbType.AnsiString, date.ToString("yyyy-MM-dd HH:mm:ss"));
-                SqlDataAccess.AddInParameter(ctx, cmd, "OtherNo2", DbType.AnsiString, "");
-                SqlDataAccess.AddInParameter(ctx, cmd, "OtherNo3", DbType.AnsiString, "");
-                SqlDataAccess.AddInParameter(ctx, cmd, "OtherName", DbType.AnsiString, "住院就诊信息更新");
-                SqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, "ADT^A02[B01]");
-                SqlDataAccess.AddInParameter(ctx, cmd, "TaskStatus", DbType.Int32, 1);
-                SqlDataAccess.AddInParameter(ctx, cmd, "UpdateUser", DbType.AnsiString, "9999");
-                SqlDataAccess.AddInParameter(ctx, cmd, "Reserve1", DbType.AnsiString, "");
-                SqlDataAccess.ExecuteNonQuery(ctx, cmd);
-
-                //ctx.AddInParameter(dcmd, "id", System.Data.DbType.String, Guid.NewGuid().ToString("N"));
-                //ctx.AddInParameter(dcmd, "ChartNo", System.Data.DbType.String, visitNo);
-                //ctx.AddInParameter(dcmd, "VisitNo", System.Data.DbType.String, visitNo);
-                //ctx.AddInParameter(dcmd, "OtherNo1", System.Data.DbType.String, date.ToString("yyyy-MM-dd HH:mm:ss"));
-                //ctx.AddInParameter(dcmd, "OtherNo2", System.Data.DbType.String, "");
-                //ctx.AddInParameter(dcmd, "OtherNo3", System.Data.DbType.String, "");
-                //ctx.AddInParameter(dcmd, "OtherName", System.Data.DbType.String, "门诊处方单");
-                //ctx.AddInParameter(dcmd, "TaskType", System.Data.DbType.String, "ADT^A01[B01]");
-                //ctx.AddInParameter(dcmd, "TaskStatus", System.Data.DbType.Int32, 1);
-                //ctx.AddInParameter(dcmd, "UpdateUser", System.Data.DbType.String, "9999");
-                //ctx.AddInParameter(dcmd, "Reserve1", System.Data.DbType.String, "");
-                //ctx.DBExecuteNonQuery(cmd);
-                
-               
-                scope.Complete(); 
-            }
-
-
-        }
-
-        /// <summary>
-        /// 获取门诊就诊次数
-        /// </summary> 
-        /// <returns></returns>
-        private int GetOutNumByChartNo(string chartNo)
-        {
-
-            string OutPatientSql = @"select count(1)	 
-                                             from HealthCare.dbo.OutPatient a, HealthCare.dbo.VisitRecord b	 
-                                             where a.VisitNo = b.VisitNo  AND b.ChartNo= @ChartNo  
-                                             AND a.VisitStatus<>'D'  ";
-            var cmd = SqlDataAccess.GetSqlStringCommand(ctx, OutPatientSql);
-            SqlDataAccess.AddInParameter(ctx, cmd, "ChartNo", DbType.AnsiString, chartNo);
-            return int.Parse(StrHelepr.Obj2StrTrim(SqlDataAccess.ExecuteScalar(ctx, cmd)));  //看诊次数 
-
-        }
-
-        /// <summary>
-        /// 获取急诊就诊次数
-        /// </summary> 
-        /// <returns></returns>
-        private int GetEmgNumByChartNo(string chartNo)
-        {
-            string EmgPatientSql = @"select count(1) from HealthCare.dbo.Emergency a, HealthCare.dbo.VisitRecord b	 
-                                             where a.VisitNo = b.VisitNo  
-                                             AND b.ChartNo= @ChartNo   AND a.VisitStatus<>'D'  ";
-            var cmd = SqlDataAccess.GetSqlStringCommand(ctx, EmgPatientSql);
-            SqlDataAccess.AddInParameter(ctx, cmd, "ChartNo", DbType.AnsiString, chartNo);
-            return int.Parse(StrHelepr.Obj2StrTrim(SqlDataAccess.ExecuteScalar(ctx, cmd)));   //看诊次数 
-
-        }
-
-    }
-}

+ 85 - 0
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A03_Handler.cs

@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using System.Data;
+using System.Data.Common;
+using IL.Common;
+using MediII.Adapter.ReceiveToScanModel;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+namespace MediII.Adapter.BizComponent.ADT
+{
+    /// <summary>
+    /// 住院就诊记录
+    /// </summary>
+    public class ADT_A03_Handler : ADTHandler
+    {
+        public override void Handler(TaskMessage m)
+        {
+            //初始化
+            var rtnMsg = string.Empty;
+            var msgHead = string.Empty;
+            var msgBody = string.Empty;
+            var resultCode = string.Empty;
+            var result = string.Empty;
+            string guid = MediII.Common.GUIDHelper.NewGUID();
+            Restful server = new Restful();
+            string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"{3}\",\"size\":1,\"begin_date\":\"{2}\",\"page\":\"{6}\",\"patient_no\":\"\",\"patient_name\":\"\",}}}";
+
+            var token = JToken.Parse(jbody);
+            var jtimestamp = token.SelectToken("Request.Head.Timestamp");
+            jtimestamp.Replace(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            var jTranCode = token.SelectToken("Request.Head.TranCode");
+            jTranCode.Replace("v_inp_discharge_info");
+            var jMessageId = token.SelectToken("Request.Head.MessageId");
+            jMessageId.Replace(guid);
+            var jend_date = token.SelectToken("Request.Body.end_date");
+            jend_date.Replace(m.Parameter2);
+            var jbegin_date = token.SelectToken("Request.Body.begin_date");
+            jbegin_date.Replace(m.Parameter1);
+            var jpage = token.SelectToken("Request.Body.page");
+            jpage.Replace(m.Parameter3);
+            var jsize = token.SelectToken("Request.Body.size");
+            jsize.Replace(m.Reserve3);
+            //读取配置的url
+            var url = System.Configuration.ConfigurationManager.AppSettings["Post_url"];
+            string responseMsg = string.Empty;
+
+            responseMsg = server.Post(url, JsonConvert.SerializeObject(token));
+            if (string.IsNullOrWhiteSpace(responseMsg))
+                throw new Exception("无返回数据," + responseMsg);
+
+            //解析body,
+            var jRequestBody = JObject.Parse(responseMsg);
+            var jRequest = jRequestBody["Response"];
+            var jBody = jRequest["Body"];
+            var jHead = jRequest["Head"];
+            var head = JsonConvert.DeserializeObject<ResponseHead>(jHead.ToString());
+            var jdata = jBody["data"];
+
+            if (head.AckCode != "100")
+                throw new Exception("返回错误:" + head.AckMessage);
+            if ((string)jdata["total"] != "0")
+            {
+                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
+                {
+                    var isql = @"INSERT INTO TaskResponse(TaskID, TaskType, `Status`, Content, ErrNm, ResolvingMsg, ResolvingTime, RemarkContent) 
+VALUES(@TaskID,@TaskType,1,@Content,0,null,null,@RemarkContent)";
+                    //住院就诊
+                    var cmd = ctx.DBGetSqlStringCommand(isql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskID", DbType.AnsiString, m.TaskID);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, m.TaskType);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "Content", DbType.AnsiString, responseMsg);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "RemarkContent", DbType.AnsiString, JsonConvert.SerializeObject(token));
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
+
+                    scope.Complete();
+                }
+                SetNextTask(m);
+            }
+        }
+    }
+}

+ 85 - 0
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A04B01_Handler.cs

@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using System.Data;
+using System.Data.Common;
+using IL.Common;
+using MediII.Adapter.ReceiveToScanModel;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+namespace MediII.Adapter.BizComponent.ADT
+{
+    /// <summary>
+    /// 住院就诊记录
+    /// </summary>
+    public class ADT_A04B01_Handler : ADTHandler
+    {
+        public override void Handler(TaskMessage m)
+        {
+            //初始化
+            var rtnMsg = string.Empty;
+            var msgHead = string.Empty;
+            var msgBody = string.Empty;
+            var resultCode = string.Empty;
+            var result = string.Empty;
+            string guid = MediII.Common.GUIDHelper.NewGUID();
+            Restful server = new Restful();
+            string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"{3}\",\"size\":1,\"begin_date\":\"{2}\",\"page\":\"{6}\",\"patient_no\":\"\",\"patient_name\":\"\",}}}";
+
+            var token = JToken.Parse(jbody);
+            var jtimestamp = token.SelectToken("Request.Head.Timestamp");
+            jtimestamp.Replace(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            var jTranCode = token.SelectToken("Request.Head.TranCode");
+            jTranCode.Replace("v_opd_pharmacy");
+            var jMessageId = token.SelectToken("Request.Head.MessageId");
+            jMessageId.Replace(guid);
+            var jend_date = token.SelectToken("Request.Body.end_date");
+            jend_date.Replace(m.Parameter2);
+            var jbegin_date = token.SelectToken("Request.Body.begin_date");
+            jbegin_date.Replace(m.Parameter1);
+            var jpage = token.SelectToken("Request.Body.page");
+            jpage.Replace(m.Parameter3);
+            var jsize = token.SelectToken("Request.Body.size");
+            jsize.Replace(m.Reserve3);
+            //读取配置的url
+            var url = System.Configuration.ConfigurationManager.AppSettings["Post_url"];
+            string responseMsg = string.Empty;
+
+            responseMsg = server.Post(url, JsonConvert.SerializeObject(token));
+            if (string.IsNullOrWhiteSpace(responseMsg))
+                throw new Exception("无返回数据," + responseMsg);
+
+            //解析body,
+            var jRequestBody = JObject.Parse(responseMsg);
+            var jRequest = jRequestBody["Response"];
+            var jBody = jRequest["Body"];
+            var jHead = jRequest["Head"];
+            var head = JsonConvert.DeserializeObject<ResponseHead>(jHead.ToString());
+            var jdata = jBody["data"];
+
+            if (head.AckCode != "100")
+                throw new Exception("返回错误:" + head.AckMessage);
+            if ((string)jdata["total"] != "0")
+            {
+                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
+                {
+                    var isql = @"INSERT INTO TaskResponse(TaskID, TaskType, `Status`, Content, ErrNm, ResolvingMsg, ResolvingTime, RemarkContent) 
+VALUES(@TaskID,@TaskType,1,@Content,0,null,null,@RemarkContent)";
+                    //住院就诊
+                    var cmd = ctx.DBGetSqlStringCommand(isql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskID", DbType.AnsiString, m.TaskID);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, m.TaskType);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "Content", DbType.AnsiString, responseMsg);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "RemarkContent", DbType.AnsiString, JsonConvert.SerializeObject(token));
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
+
+                    scope.Complete();
+                }
+                SetNextTask(m);
+            }
+        }
+    }
+}

+ 88 - 0
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A04B02_Handler.cs

@@ -0,0 +1,88 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using System.Data;
+using System.Data.Common;
+using IL.Common;
+using MediII.Adapter.ReceiveToScanModel;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+namespace MediII.Adapter.BizComponent.ADT
+{
+    /// <summary>
+    /// 住院就诊记录
+    /// </summary>
+    public class ADT_A04B02_Handler : ADTHandler
+    {
+        public override void Handler(TaskMessage m)
+        {
+            //初始化
+            var rtnMsg = string.Empty;
+            var msgHead = string.Empty;
+            var msgBody = string.Empty;
+            var resultCode = string.Empty;
+            var result = string.Empty;
+            string guid = MediII.Common.GUIDHelper.NewGUID();
+            Restful server = new Restful();
+           // string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"{3}\",\"size\":1,\"begin_date\":\"{2}\",\"page\":\"{6}\",\"patient_no\":\"\",\"patient_name\":\"\",}}}";
+            string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_charge_date\":\"{3}\",\"size\":1,\"begin_charge_date\":\"{2}\",\"page\":\"{6}\",\"register_id\":\"\",}}}";
+
+            var token = JToken.Parse(jbody);
+            var jtimestamp = token.SelectToken("Request.Head.Timestamp");
+            jtimestamp.Replace(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            var jTranCode = token.SelectToken("Request.Head.TranCode");
+            jTranCode.Replace("v_opd_charge_info");
+            var jMessageId = token.SelectToken("Request.Head.MessageId");
+            jMessageId.Replace(guid);
+            var jend_date = token.SelectToken("Request.Body.end_charge_date");
+            jend_date.Replace(m.Parameter2);
+            var jbegin_date = token.SelectToken("Request.Body.begin_charge_date");
+            jbegin_date.Replace(m.Parameter1);
+            var jpage = token.SelectToken("Request.Body.page");
+            jpage.Replace(m.Parameter3);
+            var jsize = token.SelectToken("Request.Body.size");
+            jsize.Replace(m.Reserve3);
+            //读取配置的url
+            var url = System.Configuration.ConfigurationManager.AppSettings["Post_url"];
+            string responseMsg = string.Empty;
+
+            responseMsg = server.Post(url, JsonConvert.SerializeObject(token));
+            if (string.IsNullOrWhiteSpace(responseMsg))
+                throw new Exception("无返回数据," + responseMsg);
+
+            //解析body,
+            var jRequestBody = JObject.Parse(responseMsg);
+            var jRequest = jRequestBody["Response"];
+            var jBody = jRequest["Body"];
+            var jHead = jRequest["Head"];
+            var head = JsonConvert.DeserializeObject<ResponseHead>(jHead.ToString());
+            var jdata = jBody["data"];
+
+            if (head.AckCode != "100")
+                throw new Exception("返回错误:" + head.AckMessage);
+            
+            if ((string)jdata["total"] != "0" && (jdata["content"]).ToString().Length > 10)
+            {
+                //IL.Common.LogHelper.LogError("输出:" + (jdata["content"]).ToString(), LogCatagories.SQL);
+                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
+                {
+                    var isql = @"INSERT INTO TaskResponse(TaskID, TaskType, `Status`, Content, ErrNm, ResolvingMsg, ResolvingTime, RemarkContent) 
+VALUES(@TaskID,@TaskType,1,@Content,0,null,null,@RemarkContent)";
+                    //住院就诊
+                    var cmd = ctx.DBGetSqlStringCommand(isql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskID", DbType.AnsiString, m.TaskID);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, m.TaskType);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "Content", DbType.AnsiString, responseMsg);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "RemarkContent", DbType.AnsiString, JsonConvert.SerializeObject(token));
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
+
+                    scope.Complete();
+                }
+                SetNextTask(m);
+            }
+        }
+    }
+}

+ 85 - 0
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A04B03_Handler.cs

@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using System.Data;
+using System.Data.Common;
+using IL.Common;
+using MediII.Adapter.ReceiveToScanModel;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+namespace MediII.Adapter.BizComponent.ADT
+{
+    /// <summary>
+    /// 门诊挂号
+    /// </summary>
+    public class ADT_A04B03_Handler : ADTHandler
+    {
+        public override void Handler(TaskMessage m)
+        {
+            //初始化
+            var rtnMsg = string.Empty;
+            var msgHead = string.Empty;
+            var msgBody = string.Empty;
+            var resultCode = string.Empty;
+            var result = string.Empty;
+            string guid = MediII.Common.GUIDHelper.NewGUID();
+            Restful server = new Restful();
+            string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"{3}\",\"size\":1,\"begin_date\":\"{2}\",\"page\":\"{6}\",\"patient_no\":\"\",\"patient_name\":\"\",}}}";
+
+            var token = JToken.Parse(jbody);
+            var jtimestamp = token.SelectToken("Request.Head.Timestamp");
+            jtimestamp.Replace(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            var jTranCode = token.SelectToken("Request.Head.TranCode");
+            jTranCode.Replace("v_register_info");
+            var jMessageId = token.SelectToken("Request.Head.MessageId");
+            jMessageId.Replace(guid);
+            var jend_date = token.SelectToken("Request.Body.end_date");
+            jend_date.Replace(m.Parameter2);
+            var jbegin_date = token.SelectToken("Request.Body.begin_date");
+            jbegin_date.Replace(m.Parameter1);
+            var jpage = token.SelectToken("Request.Body.page");
+            jpage.Replace(m.Parameter3);
+            var jsize = token.SelectToken("Request.Body.size");
+            jsize.Replace(m.Reserve3);
+            //读取配置的url
+            var url = System.Configuration.ConfigurationManager.AppSettings["Post_url"];
+            string responseMsg = string.Empty;
+
+            responseMsg = server.Post(url, JsonConvert.SerializeObject(token));
+            if (string.IsNullOrWhiteSpace(responseMsg))
+                throw new Exception("无返回数据," + responseMsg);
+
+            //解析body,
+            var jRequestBody = JObject.Parse(responseMsg);
+            var jRequest = jRequestBody["Response"];
+            var jBody = jRequest["Body"];
+            var jHead = jRequest["Head"];
+            var head = JsonConvert.DeserializeObject<ResponseHead>(jHead.ToString());
+            var jdata = jBody["data"];
+
+            if (head.AckCode != "100")
+                throw new Exception("返回错误:" + head.AckMessage);
+            if ((string)jdata["total"] != "0")
+            {
+                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
+                {
+                    var isql = @"INSERT INTO TaskResponse(TaskID, TaskType, `Status`, Content, ErrNm, ResolvingMsg, ResolvingTime, RemarkContent) 
+VALUES(@TaskID,@TaskType,1,@Content,0,null,null,@RemarkContent)";
+                    //住院就诊
+                    var cmd = ctx.DBGetSqlStringCommand(isql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskID", DbType.AnsiString, m.TaskID);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, m.TaskType);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "Content", DbType.AnsiString, responseMsg);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "RemarkContent", DbType.AnsiString, JsonConvert.SerializeObject(token));
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
+
+                    scope.Complete();
+                }
+                SetNextTask(m);
+            }
+        }
+    }
+}

+ 0 - 138
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A04_Handler.cs

@@ -1,138 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Microsoft.Practices.EnterpriseLibrary.Data;
-using System.Transactions;
-using System.Data;
-using IL.Common;
-
-namespace MediII.Adapter.BizComponent.ADT
-{
-    public class ADT_A04_Handler : ADTHandler
-    {
-        public override void Handler(string m)
-        {
-
-            //初始化
-            var rtnMsg = string.Empty;
-            var msgHead = string.Empty;
-            var msgBody = string.Empty;
-            var resultCode = string.Empty;
-            var result = string.Empty;
-            WebService server = new WebService();
-            OperateXmlUtil xmlHelper = new OperateXmlUtil();
-            //读取配置的凭证号
-            var cert = System.Configuration.ConfigurationManager.AppSettings["cert"];
-            //读取就诊流水号
-            string visitNo = xmlHelper.XpathRead(m, "//*[@root='2.16.156.10011.2.5.1.9']", "extension");
-            var tmp=xmlHelper.XpathRead(m,"//*[name()='effectiveTime']");
-            var visitDate=tmp[0].LastChild.Attributes["value"].Value;
-            DateTime date = DateTime.ParseExact(visitDate, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
-
-            if (GetScanTaskCount(visitNo, "ADT^A04[B01]") > 0)
-            {
-                return;//存在任务则无需增加
-            }
-            using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew))
-            {
-               
-                var isql = @"INSERT INTO HL7_Platform.dbo.HL7_Scan  (ID ,ChartNo,VisitNo,OtherNo1,OtherNo2,OtherNo3,OtherName ,  TaskType ,  TaskStatus ,  UpdateUser ,  UpdateTime,Reserve1) VALUES (@ID ,@ChartNo ,@VisitNo ,@OtherNo1 ,  @OtherNo2 ,@OtherNo3 ,@OtherName ,@TaskType ,@TaskStatus , @UpdateUser , GETDATE(),@Reserve1)";
-                    //门诊处方单
-                if (GetScanTaskCount(visitNo, "ADT^A04[B01]") <= 0)
-                {
-                    var dcmd = ctx.DBGetSqlStringCommand(isql);
-                    ctx.DBAddInParameter(dcmd, "id", System.Data.DbType.String, Guid.NewGuid().ToString());
-                    ctx.DBAddInParameter(dcmd, "ChartNo", System.Data.DbType.String, visitNo);
-                    ctx.DBAddInParameter(dcmd, "VisitNo", System.Data.DbType.String, visitNo);
-                    ctx.DBAddInParameter(dcmd, "OtherNo1", System.Data.DbType.String, date.ToString("yyyy-MM-dd HH:mm:ss"));
-                    ctx.DBAddInParameter(dcmd, "OtherNo2", System.Data.DbType.String, "");
-                    ctx.DBAddInParameter(dcmd, "OtherNo3", System.Data.DbType.String, "");
-                    ctx.DBAddInParameter(dcmd, "OtherName", System.Data.DbType.String, "门诊处方单");
-                    ctx.DBAddInParameter(dcmd, "TaskType", System.Data.DbType.String, "ADT^A04[B01]");
-                    ctx.DBAddInParameter(dcmd, "TaskStatus", System.Data.DbType.Int32, 1);
-                    ctx.DBAddInParameter(dcmd, "UpdateUser", System.Data.DbType.String, "9999");
-                    ctx.DBAddInParameter(dcmd, "Reserve1", System.Data.DbType.String, "");
-                    ctx.DBExecuteNonQuery(dcmd);
-                }
-
-                if (GetScanTaskCount(visitNo, "ADT^A01[B02]")<= 0)
-                {
-                    //门诊收费明细
-                    var lcmd = ctx.DBGetSqlStringCommand(isql);
-                    ctx.AddInParameter(lcmd, "id", System.Data.DbType.String, Guid.NewGuid().ToString());
-                    ctx.AddInParameter(lcmd, "ChartNo", System.Data.DbType.String, visitNo);
-                    ctx.AddInParameter(lcmd, "VisitNo", System.Data.DbType.String, visitNo);
-                    ctx.AddInParameter(lcmd, "OtherNo1", System.Data.DbType.String, date.ToString("yyyy-MM-dd HH:mm:ss"));
-                    ctx.AddInParameter(lcmd, "OtherNo2", System.Data.DbType.String, "");
-                    ctx.AddInParameter(lcmd, "OtherNo3", System.Data.DbType.String, "");
-                    ctx.AddInParameter(lcmd, "OtherName", System.Data.DbType.String, "门诊收费明细");
-                    ctx.AddInParameter(lcmd, "TaskType", System.Data.DbType.String, "ADT^A04[B02]");
-                    ctx.AddInParameter(lcmd, "TaskStatus", System.Data.DbType.Int32, 1);
-                    ctx.AddInParameter(lcmd, "UpdateUser", System.Data.DbType.String, "9999");
-                    ctx.AddInParameter(lcmd, "Reserve1", System.Data.DbType.String, "");
-                    ctx.DBExecuteNonQuery(lcmd);
-                }
-
-                if (GetScanTaskCount(visitNo, "ADT^A01[B03]") <= 0)
-                {
-                    //门诊挂号
-                    var gcmd = ctx.DBGetSqlStringCommand(isql);
-                    ctx.AddInParameter(gcmd, "id", System.Data.DbType.String, Guid.NewGuid().ToString());
-                    ctx.AddInParameter(gcmd, "ChartNo", System.Data.DbType.String, visitNo);
-                    ctx.AddInParameter(gcmd, "VisitNo", System.Data.DbType.String, visitNo);
-                    ctx.AddInParameter(gcmd, "OtherNo1", System.Data.DbType.String, date.ToString("yyyy-MM-dd HH:mm:ss"));
-                    ctx.AddInParameter(gcmd, "OtherNo2", System.Data.DbType.String, "");
-                    ctx.AddInParameter(gcmd, "OtherNo3", System.Data.DbType.String, "");
-                    ctx.AddInParameter(gcmd, "OtherName", System.Data.DbType.String, "门诊挂号明细");
-                    ctx.AddInParameter(gcmd, "TaskType", System.Data.DbType.String, "ADT^A04[B03]");
-                    ctx.AddInParameter(gcmd, "TaskStatus", System.Data.DbType.Int32, 1);
-                    ctx.AddInParameter(gcmd, "UpdateUser", System.Data.DbType.String, "9999");
-                    ctx.AddInParameter(gcmd, "Reserve1", System.Data.DbType.String, "");
-                    ctx.DBExecuteNonQuery(gcmd);
-                }
-
-                scope.Complete();
-            }
-        }
-
-
-        public string GetDiagNo(string icdCode)
-        {
-            try
-            {
-                var sql = string.Format("SELECT DiagNo FROM HealthCare.dbo.Diag WHERE IcdCode='{0}'", icdCode);
-                var obj = ctx.DBExecuteScalar(CommandType.Text, sql);
-                var val = StrHelepr.Obj2StrTrim(obj);
-                if (string.IsNullOrWhiteSpace(val))
-                {
-                    val = icdCode;
-                }
-
-                return val;
-            }
-            catch (Exception ex)
-            {
-                IL.Common.LogHelper.LogError(string.Format("获取DiagNo错误:{0}  {1}\r\n{2}", icdCode, ex.Message, ex.StackTrace), LogCatagories.MQAccess);
-                return string.Empty;
-            }
-        }
-
-        public string GetBedNo(Database ctx, string roombed)
-        {
-            var sql = "SELECT Top 1 BedNo FROM HealthCare.dbo.Bed WHERE RoomBed=@RoomBed";
-            var cmd = ctx.DBGetSqlStringCommand(sql);
-            ctx.AddInParameter(cmd, "RoomBed", DbType.String, roombed);
-            var obj = StrHelepr.Obj2StrTrim(ctx.DBExecuteScalar(cmd));
-            if (string.IsNullOrWhiteSpace(obj))
-            {
-                obj = roombed;
-            }
-            return obj;
-
-        }
-
-    }
-
-
-}

+ 0 - 124
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A05_Handler.cs

@@ -1,124 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-using Microsoft.Practices.EnterpriseLibrary.Data;
-using System.Transactions;
-using MediII.Adapter.ReceiveToScanModel;
-using IL.Common;
-using System.Data.Common;
-using System.Data;
-
-namespace MediII.Adapter.BizComponent.ADT
-{
-    public class ADT_A05_Handler : ADTHandler
-    {
-        public override void Handler(string m)
-        {
-            #region 门诊就诊更新
-            //初始化
-            var rtnMsg = string.Empty;
-            var msgHead = string.Empty;
-            var msgBody = string.Empty;
-            var resultCode = string.Empty;
-            var result = string.Empty;
-            WebService server = new WebService();
-            OperateXmlUtil xmlHelper = new OperateXmlUtil();
-            //读取配置的凭证号
-            var cert = System.Configuration.ConfigurationManager.AppSettings["cert"];
-            //读取就诊流水号
-            string visitNo = xmlHelper.XpathRead(m, "//*[@root='2.16.156.10011.2.5.1.9']", "extension");
-            var tmp = xmlHelper.XpathRead(m, "//*[name()='effectiveTime']");
-            var visitDate = tmp[0].LastChild.Attributes["value"].Value;
-            DateTime date = DateTime.ParseExact(visitDate, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
-
-            if (GetScanTaskCount(visitNo, "ADT^A05[B01]") > 0)
-            {
-                return;//存在任务则无需增加
-            }
-            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
-           {
-               #region 门诊就诊更新 
-
-               var isql = @"INSERT INTO HL7_Platform.dbo.HL7_Scan  (ID ,ChartNo,VisitNo,OtherNo1,OtherNo2,OtherNo3,OtherName ,  TaskType ,  TaskStatus ,  UpdateUser ,  UpdateTime,Reserve1) VALUES (@ID ,@ChartNo ,@VisitNo ,@OtherNo1 ,  @OtherNo2 ,@OtherNo3 ,@OtherName ,@TaskType ,@TaskStatus , @UpdateUser , GETDATE(),@Reserve1)";
-               //门诊处方单
-               if (GetScanTaskCount(visitNo, "ADT^A01[B01]") <= 0)
-               {
-                   var dcmd = ctx.DBGetSqlStringCommand(isql);
-                   ctx.AddInParameter(dcmd, "id", System.Data.DbType.String, Guid.NewGuid().ToString());
-                   ctx.AddInParameter(dcmd, "ChartNo", System.Data.DbType.String, visitNo);
-                   ctx.AddInParameter(dcmd, "VisitNo", System.Data.DbType.String, visitNo);
-                   ctx.AddInParameter(dcmd, "OtherNo1", System.Data.DbType.String, date.ToString("yyyy-MM-dd HH:mm:ss"));
-                   ctx.AddInParameter(dcmd, "OtherNo2", System.Data.DbType.String, "");
-                   ctx.AddInParameter(dcmd, "OtherNo3", System.Data.DbType.String, "");
-                   ctx.AddInParameter(dcmd, "OtherName", System.Data.DbType.String, "门诊处方单");
-                   ctx.AddInParameter(dcmd, "TaskType", System.Data.DbType.String, "ADT^A04[B01]");
-                   ctx.AddInParameter(dcmd, "TaskStatus", System.Data.DbType.Int32, 1);
-                   ctx.AddInParameter(dcmd, "UpdateUser", System.Data.DbType.String, "9999");
-                   ctx.AddInParameter(dcmd, "Reserve1", System.Data.DbType.String, "");
-                   ctx.DBExecuteNonQuery(dcmd);
-               }
-        
-               #endregion
-
-               //门诊收费明细
-               if (GetScanTaskCount(visitNo, "ADT^A01[B02]") <= 0)
-               {
-                   var lcmd = ctx.DBGetSqlStringCommand(isql);
-                   ctx.AddInParameter(lcmd, "id", System.Data.DbType.String, Guid.NewGuid().ToString());
-                   ctx.AddInParameter(lcmd, "ChartNo", System.Data.DbType.String, visitNo);
-                   ctx.AddInParameter(lcmd, "VisitNo", System.Data.DbType.String, visitNo);
-                   ctx.AddInParameter(lcmd, "OtherNo1", System.Data.DbType.String, date.ToString("yyyy-MM-dd HH:mm:ss"));
-                   ctx.AddInParameter(lcmd, "OtherNo2", System.Data.DbType.String, "");
-                   ctx.AddInParameter(lcmd, "OtherNo3", System.Data.DbType.String, "");
-                   ctx.AddInParameter(lcmd, "OtherName", System.Data.DbType.String, "门诊收费明细");
-                   ctx.AddInParameter(lcmd, "TaskType", System.Data.DbType.String, "ADT^A04[B02]");
-                   ctx.AddInParameter(lcmd, "TaskStatus", System.Data.DbType.Int32, 1);
-                   ctx.AddInParameter(lcmd, "UpdateUser", System.Data.DbType.String, "9999");
-                   ctx.AddInParameter(lcmd, "Reserve1", System.Data.DbType.String, "");
-                   ctx.DBExecuteNonQuery(lcmd);
-               }
-
-               if (GetScanTaskCount(visitNo, "ADT^A01[B03]") <= 0)
-               {
-                   //门诊挂号
-                   var gcmd = ctx.DBGetSqlStringCommand(isql);
-                   ctx.AddInParameter(gcmd, "id", System.Data.DbType.String, Guid.NewGuid().ToString());
-                   ctx.AddInParameter(gcmd, "ChartNo", System.Data.DbType.String, visitNo);
-                   ctx.AddInParameter(gcmd, "VisitNo", System.Data.DbType.String, visitNo);
-                   ctx.AddInParameter(gcmd, "OtherNo1", System.Data.DbType.String, date.ToString("yyyy-MM-dd HH:mm:ss"));
-                   ctx.AddInParameter(gcmd, "OtherNo2", System.Data.DbType.String, "");
-                   ctx.AddInParameter(gcmd, "OtherNo3", System.Data.DbType.String, "");
-                   ctx.AddInParameter(gcmd, "OtherName", System.Data.DbType.String, "门诊挂号明细");
-                   ctx.AddInParameter(gcmd, "TaskType", System.Data.DbType.String, "ADT^A04[B03]");
-                   ctx.AddInParameter(gcmd, "TaskStatus", System.Data.DbType.Int32, 1);
-                   ctx.AddInParameter(gcmd, "UpdateUser", System.Data.DbType.String, "9999");
-                   ctx.AddInParameter(gcmd, "Reserve1", System.Data.DbType.String, "");
-                   ctx.DBExecuteNonQuery(gcmd);
-               }
-               scope.Complete();
-            }
-            #endregion
-            
-
-        }
-
-        /// <summary>
-        /// 获取急诊病人床位
-        /// </summary>
-        /// <param name="ctx"></param>
-        /// <param name="visitNo"></param>
-        /// <returns></returns>
-        private string GetDepartNo(Database ctx, string roomBed)
-        {
-
-            var sql = string.Format("SELECT top 1 DepartNo FROM dbo.Depart WHERE DepartCode='{0}' AND DepartType='99' AND IsDel=0", roomBed);
-            var dr = ctx.DBExecuteScalar(CommandType.Text, sql);
-            return StrHelepr.Obj2StrTrim(dr);
-        }
-
-
-
-    }
-}

+ 85 - 0
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A08B01_Handler.cs

@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using System.Data;
+using System.Data.Common;
+using IL.Common;
+using MediII.Adapter.ReceiveToScanModel;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+namespace MediII.Adapter.BizComponent.ADT
+{
+    /// <summary>
+    /// 门急诊诊断信息
+    /// </summary>
+    public class ADT_A08B01_Handler : ADTHandler
+    {
+        public override void Handler(TaskMessage m)
+        {
+            //初始化
+            var rtnMsg = string.Empty;
+            var msgHead = string.Empty;
+            var msgBody = string.Empty;
+            var resultCode = string.Empty;
+            var result = string.Empty;
+            string guid = MediII.Common.GUIDHelper.NewGUID();
+            Restful server = new Restful();
+            string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"{3}\",\"size\":1,\"begin_date\":\"{2}\",\"page\":\"{6}\",\"patient_no\":\"\",\"patient_name\":\"\",}}}";
+
+            var token = JToken.Parse(jbody);
+            var jtimestamp = token.SelectToken("Request.Head.Timestamp");
+            jtimestamp.Replace(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            var jTranCode = token.SelectToken("Request.Head.TranCode");
+            jTranCode.Replace("v_opd_diag_info");
+            var jMessageId = token.SelectToken("Request.Head.MessageId");
+            jMessageId.Replace(guid);
+            var jend_date = token.SelectToken("Request.Body.end_date");
+            jend_date.Replace(m.Parameter2);
+            var jbegin_date = token.SelectToken("Request.Body.begin_date");
+            jbegin_date.Replace(m.Parameter1);
+            var jpage = token.SelectToken("Request.Body.page");
+            jpage.Replace(m.Parameter3);
+            var jsize = token.SelectToken("Request.Body.size");
+            jsize.Replace(m.Reserve3);
+            //读取配置的url
+            var url = System.Configuration.ConfigurationManager.AppSettings["Post_url"];
+            string responseMsg = string.Empty;
+
+            responseMsg = server.Post(url, JsonConvert.SerializeObject(token));
+            if (string.IsNullOrWhiteSpace(responseMsg))
+                throw new Exception("无返回数据," + responseMsg);
+
+            //解析body,
+            var jRequestBody = JObject.Parse(responseMsg);
+            var jRequest = jRequestBody["Response"];
+            var jBody = jRequest["Body"];
+            var jHead = jRequest["Head"];
+            var head = JsonConvert.DeserializeObject<ResponseHead>(jHead.ToString());
+            var jdata = jBody["data"];
+
+            if (head.AckCode != "100")
+                throw new Exception("返回错误:" + head.AckMessage);
+            if ((string)jdata["total"] != "0")
+            {
+                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
+                {
+                    var isql = @"INSERT INTO TaskResponse(TaskID, TaskType, `Status`, Content, ErrNm, ResolvingMsg, ResolvingTime, RemarkContent) 
+VALUES(@TaskID,@TaskType,1,@Content,0,null,null,@RemarkContent)";
+                    //住院就诊
+                    var cmd = ctx.DBGetSqlStringCommand(isql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskID", DbType.AnsiString, m.TaskID);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, m.TaskType);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "Content", DbType.AnsiString, responseMsg);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "RemarkContent", DbType.AnsiString, JsonConvert.SerializeObject(token));
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
+
+                    scope.Complete();
+                }
+                SetNextTask(m);
+            }
+        }
+    }
+}

+ 85 - 0
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A08B02_Handler.cs

@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using System.Data;
+using System.Data.Common;
+using IL.Common;
+using MediII.Adapter.ReceiveToScanModel;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+namespace MediII.Adapter.BizComponent.ADT
+{
+    /// <summary>
+    /// 住院诊断信息
+    /// </summary>
+    public class ADT_A08B02_Handler : ADTHandler
+    {
+        public override void Handler(TaskMessage m)
+        {
+            //初始化
+            var rtnMsg = string.Empty;
+            var msgHead = string.Empty;
+            var msgBody = string.Empty;
+            var resultCode = string.Empty;
+            var result = string.Empty;
+            string guid = MediII.Common.GUIDHelper.NewGUID();
+            Restful server = new Restful();
+            string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"{3}\",\"size\":1,\"begin_date\":\"{2}\",\"page\":\"{6}\",\"patient_no\":\"\",\"patient_name\":\"\",}}}";
+
+            var token = JToken.Parse(jbody);
+            var jtimestamp = token.SelectToken("Request.Head.Timestamp");
+            jtimestamp.Replace(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            var jTranCode = token.SelectToken("Request.Head.TranCode");
+            jTranCode.Replace("v_inp_diag_info");
+            var jMessageId = token.SelectToken("Request.Head.MessageId");
+            jMessageId.Replace(guid);
+            var jend_date = token.SelectToken("Request.Body.end_date");
+            jend_date.Replace(m.Parameter2);
+            var jbegin_date = token.SelectToken("Request.Body.begin_date");
+            jbegin_date.Replace(m.Parameter1);
+            var jpage = token.SelectToken("Request.Body.page");
+            jpage.Replace(m.Parameter3);
+            var jsize = token.SelectToken("Request.Body.size");
+            jsize.Replace(m.Reserve3);
+            //读取配置的url
+            var url = System.Configuration.ConfigurationManager.AppSettings["Post_url"];
+            string responseMsg = string.Empty;
+
+            responseMsg = server.Post(url, JsonConvert.SerializeObject(token));
+            if (string.IsNullOrWhiteSpace(responseMsg))
+                throw new Exception("无返回数据," + responseMsg);
+
+            //解析body,
+            var jRequestBody = JObject.Parse(responseMsg);
+            var jRequest = jRequestBody["Response"];
+            var jBody = jRequest["Body"];
+            var jHead = jRequest["Head"];
+            var head = JsonConvert.DeserializeObject<ResponseHead>(jHead.ToString());
+            var jdata = jBody["data"];
+
+            if (head.AckCode != "100")
+                throw new Exception("返回错误:" + head.AckMessage);
+            if ((string)jdata["total"] != "0")
+            {
+                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
+                {
+                    var isql = @"INSERT INTO TaskResponse(TaskID, TaskType, `Status`, Content, ErrNm, ResolvingMsg, ResolvingTime, RemarkContent) 
+VALUES(@TaskID,@TaskType,1,@Content,0,null,null,@RemarkContent)";
+                    //住院就诊
+                    var cmd = ctx.DBGetSqlStringCommand(isql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskID", DbType.AnsiString, m.TaskID);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, m.TaskType);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "Content", DbType.AnsiString, responseMsg);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "RemarkContent", DbType.AnsiString, JsonConvert.SerializeObject(token));
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
+
+                    scope.Complete();
+                }
+                SetNextTask(m);
+            }
+        }
+    }
+}

+ 85 - 0
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A31_Handler.cs

@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using System.Data;
+using System.Data.Common;
+using IL.Common;
+using MediII.Adapter.ReceiveToScanModel;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+namespace MediII.Adapter.BizComponent.ADT
+{
+    /// <summary>
+    /// 患者基本信息
+    /// </summary>
+    public class ADT_A31_Handler : ADTHandler
+    {
+        public override void Handler(TaskMessage m)
+        {
+            //初始化
+            var rtnMsg = string.Empty;
+            var msgHead = string.Empty;
+            var msgBody = string.Empty;
+            var resultCode = string.Empty;
+            var result = string.Empty;
+            string guid = MediII.Common.GUIDHelper.NewGUID();
+            Restful server = new Restful();
+            string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"{3}\",\"size\":1,\"begin_date\":\"{2}\",\"page\":\"{6}\",\"patient_no\":\"\",\"patient_name\":\"\",}}}";
+
+            var token = JToken.Parse(jbody);
+            var jtimestamp = token.SelectToken("Request.Head.Timestamp");
+            jtimestamp.Replace(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            var jTranCode = token.SelectToken("Request.Head.TranCode");
+            jTranCode.Replace("v_pt_base_info");
+            var jMessageId = token.SelectToken("Request.Head.MessageId");
+            jMessageId.Replace(guid);
+            var jend_date = token.SelectToken("Request.Body.end_date");
+            jend_date.Replace(m.Parameter2);
+            var jbegin_date = token.SelectToken("Request.Body.begin_date");
+            jbegin_date.Replace(m.Parameter1);
+            var jpage = token.SelectToken("Request.Body.page");
+            jpage.Replace(m.Parameter3);
+            var jsize = token.SelectToken("Request.Body.size");
+            jsize.Replace(m.Reserve3);
+            //读取配置的url
+            var url = System.Configuration.ConfigurationManager.AppSettings["Post_url"];
+            string responseMsg = string.Empty;
+
+            responseMsg = server.Post(url, JsonConvert.SerializeObject(token));
+            if (string.IsNullOrWhiteSpace(responseMsg))
+                throw new Exception("无返回数据," + responseMsg);
+
+            //解析body,
+            var jRequestBody = JObject.Parse(responseMsg);
+            var jRequest = jRequestBody["Response"];
+            var jBody = jRequest["Body"];
+            var jHead = jRequest["Head"];
+            var head = JsonConvert.DeserializeObject<ResponseHead>(jHead.ToString());
+            var jdata = jBody["data"];
+
+            if (head.AckCode != "100")
+                throw new Exception("返回错误:" + head.AckMessage);
+            if ((string)jdata["total"] != "0")
+            {
+                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
+                {
+                    var isql = @"INSERT INTO TaskResponse(TaskID, TaskType, `Status`, Content, ErrNm, ResolvingMsg, ResolvingTime, RemarkContent) 
+VALUES(@TaskID,@TaskType,1,@Content,0,null,null,@RemarkContent)";
+                    //住院就诊
+                    var cmd = ctx.DBGetSqlStringCommand(isql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskID", DbType.AnsiString, m.TaskID);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, m.TaskType);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "Content", DbType.AnsiString, responseMsg);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "RemarkContent", DbType.AnsiString, JsonConvert.SerializeObject(token));
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
+
+                    scope.Complete();
+                }
+                SetNextTask(m);
+            }
+        }
+    }
+}

+ 85 - 0
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A90_Handler.cs

@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using System.Data;
+using System.Data.Common;
+using IL.Common;
+using MediII.Adapter.ReceiveToScanModel;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+namespace MediII.Adapter.BizComponent.ADT
+{
+    /// <summary>
+    /// 病案首页信息
+    /// </summary>
+    public class ADT_A90_Handler : ADTHandler
+    {
+        public override void Handler(TaskMessage m)
+        {
+            //初始化
+            var rtnMsg = string.Empty;
+            var msgHead = string.Empty;
+            var msgBody = string.Empty;
+            var resultCode = string.Empty;
+            var result = string.Empty;
+            string guid = MediII.Common.GUIDHelper.NewGUID();
+            Restful server = new Restful();
+            string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"{3}\",\"size\":1,\"begin_date\":\"{2}\",\"page\":\"{6}\",\"patient_no\":\"\",\"patient_name\":\"\",}}}";
+
+            var token = JToken.Parse(jbody);
+            var jtimestamp = token.SelectToken("Request.Head.Timestamp");
+            jtimestamp.Replace(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            var jTranCode = token.SelectToken("Request.Head.TranCode");
+            jTranCode.Replace("v_medrecord_firstpage");
+            var jMessageId = token.SelectToken("Request.Head.MessageId");
+            jMessageId.Replace(guid);
+            var jend_date = token.SelectToken("Request.Body.end_date");
+            jend_date.Replace(m.Parameter2);
+            var jbegin_date = token.SelectToken("Request.Body.begin_date");
+            jbegin_date.Replace(m.Parameter1);
+            var jpage = token.SelectToken("Request.Body.page");
+            jpage.Replace(m.Parameter3);
+            var jsize = token.SelectToken("Request.Body.size");
+            jsize.Replace(m.Reserve3);
+            //读取配置的url
+            var url = System.Configuration.ConfigurationManager.AppSettings["Post_url"];
+            string responseMsg = string.Empty;
+
+            responseMsg = server.Post(url, JsonConvert.SerializeObject(token));
+            if (string.IsNullOrWhiteSpace(responseMsg))
+                throw new Exception("无返回数据," + responseMsg);
+
+            //解析body,
+            var jRequestBody = JObject.Parse(responseMsg);
+            var jRequest = jRequestBody["Response"];
+            var jBody = jRequest["Body"];
+            var jHead = jRequest["Head"];
+            var head = JsonConvert.DeserializeObject<ResponseHead>(jHead.ToString());
+            var jdata = jBody["data"];
+
+            if (head.AckCode != "100")
+                throw new Exception("返回错误:" + head.AckMessage);
+            if ((string)jdata["total"] != "0")
+            {
+                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
+                {
+                    var isql = @"INSERT INTO TaskResponse(TaskID, TaskType, `Status`, Content, ErrNm, ResolvingMsg, ResolvingTime, RemarkContent) 
+VALUES(@TaskID,@TaskType,1,@Content,0,null,null,@RemarkContent)";
+                    //住院就诊
+                    var cmd = ctx.DBGetSqlStringCommand(isql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskID", DbType.AnsiString, m.TaskID);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, m.TaskType);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "Content", DbType.AnsiString, responseMsg);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "RemarkContent", DbType.AnsiString, JsonConvert.SerializeObject(token));
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
+
+                    scope.Complete();
+                }
+                SetNextTask(m);
+            }
+        }
+    }
+}

+ 85 - 0
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A91_Handler.cs

@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using System.Data;
+using System.Data.Common;
+using IL.Common;
+using MediII.Adapter.ReceiveToScanModel;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+namespace MediII.Adapter.BizComponent.ADT
+{
+    /// <summary>
+    /// 发票金额
+    /// </summary>
+    public class ADT_A91_Handler : ADTHandler
+    {
+        public override void Handler(TaskMessage m)
+        {
+            //初始化
+            var rtnMsg = string.Empty;
+            var msgHead = string.Empty;
+            var msgBody = string.Empty;
+            var resultCode = string.Empty;
+            var result = string.Empty;
+            string guid = MediII.Common.GUIDHelper.NewGUID();
+            Restful server = new Restful();
+            string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"{3}\",\"size\":1,\"begin_date\":\"{2}\",\"page\":\"{6}\",\"patient_no\":\"\",\"patient_name\":\"\",}}}";
+
+            var token = JToken.Parse(jbody);
+            var jtimestamp = token.SelectToken("Request.Head.Timestamp");
+            jtimestamp.Replace(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            var jTranCode = token.SelectToken("Request.Head.TranCode");
+            jTranCode.Replace("v_invoice_info");
+            var jMessageId = token.SelectToken("Request.Head.MessageId");
+            jMessageId.Replace(guid);
+            var jend_date = token.SelectToken("Request.Body.end_date");
+            jend_date.Replace(m.Parameter2);
+            var jbegin_date = token.SelectToken("Request.Body.begin_date");
+            jbegin_date.Replace(m.Parameter1);
+            var jpage = token.SelectToken("Request.Body.page");
+            jpage.Replace(m.Parameter3);
+            var jsize = token.SelectToken("Request.Body.size");
+            jsize.Replace(m.Reserve3);
+            //读取配置的url
+            var url = System.Configuration.ConfigurationManager.AppSettings["Post_url"];
+            string responseMsg = string.Empty;
+
+            responseMsg = server.Post(url, JsonConvert.SerializeObject(token));
+            if (string.IsNullOrWhiteSpace(responseMsg))
+                throw new Exception("无返回数据," + responseMsg);
+
+            //解析body,
+            var jRequestBody = JObject.Parse(responseMsg);
+            var jRequest = jRequestBody["Response"];
+            var jBody = jRequest["Body"];
+            var jHead = jRequest["Head"];
+            var head = JsonConvert.DeserializeObject<ResponseHead>(jHead.ToString());
+            var jdata = jBody["data"];
+
+            if (head.AckCode != "100")
+                throw new Exception("返回错误:" + head.AckMessage);
+            if ((string)jdata["total"] != "0")
+            {
+                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
+                {
+                    var isql = @"INSERT INTO TaskResponse(TaskID, TaskType, `Status`, Content, ErrNm, ResolvingMsg, ResolvingTime, RemarkContent) 
+VALUES(@TaskID,@TaskType,1,@Content,0,null,null,@RemarkContent)";
+                    //住院就诊
+                    var cmd = ctx.DBGetSqlStringCommand(isql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskID", DbType.AnsiString, m.TaskID);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, m.TaskType);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "Content", DbType.AnsiString, responseMsg);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "RemarkContent", DbType.AnsiString, JsonConvert.SerializeObject(token));
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
+
+                    scope.Complete();
+                }
+                SetNextTask(m);
+            }
+        }
+    }
+}

+ 85 - 0
IL.BizComponent/MediII.Adapter.BizComponent.ADT/ADT_A92_Handler.cs

@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using System.Data;
+using System.Data.Common;
+using IL.Common;
+using MediII.Adapter.ReceiveToScanModel;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+namespace MediII.Adapter.BizComponent.ADT
+{
+    /// <summary>
+    /// 药品领用出库信息
+    /// </summary>
+    public class ADT_A92_Handler : ADTHandler
+    {
+        public override void Handler(TaskMessage m)
+        {
+            //初始化
+            var rtnMsg = string.Empty;
+            var msgHead = string.Empty;
+            var msgBody = string.Empty;
+            var resultCode = string.Empty;
+            var result = string.Empty;
+            string guid = MediII.Common.GUIDHelper.NewGUID();
+            Restful server = new Restful();
+            string jbody = "{\"Request\":{\"Head\":{\"LicId\":\"6F9619FF-8B86-D011-B66D-00C04FC966FF\",\"RecAppId\":\"HIS\",\"ContentType\":\"text/json\",\"TranCode\":\"{0}\",\"Timestamp\":\"{5}\",\"OrgId\":\"991797\",\"AppId\":\"WiNEX\",\"Version\":\"1.1\",\"ServiceVersion\":\"1.0\",\"RecOrgId\":\"991797\",\"IPAddress\":\"100.100.100.100\",\"AppType\":\"PC\",\"MessageId\":\"{4}\"},\"Body\":{\"end_date\":\"{3}\",\"size\":1,\"begin_date\":\"{2}\",\"page\":\"{6}\",\"patient_no\":\"\",\"patient_name\":\"\",}}}";
+
+            var token = JToken.Parse(jbody);
+            var jtimestamp = token.SelectToken("Request.Head.Timestamp");
+            jtimestamp.Replace(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+            var jTranCode = token.SelectToken("Request.Head.TranCode");
+            jTranCode.Replace("v_drug_requisition_info");
+            var jMessageId = token.SelectToken("Request.Head.MessageId");
+            jMessageId.Replace(guid);
+            var jend_date = token.SelectToken("Request.Body.end_date");
+            jend_date.Replace(m.Parameter2);
+            var jbegin_date = token.SelectToken("Request.Body.begin_date");
+            jbegin_date.Replace(m.Parameter1);
+            var jpage = token.SelectToken("Request.Body.page");
+            jpage.Replace(m.Parameter3);
+            var jsize = token.SelectToken("Request.Body.size");
+            jsize.Replace(m.Reserve3);
+            //读取配置的url
+            var url = System.Configuration.ConfigurationManager.AppSettings["Post_url"];
+            string responseMsg = string.Empty;
+
+            responseMsg = server.Post(url, JsonConvert.SerializeObject(token));
+            if (string.IsNullOrWhiteSpace(responseMsg))
+                throw new Exception("无返回数据," + responseMsg);
+
+            //解析body,
+            var jRequestBody = JObject.Parse(responseMsg);
+            var jRequest = jRequestBody["Response"];
+            var jBody = jRequest["Body"];
+            var jHead = jRequest["Head"];
+            var head = JsonConvert.DeserializeObject<ResponseHead>(jHead.ToString());
+            var jdata = jBody["data"];
+
+            if (head.AckCode != "100")
+                throw new Exception("返回错误:" + head.AckMessage);
+            if ((string)jdata["total"] != "0")
+            {
+                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
+                {
+                    var isql = @"INSERT INTO TaskResponse(TaskID, TaskType, `Status`, Content, ErrNm, ResolvingMsg, ResolvingTime, RemarkContent) 
+VALUES(@TaskID,@TaskType,1,@Content,0,null,null,@RemarkContent)";
+                    //住院就诊
+                    var cmd = ctx.DBGetSqlStringCommand(isql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskID", DbType.AnsiString, m.TaskID);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "TaskType", DbType.AnsiString, m.TaskType);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "Content", DbType.AnsiString, responseMsg);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "RemarkContent", DbType.AnsiString, JsonConvert.SerializeObject(token));
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
+
+                    scope.Complete();
+                }
+                SetNextTask(m);
+            }
+        }
+    }
+}

+ 3 - 2
IL.BizComponent/MediII.Adapter.BizComponent.ADT/BizComponent_ADT.cs

@@ -3,19 +3,20 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;  
 using MediII.Adapter.BizComponent.Base;
+using MediII.Adapter.ReceiveToScanModel;
 
 namespace MediII.Adapter.BizComponent.ADT
 {
     public class BizComponent_ADT : BaseBizComponent, IBizComponent
     {
-        public override string DoProcess(string m,string msgType)
+        public override string DoProcess(TaskMessage msg ,string msgType)
         {
             try
             {
                 ADTHandler handler = ADTHandler.GetHandler(msgType);
                 try
                 {
-                    handler.Handler(m);
+                    handler.Handler(msg);
                     return string.Empty;
                 }
                 catch (Exception ex)

+ 19 - 5
IL.BizComponent/MediII.Adapter.BizComponent.ADT/MediII.Adapter.BizComponent.ADT.csproj

@@ -74,6 +74,10 @@
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\dll\Microsoft.Practices.EnterpriseLibrary.Logging.dll</HintPath>
     </Reference>
+    <Reference Include="Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\..\..\..\Source\dll\Newtonsoft.Json.dll</HintPath>
+    </Reference>
     <Reference Include="SI.Common.SITask">
       <HintPath>..\..\..\dll\SI.Common.SITask.dll</HintPath>
     </Reference>
@@ -93,10 +97,20 @@
   </ItemGroup>
   <ItemGroup>
     <Compile Include="ADTHandler.cs" />
-    <Compile Include="ADT_A04_Handler.cs" />
-    <Compile Include="ADT_A05_Handler.cs" />
-    <Compile Include="ADT_A02_Handler.cs" />
-    <Compile Include="ADT_A01_Handler.cs" />
+    <Compile Include="ADT_A92_Handler.cs" />
+    <Compile Include="ADT_A91_Handler.cs" />
+    <Compile Include="ADT_A90_Handler.cs" />
+    <Compile Include="ADT_A31_Handler.cs" />
+    <Compile Include="ADT_A08B02_Handler.cs" />
+    <Compile Include="ADT_A08B01_Handler.cs" />
+    <Compile Include="ADT_A04B03_Handler.cs" />
+    <Compile Include="ADT_A04B02_Handler.cs" />
+    <Compile Include="ADT_A04B01_Handler.cs" />
+    <Compile Include="ADT_A03_Handler.cs" />
+    <Compile Include="ADT_A01B03_Handler.cs" />
+    <Compile Include="ADT_A01B04_Handler.cs" />
+    <Compile Include="ADT_A01B02_Handler.cs" />
+    <Compile Include="ADT_A01B01_Handler.cs" />
     <Compile Include="BizComponent_ADT.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <EmbeddedResource Include="Properties\Resources.resx">
@@ -126,7 +140,7 @@
     </ProjectReference>
     <ProjectReference Include="..\..\MediII.Adapter.ReceiveToScanModel\MediII.Adapter.ReceiveToScanModel.csproj">
       <Project>{f182ac2b-a0d5-40d2-89af-8d547606b6ac}</Project>
-      <Name>MediII.Adapter.ReceiveToSIModel</Name>
+      <Name>MediII.Adapter.ReceiveToScanModel</Name>
     </ProjectReference>
     <ProjectReference Include="..\MediII.Adapter.BizComponent.Base\MediII.Adapter.BizComponent.Base.csproj">
       <Project>{619b1dbf-55b7-446b-af40-852a6ab689a0}</Project>

+ 8 - 7
IL.BizComponent/MediII.Adapter.BizComponent.Base/BaseBizComponent.cs

@@ -7,6 +7,7 @@ using System.ComponentModel.Composition;
 using Microsoft.Practices.EnterpriseLibrary.Data;
 using System.Data.Common;
 using IL.Common;
+using MediII.Adapter.ReceiveToScanModel;
 
 namespace MediII.Adapter.BizComponent.Base
 {
@@ -55,19 +56,19 @@ namespace MediII.Adapter.BizComponent.Base
         /// 处理消息
         /// </summary>
         /// <param name="message">解析后消息的抽象类型</param>
-        public abstract string DoProcess(string message,string msgType);
+        public abstract string DoProcess(TaskMessage message, string msgType);
 
         /// <summary>
         ///实现处理的接口
         /// </summary>
         /// <param name="message">传入的消息字符</param>
         /// <returns></returns>
-        public string Process(string message,string msgType)
+        public string Process(TaskMessage message,string msgType)
         {
-            OperateXmlUtil xmlHelper = new OperateXmlUtil();
-            string messageID = xmlHelper.XpathRead(message, "//*[@root='2.16.156.10011.2.5.1.1']", "extension");
+            //OperateXmlUtil xmlHelper = new OperateXmlUtil();
+            //string messageID = xmlHelper.XpathRead(message, "//*[@root='2.16.156.10011.2.5.1.1']", "extension");
             string guid = MediII.Common.GUIDHelper.NewGUID();
-            OnProcessing(guid, messageID, message, "HL7v3");
+            OnProcessing(guid, message.No.ToString(), message.TaskID, "Restful");
             string ack = DoProcess(message,msgType);
             OnProcessed(guid, "", ack, true);
             return ack;
@@ -95,8 +96,8 @@ namespace MediII.Adapter.BizComponent.Base
         #region 取DB服务器当前时间
         public static DateTime GetNow(Database ctx)
         {
-            DbCommand command = SqlDataAccess.GetSqlStringCommand(ctx, "SELECT  GETDATE() sysdate  ");
-            object obj = SqlDataAccess.ExecuteScalar(ctx, command);
+            DbCommand command = MySqlDataAccess.GetSqlStringCommand(ctx, "SELECT  SYSDATE() sysdate  ");
+            object obj = MySqlDataAccess.ExecuteScalar(ctx, command);
             if (obj != null)
                 return Convert.ToDateTime(obj.ToString());
             else

+ 3 - 2
IL.BizComponent/MediII.Adapter.BizComponent.Base/IBizComponent.cs

@@ -1,4 +1,5 @@
-using System;
+using MediII.Adapter.ReceiveToScanModel;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -13,6 +14,6 @@ namespace MediII.Adapter.BizComponent.Base
         /// <param name="message">处理消息的抽象接口</param>
         /// <param name="ackMessage">回复消息</param>
         /// <returns>1 成功,0 失败</returns>
-        string Process(string message,string msgType);
+        string Process(TaskMessage message,string msgType);
     }
 }

+ 4 - 0
IL.BizComponent/MediII.Adapter.BizComponent.Base/MediII.Adapter.BizComponent.Base.csproj

@@ -99,6 +99,10 @@
       <Project>{f320951f-886b-4f99-a3fd-5686c0a97868}</Project>
       <Name>IL.Common</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\MediII.Adapter.ReceiveToScanModel\MediII.Adapter.ReceiveToScanModel.csproj">
+      <Project>{f182ac2b-a0d5-40d2-89af-8d547606b6ac}</Project>
+      <Name>MediII.Adapter.ReceiveToScanModel</Name>
+    </ProjectReference>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>

+ 6 - 6
IL.BizComponent/MediII.Adapter.BizComponent.MFN/MFN_Z2B_GY_KESHI.cs

@@ -38,7 +38,7 @@ namespace MediII.Adapter.BizComponent.MFN
             string strMsgType;
             using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew))
             {
-                string sqlSel = "select count(*) from dbo.his_unit where id=@id";
+                string sqlSel = "select count(*) from his_unit where id=?id";
                 OperateXmlUtil helper = new OperateXmlUtil();
                 string pkid = helper.XpathRead(message, "//*[@root='2.16.156.10011.1.26']", "extension");
                 DbCommand cmd = ctx.DBGetSqlStringCommand(sqlSel);
@@ -47,12 +47,12 @@ namespace MediII.Adapter.BizComponent.MFN
                 
                 if (counts == 0)
                 {
-                    string sql = @"insert into dbo.his_unit(id,
+                    string sql = @"insert into his_unit(id,
                                                                 name,
 									                            pym)
-							                            VALUES(@id,
-                                                                @name,
-									                            @pym)";
+							                            VALUES(?id,
+                                                                ?name,
+									                            ?pym)";
 
                     OperateXmlUtil xmlHelper = new OperateXmlUtil();
                     DbCommand command = ctx.GetSqlStringCommand(sql.ToString());
@@ -62,7 +62,7 @@ namespace MediII.Adapter.BizComponent.MFN
                 }
                 else
                 {
-                    string sql = "update dbo.his_unit set name=@name,pym=@pym where id=@id";
+                    string sql = "update his_unit set name=?name,pym=?pym where id=?id";
                     OperateXmlUtil xmlHelper = new OperateXmlUtil();
                     DbCommand command = ctx.GetSqlStringCommand(sql.ToString());
                     Resolving(message, ctx, command);

+ 21 - 80
IL.BizComponent/MediII.Adapter.BizComponent.PMU/BizComponent_PMU.cs

@@ -44,7 +44,7 @@ namespace MediII.Adapter.BizComponent.PMU
             // {
             //取得消息类型 MAD新增 MUP更新 MDL删除 "MDC"作废 "MAC"恢复
             OperateXmlUtil helper = new OperateXmlUtil();
-            string qurysql = "select count(*) from dbo.his_doct where DOCT_CODE=@DOCT_CODE";
+            string qurysql = "select count(*) from his_doct where DOCT_CODE=?DOCT_CODE";
             DbCommand command = ctx.GetSqlStringCommand(qurysql.ToString());
             string pkid = helper.XpathRead(m, "//*[@root='2.16.156.10011.1.4']", "extension");
             ctx.AddInParameter(command, "DOCT_CODE", System.Data.DbType.String, pkid);
@@ -74,37 +74,34 @@ namespace MediII.Adapter.BizComponent.PMU
         public void AddData(string message, string id)
         {
             #region 新增
-            string sql = @"INSERT INTO dbo.his_doct
+            string sql = @"INSERT INTO his_doct
                                     ( DOCT_CODE ,
-                                    DOCT_NAME ,
-                                    HIS_DEPT_CODE ,
-                                    HIS_DEPT_NAME ,
-                                    status
+                                    DOCT_NAME
                                     )
-                            VALUES  ( @DOCT_CODE,
-                                    @DOCT_NAME ,
-                                    @HIS_DEPT_CODE ,
-                                    @HIS_DEPT_NAME ,
-                                    @status)";
+                            VALUES  ( ?DOCT_CODE,
+                                    ?DOCT_NAME)";
             DbCommand command = ctx.GetSqlStringCommand(sql.ToString());
 
             SetEntity(message, command, id);
-            SqlDataAccess.ExecuteNonQuery(ctx, command);
+            MySqlDataAccess.ExecuteNonQuery(ctx, command);
             #endregion
         }
         public void UpDateData(string message, string id)
         {
             #region 修改
-            string sql1 = @"update dbo.his_doct set 
-                                    DOCT_NAME =@DOCT_NAME,
-                                    HIS_DEPT_CODE =@HIS_DEPT_CODE,
-                                    HIS_DEPT_NAME =@HIS_DEPT_NAME,
-                                    status=@status
-                                where DOCT_CODE=@DOCT_CODE";
+//            string sql1 = @"update his_doct set 
+//                                    DOCT_NAME =?DOCT_NAME,
+//                                    HIS_DEPT_CODE =?HIS_DEPT_CODE,
+//                                    HIS_DEPT_NAME =?HIS_DEPT_NAME,
+//                                    status=?status
+//                                where DOCT_CODE=?DOCT_CODE";
+            string sql1 = @"update his_doct set 
+                                    DOCT_NAME =?DOCT_NAME
+                                where DOCT_CODE=?DOCT_CODE";
             DbCommand command1 = ctx.GetSqlStringCommand(sql1.ToString());
 
             SetEntity(message, command1, id);
-            SqlDataAccess.ExecuteNonQuery(ctx, command1);
+            MySqlDataAccess.ExecuteNonQuery(ctx, command1);
             #endregion
         }
 
@@ -144,63 +141,7 @@ namespace MediII.Adapter.BizComponent.PMU
             ctx.AddInParameter(command, "status", System.Data.DbType.String, "在用");
             //ctx.ExecuteNonQuery(command);
         }
-        public void AddEmpLicense(string type, string pkid, string bm, string updateuser)
-        {
-            #region 新增资格编码
-            var sql = @"INSERT INTO HealthCare.dbo.EmpLicense
-                                ( EmpLicenseID ,
-                                  EmpNo ,
-                                  LicenseType ,
-                                  LicenseClass ,
-                                  LicenseNo ,
-                                  IsMajor ,
-                                  IssueDate ,
-                                  StartDate ,
-                                  EndDate ,
-                                  UpdateUser ,
-                                  UpdateTime ,
-                                  IsDel
-                                )
-                        VALUES  ( NEXT VALUE FOR HealthCare.dbo.Seq_EmpLicense_EmpLicenseID ,
-                                  @EmpNo , 
-                                  @LicenseType , 
-                                  1 ,
-                                  @LicenseNo , 
-                                  0 , 
-                                  GETDATE() , 
-                                  GETDATE() , 
-                                  '2999-12-31 00:00:00.000',
-                                  @UpdateUser , 
-                                  GETDATE() , 
-                                  0
-                                )";
-            #endregion
-            var cmd = SqlDataAccess.GetSqlStringCommand(ctx, sql);
-            SqlDataAccess.AddInParameter(ctx, cmd, "EmpNo", DbType.AnsiString, pkid);
-            SqlDataAccess.AddInParameter(ctx, cmd, "LicenseType", DbType.AnsiString, type);
-            SqlDataAccess.AddInParameter(ctx, cmd, "LicenseNo", DbType.AnsiString, bm);
-            SqlDataAccess.AddInParameter(ctx, cmd, "UpdateUser", DbType.AnsiString, updateuser);
-            SqlDataAccess.DBExecuteNonQuery(ctx, cmd);
-
-
-        }
-        public void UpdateEmpLicense(string type, string pkid, string bm)
-        {
-            var sql = @"UPDATE HealthCare.dbo.EmpLicense SET LicenseNo=@LicenseNo WHERE EmpNo=@EmpNo AND LicenseType=@LicenseType ";
-            var cmd = SqlDataAccess.GetSqlStringCommand(ctx, sql);
-            SqlDataAccess.AddInParameter(ctx, cmd, "EmpNo", DbType.AnsiString, pkid);
-            SqlDataAccess.AddInParameter(ctx, cmd, "LicenseType", DbType.AnsiString, type);
-            SqlDataAccess.AddInParameter(ctx, cmd, "LicenseNo", DbType.AnsiString, bm);
-            SqlDataAccess.DBExecuteNonQuery(ctx, cmd);
-        }
-        public void DeleteEmpLicense(string type, string pkid)
-        {
-            var sql = "DELETE FROM HealthCare.dbo.EmpLicense WHERE EmpNo=@EmpNo AND LicenseType=@LicenseType";
-            var cmd = SqlDataAccess.GetSqlStringCommand(ctx, sql);
-            SqlDataAccess.AddInParameter(ctx, cmd, "EmpNo", DbType.AnsiString, pkid);
-            SqlDataAccess.AddInParameter(ctx, cmd, "LicenseType", DbType.AnsiString, type);
-            SqlDataAccess.DBExecuteNonQuery(ctx, cmd);
-        }
+      
 
 
 
@@ -211,7 +152,7 @@ namespace MediII.Adapter.BizComponent.PMU
         ///// </summary> 
         //internal DateTime GetNow(Database ctx)
         //{ 
-        //    object obj = (DateTime)SqlDataAccess.ExecuteScalar(ctx, CommandType.Text, "select GETDATE()");
+        //    object obj = (DateTime)MySqlDataAccess.ExecuteScalar(ctx, CommandType.Text, "select GETDATE()");
         //    if (obj != null)
         //        return Convert.ToDateTime(obj.ToString());
         //    else
@@ -245,9 +186,9 @@ namespace MediII.Adapter.BizComponent.PMU
         public string GetYsdj(string hiscodeid)
         {
             var sql = "SELECT CodeID FROM HealthCare.dbo.V_UserLevel WHERE HisCodeID=@HisCodeID";
-            var cmd = SqlDataAccess.GetSqlStringCommand(ctx, sql);
-            SqlDataAccess.AddInParameter(ctx, cmd, "HisCodeID", DbType.AnsiString, hiscodeid);
-            string codeid = StrHelepr.Obj2StrTrim(SqlDataAccess.DBExecuteScalar(ctx, cmd));
+            var cmd = MySqlDataAccess.GetSqlStringCommand(ctx, sql);
+            MySqlDataAccess.AddInParameter(ctx, cmd, "HisCodeID", DbType.AnsiString, hiscodeid);
+            string codeid = StrHelepr.Obj2StrTrim(MySqlDataAccess.DBExecuteScalar(ctx, cmd));
             if (codeid != null)
             {
                 return codeid;

+ 2 - 2
MediII.Adapter.MsgToScanServer/ApplictStatic.cs

@@ -5,7 +5,7 @@ using System.Text;
 using System.Threading.Tasks;
 
 
-namespace MediII.Adapter.MsgToScanServer
+namespace MediII.Adapter.MsgToScanMServer
 {
     /// <summary>
     /// 
@@ -15,6 +15,6 @@ namespace MediII.Adapter.MsgToScanServer
         /// <summary>
         /// 
         /// </summary>
-        public const string ServerName = "KC.HL7.MsgToScanServer";
+        public const string ServerName = "KC.HL7.MsgToScanMServer";
     }
 }

+ 4 - 4
MediII.Adapter.MsgToScanServer/MediII.Adapter.MsgToScanServer.csproj → MediII.Adapter.MsgToScanServer/MediII.Adapter.MsgToScanMServer.csproj

@@ -7,8 +7,8 @@
     <ProjectGuid>{76458091-5802-4284-8861-5F96360119FF}</ProjectGuid>
     <OutputType>WinExe</OutputType>
     <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>MediII.Adapter.MsgToScanServer</RootNamespace>
-    <AssemblyName>MediII.Adapter.MsgToScanServer</AssemblyName>
+    <RootNamespace>MediII.Adapter.MsgToScanMServer</RootNamespace>
+    <AssemblyName>MediII.Adapter.MsgToScanMServer</AssemblyName>
     <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
   </PropertyGroup>
@@ -48,10 +48,10 @@
   </ItemGroup>
   <ItemGroup>
     <Compile Include="ApplictStatic.cs" />
-    <Compile Include="MsgToScanServer.cs">
+    <Compile Include="MsgToScanMServer.cs">
       <SubType>Component</SubType>
     </Compile>
-    <Compile Include="MsgToScanServer.Designer.cs" />
+    <Compile Include="MsgToScanMServer.Designer.cs" />
     <Compile Include="Program.cs" />
     <Compile Include="ProjectInstaller.cs">
       <SubType>Component</SubType>

+ 37 - 37
MediII.Adapter.MsgToScanServer/MsgToScanServer.Designer.cs → MediII.Adapter.MsgToScanServer/MsgToScanMServer.Designer.cs

@@ -1,37 +1,37 @@
-namespace MediII.Adapter.MsgToScanServer
-{
-    partial class MsgToScanServer
-    {
-        /// <summary> 
-        /// 必需的设计器变量。
-        /// </summary>
-        private System.ComponentModel.IContainer components = null;
-
-        /// <summary>
-        /// 清理所有正在使用的资源。
-        /// </summary>
-        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing && (components != null))
-            {
-                components.Dispose();
-            }
-            base.Dispose(disposing);
-        }
-
-        #region 组件设计器生成的代码
-
-        /// <summary> 
-        /// 设计器支持所需的方法 - 不要
-        /// 使用代码编辑器修改此方法的内容。
-        /// </summary>
-        private void InitializeComponent()
-        {
-            components = new System.ComponentModel.Container();
-            this.ServiceName = "Service1";
-        }
-
-        #endregion
-    }
-}
+namespace MediII.Adapter.MsgToScanMServer
+{
+    partial class MsgToScanMServer
+    {
+        /// <summary> 
+        /// 必需的设计器变量。
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// 清理所有正在使用的资源。
+        /// </summary>
+        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region 组件设计器生成的代码
+
+        /// <summary> 
+        /// 设计器支持所需的方法 - 不要
+        /// 使用代码编辑器修改此方法的内容。
+        /// </summary>
+        private void InitializeComponent()
+        {
+            components = new System.ComponentModel.Container();
+            this.ServiceName = "Service1";
+        }
+
+        #endregion
+    }
+}

+ 105 - 105
MediII.Adapter.MsgToScanServer/MsgToScanServer.cs → MediII.Adapter.MsgToScanServer/MsgToScanMServer.cs

@@ -1,105 +1,105 @@
-using IL.Common;
-using MediII.Adapter.Scan.Interface;
-using MediII.Adapter.Scanner;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Diagnostics;
-using System.IO.Pipes;
-using System.Linq;
-using System.ServiceProcess;
-using System.Text;
-using System.Threading;
-using System.Windows.Forms;
-
-namespace MediII.Adapter.MsgToScanServer
-{
-    /// <summary>
-    /// 
-    /// </summary>
-    public partial class MsgToScanServer : ServiceBase
-    {
-
-        private bool _addPool = false;//是否启动  
-        private Scaner scanner = new Scaner();
-        /// <summary>
-        /// 
-        /// </summary>
-        public MsgToScanServer()
-        {
-            InitializeComponent();
-
-        }
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="args"></param>
-        protected override void OnStart(string[] args)
-        {
-            sp_MessageLog(null,
-                new LogEventArgs()
-                {
-                    LogTime = DateTime.Now,
-                    LogModel = new LogModel() { Message = "服务启动" }
-                });
-
-            LogHelper.LogDebug("服务启动", LogCatagories.General);
-            LogHelper.LogInfo("服务启动", LogCatagories.General);
-            LogHelper.LogError("服务启动", LogCatagories.General);
-
-
-            LogHelper.LogDebug("服务启动", LogCatagories.Sock);
-            LogHelper.LogInfo("服务启动", LogCatagories.Sock);
-            LogHelper.LogError("服务启动", LogCatagories.Sock);
-
-            LogHelper.LogDebug("服务启动", LogCatagories.AdapterScan);
-            LogHelper.LogInfo("服务启动", LogCatagories.AdapterScan);
-            LogHelper.LogError("服务启动", LogCatagories.AdapterScan);
-
-            LogHelper.LogDebug("服务启动", LogCatagories.SQL);
-            LogHelper.LogInfo("服务启动", LogCatagories.SQL);
-            LogHelper.LogError("服务启动", LogCatagories.SQL);
-
-
-            System.Diagnostics.Debug.WriteLine("OnStart", ApplictStatic.ServerName);
-            //_running = true;
-            if (!_addPool)
-            {
-                ThreadPool.QueueUserWorkItem(DoTask);
-                _addPool = true;
-            }
-        }
-
-        private void DoTask(object state)
-        {
-            var args = new string[] { "UE" };
-            if (args.Length > 0)
-            {
-
-                string dllPath = System.IO.Path.Combine(Application.StartupPath, args[0]);
-                string path = Environment.GetEnvironmentVariable("path") + ";" + dllPath;
-                Environment.SetEnvironmentVariable("path", path);
-                scanner.Start(new string[] { dllPath }, sp_MessageLog);
-            }
-        }
-        /// <summary>
-        /// 
-        /// </summary>
-        protected override void OnStop()
-        {
-            sp_MessageLog(null, new LogEventArgs() { LogTime = DateTime.Now, LogModel = new LogModel() { Message = "服务停止" } });
-
-            scanner.Stop();
-            System.Threading.Thread.Sleep(10 * 1000);//暂时10秒再退出
-        }
-
-
-        void sp_MessageLog(object sender, LogEventArgs e)
-        {
-            ServiceStatusPublishManager.Instance.AppendMessage(e);
-        }
-    }
-
-
-}
+using IL.Common;
+using MediII.Adapter.Scan.Interface;
+using MediII.Adapter.Scanner;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Diagnostics;
+using System.IO.Pipes;
+using System.Linq;
+using System.ServiceProcess;
+using System.Text;
+using System.Threading;
+using System.Windows.Forms;
+
+namespace MediII.Adapter.MsgToScanMServer
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    public partial class MsgToScanMServer : ServiceBase
+    {
+
+        private bool _addPool = false;//是否启动  
+        private Scaner scanner = new Scaner();
+        /// <summary>
+        /// 
+        /// </summary>
+        public MsgToScanMServer()
+        {
+            InitializeComponent();
+
+        }
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="args"></param>
+        protected override void OnStart(string[] args)
+        {
+            sp_MessageLog(null,
+                new LogEventArgs()
+                {
+                    LogTime = DateTime.Now,
+                    LogModel = new LogModel() { Message = "服务启动" }
+                });
+
+            LogHelper.LogDebug("服务启动", LogCatagories.General);
+            LogHelper.LogInfo("服务启动", LogCatagories.General);
+            LogHelper.LogError("服务启动", LogCatagories.General);
+
+
+            LogHelper.LogDebug("服务启动", LogCatagories.Sock);
+            LogHelper.LogInfo("服务启动", LogCatagories.Sock);
+            LogHelper.LogError("服务启动", LogCatagories.Sock);
+
+            LogHelper.LogDebug("服务启动", LogCatagories.AdapterScan);
+            LogHelper.LogInfo("服务启动", LogCatagories.AdapterScan);
+            LogHelper.LogError("服务启动", LogCatagories.AdapterScan);
+
+            LogHelper.LogDebug("服务启动", LogCatagories.SQL);
+            LogHelper.LogInfo("服务启动", LogCatagories.SQL);
+            LogHelper.LogError("服务启动", LogCatagories.SQL);
+
+
+            System.Diagnostics.Debug.WriteLine("OnStart", ApplictStatic.ServerName);
+            //_running = true;
+            if (!_addPool)
+            {
+                ThreadPool.QueueUserWorkItem(DoTask);
+                _addPool = true;
+            }
+        }
+
+        private void DoTask(object state)
+        {
+            var args = new string[] { "UE" };
+            if (args.Length > 0)
+            {
+
+                string dllPath = System.IO.Path.Combine(Application.StartupPath, args[0]);
+                string path = Environment.GetEnvironmentVariable("path") + ";" + dllPath;
+                Environment.SetEnvironmentVariable("path", path);
+                scanner.Start(new string[] { dllPath }, sp_MessageLog);
+            }
+        }
+        /// <summary>
+        /// 
+        /// </summary>
+        protected override void OnStop()
+        {
+            sp_MessageLog(null, new LogEventArgs() { LogTime = DateTime.Now, LogModel = new LogModel() { Message = "服务停止" } });
+
+            scanner.Stop();
+            System.Threading.Thread.Sleep(10 * 1000);//暂时10秒再退出
+        }
+
+
+        void sp_MessageLog(object sender, LogEventArgs e)
+        {
+            ServiceStatusPublishManager.Instance.AppendMessage(e);
+        }
+    }
+
+
+}

+ 2 - 2
MediII.Adapter.MsgToScanServer/Program.cs

@@ -4,7 +4,7 @@ using System.Linq;
 using System.ServiceProcess;
 using System.Text;
 
-namespace MediII.Adapter.MsgToScanServer
+namespace MediII.Adapter.MsgToScanMServer
 {
     static class Program
     {
@@ -16,7 +16,7 @@ namespace MediII.Adapter.MsgToScanServer
             ServiceBase[] ServicesToRun;
             ServicesToRun = new ServiceBase[] 
             { 
-                new MsgToScanServer() 
+                new MsgToScanMServer() 
             };
             ServiceBase.Run(ServicesToRun);
         }

+ 4 - 4
MediII.Adapter.MsgToScanServer/ProjectInstaller.Designer.cs

@@ -1,4 +1,4 @@
-namespace MediII.Adapter.MsgToScanServer
+namespace MediII.Adapter.MsgToScanMServer
 {
     partial class ProjectInstaller
     {
@@ -39,9 +39,9 @@
             // 
             // serviceInstaller1
             // 
-            this.serviceInstaller1.Description = "康程HL7消息解析服务";
-            this.serviceInstaller1.DisplayName = "KC.HL7.MsgToScanServer";
-            this.serviceInstaller1.ServiceName = "KC.HL7.MsgToScanServer";
+            this.serviceInstaller1.Description = "康程HL7消息主动访问服务(Mysql)";
+            this.serviceInstaller1.DisplayName = "KC.HL7.MsgToScanServer(Mysql)";
+            this.serviceInstaller1.ServiceName = "KC.HL7.MsgToScanServer(Mysql)";
             // 
             // ProjectInstaller
             // 

+ 1 - 1
MediII.Adapter.MsgToScanServer/ProjectInstaller.cs

@@ -5,7 +5,7 @@ using System.ComponentModel;
 using System.Configuration.Install;
 using System.Linq;
 
-namespace MediII.Adapter.MsgToScanServer
+namespace MediII.Adapter.MsgToScanMServer
 {
     /// <summary>
     /// 

+ 3 - 3
MediII.Adapter.MsgToScanServer/Properties/AssemblyInfo.cs

@@ -5,11 +5,11 @@ using System.Runtime.InteropServices;
 // 有关程序集的常规信息通过以下
 // 特性集控制。更改这些特性值可修改
 // 与程序集关联的信息。
-[assembly: AssemblyTitle("MediII.Adapter.MsgToScanServer")]
+[assembly: AssemblyTitle("MediII.Adapter.MsgToScanMServer")]
 [assembly: AssemblyDescription("")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("Microsoft")]
-[assembly: AssemblyProduct("MediII.Adapter.MsgToScanServer")]
+[assembly: AssemblyProduct("MediII.Adapter.MsgToScanMServer")]
 [assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
@@ -20,7 +20,7 @@ using System.Runtime.InteropServices;
 [assembly: ComVisible(false)]
 
 // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
-[assembly: Guid("8b78e209-53d5-48ff-add9-af57b4a0013c")]
+[assembly: Guid("ab78e209-53d5-48ff-add9-af57b4a0013c")]
 
 // 程序集的版本信息由下面四个值组成: 
 //

+ 1 - 1
MediII.Adapter.MsgToScanServer/ServiceStatusPublishManager.cs

@@ -6,7 +6,7 @@ using System.Linq;
 using System.Text;
 using System.Threading;
 
-namespace MediII.Adapter.MsgToScanServer
+namespace MediII.Adapter.MsgToScanMServer
 {
     /// <summary>
     /// 

+ 6 - 3
MediII.Adapter.MsgToScanServer/app.config

@@ -56,7 +56,7 @@
   </loggingConfiguration>
   <dataConfiguration defaultDatabase="DefaultDB" />
   <connectionStrings>
-    <add name="DefaultDB" connectionString="Data Source=192.168.1.26;
+    <!-- <add name="DefaultDB" connectionString="Data Source=192.168.1.26;
                        Initial Catalog=HL7_Platform;
                        Persist Security Info=True;
                        Integrated Security=False;
@@ -66,7 +66,9 @@
                        Initial Catalog=HealthCare;
                        Persist Security Info=True;
                        Integrated Security=False;
-                       User ID=sa;Password=sa26" providerName="System.Data.SqlClient"/>
+                       User ID=sa;Password=sa26" providerName="System.Data.SqlClient"/>-->
+    <add name="DefaultDB" connectionString="server=120.27.235.181;port=3306; UserID=root;Password=xywl2021!;Charset=utf8;database=performance_message" providerName="MySql.Data.MySqlClient"/>
+    <add name="HealthCare" connectionString="server=120.27.235.181;port=3306; UserID=root;Password=xywl2021!;Charset=utf8;database=intermediate_gc;Allow User Variables=True" providerName="MySql.Data.MySqlClient"/>
 
 
   </connectionStrings>
@@ -90,7 +92,8 @@
     <!--任务解锁时间  单位分钟-->
     <add key="TaskRunTime" value="5"/>
 
-
+    <add key="SetTime" value="-01 02:00:00" />
+    <add key="Post_url" value="http://10.10.5.120:80/wilink/api/wilink/gateway/allInOne"/>
     <!--启动SQL日志-->
     <add key="LogSql" value="1"/>
   </appSettings>

+ 3 - 0
MediII.Adapter.ReceiveToScanModel/MediII.Adapter.ReceiveToScanModel.csproj

@@ -41,6 +41,9 @@
   </ItemGroup>
   <ItemGroup>
     <Compile Include="BaseEntity.cs" />
+    <Compile Include="ResponseHead.cs" />
+    <Compile Include="TaskMessage.cs" />
+    <Compile Include="TaskResponse.cs" />
     <Compile Include="HL7_MessageSetEntity.cs" />
     <Compile Include="HL7_ReceiveEntity.cs" />
     <Compile Include="HL7_ScanEntity.cs" />

+ 1 - 1
MediII.Adapter.ReceiveToScanModel/Properties/AssemblyInfo.cs

@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
 [assembly: AssemblyDescription("")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("Microsoft")]
-[assembly: AssemblyProduct("MediII.Adapter.ReceiveToSIModel")]
+[assembly: AssemblyProduct("MediII.Adapter.ReceiveToScanModel")]
 [assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]

+ 65 - 0
MediII.Adapter.ReceiveToScanModel/ResponseHead.cs

@@ -0,0 +1,65 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace MediII.Adapter.ReceiveToScanModel
+{
+     [Serializable]
+    public partial class ResponseHead
+    {
+        /// <summary>
+        /// 版本号(按照该版本规范开发的服务接口,该节点使用固定值:1.0)集团化时传’GROUP’
+        /// </summary>
+        public string Version { get; set; }
+        /// <summary>
+        /// 授权码(取固定值“MDM”)
+        /// </summary>
+        //public string LicId { set; get; }
+        /// <summary>
+        /// 主数据交易代码
+        /// </summary>
+       // public string TranCode { get; set; }
+        /// <summary>
+        /// 主数据版本号(默认传6.0)
+        /// </summary>
+        //public string ServiceVersion { get; set; }
+        /// <summary>
+        /// 消息类型
+        /// </summary>
+        public string ContentType { get; set; }
+        /// <summary>
+        /// 数据所属院区代码【由医院现场分配】
+        /// </summary>
+        public string OrgId { get; set; }
+        /// <summary>
+        /// 发送方系统代码【长码】
+        /// </summary>
+        //public string RecAppId { get; set; }
+        /// <summary>
+        /// 接收方所属院区代码【由医院现场分配】
+        /// </summary>
+        public string RecOrgId { get; set; }
+        /// <summary>
+        /// 接收方系统代码
+        /// </summary>
+        public string RecAppId { get; set; }
+        /// <summary>
+        /// 消息ID,建议随机生成GUID(可用于后续消息追溯)
+        /// </summary>
+        public string MessageId { get; set; }
+        /// <summary>
+        /// 请求消息生成的时间戳(精确到毫秒)
+        /// </summary>
+        public string Timestamp { get; set; }
+        /// <summary>
+        /// 定时发布时间
+        /// </summary>
+        //public List<string> PublishTimeList { get; set; }
+        public string AckMessage { get; set; }
+
+        public string AppId { get; set; }
+
+        public string AckCode { get; set; }
+    }
+}

+ 45 - 0
MediII.Adapter.ReceiveToScanModel/TaskMessage.cs

@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+
+
+namespace MediII.Adapter.ReceiveToScanModel
+{ 
+
+
+	[Serializable]
+    public partial class TaskMessage : BaseEntity
+	{
+
+        public long No { get; set; }
+
+
+        public string TaskID { get; set; }
+
+        public string VisitNo { get; set; }
+
+        public string TaskType { get; set; }
+
+        public string TypeName { get; set; }
+
+        public int TaskStatus { get; set; }
+
+        public string Parameter1 { get; set; }
+
+        public string Parameter2 { get; set; }
+
+        public string Parameter3 { get; set; }
+        public string ErrMsg { get; set; }
+
+        public int ErrNm { get; set; }
+
+        public DateTime TaskTime { get; set; }
+        public string Reserve1 { get; set; }
+        public string Reserve2 { get; set; }
+        public string Reserve3 { get; set; }
+        public DateTime SystemTime { get; set; }
+
+        public DateTime UpdateTime { get; set; }
+	}
+}

+ 41 - 0
MediII.Adapter.ReceiveToScanModel/TaskResponse.cs

@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+
+
+namespace MediII.Adapter.ReceiveToScanModel
+{ 
+
+
+	[Serializable]
+    public partial class TaskResponse : BaseEntity
+	{
+
+        public long No { get; set; }
+
+
+        public string TaskID { get; set; }
+
+
+        public string TaskType { get; set; }
+
+
+        public int Status { get; set; }
+
+
+        public string Content { get; set; }
+
+
+        public int ErrNm { get; set; }
+
+        public string ResolvingMsg { get; set; }
+
+
+        public DateTime SystemTime { get; set; }
+
+        public DateTime ResolvingTime { get; set; }
+
+        public string RemarkContent { get; set; }
+	}
+}

+ 101 - 67
MediII.Adapter.Scan.UE/DefaultDBScanner.cs

@@ -29,14 +29,34 @@ namespace MediII.Adapter.BizComponent.UE
             }
         }
 
+        private DateTime SetTime
+        {
+            get
+            {
+                var SetTime = System.Configuration.ConfigurationManager.AppSettings["SetTime"];
+                DateTime now = DateTime.Now;
+                SetTime = string.Format("{0}{1}", now.ToString("yyyy-MM"), SetTime);
 
+                return DateTime.Parse(SetTime);
+            }
+        }
 
+        //private int EndTimeType
+        //{
+        //    get
+        //    {
+        //        var etimeType = System.Configuration.ConfigurationManager.AppSettings["EndTimeType"];
+        //        int num = 0;
+        //        if (!int.TryParse(etimeType, out num))
+        //        {
+        //            num = 1;
+        //        }
+        //        return num;
+        //    }
+        //}
         protected override long OnDo(DateTime dtEventTime, Action<LogModel> setLog)
         {
-
             Stopwatch stopwatch = new Stopwatch();
-
-
             var type = GetMessageType();
             stopwatch.Start();
             try
@@ -45,33 +65,27 @@ namespace MediII.Adapter.BizComponent.UE
                 if (setLog != null)
                     setLog(new LogModel { Message = "开始一次消息处理扫描 消息类型:" + type });
                  
-                if (type == "MFN") //字典消息大于20个.一直解析
+                //扫描时间
+                if (DateTime.Now > SetTime)
                 {
-                    RunExec(type, setLog); //执行一次
-
-                    int num = 20;
-                    while (true)
-                    { 
-                        var sql = @"SELECT top {0} ID FROM dbo.HL7_Receive WITH(NOLOCK)  WHERE TaskStatus='1' and MessageID='MFN'";
-                        sql = string.Format(sql, num);
-                        var cmd = ctx.DBGetSqlStringCommand(sql);
-                        var dt = new DataTable();
-                        var dr = ctx.DBExecuteReader(cmd);
-                        dt.Load(dr);
-                        if (dt.Rows.Count >= num)
-                        {
-                            RunExec(type, setLog);
-                        }
-                        else
-                        {
-                            break;
-                        }  
-                    } 
+                    //判断是否需要生成任务
+                    if (GetTaskFlag(SetTime,type) <= 0)
+                    {
+                        DateTime lastDay = new DateTime(DateTime.Now.AddMonths(-1).Year, DateTime.Now.AddMonths(-1).Month, 1).AddMonths(1).AddSeconds(-1);
+                        //按月初1号为结尾
+                        //if (EndTimeType == 2) {
+                        //    lastDay = DateTime.Parse(string.Format("{0}-01 00:00:00", DateTime.Now.ToString("yyyy-MM")));
+                        //}
+                        
+                        //生成任务
+                        SetTask(string.Format("{0}-01 00:00:00", DateTime.Now.AddMonths(-1).ToString("yyyy-MM")), lastDay.ToString("yyyy-MM-dd HH:mm:ss"),
+                            SetTime.ToString("yyyy-MM-dd HH:mm:ss"), type);
+                        
+                    }
                 }
-                else
-                {
-                    RunExec(type, setLog);
-                } 
+
+                //使用任务
+                RunExec(type, setLog);
             }
             finally
             {
@@ -83,20 +97,24 @@ namespace MediII.Adapter.BizComponent.UE
             return 1;
         }
 
+
+
         private void RunExec(string type, Action<LogModel> setLog)
         {
             var num = SearchNum;
             var orderSeq = string.Empty;
-            if (type == "MFN")
-            {
-                orderSeq = " Sequeue ASC,";
-            }
-
-            var sql = @"SELECT top {0} ID , SeqNo , SourceID ,MsgConID ,  MsgContent ,ReplyMsg ,   ReceivingTime ,       IP ,TaskStatus ,StartTime ,EndTime ,TaskIP , TaskMac ,TaskMsg ,MessageID ,MessageType ,Remark ,Sequeue  FROM dbo.HL7_Receive WITH(NOLOCK)  WHERE TaskStatus='1' and MessageID='{1}' ORDER BY {2} SeqNo ASC ";
-            sql = string.Format(sql, num, type, orderSeq);
+            //if (type == "MFN")
+            //{
+            //    orderSeq = " Sequeue ASC,";
+            //}
+
+            var sql = @"select No, `TaskID`, `VisitNo`, `TaskType`, `TypeName`, `TaskStatus`, `Parameter1`, `Parameter2`, `Parameter3`, `ErrMsg`, `ErrNm`, `TaskTime`, `Reserve1`, `Reserve2`, `Reserve3`, `UpdateTime` ,SystemTime
+from TaskMessage 
+where TaskStatus=1 and TaskTime='{0}' and TaskType='{1}' limit {2}";
+            sql = string.Format(sql,SetTime.ToString("yyyy-MM-dd HH:mm:ss"), type, num);
             try
             {
-                var listRow = SqlDataAccess.ExecuteSqlStringAccessor<HL7_ReceiveEntity>(ctx, sql).Take(num).ToList();
+                var listRow = MySqlDataAccess.ExecuteSqlStringAccessor<TaskMessage>(ctx, sql).Take(num).ToList();
                 if (listRow.Count() > 0)
                 {
                     Process(listRow, setLog);
@@ -109,36 +127,32 @@ namespace MediII.Adapter.BizComponent.UE
             }
         }
 
-        private void Process(IEnumerable<HL7_ReceiveEntity> listRow, Action<LogModel> setLog)
+        private void Process(IEnumerable<TaskMessage> listRow, Action<LogModel> setLog)
         {
             listRow.ToList().ForEach(o =>
             {
-
                 //验证
-                var model = GetListRow(o.ID);
+                var model = GetListRow(o.No.ToString());
                 if (null != model)
                 {
                     try
                     {
                         if (setLog != null)
-                            setLog(new LogModel { Message = o.MsgContent, MessageID = o.MessageID });
-
+                            setLog(new LogModel { Message = o.TaskType, MessageID = o.TaskID });
 
-                        SetStartBiz(o.ID);
-                        string mesStruct = o.MessageID;
+                        SetStartBiz(o.No.ToString());
+                        string mesStruct = "ADT";
 
                         var behavior = BizComponentFactory.GetBizComponent(mesStruct);
-                        var errMsg = behavior.Process(o.MsgContent,o.MessageType);
-                        SetEndBiz(o.ID, errMsg);
-
+                        var errMsg = behavior.Process(o,o.TaskType);
+                        SetEndBiz(o.No.ToString(), errMsg);
                     }
                     catch (Exception ex)
                     {
                         if (setLog != null)
-                            setLog(new LogModel { Message = o.MsgContent, MessageID = o.MessageID, ErrorMsg = "消息处理错误 :" + ex.Message });
-                        SetEndBiz(o.ID, ex.Message);
+                            setLog(new LogModel { Message = o.TaskType, MessageID = o.No.ToString(), ErrorMsg = "消息处理错误 :" + ex.Message });
+                        SetEndBiz(o.No.ToString(), ex.Message);
                     }
-
                 }
             });
         }
@@ -157,50 +171,70 @@ namespace MediII.Adapter.BizComponent.UE
         /// </summary>
         /// <param name="id">id</param>
         /// <returns></returns>
-        protected HL7_ReceiveEntity GetListRow(string id)
+        protected TaskMessage GetListRow(string id)
         {
-            var sql = "SELECT *  FROM dbo.HL7_Receive  WHERE TaskStatus='1' and   StartTime is null and ID='" + id + "'";
-            var model = SqlDataAccess.ExecuteSqlStringAccessor<HL7_ReceiveEntity>(ctx, sql).Take(1).FirstOrDefault();
+            var sql = "SELECT *  FROM TaskMessage  WHERE TaskStatus='1'  and No='" + id + "'";
+            var model = MySqlDataAccess.ExecuteSqlStringAccessor<TaskMessage>(ctx, sql).Take(1).FirstOrDefault();
             return model;
 
         }
 
+        protected int GetTaskFlag(DateTime TaskTime,string TaskType)
+        {
+            var sql = string.Format(@"select count(1)
+from TaskMessage 
+where TaskTime='{0}' and TaskType='{1}' ", TaskTime.ToString("yyyy-MM-dd HH:mm:ss"),TaskType);
+            var cmd =ctx.DBGetSqlStringCommand(sql);
+            var listRow = MySqlDataAccess.DBExecuteDataSet(ctx, cmd);
+            var ret=listRow.Tables[0].Rows[0][0].ToString();
+            return string.IsNullOrWhiteSpace(ret)?0:int.Parse(ret);
+        }
 
         //开始时间
         protected int SetStartBiz(string id)
         {
-            var sql = "UPDATE dbo.HL7_Receive SET StartTime=GETDATE() , TaskStatus='2',TaskIP=@TaskIP,TaskMac=@TaskMac WHERE  ID=@ID";
-            var cmd = SqlDataAccess.GetSqlStringCommand(ctx, sql);
-            SqlDataAccess.AddInParameter(ctx, cmd, "ID", DbType.String, id);
-            SqlDataAccess.AddInParameter(ctx, cmd, "TaskIP", DbType.String, NetHelper.GetIP());
-            SqlDataAccess.AddInParameter(ctx, cmd, "TaskMac", DbType.String, NetHelper.GetMacAddress());
-            return SqlDataAccess.ExecuteNonQuery(ctx, cmd);
+            var sql = "UPDATE TaskMessage SET UpdateTime=SYSDATE() , TaskStatus='2' WHERE  No=@ID";
+            var cmd = MySqlDataAccess.GetSqlStringCommand(ctx, sql);
+            MySqlDataAccess.AddInParameter(ctx, cmd, "ID", DbType.String, id);
+            return MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
         }
 
 
         //结束时间
         protected int SetEndBiz(string id, string errMsg)
         {
-            var sql = "UPDATE dbo.HL7_Receive SET EndTime=GETDATE(),TaskStatus=@TaskStatus,TaskMsg=@TaskMsg WHERE  ID=@ID";
-            var cmd = SqlDataAccess.GetSqlStringCommand(ctx, sql);
-            SqlDataAccess.AddInParameter(ctx, cmd, "ID", DbType.String, id);
+            var sql = "UPDATE TaskMessage SET TaskStatus=@TaskStatus,Reserve1=@TaskMsg WHERE  No=@ID";
+            var cmd = MySqlDataAccess.GetSqlStringCommand(ctx, sql);
+            MySqlDataAccess.AddInParameter(ctx, cmd, "ID", DbType.String, id);
             if (!string.IsNullOrEmpty(errMsg))
             {
-                SqlDataAccess.AddInParameter(ctx, cmd, "TaskMsg", DbType.String, errMsg);
-                SqlDataAccess.AddInParameter(ctx, cmd, "TaskStatus", DbType.Int32, 3);
+                MySqlDataAccess.AddInParameter(ctx, cmd, "TaskMsg", DbType.String, errMsg);
+                MySqlDataAccess.AddInParameter(ctx, cmd, "TaskStatus", DbType.Int32, 3);
             }
             else
             {
-                SqlDataAccess.AddInParameter(ctx, cmd, "TaskMsg", DbType.String, DBNull.Value);
-                SqlDataAccess.AddInParameter(ctx, cmd, "TaskStatus", DbType.Int32, 4);
+                MySqlDataAccess.AddInParameter(ctx, cmd, "TaskMsg", DbType.String, DBNull.Value);
+                MySqlDataAccess.AddInParameter(ctx, cmd, "TaskStatus", DbType.Int32, 4);
             }
 
-            return SqlDataAccess.ExecuteNonQuery(ctx, cmd);
+            return MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
+        }
+
+        protected int SetTask(string beginTime,string endTime,string taskTime,string TaskType)
+        {
+            var sql = string.Format(@"INSERT INTO TaskMessage( TaskID, VisitNo, TaskType, TypeName, TaskStatus, Parameter1, Parameter2, Parameter3, ErrMsg, ErrNm, TaskTime, Reserve1, Reserve2, Reserve3, UpdateTime) 
+select MD5(UUID()),'',TaskCode,TaskName,1,'{0}','{1}','1',null,0,'{2}',  NULL, NULL, TaskNum,NULL
+from TaskConfig 
+where TaskType=2 and DelFlag=0 and TaskCode='{3}'", beginTime, endTime, taskTime,TaskType);
+
+            var cmd = MySqlDataAccess.GetSqlStringCommand(ctx, sql);
+            //MySqlDataAccess.AddInParameter(ctx, cmd, "TaskStatus", DbType.Int32, 3);
+            return MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
         }
 
         public void DebugMsg(IEnumerable<HL7_ReceiveEntity> list)
         {
-            Process(list, null);
+            //Process(list, null);
         }
 
     }

+ 22 - 0
MediII.Adapter.Scan.UE/HL7_A01B01_Scanner.cs

@@ -0,0 +1,22 @@
+
+using MediII.Adapter.Scanner;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using MediII.Adapter.BizComponent.Base;
+using IL.Common;
+
+namespace MediII.Adapter.BizComponent.UE
+{
+    public class HL7_A01B01_Scanner : DefaultDBScanner
+    {
+        protected override string GetMessageType()
+        {
+            return "ADT^A01[B01]";
+        }
+    }
+}

+ 22 - 0
MediII.Adapter.Scan.UE/HL7_A01B02_Scanner.cs

@@ -0,0 +1,22 @@
+
+using MediII.Adapter.Scanner;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using MediII.Adapter.BizComponent.Base;
+using IL.Common;
+
+namespace MediII.Adapter.BizComponent.UE
+{
+    public class HL7_A01B02_Scanner : DefaultDBScanner
+    {
+        protected override string GetMessageType()
+        {
+            return "ADT^A01[B02]";
+        }
+    }
+}

+ 22 - 0
MediII.Adapter.Scan.UE/HL7_A01B03_Scanner.cs

@@ -0,0 +1,22 @@
+
+using MediII.Adapter.Scanner;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using MediII.Adapter.BizComponent.Base;
+using IL.Common;
+
+namespace MediII.Adapter.BizComponent.UE
+{
+    public class HL7_A01B03_Scanner : DefaultDBScanner
+    {
+        protected override string GetMessageType()
+        {
+            return "ADT^A01[B03]";
+        }
+    }
+}

+ 22 - 0
MediII.Adapter.Scan.UE/HL7_A01B04_Scanner.cs

@@ -0,0 +1,22 @@
+
+using MediII.Adapter.Scanner;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using MediII.Adapter.BizComponent.Base;
+using IL.Common;
+
+namespace MediII.Adapter.BizComponent.UE
+{
+    public class HL7_A01B04_Scanner : DefaultDBScanner
+    {
+        protected override string GetMessageType()
+        {
+            return "ADT^A01[B04]";
+        }
+    }
+}

+ 22 - 0
MediII.Adapter.Scan.UE/HL7_A03_Scanner.cs

@@ -0,0 +1,22 @@
+
+using MediII.Adapter.Scanner;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using MediII.Adapter.BizComponent.Base;
+using IL.Common;
+
+namespace MediII.Adapter.BizComponent.UE
+{
+    public class HL7_A03_Scanner : DefaultDBScanner
+    {
+        protected override string GetMessageType()
+        {
+            return "ADT^A03";
+        }
+    }
+}

+ 22 - 0
MediII.Adapter.Scan.UE/HL7_A04B01_Scanner.cs

@@ -0,0 +1,22 @@
+
+using MediII.Adapter.Scanner;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using MediII.Adapter.BizComponent.Base;
+using IL.Common;
+
+namespace MediII.Adapter.BizComponent.UE
+{
+    public class HL7_A04B01_Scanner : DefaultDBScanner
+    {
+        protected override string GetMessageType()
+        {
+            return "ADT^A04[B01]";
+        }
+    }
+}

+ 22 - 0
MediII.Adapter.Scan.UE/HL7_A04B02_Scanner.cs

@@ -0,0 +1,22 @@
+
+using MediII.Adapter.Scanner;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using MediII.Adapter.BizComponent.Base;
+using IL.Common;
+
+namespace MediII.Adapter.BizComponent.UE
+{
+    public class HL7_A04B02_Scanner : DefaultDBScanner
+    {
+        protected override string GetMessageType()
+        {
+            return "ADT^A04[B02]";
+        }
+    }
+}

+ 22 - 0
MediII.Adapter.Scan.UE/HL7_A04B03_Scanner.cs

@@ -0,0 +1,22 @@
+
+using MediII.Adapter.Scanner;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using MediII.Adapter.BizComponent.Base;
+using IL.Common;
+
+namespace MediII.Adapter.BizComponent.UE
+{
+    public class HL7_A04B03_Scanner : DefaultDBScanner
+    {
+        protected override string GetMessageType()
+        {
+            return "ADT^A04[B03]";
+        }
+    }
+}

+ 22 - 0
MediII.Adapter.Scan.UE/HL7_A08B01_Scanner.cs

@@ -0,0 +1,22 @@
+
+using MediII.Adapter.Scanner;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using MediII.Adapter.BizComponent.Base;
+using IL.Common;
+
+namespace MediII.Adapter.BizComponent.UE
+{
+    public class HL7_A08B01_Scanner : DefaultDBScanner
+    {
+        protected override string GetMessageType()
+        {
+            return "ADT^A08[B01]";
+        }
+    }
+}

+ 22 - 0
MediII.Adapter.Scan.UE/HL7_A08B02_Scanner.cs

@@ -0,0 +1,22 @@
+
+using MediII.Adapter.Scanner;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using MediII.Adapter.BizComponent.Base;
+using IL.Common;
+
+namespace MediII.Adapter.BizComponent.UE
+{
+    public class HL7_A08B02_Scanner : DefaultDBScanner
+    {
+        protected override string GetMessageType()
+        {
+            return "ADT^A08[B02]";
+        }
+    }
+}

+ 22 - 0
MediII.Adapter.Scan.UE/HL7_A31_Scanner.cs

@@ -0,0 +1,22 @@
+
+using MediII.Adapter.Scanner;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using MediII.Adapter.BizComponent.Base;
+using IL.Common;
+
+namespace MediII.Adapter.BizComponent.UE
+{
+    public class HL7_A31_Scanner : DefaultDBScanner
+    {
+        protected override string GetMessageType()
+        {
+            return "ADT^A31";
+        }
+    }
+}

+ 22 - 0
MediII.Adapter.Scan.UE/HL7_A90_Scanner.cs

@@ -0,0 +1,22 @@
+
+using MediII.Adapter.Scanner;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using MediII.Adapter.BizComponent.Base;
+using IL.Common;
+
+namespace MediII.Adapter.BizComponent.UE
+{
+    public class HL7_A90_Scanner : DefaultDBScanner
+    {
+        protected override string GetMessageType()
+        {
+            return "ADT^A90";
+        }
+    }
+}

+ 22 - 0
MediII.Adapter.Scan.UE/HL7_A91_Scanner.cs

@@ -0,0 +1,22 @@
+
+using MediII.Adapter.Scanner;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using MediII.Adapter.BizComponent.Base;
+using IL.Common;
+
+namespace MediII.Adapter.BizComponent.UE
+{
+    public class HL7_A91_Scanner : DefaultDBScanner
+    {
+        protected override string GetMessageType()
+        {
+            return "ADT^A91";
+        }
+    }
+}

+ 22 - 0
MediII.Adapter.Scan.UE/HL7_A92_Scanner.cs

@@ -0,0 +1,22 @@
+
+using MediII.Adapter.Scanner;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Transactions;
+using Microsoft.Practices.EnterpriseLibrary.Data;
+using MediII.Adapter.BizComponent.Base;
+using IL.Common;
+
+namespace MediII.Adapter.BizComponent.UE
+{
+    public class HL7_A92_Scanner : DefaultDBScanner
+    {
+        protected override string GetMessageType()
+        {
+            return "ADT^A92";
+        }
+    }
+}

+ 6 - 6
MediII.Adapter.Scan.UE/HL7_Lock_Scanner.cs

@@ -32,10 +32,10 @@ namespace MediII.Adapter.BizComponent.UE
         {
             if (setLog != null)
                 setLog(new LogModel { Message = "开始一次解锁消息处理扫描 " });
-            var sql = string.Format(" SELECT * FROM dbo.HL7_Receive WHERE TaskStatus=2 AND StartTime<DATEADD(mi,-{0},getdate())   ", TaskRunTime);//操作中数据
+            var sql = string.Format(" SELECT * FROM HL7_Receive WHERE TaskStatus=2 AND StartTime<DATE_ADD(SYSDATE(),interval -{0} MINUTE)   ", TaskRunTime);//操作中数据
             try
             {
-                var listRow = SqlDataAccess.ExecuteSqlStringAccessor<HL7_ReceiveEntity>(ctx, sql).Take(100).ToList();
+                var listRow = MySqlDataAccess.ExecuteSqlStringAccessor<HL7_ReceiveEntity>(ctx, sql).Take(100).ToList();
                 if (listRow.Count() > 0)
                 {
                     process(listRow, setLog);
@@ -60,10 +60,10 @@ namespace MediII.Adapter.BizComponent.UE
                     if (setLog != null)
                         setLog(new LogModel { Message = "解锁消息:"+o.MsgContent, MessageID = o.MessageID });
 
-                    var sql = "UPDATE dbo.HL7_Receive SET TaskStatus=1,StartTime=NULL,TaskIP=NULL,TaskMsg = null, TaskMac=NULL WHERE ID=@ID";
-                    var cmd = SqlDataAccess.GetSqlStringCommand(ctx, sql);
-                    SqlDataAccess.AddInParameter(ctx, cmd, "ID", DbType.String, o.ID);
-                    SqlDataAccess.ExecuteNonQuery(ctx, cmd);
+                    var sql = "UPDATE HL7_Receive SET TaskStatus=1,StartTime=NULL,TaskIP=NULL,TaskMsg = null, TaskMac=NULL WHERE ID=?ID";
+                    var cmd = MySqlDataAccess.GetSqlStringCommand(ctx, sql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "ID", DbType.String, o.ID);
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
                 }
                 catch (Exception ex)
                 {

+ 7 - 7
MediII.Adapter.Scan.UE/HL7_TimeOut_Scanner.cs

@@ -34,19 +34,19 @@ namespace MediII.Adapter.BizComponent.UE
                 setLog(new LogModel { Message = "开始一次数据库错误消息处理扫描 " });
             var sql = @" 
                         SELECT *   
-                        FROM    HL7_Platform.dbo.HL7_Receive with(nolock)
+                        FROM    HL7_Receive
                         WHERE   1 = 1 
                                 AND ( TaskMsg LIKE '%Timeout 时间已到。%'
                                         OR TaskMsg LIKE '%此操作对该事务的状态无效%'
                                         OR TaskMsg LIKE '%请重新运行该事务。%' )
                                 AND (ErrNum<4 or ErrNum is null) 
                                 AND TaskStatus = 3
-                                AND ReceivingTime > DATEADD(dy,-{0},getdate()) 
+                                AND ReceivingTime > DATE_ADD(SYSDATE(),interval -{0} DAY)
                         ORDER BY SeqNo DESC  ";
             sql = string.Format(sql, TaskRunTime);//操作中数据
             try
             {
-                var listRow = SqlDataAccess.ExecuteSqlStringAccessor<HL7_ReceiveEntity>(ctx, sql).Take(100).ToList();
+                var listRow = MySqlDataAccess.ExecuteSqlStringAccessor<HL7_ReceiveEntity>(ctx, sql).Take(100).ToList();
                 if (listRow.Any())
                 {
                     process(listRow, setLog); 
@@ -70,10 +70,10 @@ namespace MediII.Adapter.BizComponent.UE
                     if (setLog != null)
                         setLog(new LogModel { Message = "重置数据库错误消息:" + o.MsgContent, MessageID = o.MessageID });
 
-                    var sql = "UPDATE dbo.HL7_Receive SET TaskStatus=1,StartTime=NULL,TaskIP=NULL,TaskMsg = null, TaskMac=NULL,ErrNum=ISNULL(ErrNum,0)+1 WHERE ID=@ID";
-                    var cmd = SqlDataAccess.GetSqlStringCommand(ctx, sql);
-                    SqlDataAccess.AddInParameter(ctx, cmd, "ID", DbType.String, o.ID);
-                    SqlDataAccess.ExecuteNonQuery(ctx, cmd);
+                    var sql = "UPDATE HL7_Receive SET TaskStatus=1,StartTime=NULL,TaskIP=NULL,TaskMsg = null, TaskMac=NULL,ErrNum=ISNULL(ErrNum,0)+1 WHERE ID=?ID";
+                    var cmd = MySqlDataAccess.GetSqlStringCommand(ctx, sql);
+                    MySqlDataAccess.AddInParameter(ctx, cmd, "ID", DbType.String, o.ID);
+                    MySqlDataAccess.ExecuteNonQuery(ctx, cmd);
                 }
                 catch (Exception ex)
                 {

+ 15 - 6
MediII.Adapter.Scan.UE/MediII.Adapter.BizComponent.UE.csproj

@@ -70,11 +70,20 @@
   <ItemGroup>
     <Compile Include="DebugScanner.cs" />
     <Compile Include="DefaultDBScanner.cs" />
-    <Compile Include="HL7_MFN_Scanner.cs" />
-    <Compile Include="HL7_PMU_Scanner.cs" />
-    <Compile Include="HL7_ADT_Scanner.cs" />
-    <Compile Include="HL7_Lock_Scanner.cs" />
-    <Compile Include="HL7_TimeOut_Scanner.cs" />
+    <Compile Include="HL7_A01B04_Scanner.cs" />
+    <Compile Include="HL7_A01B01_Scanner.cs" />
+    <Compile Include="HL7_A01B02_Scanner.cs" />
+    <Compile Include="HL7_A01B03_Scanner.cs" />
+    <Compile Include="HL7_A03_Scanner.cs" />
+    <Compile Include="HL7_A04B01_Scanner.cs" />
+    <Compile Include="HL7_A04B02_Scanner.cs" />
+    <Compile Include="HL7_A04B03_Scanner.cs" />
+    <Compile Include="HL7_A08B01_Scanner.cs" />
+    <Compile Include="HL7_A08B02_Scanner.cs" />
+    <Compile Include="HL7_A31_Scanner.cs" />
+    <Compile Include="HL7_A90_Scanner.cs" />
+    <Compile Include="HL7_A91_Scanner.cs" />
+    <Compile Include="HL7_A92_Scanner.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
   <ItemGroup>
@@ -92,7 +101,7 @@
     </ProjectReference>
     <ProjectReference Include="..\MediII.Adapter.ReceiveToScanModel\MediII.Adapter.ReceiveToScanModel.csproj">
       <Project>{f182ac2b-a0d5-40d2-89af-8d547606b6ac}</Project>
-      <Name>MediII.Adapter.ReceiveToSIModel</Name>
+      <Name>MediII.Adapter.ReceiveToScanModel</Name>
     </ProjectReference>
     <ProjectReference Include="..\MediII.Adapter.Scanner\MediII.Adapter.Scanner.csproj">
       <Project>{0adddb14-b0f6-4d12-8025-5ec8124a511b}</Project>

+ 7 - 7
MediII.Adapter.Scanner/DBScaner.cs

@@ -64,7 +64,7 @@ namespace MediII.Adapter.Scanner
         private HL7_MessageSetEntity GetSaoMiao(string typeName)
         {
             var sql = string.Format("select * from HL7_MessageSet where MessageType=2 and  MessageId = '{0}'", typeName);
-            var entity = SqlDataAccess.ExecuteSqlStringAccessor<HL7_MessageSetEntity>(ctx, sql).FirstOrDefault();
+            var entity = MySqlDataAccess.ExecuteSqlStringAccessor<HL7_MessageSetEntity>(ctx, sql).FirstOrDefault();
             return entity;
         }
 
@@ -87,11 +87,11 @@ namespace MediII.Adapter.Scanner
             try
             {
                 var typeName = this.GetType().Name.Trim();
-                var sql = "update HL7_MessageSet set ExecuteTime = @ExecuteTime where MessageId=@MessageId";
-                var dbCommand = SqlDataAccess.GetSqlStringCommand(ctx, sql);
-                SqlDataAccess.AddInParameter(ctx, dbCommand, "ExecuteTime", System.Data.DbType.DateTime, elapsedTime);
-                SqlDataAccess.AddInParameter(ctx, dbCommand, "MessageId", System.Data.DbType.AnsiString, typeName);
-                SqlDataAccess.ExecuteNonQuery(ctx, dbCommand);
+                var sql = "update HL7_MessageSet set ExecuteTime = ?ExecuteTime where MessageId=?MessageId";
+                var dbCommand = MySqlDataAccess.GetSqlStringCommand(ctx, sql);
+                MySqlDataAccess.AddInParameter(ctx, dbCommand, "ExecuteTime", DbType.DateTime, elapsedTime);
+                MySqlDataAccess.AddInParameter(ctx, dbCommand, "MessageId", DbType.String, typeName);
+                MySqlDataAccess.ExecuteNonQuery(ctx, dbCommand);
             }
             catch (Exception ex)
             {
@@ -109,7 +109,7 @@ namespace MediII.Adapter.Scanner
         {
             try
             {
-                return (DateTime)SqlDataAccess.ExecuteScalar(ctx, CommandType.Text, "select GETDATE()");
+                return (DateTime)MySqlDataAccess.ExecuteScalar(ctx, CommandType.Text, "select SYSDATE() from dual");
             }
             catch (Exception ex)
             {

+ 1 - 1
MediII.Adapter.WinForm.Scan/MediII.Adapter.WinForm.Scanner.csproj

@@ -49,7 +49,7 @@
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
     <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\</OutputPath>
+    <OutputPath>..\MessageToScanServer\</OutputPath>
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <DebugType>full</DebugType>
     <PlatformTarget>AnyCPU</PlatformTarget>

+ 7 - 2
MediII.Adapter.WinForm.Scan/app.config

@@ -45,7 +45,7 @@
   </loggingConfiguration>
   <dataConfiguration defaultDatabase="DefaultDB" />
   <connectionStrings>
-    <add name="DefaultDB" connectionString="Data Source=.;
+    <!--<add name="DefaultDB" connectionString="Data Source=.;
                        Initial Catalog=HL7_Platform;
                        Persist Security Info=True;
                        Integrated Security=False;
@@ -55,7 +55,10 @@
                        Initial Catalog=HL7_Platform;
                        Persist Security Info=True;
                        Integrated Security=False;
-                       User ID=sa;Password=123" providerName="System.Data.SqlClient"/>
+                       User ID=sa;Password=123" providerName="System.Data.SqlClient"/>-->
+    <add name="DefaultDB" connectionString="server=120.27.235.181;port=3306; UserID=root;Password=xywl2021!;Charset=utf8;database=performance_message" providerName="MySql.Data.MySqlClient"/>
+    <add name="HealthCare" connectionString="server=120.27.235.181;port=3306; UserID=root;Password=xywl2021!;Charset=utf8;database=intermediate_gc;Allow User Variables=True" providerName="MySql.Data.MySqlClient"/>
+ 
   </connectionStrings>
   <appSettings>
     <!--测试-->
@@ -77,6 +80,8 @@
     <!--启动SQL日志-->
     <add key="LogSql" value="1" />
     <add key="ClientSettingsProvider.ServiceUri" value="" />
+    <add key="SetTime" value="-01 02:00:00" />
+    <add key="Post_url" value="http://10.10.5.120:80/wilink/api/wilink/gateway/allInOne"/>
   </appSettings>
   <system.web>
     <membership defaultProvider="ClientAuthenticationMembershipProvider">

BIN
MessageToScan/UE/IL.Common.dll


BIN
MessageToScan/UE/MediII.Adapter.BizComponent.ADT.dll


BIN
MessageToScan/UE/MediII.Adapter.BizComponent.Base.dll


BIN
MessageToScan/UE/MediII.Adapter.BizComponent.MFN.dll


BIN
MessageToScan/UE/MediII.Adapter.BizComponent.PMU.dll


BIN
MessageToScan/UE/MediII.Adapter.BizComponent.UE.dll


BIN
MessageToScan/UE/MediII.Adapter.ReceiveToScanModel.dll


BIN
MessageToScan/UE/MediII.Adapter.Scan.Interface.dll


BIN
MessageToScan/UE/MediII.Adapter.Scanner.dll


BIN
MessageToScan/UE/MySql.Data.dll


BIN
MessageToScan/UE/Newtonsoft.Json.dll


BIN
MessageToScanServer.zip


BIN
MessageToScanServer/IL.Common.dll


+ 0 - 4
MessageToScanServer/Install.bat

@@ -1,4 +0,0 @@
-%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe MediII.Adapter.MsgToSIServer.exe
-Net Start SI.HL7.MsgToSIServer
-sc config SI.HL7.MsgToSIServer start= auto 
- 

BIN
MessageToScanServer/KC_HN_Tools.dll


BIN
MessageToScanServer/MediII.Adapter.MsgToScanMServer.exe


+ 6 - 3
MessageToScanServer/MediII.Adapter.MsgToScanServer.vshost.exe.config → MessageToScanServer/MediII.Adapter.MsgToScanMServer.exe.config

@@ -56,7 +56,7 @@
   </loggingConfiguration>
   <dataConfiguration defaultDatabase="DefaultDB" />
   <connectionStrings>
-    <add name="DefaultDB" connectionString="Data Source=192.168.1.26;
+    <!-- <add name="DefaultDB" connectionString="Data Source=192.168.1.26;
                        Initial Catalog=HL7_Platform;
                        Persist Security Info=True;
                        Integrated Security=False;
@@ -66,7 +66,9 @@
                        Initial Catalog=HealthCare;
                        Persist Security Info=True;
                        Integrated Security=False;
-                       User ID=sa;Password=sa26" providerName="System.Data.SqlClient"/>
+                       User ID=sa;Password=sa26" providerName="System.Data.SqlClient"/>-->
+    <add name="DefaultDB" connectionString="server=120.27.235.181;port=3306; UserID=root;Password=xywl2021!;Charset=utf8;database=performance_message" providerName="MySql.Data.MySqlClient"/>
+    <add name="HealthCare" connectionString="server=120.27.235.181;port=3306; UserID=root;Password=xywl2021!;Charset=utf8;database=intermediate_gc;Allow User Variables=True" providerName="MySql.Data.MySqlClient"/>
 
 
   </connectionStrings>
@@ -90,7 +92,8 @@
     <!--任务解锁时间  单位分钟-->
     <add key="TaskRunTime" value="5"/>
 
-
+    <add key="SetTime" value="-01 02:00:00" />
+    <add key="Post_url" value="http://10.10.5.120:80/wilink/api/wilink/gateway/allInOne"/>
     <!--启动SQL日志-->
     <add key="LogSql" value="1"/>
   </appSettings>

BIN
MessageToScanServer/MediII.Adapter.MsgToScanServer.exe


+ 0 - 97
MessageToScanServer/MediII.Adapter.MsgToScanServer.exe.config

@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<configuration>
-  <configSections>
-    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
-    <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
-  </configSections>
-  <!--日志配置-->
-  <loggingConfiguration name="" tracingEnabled="true" defaultCategory="General">
-    <listeners>
-      <add name="GeneralListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
-        listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
-        fileName="General\rolling.log" formatter="Text Formatter" rollFileExistsBehavior="Increment"
-        rollInterval="Day" maxArchivedFiles="0" traceOutputOptions="None" />
-      <add name="SockListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
-        listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
-        fileName="Sock\rolling.log" formatter="Text Formatter" rollInterval="Day" />
-      <add name="ScanListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
-        listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
-        fileName="Scan\rolling.log" formatter="Text Formatter" rollInterval="Day" />
-      <add name="SqlListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
-        listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
-        fileName="SQL\logSql.log" formatter="Text Formatter" rollInterval="Day" />
-    </listeners>
-    <formatters>
-      <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
-        template="Timestamp: {timestamp}{newline}&#xA;Message: {message}"
-        name="Text Formatter" />
-    </formatters>
-    <categorySources>
-      <add switchValue="All" name="General">
-        <listeners>
-          <add name="GeneralListener" />
-        </listeners>
-      </add>
-      <add switchValue="All" name="Sock">
-        <listeners>
-          <add name="SockListener" />
-        </listeners>
-      </add>
-      <add switchValue="All" name="AdapterScan">
-        <listeners>
-          <add name="ScanListener" />
-        </listeners>
-      </add>
-      <add switchValue="All" name="SQL">
-        <listeners>
-          <add name="SqlListener" />
-        </listeners>
-      </add>
-    </categorySources>
-    <specialSources>
-      <allEvents switchValue="All" name="All Events" />
-      <notProcessed switchValue="All" name="Unprocessed Category" />
-      <errors switchValue="All" name="Logging Errors &amp; Warnings" />
-    </specialSources>
-  </loggingConfiguration>
-  <dataConfiguration defaultDatabase="DefaultDB" />
-  <connectionStrings>
-    <add name="DefaultDB" connectionString="Data Source=192.168.1.26;
-                       Initial Catalog=HL7_Platform;
-                       Persist Security Info=True;
-                       Integrated Security=False;
-                       User ID=sa;Password=sa26" providerName="System.Data.SqlClient"/>
-
-    <add name="HealthCare" connectionString="Data Source=192.168.1.26;
-                       Initial Catalog=HealthCare;
-                       Persist Security Info=True;
-                       Integrated Security=False;
-                       User ID=sa;Password=sa26" providerName="System.Data.SqlClient"/>
-
-
-  </connectionStrings>
-  <appSettings>
-    <!--测试-->
-    <!--正式-->
-    <add key="MediIIAddress" value="192.9.216.206" />
-    <add key="MediIIPort" value="31001" />
-    <add key="BufferSize" value="4048" />
-    <add key="ReviceTimeOut" value="30000" />
-    <add key="ErrorRepeatCount" value="1" />
-    <add key="ErrorSleepMSecodes" value="3000" />
-    <!--<add key="SedingApplication" value="UEHIS" />-->
-    <add key="HosiptalName" value=""/>
-
-    <add key="AddMinues" value="30"/>
-    <add key="BranchID" value=""/>
-    <!--查询数量-->
-    <add key="SearchNum" value="50"/>
-
-    <!--任务解锁时间  单位分钟-->
-    <add key="TaskRunTime" value="5"/>
-
-
-    <!--启动SQL日志-->
-    <add key="LogSql" value="1"/>
-  </appSettings>
-</configuration>

BIN
MessageToScanServer/MediII.Adapter.Scan.Interface.dll


BIN
MessageToScanServer/MediII.Adapter.Scanner.dll


BIN
MessageToScanServer/MediII.Adapter.WinForm.Scanner.exe


+ 98 - 0
MessageToScanServer/MediII.Adapter.WinForm.Scanner.exe.config

@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <configSections>
+    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
+    <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
+  </configSections>
+  <!--日志配置-->
+  <loggingConfiguration name="" tracingEnabled="true" defaultCategory="General">
+    <listeners>
+      <add name="GeneralListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fileName="General\rolling.log" formatter="Text Formatter" rollFileExistsBehavior="Increment" rollInterval="Day" maxArchivedFiles="0" traceOutputOptions="None" />
+      <add name="SockListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fileName="Sock\rolling.log" formatter="Text Formatter" rollInterval="Day" />
+      <add name="ScanListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fileName="Scan\rolling.log" formatter="Text Formatter" rollInterval="Day" />
+      <add name="SqlListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fileName="SQL\logSql.log" formatter="Text Formatter" rollInterval="Day" />
+    </listeners>
+    <formatters>
+      <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" template="Timestamp: {timestamp}{newline}&#xA;Message: {message}" name="Text Formatter" />
+    </formatters>
+    <categorySources>
+      <add switchValue="All" name="General">
+        <listeners>
+          <add name="GeneralListener" />
+        </listeners>
+      </add>
+      <add switchValue="All" name="Sock">
+        <listeners>
+          <add name="SockListener" />
+        </listeners>
+      </add>
+      <add switchValue="All" name="AdapterScan">
+        <listeners>
+          <add name="ScanListener" />
+        </listeners>
+      </add>
+      <add switchValue="All" name="SQL">
+        <listeners>
+          <add name="SqlListener" />
+        </listeners>
+      </add>
+    </categorySources>
+    <specialSources>
+      <allEvents switchValue="All" name="All Events" />
+      <notProcessed switchValue="All" name="Unprocessed Category" />
+      <errors switchValue="All" name="Logging Errors &amp; Warnings" />
+    </specialSources>
+  </loggingConfiguration>
+  <dataConfiguration defaultDatabase="DefaultDB" />
+  <connectionStrings>
+    <!--<add name="DefaultDB" connectionString="Data Source=.;
+                       Initial Catalog=HL7_Platform;
+                       Persist Security Info=True;
+                       Integrated Security=False;
+                       User ID=sa;Password=123" providerName="System.Data.SqlClient"/>
+
+    <add name="HealthCare" connectionString="Data Source=.;
+                       Initial Catalog=HL7_Platform;
+                       Persist Security Info=True;
+                       Integrated Security=False;
+                       User ID=sa;Password=123" providerName="System.Data.SqlClient"/>-->
+    <add name="DefaultDB" connectionString="server=120.27.235.181;port=3306; UserID=root;Password=xywl2021!;Charset=utf8;database=performance_message" providerName="MySql.Data.MySqlClient"/>
+    <add name="HealthCare" connectionString="server=120.27.235.181;port=3306; UserID=root;Password=xywl2021!;Charset=utf8;database=intermediate_gc;Allow User Variables=True" providerName="MySql.Data.MySqlClient"/>
+ 
+  </connectionStrings>
+  <appSettings>
+    <!--测试-->
+    <!--正式-->
+    <add key="MediIIAddress" value="192.9.216.206" />
+    <add key="MediIIPort" value="31001" />
+    <add key="BufferSize" value="4048" />
+    <add key="ReviceTimeOut" value="30000" />
+    <add key="ErrorRepeatCount" value="1" />
+    <add key="ErrorSleepMSecodes" value="3000" />
+    <!--<add key="SedingApplication" value="UEHIS" />-->
+    <add key="HosiptalName" value="" />
+    <add key="AddMinues" value="30" />
+    <add key="BranchID" value="" />
+    <!--查询数量-->
+    <add key="SearchNum" value="50" />
+    <!--任务解锁时间  单位分钟-->
+    <add key="TaskRunTime" value="5" />
+    <!--启动SQL日志-->
+    <add key="LogSql" value="1" />
+    <add key="ClientSettingsProvider.ServiceUri" value="" />
+    <add key="SetTime" value="-01 02:00:00" />
+    <add key="Post_url" value="http://10.10.5.120:80/wilink/api/wilink/gateway/allInOne"/>
+  </appSettings>
+  <system.web>
+    <membership defaultProvider="ClientAuthenticationMembershipProvider">
+      <providers>
+        <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
+      </providers>
+    </membership>
+    <roleManager defaultProvider="ClientRoleProvider" enabled="true">
+      <providers>
+        <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
+      </providers>
+    </roleManager>
+  </system.web>
+</configuration>

+ 0 - 0
MessageToScanServer/MediII.Adapter.MsgToScanServer.vshost.exe → MessageToScanServer/MediII.Adapter.WinForm.Scanner.vshost.exe


+ 98 - 0
MessageToScanServer/MediII.Adapter.WinForm.Scanner.vshost.exe.config

@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <configSections>
+    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
+    <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
+  </configSections>
+  <!--日志配置-->
+  <loggingConfiguration name="" tracingEnabled="true" defaultCategory="General">
+    <listeners>
+      <add name="GeneralListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fileName="General\rolling.log" formatter="Text Formatter" rollFileExistsBehavior="Increment" rollInterval="Day" maxArchivedFiles="0" traceOutputOptions="None" />
+      <add name="SockListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fileName="Sock\rolling.log" formatter="Text Formatter" rollInterval="Day" />
+      <add name="ScanListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fileName="Scan\rolling.log" formatter="Text Formatter" rollInterval="Day" />
+      <add name="SqlListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fileName="SQL\logSql.log" formatter="Text Formatter" rollInterval="Day" />
+    </listeners>
+    <formatters>
+      <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" template="Timestamp: {timestamp}{newline}&#xA;Message: {message}" name="Text Formatter" />
+    </formatters>
+    <categorySources>
+      <add switchValue="All" name="General">
+        <listeners>
+          <add name="GeneralListener" />
+        </listeners>
+      </add>
+      <add switchValue="All" name="Sock">
+        <listeners>
+          <add name="SockListener" />
+        </listeners>
+      </add>
+      <add switchValue="All" name="AdapterScan">
+        <listeners>
+          <add name="ScanListener" />
+        </listeners>
+      </add>
+      <add switchValue="All" name="SQL">
+        <listeners>
+          <add name="SqlListener" />
+        </listeners>
+      </add>
+    </categorySources>
+    <specialSources>
+      <allEvents switchValue="All" name="All Events" />
+      <notProcessed switchValue="All" name="Unprocessed Category" />
+      <errors switchValue="All" name="Logging Errors &amp; Warnings" />
+    </specialSources>
+  </loggingConfiguration>
+  <dataConfiguration defaultDatabase="DefaultDB" />
+  <connectionStrings>
+    <!--<add name="DefaultDB" connectionString="Data Source=.;
+                       Initial Catalog=HL7_Platform;
+                       Persist Security Info=True;
+                       Integrated Security=False;
+                       User ID=sa;Password=123" providerName="System.Data.SqlClient"/>
+
+    <add name="HealthCare" connectionString="Data Source=.;
+                       Initial Catalog=HL7_Platform;
+                       Persist Security Info=True;
+                       Integrated Security=False;
+                       User ID=sa;Password=123" providerName="System.Data.SqlClient"/>-->
+    <add name="DefaultDB" connectionString="server=120.27.235.181;port=3306; UserID=root;Password=xywl2021!;Charset=utf8;database=performance_message" providerName="MySql.Data.MySqlClient"/>
+    <add name="HealthCare" connectionString="server=120.27.235.181;port=3306; UserID=root;Password=xywl2021!;Charset=utf8;database=intermediate_gc;Allow User Variables=True" providerName="MySql.Data.MySqlClient"/>
+ 
+  </connectionStrings>
+  <appSettings>
+    <!--测试-->
+    <!--正式-->
+    <add key="MediIIAddress" value="192.9.216.206" />
+    <add key="MediIIPort" value="31001" />
+    <add key="BufferSize" value="4048" />
+    <add key="ReviceTimeOut" value="30000" />
+    <add key="ErrorRepeatCount" value="1" />
+    <add key="ErrorSleepMSecodes" value="3000" />
+    <!--<add key="SedingApplication" value="UEHIS" />-->
+    <add key="HosiptalName" value="" />
+    <add key="AddMinues" value="30" />
+    <add key="BranchID" value="" />
+    <!--查询数量-->
+    <add key="SearchNum" value="50" />
+    <!--任务解锁时间  单位分钟-->
+    <add key="TaskRunTime" value="5" />
+    <!--启动SQL日志-->
+    <add key="LogSql" value="1" />
+    <add key="ClientSettingsProvider.ServiceUri" value="" />
+    <add key="SetTime" value="-01 02:00:00" />
+    <add key="Post_url" value="http://10.10.5.120:80/wilink/api/wilink/gateway/allInOne"/>
+  </appSettings>
+  <system.web>
+    <membership defaultProvider="ClientAuthenticationMembershipProvider">
+      <providers>
+        <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
+      </providers>
+    </membership>
+    <roleManager defaultProvider="ClientRoleProvider" enabled="true">
+      <providers>
+        <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
+      </providers>
+    </roleManager>
+  </system.web>
+</configuration>

+ 0 - 0
MessageToScanServer/MediII.Adapter.MsgToScanServer.vshost.exe.manifest → MessageToScanServer/MediII.Adapter.WinForm.Scanner.vshost.exe.manifest


BIN
MessageToScanServer/UE/Dapper.dll


BIN
MessageToScanServer/UE/IL.Common.dll


BIN
MessageToScanServer/UE/MediII.Adapter.BizComponent.ADT.dll


BIN
MessageToScanServer/UE/MediII.Adapter.BizComponent.Base.dll


BIN
MessageToScanServer/UE/MediII.Adapter.BizComponent.MFN.dll


BIN
MessageToScanServer/UE/MediII.Adapter.BizComponent.PMU.dll


BIN
MessageToScanServer/UE/MediII.Adapter.BizComponent.UE.dll


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác