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

16
src/Shentun.ColumnReferencePlugIns/PlugInsBase.cs

@ -2,8 +2,10 @@
using Microsoft.Extensions.Configuration;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using Npgsql;
using Oracle.ManagedDataAccess.Client;
using Shentun.Peis.PatientRegisters;
using Shentun.Utilities;
using System;
using System.Collections.Generic;
@ -135,7 +137,7 @@ namespace Shentun.Peis.PlugIns
httpClient.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));//设置accept标头,告诉JSON是可接受的响应类型
//httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _accesToken);
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _accesToken);
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
var sendData = JsonConvert.SerializeObject(data,Newtonsoft.Json.Formatting.Indented, timeFormat);
@ -160,13 +162,23 @@ namespace Shentun.Peis.PlugIns
}
result = await response.Content.ReadAsStringAsync();
dynamic resultDto = JsonConvert.DeserializeObject<TOut>(result);
dynamic resultDto = JsonConvert.DeserializeObject(result);
if(resultDto != null)
{
if(resultDto.code == "-1")
{
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;
}

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

@ -66,6 +66,7 @@ namespace Shentun.Peis.CustomerOrgs
entityDto.LastModifierName = await _cacheService.GetSurnameAsync(entityDto.LastModifierId);
return entityDto;
}
//[AllowAnonymous]
[HttpPost("api/app/CustomerOrg/GetById")]
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 Microsoft.EntityFrameworkCore;
using NUglify.Helpers;
using Volo.Abp.ObjectMapping;
namespace Shentun.Peis.Patients
{
@ -131,12 +132,13 @@ namespace Shentun.Peis.Patients
{
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;
}
var dto = ObjectMapper.Map<Patient, PatientDto>(entity);
var dto = ObjectMapper.Map<Patient, PatientDto>(entitys.Last());
return dto;
}

Loading…
Cancel
Save