employeeDocument Refactor
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
@@ -56,10 +57,17 @@ public interface IAdminWorkFlowApplication
|
||||
|
||||
Task<OperationResult> EditEmployeeInEmployeeDocumentWorkFlow(EditEmployeeInEmployeeDocument command);
|
||||
|
||||
/// <summary>
|
||||
/// لیست کارگاه هایی که از کلاینت، پرسنلی را شروع به کار زدند و مدارک آنها کامل آپلود نشده است
|
||||
/// </summary>
|
||||
/// <param name="workshops"></param>
|
||||
/// <param name="roleId"></param>
|
||||
/// <returns></returns>
|
||||
Task<ICollection<WorkshopWithDocumentsViewModelForWorkFlow>> GetWorkshopDocumentCreatedEmployeeForAdmin(List<long> workshops, long roleId);
|
||||
#endregion
|
||||
|
||||
Task<int> GetEmployeeDocumentWorkFlowCountsForAdmin(List<long> workshopIds);
|
||||
Task<int> GetWorkFlowCountsForAdmin(List<long> workshopIds, long accountId);
|
||||
Task<int> GetEmployeeDocumentWorkFlowCountsForAdmin(List<long> workshopIds, long roleId);
|
||||
Task<int> GetWorkFlowCountsForAdmin(List<long> workshopIds, long accountId, long roleId);
|
||||
Task<int> GetWorkFlowCountForChecker();
|
||||
|
||||
|
||||
@@ -85,6 +93,7 @@ public interface IAdminWorkFlowApplication
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -112,7 +121,7 @@ public class ClientLeftWorkEmployeesWorkFlowViewModel
|
||||
/// </summary>
|
||||
public string LeftWorkDate { get; set; } = string.Empty;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -11,13 +11,17 @@ public interface IWorkFlowApplication
|
||||
Task<OperationResult> CreateRollCallConfirmedWithoutLunchBreak(CreateRollCallConfirmedWithoutLunchBreak command);
|
||||
|
||||
|
||||
Task<int> GetCountAllWorkFlows(long workshopId);
|
||||
Task<int> GetCountAllWorkFlows(long workshopId, long accountId);
|
||||
Task<int> GetRollCallAbsentsWorkFlows(long workshopId);
|
||||
Task<int> GetCountCutRollCallByBgService(long workshopId);
|
||||
Task<int> GetAllWorkFlowCount(long workshopId);
|
||||
Task<int> GetAllWorkFlowCount(long workshopId , long accountId);
|
||||
Task<int> GetAllWorkFlowCountAsync(long workshopId);
|
||||
|
||||
Task<DailyRollCallWorkFlowViewModel> GetAbsentRollCallWorkFlowsByDate(long workshopId, DateTime date);
|
||||
Task<int> GetAllRollCallCount(long workshopId);
|
||||
Task<int> GetAllEmployeeDocuments(long workshopId, long accountId);
|
||||
|
||||
|
||||
Task<DailyRollCallWorkFlowViewModel> GetAbsentRollCallWorkFlowsByDate(long workshopId, DateTime date);
|
||||
Task<DailyRollCallConfirmedWithoutLunchBreakViewModel> GetEmployeesWithoutLunchBreakByDate(long workshopId, DateTime date);
|
||||
Task<DailyRollCallWorkFlowViewModel> GetRollCallWorkFlowsCutByBgServiceByDate(long workshopId, DateTime date);
|
||||
Task<DailyRollCallWorkFlowViewModel> GetUndefinedRollCallsByDate(long workshopId, DateTime date);
|
||||
|
||||
@@ -5,21 +5,20 @@ using WorkFlow.Infrastructure.ACL.Employee;
|
||||
using WorkFlow.Infrastructure.ACL.EmployeeDocuments;
|
||||
using WorkFlow.Infrastructure.ACL.Workshop;
|
||||
|
||||
|
||||
namespace WorkFlow.Application
|
||||
{
|
||||
public class AdminWorkFlowApplication : IAdminWorkFlowApplication
|
||||
{
|
||||
private readonly IWorkFlowEmployeeDocumentsACL _workFlowEmployeeDocumentsACL;
|
||||
public class AdminWorkFlowApplication : IAdminWorkFlowApplication
|
||||
{
|
||||
private readonly IWorkFlowEmployeeDocumentsACL _workFlowEmployeeDocumentsACL;
|
||||
private readonly IWorkFlowWorkshopACL _workFlowWorkshopACL;
|
||||
private readonly IWorkFlowEmployeeACL _workFlowEmployeeACL;
|
||||
|
||||
|
||||
public AdminWorkFlowApplication(IWorkFlowEmployeeDocumentsACL workFlowEmployeeDocumentsACL, IWorkFlowWorkshopACL workFlowWorkshopAcl, IWorkFlowEmployeeACL workFlowEmployeeAcl)
|
||||
public AdminWorkFlowApplication(IWorkFlowEmployeeDocumentsACL workFlowEmployeeDocumentsACL, IWorkFlowWorkshopACL workFlowWorkshopACL, IWorkFlowEmployeeACL workFlowEmployeeACL)
|
||||
{
|
||||
_workFlowEmployeeDocumentsACL = workFlowEmployeeDocumentsACL;
|
||||
_workFlowWorkshopACL = workFlowWorkshopAcl;
|
||||
_workFlowEmployeeACL = workFlowEmployeeAcl;
|
||||
_workFlowWorkshopACL = workFlowWorkshopACL;
|
||||
_workFlowEmployeeACL = workFlowEmployeeACL;
|
||||
}
|
||||
|
||||
#region Pooya
|
||||
@@ -29,28 +28,29 @@ namespace WorkFlow.Application
|
||||
return _workFlowEmployeeDocumentsACL.GetWorkshopDocumentsAwaitingReviewForChecker(workshops);
|
||||
}
|
||||
|
||||
public async Task<int> GetEmployeeDocumentWorkFlowCountsForAdmin(List<long> workshopIds)
|
||||
|
||||
|
||||
public async Task<int> GetEmployeeDocumentWorkFlowCountsForAdmin(List<long> workshopIds,long roleId)
|
||||
{
|
||||
var submittedDocumentsByClient = await _workFlowEmployeeDocumentsACL.GetAdminWorkFlowCountForSubmittedDocuments(workshopIds);
|
||||
var count = 0;
|
||||
count += await _workFlowEmployeeDocumentsACL.GetWorkshopDocumentRejectedForAdmin(workshopIds,roleId);
|
||||
|
||||
var newEmployees = await _workFlowEmployeeDocumentsACL.GetAdminWorkFlowCountForNewEmployees(workshopIds);
|
||||
count+= await _workFlowEmployeeDocumentsACL.GetCreatedEmployeesWorkshopDocumentForAdmin(workshopIds,roleId);
|
||||
|
||||
//count+= await _workFlowEmployeeDocumentsACL.GetClientRejectedDocumentWorkshopsForAdmin(workshopIds, roleId);
|
||||
|
||||
return submittedDocumentsByClient + newEmployees;
|
||||
return count;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public async Task<int> GetWorkFlowCountsForAdmin(List<long> workshopIds, long accountId)
|
||||
public async Task<int> GetWorkFlowCountsForAdmin(List<long> workshopIds, long accountId,long roleId)
|
||||
{
|
||||
var employeeDocumentWorkFlowCounts = await GetEmployeeDocumentWorkFlowCountsForAdmin(workshopIds);
|
||||
var employeeDocumentWorkFlowCounts = await GetEmployeeDocumentWorkFlowCountsForAdmin(workshopIds, roleId);
|
||||
var startWork = await GetWorkshopsForEmployeeStartWorkCount(accountId);
|
||||
var leftWork = await GetWorkshopsForLeftWorkTempCount(accountId);
|
||||
|
||||
return employeeDocumentWorkFlowCounts + startWork + leftWork;
|
||||
}
|
||||
|
||||
|
||||
public async Task<int> GetWorkFlowCountForChecker()
|
||||
{
|
||||
return await _workFlowEmployeeDocumentsACL.GetCheckerWorkFlowCount();
|
||||
@@ -64,6 +64,7 @@ namespace WorkFlow.Application
|
||||
return _workFlowEmployeeDocumentsACL.GetWorkshopsWithDocumentsAwaitingUploadForAdmin(workshops);
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Mahan
|
||||
@@ -118,6 +119,15 @@ namespace WorkFlow.Application
|
||||
|
||||
#endregion
|
||||
|
||||
#region آپلود مدارک پرسنل
|
||||
|
||||
public async Task<ICollection<WorkshopWithDocumentsViewModelForWorkFlow>> GetWorkshopDocumentCreatedEmployeeForAdmin(List<long> workshops, long roleId)
|
||||
{
|
||||
return await _workFlowEmployeeDocumentsACL.GetWorkshopDocumentCreatedEmployeeForAdmin(workshops, roleId);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
||||
using Company.Domain.RollCallAgg.DomainService;
|
||||
using CompanyManagment.App.Contracts.EmployeeDocuments;
|
||||
using WorkFlow.Application.Contracts.RollCallConfirmedAbsence;
|
||||
using WorkFlow.Application.Contracts.RollCallConfirmedWithoutLunchBreak;
|
||||
using WorkFlow.Application.Contracts.Shared;
|
||||
@@ -21,8 +22,8 @@ public class WorkFlowApplication : IWorkFlowApplication
|
||||
private readonly IWorkFlowCustomizedWorkshopSettingsACL _customizedWorkshopSettingsACL;
|
||||
private readonly IRollCallDomainService _rollCallDomainService;
|
||||
private readonly IRollCallConfirmedWithoutLunchBreakRepository _rollCallConfirmedWithoutLunchBreakRepository;
|
||||
|
||||
public WorkFlowApplication(IRollCallConfirmedAbsenceRepository absenceRepository, IWorkFlowRollCallACL rollCallACL, IWorkFlowCheckoutACL checkoutACL, IWorkFlowCustomizedWorkshopSettingsACL customizedWorkshopSettingsACL, IRollCallConfirmedWithoutLunchBreakRepository rollCallConfirmedWithoutLunchBreakRepository, IRollCallDomainService rollCallDomainService)
|
||||
private readonly IEmployeeDocumentsApplication _employeeDocumentsApplication;
|
||||
public WorkFlowApplication(IRollCallConfirmedAbsenceRepository absenceRepository, IWorkFlowRollCallACL rollCallACL, IWorkFlowCheckoutACL checkoutACL, IWorkFlowCustomizedWorkshopSettingsACL customizedWorkshopSettingsACL, IRollCallConfirmedWithoutLunchBreakRepository rollCallConfirmedWithoutLunchBreakRepository, IRollCallDomainService rollCallDomainService, IEmployeeDocumentsApplication employeeDocumentsApplication)
|
||||
{
|
||||
_absenceRepository = absenceRepository;
|
||||
_rollCallACL = rollCallACL;
|
||||
@@ -30,6 +31,7 @@ public class WorkFlowApplication : IWorkFlowApplication
|
||||
_customizedWorkshopSettingsACL = customizedWorkshopSettingsACL;
|
||||
_rollCallConfirmedWithoutLunchBreakRepository = rollCallConfirmedWithoutLunchBreakRepository;
|
||||
_rollCallDomainService = rollCallDomainService;
|
||||
_employeeDocumentsApplication = employeeDocumentsApplication;
|
||||
}
|
||||
|
||||
public async Task<OperationResult> CreateRollCallConfirmedAbsence(CreateRollCallConfirmedAbsence command)
|
||||
@@ -57,16 +59,16 @@ public class WorkFlowApplication : IWorkFlowApplication
|
||||
|
||||
var newEntity = new RollCallConfirmedWithoutLunchBreak(command.RollCallId, entity.EmployeeId, entity.WorkshopId, entity.RollCallDate);
|
||||
|
||||
_rollCallConfirmedWithoutLunchBreakRepository.Create(newEntity);
|
||||
await _rollCallConfirmedWithoutLunchBreakRepository.CreateAsync(newEntity);
|
||||
await _rollCallConfirmedWithoutLunchBreakRepository.SaveChangesAsync();
|
||||
|
||||
return op.Succcedded();
|
||||
}
|
||||
|
||||
public async Task<int> GetCountAllWorkFlows(long workshopId)
|
||||
public async Task<int> GetCountAllWorkFlows(long workshopId,long accountId)
|
||||
{
|
||||
int count = 0;
|
||||
count += await GetAllWorkFlowCount(workshopId);
|
||||
count += await GetAllWorkFlowCount(workshopId,accountId);
|
||||
return count;
|
||||
}
|
||||
public Task<int> GetRollCallAbsentsWorkFlows(long workshopId)
|
||||
@@ -81,29 +83,53 @@ public class WorkFlowApplication : IWorkFlowApplication
|
||||
{
|
||||
return (await GetRollCallWorkFlowsCutByBgService(workshopId)).Count;
|
||||
}
|
||||
public async Task<int> GetAllWorkFlowCount(long workshopId)
|
||||
{
|
||||
var count = 0;
|
||||
var activeServiceByWorkshopId = _rollCallACL.GetActiveServiceByWorkshopId(workshopId);
|
||||
if (activeServiceByWorkshopId == null)
|
||||
{
|
||||
return count;
|
||||
}
|
||||
//count += _rollCallACL.GetRollCallAbsentsWorkFlows(accId, workshopId);
|
||||
count += (await GetAbsentRollCallWorkFlows(workshopId))?.Count ?? 0;
|
||||
count += (await GetRollCallWorkFlowsCutByBgService(workshopId))?.Count ?? 0;
|
||||
count += (await GetEmployeesWithoutLunchBreak(workshopId))?.Count ?? 0;
|
||||
//count += (await GetRollCallsOverlappingLeaves(workshopId))?.Count ?? 0;
|
||||
count += (await GetUndefinedRollCalls(workshopId))?.Count ?? 0;
|
||||
|
||||
|
||||
|
||||
public async Task<int> GetAllWorkFlowCount(long workshopId,long accountId)
|
||||
{
|
||||
var count = 0;
|
||||
// RollCall
|
||||
|
||||
count += await GetAllRollCallCount(workshopId);
|
||||
|
||||
count += await GetAllEmployeeDocuments(workshopId,accountId );
|
||||
|
||||
// Employee Documents
|
||||
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
public async Task<int> GetAllEmployeeDocuments(long workshopId, long accountId)
|
||||
{
|
||||
int count = 0;
|
||||
count += (await _employeeDocumentsApplication.GetClientRejectedDocumentForClient(workshopId, accountId)).Count;
|
||||
return count;
|
||||
}
|
||||
|
||||
public Task<int> GetAllWorkFlowCountAsync(long workshopId)
|
||||
{
|
||||
return Task.FromResult(20);
|
||||
}
|
||||
|
||||
public async Task<int> GetAllRollCallCount(long workshopId)
|
||||
{
|
||||
int count = 0;
|
||||
var activeServiceByWorkshopId = _rollCallACL.GetActiveServiceByWorkshopId(workshopId);
|
||||
if (activeServiceByWorkshopId == null)
|
||||
{
|
||||
return count;
|
||||
}
|
||||
//count += _rollCallACL.GetRollCallAbsentsWorkFlows(accId, workshopId);
|
||||
count += (await GetAbsentRollCallWorkFlows(workshopId))?.Count ?? 0;
|
||||
count += (await GetRollCallWorkFlowsCutByBgService(workshopId))?.Count ?? 0;
|
||||
count += (await GetEmployeesWithoutLunchBreak(workshopId))?.Count ?? 0;
|
||||
//count += (await GetRollCallsOverlappingLeaves(workshopId))?.Count ?? 0;
|
||||
count += (await GetUndefinedRollCalls(workshopId))?.Count ?? 0;
|
||||
return count;
|
||||
}
|
||||
|
||||
#region Methods For Ajax
|
||||
|
||||
/// <summary>
|
||||
@@ -342,8 +368,6 @@ public class WorkFlowApplication : IWorkFlowApplication
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#region Methods For OnGet
|
||||
|
||||
|
||||
|
||||
@@ -3,25 +3,37 @@ using WorkFlow.Application.Contracts.AdminWorkFlow;
|
||||
|
||||
namespace WorkFlow.Infrastructure.ACL.EmployeeDocuments
|
||||
{
|
||||
public interface IWorkFlowEmployeeDocumentsACL
|
||||
{
|
||||
List<WorkshopWithDocumentsViewModelForWorkFlow> GetWorkshopDocumentsAwaitingReviewForChecker(List<long> workshops);
|
||||
public interface IWorkFlowEmployeeDocumentsACL
|
||||
{
|
||||
List<WorkshopWithDocumentsViewModelForWorkFlow> GetWorkshopDocumentsAwaitingReviewForChecker(List<long> workshops);
|
||||
List<WorkshopWithDocumentsViewModelForWorkFlow> GetWorkshopsWithDocumentsAwaitingUploadForAdmin(List<long> workshops);
|
||||
|
||||
|
||||
Task<int> GetAdminWorkFlowCountForSubmittedDocuments(List<long> workshopIds);
|
||||
Task<int> GetAdminWorkFlowCountForNewEmployees(List<long> workshopIds);
|
||||
Task<int> GetCheckerWorkFlowCount();
|
||||
Task<int> GetWorkshopDocumentRejectedForAdmin(List<long> workshops, long roleId);
|
||||
Task<int> GetCreatedEmployeesWorkshopDocumentForAdmin(List<long> workshops, long roleId);
|
||||
Task<int> GetClientRejectedDocumentWorkshopsForAdmin(List<long> workshops, long roleId);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// لیست کارگاه هایی که از کلاینت، پرسنلی را شروع به کار زدند و مدارک آنها کامل آپلود نشده است
|
||||
/// </summary>
|
||||
/// <param name="workshops"></param>
|
||||
/// <param name="roleId"></param>
|
||||
/// <returns></returns>
|
||||
Task<ICollection<WorkshopWithDocumentsViewModelForWorkFlow>> GetWorkshopDocumentCreatedEmployeeForAdmin(
|
||||
List<long> workshops, long roleId);
|
||||
}
|
||||
|
||||
public class WorkFlowEmployeeDocumentsACL : IWorkFlowEmployeeDocumentsACL
|
||||
{
|
||||
private readonly IEmployeeDocumentsApplication _employeeDocumentsApplication;
|
||||
public class WorkFlowEmployeeDocumentsACL : IWorkFlowEmployeeDocumentsACL
|
||||
{
|
||||
private readonly IEmployeeDocumentsApplication _employeeDocumentsApplication;
|
||||
|
||||
public WorkFlowEmployeeDocumentsACL(IEmployeeDocumentsApplication employeeDocumentsApplication)
|
||||
{
|
||||
_employeeDocumentsApplication = employeeDocumentsApplication;
|
||||
}
|
||||
public WorkFlowEmployeeDocumentsACL(IEmployeeDocumentsApplication employeeDocumentsApplication)
|
||||
{
|
||||
_employeeDocumentsApplication = employeeDocumentsApplication;
|
||||
}
|
||||
|
||||
|
||||
public List<WorkshopWithDocumentsViewModelForWorkFlow> GetWorkshopsWithDocumentsAwaitingUploadForAdmin(List<long> workshops)
|
||||
@@ -30,8 +42,8 @@ namespace WorkFlow.Infrastructure.ACL.EmployeeDocuments
|
||||
{
|
||||
WorkshopId = x.WorkshopId,
|
||||
UploadItemsCount = x.EmployeesWithoutDocumentCount,
|
||||
WorkshopName = x.WorkshopFullName,
|
||||
EmployerName = x.EmployerName,
|
||||
WorkshopName = x.WorkshopFullName,
|
||||
EmployerName = x.EmployerName,
|
||||
}).ToList();
|
||||
}
|
||||
|
||||
@@ -48,15 +60,44 @@ namespace WorkFlow.Infrastructure.ACL.EmployeeDocuments
|
||||
return await _employeeDocumentsApplication.GetCheckerWorkFlowCount();
|
||||
}
|
||||
|
||||
public async Task<int> GetWorkshopDocumentRejectedForAdmin(List<long> workshops, long roleId)
|
||||
{
|
||||
return (await _employeeDocumentsApplication.GetWorkshopDocumentRejectedForAdmin(workshops, roleId)).Count;
|
||||
}
|
||||
|
||||
public async Task<int> GetCreatedEmployeesWorkshopDocumentForAdmin(List<long> workshops, long roleId)
|
||||
{
|
||||
return (await _employeeDocumentsApplication.GetCreatedEmployeesWorkshopDocumentForAdmin(workshops, roleId))
|
||||
.Count;
|
||||
}
|
||||
|
||||
public async Task<int> GetClientRejectedDocumentWorkshopsForAdmin(List<long> workshops, long roleId)
|
||||
{
|
||||
return (await _employeeDocumentsApplication.GetClientRejectedDocumentWorkshopsForAdmin(workshops, roleId))
|
||||
.Count;
|
||||
}
|
||||
|
||||
public async Task<ICollection<WorkshopWithDocumentsViewModelForWorkFlow>> GetWorkshopDocumentCreatedEmployeeForAdmin(List<long> workshops, long roleId)
|
||||
{
|
||||
return (await _employeeDocumentsApplication.GetWorkshopDocumentCreatedEmployeeForAdmin(workshops, roleId)).Select(x => new WorkshopWithDocumentsViewModelForWorkFlow()
|
||||
{
|
||||
WorkshopId = x.WorkshopId,
|
||||
UploadItemsCount = x.EmployeesWithoutDocumentCount,
|
||||
WorkshopName = x.WorkshopFullName,
|
||||
EmployerName = x.EmployerName,
|
||||
}).ToList();
|
||||
|
||||
}
|
||||
|
||||
public List<WorkshopWithDocumentsViewModelForWorkFlow> GetWorkshopDocumentsAwaitingReviewForChecker(List<long> workshops)
|
||||
{
|
||||
return _employeeDocumentsApplication.GetWorkshopsWithDocumentsAwaitingReviewForCheckerWorkFlow().Select(x=> new WorkshopWithDocumentsViewModelForWorkFlow()
|
||||
{
|
||||
WorkshopId = x.WorkshopId,
|
||||
UploadItemsCount = x.SubmittedItemsCount
|
||||
}).ToList();
|
||||
}
|
||||
{
|
||||
return _employeeDocumentsApplication.GetWorkshopsWithDocumentsAwaitingReviewForCheckerWorkFlow().Select(x => new WorkshopWithDocumentsViewModelForWorkFlow()
|
||||
{
|
||||
WorkshopId = x.WorkshopId,
|
||||
UploadItemsCount = x.SubmittedItemsCount
|
||||
}).ToList();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user