Browse Source

取消总检

bjmzak
DESKTOP-G961P6V\Zhh 2 years ago
parent
commit
b5f6ac3bec
  1. 2
      src/Shentun.Peis.Application/ChargeReports/ChargeReportAppService.cs
  2. 8
      src/Shentun.Peis.Application/CustomerReports/CustomerReportAppService.cs
  3. 44
      src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs
  4. 2
      src/Shentun.Peis.Application/RegisterCheckAsbitems/RegisterCheckAsbitemAppService.cs
  5. 22
      src/Shentun.Peis.Application/SumSuggestionHeaders/SumSuggestionHeaderAppService.cs
  6. 2
      src/Shentun.Peis.Application/SumSummaryHeaders/SumSummaryHeaderAppService.cs
  7. 4
      src/Shentun.Peis.Domain.Shared/Enums/PatientRegisterCompleteFlag.cs
  8. 2
      src/Shentun.Peis.Domain/PatientRegisters/PatientRegisterManager.cs
  9. 6
      src/Shentun.Peis.Domain/RegisterCheckAsbitems/RegisterCheckAsbitemManager.cs
  10. 2
      src/Shentun.Peis.Domain/RegisterChecks/RegisterCheckManager.cs
  11. 20
      src/Shentun.Peis.Domain/ReportTemplates/CustomerOrgReportManager.cs

2
src/Shentun.Peis.Application/ChargeReports/ChargeReportAppService.cs

@ -1211,7 +1211,7 @@ namespace Shentun.Peis.ChargeReports
from ac in cc.DefaultIfEmpty()
join d in await _customerOrgRepository.GetQueryableAsync() on ac.CustomerOrgId equals d.Id into dd
from ad in dd.DefaultIfEmpty()
where a.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected
where a.CompleteFlag == PatientRegisterCompleteFlag.SumCheck
select new
{
a,

8
src/Shentun.Peis.Application/CustomerReports/CustomerReportAppService.cs

@ -1842,7 +1842,7 @@ namespace Shentun.Peis.CustomerReports
}
else if (input.RegisterType == '3')
{
sumquery = sumquery.Where(m => m.a.CompleteFlag == PatientRegisterCompleteFlag.PartInspected || m.a.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected);
sumquery = sumquery.Where(m => m.a.CompleteFlag == PatientRegisterCompleteFlag.PartCheck || m.a.CompleteFlag == PatientRegisterCompleteFlag.SumCheck);
}
// 分组数据
@ -1953,7 +1953,7 @@ namespace Shentun.Peis.CustomerReports
}
else if (input.RegisterType == '3')
{
sumquery = sumquery.Where(m => m.a.CompleteFlag == PatientRegisterCompleteFlag.PartInspected || m.a.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected);
sumquery = sumquery.Where(m => m.a.CompleteFlag == PatientRegisterCompleteFlag.PartCheck || m.a.CompleteFlag == PatientRegisterCompleteFlag.SumCheck);
}
// 分组数据
@ -2101,7 +2101,7 @@ namespace Shentun.Peis.CustomerReports
}
else if (input.RegisterType == '4')
{
sumquery = sumquery.Where(m => m.a.CompleteFlag == PatientRegisterCompleteFlag.PartInspected || m.a.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected);
sumquery = sumquery.Where(m => m.a.CompleteFlag == PatientRegisterCompleteFlag.PartCheck || m.a.CompleteFlag == PatientRegisterCompleteFlag.SumCheck);
}
if (input.IsPersonalPayment == 'N')
@ -2215,7 +2215,7 @@ namespace Shentun.Peis.CustomerReports
}
else if (input.RegisterType == '4')
{
sumquery = sumquery.Where(m => m.a.CompleteFlag == PatientRegisterCompleteFlag.PartInspected || m.a.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected);
sumquery = sumquery.Where(m => m.a.CompleteFlag == PatientRegisterCompleteFlag.PartCheck || m.a.CompleteFlag == PatientRegisterCompleteFlag.SumCheck);
}
if (input.IsPersonalPayment == 'N')

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

@ -23,6 +23,7 @@ using Shentun.Peis.SumSuggestionHeaders;
using Shentun.Peis.SumSummaryContents;
using Shentun.Peis.SumSummaryHeaders;
using Shentun.Peis.SumSummaryReports;
using Shentun.Peis.SysParmValues;
using Shentun.Utilities;
using System;
using System.Collections.Generic;
@ -103,9 +104,12 @@ namespace Shentun.Peis.PatientRegisters
//private readonly IRepository<SysParmValue> _sysParmValueRepository;
private readonly PatientRegisterManager _manager;
private readonly CacheService _cacheService;
private readonly SysParmValueManager _sysParmValueManager;
private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository;
public PatientRegisterAppService(
IRepository<PatientRegister, Guid> repository,
IRepository<Patient, Guid> patientRepository,
IRepository<PatientRegister,Guid> patientRegisterRepository,
IRepository<IdentityUser, Guid> userRepository,
IRepository<Sex> sexRepository,
IRepository<BirthPlace, Guid> birthPlaceRepository,
@ -145,7 +149,8 @@ namespace Shentun.Peis.PatientRegisters
SumSummaryHeaderManager sumSummaryHeaderManager,
SumSummaryContentManager sumSummaryContentManager,
SumSuggestionHeaderManager sumSuggestionHeaderManager,
SumSuggestionContentManager sumSuggestionContentManager
SumSuggestionContentManager sumSuggestionContentManager,
SysParmValueManager sysParmValueManager
)
: base(repository)
{
@ -191,6 +196,8 @@ namespace Shentun.Peis.PatientRegisters
_sumSummaryContentManager = sumSummaryContentManager;
_sumSuggestionHeaderManager = sumSuggestionHeaderManager;
_sumSuggestionContentManager = sumSuggestionContentManager;
_sysParmValueManager = sysParmValueManager;
_patientRegisterRepository = patientRegisterRepository;
}
/// <summary>
/// 获取通过主键
@ -1444,23 +1451,38 @@ namespace Shentun.Peis.PatientRegisters
/// <summary>
/// 更改总检检查医生信息(保存时,医生跟日期不传时取默认登录的用户跟当前时间;取消时,如果不传就不更新医生跟日期,只更新状态)
/// 取消总检
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/patientregister/updatepatientregistersummarydoctor")]
public async Task<PatientRegisterDto> UpdatePatientRegisterSummaryDoctorAsync(UpdatePatientRegisterSummaryDoctorDto input)
[HttpPost("api/app/patientregister/CancelSumCheck")]
public async Task<PatientRegisterDto> CancelSumCheckAsync(PatientRegisterIdInputDto input)
{
throw new UserFriendlyException("禁止使用");
if (input == null || input.PatientRegisterId == Guid.Empty)
{
throw new UserFriendlyException("请求参数有误");
}
var entity = await _repository.GetAsync(input.PatientRegisterId);
var entitydto = ObjectMapper.Map<UpdatePatientRegisterSummaryDoctorDto, PatientRegister>(input);
var newentity = await _manager.UpdatePatientRegisterSummaryDoctorAsync(entitydto, entity);
if(entity.CompleteFlag != PatientRegisterCompleteFlag.SumCheck)
{
throw new UserFriendlyException("没有总检,无需取消总检");
}
if(entity.IsAudit == 'Y')
{
throw new UserFriendlyException("已审核,请先取消审核");
}
var isSummaryCheckOnlySelfCanCancel = await _sysParmValueManager.GetSysParmValueInMedicalCenterId(entity.MedicalCenterId, "summary_check_only_self_can_cancel");
if(isSummaryCheckOnlySelfCanCancel == "Y")
{
if(entity.SummaryDoctorId != CurrentUser.Id)
{
throw new UserFriendlyException("只有本人才能取消总检");
}
}
var newentity = await _patientRegisterRepository.UpdateAsync(entity);
return ObjectMapper.Map<PatientRegister, PatientRegisterDto>(newentity);
}
/// <summary>
@ -2124,7 +2146,7 @@ namespace Shentun.Peis.PatientRegisters
{
throw new UserFriendlyException("个人体检不支持调整");
}
if (patientRegisterEnt.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected)
if (patientRegisterEnt.CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
{
throw new UserFriendlyException("当前体检人员已完成总检");
}
@ -2270,7 +2292,7 @@ namespace Shentun.Peis.PatientRegisters
{
throw new UserFriendlyException("个人体检不支持调整");
}
if (patientRegisterEnt.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected)
if (patientRegisterEnt.CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
{
throw new UserFriendlyException("当前体检人员已完成总检");
}

2
src/Shentun.Peis.Application/RegisterCheckAsbitems/RegisterCheckAsbitemAppService.cs

@ -398,7 +398,7 @@ namespace Shentun.Peis.RegisterAsbitems
throw new UserFriendlyException("人员不存在");
}
if (patientRegisterEnt.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected)
if (patientRegisterEnt.CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
{
throw new UserFriendlyException("该人员已总检,无法操作");
}

22
src/Shentun.Peis.Application/SumSuggestionHeaders/SumSuggestionHeaderAppService.cs

@ -7,6 +7,7 @@ using Shentun.Peis.PatientRegisters;
using Shentun.Peis.SumSuggestionContents;
using Shentun.Peis.SumSummaryContents;
using Shentun.Peis.SumSummaryHeaders;
using Shentun.Peis.SysParmValues;
using System;
using System.Collections.Generic;
using System.Linq;
@ -32,6 +33,7 @@ namespace Shentun.Peis.SumSuggestionHeaders
private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository;
private readonly IRepository<Diagnosis, Guid> _diagnosisRepository;
private readonly SumSummaryHeaderManager _sumSummaryHeaderManager;
private readonly SysParmValueManager _sysParmValueManager;
public SumSuggestionHeaderAppService(
IRepository<SumSuggestionHeader, Guid> sumSuggestionHeaderRepository,
IRepository<SumSuggestionContent, Guid> sumSuggestionContentRepository,
@ -39,7 +41,8 @@ namespace Shentun.Peis.SumSuggestionHeaders
IRepository<SumDiagnosis> sumDiagnosisRepository,
IRepository<PatientRegister, Guid> patientRegisterRepository,
IRepository<Diagnosis, Guid> diagnosisRepository,
SumSummaryHeaderManager sumSummaryHeaderManager
SumSummaryHeaderManager sumSummaryHeaderManager,
SysParmValueManager sysParmValueManager
)
{
this._sumSuggestionHeaderRepository = sumSuggestionHeaderRepository;
@ -49,6 +52,7 @@ namespace Shentun.Peis.SumSuggestionHeaders
_patientRegisterRepository = patientRegisterRepository;
_sumSummaryHeaderManager = sumSummaryHeaderManager;
_diagnosisRepository = diagnosisRepository;
_sysParmValueManager = sysParmValueManager;
}
@ -85,7 +89,7 @@ namespace Shentun.Peis.SumSuggestionHeaders
};
if (patientRegister.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected || input.IsGetExistData == "Y")
if (patientRegister.CompleteFlag == PatientRegisterCompleteFlag.SumCheck || input.IsGetExistData == "Y")
{
msg = query.GroupBy(g => g.sumSuggestionHeader.Id).Select(s => new SumSuggestionDto
{
@ -184,7 +188,19 @@ namespace Shentun.Peis.SumSuggestionHeaders
}
}
var summaryCheckDefaultSuggestionHeader = await _sysParmValueManager.
GetSysParmValueInMedicalCenterId(patientRegister.MedicalCenterId,
"summary_check_default_suggestion_header");
if (!msg.Any())
{
msg.Add(new SumSuggestionDto()
{
SuggestionTitle = summaryCheckDefaultSuggestionHeader,
SuggestionFlag = null,
DisplayOrder = 0,
DiagnosisIds = null,
});
}
}
return msg;

2
src/Shentun.Peis.Application/SumSummaryHeaders/SumSummaryHeaderAppService.cs

@ -70,7 +70,7 @@ namespace Shentun.Peis.SumSummaryHeaders
.Include(x => x.SumSummaryContents)
.Where(m => m.PatientRegisterId == input.PatientRegisterId).OrderBy(o => o.DisplayOrder).ToList();
if (patientRegister.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected || input.IsGetExistData == "Y")
if (patientRegister.CompleteFlag == PatientRegisterCompleteFlag.SumCheck || input.IsGetExistData == "Y")
{
//已总检取综述中的值
msg = entlist.Select(s => new SumSummaryHeaderOrContentDto

4
src/Shentun.Peis.Domain.Shared/Enums/PatientRegisterCompleteFlag.cs

@ -21,11 +21,11 @@ namespace Shentun.Peis.Enums
/// 部分已检 2
/// </summary>
[Description("部分已检")]
public const char PartInspected = '2';
public const char PartCheck = '2';
/// <summary>
/// 已总检 3
/// </summary>
[Description("已总检")]
public const char GeneralInspected = '3';
public const char SumCheck = '3';
}
}

2
src/Shentun.Peis.Domain/PatientRegisters/PatientRegisterManager.cs

@ -1403,7 +1403,7 @@ namespace Shentun.Peis.PatientRegisters
else
entity.SummaryDate = entitydto.SummaryDate;
entity.CompleteFlag = PatientRegisterCompleteFlag.GeneralInspected;
entity.CompleteFlag = PatientRegisterCompleteFlag.SumCheck;
return await _repository.UpdateAsync(entity);
}

6
src/Shentun.Peis.Domain/RegisterCheckAsbitems/RegisterCheckAsbitemManager.cs

@ -355,7 +355,7 @@ namespace Shentun.Peis.RegisterAsbitems
{
throw new UserFriendlyException("patientRegister不能为空");
}
if (patientRegister.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected)
if (patientRegister.CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
{
throw new UserFriendlyException("已总检不允许修改");
}
@ -800,7 +800,7 @@ namespace Shentun.Peis.RegisterAsbitems
}
var patientRegister = await _patientRegisterRepository.GetAsync(patientRegisterIds[0]);
if (patientRegister.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected)
if (patientRegister.CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
{
throw new UserFriendlyException("已总检不能合并");
}
@ -985,7 +985,7 @@ namespace Shentun.Peis.RegisterAsbitems
throw new UserFriendlyException("所传项目属于不同的人员ID");
}
var patientRegister = await _patientRegisterRepository.GetAsync(patientRegisterIds[0]);
if (patientRegister.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected)
if (patientRegister.CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
{
throw new UserFriendlyException("已总检不能取消合并");
}

2
src/Shentun.Peis.Domain/RegisterChecks/RegisterCheckManager.cs

@ -148,7 +148,7 @@ namespace Shentun.Peis.RegisterChecks
{
throw new UserFriendlyException("请求参数有误");
}
if (patientRegister.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected)
if (patientRegister.CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
{
throw new UserFriendlyException("已总检不允许修改");
}

20
src/Shentun.Peis.Domain/ReportTemplates/CustomerOrgReportManager.cs

@ -1895,11 +1895,11 @@ namespace Shentun.Peis.ReportTemplates
#region 实检
int Checked_MaleNumber = queryList.Where(m => (m.CompleteFlag == PatientRegisterCompleteFlag.PartInspected || m.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected)
int Checked_MaleNumber = queryList.Where(m => (m.CompleteFlag == PatientRegisterCompleteFlag.PartCheck || m.CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
&& m.SexId == SexFlag.Male).Count();
int Checked_FemaleNumber = queryList.Where(m => (m.CompleteFlag == PatientRegisterCompleteFlag.PartInspected || m.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected)
int Checked_FemaleNumber = queryList.Where(m => (m.CompleteFlag == PatientRegisterCompleteFlag.PartCheck || m.CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
&& m.SexId == SexFlag.Female).Count();
int Checked_OtherNumber = queryList.Where(m => (m.CompleteFlag == PatientRegisterCompleteFlag.PartInspected || m.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected)
int Checked_OtherNumber = queryList.Where(m => (m.CompleteFlag == PatientRegisterCompleteFlag.PartCheck || m.CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
&& m.SexId == SexFlag.UnKnown).Count();
int Checked_TotalNumber = Checked_MaleNumber + Checked_FemaleNumber + Checked_OtherNumber;
string Checked_MaleRatio = Checked_TotalNumber != 0 ? Math.Round(Checked_MaleNumber * 100M / Checked_TotalNumber, 2).ToString() + "%" : "0%";
@ -1927,11 +1927,11 @@ namespace Shentun.Peis.ReportTemplates
#region 未检
int UnChecked_MaleNumber = queryList.Where(m => (m.CompleteFlag == PatientRegisterCompleteFlag.PartInspected || m.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected)
int UnChecked_MaleNumber = queryList.Where(m => (m.CompleteFlag == PatientRegisterCompleteFlag.PartCheck || m.CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
&& m.SexId == SexFlag.Male).Count();
int UnChecked_FemaleNumber = queryList.Where(m => (m.CompleteFlag == PatientRegisterCompleteFlag.PartInspected || m.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected)
int UnChecked_FemaleNumber = queryList.Where(m => (m.CompleteFlag == PatientRegisterCompleteFlag.PartCheck || m.CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
&& m.SexId == SexFlag.Female).Count();
int UnChecked_OtherNumber = queryList.Where(m => (m.CompleteFlag == PatientRegisterCompleteFlag.PartInspected || m.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected)
int UnChecked_OtherNumber = queryList.Where(m => (m.CompleteFlag == PatientRegisterCompleteFlag.PartCheck || m.CompleteFlag == PatientRegisterCompleteFlag.SumCheck)
&& m.SexId == SexFlag.UnKnown).Count();
int UnChecked_TotalNumber = UnChecked_MaleNumber + UnChecked_FemaleNumber + UnChecked_OtherNumber;
string UnChecked_MaleRatio = UnChecked_TotalNumber != 0 ? Math.Round(UnChecked_MaleNumber * 100M / UnChecked_TotalNumber, 2).ToString() + "%" : "0%";
@ -2054,7 +2054,7 @@ namespace Shentun.Peis.ReportTemplates
join b in (await _sumSummaryHeaderRepository.GetQueryableAsync()).Include(x => x.SumSummaryContents) on a.Id equals b.PatientRegisterId
join c in await _sexRepository.GetQueryableAsync() on a.SexId equals c.Id into cc
from ac in cc.DefaultIfEmpty()
where a.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected
where a.CompleteFlag == PatientRegisterCompleteFlag.SumCheck
select new
{
CustomerOrgGroupId = a.CustomerOrgGroupId,
@ -2125,7 +2125,7 @@ namespace Shentun.Peis.ReportTemplates
#region 查询
var query = from a in (await _sumDiagnosisRepository.GetQueryableAsync()).Include(x => x.Diagnosis)
join b in await _patientRegisterRepository.GetQueryableAsync() on a.PatientRegisterId equals b.Id
where b.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected
where b.CompleteFlag == PatientRegisterCompleteFlag.SumCheck
select new
{
CustomerOrgGroupId = b.CustomerOrgGroupId,
@ -2203,7 +2203,7 @@ namespace Shentun.Peis.ReportTemplates
join b in await _patientRegisterRepository.GetQueryableAsync() on a.PatientRegisterId equals b.Id
join c in (await _sumSuggestionHeaderRepository.GetQueryableAsync()).Include(x => x.SumSuggestionContents) on a.SumSuggestionHeaderId equals c.Id into cc
from ac in cc.DefaultIfEmpty()
where b.CompleteFlag == PatientRegisterCompleteFlag.GeneralInspected
where b.CompleteFlag == PatientRegisterCompleteFlag.SumCheck
select new
{
CustomerOrgGroupId = b.CustomerOrgGroupId,
@ -2271,7 +2271,7 @@ namespace Shentun.Peis.ReportTemplates
join b in await _customerOrgRepository.GetQueryableAsync() on a.CustomerOrgId equals b.Id
join c in await _sexRepository.GetQueryableAsync() on a.SexId equals c.Id into cc
from ac in cc.DefaultIfEmpty()
where a.CompleteFlag != PatientRegisterCompleteFlag.GeneralInspected
where a.CompleteFlag != PatientRegisterCompleteFlag.SumCheck
select new
{
CustomerOrgGroupId = a.CustomerOrgGroupId,

Loading…
Cancel
Save