Browse Source

单位次数新增需要填写问卷控制报告

master
wxd 8 months ago
parent
commit
be7b553c81
  1. 5
      src/Shentun.Peis.Application.Contracts/CustomerOrgRegisters/CustomerOrgRegisterDto.cs
  2. 19
      src/Shentun.Peis.Application.Contracts/CustomerOrgRegisters/UpdateIsQuestionInputDto.cs
  3. 22
      src/Shentun.Peis.Application/CustomerOrgRegisters/CustomerOrgRegisterAppService.cs
  4. 8
      src/Shentun.Peis.Domain/CustomerOrgRegisters/CustomerOrgRegister.cs
  5. 31
      src/Shentun.Peis.Domain/CustomerOrgRegisters/CustomerOrgRegisterManager.cs
  6. 2
      src/Shentun.Peis.EntityFrameworkCore/DbMapping/CustomerOrgRegisters/CustomerOrgRegisterDbMapping.cs
  7. 16276
      src/Shentun.Peis.EntityFrameworkCore/Migrations/20250226072402_update_customer_org_register_add_is_question.Designer.cs
  8. 28
      src/Shentun.Peis.EntityFrameworkCore/Migrations/20250226072402_update_customer_org_register_add_is_question.cs
  9. 8
      src/Shentun.Peis.EntityFrameworkCore/Migrations/PeisDbContextModelSnapshot.cs

5
src/Shentun.Peis.Application.Contracts/CustomerOrgRegisters/CustomerOrgRegisterDto.cs

@ -51,7 +51,10 @@ namespace Shentun.Peis.CustomerOrgRegisters
/// </summary>
public char IsComplete { get; set; }
/// <summary>
/// 是否需要填写问卷才能看报告
/// </summary>
public char IsQuestion { get; set; }
}

19
src/Shentun.Peis.Application.Contracts/CustomerOrgRegisters/UpdateIsQuestionInputDto.cs

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.Peis.CustomerOrgRegisters
{
public class UpdateIsQuestionInputDto
{
/// <summary>
/// 单位次数Id
/// </summary>
public Guid CustomerOrgRegisterId { get; set; }
/// <summary>
/// 是否要填写问卷 Y N
/// </summary>
public char IsQuestion { get; set; } = 'N';
}
}

22
src/Shentun.Peis.Application/CustomerOrgRegisters/CustomerOrgRegisterAppService.cs

@ -6,6 +6,7 @@ using Shentun.Peis.CustomerOrgRegisters;
using Shentun.Peis.CustomerOrgs;
using Shentun.Peis.HelperDto;
using Shentun.Peis.Models;
using Shentun.Peis.OcCheckTypes;
using System;
using System.Collections.Generic;
using System.Linq;
@ -112,6 +113,7 @@ namespace Shentun.Peis.CustomerOrgRegisters
MedicalTimes = s.MedicalTimes,
IsComplete = s.IsComplete,
CustomerOrgId = s.CustomerOrgId,
IsQuestion = s.IsQuestion,
CreatorName = _cacheService.GetSurnameAsync(s.CreatorId).GetAwaiter().GetResult(),
LastModifierName = _cacheService.GetSurnameAsync(s.LastModifierId).GetAwaiter().GetResult()
}).OrderBy(m => m.CreationTime).ToList();
@ -208,7 +210,7 @@ namespace Shentun.Peis.CustomerOrgRegisters
#endregion
var entlist = (await Repository.GetQueryableAsync()).Where(m => m.CustomerOrgId == CustomerOrgId).ToList();
@ -267,5 +269,23 @@ namespace Shentun.Peis.CustomerOrgRegisters
return entdto;
}
/// <summary>
/// 更新单位次数是否要填写问卷才能看报告
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/CustomerOrgRegister/UpdateIsQuestion")]
public async Task<CustomerOrgRegisterDto> UpdateIsQuestionAsync(UpdateIsQuestionInputDto input)
{
var entity = await _manager.UpdateIsQuestionAsync(input.CustomerOrgRegisterId, input.IsQuestion);
entity = await Repository.UpdateAsync(entity);
var dto = ObjectMapper.Map<CustomerOrgRegister, CustomerOrgRegisterDto>(entity);
dto.CreatorName = await _cacheService.GetSurnameAsync(dto.CreatorId);
dto.LastModifierName = await _cacheService.GetSurnameAsync(dto.LastModifierId);
return dto;
}
}
}

8
src/Shentun.Peis.Domain/CustomerOrgRegisters/CustomerOrgRegister.cs

@ -71,6 +71,14 @@ namespace Shentun.Peis.Models
[MaxLength(1)]
public char IsComplete { get; set; }
/// <summary>
/// 是否需要填写问卷才能看报告
/// </summary>
[Column("is_question")]
[MaxLength(1)]
public char IsQuestion { get; set; }
[Column("concurrency_stamp")]
public string ConcurrencyStamp { get; set; }

31
src/Shentun.Peis.Domain/CustomerOrgRegisters/CustomerOrgRegisterManager.cs

@ -72,17 +72,18 @@ namespace Shentun.Peis.CustomerOrgRegisters
IsComplete = 'N',
MedicalTimes = (short)MedicalTimes,
RegisterName = "",
RegisterNo = ""
RegisterNo = "",
IsQuestion = 'N'
};
return entity;
}
/// <summary>
/// 更新状态
/// </summary>
@ -104,6 +105,22 @@ namespace Shentun.Peis.CustomerOrgRegisters
return await _repository.UpdateAsync(entity);
}
/// <summary>
/// 更新是否要填写问卷
/// </summary>
/// <param name="Id"></param>
/// <param name="IsComplete"></param>
/// <returns></returns>
public async Task<CustomerOrgRegister> UpdateIsQuestionAsync(Guid id, char IsQuestion)
{
var entity = await _repository.GetAsync(id);
if (IsQuestion != 'Y' && IsQuestion != 'N')
throw new UserFriendlyException("参数IsQuestion只能为Y、N");
entity.IsQuestion = IsQuestion;
return entity;
}
/// <summary>
/// 根据单位ID或者最大次数的记录
/// </summary>
@ -128,12 +145,12 @@ namespace Shentun.Peis.CustomerOrgRegisters
public async Task CheckAndDeleteAsync(Guid id)
{
var customerOrgRegisterEnt = await _repository.FirstOrDefaultAsync(m => m.Id == id);
if (customerOrgRegisterEnt != null)
{
var patientRegisterEntity =await _patientRegisterRepository.FirstOrDefaultAsync(m => m.CustomerOrgRegisterId == id);
var patientRegisterEntity = await _patientRegisterRepository.FirstOrDefaultAsync(m => m.CustomerOrgRegisterId == id);
if (patientRegisterEntity != null)
{
throw new UserFriendlyException($"单位体检次数\"{customerOrgRegisterEnt.MedicalTimes}\"已被{patientRegisterEntity.PatientName}登记使用,不能删除");
@ -144,7 +161,7 @@ namespace Shentun.Peis.CustomerOrgRegisters
throw new UserFriendlyException($"单位体检次数\"{customerOrgRegisterEnt.MedicalTimes}\"已完成,不能删除");
}
var customerOrgGroups = await _customerOrgGroupRepository.GetListAsync(m => m.CustomerOrgRegisterId == id);
if (customerOrgGroups.Any())

2
src/Shentun.Peis.EntityFrameworkCore/DbMapping/CustomerOrgRegisters/CustomerOrgRegisterDbMapping.cs

@ -37,6 +37,8 @@ namespace Shentun.Peis.DbMapping
entity.Property(e => e.IsComplete).HasComment("完成标志").IsRequired();
entity.Property(e => e.IsQuestion).HasComment("是否需要填写问卷才能看报告").IsRequired().HasDefaultValueSql("'N'");
//entity.Property(e => e.LastModificationTime)
// .HasDefaultValueSql("(date(timezone('UTC-8'::text, now())) - 1)")
// .HasComment("最后修改日期");

16276
src/Shentun.Peis.EntityFrameworkCore/Migrations/20250226072402_update_customer_org_register_add_is_question.Designer.cs
File diff suppressed because it is too large
View File

28
src/Shentun.Peis.EntityFrameworkCore/Migrations/20250226072402_update_customer_org_register_add_is_question.cs

@ -0,0 +1,28 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Shentun.Peis.Migrations
{
public partial class update_customer_org_register_add_is_question : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<char>(
name: "is_question",
table: "customer_org_register",
type: "character(1)",
maxLength: 1,
nullable: false,
defaultValueSql: "'N'",
comment: "是否需要填写问卷才能看报告");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "is_question",
table: "customer_org_register");
}
}
}

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

@ -3327,6 +3327,14 @@ namespace Shentun.Peis.Migrations
.HasColumnName("is_complete")
.HasComment("完成标志");
b.Property<char>("IsQuestion")
.ValueGeneratedOnAdd()
.HasMaxLength(1)
.HasColumnType("character(1)")
.HasColumnName("is_question")
.HasDefaultValueSql("'N'")
.HasComment("是否需要填写问卷才能看报告");
b.Property<DateTime?>("LastModificationTime")
.IsRequired()
.HasColumnType("timestamp without time zone")

Loading…
Cancel
Save