From 377380022867b1f7c17620161992e9a3d4db0768 Mon Sep 17 00:00:00 2001 From: lsm Date: Wed, 17 Jul 2024 13:05:22 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=A3=80=E9=AA=8C=E7=BB=93=E8=AE=BA?= =?UTF-8?q?=E8=AF=8D=E5=88=86=E9=A1=B9=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PEIS/Model/Exam/PartModel.cs | 80 ++++++++++++++++++++++++++---------- PEIS/View/Exam/PartForm.cs | 5 +-- 2 files changed, 61 insertions(+), 24 deletions(-) diff --git a/PEIS/Model/Exam/PartModel.cs b/PEIS/Model/Exam/PartModel.cs index 37f7726..4e871ac 100644 --- a/PEIS/Model/Exam/PartModel.cs +++ b/PEIS/Model/Exam/PartModel.cs @@ -172,27 +172,65 @@ 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 + 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, + B.Seq AS SeqReport + FROM + lis.rmlis6.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 reportid"; + } + 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() diff --git a/PEIS/View/Exam/PartForm.cs b/PEIS/View/Exam/PartForm.cs index 43e89ab..d8e73b7 100644 --- a/PEIS/View/Exam/PartForm.cs +++ b/PEIS/View/Exam/PartForm.cs @@ -833,10 +833,9 @@ namespace PEIS.View.Exam var deptCodeList = new List() { "3001", //检验科 - "3002", //金域检验 + "01416", //迪安检验 "3201", //放射科 - "3202", //超声科 - "3203", //心电科 + "3203", //超声科 }; if (deptCodeList.Contains(_currentDept.DeptCode) && _examPart.VerifyTime == null && _examPart.GiveUpTime == null && _examPart.ID == 0)