@ -479,8 +479,11 @@ namespace Shentun.Peis.PrintReports
from asbitemHaveEmpty in asbitemTemp . DefaultIfEmpty ( )
join itemType in await _itemTypeRepository . GetQueryableAsync ( ) on asbitemHaveEmpty . ItemTypeId equals itemType . Id into itemTypeTemp
from itemTypeHaveEmpty in itemTypeTemp . DefaultIfEmpty ( )
where ( patientRegister . Id = = PatientRegisterId & & itemTypeHaveEmpty . IsCheckRequest = = 'Y' )
select new PacsNoReportDto
where ( patientRegister . Id = = PatientRegisterId
& & ! string . IsNullOrEmpty ( registerCheck . CheckRequestNo )
& & asbitemHaveEmpty . BarcodeMode ! = '2'
)
select new
{
Age = patientRegister . Age ,
AsbitemName = asbitemHaveEmpty . DisplayName ,
@ -488,28 +491,104 @@ namespace Shentun.Peis.PrintReports
PatientName = patientRegister . PatientName ,
PatientRegisterNo = patientRegister . PatientRegisterNo ,
SexName = _cacheService . GetSexNameAsync ( patientRegister . SexId ) . Result ,
CustomerOrgName = _cacheService . GetTopCustomerOrgNameAsync ( patientRegister . CustomerOrgId ) . Result ,
DepartmentName = _cacheService . GetCustomerOrgNameAsync ( patientRegister . CustomerOrgId ) . Result
IsCheckRequest = itemTypeHaveEmpty ! = null ? itemTypeHaveEmpty . IsCheckRequest : 'N' ,
BarcodeMode = asbitemHaveEmpty ! = null ? asbitemHaveEmpty . BarcodeMode : '0'
//CustomerOrgName = _cacheService.GetTopCustomerOrgNameAsync(patientRegister.CustomerOrgId).Result,
//DepartmentName = _cacheService.GetCustomerOrgNameAsync(patientRegister.CustomerOrgId).Result
} ) . ToList ( ) ;
var entList = query . GroupBy ( g = > g . CheckRequestNo ) . Select ( s = > new PacsNoReportDto
var queryGroup = query . GroupBy ( g = > g . CheckRequestNo ) ;
List < PacsNoReportDto > pacsNoReportDtos = new List < PacsNoReportDto > ( ) ;
foreach ( var s in queryGroup )
{
Age = s . FirstOrDefault ( ) . Age ,
AsbitemName = string . Join ( ',' , s . Select ( s = > s . AsbitemName ) ) ,
CheckRequestNo = s . FirstOrDefault ( ) . CheckRequestNo ,
PatientName = s . FirstOrDefault ( ) . PatientName ,
PatientRegisterNo = s . FirstOrDefault ( ) . PatientRegisterNo ,
SexName = s . FirstOrDefault ( ) . SexName ,
CustomerOrgName = s . FirstOrDefault ( ) . CustomerOrgName ,
DepartmentName = s . FirstOrDefault ( ) . DepartmentName
} ) . ToList ( ) ;
return entList ;
if ( s . Where ( m = > m . BarcodeMode = = '0' & & m . IsCheckRequest = = 'Y' ) . Count ( ) > 0 )
{
pacsNoReportDtos . Add ( new PacsNoReportDto
{
Age = s . FirstOrDefault ( ) . Age ,
AsbitemName = string . Join ( ',' , s . Select ( s = > s . AsbitemName ) ) ,
CheckRequestNo = s . FirstOrDefault ( ) . CheckRequestNo ,
PatientName = s . FirstOrDefault ( ) . PatientName ,
PatientRegisterNo = s . FirstOrDefault ( ) . PatientRegisterNo ,
SexName = s . FirstOrDefault ( ) . SexName ,
CustomerOrgName = "" ,
DepartmentName = ""
} ) ;
}
else if ( s . Where ( m = > m . BarcodeMode = = '1' ) . Count ( ) > 0 )
{
pacsNoReportDtos . Add ( new PacsNoReportDto
{
Age = s . FirstOrDefault ( ) . Age ,
AsbitemName = string . Join ( ',' , s . Select ( s = > s . AsbitemName ) ) ,
CheckRequestNo = s . FirstOrDefault ( ) . CheckRequestNo ,
PatientName = s . FirstOrDefault ( ) . PatientName ,
PatientRegisterNo = s . FirstOrDefault ( ) . PatientRegisterNo ,
SexName = s . FirstOrDefault ( ) . SexName ,
CustomerOrgName = "" ,
DepartmentName = ""
} ) ;
}
}
return pacsNoReportDtos ;
}
///// <summary>
///// 打印Pacs条码数据
///// </summary>
///// <param name="PatientRegisterId"></param>
///// <returns></returns>
//[HttpPost("api/app/PrintReport/getpacsnoreport")]
//public async Task<List<PacsNoReportDto>> GetPacsNoReportAsync(Guid PatientRegisterId)
//{
// var query = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
// join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId
// join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId
// join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id into asbitemTemp
// from asbitemHaveEmpty in asbitemTemp.DefaultIfEmpty()
// join itemType in await _itemTypeRepository.GetQueryableAsync() on asbitemHaveEmpty.ItemTypeId equals itemType.Id into itemTypeTemp
// from itemTypeHaveEmpty in itemTypeTemp.DefaultIfEmpty()
// where (patientRegister.Id == PatientRegisterId && itemTypeHaveEmpty.IsCheckRequest == 'Y')
// select new PacsNoReportDto
// {
// Age = patientRegister.Age,
// AsbitemName = asbitemHaveEmpty.DisplayName,
// CheckRequestNo = registerCheck.CheckRequestNo,
// PatientName = patientRegister.PatientName,
// PatientRegisterNo = patientRegister.PatientRegisterNo,
// SexName = _cacheService.GetSexNameAsync(patientRegister.SexId).Result,
// CustomerOrgName = _cacheService.GetTopCustomerOrgNameAsync(patientRegister.CustomerOrgId).Result,
// DepartmentName = _cacheService.GetCustomerOrgNameAsync(patientRegister.CustomerOrgId).Result
// }).ToList();
// var entList = query.GroupBy(g => g.CheckRequestNo).Select(s => new PacsNoReportDto
// {
// Age = s.FirstOrDefault().Age,
// AsbitemName = string.Join(',', s.Select(s => s.AsbitemName)),
// CheckRequestNo = s.FirstOrDefault().CheckRequestNo,
// PatientName = s.FirstOrDefault().PatientName,
// PatientRegisterNo = s.FirstOrDefault().PatientRegisterNo,
// SexName = s.FirstOrDefault().SexName,
// CustomerOrgName = s.FirstOrDefault().CustomerOrgName,
// DepartmentName = s.FirstOrDefault().DepartmentName
// }).ToList();
// return entList;
//}
/// <summary>
/// 打印收费单
/// </summary>