202 lines
7.1 KiB
C#
202 lines
7.1 KiB
C#
using _0_Framework.Application;
|
||
using CompanyManagment.App.Contracts.TemporaryClientRegistration;
|
||
using CompanyManagment.App.Contracts.YearlySalary;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||
|
||
/// <summary>
|
||
/// اپلیکیش طرح طبقه بندی مشاغل
|
||
/// </summary>
|
||
public interface IClassificationSchemeApplication
|
||
{
|
||
/// <summary>
|
||
/// پارشیال صفحه ایجاد طرح
|
||
/// </summary>
|
||
/// <param name="worskhopId"></param>
|
||
/// <returns></returns>
|
||
Task<ClassificationSchemeListDto> GetClassificationSchemeList(long workshopId);
|
||
|
||
/// <summary>
|
||
/// ایجاد طرح
|
||
/// </summary>
|
||
/// <param name="command"></param>
|
||
/// <returns></returns>
|
||
Task<OperationResult> CreateClassificationScheme(CreateClassificationSchemeDto command);
|
||
|
||
/// <summary>
|
||
/// دریافت اطلاعات طرح برای مودال ویرایش
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
Task<EditClassificationSchemeDto> GetClassificationScheme(long id);
|
||
|
||
/// <summary>
|
||
/// دریافت اطلاعات طر برای محاسبات
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
Task<EditClassificationScheme> GetClassificationSchemeToCompute(long id);
|
||
|
||
/// <summary>
|
||
/// ویرایش طرح
|
||
/// </summary>
|
||
/// <param name="command"></param>
|
||
/// <returns></returns>
|
||
Task<OperationResult> EditClassificationScheme(EditClassificationSchemeDto command);
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// دریافت گروه ها و مشاغلشان برای تب تعیین مشاغل
|
||
/// </summary>
|
||
/// <param name="schemeId"></param>
|
||
/// <returns></returns>
|
||
Task<List<ClassificationGroupAndJobModel>> GetGroupAndJobs(long schemeId);
|
||
|
||
|
||
/// <summary>
|
||
/// دریافت مشاغل گروه توسط آی دی گروه
|
||
/// </summary>
|
||
/// <param name="groupId"></param>
|
||
/// <returns></returns>
|
||
Task<List<EditClassificationGroupJob>> GetGroupJobs(long groupId);
|
||
|
||
/// <summary>
|
||
/// چک میکند که آی پرسنلی وجود دارد که این شغل به او نسبت داده شده
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <param name="groupId"></param>
|
||
/// <returns></returns>
|
||
Task<bool> CheckEmployeeHasThisJob(long id, long groupId);
|
||
|
||
/// <summary>
|
||
/// ایجاد مشاغل گروه
|
||
/// </summary>
|
||
/// <param name="createClassificationGroupJob"></param>
|
||
/// <param name="deleteJobList"></param>
|
||
/// <returns></returns>
|
||
Task<bool> CreateGroupJobs(List<CreateClassificationGroupJob> createClassificationGroupJob, List<long> deleteJobList);
|
||
|
||
|
||
/// <summary>
|
||
/// چک میکند که آیا برای این طرح تابحال دستمزدی ایجاد شده یا نه
|
||
/// </summary>
|
||
/// <param name="schemeId"></param>
|
||
/// <returns></returns>
|
||
Task<SalaryAndRialCoefficientTab> GetSalariesTabData(long schemeId);
|
||
|
||
/// <summary>
|
||
/// در یافت اطلاعات گروه برای لود مودال ایجاد دستمزد های
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
Task<SalaryAndRialCoefficientModel> GetGroupToCreateSalariesModal(long schemeId);
|
||
|
||
/// <summary>
|
||
/// ایجاد دستمزدها و ضرایب ریالی هر گروه در هر سال
|
||
/// </summary>
|
||
/// <param name="command"></param>
|
||
/// <returns></returns>
|
||
Task<OperationResult> CreateGroupSalaryAndCoefficient(SalaryAndRialCoefficientModel command);
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// دریافت دستمزدها و ضریب ریالی برای مودال ویرایش
|
||
/// </summary>
|
||
/// <param name="schemeId"></param>
|
||
/// <param name="startDate"></param>
|
||
/// <param name="endDate"></param>
|
||
/// <returns></returns>
|
||
Task<SalaryAndRialCoefficientModel> GetEditSalariesData(long schemeId, string startDate, string endDate);
|
||
|
||
/// <summary>
|
||
/// ثبت ویرایش دستمزدها و ضریب
|
||
/// </summary>
|
||
/// <param name="command"></param>
|
||
/// <returns></returns>
|
||
Task<OperationResult> EditGroupSalaryAndCoefficient(SalaryAndRialCoefficientModel command);
|
||
|
||
|
||
/// <summary>
|
||
/// دریافت لیست پرسنل برای تب افزودن پرسنل
|
||
/// </summary>
|
||
/// <param name="command"></param>
|
||
/// <returns></returns>
|
||
Task<EmployeeInfoTab> GetEmployeeDataTab(EmployeeInfoTab command);
|
||
|
||
|
||
/// <summary>
|
||
/// دریافت گروه های طرح
|
||
/// </summary>
|
||
/// <param name="schemeId"></param>
|
||
/// <returns></returns>
|
||
Task<List<ClassificationGroupList>> GetGroups(long schemeId);
|
||
|
||
/// <summary>
|
||
/// ذخیره پرسنل افزوده شده در گروه
|
||
/// </summary>
|
||
/// <param name="command"></param>
|
||
/// <returns></returns>
|
||
Task<OperationResult> AddEmployeeToGroup(AddEmployeeToGroup command);
|
||
|
||
/// <summary>
|
||
/// انتقال پرسنل به گروه جدید
|
||
/// </summary>
|
||
/// <param name="command"></param>
|
||
/// <returns></returns>
|
||
Task<OperationResult> TransferEmployeeToNewGroup(List<EditEmployeeGroupList> command);
|
||
|
||
/// <summary>
|
||
/// ذخیره ویرایش گروه پرسنل
|
||
/// </summary>
|
||
/// <param name="command"></param>
|
||
/// <returns></returns>
|
||
Task<OperationResult> EditGroupMember(AddEmployeeToGroup command);
|
||
|
||
/// <summary>
|
||
/// ذخیره ویرایش گروه چندگانه پرسنل
|
||
/// </summary>
|
||
/// <param name="command"></param>
|
||
/// <returns></returns>
|
||
Task<OperationResult> EditMultipleGroupMember(List<EditEmployeeGroupList> command);
|
||
|
||
/// <summary>
|
||
/// دریافت اطلاعات عضویتی پرسنل در گروه
|
||
/// </summary>
|
||
/// <param name="employeeId"></param>
|
||
/// <returns></returns>
|
||
Task<EditEmployeeGroup> GetEmployeeMemberizeData(long employeeId);
|
||
|
||
|
||
/// <summary>
|
||
/// متد محاسبه پایه سنوات برا افراد تک گروه
|
||
/// </summary>
|
||
/// <param name="schemeStart">تاریخ شروع طرح</param>
|
||
/// <param name="schemeEnd">تاریخ پاین طرح، اجباری نیست</param>
|
||
/// <param name="contractStart">تاریخ شروع قراداد</param>
|
||
/// <param name="contractEnd">تاریخ پایان قراداد</param>
|
||
/// <param name="groupNo">شماره گروه</param>
|
||
/// <param name="employeeId">آی دی پرسنل</param>
|
||
/// <param name="workshopId">آی دی کارگاه</param>
|
||
/// <returns></returns>
|
||
Task<BaseYearDataViewModel> BaseYearComputeOneGroup(DateTime schemeStart, DateTime? schemeEnd,
|
||
DateTime contractStart, DateTime contractEnd, string groupNo, long employeeId, long workshopId);
|
||
|
||
/// <summary>
|
||
/// چک کردن امکان حذف طرح
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
Task<CheckStatusToDeleteScheme> CheckToDeleteScheme(long id);
|
||
|
||
/// <summary>
|
||
/// حذف طرح
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
Task<OperationResult> DeleteScheme(long id);
|
||
|
||
} |