1、检验结论词分项生成

dhzzyy
lsm 10 months ago
parent 47d8d8c70e
commit 3773800228
  1. 80
      PEIS/Model/Exam/PartModel.cs
  2. 5
      PEIS/View/Exam/PartForm.cs

@ -172,27 +172,65 @@ namespace PEIS.Model
var summary = "";
var results = DAOHelp.GetDataBySQL<ExamResult>($@"
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<ExamResult>(resultStr).OrderBy(o=>o.SeqReport).ToList();
// 检验检查心电科室Code
var deptCodeList = new List<string>()

@ -833,10 +833,9 @@ namespace PEIS.View.Exam
var deptCodeList = new List<string>()
{
"3001", //检验科
"3002", //金域检验
"01416", //迪安检验
"3201", //放射科
"3202", //超声科
"3203", //心电科
"3203", //超声科
};
if (deptCodeList.Contains(_currentDept.DeptCode) && _examPart.VerifyTime == null &&
_examPart.GiveUpTime == null && _examPart.ID == 0)

Loading…
Cancel
Save