年度人力配置

人力需求维护
master
xiaochanghai 8 months ago
parent 23a2014447
commit 2dc9a1ba86
  1. 10
      Model/Tiobon.Web.pdm
  2. 14
      Tiobon.Core.Model/Base/Ghrh/Ghrh_YearHumanSettings.Dto.Base.cs
  3. 2
      Tiobon.Core.Model/Edit/Ghrh/Ghrh_YearHumanSettings.Dto.EditInput.cs
  4. 2
      Tiobon.Core.Model/Insert/Ghrh/Ghrh_YearHumanSettings.Dto.InsertInput.cs
  5. 14
      Tiobon.Core.Model/Models/Ghrh/Ghrh_YearHumanSettings.cs
  6. 23
      Tiobon.Core.Model/View/Ghrh/Ghrh_HumanRequest.Dto.View.cs
  7. 27
      Tiobon.Core.Model/View/Ghrh/Ghrh_YearHumanSettings.Dto.View.cs
  8. 56
      Tiobon.Core.Services/Ghrh/Ghrh_HumanRequestServices.cs
  9. 62
      Tiobon.Core.Services/Ghrh/Ghrh_YearHumanSettingsServices.cs

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<?PowerDesigner AppLocale="UTF16" ID="{C294868A-C3F3-41AD-98CC-78B6D4E0CC40}" Label="" LastModificationDate="1730430582" Name="Tiobon" Objects="2243" Symbols="85" Target="Microsoft SQL Server 2008" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="15.0.0.2613"?>
<?PowerDesigner AppLocale="UTF16" ID="{C294868A-C3F3-41AD-98CC-78B6D4E0CC40}" Label="" LastModificationDate="1730432565" Name="Tiobon" Objects="2243" Symbols="85" Target="Microsoft SQL Server 2008" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="15.0.0.2613"?>
<!-- do not edit this file -->
<Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@ -38326,11 +38326,11 @@ Ghra_staff_InsureBase
</o:Column>
<o:Column Id="o2185">
<a:ObjectID>7EFA7C02-2280-4398-8562-E579EF6A9EBF</a:ObjectID>
<a:Name>职称ID</a:Name>
<a:Name>岗位ID</a:Name>
<a:Code>TitleId</a:Code>
<a:CreationDate>1730425516</a:CreationDate>
<a:Creator>Administrator</a:Creator>
<a:ModificationDate>1730430578</a:ModificationDate>
<a:ModificationDate>1730432549</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:Comment>职称ID</a:Comment>
<a:DataType>int</a:DataType>
@ -38348,11 +38348,11 @@ Ghra_staff_InsureBase
</o:Column>
<o:Column Id="o2187">
<a:ObjectID>95627382-B61B-4C56-9EF7-6F65D023C9C8</a:ObjectID>
<a:Name>岗位ID</a:Name>
<a:Name>职称ID</a:Name>
<a:Code>JobId</a:Code>
<a:CreationDate>1730425516</a:CreationDate>
<a:Creator>Administrator</a:Creator>
<a:ModificationDate>1730430582</a:ModificationDate>
<a:ModificationDate>1730432565</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:Comment>岗位ID</a:Comment>
<a:DataType>int</a:DataType>

@ -6,7 +6,7 @@
*
* Ver
*
*V0.01 2024/11/1 10:15:24 SimonHsiao
*V0.01 2024/11/1 11:10:38 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
@ -35,26 +35,22 @@ namespace Tiobon.Core.Model.Models
/// <summary>
/// 部门ID
/// </summary>
[Display(Name = "DeptId"), Description("部门ID"), MaxLength(100, ErrorMessage = "部门ID 不能超过 100 个字符")]
public string DeptId { get; set; }
public int? DeptId { get; set; }
/// <summary>
/// 职称ID
/// </summary>
[Display(Name = "TitleId"), Description("职称ID"), MaxLength(2000, ErrorMessage = "职称ID 不能超过 2000 个字符")]
public string TitleId { get; set; }
public int? TitleId { get; set; }
/// <summary>
/// 职等ID
/// </summary>
[Display(Name = "GradeId"), Description("职等ID"), MaxLength(2000, ErrorMessage = "职等ID 不能超过 2000 个字符")]
public string GradeId { get; set; }
public int? GradeId { get; set; }
/// <summary>
/// 岗位ID
/// </summary>
[Display(Name = "JobId"), Description("岗位ID"), MaxLength(2000, ErrorMessage = "岗位ID 不能超过 2000 个字符")]
public string JobId { get; set; }
public int? JobId { get; set; }
/// <summary>
/// 预算内编制数

@ -6,7 +6,7 @@
*
* Ver
*
*V0.01 2024/11/1 10:15:24 SimonHsiao
*V0.01 2024/11/1 11:10:38 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*

@ -6,7 +6,7 @@
*
* Ver
*
*V0.01 2024/11/1 10:15:24 SimonHsiao
*V0.01 2024/11/1 11:10:38 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*

@ -6,7 +6,7 @@
*
* Ver
*
*V0.01 2024/11/1 10:15:24 SimonHsiao
*V0.01 2024/11/1 11:10:38 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
@ -37,26 +37,22 @@ namespace Tiobon.Core.Model.Models
/// <summary>
/// 部门ID
/// </summary>
[Display(Name = "DeptId"), Description("部门ID"), MaxLength(100, ErrorMessage = "部门ID 不能超过 100 个字符")]
public string DeptId { get; set; }
public int? DeptId { get; set; }
/// <summary>
/// 职称ID
/// </summary>
[Display(Name = "TitleId"), Description("职称ID"), MaxLength(2000, ErrorMessage = "职称ID 不能超过 2000 个字符")]
public string TitleId { get; set; }
public int? TitleId { get; set; }
/// <summary>
/// 职等ID
/// </summary>
[Display(Name = "GradeId"), Description("职等ID"), MaxLength(2000, ErrorMessage = "职等ID 不能超过 2000 个字符")]
public string GradeId { get; set; }
public int? GradeId { get; set; }
/// <summary>
/// 岗位ID
/// </summary>
[Display(Name = "JobId"), Description("岗位ID"), MaxLength(2000, ErrorMessage = "岗位ID 不能超过 2000 个字符")]
public string JobId { get; set; }
public int? JobId { get; set; }
/// <summary>
/// 预算内编制数

@ -13,7 +13,7 @@
*  
* SimonHsiao
*
*/
*/
namespace Tiobon.Core.Model.Models;
@ -22,13 +22,18 @@ namespace Tiobon.Core.Model.Models;
/// </summary>
public class Ghrh_HumanRequestDto : Ghrh_HumanRequest
{
/// <summary>
/// 创建信息
/// </summary>
public string CreateDataInfo { get; set; }
/// <summary>
/// 创建信息
/// </summary>
public string CreateDataInfo { get; set; }
/// <summary>
/// 修改信息
/// </summary>
public string UpdateDataInfo { get; set; }
public string ApplyDeptName { get; set; }
public string BelongDeptName { get; set; }
public string GradeName { get; set; }
/// <summary>
/// 修改信息
/// </summary>
public string UpdateDataInfo { get; set; }
}

@ -6,14 +6,14 @@
*
* Ver
*
*V0.01 2024/11/1 10:15:24 SimonHsiao
*V0.01 2024/11/1 11:10:38 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
*  
* SimonHsiao
*
*/
*/
namespace Tiobon.Core.Model.Models;
@ -22,13 +22,20 @@ namespace Tiobon.Core.Model.Models;
/// </summary>
public class Ghrh_YearHumanSettingsDto : Ghrh_YearHumanSettings
{
/// <summary>
/// 创建信息
/// </summary>
public string CreateDataInfo { get; set; }
/// <summary>
/// 创建信息
/// </summary>
public string CreateDataInfo { get; set; }
/// <summary>
/// 修改信息
/// </summary>
public string UpdateDataInfo { get; set; }
/// <summary>
/// 修改信息
/// </summary>
public string UpdateDataInfo { get; set; }
public string DeptName { get; set; }
public string TitleName { get; set; }
public string GradeName { get; set; }
public string JobName { get; set; }
}

@ -4,6 +4,8 @@ using Tiobon.Core.Model.Models;
using Tiobon.Core.Services.BASE;
using Tiobon.Core.IRepository.Base;
using Tiobon.Core.Common.Caches;
using Tiobon.Core.Common;
using Tiobon.Core.Model;
namespace Tiobon.Core.Services
{
@ -19,5 +21,59 @@ namespace Tiobon.Core.Services
base.BaseDal = dal;
base._caching = caching;
}
public override async Task<ServicePageResult<Ghrh_HumanRequestDto>> QueryFilterPage(QueryBody filter, string condition, bool? IsEnable = true)
{
var result = await base.QueryFilterPage(filter, condition, IsEnable);
var entitys = result.result.DT_TableDataT1;
var deptIds = entitys.Where(x => x.ApplyDeptId != null).Select(x => x.ApplyDeptId).ToList();
//var titleIds = entitys.Where(x => x.TitleId != null).Select(x => x.TitleId).ToList();
var gradeIds = entitys.Where(x => x.GradeId != null).Select(x => x.GradeId).ToList();
var jobIds = entitys.Where(x => x.JobId != null).Select(x => x.JobId).ToList();
deptIds.AddRange(entitys.Where(x => x.BelongDeptId != null).Select(x => x.BelongDeptId).ToList());
if (deptIds.Any())
{
var depts = await Db.Queryable<Ghro_Dept>().Where(x => deptIds.Contains(x.DeptID)).ToListAsync();
entitys.ForEach(rule =>
{
rule.ApplyDeptName = depts.FirstOrDefault(o => rule.ApplyDeptId == o.DeptID)?.DeptName;
rule.BelongDeptName = depts.FirstOrDefault(o => rule.BelongDeptId == o.DeptID)?.DeptName;
});
}
//if (titleIds.Any())
//{
// var titles = await Db.Queryable<Ghra_Title>().Where(x => titleIds.Contains(x.TitleID)).ToListAsync();
// entitys.ForEach(rule =>
// {
// rule.TitleName = titles.FirstOrDefault(o => rule.TitleId == o.TitleID)?.TitleName;
// });
//}
//if (gradeIds.Any())
//{
// var grades = await Db.Queryable<Ghra_Grade>().Where(x => gradeIds.Contains(x.GradeID)).ToListAsync();
// entitys.ForEach(rule =>
// {
// rule.GradeName = grades.FirstOrDefault(o => rule.GradeId == o.GradeID)?.GradeName;
// });
//}
//if (jobIds.Any())
//{
// var jobs = await Db.Queryable<Ghra_Job>().Where(x => jobIds.Contains(x.JobID)).ToListAsync();
// entitys.ForEach(rule =>
// {
// rule.JobName = jobs.FirstOrDefault(o => rule.JobId == o.JobID)?.JobName;
// });
//}
result.result.DT_TableDataT1 = entitys;
return result;
}
}
}

@ -4,12 +4,14 @@ using Tiobon.Core.Model.Models;
using Tiobon.Core.Services.BASE;
using Tiobon.Core.IRepository.Base;
using Tiobon.Core.Common.Caches;
using Tiobon.Core.Common;
using Tiobon.Core.Model;
namespace Tiobon.Core.Services
{
/// <summary>
/// 年度人力配置 (服务)
/// </summary>
/// <summary>
/// 年度人力配置 (服务)
/// </summary>
public class Ghrh_YearHumanSettingsServices : BaseServices<Ghrh_YearHumanSettings, Ghrh_YearHumanSettingsDto, InsertGhrh_YearHumanSettingsInput, EditGhrh_YearHumanSettingsInput>, IGhrh_YearHumanSettingsServices
{
private readonly IBaseRepository<Ghrh_YearHumanSettings> _dal;
@ -19,5 +21,59 @@ namespace Tiobon.Core.Services
base.BaseDal = dal;
base._caching = caching;
}
public override async Task<ServicePageResult<Ghrh_YearHumanSettingsDto>> QueryFilterPage(QueryBody filter, string condition, bool? IsEnable = true)
{
var result = await base.QueryFilterPage(filter, condition, IsEnable);
var entitys = result.result.DT_TableDataT1;
var deptIds = entitys.Where(x => x.DeptId != null).Select(x => x.DeptId).ToList();
var titleIds = entitys.Where(x => x.TitleId != null).Select(x => x.TitleId).ToList();
var gradeIds = entitys.Where(x => x.GradeId != null).Select(x => x.GradeId).ToList();
var jobIds = entitys.Where(x => x.JobId != null).Select(x => x.JobId).ToList();
if (deptIds.Any())
{
var depts = await Db.Queryable<Ghro_Dept>().Where(x => deptIds.Contains(x.DeptID)).ToListAsync();
entitys.ForEach(rule =>
{
rule.DeptName = depts.FirstOrDefault(o => rule.DeptId == o.DeptID)?.DeptName;
});
}
if (titleIds.Any())
{
var titles = await Db.Queryable<Ghra_Title>().Where(x => titleIds.Contains(x.TitleID)).ToListAsync();
entitys.ForEach(rule =>
{
rule.TitleName = titles.FirstOrDefault(o => rule.TitleId == o.TitleID)?.TitleName;
});
}
if (gradeIds.Any())
{
var grades = await Db.Queryable<Ghra_Grade>().Where(x => gradeIds.Contains(x.GradeID)).ToListAsync();
entitys.ForEach(rule =>
{
rule.GradeName = grades.FirstOrDefault(o => rule.GradeId == o.GradeID)?.GradeName;
});
}
if (jobIds.Any())
{
var jobs = await Db.Queryable<Ghra_Job>().Where(x => jobIds.Contains(x.JobID)).ToListAsync();
entitys.ForEach(rule =>
{
rule.JobName = jobs.FirstOrDefault(o => rule.JobId == o.JobID)?.JobName;
});
}
result.result.DT_TableDataT1 = entitys;
return result;
}
}
}
Loading…
Cancel
Save