Browse Source

青藏公司

bjmzak
DESKTOP-G961P6V\Zhh 2 years ago
parent
commit
b785c5c89c
  1. 79
      ThirdPlugIns/Shentun.Peis.PlugIns.Gem/ImportPatientRegisterPlugInsGem.cs
  2. 5
      ThirdPlugIns/Shentun.Peis.PlugIns.Gem/test/Shentun.Peis.PlugIns.Gem.Test/appsettings.json
  3. 16
      src/Shentun.ColumnReferencePlugIns/PlugInsBase.cs
  4. 1
      src/Shentun.Peis.Application/CustomerOrgs/CustomerOrgAppService.cs
  5. 8
      src/Shentun.Peis.Application/Patients/PatientAppService.cs

79
ThirdPlugIns/Shentun.Peis.PlugIns.Gem/ImportPatientRegisterPlugInsGem.cs

@ -20,6 +20,7 @@ using Shentun.Peis.CustomerReports;
using Shentun.Peis.CustomerOrgGroupDetails; using Shentun.Peis.CustomerOrgGroupDetails;
using Shentun.Peis.CustomerOrgRegisters; using Shentun.Peis.CustomerOrgRegisters;
using Shentun.Peis.Enums; using Shentun.Peis.Enums;
using Shentun.Peis.Patients;
namespace Shentun.Peis.PlugIns.Gem namespace Shentun.Peis.PlugIns.Gem
{ {
@ -42,7 +43,8 @@ namespace Shentun.Peis.PlugIns.Gem
{ {
await LoginAsync(); await LoginAsync();
await InitAsync(); await InitAsync();
for(var i = 0;i<30;i++)
{
var qztlPatientRegisterFromInterface = await CallInterfaceServiceAsync(); var qztlPatientRegisterFromInterface = await CallInterfaceServiceAsync();
if (qztlPatientRegisterFromInterface == null || !qztlPatientRegisterFromInterface.plans.Any()) if (qztlPatientRegisterFromInterface == null || !qztlPatientRegisterFromInterface.plans.Any())
{ {
@ -88,7 +90,11 @@ namespace Shentun.Peis.PlugIns.Gem
workTypeV = "," + workTypeV; workTypeV = "," + workTypeV;
} }
jobPost = jobPost + workTypeV; jobPost = jobPost + workTypeV;
if (!string.IsNullOrWhiteSpace(jobPost) && jobPost.Length >= 10)
{
jobPost = jobPost.Substring(0, 10);//只能存储10个汉字 jobPost = jobPost.Substring(0, 10);//只能存储10个汉字
}
//查找子单位是否存在,如存在获取子单位id,如果不存在这创建子单位 //查找子单位是否存在,如存在获取子单位id,如果不存在这创建子单位
var orgName = patient.orgName; var orgName = patient.orgName;
var pos = orgName.IndexOf("_"); var pos = orgName.IndexOf("_");
@ -110,8 +116,8 @@ namespace Shentun.Peis.PlugIns.Gem
customerOrgDto = await CallAppServiceAsync<CreateCustomerOrgDto, CustomerOrgDto>( customerOrgDto = await CallAppServiceAsync<CreateCustomerOrgDto, CustomerOrgDto>(
"api/app/customerorg/create", new CreateCustomerOrgDto() "api/app/customerorg/create", new CreateCustomerOrgDto()
{ {
MedicalCenterId = _importCustomerOrgId,
ParentId = _customerOrgDto.MedicalCenterId,
MedicalCenterId = _customerOrgDto.MedicalCenterId ,
ParentId = _importCustomerOrgId,
DisplayName = orgName, DisplayName = orgName,
ShortName = orgName, ShortName = orgName,
IsActive = 'Y', IsActive = 'Y',
@ -124,7 +130,7 @@ namespace Shentun.Peis.PlugIns.Gem
//复检 //复检
//加载单位分组信息 //加载单位分组信息
_customerOrgGroupDtos = await CallAppServiceAsync<Guid, List<CustomerOrgGroupDto>>( _customerOrgGroupDtos = await CallAppServiceAsync<Guid, List<CustomerOrgGroupDto>>(
"api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=" + _importCustomerOrgId.ToString()
"api/app/customer-org-group/in-customer-org-id/" + _importCustomerOrgId.ToString()
, Guid.Empty, "get"); , Guid.Empty, "get");
customerOrgGroupDto = _customerOrgGroupDtos.Where(o => o.DisplayName == "复检").FirstOrDefault(); customerOrgGroupDto = _customerOrgGroupDtos.Where(o => o.DisplayName == "复检").FirstOrDefault();
if (customerOrgGroupDto == null) if (customerOrgGroupDto == null)
@ -169,6 +175,8 @@ namespace Shentun.Peis.PlugIns.Gem
} }
customerOrgGroupDto = await GetCustomerOrgGroup(groupNames, sexId, maritalStatusId); customerOrgGroupDto = await GetCustomerOrgGroup(groupNames, sexId, maritalStatusId);
} }
//获取病人ID
var patientRegister = new CreatePatientRegisterDto() var patientRegister = new CreatePatientRegisterDto()
{ {
MedicalCenterId = _customerOrgDto.MedicalCenterId, MedicalCenterId = _customerOrgDto.MedicalCenterId,
@ -177,6 +185,7 @@ namespace Shentun.Peis.PlugIns.Gem
IsMaxMedicalTimes = 'Y', IsMaxMedicalTimes = 'Y',
CompleteFlag = '0', CompleteFlag = '0',
CustomerOrgId = customerOrgDto.Id, CustomerOrgId = customerOrgDto.Id,
CustomerOrgRegisterId = _customerOrgRegisterDto.Id,
CustomerOrgGroupId = customerOrgGroupDto.Id, CustomerOrgGroupId = customerOrgGroupDto.Id,
PatientName = patient.personName, PatientName = patient.personName,
SexId = sexId, SexId = sexId,
@ -185,13 +194,13 @@ namespace Shentun.Peis.PlugIns.Gem
MobileTelephone = patient.mobile, MobileTelephone = patient.mobile,
Planuserid = patient.id.ToString(), Planuserid = patient.id.ToString(),
IdNo = patient.cardId, IdNo = patient.cardId,
PersonnelTypeId = personnelType.Id,
//PersonnelTypeId = personnelType.Id,
JobTitle = jobTitle, JobTitle = jobTitle,
Remark = patient.remark, Remark = patient.remark,
JobPost = jobPost, JobPost = jobPost,
Remark2 = patient.tjOpinion, Remark2 = patient.tjOpinion,
Remark3 = patient.fjOpinion, Remark3 = patient.fjOpinion,
QztlIsFj = patient.ifFj ==1?'Y':'N',
QztlIsFj = patient.ifFj == 1 ? 'Y' : 'N',
QztlIsGt = patient.ifGt == 1 ? 'Y' : 'N', QztlIsGt = patient.ifGt == 1 ? 'Y' : 'N',
QztlIsWh = patient.ifWh == 1 ? 'Y' : 'N', QztlIsWh = patient.ifWh == 1 ? 'Y' : 'N',
QztlIsCw = patient.ifCw == 1 ? 'Y' : 'N', QztlIsCw = patient.ifCw == 1 ? 'Y' : 'N',
@ -199,15 +208,36 @@ namespace Shentun.Peis.PlugIns.Gem
QztlIsCy = patient.ifCy == 1 ? 'Y' : 'N', QztlIsCy = patient.ifCy == 1 ? 'Y' : 'N',
IsQztlImport = 'Y' IsQztlImport = 'Y'
}; };
if(medicalTypeDto!=null)
if (!string.IsNullOrWhiteSpace(patient.cardId))
{
var patientInfo = await CallAppServiceAsync<IdNoInputDto, PatientDto>(
"api/app/patient/GetByIdNo",
new IdNoInputDto()
{
IdNo = patient.cardId
});
if (patientInfo != null)
{
patientRegister.PatientId = patientInfo.Id;
}
}
if (medicalTypeDto != null)
{ {
patientRegister.MedicalTypeId = medicalTypeDto.Id; patientRegister.MedicalTypeId = medicalTypeDto.Id;
} }
if(patient.ifGy == 1)
if (personnelType != null)
{
patientRegister.PersonnelTypeId = personnelType.Id;
}
if (patient.ifGy == 1)
{ {
patientRegister.QztlType = '0'; patientRegister.QztlType = '0';
} }
else if(patient.ifJk == 1) { }
else if (patient.ifJk == 1) { }
{ {
patientRegister.QztlType = '1'; patientRegister.QztlType = '1';
} }
@ -216,11 +246,11 @@ namespace Shentun.Peis.PlugIns.Gem
var customerOrgGroupDetailOrAsbitemDtos = await CallAppServiceAsync<Guid, List<CustomerOrgGroupDetailOrAsbitemDto>>( var customerOrgGroupDetailOrAsbitemDtos = await CallAppServiceAsync<Guid, List<CustomerOrgGroupDetailOrAsbitemDto>>(
"api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=" + customerOrgGroupDto.Id.ToString() "api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=" + customerOrgGroupDto.Id.ToString()
, Guid.Empty, "get"); , Guid.Empty, "get");
if(!customerOrgGroupDetailOrAsbitemDtos.Any() )
if (!customerOrgGroupDetailOrAsbitemDtos.Any())
{ {
throw new Exception("分组未包含项目"); throw new Exception("分组未包含项目");
} }
foreach(var asbitem in customerOrgGroupDetailOrAsbitemDtos)
foreach (var asbitem in customerOrgGroupDetailOrAsbitemDtos)
{ {
patientRegister.RegisterCheckAsbitems.Add(new CreatePatientRegisterRegisterCheckAsbitem() patientRegister.RegisterCheckAsbitems.Add(new CreatePatientRegisterRegisterCheckAsbitem()
{ {
@ -232,10 +262,16 @@ namespace Shentun.Peis.PlugIns.Gem
Amount = asbitem.CustomerOrgGroupDetailAmount Amount = asbitem.CustomerOrgGroupDetailAmount
}); });
} }
await CallAppServiceAsync<CreatePatientRegisterDto, List<PatientRegisterOrNoDto>>(
await CallAppServiceAsync<CreatePatientRegisterDto, object>(
"api/PatientRegister/CreatePatientRegister", "api/PatientRegister/CreatePatientRegister",
patientRegister); patientRegister);
var succesIds = new List<string>();
var deleteIds = new List<string>();
succesIds.Add(patientRegister.Planuserid);
await NoteOk(succesIds, deleteIds);
}
} }
@ -309,7 +345,7 @@ namespace Shentun.Peis.PlugIns.Gem
CustomerOrgId = _importCustomerOrgId, CustomerOrgId = _importCustomerOrgId,
}); });
//加载人员类别列表 //加载人员类别列表
var _personnelTypes = await CallAppServiceAsync<string, List<PersonnelTypeDto>>("api/app/PersonnelType/GetAll", "");
_personnelTypes = await CallAppServiceAsync<string, List<PersonnelTypeDto>>("api/app/PersonnelType/GetAll", "");
} }
@ -388,7 +424,7 @@ namespace Shentun.Peis.PlugIns.Gem
case 2: case 2:
return '1'; return '1';
case 3: case 3:
return '3';
return '4';
default: default:
return '9'; return '9';
} }
@ -503,13 +539,13 @@ namespace Shentun.Peis.PlugIns.Gem
} }
} }
string maritalStatusName; string maritalStatusName;
if (maritalStatusId == '9' || maritalStatusId == '1')
if (maritalStatusId == '0')
{ {
maritalStatusName = "婚";
maritalStatusName = "婚";
} }
else else
{ {
maritalStatusName = "婚";
maritalStatusName = "婚";
} }
if (sexName == "女") if (sexName == "女")
{ {
@ -521,7 +557,7 @@ namespace Shentun.Peis.PlugIns.Gem
} }
_customerOrgGroupDtos = await CallAppServiceAsync<Guid, List<CustomerOrgGroupDto>>( _customerOrgGroupDtos = await CallAppServiceAsync<Guid, List<CustomerOrgGroupDto>>(
"api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=" + _importCustomerOrgId.ToString()
"api/app/customer-org-group/in-customer-org-id/" + _importCustomerOrgId.ToString()
, Guid.Empty, "get"); , Guid.Empty, "get");
var customerOrgGroup = _customerOrgGroupDtos.Where(o => o.DisplayName == groupName).FirstOrDefault(); var customerOrgGroup = _customerOrgGroupDtos.Where(o => o.DisplayName == groupName).FirstOrDefault();
if (customerOrgGroup != null) if (customerOrgGroup != null)
@ -601,7 +637,7 @@ namespace Shentun.Peis.PlugIns.Gem
return; return;
} }
if (successIds.Count == 0 || deleteIds.Count == 0)
if (successIds.Count == 0 && deleteIds.Count == 0)
{ {
return; return;
} }
@ -658,7 +694,10 @@ namespace Shentun.Peis.PlugIns.Gem
result = await response.Content.ReadAsStringAsync(); result = await response.Content.ReadAsStringAsync();
result = result.Replace(":\"[{", ":[{").Replace("}]\"", "}]").Replace("\\", ""); result = result.Replace(":\"[{", ":[{").Replace("}]\"", "}]").Replace("\\", "");
if (result.IndexOf("更新ok") >= 0 || result.IndexOf("更新OK") >= 0 || result.IndexOf("更新Ok") >= 0)
{
return;
}
dynamic? resultDto = JsonConvert.DeserializeObject(result); dynamic? resultDto = JsonConvert.DeserializeObject(result);
if (resultDto != null) if (resultDto != null)
{ {

5
ThirdPlugIns/Shentun.Peis.PlugIns.Gem/test/Shentun.Peis.PlugIns.Gem.Test/appsettings.json

@ -8,7 +8,10 @@
"CorsOrigins": "https://*.Peis.com,http://localhost:4200,http://localhost:9530,http://192.168.1.108:9530,http://localhost:8080,http://localhost:8081", "CorsOrigins": "https://*.Peis.com,http://localhost:4200,http://localhost:9530,http://192.168.1.108:9530,http://localhost:8080,http://localhost:8081",
"RedirectAllowedUrls": "http://localhost:9530", "RedirectAllowedUrls": "http://localhost:9530",
"Sql": "select id::varchar as Code ,display_name as DisplayName ,simple_code as SimpleCode ,display_order as DisplayOrder from asbitem", "Sql": "select id::varchar as Code ,display_name as DisplayName ,simple_code as SimpleCode ,display_order as DisplayOrder from asbitem",
"ColumnNames": "编码,名称"
"ColumnNames": "编码,名称",
"AppUser": "admin",
"AppPassword": "666666"
}, },
"Interface": { "Interface": {
//"DbType": "SqlServer", //"DbType": "SqlServer",

16
src/Shentun.ColumnReferencePlugIns/PlugInsBase.cs

@ -2,8 +2,10 @@
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Converters; using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using Npgsql; using Npgsql;
using Oracle.ManagedDataAccess.Client; using Oracle.ManagedDataAccess.Client;
using Shentun.Peis.PatientRegisters;
using Shentun.Utilities; using Shentun.Utilities;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -135,7 +137,7 @@ namespace Shentun.Peis.PlugIns
httpClient.DefaultRequestHeaders.Accept.Add( httpClient.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));//设置accept标头,告诉JSON是可接受的响应类型 new MediaTypeWithQualityHeaderValue("application/json"));//设置accept标头,告诉JSON是可接受的响应类型
//httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _accesToken);
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _accesToken);
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter(); IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
var sendData = JsonConvert.SerializeObject(data,Newtonsoft.Json.Formatting.Indented, timeFormat); var sendData = JsonConvert.SerializeObject(data,Newtonsoft.Json.Formatting.Indented, timeFormat);
@ -160,13 +162,23 @@ namespace Shentun.Peis.PlugIns
} }
result = await response.Content.ReadAsStringAsync(); result = await response.Content.ReadAsStringAsync();
dynamic resultDto = JsonConvert.DeserializeObject<TOut>(result);
dynamic resultDto = JsonConvert.DeserializeObject(result);
if(resultDto != null) if(resultDto != null)
{ {
if(resultDto.code == "-1") if(resultDto.code == "-1")
{ {
throw new Exception($"调用WebApi失败,返回-1,消息:"+resultDto.message); throw new Exception($"调用WebApi失败,返回-1,消息:"+resultDto.message);
} }
JObject jsonObject = JObject.Parse(result);
var returnStr = jsonObject["data"].ToString();
if(string.IsNullOrWhiteSpace(returnStr) || returnStr == "null")
{
return default(TOut);
}
var returnValue = JsonConvert.DeserializeObject<TOut>(returnStr);
return returnValue;
} }
return resultDto; return resultDto;
} }

1
src/Shentun.Peis.Application/CustomerOrgs/CustomerOrgAppService.cs

@ -66,6 +66,7 @@ namespace Shentun.Peis.CustomerOrgs
entityDto.LastModifierName = await _cacheService.GetSurnameAsync(entityDto.LastModifierId); entityDto.LastModifierName = await _cacheService.GetSurnameAsync(entityDto.LastModifierId);
return entityDto; return entityDto;
} }
//[AllowAnonymous]
[HttpPost("api/app/CustomerOrg/GetById")] [HttpPost("api/app/CustomerOrg/GetById")]
public async Task<CustomerOrgDto> GetByIdAsync(CustomerOrgIdInputDto input) public async Task<CustomerOrgDto> GetByIdAsync(CustomerOrgIdInputDto input)
{ {

8
src/Shentun.Peis.Application/Patients/PatientAppService.cs

@ -17,6 +17,7 @@ using Microsoft.AspNetCore.Authorization;
using Volo.Abp; using Volo.Abp;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using NUglify.Helpers; using NUglify.Helpers;
using Volo.Abp.ObjectMapping;
namespace Shentun.Peis.Patients namespace Shentun.Peis.Patients
{ {
@ -131,12 +132,13 @@ namespace Shentun.Peis.Patients
{ {
throw new UserFriendlyException("身份证号不能为空"); throw new UserFriendlyException("身份证号不能为空");
} }
var entity = await Repository.FindAsync(o => o.IdNo == idNoInputDto.IdNo.Trim());
if (entity == null)
var entitys = await Repository.GetListAsync(o => o.IdNo == idNoInputDto.IdNo.Trim());
if (entitys == null || !entitys.Any())
{ {
return null; return null;
} }
var dto = ObjectMapper.Map<Patient, PatientDto>(entity);
var dto = ObjectMapper.Map<Patient, PatientDto>(entitys.Last());
return dto; return dto;
} }

Loading…
Cancel
Save