DESKTOP-G961P6V\Zhh 2 years ago
parent
commit
e5e54a642a
  1. 6
      src/Shentun.ColumnReferencePlugIns/LisResultImportPlugInsBase.cs
  2. 20
      src/Shentun.ColumnReferencePlugIns/LisResultImportPlugInsDbBase.cs
  3. 15
      src/Shentun.Peis.Application/ImportLisResults/ImportLisResultAppService.cs
  4. 9
      src/Shentun.Peis.HttpApi.Host/AppServiceHelper.cs
  5. 2
      test/Shentun.Peis.ColumnReference.Tests/LisResultImportPlugInsTest.cs

6
src/Shentun.ColumnReferencePlugIns/LisResultImportPlugInsBase.cs

@ -59,12 +59,12 @@ namespace Shentun.Peis.PlugIns
{
string sql;
var startDate = DateTime.Now.Date.AddDays(-days);
sql = @" SELECT register_check.patient_register_id
sql = @" SELECT distinct register_check.patient_register_id
from lis_request ,register_check_asbitem,register_check
WHERE lis_request.id = register_check_asbitem.lis_request_id and
register_check_asbitem.register_check_id = register_check.id and
lis_request.creation_time > @StartDate
ORDER BY lis_request.creation_time
ORDER BY register_check.patient_register_id
";
var satientRegisterForLisRequests = (await conn.QueryAsync<PatientRegisterForLisRequest>(sql,
new { StartDate = startDate })).ToList();
@ -76,7 +76,7 @@ ORDER BY lis_request.creation_time
public override Task DoWork()
{
var queryDaysStr = InterfaceConfig.GetSection("Scheduler").GetSection("QueryDays").Value;
var queryDaysStr = InterfaceConfig.GetSection("Interface").GetSection("Scheduler").GetSection("QueryDays").Value;
if (string.IsNullOrWhiteSpace(queryDaysStr))
{
queryDaysStr = "1";

20
src/Shentun.ColumnReferencePlugIns/LisResultImportPlugInsDbBase.cs

@ -52,6 +52,10 @@ namespace Shentun.Peis.PlugIns
var createImportLisResultDtos = new List<CreateImportLisResultDto>();
foreach (var lisRequest in lisRequests)
{
//if (lisRequest.LisRequestNo == "2405090117")
//{
// ;
//}
createImportLisResultDtos.Clear();
string sql;
sql = InterfaceSql + " where " + InterfaceSqlKeyColumn + " = '" + lisRequest.LisRequestNo + "'";
@ -60,6 +64,15 @@ namespace Shentun.Peis.PlugIns
{
foreach (var lisResult in lisResultFromInterfaces)
{
if(string.IsNullOrWhiteSpace(lisResult.Result))
{
continue;
}
if (string.IsNullOrWhiteSpace(lisResult.ItemId))
{
throw new Exception("第三方接口数据项目编码不能为空");
}
if (string.IsNullOrWhiteSpace(lisResult.ItemName))
{
throw new Exception("第三方接口数据项目名称不能为空");
@ -68,6 +81,11 @@ namespace Shentun.Peis.PlugIns
{
throw new Exception("检验医生不能为空");
}
//if(lisResult.ItemId == "435")
//{
// ;
//}
var columnReferenceCodes = await GetColumnReferenceCodeValuesAsync(ItemColumnReferenceId, lisResult.ItemId);
if (columnReferenceCodes == null || !columnReferenceCodes.Any())
{
@ -108,7 +126,7 @@ namespace Shentun.Peis.PlugIns
}
if (!createImportLisResultDtos.Any())
{
return result;
continue;
}
var callResult = await CallAppServiceAsync<List<CreateImportLisResultDto>, object>("api/app/ImportLisResult/ImportResult", createImportLisResultDtos);

15
src/Shentun.Peis.Application/ImportLisResults/ImportLisResultAppService.cs

@ -139,14 +139,21 @@ namespace Shentun.Peis.ImportLisResults
var lisRequestNos = input.Select(o => o.LisRequestNo).Distinct().ToList();
var registerChecks = new List<RegisterCheck>();
_referenceRanges = _referenceRangeRepository.GetListAsync().Result;
input = input.Where(o => !string.IsNullOrWhiteSpace(o.Result)
&& !string.IsNullOrWhiteSpace(o.LisRequestNo)
&& o.ItemId != Guid.Empty).ToList();
foreach (var inputItem in input)
{
if(string.IsNullOrWhiteSpace(inputItem.CheckDoctorName))
if (string.IsNullOrWhiteSpace(inputItem.CheckDoctorName))
{
throw new UserFriendlyException("检查医生不能为空");
}
var lisRequestItem = list.Where(o => o.lisRequest.LisRequestNo == inputItem.LisRequestNo
&& o.registerCheckItem.ItemId == inputItem.ItemId).FirstOrDefault();
var lisRequestItems = list.Where(o => o.lisRequest.LisRequestNo == inputItem.LisRequestNo
&& o.registerCheckItem.ItemId == inputItem.ItemId).ToList();
foreach (var lisRequestItem in lisRequestItems)
{
if (lisRequestItem == null)
{
continue;
@ -174,6 +181,8 @@ namespace Shentun.Peis.ImportLisResults
lisRequestItem.registerCheck.ExecOrganizationUnitId = inputItem.ExecOrganizationUnitId;
registerChecks.Add(lisRequestItem.registerCheck);
}
}
}

9
src/Shentun.Peis.HttpApi.Host/AppServiceHelper.cs

@ -6,6 +6,7 @@ using System.Net.Http.Headers;
using System.Net.Http;
using System.Threading.Tasks;
using System;
using Newtonsoft.Json.Converters;
namespace Shentun.Peis
{
@ -46,7 +47,9 @@ namespace Shentun.Peis
string sendData = "";
if (data != null)
{
sendData = JsonConvert.SerializeObject(data);
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
sendData = JsonConvert.SerializeObject(data, Newtonsoft.Json.Formatting.Indented, timeFormat);
}
using (HttpContent httpContent = new StringContent(sendData))
@ -92,7 +95,9 @@ namespace Shentun.Peis
string sendData = "";
if (data != null)
{
sendData = JsonConvert.SerializeObject(data);
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
sendData = JsonConvert.SerializeObject(data,Newtonsoft.Json.Formatting.Indented, timeFormat);
}
using (HttpContent httpContent = new StringContent(sendData))

2
test/Shentun.Peis.ColumnReference.Tests/LisResultImportPlugInsTest.cs

@ -28,7 +28,7 @@ namespace Shentun.Peis.PlugIns.Tests
var item = await input.ImportResultAsync(
new LisResultImportPlugInsInput()
{
PatientRegisterId = new Guid("3a12724f-d5ce-6007-2647-16b7e9990c20")
PatientRegisterId = new Guid("3a126d1d-6974-a1c5-0e98-30241c2e5243")
});

Loading…
Cancel
Save