新增公司盖章与骑缝章配置
This commit is contained in:
+22
@@ -55,6 +55,12 @@ public class OnboardingContractVersionAddInput
|
||||
/// </summary>
|
||||
public DateTime? ExpiryDate { get; set; }
|
||||
|
||||
/// <summary>本版本是否需要公司盖章;旧客户端未传时沿用原规则。</summary>
|
||||
public bool? CompanySealEnabled { get; set; }
|
||||
|
||||
/// <summary>本版本是否需要骑缝章;旧客户端未传时沿用系统配置。</summary>
|
||||
public bool? AcrossPageSealEnabled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 业务备注。
|
||||
/// </summary>
|
||||
@@ -78,3 +84,19 @@ public class OnboardingContractVersionStatusInput
|
||||
[global::System.ComponentModel.DataAnnotations.Required(ErrorMessage = "版本状态不能为空")]
|
||||
public string VersionStatus { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改合同模板版本的盖章配置;未传的开关保持不变。
|
||||
/// </summary>
|
||||
public class OnboardingContractVersionSealInput
|
||||
{
|
||||
/// <summary>合同版本 Id。</summary>
|
||||
[IdNotNull(ErrorMessage = "版本Id不能为空")]
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>是否需要公司盖章。</summary>
|
||||
public bool? CompanySealEnabled { get; set; }
|
||||
|
||||
/// <summary>是否需要骑缝章。</summary>
|
||||
public bool? AcrossPageSealEnabled { get; set; }
|
||||
}
|
||||
|
||||
+5
@@ -50,6 +50,11 @@ public interface IOnboardingContractTemplateService : ITransient
|
||||
/// </summary>
|
||||
Task SetVersionStatus(OnboardingContractVersionStatusInput input);
|
||||
|
||||
/// <summary>
|
||||
/// 修改合同模板版本的盖章配置,仅影响后续新建任务。
|
||||
/// </summary>
|
||||
Task SetVersionSeals(OnboardingContractVersionSealInput input);
|
||||
|
||||
/// <summary>
|
||||
/// 删除未被入职模板或任务使用的合同版本。
|
||||
/// </summary>
|
||||
|
||||
+26
-2
@@ -272,11 +272,21 @@ public class OnboardingContractTemplateService : DbRepository<ObContractTemplate
|
||||
/// </summary>
|
||||
public async Task<SqlSugarPagedList<ObContractTemplateVersion>> VersionPage(OnboardingContractVersionPageInput input)
|
||||
{
|
||||
return await Context.Queryable<ObContractTemplateVersion>()
|
||||
var page = await Context.Queryable<ObContractTemplateVersion>()
|
||||
.Where(it => it.TemplateId == input.TemplateId)
|
||||
.WhereIF(!string.IsNullOrWhiteSpace(input.VersionStatus), it => it.VersionStatus == input.VersionStatus)
|
||||
.OrderByDescending(it => it.CreateTime)
|
||||
.ToPagedListAsync(input.PageNum, input.PageSize);
|
||||
|
||||
// 仅解析返回值,不回写历史空值,使列表开关显示真实生效的规则。
|
||||
var setting = App.GetConfig<QiyuesuoSettingOptions>("QiyuesuoSetting", true)
|
||||
?? new QiyuesuoSettingOptions();
|
||||
foreach (var version in page.List)
|
||||
{
|
||||
version.CompanySealEnabled = QiyuesuoContractRequestBuilder.CompanySealEnabled(version.CompanySealEnabled);
|
||||
version.AcrossPageSealEnabled = QiyuesuoContractRequestBuilder.AcrossPageSealEnabled(version.AcrossPageSealEnabled, setting);
|
||||
}
|
||||
return page;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -395,7 +405,21 @@ public class OnboardingContractTemplateService : DbRepository<ObContractTemplate
|
||||
}
|
||||
|
||||
version.VersionStatus = input.VersionStatus;
|
||||
await Context.Updateable(version).ExecuteCommandAsync();
|
||||
await Context.Updateable(version)
|
||||
.UpdateColumns(item => new { item.VersionStatus, item.UpdateTime, item.UpdateUserId, item.UpdateUser })
|
||||
.ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改版本盖章开关;任务和电子签约已经保存独立快照,不随版本变更。
|
||||
/// </summary>
|
||||
public async Task SetVersionSeals(OnboardingContractVersionSealInput input)
|
||||
{
|
||||
var version = await Context.Queryable<ObContractTemplateVersion>().InSingleAsync(input.Id)
|
||||
?? throw Oops.Bah("模板版本不存在");
|
||||
await EnsureTemplateCanManage(version.TemplateId);
|
||||
|
||||
await ContractTemplateVersionSealConfiguration.BuildUpdate(Context, input).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user