Browse Source

体检报告查询优先条码号、档案号

bjmzak
wxd 2 years ago
parent
commit
b9efb9bf5b
  1. 233
      src/Shentun.Peis.Application/PeisReports/PeisReportAppService.cs

233
src/Shentun.Peis.Application/PeisReports/PeisReportAppService.cs

@ -129,155 +129,166 @@ namespace Shentun.Peis.PeisReports
var sumquery = query;
if (input.CustomerOrgs.Any())
var isIgnoreOtherConditions = false;
if (!string.IsNullOrEmpty(input.PatientRegisterNo))
{
sumquery = sumquery.Where(m => m.a.PatientRegisterNo == input.PatientRegisterNo);
isIgnoreOtherConditions = true;
}
var item = input.CustomerOrgs[0];
if (!string.IsNullOrEmpty(input.PatientNo))
{
sumquery = sumquery.Where(m => m.ab.PatientNo == input.PatientNo);
isIgnoreOtherConditions = true;
}
if (item.CustomerOrgGroupId.Any())
{
sumquery = sumquery.Where(m => m.a.CustomerOrgGroupId != null && item.CustomerOrgGroupId.Contains(m.a.CustomerOrgGroupId.Value));
}
if (item.CustomerOrgRegisterId != null && item.CustomerOrgRegisterId != Guid.Empty)
{
sumquery = sumquery.Where(m => m.a.CustomerOrgRegisterId == item.CustomerOrgRegisterId);
}
if (item.CustomerOrgId != null)
{
var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item.CustomerOrgId.Value);
sumquery = sumquery.Where(m => CustomerOrgIds.Contains(m.a.CustomerOrgId));
}
if (!string.IsNullOrEmpty(item.StartDate) && !string.IsNullOrEmpty(item.EndDate))
if (isIgnoreOtherConditions)
{
sumquery = sumquery.Where(m => m.a.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration);
}
else
{
if (input.CustomerOrgs.Any())
{
if (item.DateType == '1')
var item = input.CustomerOrgs[0];
if (item.CustomerOrgGroupId.Any())
{
sumquery = sumquery.Where(m => m.a.CreationTime >= Convert.ToDateTime(item.StartDate) &&
m.a.CreationTime < Convert.ToDateTime(item.EndDate).AddDays(1));
sumquery = sumquery.Where(m => m.a.CustomerOrgGroupId != null && item.CustomerOrgGroupId.Contains(m.a.CustomerOrgGroupId.Value));
}
else if (item.DateType == '2')
if (item.CustomerOrgRegisterId != null && item.CustomerOrgRegisterId != Guid.Empty)
{
sumquery = sumquery.Where(m => m.a.MedicalStartDate != null && m.a.MedicalStartDate.Value >= Convert.ToDateTime(item.StartDate) &&
m.a.MedicalStartDate.Value < Convert.ToDateTime(item.EndDate).AddDays(1));
sumquery = sumquery.Where(m => m.a.CustomerOrgRegisterId == item.CustomerOrgRegisterId);
}
else if (item.DateType == '3')
if (item.CustomerOrgId != null)
{
sumquery = sumquery.Where(m => m.a.SummaryDate != null && m.a.SummaryDate.Value >= Convert.ToDateTime(item.StartDate) &&
m.a.SummaryDate.Value < Convert.ToDateTime(item.EndDate).AddDays(1));
var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item.CustomerOrgId.Value);
sumquery = sumquery.Where(m => CustomerOrgIds.Contains(m.a.CustomerOrgId));
}
}
if (input.CustomerOrgs.Count > 1)
{
foreach (var item2 in input.CustomerOrgs)
if (!string.IsNullOrEmpty(item.StartDate) && !string.IsNullOrEmpty(item.EndDate))
{
if (item.DateType == '1')
{
sumquery = sumquery.Where(m => m.a.CreationTime >= Convert.ToDateTime(item.StartDate) &&
m.a.CreationTime < Convert.ToDateTime(item.EndDate).AddDays(1));
}
else if (item.DateType == '2')
{
sumquery = sumquery.Where(m => m.a.MedicalStartDate != null && m.a.MedicalStartDate.Value >= Convert.ToDateTime(item.StartDate) &&
m.a.MedicalStartDate.Value < Convert.ToDateTime(item.EndDate).AddDays(1));
}
else if (item.DateType == '3')
{
sumquery = sumquery.Where(m => m.a.SummaryDate != null && m.a.SummaryDate.Value >= Convert.ToDateTime(item.StartDate) &&
m.a.SummaryDate.Value < Convert.ToDateTime(item.EndDate).AddDays(1));
}
}
if (input.CustomerOrgs.IndexOf(item2) > 0)
if (input.CustomerOrgs.Count > 1)
{
foreach (var item2 in input.CustomerOrgs)
{
var newquery = query;
if (item2.CustomerOrgGroupId.Any())
{
newquery = newquery.Where(m => m.a.CustomerOrgGroupId != null && item2.CustomerOrgGroupId.Contains(m.a.CustomerOrgGroupId.Value));
}
if (item2.CustomerOrgRegisterId != null && item2.CustomerOrgRegisterId != Guid.Empty)
{
newquery = newquery.Where(m => m.a.CustomerOrgRegisterId == item2.CustomerOrgRegisterId);
}
if (item2.CustomerOrgId != null)
{
var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item2.CustomerOrgId.Value);
newquery = newquery.Where(m => CustomerOrgIds.Contains(m.a.CustomerOrgId));
}
if (!string.IsNullOrEmpty(item2.StartDate) && !string.IsNullOrEmpty(item2.EndDate))
if (input.CustomerOrgs.IndexOf(item2) > 0)
{
if (item2.DateType == '1')
var newquery = query;
if (item2.CustomerOrgGroupId.Any())
{
newquery = newquery.Where(m => m.a.CreationTime >= Convert.ToDateTime(item2.StartDate) &&
m.a.CreationTime < Convert.ToDateTime(item2.EndDate).AddDays(1));
newquery = newquery.Where(m => m.a.CustomerOrgGroupId != null && item2.CustomerOrgGroupId.Contains(m.a.CustomerOrgGroupId.Value));
}
else if (item2.DateType == '2')
if (item2.CustomerOrgRegisterId != null && item2.CustomerOrgRegisterId != Guid.Empty)
{
newquery = newquery.Where(m => m.a.MedicalStartDate != null && m.a.MedicalStartDate.Value >= Convert.ToDateTime(item2.StartDate) &&
m.a.MedicalStartDate.Value < Convert.ToDateTime(item2.EndDate).AddDays(1));
newquery = newquery.Where(m => m.a.CustomerOrgRegisterId == item2.CustomerOrgRegisterId);
}
else if (item2.DateType == '3')
if (item2.CustomerOrgId != null)
{
newquery = newquery.Where(m => m.a.SummaryDate != null && m.a.SummaryDate.Value >= Convert.ToDateTime(item2.StartDate) &&
m.a.SummaryDate.Value < Convert.ToDateTime(item2.EndDate).AddDays(1));
var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item2.CustomerOrgId.Value);
newquery = newquery.Where(m => CustomerOrgIds.Contains(m.a.CustomerOrgId));
}
if (!string.IsNullOrEmpty(item2.StartDate) && !string.IsNullOrEmpty(item2.EndDate))
{
if (item2.DateType == '1')
{
newquery = newquery.Where(m => m.a.CreationTime >= Convert.ToDateTime(item2.StartDate) &&
m.a.CreationTime < Convert.ToDateTime(item2.EndDate).AddDays(1));
}
else if (item2.DateType == '2')
{
newquery = newquery.Where(m => m.a.MedicalStartDate != null && m.a.MedicalStartDate.Value >= Convert.ToDateTime(item2.StartDate) &&
m.a.MedicalStartDate.Value < Convert.ToDateTime(item2.EndDate).AddDays(1));
}
else if (item2.DateType == '3')
{
newquery = newquery.Where(m => m.a.SummaryDate != null && m.a.SummaryDate.Value >= Convert.ToDateTime(item2.StartDate) &&
m.a.SummaryDate.Value < Convert.ToDateTime(item2.EndDate).AddDays(1));
}
}
sumquery = sumquery.Union(newquery);
}
sumquery = sumquery.Union(newquery);
}
}
}
}
if (!string.IsNullOrEmpty(input.PatientName))
{
sumquery = sumquery.Where(m => m.a.PatientName != null && m.a.PatientName.Contains(input.PatientName));
}
if (!string.IsNullOrEmpty(input.PatientRegisterNo))
{
sumquery = sumquery.Where(m => m.a.PatientRegisterNo == input.PatientRegisterNo);
}
if (!string.IsNullOrEmpty(input.PatientNo))
{
sumquery = sumquery.Where(m => m.ab.PatientNo == input.PatientNo);
}
if (!string.IsNullOrEmpty(input.phone))
{
sumquery = sumquery.Where(m => m.ab.MobileTelephone == input.phone || m.ab.Telephone == input.phone);
}
if (input.CompleteFlag != null && input.CompleteFlag != PatientRegisterCompleteFlag.ItemCheckUnSumCheck)
{
sumquery = sumquery.Where(m => m.a.CompleteFlag == input.CompleteFlag);
}
else
{
sumquery = sumquery.Where(m => m.a.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration);
}
if (!string.IsNullOrEmpty(input.PatientName))
{
sumquery = sumquery.Where(m => m.a.PatientName != null && m.a.PatientName.Contains(input.PatientName));
}
if (input.IsAudit != null)
{
sumquery = sumquery.Where(m => m.a.IsAudit == input.IsAudit);
}
if (!string.IsNullOrEmpty(input.phone))
{
sumquery = sumquery.Where(m => m.ab.MobileTelephone == input.phone || m.ab.Telephone == input.phone);
}
if (input.IsReportPrint != null)
{
if (input.IsReportPrint == 'Y')
if (input.CompleteFlag != null && input.CompleteFlag != PatientRegisterCompleteFlag.ItemCheckUnSumCheck)
{
sumquery = sumquery.Where(m => m.a.ReportPrintTimes > 0);
sumquery = sumquery.Where(m => m.a.CompleteFlag == input.CompleteFlag);
}
else
{
sumquery = sumquery.Where(m => m.a.ReportPrintTimes == 0);
sumquery = sumquery.Where(m => m.a.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration);
}
}
if (input.MedicalTypeId != null)
{
sumquery = sumquery.Where(m => m.a.MedicalTypeId == input.MedicalTypeId);
}
if (input.IsAudit != null)
{
sumquery = sumquery.Where(m => m.a.IsAudit == input.IsAudit);
}
if (input.PersonnelTypeId != null)
{
sumquery = sumquery.Where(m => m.a.PersonnelTypeId == input.PersonnelTypeId);
}
if (input.IsReportPrint != null)
{
if (input.IsReportPrint == 'Y')
{
sumquery = sumquery.Where(m => m.a.ReportPrintTimes > 0);
}
else
{
sumquery = sumquery.Where(m => m.a.ReportPrintTimes == 0);
}
}
if (input.IsUpload != null)
{
sumquery = sumquery.Where(m => m.a.IsUpload == input.IsUpload);
}
if (input.MedicalTypeId != null)
{
sumquery = sumquery.Where(m => m.a.MedicalTypeId == input.MedicalTypeId);
}
if (!string.IsNullOrEmpty(input.IdNo))
{
sumquery = sumquery.Where(m => m.ab.IdNo == input.IdNo);
}
if (input.PersonnelTypeId != null)
{
sumquery = sumquery.Where(m => m.a.PersonnelTypeId == input.PersonnelTypeId);
}
if (input.IsUpload != null)
{
sumquery = sumquery.Where(m => m.a.IsUpload == input.IsUpload);
}
if (!string.IsNullOrEmpty(input.IdNo))
{
sumquery = sumquery.Where(m => m.ab.IdNo == input.IdNo);
}
}
var sumqueryGroup = sumquery.ToList().GroupBy(g => g.a.Id);

Loading…
Cancel
Save