2 Commitit 6b0dcba4e1 ... ba5f533240

Tekijä SHA1 Viesti Päivämäärä
  singlese7en ba5f533240 merge: 用本地代码覆盖远程冲突 2 kuukautta sitten
  singlese7en 9570b86d01 feat: 更新子模块HisClientReceiveToScan的内容 2 kuukautta sitten
100 muutettua tiedostoa jossa 2325 lisäystä ja 1036 poistoa
  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. 49 130
      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. 14 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
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediII.Adapter.Scanner", "MediII.Adapter.Scanner\MediII.Adapter.Scanner.csproj", "{0ADDDB14-B0F6-4D12-8025-5EC8124A511B}"
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediII.Adapter.Scanner", "MediII.Adapter.Scanner\MediII.Adapter.Scanner.csproj", "{0ADDDB14-B0F6-4D12-8025-5EC8124A511B}"
 EndProject
 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
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{FB0F3AD4-26BC-44D6-B4BB-88380A445C53}"
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{FB0F3AD4-26BC-44D6-B4BB-88380A445C53}"
 EndProject
 EndProject

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

@@ -55,23 +55,20 @@ namespace MediII.Adapter.BizComponent.ADT
             {
             {
                 switch (evntType)
                 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();
                     default: throw new NotImplementedException();
@@ -92,7 +89,7 @@ namespace MediII.Adapter.BizComponent.ADT
         /// </summary>
         /// </summary>
         /// <param name="m">传入的消息结构</param>
         /// <param name="m">传入的消息结构</param>
         /// <returns>ACK</returns>
         /// <returns>ACK</returns>
-        public abstract void Handler(string m);
+        public abstract void Handler(TaskMessage m);
 
 
         #region 获取字典信息
         #region 获取字典信息
         /// <summary>
         /// <summary>
@@ -103,8 +100,8 @@ namespace MediII.Adapter.BizComponent.ADT
         {
         {
             var ntb = new DataTable();
             var ntb = new DataTable();
             var sql = string.Format("SELECT  CodeID,CodeName,HisCodeID,MedCodeID FROM  HealthCare.dbo.[{0}]  WHERE IsDel=0", viewName);
             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;
             return ntb;
         }
         }
 
 
@@ -118,8 +115,8 @@ namespace MediII.Adapter.BizComponent.ADT
         protected string GetZone(Database ctx, string hisZone)
         protected string GetZone(Database ctx, string hisZone)
         {
         {
             var sql = string.Format("SELECT top 1 Zone FROM HealthCare.dbo.HisInfo WHERE  HisZone='{0}'", 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))
             if (string.IsNullOrEmpty(val))
             {
             {
                 return hisZone;
                 return hisZone;
@@ -135,8 +132,8 @@ namespace MediII.Adapter.BizComponent.ADT
         protected string GetSeq(Database ctx, string seqName)
         protected string GetSeq(Database ctx, string seqName)
         {
         {
             string sql = string.Format("SELECT NEXT VALUE FOR {0}", 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)
             if (obj != null)
                 return obj.ToString();
                 return obj.ToString();
             else
             else
@@ -151,7 +148,7 @@ namespace MediII.Adapter.BizComponent.ADT
         internal DateTime GetNow(Database ctx)
         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)
             if (obj != null)
                 return Convert.ToDateTime(obj.ToString());
                 return Convert.ToDateTime(obj.ToString());
             else
             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)
         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 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
             try
             {
             {
                 var sql = string.Format("SELECT ParamValue FROM  HealthCare.dbo.SiteParamCtrl WHERE SiteNo='0000' AND ParamID='{0}' AND IsDel=0", key);
                 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);
                 return StrHelepr.Obj2StrTrim(obj);
             }
             }
             catch (Exception ex)
             catch (Exception ex)
@@ -223,12 +220,24 @@ namespace MediII.Adapter.BizComponent.ADT
 
 
         protected int GetScanTaskCount(string visitNo,string type)
         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);
             var cmd = ctx.DBGetSqlStringCommand(sql);
             ctx.AddInParameter(cmd, "VisitNo", DbType.String, visitNo);
             ctx.AddInParameter(cmd, "VisitNo", DbType.String, visitNo);
             ctx.AddInParameter(cmd, "TaskType", DbType.String, type);
             ctx.AddInParameter(cmd, "TaskType", DbType.String, type);
             var obj = int.Parse(StrHelepr.Obj2StrTrim(ctx.DBExecuteScalar(cmd)));
             var obj = int.Parse(StrHelepr.Obj2StrTrim(ctx.DBExecuteScalar(cmd)));
             return obj;
             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.Linq;
 using System.Text;  
 using System.Text;  
 using MediII.Adapter.BizComponent.Base;
 using MediII.Adapter.BizComponent.Base;
+using MediII.Adapter.ReceiveToScanModel;
 
 
 namespace MediII.Adapter.BizComponent.ADT
 namespace MediII.Adapter.BizComponent.ADT
 {
 {
     public class BizComponent_ADT : BaseBizComponent, IBizComponent
     public class BizComponent_ADT : BaseBizComponent, IBizComponent
     {
     {
-        public override string DoProcess(string m,string msgType)
+        public override string DoProcess(TaskMessage msg ,string msgType)
         {
         {
             try
             try
             {
             {
                 ADTHandler handler = ADTHandler.GetHandler(msgType);
                 ADTHandler handler = ADTHandler.GetHandler(msgType);
                 try
                 try
                 {
                 {
-                    handler.Handler(m);
+                    handler.Handler(msg);
                     return string.Empty;
                     return string.Empty;
                 }
                 }
                 catch (Exception ex)
                 catch (Exception ex)

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

@@ -74,6 +74,10 @@
       <SpecificVersion>False</SpecificVersion>
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\dll\Microsoft.Practices.EnterpriseLibrary.Logging.dll</HintPath>
       <HintPath>..\..\..\dll\Microsoft.Practices.EnterpriseLibrary.Logging.dll</HintPath>
     </Reference>
     </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">
     <Reference Include="SI.Common.SITask">
       <HintPath>..\..\..\dll\SI.Common.SITask.dll</HintPath>
       <HintPath>..\..\..\dll\SI.Common.SITask.dll</HintPath>
     </Reference>
     </Reference>
@@ -93,10 +97,20 @@
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>
     <Compile Include="ADTHandler.cs" />
     <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="BizComponent_ADT.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <EmbeddedResource Include="Properties\Resources.resx">
     <EmbeddedResource Include="Properties\Resources.resx">
@@ -126,7 +140,7 @@
     </ProjectReference>
     </ProjectReference>
     <ProjectReference Include="..\..\MediII.Adapter.ReceiveToScanModel\MediII.Adapter.ReceiveToScanModel.csproj">
     <ProjectReference Include="..\..\MediII.Adapter.ReceiveToScanModel\MediII.Adapter.ReceiveToScanModel.csproj">
       <Project>{f182ac2b-a0d5-40d2-89af-8d547606b6ac}</Project>
       <Project>{f182ac2b-a0d5-40d2-89af-8d547606b6ac}</Project>
-      <Name>MediII.Adapter.ReceiveToSIModel</Name>
+      <Name>MediII.Adapter.ReceiveToScanModel</Name>
     </ProjectReference>
     </ProjectReference>
     <ProjectReference Include="..\MediII.Adapter.BizComponent.Base\MediII.Adapter.BizComponent.Base.csproj">
     <ProjectReference Include="..\MediII.Adapter.BizComponent.Base\MediII.Adapter.BizComponent.Base.csproj">
       <Project>{619b1dbf-55b7-446b-af40-852a6ab689a0}</Project>
       <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 Microsoft.Practices.EnterpriseLibrary.Data;
 using System.Data.Common;
 using System.Data.Common;
 using IL.Common;
 using IL.Common;
+using MediII.Adapter.ReceiveToScanModel;
 
 
 namespace MediII.Adapter.BizComponent.Base
 namespace MediII.Adapter.BizComponent.Base
 {
 {
@@ -55,19 +56,19 @@ namespace MediII.Adapter.BizComponent.Base
         /// 处理消息
         /// 处理消息
         /// </summary>
         /// </summary>
         /// <param name="message">解析后消息的抽象类型</param>
         /// <param name="message">解析后消息的抽象类型</param>
-        public abstract string DoProcess(string message,string msgType);
+        public abstract string DoProcess(TaskMessage message, string msgType);
 
 
         /// <summary>
         /// <summary>
         ///实现处理的接口
         ///实现处理的接口
         /// </summary>
         /// </summary>
         /// <param name="message">传入的消息字符</param>
         /// <param name="message">传入的消息字符</param>
         /// <returns></returns>
         /// <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();
             string guid = MediII.Common.GUIDHelper.NewGUID();
-            OnProcessing(guid, messageID, message, "HL7v3");
+            OnProcessing(guid, message.No.ToString(), message.TaskID, "Restful");
             string ack = DoProcess(message,msgType);
             string ack = DoProcess(message,msgType);
             OnProcessed(guid, "", ack, true);
             OnProcessed(guid, "", ack, true);
             return ack;
             return ack;
@@ -95,8 +96,8 @@ namespace MediII.Adapter.BizComponent.Base
         #region 取DB服务器当前时间
         #region 取DB服务器当前时间
         public static DateTime GetNow(Database ctx)
         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)
             if (obj != null)
                 return Convert.ToDateTime(obj.ToString());
                 return Convert.ToDateTime(obj.ToString());
             else
             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.Collections.Generic;
 using System.Linq;
 using System.Linq;
 using System.Text;
 using System.Text;
@@ -13,6 +14,6 @@ namespace MediII.Adapter.BizComponent.Base
         /// <param name="message">处理消息的抽象接口</param>
         /// <param name="message">处理消息的抽象接口</param>
         /// <param name="ackMessage">回复消息</param>
         /// <param name="ackMessage">回复消息</param>
         /// <returns>1 成功,0 失败</returns>
         /// <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>
       <Project>{f320951f-886b-4f99-a3fd-5686c0a97868}</Project>
       <Name>IL.Common</Name>
       <Name>IL.Common</Name>
     </ProjectReference>
     </ProjectReference>
+    <ProjectReference Include="..\..\MediII.Adapter.ReceiveToScanModel\MediII.Adapter.ReceiveToScanModel.csproj">
+      <Project>{f182ac2b-a0d5-40d2-89af-8d547606b6ac}</Project>
+      <Name>MediII.Adapter.ReceiveToScanModel</Name>
+    </ProjectReference>
   </ItemGroup>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
   <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;
             string strMsgType;
             using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew))
             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();
                 OperateXmlUtil helper = new OperateXmlUtil();
                 string pkid = helper.XpathRead(message, "//*[@root='2.16.156.10011.1.26']", "extension");
                 string pkid = helper.XpathRead(message, "//*[@root='2.16.156.10011.1.26']", "extension");
                 DbCommand cmd = ctx.DBGetSqlStringCommand(sqlSel);
                 DbCommand cmd = ctx.DBGetSqlStringCommand(sqlSel);
@@ -47,12 +47,12 @@ namespace MediII.Adapter.BizComponent.MFN
                 
                 
                 if (counts == 0)
                 if (counts == 0)
                 {
                 {
-                    string sql = @"insert into dbo.his_unit(id,
+                    string sql = @"insert into his_unit(id,
                                                                 name,
                                                                 name,
 									                            pym)
 									                            pym)
-							                            VALUES(@id,
-                                                                @name,
-									                            @pym)";
+							                            VALUES(?id,
+                                                                ?name,
+									                            ?pym)";
 
 
                     OperateXmlUtil xmlHelper = new OperateXmlUtil();
                     OperateXmlUtil xmlHelper = new OperateXmlUtil();
                     DbCommand command = ctx.GetSqlStringCommand(sql.ToString());
                     DbCommand command = ctx.GetSqlStringCommand(sql.ToString());
@@ -62,7 +62,7 @@ namespace MediII.Adapter.BizComponent.MFN
                 }
                 }
                 else
                 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();
                     OperateXmlUtil xmlHelper = new OperateXmlUtil();
                     DbCommand command = ctx.GetSqlStringCommand(sql.ToString());
                     DbCommand command = ctx.GetSqlStringCommand(sql.ToString());
                     Resolving(message, ctx, command);
                     Resolving(message, ctx, command);

+ 49 - 130
IL.BizComponent/MediII.Adapter.BizComponent.PMU/BizComponent_PMU.cs

@@ -44,27 +44,10 @@ namespace MediII.Adapter.BizComponent.PMU
             // {
             // {
             //取得消息类型 MAD新增 MUP更新 MDL删除 "MDC"作废 "MAC"恢复
             //取得消息类型 MAD新增 MUP更新 MDL删除 "MDC"作废 "MAC"恢复
             OperateXmlUtil helper = new OperateXmlUtil();
             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());
             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);
-            //int counts = Convert.ToInt32(ctx.ExecuteScalar(command));
-            var valueNode = helper.XpathRead(m, "//*[name()='healthCarePrincipalPerson']").Item(0);
-            string idCode = string.Empty;
-            foreach (XmlNode xe in valueNode.ChildNodes)
-            {
-                if (xe.Name == "name")
-                {
-                    idCode = xe.LastChild.LastChild.Attributes["value"].Value;
-
-                    break;
-                }
-            }
-            int index = idCode.IndexOf('/');
-            string pkid = idCode.Substring(index, idCode.Length - index);
-            //ctx.AddInParameter(command, "DOCT_NAME", System.Data.DbType.String, pkid.Substring(0,index));
-            ctx.AddInParameter(command, "DOCT_CODE", System.Data.DbType.String, idCode.Substring(index, idCode.Length - index));
+            string pkid = helper.XpathRead(m, "//*[@root='2.16.156.10011.1.4']", "extension");
+            ctx.AddInParameter(command, "DOCT_CODE", System.Data.DbType.String, pkid);
             int counts = Convert.ToInt32(ctx.ExecuteScalar(command));
             int counts = Convert.ToInt32(ctx.ExecuteScalar(command));
 
 
 
 
@@ -75,11 +58,11 @@ namespace MediII.Adapter.BizComponent.PMU
                 if (counts == 0)
                 if (counts == 0)
                 {
                 {
                     //没有查询到记录则新增,否则修改
                     //没有查询到记录则新增,否则修改
-                    AddData(m, idCode);
+                    AddData(m, pkid);
                 }
                 }
                 else
                 else
                 {
                 {
-                    UpDateData(m, idCode);
+                    UpDateData(m, pkid);
                 }
                 }
 
 
 
 
@@ -91,40 +74,34 @@ namespace MediII.Adapter.BizComponent.PMU
         public void AddData(string message, string id)
         public void AddData(string message, string id)
         {
         {
             #region 新增
             #region 新增
-//            string sql = @"INSERT INTO dbo.his_doct
-//                                    ( DOCT_CODE ,
-//                                    DOCT_NAME ,
-//                                    HIS_DEPT_CODE ,
-//                                    HIS_DEPT_NAME ,
-//                                    status
-//                                    )
-//                            VALUES  ( @DOCT_CODE,
-//                                    @DOCT_NAME ,
-//                                    @HIS_DEPT_CODE ,
-//                                    @HIS_DEPT_NAME ,
-//                                    @status)";
-            string sql = @"INSERT INTO dbo.his_doct
+            string sql = @"INSERT INTO his_doct
                                     ( DOCT_CODE ,
                                     ( DOCT_CODE ,
                                     DOCT_NAME
                                     DOCT_NAME
                                     )
                                     )
-                            VALUES  ( @DOCT_CODE,
-                                    @DOCT_NAME )";
+                            VALUES  ( ?DOCT_CODE,
+                                    ?DOCT_NAME)";
             DbCommand command = ctx.GetSqlStringCommand(sql.ToString());
             DbCommand command = ctx.GetSqlStringCommand(sql.ToString());
 
 
             SetEntity(message, command, id);
             SetEntity(message, command, id);
-            SqlDataAccess.ExecuteNonQuery(ctx, command);
+            MySqlDataAccess.ExecuteNonQuery(ctx, command);
             #endregion
             #endregion
         }
         }
         public void UpDateData(string message, string id)
         public void UpDateData(string message, string id)
         {
         {
             #region 修改
             #region 修改
-            string sql1 = @"update dbo.his_doct set 
-                                    DOCT_NAME =@DOCT_NAME
-                                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());
             DbCommand command1 = ctx.GetSqlStringCommand(sql1.ToString());
 
 
             SetEntity(message, command1, id);
             SetEntity(message, command1, id);
-            SqlDataAccess.ExecuteNonQuery(ctx, command1);
+            MySqlDataAccess.ExecuteNonQuery(ctx, command1);
             #endregion
             #endregion
         }
         }
 
 
@@ -132,97 +109,39 @@ namespace MediII.Adapter.BizComponent.PMU
         {
         {
             string value = string.Empty;
             string value = string.Empty;
             OperateXmlUtil xmlHelper = new OperateXmlUtil();
             OperateXmlUtil xmlHelper = new OperateXmlUtil();
-            int index = id.IndexOf('/');
-            ctx.AddInParameter(command, "DOCT_CODE", System.Data.DbType.String, id.Substring(index+1, id.Length - index-1));
 
 
-            ctx.AddInParameter(command, "DOCT_NAME", System.Data.DbType.String, id.Substring(0,index));
-            //var valueNode = xmlHelper.XpathRead(message, "//*[name()='healthCarePrincipalPerson']").Item(0);
+            ctx.AddInParameter(command, "DOCT_CODE", System.Data.DbType.String, id);
+            var valueNode = xmlHelper.XpathRead(message, "//*[name()='healthCarePrincipalPerson']").Item(0);
 
 
-            //foreach (XmlNode xe in valueNode.ChildNodes)
-            //{
-            //    if (xe.Name == "name")
-            //    {
-            //        value = xe.LastChild.LastChild.Attributes["value"].Value;
-            //        ctx.AddInParameter(command, "DOCT_NAME", System.Data.DbType.String, value);
+            foreach (XmlNode xe in valueNode.ChildNodes)
+            {
+                if (xe.Name == "name")
+                {
+                    value = xe.LastChild.LastChild.Attributes["value"].Value;
+                    ctx.AddInParameter(command, "DOCT_NAME", System.Data.DbType.String, value);
 
 
-            //        break;
-            //    }
-            //}
+                    break;
+                }
+            }
 
 
-            //value = xmlHelper.XpathRead(message, "//*[@root='2.16.156.10011.1.26']", "extension");
-            //ctx.AddInParameter(command, "HIS_DEPT_CODE", System.Data.DbType.AnsiString, value);
-
-            //valueNode = xmlHelper.XpathRead(message, "//*[name()='affiliatedPrincipalOrganization']").Item(0);
-            //foreach (XmlNode xe in valueNode.ChildNodes)
-            //{
-            //    if (xe.Name == "name")
-            //    {
-            //        value = xe.LastChild.LastChild.Attributes["value"].Value;
-            //        ctx.AddInParameter(command, "HIS_DEPT_NAME", System.Data.DbType.String, value);
-
-            //        break;
-            //    }
-            //}
-            //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);
+            value = xmlHelper.XpathRead(message, "//*[@root='2.16.156.10011.1.26']", "extension");
+            ctx.AddInParameter(command, "HIS_DEPT_CODE", System.Data.DbType.AnsiString, value);
 
 
+            valueNode = xmlHelper.XpathRead(message, "//*[name()='affiliatedPrincipalOrganization']").Item(0);
+            foreach (XmlNode xe in valueNode.ChildNodes)
+            {
+                if (xe.Name == "name")
+                {
+                    value = xe.LastChild.LastChild.Attributes["value"].Value;
+                    ctx.AddInParameter(command, "HIS_DEPT_NAME", System.Data.DbType.String, value);
 
 
+                    break;
+                }
+            }
+            ctx.AddInParameter(command, "status", System.Data.DbType.String, "在用");
+            //ctx.ExecuteNonQuery(command);
         }
         }
-        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);
-        }
+      
 
 
 
 
 
 
@@ -233,7 +152,7 @@ namespace MediII.Adapter.BizComponent.PMU
         ///// </summary> 
         ///// </summary> 
         //internal DateTime GetNow(Database ctx)
         //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)
         //    if (obj != null)
         //        return Convert.ToDateTime(obj.ToString());
         //        return Convert.ToDateTime(obj.ToString());
         //    else
         //    else
@@ -267,9 +186,9 @@ namespace MediII.Adapter.BizComponent.PMU
         public string GetYsdj(string hiscodeid)
         public string GetYsdj(string hiscodeid)
         {
         {
             var sql = "SELECT CodeID FROM HealthCare.dbo.V_UserLevel WHERE HisCodeID=@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)
             if (codeid != null)
             {
             {
                 return codeid;
                 return codeid;

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

@@ -5,7 +5,7 @@ using System.Text;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 
 
 
 
-namespace MediII.Adapter.MsgToScanServer
+namespace MediII.Adapter.MsgToScanMServer
 {
 {
     /// <summary>
     /// <summary>
     /// 
     /// 
@@ -15,6 +15,6 @@ namespace MediII.Adapter.MsgToScanServer
         /// <summary>
         /// <summary>
         /// 
         /// 
         /// </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>
     <ProjectGuid>{76458091-5802-4284-8861-5F96360119FF}</ProjectGuid>
     <OutputType>WinExe</OutputType>
     <OutputType>WinExe</OutputType>
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <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>
     <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <FileAlignment>512</FileAlignment>
   </PropertyGroup>
   </PropertyGroup>
@@ -48,10 +48,10 @@
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>
     <Compile Include="ApplictStatic.cs" />
     <Compile Include="ApplictStatic.cs" />
-    <Compile Include="MsgToScanServer.cs">
+    <Compile Include="MsgToScanMServer.cs">
       <SubType>Component</SubType>
       <SubType>Component</SubType>
     </Compile>
     </Compile>
-    <Compile Include="MsgToScanServer.Designer.cs" />
+    <Compile Include="MsgToScanMServer.Designer.cs" />
     <Compile Include="Program.cs" />
     <Compile Include="Program.cs" />
     <Compile Include="ProjectInstaller.cs">
     <Compile Include="ProjectInstaller.cs">
       <SubType>Component</SubType>
       <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.ServiceProcess;
 using System.Text;
 using System.Text;
 
 
-namespace MediII.Adapter.MsgToScanServer
+namespace MediII.Adapter.MsgToScanMServer
 {
 {
     static class Program
     static class Program
     {
     {
@@ -16,7 +16,7 @@ namespace MediII.Adapter.MsgToScanServer
             ServiceBase[] ServicesToRun;
             ServiceBase[] ServicesToRun;
             ServicesToRun = new ServiceBase[] 
             ServicesToRun = new ServiceBase[] 
             { 
             { 
-                new MsgToScanServer() 
+                new MsgToScanMServer() 
             };
             };
             ServiceBase.Run(ServicesToRun);
             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
     partial class ProjectInstaller
     {
     {
@@ -39,9 +39,9 @@
             // 
             // 
             // serviceInstaller1
             // 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
             // ProjectInstaller
             // 
             // 

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

@@ -5,7 +5,7 @@ using System.ComponentModel;
 using System.Configuration.Install;
 using System.Configuration.Install;
 using System.Linq;
 using System.Linq;
 
 
-namespace MediII.Adapter.MsgToScanServer
+namespace MediII.Adapter.MsgToScanMServer
 {
 {
     /// <summary>
     /// <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: AssemblyDescription("")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("Microsoft")]
 [assembly: AssemblyCompany("Microsoft")]
-[assembly: AssemblyProduct("MediII.Adapter.MsgToScanServer")]
+[assembly: AssemblyProduct("MediII.Adapter.MsgToScanMServer")]
 [assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
 [assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
 [assembly: AssemblyCulture("")]
@@ -20,7 +20,7 @@ using System.Runtime.InteropServices;
 [assembly: ComVisible(false)]
 [assembly: ComVisible(false)]
 
 
 // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
 // 如果此项目向 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.Text;
 using System.Threading;
 using System.Threading;
 
 
-namespace MediII.Adapter.MsgToScanServer
+namespace MediII.Adapter.MsgToScanMServer
 {
 {
     /// <summary>
     /// <summary>
     /// 
     /// 

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

@@ -56,7 +56,7 @@
   </loggingConfiguration>
   </loggingConfiguration>
   <dataConfiguration defaultDatabase="DefaultDB" />
   <dataConfiguration defaultDatabase="DefaultDB" />
   <connectionStrings>
   <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;
                        Initial Catalog=HL7_Platform;
                        Persist Security Info=True;
                        Persist Security Info=True;
                        Integrated Security=False;
                        Integrated Security=False;
@@ -66,7 +66,9 @@
                        Initial Catalog=HealthCare;
                        Initial Catalog=HealthCare;
                        Persist Security Info=True;
                        Persist Security Info=True;
                        Integrated Security=False;
                        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>
   </connectionStrings>
@@ -90,7 +92,8 @@
     <!--任务解锁时间  单位分钟-->
     <!--任务解锁时间  单位分钟-->
     <add key="TaskRunTime" value="5"/>
     <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日志-->
     <!--启动SQL日志-->
     <add key="LogSql" value="1"/>
     <add key="LogSql" value="1"/>
   </appSettings>
   </appSettings>

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

@@ -41,6 +41,9 @@
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>
     <Compile Include="BaseEntity.cs" />
     <Compile Include="BaseEntity.cs" />
+    <Compile Include="ResponseHead.cs" />
+    <Compile Include="TaskMessage.cs" />
+    <Compile Include="TaskResponse.cs" />
     <Compile Include="HL7_MessageSetEntity.cs" />
     <Compile Include="HL7_MessageSetEntity.cs" />
     <Compile Include="HL7_ReceiveEntity.cs" />
     <Compile Include="HL7_ReceiveEntity.cs" />
     <Compile Include="HL7_ScanEntity.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: AssemblyDescription("")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("Microsoft")]
 [assembly: AssemblyCompany("Microsoft")]
-[assembly: AssemblyProduct("MediII.Adapter.ReceiveToSIModel")]
+[assembly: AssemblyProduct("MediII.Adapter.ReceiveToScanModel")]
 [assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
 [assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
 [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)
         protected override long OnDo(DateTime dtEventTime, Action<LogModel> setLog)
         {
         {
-
             Stopwatch stopwatch = new Stopwatch();
             Stopwatch stopwatch = new Stopwatch();
-
-
             var type = GetMessageType();
             var type = GetMessageType();
             stopwatch.Start();
             stopwatch.Start();
             try
             try
@@ -45,33 +65,27 @@ namespace MediII.Adapter.BizComponent.UE
                 if (setLog != null)
                 if (setLog != null)
                     setLog(new LogModel { Message = "开始一次消息处理扫描 消息类型:" + type });
                     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
             finally
             {
             {
@@ -83,20 +97,24 @@ namespace MediII.Adapter.BizComponent.UE
             return 1;
             return 1;
         }
         }
 
 
+
+
         private void RunExec(string type, Action<LogModel> setLog)
         private void RunExec(string type, Action<LogModel> setLog)
         {
         {
             var num = SearchNum;
             var num = SearchNum;
             var orderSeq = string.Empty;
             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
             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)
                 if (listRow.Count() > 0)
                 {
                 {
                     Process(listRow, setLog);
                     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 =>
             listRow.ToList().ForEach(o =>
             {
             {
-
                 //验证
                 //验证
-                var model = GetListRow(o.ID);
+                var model = GetListRow(o.No.ToString());
                 if (null != model)
                 if (null != model)
                 {
                 {
                     try
                     try
                     {
                     {
                         if (setLog != null)
                         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 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)
                     catch (Exception ex)
                     {
                     {
                         if (setLog != null)
                         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>
         /// </summary>
         /// <param name="id">id</param>
         /// <param name="id">id</param>
         /// <returns></returns>
         /// <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;
             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)
         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)
         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))
             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
             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)
         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)
             if (setLog != null)
                 setLog(new LogModel { Message = "开始一次解锁消息处理扫描 " });
                 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
             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)
                 if (listRow.Count() > 0)
                 {
                 {
                     process(listRow, setLog);
                     process(listRow, setLog);
@@ -60,10 +60,10 @@ namespace MediII.Adapter.BizComponent.UE
                     if (setLog != null)
                     if (setLog != null)
                         setLog(new LogModel { Message = "解锁消息:"+o.MsgContent, MessageID = o.MessageID });
                         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)
                 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 = "开始一次数据库错误消息处理扫描 " });
                 setLog(new LogModel { Message = "开始一次数据库错误消息处理扫描 " });
             var sql = @" 
             var sql = @" 
                         SELECT *   
                         SELECT *   
-                        FROM    HL7_Platform.dbo.HL7_Receive with(nolock)
+                        FROM    HL7_Receive
                         WHERE   1 = 1 
                         WHERE   1 = 1 
                                 AND ( TaskMsg LIKE '%Timeout 时间已到。%'
                                 AND ( TaskMsg LIKE '%Timeout 时间已到。%'
                                         OR TaskMsg LIKE '%此操作对该事务的状态无效%'
                                         OR TaskMsg LIKE '%此操作对该事务的状态无效%'
                                         OR TaskMsg LIKE '%请重新运行该事务。%' )
                                         OR TaskMsg LIKE '%请重新运行该事务。%' )
                                 AND (ErrNum<4 or ErrNum is null) 
                                 AND (ErrNum<4 or ErrNum is null) 
                                 AND TaskStatus = 3
                                 AND TaskStatus = 3
-                                AND ReceivingTime > DATEADD(dy,-{0},getdate()) 
+                                AND ReceivingTime > DATE_ADD(SYSDATE(),interval -{0} DAY)
                         ORDER BY SeqNo DESC  ";
                         ORDER BY SeqNo DESC  ";
             sql = string.Format(sql, TaskRunTime);//操作中数据
             sql = string.Format(sql, TaskRunTime);//操作中数据
             try
             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())
                 if (listRow.Any())
                 {
                 {
                     process(listRow, setLog); 
                     process(listRow, setLog); 
@@ -70,10 +70,10 @@ namespace MediII.Adapter.BizComponent.UE
                     if (setLog != null)
                     if (setLog != null)
                         setLog(new LogModel { Message = "重置数据库错误消息:" + o.MsgContent, MessageID = o.MessageID });
                         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)
                 catch (Exception ex)
                 {
                 {

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

@@ -70,12 +70,20 @@
   <ItemGroup>
   <ItemGroup>
     <Compile Include="DebugScanner.cs" />
     <Compile Include="DebugScanner.cs" />
     <Compile Include="DefaultDBScanner.cs" />
     <Compile Include="DefaultDBScanner.cs" />
-    <Compile Include="HL7_MFN_Scanner.cs" />
-    <Compile Include="HL7_DFT_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" />
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>

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

@@ -64,7 +64,7 @@ namespace MediII.Adapter.Scanner
         private HL7_MessageSetEntity GetSaoMiao(string typeName)
         private HL7_MessageSetEntity GetSaoMiao(string typeName)
         {
         {
             var sql = string.Format("select * from HL7_MessageSet where MessageType=2 and  MessageId = '{0}'", 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;
             return entity;
         }
         }
 
 
@@ -87,11 +87,11 @@ namespace MediII.Adapter.Scanner
             try
             try
             {
             {
                 var typeName = this.GetType().Name.Trim();
                 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)
             catch (Exception ex)
             {
             {
@@ -109,7 +109,7 @@ namespace MediII.Adapter.Scanner
         {
         {
             try
             try
             {
             {
-                return (DateTime)SqlDataAccess.ExecuteScalar(ctx, CommandType.Text, "select GETDATE()");
+                return (DateTime)MySqlDataAccess.ExecuteScalar(ctx, CommandType.Text, "select SYSDATE() from dual");
             }
             }
             catch (Exception ex)
             catch (Exception ex)
             {
             {

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

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

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

@@ -45,7 +45,7 @@
   </loggingConfiguration>
   </loggingConfiguration>
   <dataConfiguration defaultDatabase="DefaultDB" />
   <dataConfiguration defaultDatabase="DefaultDB" />
   <connectionStrings>
   <connectionStrings>
-    <add name="DefaultDB" connectionString="Data Source=.;
+    <!--<add name="DefaultDB" connectionString="Data Source=.;
                        Initial Catalog=HL7_Platform;
                        Initial Catalog=HL7_Platform;
                        Persist Security Info=True;
                        Persist Security Info=True;
                        Integrated Security=False;
                        Integrated Security=False;
@@ -55,7 +55,10 @@
                        Initial Catalog=HL7_Platform;
                        Initial Catalog=HL7_Platform;
                        Persist Security Info=True;
                        Persist Security Info=True;
                        Integrated Security=False;
                        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>
   </connectionStrings>
   <appSettings>
   <appSettings>
     <!--测试-->
     <!--测试-->
@@ -77,6 +80,8 @@
     <!--启动SQL日志-->
     <!--启动SQL日志-->
     <add key="LogSql" value="1" />
     <add key="LogSql" value="1" />
     <add key="ClientSettingsProvider.ServiceUri" value="" />
     <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>
   </appSettings>
   <system.web>
   <system.web>
     <membership defaultProvider="ClientAuthenticationMembershipProvider">
     <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>
   </loggingConfiguration>
   <dataConfiguration defaultDatabase="DefaultDB" />
   <dataConfiguration defaultDatabase="DefaultDB" />
   <connectionStrings>
   <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;
                        Initial Catalog=HL7_Platform;
                        Persist Security Info=True;
                        Persist Security Info=True;
                        Integrated Security=False;
                        Integrated Security=False;
@@ -66,7 +66,9 @@
                        Initial Catalog=HealthCare;
                        Initial Catalog=HealthCare;
                        Persist Security Info=True;
                        Persist Security Info=True;
                        Integrated Security=False;
                        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>
   </connectionStrings>
@@ -90,7 +92,8 @@
     <!--任务解锁时间  单位分钟-->
     <!--任务解锁时间  单位分钟-->
     <add key="TaskRunTime" value="5"/>
     <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日志-->
     <!--启动SQL日志-->
     <add key="LogSql" value="1"/>
     <add key="LogSql" value="1"/>
   </appSettings>
   </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


Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä