修复入职权限问题
This commit is contained in:
+22
-1
@@ -306,6 +306,27 @@ public class OnboardingContractDocumentService : IOnboardingContractDocumentServ
|
||||
task.CreateUserId,
|
||||
OnboardingPermissionCodes.TaskManageAll,
|
||||
"入职任务");
|
||||
|
||||
return await GenerateCore(contract, task);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<long> GenerateForPublicAccess(long taskContractId, long taskId)
|
||||
{
|
||||
var contract = await _db.Queryable<ObTaskContract>()
|
||||
.FirstAsync(item => item.Id == taskContractId && item.TaskId == taskId)
|
||||
?? throw Oops.Bah("合同不存在");
|
||||
var task = await _db.Queryable<ObOnboardingTask>().InSingleAsync(taskId)
|
||||
?? throw Oops.Bah("入职任务不存在");
|
||||
|
||||
return await GenerateCore(contract, task);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 执行已经完成调用方权限或公开链接归属校验的合同生成逻辑。
|
||||
/// </summary>
|
||||
private async Task<long> GenerateCore(ObTaskContract contract, ObOnboardingTask task)
|
||||
{
|
||||
var statusAllowsGeneration = task.TaskStatus == OnboardingTaskStatus.PendingFill
|
||||
|| task.TaskStatus == OnboardingTaskStatus.Rejected
|
||||
|| task.TaskStatus == OnboardingTaskStatus.Reviewing
|
||||
@@ -340,7 +361,7 @@ public class OnboardingContractDocumentService : IOnboardingContractDocumentServ
|
||||
.FirstOrDefault(definition => string.IsNullOrWhiteSpace(
|
||||
variables.FirstOrDefault(variable => variable.VariableCode == definition.VariableCode)?.VariableValue));
|
||||
if (missing != null)
|
||||
throw Oops.Bah($"合同变量“{missing.VariableName}”尚未填写,暂时不能预览合同");
|
||||
throw Oops.Bah($"合同“{contract.ContractName}”的变量“{missing.VariableName}”尚未填写,暂时不能预览合同");
|
||||
|
||||
var sourceResult = await _fileService.Download(new BaseIdInput { Id = source.Id })
|
||||
?? throw Oops.Bah("无法读取合同源文件");
|
||||
|
||||
Reference in New Issue
Block a user