From ae5e79a3142a96d685b778323e594d94b3bc3f9c Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 22 Sep 2022 11:55:14 +0800 Subject: [PATCH] =?UTF-8?q?bug=20=20=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/InspectionController.cs | 2 ++ .../Document/DTO/SystemDocumentViewModel.cs | 2 ++ .../Service/Document/TrialDocumentService.cs | 32 ++++++++++++++----- .../Document/SystemDocConfirmedUser.cs | 2 +- .../Document/TrialDocUserTypeConfirmedUser.cs | 2 +- IRaCIS.Core.Domain/SQLFile/Sql脚本.sql | 6 ++-- 6 files changed, 32 insertions(+), 14 deletions(-) diff --git a/IRaCIS.Core.API/Controllers/InspectionController.cs b/IRaCIS.Core.API/Controllers/InspectionController.cs index 42e5b9458..6e4684bbd 100644 --- a/IRaCIS.Core.API/Controllers/InspectionController.cs +++ b/IRaCIS.Core.API/Controllers/InspectionController.cs @@ -408,6 +408,8 @@ namespace IRaCIS.Core.API.Controllers public async Task UserConfirm(DataInspectionDto opt) { var singid = await _inspectionService.RecordSing(opt.SignInfo); + + opt.Data.SignText = opt.SignInfo.SignText; var result = await _trialDocumentService.UserConfirm(opt.Data); await _inspectionService.CompletedSign(singid, result); return result; diff --git a/IRaCIS.Core.Application/Service/Document/DTO/SystemDocumentViewModel.cs b/IRaCIS.Core.Application/Service/Document/DTO/SystemDocumentViewModel.cs index 3735a6292..44e240bcc 100644 --- a/IRaCIS.Core.Application/Service/Document/DTO/SystemDocumentViewModel.cs +++ b/IRaCIS.Core.Application/Service/Document/DTO/SystemDocumentViewModel.cs @@ -124,6 +124,8 @@ namespace IRaCIS.Core.Application.Contracts public bool isSystemDoc { get; set; } + + public string SignText { get; set; } = string.Empty; } public class DocumentTrialUnionQuery : TrialUserDocUnionQuery diff --git a/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs b/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs index 87c76b3b0..205972c99 100644 --- a/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs +++ b/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs @@ -543,35 +543,51 @@ namespace IRaCIS.Core.Application.Services if (userConfirmCommand.isSystemDoc) { - if (await _repository.AnyAsync(t => t.SystemDocumentId == userConfirmCommand.DocumentId && t.ConfirmUserId == _userInfo.Id && t.ConfirmTime != null)) + + var sysDocConfirm = await _systemDocConfirmedUserRepository.FirstOrDefaultAsync(t => t.SystemDocumentId == userConfirmCommand.DocumentId && t.ConfirmUserId == _userInfo.Id,true); + + if(sysDocConfirm.ConfirmTime != null) { return ResponseOutput.NotOk("该文件已经签名"); } - if (!await _systemDocumentRepository.AnyAsync(t => t.Id == userConfirmCommand.DocumentId) || await _systemDocumentRepository.AnyAsync(t => t.Id == userConfirmCommand.DocumentId && t.IsDeleted, true)) + + if (sysDocConfirm.IsDeleted) { return ResponseOutput.NotOk("文件已废除,签署失败!"); } - - await _systemDocConfirmedUserRepository.AddAsync(new SystemDocConfirmedUser() { ConfirmTime = DateTime.Now, ConfirmUserId = _userInfo.Id, IsDeleted = false, SystemDocumentId = userConfirmCommand.DocumentId }, true); + sysDocConfirm.ConfirmTime = DateTime.Now; + sysDocConfirm.SignText = userConfirmCommand.SignText; + + + + await _systemDocConfirmedUserRepository.SaveChangesAsync(); + + } else { - if (await _repository.AnyAsync(t => t.TrialDocumentId == userConfirmCommand.DocumentId && t.ConfirmUserId == _userInfo.Id && t.ConfirmTime !=null)) + + var trialDocConfirm = await _trialDocUserTypeConfirmedUserRepository.FirstOrDefaultAsync(t => t.TrialDocumentId == userConfirmCommand.DocumentId && t.ConfirmUserId == _userInfo.Id, true); + + if (trialDocConfirm.ConfirmTime != null) { return ResponseOutput.NotOk("该文件已经签名"); } - if (!await _trialDocumentRepository.AnyAsync(t => t.Id == userConfirmCommand.DocumentId) || await _trialDocumentRepository.AnyAsync(t => t.Id == userConfirmCommand.DocumentId && t.IsDeleted, true)) + if (trialDocConfirm.IsDeleted) { return ResponseOutput.NotOk("文件已废除,签署失败!"); } - await _trialDocUserTypeConfirmedUserRepository.AddAsync(new TrialDocUserTypeConfirmedUser() { ConfirmTime = DateTime.Now, ConfirmUserId = _userInfo.Id, IsDeleted = false, TrialDocumentId = userConfirmCommand.DocumentId }, true); + trialDocConfirm.ConfirmTime = DateTime.Now; + trialDocConfirm.SignText = userConfirmCommand.SignText; + + await _trialDocUserTypeConfirmedUserRepository.SaveChangesAsync(); + } - await _repository.SaveChangesAsync(); return ResponseOutput.Ok(); } diff --git a/IRaCIS.Core.Domain/Document/SystemDocConfirmedUser.cs b/IRaCIS.Core.Domain/Document/SystemDocConfirmedUser.cs index 0a6e2a59b..69028e639 100644 --- a/IRaCIS.Core.Domain/Document/SystemDocConfirmedUser.cs +++ b/IRaCIS.Core.Domain/Document/SystemDocConfirmedUser.cs @@ -51,7 +51,7 @@ namespace IRaCIS.Core.Domain.Models /// /// 是否废除 /// - public bool? IsDeleted { get; set; } + public bool IsDeleted { get; set; } } diff --git a/IRaCIS.Core.Domain/Document/TrialDocUserTypeConfirmedUser.cs b/IRaCIS.Core.Domain/Document/TrialDocUserTypeConfirmedUser.cs index 691e682fe..e705143fb 100644 --- a/IRaCIS.Core.Domain/Document/TrialDocUserTypeConfirmedUser.cs +++ b/IRaCIS.Core.Domain/Document/TrialDocUserTypeConfirmedUser.cs @@ -54,7 +54,7 @@ namespace IRaCIS.Core.Domain.Models /// /// 是否废除 /// - public bool? IsDeleted { get; set; } + public bool IsDeleted { get; set; } } diff --git a/IRaCIS.Core.Domain/SQLFile/Sql脚本.sql b/IRaCIS.Core.Domain/SQLFile/Sql脚本.sql index 4e56b7216..949e824d2 100644 --- a/IRaCIS.Core.Domain/SQLFile/Sql脚本.sql +++ b/IRaCIS.Core.Domain/SQLFile/Sql脚本.sql @@ -36,11 +36,9 @@ update DataInspection set CreateUserRealName=(select LastName+' / '+FirstName update TrialDocUserTypeConfirmedUser set CreateUserId=ConfirmUserId,CreateTime=SignFirstViewTime - update SystemDocConfirmedUser set CreateUserId=ConfirmUserId,CreateTime=SignFirstViewTime - - update TrialDocUserTypeConfirmedUser set CreateUserId=ConfirmUserId,CreateTime=getdate() where SignFirstViewTime is null - update SystemDocConfirmedUser set CreateUserId=ConfirmUserId,CreateTime=getdate() where SignFirstViewTime is null +update TrialDocUserTypeConfirmedUser set IsDeleted=0 where IsDeleted is null +update SystemDocConfirmedUser set IsDeleted=0 where IsDeleted is null