工作台,增加我的已签署系统、项目文件
parent
cc8151caf8
commit
21cc610095
|
@ -101,6 +101,8 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
public string Name { get; set; } = string.Empty;
|
public string Name { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public bool IsSigned { get; set; }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,6 +115,21 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public string SortField { get; set; } = "";
|
public string SortField { get; set; } = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class TrialDocQuery : PageInput
|
||||||
|
{
|
||||||
|
public Guid? TrialId { get; set; }
|
||||||
|
|
||||||
|
public Guid? FileTypeId { get; set; }
|
||||||
|
|
||||||
|
public string TrialCode { get; set;} = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
public string Name { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public bool IsSigned { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public class TrialUserDocUnionQuery: PageInput
|
public class TrialUserDocUnionQuery: PageInput
|
||||||
{
|
{
|
||||||
[NotDefault]
|
[NotDefault]
|
||||||
|
|
|
@ -183,7 +183,9 @@ namespace IRaCIS.Core.Application.Services
|
||||||
UserTypeShortName = user.UserTypeRole.UserTypeShortName
|
UserTypeShortName = user.UserTypeRole.UserTypeShortName
|
||||||
};
|
};
|
||||||
|
|
||||||
return await query.Where(t=>t.ConfirmTime==null).ToPagedListAsync(querySystemDocument.PageIndex, querySystemDocument.PageSize, querySystemDocument.SortField, querySystemDocument.Asc);
|
return await query.WhereIf(querySystemDocument.IsSigned==true,t=>t.ConfirmTime!=null)
|
||||||
|
.WhereIf(querySystemDocument.IsSigned == false, t => t.ConfirmTime == null)
|
||||||
|
.ToPagedListAsync(querySystemDocument.PageIndex, querySystemDocument.PageSize, querySystemDocument.SortField, querySystemDocument.Asc);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -60,13 +60,57 @@ namespace IRaCIS.Core.Application.Services
|
||||||
var trialDocumentQueryable = _trialDocumentRepository.AsQueryable(true).Where(t => t.TrialId == queryTrialDocument.TrialId)
|
var trialDocumentQueryable = _trialDocumentRepository.AsQueryable(true).Where(t => t.TrialId == queryTrialDocument.TrialId)
|
||||||
.WhereIf(!string.IsNullOrEmpty(queryTrialDocument.Name), t => t.Name.Contains(queryTrialDocument.Name))
|
.WhereIf(!string.IsNullOrEmpty(queryTrialDocument.Name), t => t.Name.Contains(queryTrialDocument.Name))
|
||||||
.WhereIf(queryTrialDocument.FileTypeId != null, t => t.FileTypeId == queryTrialDocument.FileTypeId)
|
.WhereIf(queryTrialDocument.FileTypeId != null, t => t.FileTypeId == queryTrialDocument.FileTypeId)
|
||||||
.WhereIf(queryTrialDocument.IsDeleted != null, t => t.IsDeleted == queryTrialDocument.IsDeleted)
|
.WhereIf(queryTrialDocument.IsDeleted != null, t => t.IsDeleted == queryTrialDocument.IsDeleted)
|
||||||
.ProjectTo<TrialDocumentView>(_mapper.ConfigurationProvider, new { token = _userInfo.UserToken, isEn_Us = _userInfo.IsEn_Us });
|
.ProjectTo<TrialDocumentView>(_mapper.ConfigurationProvider, new { token = _userInfo.UserToken, isEn_Us = _userInfo.IsEn_Us });
|
||||||
|
|
||||||
return await trialDocumentQueryable.ToPagedListAsync(queryTrialDocument.PageIndex, queryTrialDocument.PageSize, queryTrialDocument.SortField, queryTrialDocument.Asc);
|
return await trialDocumentQueryable.ToPagedListAsync(queryTrialDocument.PageIndex, queryTrialDocument.PageSize, queryTrialDocument.SortField, queryTrialDocument.Asc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public async Task<PageOutput<UnionDocumentWithConfirmInfoView>> GetTrialSignDocumentList(TrialDocQuery querySystemDocument)
|
||||||
|
{
|
||||||
|
var trialDocQueryable = from trialDoc in _trialDocumentRepository.AsQueryable(true).Where(t => t.TrialId == querySystemDocument.TrialId)
|
||||||
|
.Where(t => t.NeedConfirmedUserTypeList.Any(t => t.NeedConfirmUserTypeId == _userInfo.UserTypeId))
|
||||||
|
.Where(t => t.IsDeleted == false || (t.IsDeleted == true && t.TrialDocConfirmedUserList.Any(t => t.ConfirmUserId == _userInfo.Id)))
|
||||||
|
|
||||||
|
join trialUser in _repository.Where<TrialUser>(t => t.TrialId == querySystemDocument.TrialId && t.UserId == _userInfo.Id) on trialDoc.TrialId equals trialUser.TrialId
|
||||||
|
join confirm in _repository.Where<TrialDocConfirmedUser>(t => t.TrialDocument.TrialId == querySystemDocument.TrialId) on
|
||||||
|
new { trialUser.UserId, TrialDocumentId = trialDoc.Id } equals new { UserId = confirm.ConfirmUserId, confirm.TrialDocumentId } into cc
|
||||||
|
from confirm in cc.DefaultIfEmpty()
|
||||||
|
select new UnionDocumentWithConfirmInfoView()
|
||||||
|
{
|
||||||
|
Id = trialDoc.Id,
|
||||||
|
IsSystemDoc = false,
|
||||||
|
CreateTime = trialDoc.CreateTime,
|
||||||
|
FullFilePath = trialDoc.Path,
|
||||||
|
IsDeleted = trialDoc.IsDeleted,
|
||||||
|
Name = trialDoc.Name,
|
||||||
|
Path = trialDoc.Path,
|
||||||
|
FileTypeId = trialDoc.FileTypeId,
|
||||||
|
FileType = _userInfo.IsEn_Us ? trialDoc.FileType.Value : trialDoc.FileType.ValueCN,
|
||||||
|
UpdateTime = trialDoc.UpdateTime,
|
||||||
|
SignViewMinimumMinutes = trialDoc.SignViewMinimumMinutes,
|
||||||
|
|
||||||
|
//IsConfirmed = confirm.ConfirmTime != null,
|
||||||
|
ConfirmUserId = confirm.ConfirmUserId,
|
||||||
|
ConfirmTime = confirm.ConfirmTime,
|
||||||
|
RealName = trialUser.User.FullName,
|
||||||
|
UserName = trialUser.User.UserName,
|
||||||
|
UserTypeId = trialUser.User.UserTypeId,
|
||||||
|
UserTypeShortName = trialUser.User.UserTypeRole.UserTypeShortName
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
trialDocQueryable = trialDocQueryable.WhereIf(!string.IsNullOrEmpty(querySystemDocument.Name), t => t.Name.Contains(querySystemDocument.Name))
|
||||||
|
.WhereIf(querySystemDocument.FileTypeId != null, t => t.FileTypeId == querySystemDocument.FileTypeId)
|
||||||
|
.WhereIf(querySystemDocument.IsSigned == true, t => t.ConfirmTime != null)
|
||||||
|
.WhereIf(querySystemDocument.IsSigned == false, t => t.ConfirmTime == null);
|
||||||
|
|
||||||
|
|
||||||
|
return await trialDocQueryable.ToPagedListAsync(querySystemDocument.PageIndex, querySystemDocument.PageSize, querySystemDocument.SortField, querySystemDocument.Asc);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取下一个未签名的文件
|
/// 获取下一个未签名的文件
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -166,7 +210,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
|
|
||||||
var trialId = querySystemDocument.TrialId;
|
var trialId = querySystemDocument.TrialId;
|
||||||
|
|
||||||
var trialInfo = await (_repository.Where<Trial>(t => t.Id == querySystemDocument.TrialId,ignoreQueryFilters:true).Select(t => new { t.TrialFinishedTime, t.TrialStatusStr }).FirstNotNullAsync());
|
var trialInfo = await (_repository.Where<Trial>(t => t.Id == querySystemDocument.TrialId, ignoreQueryFilters: true).Select(t => new { t.TrialFinishedTime, t.TrialStatusStr }).FirstNotNullAsync());
|
||||||
|
|
||||||
//系统文档查询
|
//系统文档查询
|
||||||
var systemDocumentQueryable = from needConfirmedUserType in _repository.Where<SystemDocNeedConfirmedUserType>(t => t.NeedConfirmUserTypeId == _userInfo.UserTypeId)
|
var systemDocumentQueryable = from needConfirmedUserType in _repository.Where<SystemDocNeedConfirmedUserType>(t => t.NeedConfirmUserTypeId == _userInfo.UserTypeId)
|
||||||
|
@ -366,7 +410,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ConfirmUserId = confirm.ConfirmUserId,
|
ConfirmUserId = confirm.ConfirmUserId,
|
||||||
ConfirmTime = confirm.ConfirmTime,
|
ConfirmTime = confirm.ConfirmTime,
|
||||||
RealName = trialUser.User.FullName,
|
RealName = trialUser.User.FullName,
|
||||||
UserName = trialUser.User.UserName,
|
UserName = trialUser.User.UserName,
|
||||||
|
@ -398,9 +442,9 @@ namespace IRaCIS.Core.Application.Services
|
||||||
FileType = _userInfo.IsEn_Us ? needConfirmEdUserType.SystemDocument.FileType.Value : needConfirmEdUserType.SystemDocument.FileType.ValueCN,
|
FileType = _userInfo.IsEn_Us ? needConfirmEdUserType.SystemDocument.FileType.Value : needConfirmEdUserType.SystemDocument.FileType.ValueCN,
|
||||||
FileTypeId = needConfirmEdUserType.SystemDocument.FileTypeId,
|
FileTypeId = needConfirmEdUserType.SystemDocument.FileTypeId,
|
||||||
UpdateTime = needConfirmEdUserType.SystemDocument.UpdateTime,
|
UpdateTime = needConfirmEdUserType.SystemDocument.UpdateTime,
|
||||||
//IsConfirmed = confirm.ConfirmTime != null,
|
//IsConfirmed = confirm.ConfirmTime != null,
|
||||||
|
|
||||||
ConfirmUserId = confirm.ConfirmUserId,
|
ConfirmUserId = confirm.ConfirmUserId,
|
||||||
ConfirmTime = confirm.ConfirmTime,
|
ConfirmTime = confirm.ConfirmTime,
|
||||||
RealName = trialUser.User.FullName,
|
RealName = trialUser.User.FullName,
|
||||||
UserName = trialUser.User.UserName,
|
UserName = trialUser.User.UserName,
|
||||||
|
@ -413,10 +457,10 @@ namespace IRaCIS.Core.Application.Services
|
||||||
var unionQuery = trialDocQuery.Union(systemDocQuery)
|
var unionQuery = trialDocQuery.Union(systemDocQuery)
|
||||||
.WhereIf(!string.IsNullOrEmpty(querySystemDocument.Name), t => t.Name.Contains(querySystemDocument.Name))
|
.WhereIf(!string.IsNullOrEmpty(querySystemDocument.Name), t => t.Name.Contains(querySystemDocument.Name))
|
||||||
.WhereIf(querySystemDocument.FileTypeId != null, t => t.FileTypeId == querySystemDocument.FileTypeId)
|
.WhereIf(querySystemDocument.FileTypeId != null, t => t.FileTypeId == querySystemDocument.FileTypeId)
|
||||||
.WhereIf(querySystemDocument.IsConfirmed == true, t => t.ConfirmTime != null)
|
.WhereIf(querySystemDocument.IsConfirmed == true, t => t.ConfirmTime != null)
|
||||||
.WhereIf(querySystemDocument.IsConfirmed == false, t => t.ConfirmTime == null)
|
.WhereIf(querySystemDocument.IsConfirmed == false, t => t.ConfirmTime == null)
|
||||||
.WhereIf(querySystemDocument.IsDeleted != null, t => t.IsDeleted == querySystemDocument.IsDeleted)
|
.WhereIf(querySystemDocument.IsDeleted != null, t => t.IsDeleted == querySystemDocument.IsDeleted)
|
||||||
.WhereIf(querySystemDocument.UserTypeId != null, t => t.UserTypeId == querySystemDocument.UserTypeId);
|
.WhereIf(querySystemDocument.UserTypeId != null, t => t.UserTypeId == querySystemDocument.UserTypeId);
|
||||||
|
|
||||||
var result = await unionQuery.ToPagedListAsync(querySystemDocument.PageIndex, querySystemDocument.PageSize, querySystemDocument.SortField, querySystemDocument.Asc);
|
var result = await unionQuery.ToPagedListAsync(querySystemDocument.PageIndex, querySystemDocument.PageSize, querySystemDocument.SortField, querySystemDocument.Asc);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue