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> /// </summary>
public char IsComplete { get; set; } 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.CustomerOrgs;
using Shentun.Peis.HelperDto; using Shentun.Peis.HelperDto;
using Shentun.Peis.Models; using Shentun.Peis.Models;
using Shentun.Peis.OcCheckTypes;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -112,6 +113,7 @@ namespace Shentun.Peis.CustomerOrgRegisters
MedicalTimes = s.MedicalTimes, MedicalTimes = s.MedicalTimes,
IsComplete = s.IsComplete, IsComplete = s.IsComplete,
CustomerOrgId = s.CustomerOrgId, CustomerOrgId = s.CustomerOrgId,
IsQuestion = s.IsQuestion,
CreatorName = _cacheService.GetSurnameAsync(s.CreatorId).GetAwaiter().GetResult(), CreatorName = _cacheService.GetSurnameAsync(s.CreatorId).GetAwaiter().GetResult(),
LastModifierName = _cacheService.GetSurnameAsync(s.LastModifierId).GetAwaiter().GetResult() LastModifierName = _cacheService.GetSurnameAsync(s.LastModifierId).GetAwaiter().GetResult()
}).OrderBy(m => m.CreationTime).ToList(); }).OrderBy(m => m.CreationTime).ToList();
@ -208,7 +210,7 @@ namespace Shentun.Peis.CustomerOrgRegisters
#endregion #endregion
var entlist = (await Repository.GetQueryableAsync()).Where(m => m.CustomerOrgId == CustomerOrgId).ToList(); var entlist = (await Repository.GetQueryableAsync()).Where(m => m.CustomerOrgId == CustomerOrgId).ToList();
@ -267,5 +269,23 @@ namespace Shentun.Peis.CustomerOrgRegisters
return entdto; 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)] [MaxLength(1)]
public char IsComplete { get; set; } public char IsComplete { get; set; }
/// <summary>
/// 是否需要填写问卷才能看报告
/// </summary>
[Column("is_question")]
[MaxLength(1)]
public char IsQuestion { get; set; }
[Column("concurrency_stamp")] [Column("concurrency_stamp")]
public string ConcurrencyStamp { get; set; } public string ConcurrencyStamp { get; set; }

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

@ -72,17 +72,18 @@ namespace Shentun.Peis.CustomerOrgRegisters
IsComplete = 'N', IsComplete = 'N',
MedicalTimes = (short)MedicalTimes, MedicalTimes = (short)MedicalTimes,
RegisterName = "", RegisterName = "",
RegisterNo = ""
RegisterNo = "",
IsQuestion = 'N'
}; };
return entity; return entity;
} }
/// <summary> /// <summary>
/// 更新状态 /// 更新状态
/// </summary> /// </summary>
@ -104,6 +105,22 @@ namespace Shentun.Peis.CustomerOrgRegisters
return await _repository.UpdateAsync(entity); 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> /// <summary>
/// 根据单位ID或者最大次数的记录 /// 根据单位ID或者最大次数的记录
/// </summary> /// </summary>
@ -128,12 +145,12 @@ namespace Shentun.Peis.CustomerOrgRegisters
public async Task CheckAndDeleteAsync(Guid id) public async Task CheckAndDeleteAsync(Guid id)
{ {
var customerOrgRegisterEnt = await _repository.FirstOrDefaultAsync(m => m.Id == id); var customerOrgRegisterEnt = await _repository.FirstOrDefaultAsync(m => m.Id == id);
if (customerOrgRegisterEnt != null) if (customerOrgRegisterEnt != null)
{ {
var patientRegisterEntity =await _patientRegisterRepository.FirstOrDefaultAsync(m => m.CustomerOrgRegisterId == id);
var patientRegisterEntity = await _patientRegisterRepository.FirstOrDefaultAsync(m => m.CustomerOrgRegisterId == id);
if (patientRegisterEntity != null) if (patientRegisterEntity != null)
{ {
throw new UserFriendlyException($"单位体检次数\"{customerOrgRegisterEnt.MedicalTimes}\"已被{patientRegisterEntity.PatientName}登记使用,不能删除"); throw new UserFriendlyException($"单位体检次数\"{customerOrgRegisterEnt.MedicalTimes}\"已被{patientRegisterEntity.PatientName}登记使用,不能删除");
@ -144,7 +161,7 @@ namespace Shentun.Peis.CustomerOrgRegisters
throw new UserFriendlyException($"单位体检次数\"{customerOrgRegisterEnt.MedicalTimes}\"已完成,不能删除"); throw new UserFriendlyException($"单位体检次数\"{customerOrgRegisterEnt.MedicalTimes}\"已完成,不能删除");
} }
var customerOrgGroups = await _customerOrgGroupRepository.GetListAsync(m => m.CustomerOrgRegisterId == id); var customerOrgGroups = await _customerOrgGroupRepository.GetListAsync(m => m.CustomerOrgRegisterId == id);
if (customerOrgGroups.Any()) 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.IsComplete).HasComment("完成标志").IsRequired();
entity.Property(e => e.IsQuestion).HasComment("是否需要填写问卷才能看报告").IsRequired().HasDefaultValueSql("'N'");
//entity.Property(e => e.LastModificationTime) //entity.Property(e => e.LastModificationTime)
// .HasDefaultValueSql("(date(timezone('UTC-8'::text, now())) - 1)") // .HasDefaultValueSql("(date(timezone('UTC-8'::text, now())) - 1)")
// .HasComment("最后修改日期"); // .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") .HasColumnName("is_complete")
.HasComment("完成标志"); .HasComment("完成标志");
b.Property<char>("IsQuestion")
.ValueGeneratedOnAdd()
.HasMaxLength(1)
.HasColumnType("character(1)")
.HasColumnName("is_question")
.HasDefaultValueSql("'N'")
.HasComment("是否需要填写问卷才能看报告");
b.Property<DateTime?>("LastModificationTime") b.Property<DateTime?>("LastModificationTime")
.IsRequired() .IsRequired()
.HasColumnType("timestamp without time zone") .HasColumnType("timestamp without time zone")

Loading…
Cancel
Save