You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
493 lines
30 KiB
493 lines
30 KiB
#region CopyRight
|
|
|
|
/****************************************************************
|
|
* Project:健康体检信息管理系统(PEIS)
|
|
* Author:罗绍明
|
|
* CLR Version:4.0.30319.42000
|
|
* CreateTime:2023-05-01 14:54:23
|
|
* Version:v2.0
|
|
*
|
|
* Description:
|
|
*
|
|
* History:
|
|
*
|
|
*****************************************************************
|
|
* Copyright @ 云南新八达科技有限公司 2023 All rights reserved
|
|
*****************************************************************/
|
|
|
|
#endregion CopyRight
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Drawing;
|
|
using System.Drawing.Imaging;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using PdfiumViewer;
|
|
using PEIS.Entity;
|
|
using PEIS.Utils;
|
|
|
|
namespace PEIS.Model
|
|
{
|
|
public class ReportModel : IModel<string>
|
|
{
|
|
public List<string> GetItems()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
#region 个人
|
|
|
|
public EnrollmentPatient GetPatientInfo(Int64 eid)
|
|
{
|
|
return DAOHelp.GetDataBySQL<EnrollmentPatient>($@"SELECT
|
|
a.Name,
|
|
a.Age,
|
|
a.AgeClass,
|
|
a.Sex,
|
|
a.ID,
|
|
a.SignTime,
|
|
a.Marriage,
|
|
a.GroupName,
|
|
a.Type,
|
|
a.Company,
|
|
a.Photo,
|
|
a.Finisher,
|
|
a.Photo,
|
|
a.FinishTime,
|
|
b.Birthday,
|
|
a.ExamDate,
|
|
a.Contactor1,
|
|
a.Contactor2,
|
|
a.Address1,
|
|
a.Tel1,
|
|
a.CardNo,
|
|
COALESCE(a.OrgName, a.Company) AS OrgName,
|
|
COALESCE ( a.Nation, b.Nation ) AS Nation,
|
|
c.DeptName
|
|
FROM
|
|
Enrollment_Patient a
|
|
LEFT JOIN Base_Patient b ON a.pid = b.id
|
|
LEFT JOIN Base_OrgPatient c ON c.PID = b.id AND a.OID = c.OID
|
|
WHERE a.ID = {eid}")?.FirstOrDefault();
|
|
}
|
|
|
|
// 获取以完结登记列表
|
|
public List<EnrollmentPatient> GetRegItems(string begDate, string endDate, string name)
|
|
{
|
|
if (String.IsNullOrEmpty(name))
|
|
{
|
|
return DAOHelp.GetDataBySQL<EnrollmentPatient>($@"SELECT ID,Name,CreateTime,SignTime,Sex,Age,AgeClass,
|
|
CASE WHEN PrintTime IS NULL THEN '未打印'
|
|
ELSE '已打印'
|
|
END AS PrinterCode,
|
|
|
|
CASE WHEN PrintTime IS NOT NULL AND LastPrintTime IS NOT NULL THEN LastPrintTime
|
|
ELSE PrintTime
|
|
END AS PrintTime,
|
|
|
|
CASE WHEN Printer IS NOT NULL AND LastPrinter IS NOT NULL THEN LastPrinter
|
|
ELSE Printer
|
|
END AS Printer
|
|
FROM Enrollment_Patient a WHERE CreateTime BETWEEN '{begDate}' AND DATEADD(day, 1, '{endDate}') AND FinishTime is not null");
|
|
}
|
|
else
|
|
{
|
|
return DAOHelp.GetDataBySQL<EnrollmentPatient>($@"SELECT ID,Name,CreateTime,SignTime,Sex,Age,AgeClass,
|
|
CASE WHEN PrintTime IS NULL THEN '未打印'
|
|
ELSE '已打印'
|
|
END AS PrinterCode,
|
|
|
|
CASE WHEN PrintTime IS NOT NULL AND LastPrintTime IS NOT NULL THEN LastPrintTime
|
|
ELSE PrintTime
|
|
END AS PrintTime,
|
|
|
|
CASE WHEN Printer IS NOT NULL AND LastPrinter IS NOT NULL THEN LastPrinter
|
|
ELSE Printer
|
|
END AS Printer
|
|
FROM Enrollment_Patient a WHERE (name like '%{name}%' or ID like '%{name}%' or SpellCode like '{name}%') AND FinishTime is not null");
|
|
}
|
|
}
|
|
|
|
// 根据体检号获取收费列表
|
|
public List<EnrollmentFeeItem> GetEFeeItem(Int64 Eid)
|
|
{
|
|
return DAOHelp.GetDataBySQL<EnrollmentFeeItem>($@"EXEC sp_rpt_FeeItem {Eid}");
|
|
}
|
|
|
|
// 根据体检号获取总结结论词报告
|
|
public List<ExamConclusion> GetExamConclusions(Int64 Eid)
|
|
{
|
|
var data = DAOHelp.GetDataBySQL<ExamConclusion>($"SELECT Conclusion,Suggestion FROM Exam_Conclusion WHERE EID = {Eid}");
|
|
var items = data.Where(w => w.Suggestion != null).ToList();
|
|
return items;
|
|
}
|
|
|
|
// 根据体检号获取一般检查结果
|
|
public List<ExamResult> GetGeneralResult(Int64 Eid)
|
|
{
|
|
var data = DAOHelp.GetDataBySQL<ExamResult>($@"EXEC sp_Rpt_Normal {Eid}");
|
|
|
|
var items = data.Select(s => new ExamResult()
|
|
{
|
|
DeptName = s.DeptName,
|
|
FeeItemName = s.FeeItemName,
|
|
RptItemName = s.RptItemName,
|
|
Summary = s.Summary,
|
|
Checker = s.Checker,
|
|
CheckTime = s.CheckTime,
|
|
TextResult = string.Join(",", data.Where(p => p.RID == s.RID).Select(e => e.TextResult).ToList()),
|
|
}).GroupBy(g => new { g.DeptName, g.FeeItemName, g.RptItemName, g.TextResult, g.Summary, g.Checker, g.CheckTime, g.RID }).Select(s => s.FirstOrDefault()).ToList();
|
|
|
|
var newData = new List<ExamResult>();
|
|
foreach (var group in items.GroupBy(g => g.DeptName).ToList())
|
|
{
|
|
foreach (var item in group)
|
|
{
|
|
newData.Add(item);
|
|
}
|
|
if (group.Count() % 2 == 1)
|
|
newData.Add(new ExamResult()
|
|
{
|
|
DeptName = group.FirstOrDefault().DeptName,
|
|
RptItemName = "",
|
|
TextResult = "",
|
|
Summary = group.FirstOrDefault().Summary,
|
|
Checker = group.FirstOrDefault().Checker,
|
|
CheckTime = group.FirstOrDefault().CheckTime
|
|
});
|
|
}
|
|
|
|
return newData;
|
|
}
|
|
|
|
// 根据体检号获取LIS检查结果
|
|
public List<ExamResult> GetLisResult(Int64 Eid)
|
|
{
|
|
return DAOHelp.GetDataBySQL<ExamResult>($@"EXEC sp_Rpt_Lis {Eid}");
|
|
}
|
|
|
|
// 根据体检号获取PACS检查结果
|
|
public List<ExamResult> GetPacsResult(Int64 Eid)
|
|
{
|
|
var data = DAOHelp.GetDataBySQL<ExamResult>($@"EXEC sp_Rpt_Pacs {Eid}");
|
|
|
|
return data.Select(s => new ExamResult()
|
|
{
|
|
DeptName = s.DeptName,
|
|
FeeItemName = s.FeeItemName,
|
|
Summary = s.Summary,
|
|
PImage = s.PImage,
|
|
Checker = s.Checker,
|
|
Reporter = s.Reporter,
|
|
ReportTime = s.ReportTime,
|
|
TextResult = s.FeeItemName == "十二通道心电图检查" ? string.Join("、", data.Where(w => w.FeeItemName == "十二通道心电图检查").Select(a => a.TextResult).ToList()) : s.TextResult.Replace("\r", Environment.NewLine)
|
|
}).ToList();
|
|
}
|
|
|
|
// pacs原始报告
|
|
public List<Report> GetPacsPhoto(Int64 Eid)
|
|
{
|
|
var pacs = DAOHelp.GetDataBySQL<Report>($"select ReportImage from Report where EID = { Eid } AND ReportImage IS NOT NULL ORDER BY Class");
|
|
var heart = DAOHelp.GetDataBySQL<Report>($"select ReportData AS ReportImage from Report_GSEXD where PatientNo = {Eid}");
|
|
|
|
if (heart.Count == 0)
|
|
{
|
|
return pacs;
|
|
}
|
|
|
|
try
|
|
{
|
|
using (MemoryStream memoryStream = new MemoryStream(heart[0].ReportImage))
|
|
{
|
|
if (ReportHelper.IsPdf(heart[0].ReportImage))
|
|
{
|
|
// PDF格式
|
|
using (PdfDocument pdfDocument = PdfDocument.Load(memoryStream))
|
|
{
|
|
for (int pageIndex = 0; pageIndex < pdfDocument.PageCount; pageIndex++)
|
|
{
|
|
using (Image bitmap = pdfDocument.Render(pageIndex, 2480, 3508, false))
|
|
{
|
|
using (MemoryStream stream = new MemoryStream())
|
|
{
|
|
bitmap.RotateFlip(RotateFlipType.Rotate270FlipNone);
|
|
bitmap.Save(stream, ImageFormat.Jpeg);
|
|
var img = stream.ToArray();
|
|
pacs.Add(new Report { ReportImage = img });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// 图片格式
|
|
Image bitmap = Image.FromStream(memoryStream);
|
|
using (MemoryStream stream = new MemoryStream())
|
|
{
|
|
bitmap.RotateFlip(RotateFlipType.Rotate270FlipNone);
|
|
bitmap.Save(stream, ImageFormat.Jpeg);
|
|
var img = stream.ToArray();
|
|
pacs.Add(new Report { ReportImage = img });
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Console.WriteLine(@"Error converting PDF to images: " + ex.Message);
|
|
}
|
|
|
|
return pacs;
|
|
}
|
|
|
|
// 快速体检
|
|
public List<ExamResult> GetFastResult(Int64 Eid)
|
|
{
|
|
var items = DAOHelp.GetDataBySQL<ExamResult>(@"SELECT
|
|
c.RptItemName,
|
|
c.TextResult,
|
|
c.Rid
|
|
FROM
|
|
Enrollment_FeeItem a
|
|
LEFT JOIN Exam_Part b ON a.DeptCode = b.DeptCode AND a.EID = b.EID AND b.GiveUpTime IS NULL
|
|
LEFT JOIN Exam_Result c ON c.PID = b.ID AND a.FID = c.FID " +
|
|
$"WHERE a.EID = {Eid}");
|
|
|
|
return items.Select(s => new ExamResult()
|
|
{
|
|
RptItemName = s.RptItemName,
|
|
RID = s.RID,
|
|
TextResult = string.Join("、", items.Where(p => p.RID == s.RID).Select(e => e.TextResult).ToList())
|
|
}).ToList();
|
|
}
|
|
|
|
//第三方报告
|
|
public List<ReportExt> GetReportExt(Int64 Eid)
|
|
{
|
|
return DAOHelp.GetDataBySQL<ReportExt>($@"select * from Report_Ext where EID = {Eid}");
|
|
}
|
|
|
|
// 更新打印时间
|
|
public void UpdatePrint(Int64 Eid)
|
|
{
|
|
DAOHelp.ExecuteSql($@"UPDATE Enrollment_Patient
|
|
SET
|
|
Printer = CASE WHEN PrintTime IS NULL THEN '{Global.currentUser.Name}' ELSE Printer END,
|
|
PrinterCode = CASE WHEN PrintTime IS NULL THEN '{Global.currentUser.Code}' ELSE PrinterCode END,
|
|
PrintTime = CASE WHEN PrintTime IS NULL THEN '{DateTime.Now}' ELSE PrintTime END,
|
|
LastPrinter = CASE WHEN PrintTime IS NOT NULL THEN '{Global.currentUser.Name}' ELSE LastPrinter END,
|
|
LastPrinterCode = CASE WHEN PrintTime IS NOT NULL THEN '{Global.currentUser.Code}' ELSE LastPrinterCode END,
|
|
LastPrintTime = CASE WHEN PrintTime IS NOT NULL THEN '{DateTime.Now}' ELSE LastPrintTime END
|
|
WHERE ID = {Eid}", false);
|
|
}
|
|
|
|
#endregion 个人
|
|
|
|
#region 团体
|
|
|
|
//根据团体体检号获取收费列表
|
|
public List<EnrollmentFeeItem> GetOrgFeeItem(Int64 oEid)
|
|
{
|
|
return DAOHelp.GetDataBySQL<EnrollmentFeeItem>(@"SELECT
|
|
DISTINCT
|
|
a.FeeItemName,
|
|
a.DeptName,
|
|
CASE WHEN b.Sex = 1 THEN '男'
|
|
ELSE '女'
|
|
END AS ItemClass
|
|
FROM Enrollment_FeeItem a
|
|
LEFT JOIN Enrollment_Patient b ON a.EID = b.ID " +
|
|
$"WHERE a.OEID = {oEid} ORDER BY ItemClass");
|
|
}
|
|
|
|
//根据体检号获取异常结果
|
|
public List<ExamConclusion> GetOrgConclusions(Int64 oEid)
|
|
{
|
|
return DAOHelp.GetDataBySQL<ExamConclusion>($@"DECLARE @SumPerson FLOAT
|
|
SELECT @SumPerson = COUNT ( * ) FROM Enrollment_Patient WHERE OEID = {oEid}
|
|
SELECT
|
|
A.Conclusion,
|
|
SUM ( CASE WHEN Age < 21 AND Sex = 1 THEN 1 ELSE 0 END ) AS MaleZTT,
|
|
SUM ( CASE WHEN Age < 21 AND Sex = 2 THEN 1 ELSE 0 END ) AS FemaleZTT,
|
|
SUM ( CASE WHEN Age BETWEEN 21 AND 30 AND Sex = 1 THEN 1 ELSE 0 END ) AS MaleTTT,
|
|
SUM ( CASE WHEN Age BETWEEN 21 AND 30 AND Sex = 2 THEN 1 ELSE 0 END ) AS FemaleTTT,
|
|
SUM ( CASE WHEN Age BETWEEN 31 AND 40 AND Sex = 1 THEN 1 ELSE 0 END ) AS MaleTTF,
|
|
SUM ( CASE WHEN Age BETWEEN 31 AND 40 AND Sex = 2 THEN 1 ELSE 0 END ) AS FemaleTTF,
|
|
SUM ( CASE WHEN Age BETWEEN 41 AND 50 AND Sex = 1 THEN 1 ELSE 0 END ) AS MaleFTF,
|
|
SUM ( CASE WHEN Age BETWEEN 41 AND 50 AND Sex = 2 THEN 1 ELSE 0 END ) AS FemaleFTF,
|
|
SUM ( CASE WHEN Age BETWEEN 51 AND 60 AND Sex = 1 THEN 1 ELSE 0 END ) AS MaleFTS,
|
|
SUM ( CASE WHEN Age BETWEEN 51 AND 60 AND Sex = 2 THEN 1 ELSE 0 END ) AS FemaleFTS,
|
|
SUM ( CASE WHEN Age > 60 AND Sex = 1 THEN 1 ELSE 0 END ) AS MaleOver,
|
|
SUM ( CASE WHEN Age > 60 AND Sex = 2 THEN 1 ELSE 0 END ) AS FemaleOver,
|
|
ROUND( SUM ( CASE Sex WHEN 1 THEN 1 ELSE 0 END ), 2 ) AS SumMale,
|
|
ROUND( SUM ( CASE Sex WHEN 1 THEN 1 ELSE 0 END ) * 100.0 /@SumPerson, 2 ) AS SumMalePercent,
|
|
ROUND( SUM ( CASE Sex WHEN 2 THEN 1 ELSE 0 END ), 2 ) AS SumFemale,
|
|
ROUND( SUM ( CASE Sex WHEN 2 THEN 1 ELSE 0 END ) * 100.0 /@SumPerson, 2 ) AS SumFemalePercent,
|
|
COUNT ( * ) AS SumWarn,
|
|
ROUND( COUNT ( * ) * 100.0 /@SumPerson, 2 ) AS SumWarnPercent,@SumPerson AS SumPerson,
|
|
ISNULL(A.Suggestion, '') AS Suggestion,
|
|
'已检出' AS ResultFlag
|
|
FROM
|
|
Exam_Conclusion A ( NOLOCK )
|
|
JOIN Enrollment_Patient B ( NOLOCK ) ON A.EID = B.ID
|
|
WHERE
|
|
B.OEID = {oEid}
|
|
GROUP BY
|
|
A.Conclusion,
|
|
A.Suggestion
|
|
HAVING
|
|
COUNT ( * ) != 0
|
|
ORDER BY SumWarn DESC");
|
|
}
|
|
|
|
//根据体检号获取异常结果(无建议)
|
|
public List<ExamConclusion> GetOrgCon(Int64 oEid)
|
|
{
|
|
return DAOHelp.GetDataBySQL<ExamConclusion>($@"DECLARE @SumPerson FLOAT
|
|
SELECT @SumPerson = COUNT ( * ) FROM Enrollment_Patient WHERE OEID = {oEid}
|
|
SELECT
|
|
A.Conclusion,
|
|
SUM ( CASE WHEN Age < 21 AND Sex = 1 THEN 1 ELSE 0 END ) AS MaleZTT,
|
|
SUM ( CASE WHEN Age < 21 AND Sex = 2 THEN 1 ELSE 0 END ) AS FemaleZTT,
|
|
SUM ( CASE WHEN Age BETWEEN 21 AND 30 AND Sex = 1 THEN 1 ELSE 0 END ) AS MaleTTT,
|
|
SUM ( CASE WHEN Age BETWEEN 21 AND 30 AND Sex = 2 THEN 1 ELSE 0 END ) AS FemaleTTT,
|
|
SUM ( CASE WHEN Age BETWEEN 31 AND 40 AND Sex = 1 THEN 1 ELSE 0 END ) AS MaleTTF,
|
|
SUM ( CASE WHEN Age BETWEEN 31 AND 40 AND Sex = 2 THEN 1 ELSE 0 END ) AS FemaleTTF,
|
|
SUM ( CASE WHEN Age BETWEEN 41 AND 50 AND Sex = 1 THEN 1 ELSE 0 END ) AS MaleFTF,
|
|
SUM ( CASE WHEN Age BETWEEN 41 AND 50 AND Sex = 2 THEN 1 ELSE 0 END ) AS FemaleFTF,
|
|
SUM ( CASE WHEN Age BETWEEN 51 AND 60 AND Sex = 1 THEN 1 ELSE 0 END ) AS MaleFTS,
|
|
SUM ( CASE WHEN Age BETWEEN 51 AND 60 AND Sex = 2 THEN 1 ELSE 0 END ) AS FemaleFTS,
|
|
SUM ( CASE WHEN Age > 60 AND Sex = 1 THEN 1 ELSE 0 END ) AS MaleOver,
|
|
SUM ( CASE WHEN Age > 60 AND Sex = 2 THEN 1 ELSE 0 END ) AS FemaleOver,
|
|
ROUND( SUM ( CASE Sex WHEN 1 THEN 1 ELSE 0 END ), 2 ) AS SumMale,
|
|
ROUND( SUM ( CASE Sex WHEN 1 THEN 1 ELSE 0 END ) * 100.0 /@SumPerson, 2 ) AS SumMalePercent,
|
|
ROUND( SUM ( CASE Sex WHEN 2 THEN 1 ELSE 0 END ), 2 ) AS SumFemale,
|
|
ROUND( SUM ( CASE Sex WHEN 2 THEN 1 ELSE 0 END ) * 100.0 /@SumPerson, 2 ) AS SumFemalePercent,
|
|
COUNT ( * ) AS SumWarn,
|
|
ROUND( COUNT ( * ) * 100.0 /@SumPerson, 2 ) AS SumWarnPercent,@SumPerson AS SumPerson,
|
|
'已检出' AS ResultFlag
|
|
FROM
|
|
Exam_Conclusion A ( NOLOCK )
|
|
JOIN Enrollment_Patient B ( NOLOCK ) ON A.EID = B.ID
|
|
WHERE
|
|
B.OEID = {oEid}
|
|
GROUP BY
|
|
A.Conclusion
|
|
HAVING
|
|
COUNT ( * ) != 0
|
|
ORDER BY SumWarn DESC");
|
|
}
|
|
|
|
// 按疾病分类人员名单
|
|
public List<ExamConclusion> GetPersonByDisease(Int64 oEid)
|
|
{
|
|
return DAOHelp.GetDataBySQL<ExamConclusion>($@"SELECT
|
|
A.Conclusion,
|
|
B.Name AS PatientName,
|
|
CASE
|
|
B.Sex
|
|
WHEN 1 THEN
|
|
'男'
|
|
WHEN 2 THEN
|
|
'女' ELSE '未知'
|
|
END AS Sex,
|
|
C.Total AS SumPerson
|
|
FROM
|
|
Exam_Conclusion A ( NOLOCK )
|
|
JOIN Enrollment_Patient B ( NOLOCK ) ON A.EID = B.ID
|
|
JOIN (
|
|
SELECT
|
|
A.Conclusion,
|
|
COUNT ( * ) AS Total
|
|
FROM
|
|
Exam_Conclusion A ( NOLOCK )
|
|
JOIN Enrollment_Patient B ( NOLOCK ) ON A.EID = B.ID
|
|
WHERE
|
|
B.OEID = {oEid}
|
|
GROUP BY
|
|
A.Conclusion
|
|
) C ON C.Conclusion = A.Conclusion
|
|
WHERE
|
|
B.OEID = {oEid}
|
|
GROUP BY
|
|
A.Conclusion,
|
|
B.Name,
|
|
B.Sex,
|
|
C.Total");
|
|
}
|
|
|
|
// 获取团体体检基础统计信息
|
|
public ExamConclusion GetOrgSumInfo(Int64 oEid)
|
|
{
|
|
var items = DAOHelp.GetDataBySQL<ExamConclusion>($@"DECLARE @SumPerson FLOAT SELECT @SumPerson = COUNT ( * ) FROM Enrollment_Patient WHERE OEID = {oEid}
|
|
DECLARE @SumExamPerson FLOAT SELECT @SumExamPerson = COUNT ( * ) FROM Enrollment_Patient WHERE OEID = {oEid} and SignTime is not null
|
|
DECLARE @SumMale FLOAT SELECT @SumMale = COUNT ( * ) FROM Enrollment_Patient WHERE OEID = {oEid} AND Sex = 1 AND SignTime is not null
|
|
DECLARE @MaxAge FLOAT SELECT @MaxAge = MAX(age) FROM Enrollment_Patient WHERE OEID = {oEid} AND SignTime is not NULL
|
|
DECLARE @MinAge FLOAT SELECT @MinAge = MIN(age) FROM Enrollment_Patient WHERE OEID = {oEid} AND SignTime is not NULL
|
|
|
|
SELECT
|
|
@SumPerson AS SumPerson,
|
|
@SumExamPerson AS SumExamPerson,
|
|
ROUND( @SumExamPerson * 100.0 /@SumPerson, 2 ) AS ExamPercent,
|
|
@SumMale AS SumMale,
|
|
@SumPerson - @SumMale AS SumFemale,
|
|
@MaxAge AS MaxAge,
|
|
@MinAge AS MinAge");
|
|
return items.Count() > 0 ? items[0] : null;
|
|
}
|
|
|
|
// 健康建议
|
|
//public List<ExamConclusion> GetExamAdvice(Int64 Eid)
|
|
//{
|
|
// var data = DAOHelp.GetDataBySQL<ExamConclusion>(@"SELECT
|
|
// B.ID
|
|
// ,B.PatientName
|
|
// ,CASE C.Gender WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '未知' END AS Sex
|
|
// ,CONVERT(VARCHAR(20),B.Age) + B.AgeUnit AS Age
|
|
// ,B.OrgName
|
|
// ,A.Name AS Conclusion
|
|
// ,A.Suggestion
|
|
// FROM his.PEIS.dbo.ExamConclusion A (NOLOCK)
|
|
// JOIN his.PEIS.dbo.Enrollment B (NOLOCK) ON A.EnrollmentId = B.Id
|
|
// JOIN his.PEIS.dbo.Patient C (NOLOCK) ON B.PatientId = C.Id " + $"WHERE B.OrgEnrollmentId = {Eid} AND B.RemoveOperDate IS NULL " + @"GROUP BY
|
|
// A.Name,
|
|
// A.Suggestion,
|
|
// B.PatientName,
|
|
// B.Id,
|
|
// B.Age,
|
|
// B.AgeUnit,
|
|
// B.OrgName,
|
|
// C.Gender
|
|
// ORDER BY B.PatientName");
|
|
|
|
// return data.Select(s => new ExamConclusion()
|
|
// {
|
|
// ID = s.ID,
|
|
// PatientName = s.PatientName,
|
|
// Sex = s.Sex,
|
|
// Age = s.Age,
|
|
// OrgName = s.OrgName,
|
|
// Conclusion = string.Join(",", data.Where(p => p.ID == s.ID).Select(e => "【" + e.Conclusion + "】").ToList()),
|
|
// Suggestion = string.Join(@" ", data.Where(p => p.ID == s.ID).Select(e => "【" + e.Conclusion + "】:" + e.Suggestion).ToList())
|
|
// }).GroupBy(a => a.ID).Select(g => g.First()).ToList();
|
|
// ;
|
|
//}
|
|
|
|
//// 异常人员名单
|
|
//public List<EnrollmentPatient> GetWarnPersonItems(Int64 Eid)
|
|
//{
|
|
// return DAOHelp.GetDataBySQL<EnrollmentPatient>(@"SELECT DISTINCT
|
|
// A.EnrollmentId AS ID
|
|
// ,B.PatientName AS NAme
|
|
// ,CASE C.Gender WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '未知' END AS Sex
|
|
// ,CONVERT(VARCHAR(20),B.Age) + B.AgeUnit AS AgeClass
|
|
// ,CASE B.Marriage WHEN 1 THEN '未婚' WHEN 2 THEN '已婚' ELSE '未知' END AS Marriage
|
|
// FROM his.PEIS.dbo.ExamConclusion A (NOLOCK)
|
|
// JOIN his.PEIS.dbo.Enrollment B (NOLOCK) ON A.EnrollmentId = B.Id
|
|
// JOIN his.PEIS.dbo.Patient C (NOLOCK) ON B.PatientId = C.Id " + $"WHERE B.OrgEnrollmentId = {Eid} AND B.RemoveOperDate IS NULL ORDER BY ID");
|
|
//}
|
|
|
|
#endregion 团体
}
} |