录用审批

master
xiaochanghai 7 months ago
parent ba2adf9ffb
commit 464614d778
  1. 45
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  2. 5
      Tiobon.Core.Model/Base/Ghrh/Ghrh_OfferApplyOrder.Dto.Base.cs
  3. 43
      Tiobon.Core.Model/View/Ghrh/Ghrh_OfferApplyOrder.Dto.View.cs
  4. 4
      Tiobon.Core.Services/Ghrh/Ghrh_HumanRequestServices.cs
  5. 119
      Tiobon.Core.Services/Ghrh/Ghrh_OfferApplyOrderServices.cs
  6. 4
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
  7. 4647
      Tiobon.Core/Tiobon.Core.Model.xml
  8. 10
      Tiobon.Core/Tiobon.Core.xml

@ -7360,6 +7360,11 @@
预留字段12
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_OfferApplyOrderBase.Items">
<summary>
薪资明细
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrh_OfferApplyOrderSalaryBase">
<summary>
录用审批单薪资 (Dto.Base)
@ -24602,6 +24607,46 @@
修改信息
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_OfferApplyOrderDto.DeptName">
<summary>
部门
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_OfferApplyOrderDto.TitleName">
<summary>
岗位
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_OfferApplyOrderDto.ChannelLabel">
<summary>
招聘渠道
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_OfferApplyOrderDto.InDate1">
<summary>
入职日期
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_OfferApplyOrderDto.StaffTypeLabel">
<summary>
员工类别
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_OfferApplyOrderDto.GradeName">
<summary>
职称
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_OfferApplyOrderDto.JobName">
<summary>
职等
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_OfferApplyOrderDto.WorkStateLabel">
<summary>
审批状态
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrh_OfferApplyOrderSalaryDto">
<summary>
录用审批单薪资(Dto.View1)

@ -288,4 +288,9 @@ public class Ghrh_OfferApplyOrderBase
/// 预留字段12
/// </summary>
public int? ReverseI2 { get; set; }
/// <summary>
/// 薪资明细
/// </summary>
public List<InsertGhrh_OfferApplyOrderSalaryInput> Items { get; set; }
}

@ -31,4 +31,47 @@ public class Ghrh_OfferApplyOrderDto : Ghrh_OfferApplyOrder
/// 修改信息
/// </summary>
public string UpdateDataInfo { get; set; }
/// <summary>
/// 部门
/// </summary>
public string DeptName { get; set; }
/// <summary>
/// 岗位
/// </summary>
public string TitleName { get; set; }
/// <summary>
/// 招聘渠道
/// </summary>
public string ChannelLabel { get; set; }
/// <summary>
/// 入职日期
/// </summary>
public string InDate1 { get; set; }
/// <summary>
/// 员工类别
/// </summary>
public string StaffTypeLabel { get; set; }
/// <summary>
/// 职称
/// </summary>
public string GradeName { get; set; }
/// <summary>
/// 职等
/// </summary>
public string JobName { get; set; }
/// <summary>
/// 审批状态
/// </summary>
public string WorkStateLabel { get; set; }
public string ReportName { get; set; }
public string ApplicantName { get; set; }
}

@ -1,6 +1,4 @@
using System.Data;
namespace Tiobon.Core.Services;
namespace Tiobon.Core.Services;
/// <summary>
/// 人力需求维护 (服务)

@ -1,4 +1,6 @@
namespace Tiobon.Core.Services;
using Microsoft.IdentityModel.Tokens;
namespace Tiobon.Core.Services;
/// <summary>
/// 录用审批单 (服务)
@ -6,10 +8,123 @@
public class Ghrh_OfferApplyOrderServices : BaseServices<Ghrh_OfferApplyOrder, Ghrh_OfferApplyOrderDto, InsertGhrh_OfferApplyOrderInput, EditGhrh_OfferApplyOrderInput>, IGhrh_OfferApplyOrderServices
{
private readonly IBaseRepository<Ghrh_OfferApplyOrder> _dal;
public Ghrh_OfferApplyOrderServices(ICaching caching, IBaseRepository<Ghrh_OfferApplyOrder> dal)
private readonly IGhrh_OfferApplyOrderSalaryServices _ghrh_OfferApplyOrderSalaryServices;
public Ghrh_OfferApplyOrderServices(ICaching caching, IBaseRepository<Ghrh_OfferApplyOrder> dal, IGhrh_OfferApplyOrderSalaryServices ghrh_OfferApplyOrderSalaryServices)
{
this._dal = dal;
base.BaseDal = dal;
base._caching = caching;
_ghrh_OfferApplyOrderSalaryServices = ghrh_OfferApplyOrderSalaryServices;
}
private async Task SetLabel(Ghrh_OfferApplyOrderDto x)
{
if (x != null)
{
x.InDate1 = DateTimeHelper.ConvertToDayString(x.InDate);
x.ChannelLabel = await GetParaLabel("ResumeChannel", x.Channel);
x.StaffTypeLabel = await GetParaLabel("StaffType2", x.StaffType);
if (x.WorkState.IsNotEmptyOrNull())
{
if (x.WorkState == 0) x.WorkStateLabel = "审批中";
if (x.WorkState == 1) x.WorkStateLabel = "审批通过";
}
}
}
public override async Task<ServicePageResult<Ghrh_OfferApplyOrderDto>> 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 gradeIds = entitys.Where(x => x.GradeId != null).Select(x => x.GradeId).ToList();
var titleIds = entitys.Where(x => x.TitleId != null).Select(x => x.TitleId).ToList();
var jobIds = entitys.Where(x => x.JobId != null).Select(x => x.JobId).ToList();
var reportIds = entitys.Where(x => x.ReportId != null).Select(x => x.ReportId).ToList();
reportIds.AddRange(entitys.Where(x => x.ApplicantId != null).Select(x => x.ApplicantId).ToList());
if (reportIds.Any())
{
var staffs = await Db.Queryable<Ghra_Staff>().Where(x => reportIds.Contains(x.StaffID)).ToListAsync();
entitys.ForEach(rule =>
{
rule.ReportName = staffs.FirstOrDefault(o => rule.ReportId == o.StaffID)?.StaffName;
rule.ApplicantName = staffs.FirstOrDefault(o => rule.ApplicantId == o.StaffID)?.StaffName;
});
}
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;
});
}
for (int i = 0; i < entitys.Count; i++)
{
await SetLabel(entitys[i]);
}
result.result.DT_TableDataT1 = entitys;
return result;
}
public override async Task<long> Add(InsertGhrh_OfferApplyOrderInput entity)
{
entity.OrderNo = await GenerateContinuousSequence("Ghrh_OfferApplyOrder", "OrderNo", "LYSQ");
entity.ApplicantId = GetStaffId();
entity.ApplyTime = DateTime.Now;
var id = await base.Add(entity);
if (entity.Items.IsNotEmptyOrNull())
{
entity.Items.ForEach(x =>
{
x.OrderId = id;
});
await _ghrh_OfferApplyOrderSalaryServices.Add(entity.Items);
}
return id;
}
public override async Task<bool> Update(long Id, EditGhrh_OfferApplyOrderInput editModel)
{
return await base.Update(Id, editModel);
}
}

@ -1,10 +1,8 @@
using Amazon.Runtime.Internal.Transform;
using DinkToPdf;
using DinkToPdf;
using DinkToPdf.Contracts;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using System.IO.Compression;
using Tiobon.Core.IServices;
using static Tiobon.Core.Model.Consts;
namespace Tiobon.Core.Services;

File diff suppressed because it is too large Load Diff

@ -1280,6 +1280,16 @@
面试记录(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrh_OfferApplyOrderController">
<summary>
录用审批单(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrh_OfferApplyOrderSalaryController">
<summary>
录用审批单薪资(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrh_ResumeController">
<summary>
个人简历(Controller)

Loading…
Cancel
Save