From 2bcbeb4dae7512acb30560c2e77007c54207d958 Mon Sep 17 00:00:00 2001 From: falcon <9504402@qq.com> Date: Wed, 15 Dec 2021 10:41:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OracleModel.cs | 79 +++++++++++++++++++ .../RunnerTests.cs | 62 ++++++++++++++- 2 files changed, 140 insertions(+), 1 deletion(-) diff --git a/src/Falcon.StoredProcedureRunnerTests/OracleModel.cs b/src/Falcon.StoredProcedureRunnerTests/OracleModel.cs index f5e8a88..22f7b85 100644 --- a/src/Falcon.StoredProcedureRunnerTests/OracleModel.cs +++ b/src/Falcon.StoredProcedureRunnerTests/OracleModel.cs @@ -17,4 +17,83 @@ namespace Falcon.StoredProcedureRunnerTests public string empname { get; set; } public string empactive { get; set; } } + + + /// + /// 体检接口 挂号查询 + /// + public class Tjjk_Tjgh + { + /// + /// 身份证号码 + /// + public string v_sfz { get; set; } + /// + /// 医疗机构代码 + /// + public string v_yljgdm { get; set; } + /// + /// 挂号日期 格式yyyyMMdd + /// + public string v_ghrq { get; set; } + + [FalconSPPrarmDirection(ParameterDirection.Output)] + [FalconSPPrarmType(FalconSPDbType.OracleRefCursor)] + public object v_data { get; set; } + + } + /// + /// 挂号查询结果 + /// + public class Tjjk_TjghResult + { + /// + /// 卡号 + /// + public string kh { get; set; } + /// + /// 姓名 + /// + public string xm { get; set; } + /// + /// 身份证号码 + /// + public string sfzh { get; set; } + /// + /// 科室编号 + /// + public string ksbh { get; set; } + /// + /// 科室名称 + /// + public string ksmc { get; set; } + /// + /// 区县标志 本区 外区 + /// + public string qxbz { get; set; } + /// + /// 挂号编号 + /// + public string ghbh { get; set; } + /// + /// 挂号状态.已挂号 未挂号 已退费 + /// + public string state { get; set; } + } + + + internal class GetDoctorData + { + public string v_orgaid { get; set; } + + [FalconSPPrarmDirection(ParameterDirection.Output)] + [FalconSPPrarmType(FalconSPDbType.OracleRefCursor)] + public object v_data { get; set; } + } + internal class GetDoctorDataResult + { + public string Name_ { get; set; } + public string Dept_Name { get; set; } + public string Consulting_Room { get; set; } + } } diff --git a/src/Falcon.StoredProcedureRunnerTests/RunnerTests.cs b/src/Falcon.StoredProcedureRunnerTests/RunnerTests.cs index 32f3f5f..8c4600b 100644 --- a/src/Falcon.StoredProcedureRunnerTests/RunnerTests.cs +++ b/src/Falcon.StoredProcedureRunnerTests/RunnerTests.cs @@ -9,7 +9,7 @@ namespace Falcon.StoredProcedureRunner.Tests [TestClass()] public class RunnerTests { - [TestMethod()] + [TestMethod("通用测试")] public void RunTest() { OracleTest(); @@ -17,6 +17,7 @@ namespace Falcon.StoredProcedureRunner.Tests SqlserverTest(); } + [TestMethod()] public void SqlserverTest() { System.Console.WriteLine("SqlserverTest start!"); @@ -43,6 +44,7 @@ namespace Falcon.StoredProcedureRunner.Tests System.Console.WriteLine("SqlserverTest over!"); } + [TestMethod()] public void OracleTest() { System.Console.WriteLine("OracleTest start!"); @@ -67,5 +69,63 @@ namespace Falcon.StoredProcedureRunner.Tests System.Console.WriteLine($"result count {result.Count}"); System.Console.WriteLine("OracleTest over!"); } + + /// + /// 体检接口 挂号查询测试 + /// + [TestMethod()] + public void Tjjk_TjghTest() + { + System.Console.WriteLine("OracleTest start!"); + var configurationBuilder = new ConfigurationBuilder(); + configurationBuilder.AddJsonFile("AppSettings.json"); + configurationBuilder.AddUserSecrets(this.GetType().Assembly); + var config = configurationBuilder.Build(); + var ora = config.GetSection("db:oracle").Value; + var oraVer = config.GetSection("db:ver").Value; + var buider = new DbContextOptionsBuilder(); + var db = new DbContext(buider.UseOracle(ora, o => o.UseOracleSQLCompatibility(oraVer)).Options); + + IRunner runner = new Runner(); + var result = runner.Run(db, new Tjjk_Tjgh + { + v_ghrq = "20211105", + v_sfz = "610528199002165174", + v_yljgdm = "50e3d44d-9ca2-4fbd-9d5d-d32339b1b113", + }).ToList(); + Assert.IsNotNull(result); + System.Console.WriteLine("result ok"); + CollectionAssert.AllItemsAreNotNull(result); + Assert.IsTrue(result.Count > 0); + System.Console.WriteLine($"result count {result.Count}"); + System.Console.WriteLine("OracleTest over!"); + } + + [TestMethod()] + public void GetDoctorDataTest() + { + System.Console.WriteLine("OracleTest start!"); + var configurationBuilder = new ConfigurationBuilder(); + configurationBuilder.AddJsonFile("AppSettings.json"); + configurationBuilder.AddUserSecrets(this.GetType().Assembly); + var config = configurationBuilder.Build(); + var ora = config.GetSection("db:oracle").Value; + var oraVer = config.GetSection("db:ver").Value; + var buider = new DbContextOptionsBuilder(); + var db = new DbContext(buider.UseOracle(ora, o => o.UseOracleSQLCompatibility(oraVer)).Options); + + IRunner runner = new Runner(); + var result = runner.Run(db, new GetDoctorData + { + v_orgaid = "50e3d44d-9ca2-4fbd-9d5d-d32339b1b113", + }).ToList(); + Assert.IsNotNull(result); + System.Console.WriteLine("result ok"); + CollectionAssert.AllItemsAreNotNull(result); + Assert.IsTrue(result.Count > 0); + System.Console.WriteLine($"result count {result.Count}"); + System.Console.WriteLine("OracleTest over!"); + } + } } \ No newline at end of file