Browse Source

1125

master
wxd 5 months ago
parent
commit
a76281d921
  1. 4
      ThirdPlugIns/Shentun.Peis.PlugIns.Gem/PatientRegisters/Qztl/ImportPatientRegisterPlugInsQztl.cs
  2. 2
      src/Shentun.Peis.Application.Contracts/MyUser/UserLoginDto.cs
  3. 9
      src/Shentun.Peis.Application.Contracts/PacsBusiness/ImportDeviceReportFileByPatientRegisterNoInputDto.cs
  4. 5
      src/Shentun.Peis.Application.Contracts/PeisReports/GetPatientRegisterReportDto.cs
  5. 49
      src/Shentun.Peis.Application/AsbitemMutualExclusions/AsbitemMutualExclusionAppService.cs
  6. 3
      src/Shentun.Peis.Application/MyUser/MyUserAppService.cs
  7. 27
      src/Shentun.Peis.Application/PacsBusiness/PacsBusinessAppService.cs
  8. 15
      src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs
  9. 6
      src/Shentun.Peis.Application/PeisReports/PeisReportAppService.cs
  10. 6
      src/Shentun.Peis.Domain/PatientRegisters/PatientRegister.cs
  11. 2
      src/Shentun.Peis.EntityFrameworkCore/DbMapping/PatientRegisters/PatientRegisterDbMapping.cs
  12. 16424
      src/Shentun.Peis.EntityFrameworkCore/Migrations/20251121102205_update_patient_register_add_report_print_operating.Designer.cs
  13. 27
      src/Shentun.Peis.EntityFrameworkCore/Migrations/20251121102205_update_patient_register_add_report_print_operating.cs
  14. 5
      src/Shentun.Peis.EntityFrameworkCore/Migrations/PeisDbContextModelSnapshot.cs

4
ThirdPlugIns/Shentun.Peis.PlugIns.Gem/PatientRegisters/Qztl/ImportPatientRegisterPlugInsQztl.cs

@ -119,6 +119,10 @@ namespace Shentun.Peis.PlugIns.Extensions.PatientRegisters.Qztl
//设置导入人员信息
foreach (var patient in qztlPatientRegisterFromInterface.plans)
{
#region 身份证转换
patient.cardId = patient.cardId.Replace("x", "X");
#endregion
var error = $"姓名:{patient.personName},身份证:{patient.cardId}";
try
{

2
src/Shentun.Peis.Application.Contracts/MyUser/UserLoginDto.cs

@ -20,6 +20,8 @@ namespace Shentun.Peis.MyUser
public Guid UserId { get; set; }
public string Surname { get; set; }
/// <summary>
/// 用户操作类别
/// </summary>

9
src/Shentun.Peis.Application.Contracts/PacsBusiness/ImportDeviceReportFileByPatientRegisterNoInputDto.cs

@ -11,10 +11,15 @@ namespace Shentun.Peis.PacsBusiness
/// </summary>
public string PatientRegisterNo { get; set; }
///// <summary>
///// 组合项目id集合字符串 “,”分割
///// </summary>
//public string AsbitemIds { get; set; }
/// <summary>
/// 组合项目id集合字符串 “,”分割
/// 系统参数ID
/// </summary>
public string AsbitemIds { get; set; }
public string SysParmId { get; set; }
/// <summary>
/// 文件名称

5
src/Shentun.Peis.Application.Contracts/PeisReports/GetPatientRegisterReportDto.cs

@ -75,6 +75,11 @@ namespace Shentun.Peis.PeisReports
/// </summary>
public char? IsReportPrint { get; set; }
/// <summary>
/// 打印人
/// </summary>
public string ReportPrintName { get; set; }
/// <summary>
/// 是否已经上传web

49
src/Shentun.Peis.Application/AsbitemMutualExclusions/AsbitemMutualExclusionAppService.cs

@ -75,6 +75,18 @@ namespace Shentun.Peis.AsbitemMutualExclusions
}
}
}
var mutualExclusionList2 = query.Where(m => m.asbitemMutualExclusion.MutualExclusionAsbitemId == asbitemId).ToList();
if (mutualExclusionList2.Any())
{
foreach (var mutualExclusionItem in mutualExclusionList2)
{
if (input.AsbitemIds.Contains(mutualExclusionItem.asbitemMutualExclusion.AsbitemId))
{
mutualExclusionMessageList.Add($"项目:【{mutualExclusionItem.mutualExclusionAsbitemName}】跟【{mutualExclusionItem.asbitemName}】互斥");
}
}
}
}
if (mutualExclusionMessageList.Any())
@ -95,7 +107,7 @@ namespace Shentun.Peis.AsbitemMutualExclusions
public async Task UpdateAsbitemMutualExclusionAsync(UpdateAsbitemMutualExclusionInputDto input)
{
//删除
await _asbitemMutualExclusionRepository.DeleteAsync(d => d.AsbitemId == input.AsbitemId);
await _asbitemMutualExclusionRepository.DeleteAsync(d => d.AsbitemId == input.AsbitemId || d.MutualExclusionAsbitemId == input.AsbitemId);
if (input.MutualExclusionAsbitemIds.Any())
{
List<AsbitemMutualExclusion> asbitemMutualExclusionList = new List<AsbitemMutualExclusion>();
@ -144,9 +156,40 @@ namespace Shentun.Peis.AsbitemMutualExclusions
MutualExclusionAsbitemName = s.mutualExclusionAsbitemName
}).ToList();
}
else
var query2 = (from asbitemMutualExclusion in await _asbitemMutualExclusionRepository.GetQueryableAsync()
join asbitem in await _asbitemRepository.GetQueryableAsync() on asbitemMutualExclusion.AsbitemId equals asbitem.Id
join mutualExclusionAsbitem in await _asbitemRepository.GetQueryableAsync() on asbitemMutualExclusion.MutualExclusionAsbitemId equals mutualExclusionAsbitem.Id
where asbitemMutualExclusion.MutualExclusionAsbitemId == input.AsbitemId
select new
{
asbitemMutualExclusion,
asbitemName = asbitem.DisplayName,
mutualExclusionAsbitemName = mutualExclusionAsbitem.DisplayName
}).ToList();
if (query2.Any())
{
return null;
if (!query.Any())
{
result.AsbitemId = query2.FirstOrDefault().asbitemMutualExclusion.MutualExclusionAsbitemId;
result.AsbitemName = query2.FirstOrDefault().mutualExclusionAsbitemName;
result.Details = query2.Select(s => new GetAsbitemMutualExclusionByAsbitemIdDtoDetail
{
MutualExclusionAsbitemId = s.asbitemMutualExclusion.AsbitemId,
MutualExclusionAsbitemName = s.asbitemName
}).ToList();
}
else
{
result.Details.AddRange(query2.Select(s => new GetAsbitemMutualExclusionByAsbitemIdDtoDetail
{
MutualExclusionAsbitemId = s.asbitemMutualExclusion.AsbitemId,
MutualExclusionAsbitemName = s.asbitemName
}).ToList());
}
}
return result;

3
src/Shentun.Peis.Application/MyUser/MyUserAppService.cs

@ -580,6 +580,7 @@ namespace Shentun.Peis.MyUser
//msg = "登录成功",
peisid = PeisId,
UserId = user.Id,
Surname = user.Surname,
OperatorType = user.GetProperty<char>("operator_type"),
access_token = token.AccessToken,
expires_in = token.ExpiresIn,
@ -681,7 +682,7 @@ namespace Shentun.Peis.MyUser
}
[RemoteService(false)]
public Task<IdentityUserDto> UpdateAsync(Guid id, IdentityUserUpdateDto input)
public Task<IdentityUserDto> UpdateAsync(Guid id, IdentityUserUpdateDto input)
{
throw new NotImplementedException();
}

27
src/Shentun.Peis.Application/PacsBusiness/PacsBusinessAppService.cs

@ -244,10 +244,10 @@ namespace Shentun.Peis.PacsBusiness
public async Task ImportElectrocardiogramPictureByPatientRegisterNoAsync(ImportElectrocardiogramPictureByPatientRegisterNoInputDto input)
{
// 生成请求唯一标识
var requestKey = $"ElectrocardiogramPicture_{input.PatientRegisterNo}";
var requestKey = $"ElectrocardiogramPicture_{input.CheckDoctorName}_{input.PatientRegisterNo}";
// 检查是否重复请求(5秒内)
if (await _duplicateRequestService.IsDuplicateAsync(requestKey, TimeSpan.FromSeconds(120)))
if (await _duplicateRequestService.IsDuplicateAsync(requestKey, TimeSpan.FromSeconds(30)))
{
throw new UserFriendlyException("请求过于频繁,请稍后重试");
}
@ -366,10 +366,10 @@ namespace Shentun.Peis.PacsBusiness
{
// 生成请求唯一标识
var requestKey = $"ElectrocardiogramResult_{input.PatientRegisterNo}";
var requestKey = $"ElectrocardiogramResult_{input.CheckDoctorName}_{input.PatientRegisterNo}";
// 检查是否重复请求(5秒内)
if (await _duplicateRequestService.IsDuplicateAsync(requestKey, TimeSpan.FromSeconds(120)))
if (await _duplicateRequestService.IsDuplicateAsync(requestKey, TimeSpan.FromSeconds(30)))
{
throw new UserFriendlyException("请求过于频繁,请稍后重试");
}
@ -506,10 +506,10 @@ namespace Shentun.Peis.PacsBusiness
public async Task ImportDeviceReportFileByPatientRegisterNoAsync(ImportDeviceReportFileByPatientRegisterNoInputDto input)
{
// 生成请求唯一标识
var requestKey = $"DeviceReport_{input.PatientRegisterNo}";
var requestKey = $"DeviceReport_{input.CheckDoctorName}_{input.PatientRegisterNo}";
// 检查是否重复请求(5秒内)
if (await _duplicateRequestService.IsDuplicateAsync(requestKey, TimeSpan.FromSeconds(120)))
if (await _duplicateRequestService.IsDuplicateAsync(requestKey, TimeSpan.FromSeconds(30)))
{
throw new UserFriendlyException("请求过于频繁,请稍后重试");
}
@ -519,14 +519,21 @@ namespace Shentun.Peis.PacsBusiness
string AbsolutePath = _configuration.GetValue<string>("PacsVirtualPath:RealPath");
string AbsoluteName = _configuration.GetValue<string>("PacsVirtualPath:Alias");
//string asbitemId = await _sysParmValueManager.GetSysParmValueAsync(Guid.Empty, "electrocardiogram_asbitem_id");
if (string.IsNullOrWhiteSpace(input.AsbitemIds))
if (string.IsNullOrWhiteSpace(input.SysParmId))
{
throw new UserFriendlyException("组合项目Id不能为空");
throw new UserFriendlyException("系统参数Id不能为空");
}
List<string> asbitemIds = input.AsbitemIds.Split(',').ToList();
string asbitemIdString = await _sysParmValueManager.GetSysParmValueAsync(Guid.Empty, input.SysParmId);
if (string.IsNullOrWhiteSpace(asbitemIdString))
{
throw new UserFriendlyException("系统参数中未配置项目Id");
}
List<string> asbitemIds = asbitemIdString.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList();
if (string.IsNullOrWhiteSpace(input.PictureBaseStr))
{

15
src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs

@ -2707,10 +2707,23 @@ namespace Shentun.Peis.PatientRegisters
public async Task UpdatePatientRegisterReportPrintTimesManyAsync(List<Guid> Ids)
{
var entlist = await _repository.GetListAsync(m => Ids.Contains(m.Id));
entlist.ForEach(f => f.ReportPrintTimes = (short)(f.ReportPrintTimes + 1));
if (entlist.Any())
{
foreach (var item in entlist)
{
item.ReportPrintTimes = (short)(item.ReportPrintTimes + 1);
if (_currentUser.Id != null)
item.ReportPrintOperating = _currentUser.Id;
}
await _repository.UpdateManyAsync(entlist);
}
}
/// <summary>
/// 导入体检名单操作
/// </summary>

6
src/Shentun.Peis.Application/PeisReports/PeisReportAppService.cs

@ -119,7 +119,8 @@ namespace Shentun.Peis.PeisReports
a.SummaryDoctorId,
a.MedicalConclusionId,
a.AuditDate,
a.AuditDoctorId
a.AuditDoctorId,
a.ReportPrintOperating
},
//RegisterCheckCompleteFlag = registerCheck.CompleteFlag,
//IsCheck = asbitem.IsCheck,
@ -379,7 +380,8 @@ namespace Shentun.Peis.PeisReports
SummaryDate = DataHelper.ConversionDateShortToString(s.a.SummaryDate),
SummaryDoctorName = _cacheService.GetSurnameAsync(s.a.SummaryDoctorId).GetAwaiter().GetResult(),
AuditDate = DataHelper.ConversionDateShortToString(s.a.AuditDate),
AuditDoctorName = _cacheService.GetSurnameAsync(s.a.AuditDoctorId).GetAwaiter().GetResult()
AuditDoctorName = _cacheService.GetSurnameAsync(s.a.AuditDoctorId).GetAwaiter().GetResult(),
ReportPrintName = _cacheService.GetSurnameAsync(s.a.ReportPrintOperating).GetAwaiter().GetResult()
});
}

6
src/Shentun.Peis.Domain/PatientRegisters/PatientRegister.cs

@ -334,6 +334,12 @@ namespace Shentun.Peis.Models
[Column("device_report_print_times")]
public short DeviceReportPrintTimes { get; set; }
/// <summary>
/// 体检报告打印操作者
/// </summary>
[Column("report_print_operating")]
public Guid? ReportPrintOperating { get; set; }
[Column("concurrency_stamp")]
public string ConcurrencyStamp { get; set; }

2
src/Shentun.Peis.EntityFrameworkCore/DbMapping/PatientRegisters/PatientRegisterDbMapping.cs

@ -101,6 +101,8 @@ namespace Shentun.Peis.DbMapping
entity.Property(t => t.AppointPatientRegisterId).HasMaxLength(40).HasComment("预约人员登记ID");
entity.Property(t => t.DeviceReportPrintTimes).HasComment("设备体检报告打印次数").IsRequired().HasDefaultValue((short)0);
entity.Property(t => t.DeviceGuidePrintTimes).HasComment("设备体检报告打印次数").IsRequired().HasDefaultValue((short)0);
entity.Property(t => t.ReportPrintOperating).HasComment("体检报告打印操作者");
//entity.HasOne(d => d.CustomerOrgRegister)
// .WithMany(p => p.PatientRegisters)
// .HasForeignKey(d => d.CustomerOrgRegisterId)

16424
src/Shentun.Peis.EntityFrameworkCore/Migrations/20251121102205_update_patient_register_add_report_print_operating.Designer.cs
File diff suppressed because it is too large
View File

27
src/Shentun.Peis.EntityFrameworkCore/Migrations/20251121102205_update_patient_register_add_report_print_operating.cs

@ -0,0 +1,27 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Shentun.Peis.Migrations
{
public partial class update_patient_register_add_report_print_operating : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<Guid>(
name: "report_print_operating",
table: "patient_register",
type: "uuid",
nullable: true,
comment: "体检报告打印操作者");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "report_print_operating",
table: "patient_register");
}
}
}

5
src/Shentun.Peis.EntityFrameworkCore/Migrations/PeisDbContextModelSnapshot.cs

@ -7864,6 +7864,11 @@ namespace Shentun.Peis.Migrations
.HasColumnName("remark")
.HasComment("备注");
b.Property<Guid?>("ReportPrintOperating")
.HasColumnType("uuid")
.HasColumnName("report_print_operating")
.HasComment("体检报告打印操作者");
b.Property<short>("ReportPrintTimes")
.ValueGeneratedOnAdd()
.HasColumnType("smallint")

Loading…
Cancel
Save