岗位技能矩阵_宝连通

master
xiaochanghai 2 months ago
parent cf101f748f
commit 4cbb1ad5f7
  1. 12
      Tiobon.Core.Api/Controllers/Ghre/Ghre_TitleSkill_BoltoneController.cs
  2. 20
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  3. 7
      Tiobon.Core.IServices/Ghre/IGhre_TitleSkill_BoltoneServices.cs
  4. 14
      Tiobon.Core.Services/Ghra/Ghra_StaffServices.cs
  5. 112
      Tiobon.Core.Services/Ghre/Ghre_TitleSkill_BoltoneServices.cs
  6. 20
      Tiobon.Core/Tiobon.Core.Model.xml

@ -1,4 +1,6 @@
namespace Tiobon.Core.Api.Controllers;
using Tiobon.Core.Model.ViewModels.Extend;
namespace Tiobon.Core.Api.Controllers;
/// <summary>
/// 岗位技能_宝连通(Controller)
@ -11,4 +13,12 @@ public class Ghre_TitleSkill_BoltoneController : BaseController<IGhre_TitleSkill
public Ghre_TitleSkill_BoltoneController(IGhre_TitleSkill_BoltoneServices service) : base(service)
{
}
#region 状态修改
[HttpPost("QueryMatrix")]
public async Task<dynamic> QueryMatrix(string status, [FromBody] QueryBody filter)
{
return await _service.QueryMatrix(filter);
}
#endregion
}

@ -38488,6 +38488,26 @@
Type Description balabala
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_TitleSkillMatrix_Boltone.IndateLabel">
<summary>
入职日期
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_TitleSkillMatrix_Boltone.StaffType1Label">
<summary>
员工类别1
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_TitleSkillMatrix_Boltone.DeptName">
<summary>
部门
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_TitleSkillMatrix_Boltone.TitleName">
<summary>
岗位
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_SurveyExtendBase.CoverImageUrl">
<summary>
封面图

@ -1,8 +1,13 @@
namespace Tiobon.Core.IServices;
using Tiobon.Core.Common;
using Tiobon.Core.Model.ViewModels.Extend;
using Tiobon.Core.Model;
namespace Tiobon.Core.IServices;
/// <summary>
/// 岗位技能_宝连通(自定义服务接口)
/// </summary>
public interface IGhre_TitleSkill_BoltoneServices : IBaseServices<Ghre_TitleSkill_Boltone, Ghre_TitleSkill_BoltoneDto, InsertGhre_TitleSkill_BoltoneInput, EditGhre_TitleSkill_BoltoneInput>
{
Task<dynamic> QueryMatrix(QueryBody filter);
}

@ -21,11 +21,25 @@ public class Ghra_StaffServices : BaseServices<Ghra_Staff, Ghra_StaffDto, Insert
{
var result = await base.QueryFilterPage(filter, condition, IsEnable);
var deptIds = result.result.DT_TableDataT1.Where(x => x.DeptID != null).Select(x => x.DeptID.Value).ToList();
var depts = await Db.Queryable<Ghro_Dept>().Where(x => x.DeptID != null && deptIds.Contains(x.DeptID.Value)).ToListAsync();
var titleIds = result.result.DT_TableDataT1.Where(x => x.TitleID != null).Select(x => x.TitleID.Value).ToList();
var titles = await Db.Queryable<Ghra_Title>().Where(x => x.TitleID != null && titleIds.Contains(x.TitleID.Value)).ToListAsync();
for (int i = 0; i < result.result.DT_TableDataT1.Count; i++)
{
result.result.DT_TableDataT1[i].GenderLabel = await GetParaLabel("Gender", result.result.DT_TableDataT1[i].Gender);
result.result.DT_TableDataT1[i].IndateLabel = DateTimeHelper.ConvertToDayString(result.result.DT_TableDataT1[i].Indate);
result.result.DT_TableDataT1[i].StaffType1Label = await GetParaLabel(result.result.DT_TableDataT1[i].StaffType1);
result.result.DT_TableDataT1[i].StaffType2Label = await GetParaLabel(result.result.DT_TableDataT1[i].StaffType2);
if (result.result.DT_TableDataT1[i].DeptID != null)
result.result.DT_TableDataT1[i].DeptName = depts.Where(o => o.DeptID == result.result.DT_TableDataT1[i].DeptID).FirstOrDefault()?.DeptName;
if (result.result.DT_TableDataT1[i].TitleID != null)
result.result.DT_TableDataT1[i].TitleName = titles.Where(o => o.TitleID == result.result.DT_TableDataT1[i].TitleID).FirstOrDefault()?.TitleName;
}
return result;
}

@ -1,4 +1,9 @@
namespace Tiobon.Core.Services;
using MySqlX.XDevAPI.Common;
using NPOI.SS.Formula.Functions;
using OfficeOpenXml.FormulaParsing;
using System.Collections.Generic;
namespace Tiobon.Core.Services;
/// <summary>
/// 岗位技能_宝连通 (服务)
@ -6,11 +11,18 @@
public class Ghre_TitleSkill_BoltoneServices : BaseServices<Ghre_TitleSkill_Boltone, Ghre_TitleSkill_BoltoneDto, InsertGhre_TitleSkill_BoltoneInput, EditGhre_TitleSkill_BoltoneInput>, IGhre_TitleSkill_BoltoneServices
{
private readonly IBaseRepository<Ghre_TitleSkill_Boltone> _dal;
public Ghre_TitleSkill_BoltoneServices(ICaching caching, IBaseRepository<Ghre_TitleSkill_Boltone> dal)
private readonly ICommonServices _commonServices;
private readonly IGhra_StaffServices _staffServices;
public Ghre_TitleSkill_BoltoneServices(ICaching caching,
IBaseRepository<Ghre_TitleSkill_Boltone> dal,
IGhra_StaffServices staffServices,
ICommonServices commonServices)
{
this._dal = dal;
base.BaseDal = dal;
base._caching = caching;
_staffServices = staffServices;
_commonServices = commonServices;
}
public override async Task<ServicePageResult<Ghre_TitleSkill_BoltoneDto>> QueryFilterPage(QueryBody filter, string condition, bool? IsEnable = true)
{
@ -101,4 +113,100 @@ public class Ghre_TitleSkill_BoltoneServices : BaseServices<Ghre_TitleSkill_Bolt
// result.result.DT_TableDataT1[0].TotalDays = result.result.DT_TableDataT1[0].TrainNum * result.result.DT_TableDataT1[0].TrainDays;
// return result;
//}
public async Task<dynamic> QueryMatrix(QueryBody filter)
{
dynamic obj = new ExpandoObject();
dynamic result = new ExpandoObject();
var result2 = await _staffServices.QueryFilterPage(filter);
var DT_TableDataT1 = result2.result.DT_TableDataT1;
ModuleParam param = new ModuleParam()
{
langId = filter.langId,
menuName = filter.menuName
};
var module = await _commonServices.GetModuleInfoAsync(param);
//var result1 = new ServicePageResult<Ghre_TitleSkillMatrix_Boltone>(filter.pageNum, result2.result.DT_TablePageInfoT1.TotalCount, filter.pageSize, entitys);
//result1.result.JM_TableColumnT1 = module.Data.JM_TableColumnT1;
var titleSkills = await base.QueryFilterPage(new QueryBody()
{
menuName = "F_TitleSkill_Boltone",
pageNum = 1,
pageSize = 10000,
orderBy = ""
});
var columns = new JArray();
for (int i = 0; i < result2.result.DT_TableDataT1.Count; i++)
{
var column = result2.result.DT_TableDataT1[i];
var item = new JObject
{
new JProperty("StaffID", column.StaffID),
new JProperty("DeptName", column.DeptName),
new JProperty("IndateLabel", column.IndateLabel),
new JProperty("StaffNo", column.StaffNo),
new JProperty("StaffName", column.StaffName),
new JProperty("StaffType1Label", column.StaffType1Label),
new JProperty("TitleName", column.TitleName),
};
columns.Add(item);
}
var list = titleSkills.result.DT_TableDataT1.Select(x => new
{
Code = x.DeptId + "_" + x.TitleId + "_" + x.RequiredElective,
Name = x.DeptName + "(" + x.RequiredElective + ")",
x.CourseId,
x.CourseName,
x.DeptId,
x.DeptName,
x.TitleId,
x.TitleName,
x.RequiredElective,
}).ToList();
var group = list.GroupBy(x => new { x.Name })
.Select(x =>
new
{
x.Key.Name,
items = x.ToList()
}).ToList();
group = group.OrderBy(x => x.Name).ToList();
var demoColumn = module.Data.JM_TableColumnT1.TableColumn.Where(x => x.field == "Demo").FirstOrDefault();
group.ForEach(x =>
{
x.items.ForEach(item =>
{
var column1 = Mapper.Map(demoColumn).ToANew<TableColumn>();
column1.field = item.CourseId + "" + item.DeptId + item.TitleId + item.RequiredElective;
column1.label = item.CourseName;
column1.GroupName = x.Name;
module.Data.JM_TableColumnT1.TableColumn.Add(column1);
});
});
module.Data.JM_TableColumnT1.TableColumn = module.Data.JM_TableColumnT1.TableColumn.Where(x => x.field != "Demo").ToList();
result.JM_TableColumnT1 = module.Data.JM_TableColumnT1;
result.DT_TablePageInfoT1 = result2.result.DT_TablePageInfoT1;
result.DT_TableDataT1 = columns;
obj.result = result;
obj.Success = true;
obj.code = "0";
obj.type = "success";
obj.message = "查询成功!";
return obj;
}
}

@ -38488,6 +38488,26 @@
Type Description balabala
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_TitleSkillMatrix_Boltone.IndateLabel">
<summary>
入职日期
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_TitleSkillMatrix_Boltone.StaffType1Label">
<summary>
员工类别1
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_TitleSkillMatrix_Boltone.DeptName">
<summary>
部门
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_TitleSkillMatrix_Boltone.TitleName">
<summary>
岗位
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.Ghre_SurveyExtendBase.CoverImageUrl">
<summary>
封面图

Loading…
Cancel
Save