优化文档下载
This commit is contained in:
+13
-2
@@ -376,8 +376,19 @@ public class OnboardingContractDocumentService : IOnboardingContractDocumentServ
|
|||||||
item => item.VariableValue ?? string.Empty,
|
item => item.VariableValue ?? string.Empty,
|
||||||
StringComparer.OrdinalIgnoreCase));
|
StringComparer.OrdinalIgnoreCase));
|
||||||
var generatedAt = DateTime.Now;
|
var generatedAt = DateTime.Now;
|
||||||
// 在文件名中加入生成批次,避免手机系统把同名的新合同误认为历史下载文件。
|
var employeeInfo = await _db.Queryable<ObTaskEmployeeInfo>()
|
||||||
var name = $"{task.TaskNo}_{contract.ContractName}_{generatedAt:yyyyMMddHHmmssfff}.docx";
|
.FirstAsync(item => item.TaskId == task.Id);
|
||||||
|
var employeeName = string.IsNullOrWhiteSpace(employeeInfo?.EmployeeName)
|
||||||
|
? "新员工"
|
||||||
|
: employeeInfo.EmployeeName.Trim();
|
||||||
|
var docType = string.IsNullOrWhiteSpace(contract.ContractType)
|
||||||
|
? (string.IsNullOrWhiteSpace(contract.ContractName) ? "签署材料" : contract.ContractName.Trim())
|
||||||
|
: contract.ContractType.Trim();
|
||||||
|
var invalidChars = global::System.IO.Path.GetInvalidFileNameChars();
|
||||||
|
var safeEmployeeName = new string(employeeName.Select(character => invalidChars.Contains(character) ? '_' : character).ToArray());
|
||||||
|
var safeDocType = new string(docType.Select(character => invalidChars.Contains(character) ? '_' : character).ToArray());
|
||||||
|
// 按照规范:编号_员工姓名_文档类型.docx
|
||||||
|
var name = $"{task.TaskNo}_{safeEmployeeName}_{safeDocType}.docx";
|
||||||
var fileId = await _fileService.StoreGeneratedFile(
|
var fileId = await _fileService.StoreGeneratedFile(
|
||||||
SysDictConst.FILE_ENGINE_ALIYUN_OSS,
|
SysDictConst.FILE_ENGINE_ALIYUN_OSS,
|
||||||
name,
|
name,
|
||||||
|
|||||||
Reference in New Issue
Block a user