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.
428 lines
25 KiB
428 lines
25 KiB
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.VisualBasic;
|
|
using NPOI.SS.Formula.Functions;
|
|
using Shentun.Peis.Enums;
|
|
using Shentun.Peis.Models;
|
|
using Shentun.Peis.PatientRegisters;
|
|
using Shentun.Peis.Permissions;
|
|
using SqlSugar;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Volo.Abp;
|
|
using Volo.Abp.Application.Services;
|
|
using Volo.Abp.Domain.Repositories;
|
|
|
|
namespace Shentun.Peis.ThirdPartyPublicInterfaces
|
|
{
|
|
/// <summary>
|
|
/// 第三方公开接口
|
|
/// </summary>
|
|
public class ThirdPartyPublicInterfaceAppService : ApplicationService
|
|
{
|
|
private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository;
|
|
private readonly IRepository<RegisterCheck, Guid> _registerCheckRepository;
|
|
private readonly IRepository<RegisterCheckAsbitem, Guid> _registerCheckAsbitemRepository;
|
|
private readonly IRepository<RegisterCheckItem> _registerCheckItemRepository;
|
|
private readonly IRepository<Item, Guid> _itemRepository;
|
|
private readonly IRepository<ItemType, Guid> _itemTypeRepository;
|
|
private readonly IRepository<Asbitem, Guid> _asbitemRepository;
|
|
private readonly IRepository<Patient, Guid> _patientRepository;
|
|
private readonly IRepository<SumSuggestionHeader, Guid> _sumSuggestionHeaderRepository;
|
|
private readonly IRepository<SumSuggestionContent, Guid> _sumSuggestionContentRepository;
|
|
private readonly IRepository<SumSummaryHeader, Guid> _sumSummaryHeaderRepository;
|
|
private readonly IRepository<SumSummaryContent, Guid> _sumSummaryContentRepository;
|
|
private readonly IRepository<RegisterCheckSummary, Guid> _registerCheckSummaryRepository;
|
|
private readonly IRepository<ResultStatus> _resultStatusRepository;
|
|
private readonly IRepository<ColumnReference, Guid> _columnReferenceRepository;
|
|
private readonly IRepository<ColumnReferenceCode, Guid> _columnReferenceCodeRepository;
|
|
private readonly IRepository<ColumnReferenceInterface, Guid> _columnReferenceInterfaceRepository;
|
|
private readonly CacheService _cacheService;
|
|
public ThirdPartyPublicInterfaceAppService(
|
|
IRepository<PatientRegister, Guid> patientRegisterRepository,
|
|
CacheService cacheService,
|
|
IRepository<RegisterCheck, Guid> registerCheckRepository,
|
|
IRepository<RegisterCheckAsbitem, Guid> registerCheckAsbitemRepository,
|
|
IRepository<RegisterCheckItem> registerCheckItemRepository,
|
|
IRepository<Item, Guid> itemRepository,
|
|
IRepository<ItemType, Guid> itemTypeRepository,
|
|
IRepository<Asbitem, Guid> asbitemRepository,
|
|
IRepository<Patient, Guid> patientRepository,
|
|
IRepository<SumSuggestionHeader, Guid> sumSuggestionHeaderRepository,
|
|
IRepository<SumSuggestionContent, Guid> sumSuggestionContentRepository,
|
|
IRepository<SumSummaryHeader, Guid> sumSummaryHeaderRepository,
|
|
IRepository<SumSummaryContent, Guid> sumSummaryContentRepository,
|
|
IRepository<RegisterCheckSummary, Guid> registerCheckSummaryRepository,
|
|
IRepository<ResultStatus> resultStatusRepository,
|
|
IRepository<ColumnReference, Guid> columnReferenceRepository,
|
|
IRepository<ColumnReferenceCode, Guid> columnReferenceCodeRepository,
|
|
IRepository<ColumnReferenceInterface, Guid> columnReferenceInterfaceRepository)
|
|
{
|
|
_patientRegisterRepository = patientRegisterRepository;
|
|
_cacheService = cacheService;
|
|
_registerCheckRepository = registerCheckRepository;
|
|
_registerCheckAsbitemRepository = registerCheckAsbitemRepository;
|
|
_registerCheckItemRepository = registerCheckItemRepository;
|
|
_itemRepository = itemRepository;
|
|
_itemTypeRepository = itemTypeRepository;
|
|
_asbitemRepository = asbitemRepository;
|
|
_patientRepository = patientRepository;
|
|
_sumSuggestionHeaderRepository = sumSuggestionHeaderRepository;
|
|
_sumSuggestionContentRepository = sumSuggestionContentRepository;
|
|
_sumSummaryHeaderRepository = sumSummaryHeaderRepository;
|
|
_sumSummaryContentRepository = sumSummaryContentRepository;
|
|
_registerCheckSummaryRepository = registerCheckSummaryRepository;
|
|
_resultStatusRepository = resultStatusRepository;
|
|
_columnReferenceRepository = columnReferenceRepository;
|
|
_columnReferenceCodeRepository = columnReferenceCodeRepository;
|
|
_columnReferenceInterfaceRepository = columnReferenceInterfaceRepository;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 查询体检人员基本信息
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
[Authorize(PeisPermissions.Third.Default)]
|
|
[HttpPost("api/Third/ThirdPartyPublicInterface/GetBasicInformationOfMedicalExaminationPersonnel")]
|
|
public async Task<List<BasicInformationOfMedicalExaminationPersonnelDto>> GetBasicInformationOfMedicalExaminationPersonnelAsync(PublicPatientRegisterNoInputDto input)
|
|
{
|
|
if (input == null)
|
|
{
|
|
throw new UserFriendlyException($"请求参数错误");
|
|
}
|
|
|
|
if (!input.PatientRegisterNos.Any())
|
|
throw new UserFriendlyException($"体检编号不能为空");
|
|
var listDto = new List<BasicInformationOfMedicalExaminationPersonnelDto>();
|
|
|
|
var patientRegisterList = (await _patientRegisterRepository.GetQueryableAsync()).Include(x => x.Patient)
|
|
.Where(m => input.PatientRegisterNos.Contains(m.PatientRegisterNo)
|
|
&& m.CompleteFlag == PatientRegisterCompleteFlag.SumCheck).ToList();
|
|
if (patientRegisterList.Any())
|
|
{
|
|
foreach (var patientRegisterEnt in patientRegisterList)
|
|
{
|
|
|
|
//基础信息
|
|
var result = new BasicInformationOfMedicalExaminationPersonnelDto
|
|
{
|
|
BirthDate = patientRegisterEnt.BirthDate != null ? patientRegisterEnt.BirthDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
|
|
PatientRegisterNo = patientRegisterEnt.PatientRegisterNo,
|
|
CompleteFlag = patientRegisterEnt.CompleteFlag,
|
|
IsMedicalStart = patientRegisterEnt.IsMedicalStart,
|
|
MedicalStartDate = patientRegisterEnt.MedicalStartDate != null ? patientRegisterEnt.MedicalStartDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
|
|
PatientName = patientRegisterEnt.PatientName,
|
|
SexName = _cacheService.GetSexNameAsync(patientRegisterEnt.SexId).Result,
|
|
SummaryDoctorName = _cacheService.GetSurnameAsync(patientRegisterEnt.SummaryDoctorId).Result,
|
|
SummaryDate = patientRegisterEnt.SummaryDate != null ? patientRegisterEnt.SummaryDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
|
|
CustomerOrgName = _cacheService.GetTopCustomerOrgNameAsync(patientRegisterEnt.CustomerOrgId).Result,
|
|
IdNo = patientRegisterEnt.Patient.IdNo,
|
|
MobileTelephone = patientRegisterEnt.Patient.MobileTelephone
|
|
};
|
|
|
|
var registerCheckItemList = from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
|
|
join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId
|
|
join registerCheckItem in await _registerCheckItemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckItem.RegisterCheckId
|
|
join item in await _itemRepository.GetQueryableAsync() on registerCheckItem.ItemId equals item.Id
|
|
join itemType in await _itemTypeRepository.GetQueryableAsync() on item.ItemTypeId equals itemType.Id into itemTypeTemp
|
|
from itemTypeHaveEmpty in itemTypeTemp.DefaultIfEmpty()
|
|
join resultStatus in await _resultStatusRepository.GetQueryableAsync() on registerCheckItem.ResultStatusId equals resultStatus.Id into resultStatusTemp
|
|
from resultStatusHaveEmpty in resultStatusTemp.DefaultIfEmpty()
|
|
where patientRegister.Id == patientRegisterEnt.Id
|
|
select new
|
|
{
|
|
registerCheckItem,
|
|
ItemName = item.DisplayName,
|
|
DepartmentName = itemTypeHaveEmpty != null ? itemTypeHaveEmpty.DisplayName : "",
|
|
ResultStatusName = resultStatusHaveEmpty != null ? resultStatusHaveEmpty.DisplayName : "正常"
|
|
};
|
|
|
|
|
|
|
|
//明细项目
|
|
result.Items = registerCheckItemList.Select(s => new BasicInformationOfMedicalExaminationPersonnelItemDto
|
|
{
|
|
DepartmentName = s.DepartmentName,
|
|
ItemName = s.ItemName,
|
|
ReferenceRangeValue = s.registerCheckItem.ReferenceRangeValue,
|
|
Result = s.registerCheckItem.Result,
|
|
Unit = s.registerCheckItem.Unit,
|
|
ResultStatusName = s.ResultStatusName
|
|
}).ToList();
|
|
|
|
|
|
|
|
//组合项目情况
|
|
#region 组合项目情况
|
|
var sumSummaryList = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
|
|
join sumSummaryHeader in await _sumSummaryHeaderRepository.GetQueryableAsync() on patientRegister.Id equals sumSummaryHeader.PatientRegisterId
|
|
join sumSummaryContent in await _sumSummaryContentRepository.GetQueryableAsync() on sumSummaryHeader.Id equals sumSummaryContent.SumSummaryHeaderId
|
|
where patientRegister.Id == patientRegisterEnt.Id
|
|
orderby sumSummaryHeader.DisplayOrder, sumSummaryContent.DisplayOrder
|
|
select new
|
|
{
|
|
sumSummaryHeaderId = sumSummaryHeader.Id,
|
|
SummaryTitle = sumSummaryHeader.SummaryTitle,
|
|
SummaryContent = sumSummaryContent.SummaryContent
|
|
}).ToList();
|
|
|
|
var sumSummaryGroup = sumSummaryList.GroupBy(g => g.sumSummaryHeaderId);
|
|
|
|
List<BasicInformationOfMedicalExaminationPersonnelSumSummaryDto> sumSummarys = new List<BasicInformationOfMedicalExaminationPersonnelSumSummaryDto>();
|
|
|
|
foreach (var item in sumSummaryGroup)
|
|
{
|
|
sumSummarys.Add(new BasicInformationOfMedicalExaminationPersonnelSumSummaryDto
|
|
{
|
|
SumSummaryTitle = item.FirstOrDefault().SummaryTitle,
|
|
SumSummaryContent = string.Join(',', item.Select(s => s.SummaryContent.Trim().Replace("\n", "")).ToList())
|
|
});
|
|
}
|
|
|
|
result.SumSummarys = sumSummarys;
|
|
#endregion
|
|
|
|
|
|
|
|
#region 组合项目异常
|
|
var registerCheckSummaryList = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
|
|
join registerCheck in (await _registerCheckRepository.GetQueryableAsync())
|
|
.Include(x => x.RegisterCheckAsbitems).ThenInclude(x => x.Asbitem).AsQueryable()
|
|
on patientRegister.Id equals registerCheck.PatientRegisterId
|
|
join registerCheckSummary in await _registerCheckSummaryRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckSummary.RegisterCheckId
|
|
where patientRegister.Id == patientRegisterEnt.Id
|
|
select new
|
|
{
|
|
registerCheck,
|
|
registerCheckSummary
|
|
}).ToList();
|
|
|
|
var registerCheckSummaryGroup = registerCheckSummaryList.GroupBy(g => g.registerCheck.Id);
|
|
|
|
List<BasicInformationOfMedicalExaminationPersonnelAsbitemAbnormalDto> asbitemAbnormals = new List<BasicInformationOfMedicalExaminationPersonnelAsbitemAbnormalDto>();
|
|
|
|
foreach (var item in registerCheckSummaryGroup)
|
|
{
|
|
//默认结果集合
|
|
var defaultResultList = item.FirstOrDefault().registerCheck.RegisterCheckAsbitems.Select(s => s.Asbitem.DefaultResult.Trim().Replace("\n", "")).ToList();
|
|
|
|
var summaryList = item.Where(m => !defaultResultList.Contains(m.registerCheckSummary.Summary.Trim().Replace("\n", ""))).Select(s => s.registerCheckSummary.Summary).ToList();
|
|
|
|
if (summaryList.Any())
|
|
{
|
|
asbitemAbnormals.Add(new BasicInformationOfMedicalExaminationPersonnelAsbitemAbnormalDto
|
|
{
|
|
AsbitemName = string.Join(',', item.FirstOrDefault().registerCheck.RegisterCheckAsbitems.Select(s => s.Asbitem.DisplayName).ToList()),
|
|
AsbitemAbnormalResult = string.Join(',', summaryList),
|
|
});
|
|
}
|
|
}
|
|
|
|
result.AsbitemAbnormals = asbitemAbnormals;
|
|
#endregion
|
|
|
|
#region 总检建议
|
|
//总检建议
|
|
|
|
var sumSuggestionsList = from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
|
|
join sumSuggestionHeader in await _sumSuggestionHeaderRepository.GetQueryableAsync() on patientRegister.Id equals sumSuggestionHeader.PatientRegisterId
|
|
join sumSuggestionContent in await _sumSuggestionContentRepository.GetQueryableAsync() on sumSuggestionHeader.Id equals sumSuggestionContent.SumSuggestionHeaderId
|
|
where patientRegister.Id == patientRegisterEnt.Id
|
|
orderby sumSuggestionHeader.DisplayOrder, sumSuggestionContent.DisplayOrder
|
|
select new
|
|
{
|
|
SuggestionTitle = sumSuggestionHeader.SuggestionTitle,
|
|
SuggestionFlag = sumSuggestionHeader.SuggestionFlag,
|
|
SuggestionContent = sumSuggestionContent.SuggestionContent
|
|
};
|
|
|
|
result.SumSuggestions = sumSuggestionsList.Select(s => new BasicInformationOfMedicalExaminationPersonnelSumSuggestionDto
|
|
{
|
|
DiagnosisName = s.SuggestionTitle,
|
|
CommonReasons = sumSuggestionsList.Where(m => m.SuggestionFlag == SuggestionTypeFlag.CommonReasons)
|
|
.Select(ss => new BasicInformationOfMedicalExaminationPersonnelSumSuggestionDetailDto
|
|
{
|
|
SumSuggestionContent = ss.SuggestionContent
|
|
}).ToList(),
|
|
HealthGuidances = sumSuggestionsList.Where(m => m.SuggestionFlag == SuggestionTypeFlag.HealthGuidance)
|
|
.Select(ss => new BasicInformationOfMedicalExaminationPersonnelSumSuggestionDetailDto
|
|
{
|
|
SumSuggestionContent = ss.SuggestionContent
|
|
}).ToList(),
|
|
MedicalInterpretations = sumSuggestionsList.Where(m => m.SuggestionFlag == SuggestionTypeFlag.MedicalInterpretation)
|
|
.Select(ss => new BasicInformationOfMedicalExaminationPersonnelSumSuggestionDetailDto
|
|
{
|
|
SumSuggestionContent = ss.SuggestionContent
|
|
}).ToList()
|
|
}).ToList();
|
|
#endregion
|
|
|
|
listDto.Add(result);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throw new UserFriendlyException($"体检编号不正确");
|
|
}
|
|
|
|
return listDto;
|
|
|
|
}
|
|
|
|
|
|
///// <summary>
|
|
///// 查询体检明细项目信息
|
|
///// </summary>
|
|
///// <param name="input"></param>
|
|
///// <returns></returns>
|
|
//[Authorize(PeisPermissions.Third.Default)]
|
|
//[HttpPost("api/Third/ThirdPartyPublicInterface/GetPhysicalExaminationDetailsItemInformation")]
|
|
//public async Task<List<PhysicalExaminationDetailsItemInformationDto>> GetPhysicalExaminationDetailsItemInformationAsync(PublicPatientRegisterNoInputDto input)
|
|
//{
|
|
// if (input == null)
|
|
// {
|
|
// throw new UserFriendlyException($"请求参数错误");
|
|
// }
|
|
|
|
// var query = from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
|
|
// join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId
|
|
// join registerCheckItem in await _registerCheckItemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckItem.RegisterCheckId
|
|
// join item in await _itemRepository.GetQueryableAsync() on registerCheckItem.ItemId equals item.Id
|
|
// join itemType in await _itemTypeRepository.GetQueryableAsync() on item.ItemTypeId equals itemType.Id into itemTypeTemp
|
|
// from itemTypeHaveEmpty in itemTypeTemp.DefaultIfEmpty()
|
|
// where patientRegister.PatientRegisterNo == input.PatientRegisterNo
|
|
// select new
|
|
// {
|
|
// PatientRegisterNo = patientRegister.PatientRegisterNo,
|
|
// registerCheckItem,
|
|
// ItemName = item.DisplayName,
|
|
// ItemTypeName = itemTypeHaveEmpty != null ? itemTypeHaveEmpty.DisplayName : ""
|
|
|
|
// };
|
|
|
|
// if (query.Count() == 0)
|
|
// {
|
|
// throw new UserFriendlyException($"条码号不正确");
|
|
// }
|
|
|
|
// var entList = query.Select(s => new PhysicalExaminationDetailsItemInformationDto
|
|
// {
|
|
// ItemName = s.ItemName,
|
|
// ItemResult = s.registerCheckItem.Result,
|
|
// ItemTypeName = s.ItemTypeName,
|
|
// PatientRegisterNo = s.PatientRegisterNo,
|
|
// ReferenceRangeValue = s.registerCheckItem.ReferenceRangeValue,
|
|
// Unit = s.registerCheckItem.Unit
|
|
// }).ToList();
|
|
|
|
// return entList;
|
|
//}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 查询pacs条码信息
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
[HttpPost("api/Third/ThirdPartyPublicInterface/getPatientItems")]
|
|
public async Task<PatientPacsInfoDto> GetPatientPacsInfoAsync(PatientPacsInfoInputDto input)
|
|
{
|
|
if (input == null)
|
|
{
|
|
throw new UserFriendlyException($"请求参数错误");
|
|
}
|
|
|
|
if (string.IsNullOrEmpty(input.tjbh))
|
|
throw new UserFriendlyException($"体检编号不能为空");
|
|
|
|
|
|
var query = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
|
|
join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id into patientTemp
|
|
from patientHaveEmpty in patientTemp.DefaultIfEmpty()
|
|
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
|
|
join itemType in await _itemTypeRepository.GetQueryableAsync() on asbitem.ItemTypeId equals itemType.Id into itemTypeTemp
|
|
from itemTypeHaveEmpty in itemTypeTemp.DefaultIfEmpty()
|
|
where registerCheck.CheckRequestNo == input.tjbh
|
|
orderby asbitem.DisplayOrder ascending
|
|
select new
|
|
{
|
|
patientRegister,
|
|
IdNo = patientHaveEmpty != null ? patientHaveEmpty.IdNo : "",
|
|
MobileTelephone = patientHaveEmpty != null ? patientHaveEmpty.MobileTelephone : "",
|
|
CheckRequestNo = registerCheck.CheckRequestNo,
|
|
asbitem,
|
|
ItemTypeName = itemTypeHaveEmpty != null ? itemTypeHaveEmpty.DisplayName : "",
|
|
ItemTypeId = itemTypeHaveEmpty != null ? itemTypeHaveEmpty.Id.ToString() : ""
|
|
});
|
|
|
|
|
|
var NoSetupDeviceType = query.Where(m => m.asbitem.DeviceTypeId == null || m.asbitem.DeviceTypeId == Guid.Empty).Select(s => s.asbitem.DisplayName).ToList();
|
|
|
|
if (NoSetupDeviceType.Any())
|
|
throw new UserFriendlyException($"检查项目{string.Join(',', NoSetupDeviceType)}未设置仪器类别");
|
|
|
|
if (!string.IsNullOrEmpty(input.xmlx))
|
|
{
|
|
//检查类型检索
|
|
|
|
//仪器类别ID
|
|
var deviceTypeId = (from columnReference in await _columnReferenceRepository.GetQueryableAsync()
|
|
join columnReferenceCode in await _columnReferenceCodeRepository.GetQueryableAsync() on columnReference.Id equals columnReferenceCode.ColumnReferenceId
|
|
join columnReferenceInterface in await _columnReferenceInterfaceRepository.GetQueryableAsync() on columnReferenceCode.Id equals columnReferenceInterface.ColumnReferenceCodeId
|
|
where columnReference.DisplayName == "仪器类别" && columnReferenceInterface.InterfaceCodeValue == input.xmlx
|
|
select columnReferenceCode.CodeValue).FirstOrDefault();
|
|
|
|
query = query.Where(m => m.asbitem.DeviceTypeId == Guid.Parse(deviceTypeId));
|
|
}
|
|
|
|
var queryList = query.ToList();
|
|
|
|
|
|
if (queryList.Count() == 0)
|
|
throw new UserFriendlyException($"体检编号不存在");
|
|
|
|
var patientInfo = new PatientPacsInfo_PatientInfoDto
|
|
{
|
|
addr = "",
|
|
tjbh = queryList.FirstOrDefault().CheckRequestNo,
|
|
csrq = queryList.FirstOrDefault().patientRegister.BirthDate != null ? queryList.FirstOrDefault().patientRegister.BirthDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
|
|
djr = _cacheService.GetSurnameAsync(queryList.FirstOrDefault().patientRegister.CreatorId).Result,
|
|
djrq = queryList.FirstOrDefault().patientRegister.CreationTime.ToString("yyyy-MM-dd HH:mm:ss"),
|
|
lxdh = queryList.FirstOrDefault().MobileTelephone,
|
|
nl = queryList.FirstOrDefault().patientRegister.Age.ToString(),
|
|
sfzh = queryList.FirstOrDefault().IdNo,
|
|
tjrq = queryList.FirstOrDefault().patientRegister.MedicalStartDate != null ? queryList.FirstOrDefault().patientRegister.MedicalStartDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
|
|
xb = queryList.FirstOrDefault().patientRegister.SexId == 'M' ? "1" : (queryList.FirstOrDefault().patientRegister.SexId == 'F' ? "2" : "9"),
|
|
xm = queryList.FirstOrDefault().patientRegister.PatientName
|
|
};
|
|
|
|
|
|
var items = queryList.Select(s => new PatientPacsInfo_ItemsDto
|
|
{
|
|
ksbm = s.ItemTypeId,
|
|
ksmc = s.ItemTypeName,
|
|
sqdh = s.CheckRequestNo + "-" + (queryList.IndexOf(s) + 1),
|
|
xmbh = s.asbitem.Id.ToString(),
|
|
xmlx = "1",
|
|
xmmc = s.asbitem.DisplayName,
|
|
}).ToList();
|
|
|
|
return new PatientPacsInfoDto
|
|
{
|
|
PatientInfo = patientInfo,
|
|
Items = items
|
|
};
|
|
}
|
|
|
|
}
|
|
}
|