GroupAndJobs tab Query

This commit is contained in:
SamSys
2025-10-08 17:41:23 +03:30
parent 283f66ab32
commit 849369fea3
11 changed files with 113 additions and 24 deletions

View File

@@ -7,7 +7,12 @@ namespace Company.Domain.ClassificationSchemeAgg;
public interface IClassificationGroupRepository : IRepository<long, ClassificationGroup>
{
Task<ClassificationGroupAndJobModel> GetGroups(long schemeId);
/// <summary>
/// دریافت گروه ها و مشاغلشان برای تب تعیین مشاغل
/// </summary>
/// <param name="schemeId"></param>
/// <returns></returns>
Task<List<ClassificationGroupAndJobModel>> GetGroupAndJobs(long schemeId);
/// <summary>
/// ایجاد گروه های بیست گانه

View File

@@ -1,6 +1,7 @@
using _0_Framework.Application;
using _0_Framework.Domain;
using CompanyManagment.App.Contracts.ClassificationScheme;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Company.Domain.ClassificationSchemeAgg;
@@ -23,4 +24,5 @@ public interface IClassificationSchemeRepository : IRepository<long, Classificat
Task<EditClassificationScheme> GetClassificationScheme(long id);
}

View File

@@ -7,11 +7,19 @@ namespace CompanyManagment.App.Contracts.ClassificationScheme;
/// </summary>
public class ClassificationGroupAndJobModel
{
/// <summary>
/// شماره گروه
/// استرینگ
/// </summary>
public string GroupNo { get; set; }
/// <summary>
/// شماره گروه نوع عددی
/// </summary>
public int GroupNoInt { get; set; }
/// <summary>
/// آی دی کارگاه
/// </summary>
@@ -24,7 +32,7 @@ public class ClassificationGroupAndJobModel
/// <summary>
/// لیست مشاغل
/// </summary>
public List<CreateClassificationGroupJob> CreateClassificationGroupJobs { get; set; }
public List<EditClassificationGroupJob> EditClassificationGroupJob { get; set; }
}
/// <summary>
@@ -56,4 +64,15 @@ public class CreateClassificationGroupJob
/// شماره گروه
/// </summary>
public string GroupNo { get; set; }
}
/// <summary>
/// ویرایش مشاغل گروه
/// </summary>
public class EditClassificationGroupJob : CreateClassificationGroupJob
{
/// <summary>
/// ای دی شغل
/// </summary>
public long Id { get; set; }
}

View File

@@ -1,5 +1,6 @@
using _0_Framework.Application;
using CompanyManagment.App.Contracts.TemporaryClientRegistration;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace CompanyManagment.App.Contracts.ClassificationScheme;
@@ -36,7 +37,17 @@ public interface IClassificationSchemeApplication
/// <param name="command"></param>
/// <returns></returns>
Task<OperationResult> EditClassificationScheme(EditClassificationScheme command);
/// <summary>
/// دریافت گروه ها و مشاغلشان برای تب تعیین مشاغل
/// </summary>
/// <param name="schemeId"></param>
/// <returns></returns>
Task<List<ClassificationGroupAndJobModel>> GetGroupAndJobs(long schemeId);
/// <summary>
/// ایجاد مشاغل گروه
/// </summary>

View File

@@ -110,6 +110,11 @@ public class ClassificationSchemeApplication : IClassificationSchemeApplication
return op.Succcedded();
}
public async Task<List<ClassificationGroupAndJobModel>> GetGroupAndJobs(long schemeId)
{
return await _classificationGroupRepository.GetGroupAndJobs(schemeId);
}
public Task<OperationResult> CreateGroupJobs(ClassificationGroupAndJobModel command)
{
throw new System.NotImplementedException();

View File

@@ -1,4 +1,6 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using _0_Framework.InfraStructure;
using Company.Domain.ClassificationSchemeAgg;
@@ -15,9 +17,32 @@ public class ClassificationGroupRepository : RepositoryBase<long, Classification
_context = context;
}
public Task<ClassificationGroupAndJobModel> GetGroups(long schemeId)
/// <summary>
/// دریافت گروه ها و مشاغلشان برای تب تعیین مشاغل
/// </summary>
/// <param name="schemeId"></param>
/// <returns></returns>
public async Task<List<ClassificationGroupAndJobModel>> GetGroupAndJobs(long schemeId)
{
throw new System.NotImplementedException();
return await _context.ClassificationGroups.Where(x => x.ClassificationSchemeId == schemeId)
.Include(x => x.ClassificationGroupJobs).Select(x => new ClassificationGroupAndJobModel
{
GroupNo = x.GroupNo,
GroupNoInt = Convert.ToInt32(x.GroupNo),
WorkshopId = x.WorkshopId,
ClassificationSchemeId = x.ClassificationSchemeId,
EditClassificationGroupJob = x.ClassificationGroupJobs.Select(jobs => new EditClassificationGroupJob()
{
Id = jobs.id,
JobId = jobs.JobId,
JobName = jobs.JobName,
JobCode = jobs.JobCode,
ClassificationGroupId = jobs.ClassificationGroupId,
GroupNo = jobs.GroupNo,
}).ToList(),
}).OrderBy(x=>x.GroupNoInt).ToListAsync();
}
/// <summary>

View File

@@ -1,4 +1,6 @@
using System.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using _0_Framework.Application;
using _0_Framework.InfraStructure;
@@ -76,8 +78,5 @@ public class ClassificationSchemeRepository :RepositoryBase<long, Classification
}).FirstOrDefaultAsync(x => x.Id == id);
}
public Task<OperationResult> CreateClassificationScheme(CreateClassificationScheme command)
{
throw new System.NotImplementedException();
}
}

View File

@@ -43,7 +43,7 @@
<span> لیست طرح </span>
</a>
</li>
<li class="li-wizard step" id="jobsTab" data-url="/Admin/Company/Workshops/ClassificationScheme?handler=CreateJobs">
<li class="li-wizard step" id="jobsTab" data-url="/Admin/Company/Workshops/ClassificationScheme?handler=GroupJobsTab">
<a class="nav-link">
<div class="success-icon" id="success-icon2" style="display:none;">
<svg width="11" height="8" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -95,6 +95,7 @@
$(document).ready(function () {
var workshopId = '@Model.WorkshopId';
var schemeId = '@Model.SchemeId';
var hasScheme = '@Model.HasScheme.ToString().ToLower()';
console.log(hasScheme);
@@ -120,8 +121,9 @@
$("#schemeTab, #jobsTab, #salaiesTab, #addEmployeesTab").removeClass("active");
$(this).addClass("active");
break;
case "jobsTab" :
if(hasScheme === "true"){
case "jobsTab" :
if(hasScheme === "true" && schemeId > 0){
url += "&schemeId=" + schemeId;
loadPartial(url);
$("#schemeTab, #jobsTab, #salaiesTab, #addEmployeesTab").removeClass("active");
$(this).addClass("active");

View File

@@ -22,12 +22,21 @@ public class ClassificationSchemeModel : PageModel
/// </summary>
public long WorkshopId { get; set; }
/// <summary>
/// آیا طرح ایجاد شده
/// </summary>
public bool HasScheme { get; set; }
/// <summary>
/// آی دی طرح
/// </summary>
public long SchemeId { get; set; }
public void OnGet(long workshopId)
{
WorkshopId = workshopId;
var scheme = _classificationSchemeApplication.ClassificationSchemePartialModel(workshopId).GetAwaiter().GetResult();
HasScheme = scheme.HasScheme;
SchemeId = scheme.HasScheme ? scheme.ClassificationSchemesList.FirstOrDefault()!.Id : 0;
}
/// <summary>
@@ -39,6 +48,7 @@ public class ClassificationSchemeModel : PageModel
//دریافت طرح
var scheme = _classificationSchemeApplication.ClassificationSchemePartialModel(workshopId).GetAwaiter().GetResult();
scheme.WorkshopId = workshopId;
return Partial("_ClassificationPartials/ClassificationSchemeTab", scheme);
}
@@ -84,9 +94,16 @@ public class ClassificationSchemeModel : PageModel
var result = _classificationSchemeApplication.EditClassificationScheme(command).GetAwaiter().GetResult();
return new JsonResult(result);
}
public IActionResult OnGetCreateJobs()
/// <summary>
/// تب تعیین مشاغل گروه
/// </summary>
/// <param name="schemeId"></param>
/// <returns></returns>
public IActionResult OnGetGroupJobsTab(long schemeId)
{
return Partial("_ClassificationPartials/CreateClassificationGroupJobs");
var groupAndJobs = _classificationSchemeApplication.GetGroupAndJobs(schemeId).GetAwaiter().GetResult();
return Partial("_ClassificationPartials/ClassificationGroupJobsTab", groupAndJobs);
}
public IActionResult OnGetCreateSalaries()

View File

@@ -0,0 +1,12 @@
@model List<CompanyManagment.App.Contracts.ClassificationScheme.ClassificationGroupAndJobModel>
@{
}
<div class="card card-pattern m-t-10">
<button class="btn btn-success"> ایجاد شغل</button>
@foreach (var item in Model)
{
<div><span>@item.GroupNo</span></div>
}
</div>

View File

@@ -1,8 +0,0 @@
@*
For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
*@
@{
}
<div class="card card-pattern m-t-10">
<button class="btn btn-success"> ایجاد شغل</button>
</div>