From 38abbce45056f925f79d67590b1b41c588e73082 Mon Sep 17 00:00:00 2001 From: lsm Date: Mon, 29 Jul 2024 16:35:46 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=8F=91=E9=80=81=E6=8F=92=E5=85=A5?= =?UTF-8?q?=E5=88=86=E6=A3=80=E9=A1=B9=E7=9B=AE=EF=BC=8C2=E3=80=81?= =?UTF-8?q?=E6=80=BB=E6=A3=80=E6=B7=BB=E5=8A=A0=E7=BB=93=E8=AE=BA=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E7=A9=BA=E7=99=BD=E9=A1=B9=EF=BC=8C3=E3=80=81?= =?UTF-8?q?=E9=87=91=E5=9F=9F=E6=A3=80=E9=AA=8C=E7=BB=93=E6=9E=9C=E6=8F=90?= =?UTF-8?q?=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PEIS.sln | 10 +++ PEIS/Model/Enrollment/EnrollmentOrgModel.cs | 7 ++ .../Enrollment/EnrollmentPatientModel.cs | 11 ++- PEIS/Model/Exam/PartModel.cs | 87 ++++++++++++++----- PEIS/View/Exam/PartForm.cs | 2 +- PEIS/View/Exam/TotalForm.cs | 6 +- 6 files changed, 96 insertions(+), 27 deletions(-) diff --git a/PEIS.sln b/PEIS.sln index e83cf14..c955379 100644 --- a/PEIS.sln +++ b/PEIS.sln @@ -9,6 +9,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "解决方案项", "解决 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Update", "Update\Update.csproj", "{8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Scale", "Scale\Scale.csproj", "{F13021FD-372E-4D3C-8982-6FE5102AF45A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -33,6 +35,14 @@ Global {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Release|Any CPU.Build.0 = Release|Any CPU {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Release|x86.ActiveCfg = Release|Any CPU {8894C92C-210D-459C-B5CD-7A6D2AB4CBE5}.Release|x86.Build.0 = Release|Any CPU + {F13021FD-372E-4D3C-8982-6FE5102AF45A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F13021FD-372E-4D3C-8982-6FE5102AF45A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F13021FD-372E-4D3C-8982-6FE5102AF45A}.Debug|x86.ActiveCfg = Debug|Any CPU + {F13021FD-372E-4D3C-8982-6FE5102AF45A}.Debug|x86.Build.0 = Debug|Any CPU + {F13021FD-372E-4D3C-8982-6FE5102AF45A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F13021FD-372E-4D3C-8982-6FE5102AF45A}.Release|Any CPU.Build.0 = Release|Any CPU + {F13021FD-372E-4D3C-8982-6FE5102AF45A}.Release|x86.ActiveCfg = Release|Any CPU + {F13021FD-372E-4D3C-8982-6FE5102AF45A}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/PEIS/Model/Enrollment/EnrollmentOrgModel.cs b/PEIS/Model/Enrollment/EnrollmentOrgModel.cs index fd5e454..8afc94c 100644 --- a/PEIS/Model/Enrollment/EnrollmentOrgModel.cs +++ b/PEIS/Model/Enrollment/EnrollmentOrgModel.cs @@ -52,6 +52,11 @@ namespace PEIS.Model.Enrollment var enrollmentFeeItem = $@"UPDATE a SET a.IsSend = 1 FROM Enrollment_FeeItem a LEFT JOIN Enrollment_CheckCost b ON a.OrderNO = b.ID AND a.EID = b.EID WHERE b.SendTime IS NOT NULL AND a.EID = {eID};"; + // 插入分科检查 + var dept = $@"EXEC sp_InsertNormalFeeItem {eID}"; + + // 心电图 + var heart = $@"UPDATE Enrollment_FeeItem SET DeptCode = '01064',DeptName = '心电图室' WHERE EID = {eID} AND FID IN (31,123)"; // 插入分检步骤 var part = $@"EXEC sp_SyncExamPart {eID}"; @@ -61,6 +66,8 @@ namespace PEIS.Model.Enrollment var eResult = DAOHelp.ExecuteSql(enrollmentPatient, false); var fResult = DAOHelp.ExecuteSql(enrollmentFeeItem, false); + var dResult = DAOHelp.ExecuteSql(dept); + var hResult = DAOHelp.ExecuteSql(heart); var pResult = DAOHelp.ExecuteSql(part); diff --git a/PEIS/Model/Enrollment/EnrollmentPatientModel.cs b/PEIS/Model/Enrollment/EnrollmentPatientModel.cs index 584f189..ac68ccc 100644 --- a/PEIS/Model/Enrollment/EnrollmentPatientModel.cs +++ b/PEIS/Model/Enrollment/EnrollmentPatientModel.cs @@ -112,13 +112,22 @@ namespace PEIS.Model.Enrollment var enrollmentPatient = $@"UPDATE Enrollment_Patient SET ExamDate = GETDATE(), SignTime = GETDATE(), SignerCode = '{Global.currentUser.Code}', Signer = '{Global.currentUser.Name}' WHERE ID = {EId} AND SignTime is null"; var enrollmentFeeItem = $@"UPDATE a SET a.IsSend = 1 FROM Enrollment_FeeItem a LEFT JOIN Enrollment_CheckCost b ON a.OrderNO = b.ID AND a.EID = b.EID WHERE b.SendTime IS NOT NULL AND a.EID = {EId}; "; + // 插入分科检查 + var dept = $@"EXEC sp_InsertNormalFeeItem {EId}"; + + // 心电图 + var heart = $@"UPDATE Enrollment_FeeItem SET DeptCode = '01064',DeptName = '心电图室' WHERE EID = {EId} AND FID IN (31,123)"; + // 插入分检步骤 var part = $@"EXEC sp_SyncExamPart {EId}"; - + var cResult = DAOHelp.ExecuteSql(checkCost, false); var eResult = DAOHelp.ExecuteSql(enrollmentPatient, false); var fResult = DAOHelp.ExecuteSql(enrollmentFeeItem, false); + + var dResult = DAOHelp.ExecuteSql(dept); + var hResult = DAOHelp.ExecuteSql(heart); var pResult = DAOHelp.ExecuteSql(part); diff --git a/PEIS/Model/Exam/PartModel.cs b/PEIS/Model/Exam/PartModel.cs index 9fcdb49..a274d27 100644 --- a/PEIS/Model/Exam/PartModel.cs +++ b/PEIS/Model/Exam/PartModel.cs @@ -172,28 +172,67 @@ namespace PEIS.Model var summary = ""; - var results = DAOHelp.GetDataBySQL($@" - SELECT DISTINCT B.FeeItemName, B.RptItemName, B.TextResult, B.Unit, B.UnusualFlag , C.Seq as SeqReport - FROM - Exam_Part A - LEFT JOIN Exam_Result B ON B.PID = A.ID - LEFT JOIN Dict_ReportItem C ON C.ID = B.RID - WHERE - A.EID = {eid} AND A.DeptCode = '{deptCode}' - AND ( - C.IsAddSummary = 1 - OR B.UnusualFlag <> '' - OR (B.Range LIKE '%阴性%' AND B.TextResult LIKE '%+%') - OR (B.ItemClass='检验' AND B.TextResult LIKE '%阳%') - ) - UNION ALL - SELECT DISTINCT A.FeeItemName, B.Title AS RptItemName, B.summary AS TextResult, Unit = '', UnusualFlag = '',0 as SeqReport - FROM - Enrollment_FeeItem A - LEFT JOIN Report B ON A.ID = B.ReportNo AND A.eid = B.eid - WHERE - A.ItemClass = '检查' AND B.summary <> '' AND A.EID = {eid} AND A.DeptCode = '{deptCode}'").OrderBy(o=>o.SeqReport).ToList(); - + var resultStr = ""; + + // 判断是否为检验科 + if (deptCode == "3001") + { + resultStr = $@"SELECT + DISTINCT + C.FeeItemName, + A.rpt_itemname AS RptItemName, + A.result_str AS TextResult, + A.result_unit AS Unit, + CASE + WHEN A.result_flag = 'H' THEN '↑' + WHEN A.result_flag = 'M' THEN NULL + WHEN A.result_flag = 'N' THEN NULL + WHEN A.result_flag = 'L' THEN '↓' + ELSE A.result_flag + END AS UnusualFlag, + A.rptcode AS RptItemCode, + A.print_seq AS SeqReport + FROM + lis.rmcloudlis7.dbo.vw_checked_labresult A + LEFT JOIN Dict_ReportItem B ON (A.rpt_itemcode = B.RptItemCode OR A.rptcode = B.RptItemCode) + LEFT JOIN Enrollment_FeeItem C ON B.FID = C.FID AND CONVERT(INT,pat_no) = c.EID + WHERE + pat_no = '{eid}' and pat_typecode=4 + AND rpt_itemcode NOT IN (SELECT Code FROM Dict_Config WHERE [Key]='IgnoreRptItem') + AND ( + B.IsAddSummary = 1 + OR ( A.result_flag = 'H' OR A.result_flag = 'L') + OR ( A.result_ref LIKE '%阴性%' AND A.result_str LIKE '%+%' ) + OR ( A.result_str LIKE '%阳%' ) ) + AND C.FID IS NOT NULL + ORDER BY print_seq"; + } + else + { + resultStr = $@" SELECT DISTINCT B.FeeItemName, B.RptItemName, B.TextResult, B.Unit, B.UnusualFlag , C.Seq as SeqReport + FROM + Exam_Part A + LEFT JOIN Exam_Result B ON B.PID = A.ID + LEFT JOIN Dict_ReportItem C ON C.ID = B.RID + WHERE + A.EID = {eid} AND A.DeptCode = '{deptCode}' + AND ( + C.IsAddSummary = 1 + OR B.UnusualFlag <> '' + OR (B.Range LIKE '%阴性%' AND B.TextResult LIKE '%+%') + OR (B.ItemClass='检验' AND B.TextResult LIKE '%阳%') + ) + UNION ALL + SELECT DISTINCT A.FeeItemName, B.Title AS RptItemName, B.summary AS TextResult, Unit = '', UnusualFlag = '',0 as SeqReport + FROM + Enrollment_FeeItem A + LEFT JOIN Report B ON A.ID = B.ReportNo AND A.eid = B.eid + WHERE + A.ItemClass = '检查' AND B.summary <> '' AND A.EID = {eid} AND A.DeptCode = '{deptCode}'"; + } + + var results = DAOHelp.GetDataBySQL(resultStr).OrderBy(o => o.SeqReport).ToList(); + // 检验检查心电科室Code var deptCodeList = new List() { @@ -500,12 +539,12 @@ LEFT JOIN Dict_FeeItem FeeItem ON A.FID= FeeItem.ID var giveUp = GiveUpExamResult(eid, deptCode); var general = GeneralExamResult(eid, deptCode); var lis = deptCode== "3001" ? LisExamResult(eid, deptCode):new List(); - //var jyLis = GetJyLisResult(eid, deptCode); + var jyLis = GetJyLisResult(eid, deptCode); var pacs = PacsExamResult(eid, deptCode) ; var data = giveUp.Union(general).ToList() .Union(lis).ToList() - //.Union(jyLis).ToList() + .Union(jyLis).ToList() .Union(pacs).ToList() .Distinct().ToList(); // data.RemoveAll(p => p.FID == null); diff --git a/PEIS/View/Exam/PartForm.cs b/PEIS/View/Exam/PartForm.cs index f245698..8efd145 100644 --- a/PEIS/View/Exam/PartForm.cs +++ b/PEIS/View/Exam/PartForm.cs @@ -835,7 +835,7 @@ namespace PEIS.View.Exam "3001", //检验科 "3002", //金域检验 "3201", //放射科 - "3202", //超声科 + "01064", //超声科 "3203", //心电科 }; if (deptCodeList.Contains(_currentDept.DeptCode) && _examPart.VerifyTime == null && diff --git a/PEIS/View/Exam/TotalForm.cs b/PEIS/View/Exam/TotalForm.cs index 17df39b..a0c0716 100644 --- a/PEIS/View/Exam/TotalForm.cs +++ b/PEIS/View/Exam/TotalForm.cs @@ -279,7 +279,11 @@ namespace PEIS.View.Exam var list = string.IsNullOrEmpty(query) ? Global._lstConclusion : Global._lstConclusion.Where(p => p.SpellCode.Contains(query) || p.ConclusionName.Contains(query) || (isId && p.ID == id)).ToList(); - + + if(list.Where( w=> w.ID ==0 ).Count() == 0) + { + list.Insert(0, new Conclusion() { SpellCode = "", ConclusionName = "" }); + } Invoke(new Action(() => DgcAllConclusion.DataSource = null)); Invoke(new Action(() => DgcAllConclusion.DataSource = list)); }