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; /// /// اپلیکیش طرح طبقه بندی مشاغل /// public interface IClassificationSchemeApplication { /// /// پارشیال صفحه ایجاد طرح /// /// /// Task GetClassificationSchemeList(long workshopId); /// /// ایجاد طرح /// /// /// Task CreateClassificationScheme(CreateClassificationSchemeDto command); /// /// دریافت اطلاعات طرح برای مودال ویرایش /// /// /// Task GetClassificationScheme(long id); /// /// دریافت اطلاعات طر برای محاسبات /// /// /// Task GetClassificationSchemeToCompute(long id); /// /// ویرایش طرح /// /// /// Task EditClassificationScheme(EditClassificationSchemeDto command); /// /// دریافت گروه ها و مشاغلشان برای تب تعیین مشاغل /// /// /// Task> GetGroupAndJobs(long schemeId); /// /// دریافت مشاغل گروه توسط آی دی گروه /// /// /// Task> GetGroupJobs(long groupId); /// /// چک میکند که آی پرسنلی وجود دارد که این شغل به او نسبت داده شده /// /// /// /// Task CheckEmployeeHasThisJob(long id, long groupId); /// /// ایجاد مشاغل گروه /// /// /// /// Task CreateGroupJobs(List createClassificationGroupJob, List deleteJobList); /// /// چک میکند که آیا برای این طرح تابحال دستمزدی ایجاد شده یا نه /// /// /// Task GetSalariesTabData(long schemeId); /// /// در یافت اطلاعات گروه برای لود مودال ایجاد دستمزد های /// /// Task GetGroupToCreateSalariesModal(long schemeId); /// /// ایجاد دستمزدها و ضرایب ریالی هر گروه در هر سال /// /// /// Task CreateGroupSalaryAndCoefficient(SalaryAndRialCoefficientModel command); /// /// دریافت دستمزدها و ضریب ریالی برای مودال ویرایش /// /// /// /// /// Task GetEditSalariesData(long schemeId, string startDate, string endDate); /// /// ثبت ویرایش دستمزدها و ضریب /// /// /// Task EditGroupSalaryAndCoefficient(SalaryAndRialCoefficientModel command); /// /// دریافت لیست پرسنل برای تب افزودن پرسنل /// /// /// Task GetEmployeeDataTab(EmployeeInfoTab command); /// /// دریافت گروه های طرح /// /// /// Task> GetGroups(long schemeId); /// /// ذخیره پرسنل افزوده شده در گروه /// /// /// Task AddEmployeeToGroup(AddEmployeeToGroup command); /// /// انتقال پرسنل به گروه جدید /// /// /// Task TransferEmployeeToNewGroup(List command); /// /// ذخیره ویرایش گروه پرسنل /// /// /// Task EditGroupMember(AddEmployeeToGroup command); /// /// ذخیره ویرایش گروه چندگانه پرسنل /// /// /// Task EditMultipleGroupMember(List command); /// /// دریافت اطلاعات عضویتی پرسنل در گروه /// /// /// Task GetEmployeeMemberizeData(long employeeId); /// /// متد محاسبه پایه سنوات برا افراد تک گروه /// /// تاریخ شروع طرح /// تاریخ پاین طرح، اجباری نیست /// تاریخ شروع قراداد /// تاریخ پایان قراداد /// شماره گروه /// آی دی پرسنل /// آی دی کارگاه /// Task BaseYearComputeOneGroup(DateTime schemeStart, DateTime? schemeEnd, DateTime contractStart, DateTime contractEnd, string groupNo, long employeeId, long workshopId); #region ForApi /// /// چک کردن امکان حذف طرح /// /// /// Task> CheckToDeleteScheme(long id); /// /// حذف طرح /// /// /// Task DeleteScheme(long id); /// /// تب گروه ها و مشاغل /// لیست گروه ها /// /// /// Task> GetGroupList(long schemeId); /// /// دریافت لیست مشاغل برای مودال ایجاد و ویرایش /// /// /// Task GetCreateOrEditJobsData(long groupId); /// /// چک میکند که آی پرسنلی وجود دارد که این شغل به او نسبت داده شده /// /// /// /// Task CheckIfEmployeeHasThisJob(long jobId, long groupId); /// /// ذخیر ایجاد یا ویرایش مشاغل در گروه /// /// /// Task SaveJobsToGroup(AddOrEditJobInGroupDto command); /// /// لیست دستمزدها بر اساس تاریخ و سال برای تب دستمزدها /// /// /// Task> GetSalaryList(long schemeId); #endregion }