考试管理支持添加人员并产生对应学习记录

master
xiaochanghai 5 months ago
parent c1e41adc67
commit dde5ab2f3d
  1. 43
      Tiobon.Core.Services/Ghre/Ghre_ExamServices.cs
  2. 23
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs

@ -1131,6 +1131,9 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
await _ghre_ExamStaffServices.Add(insertStaffs);
if (exam.Status == DIC_EXAM_STATUS.RELEASED)
await GenerateStudy(id);
return ServiceResult<long>.OprateSuccess("修改成功!", id);
}
}
@ -1289,7 +1292,30 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
#region 生成学习记录
if (status == Consts.DIC_EXAM_STATUS.RELEASED && entity.Status == Consts.DIC_EXAM_STATUS.DRAFT)
await GenerateStudy(id);
#endregion
if (status == DIC_EXAM_STATUS.RELEASED || status == DIC_EXAM_STATUS.DISABLED || status == DIC_EXAM_STATUS.DRAFT)
{
entity.Status = status;
entities.Add(entity);
}
}
var result = await BaseDal.Update(entities);
if (status == DIC_EXAM_STATUS.RELEASED)
return ServiceResult.OprateSuccess("发布成功!");
else if (status == DIC_EXAM_STATUS.DRAFT)
return ServiceResult.OprateSuccess("取消发布成功!");
else
return ServiceResult.OprateSuccess("归档成功!");
}
#region 生成学习记录
public async Task GenerateStudy(long id)
{
var entity = await BaseDal.QueryById(id);
var staffs = await _ghre_ExamStaffServices.Query(x => x.ExamId == id && x.Source == Consts.DIC_EXAM_STAFF_SOURCE.MANUAL_REQUIRED);
var inserts = new List<Ghre_StudyRecord>();
@ -1342,23 +1368,6 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
}
#endregion
if (status == DIC_EXAM_STATUS.RELEASED || status == DIC_EXAM_STATUS.DISABLED || status == DIC_EXAM_STATUS.DRAFT)
{
entity.Status = status;
entities.Add(entity);
}
}
var result = await BaseDal.Update(entities);
if (status == DIC_EXAM_STATUS.RELEASED)
return ServiceResult.OprateSuccess("发布成功!");
else if (status == DIC_EXAM_STATUS.DRAFT)
return ServiceResult.OprateSuccess("取消发布成功!");
else
return ServiceResult.OprateSuccess("归档成功!");
}
public async Task<ServiceResult> GetStatus(long id)
{
string sql = $@"SELECT A.RoleId, B.RoleNo, B.RoleName

@ -776,6 +776,11 @@ ORDER BY A.SortNo ASC";
#region 查询简历是否存在
public async Task<ServiceResult<dynamic>> CheckIsExist(EditGhrh_ResumeInput input)
{
if (input.Mobile.IsNullOrEmpty())
return ServiceResult<dynamic>.OprateFailed(await QueryLangValue("F_ResumeMaintenance_0228", "手机号不能为空!"));
if (input.StaffName.IsNullOrEmpty())
return ServiceResult<dynamic>.OprateFailed(await QueryLangValue("F_ResumeMaintenance_0229", "姓名不能为空!"));
dynamic obj = new ExpandoObject();
obj.ApplicationStatus = "Hold";
long id = 0;
@ -793,10 +798,9 @@ ORDER BY A.SortNo ASC";
});
else
{
if (resume.IdCardNo.IsNotEmptyOrNull() && input.IdCardNo.IsNullOrEmpty())
if (input.IdCardNo.IsNullOrEmpty())
return ServiceResult<dynamic>.OprateFailed(await QueryLangValue("F_ResumeMaintenance_0147", "请输入身份证号码后六位!"));
if (resume.IdCardNo.IsNotEmptyOrNull() && input.IdCardNo.IsNotEmptyOrNull())
resume = await QuerySingle(x => x.Mobile == input.Mobile && x.IdCardNo.Contains(input.IdCardNo));
id = resume.Id;
@ -4884,6 +4888,8 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1
int staffId = 0;
var sql = "SELECT Top 1 CompanyNo from Ghro_Company where IsEnable=1";
var companyNo = await Db.Ado.GetStringAsync(sql);
await Db.Ado.BeginTranAsync();
@ -4911,6 +4917,14 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1
dict.Add("IsEnable", 1);
#endregion
if (companyNo == "ShiHua")
{
dict.Add("IsCalSalary", 1);
dict.Add("Reverse15", "N");
dict.Add("Reverse13", "Y");
dict.Add("TaxID", 1);
}
DateTime? inTime = null;
long? applyOrderId = null;
var applyOrder = await Db.Queryable<Ghrh_OfferApplyOrder>().Where(x => x.ResumeId == id || x.IdCardNo == entity.IdCardNo).FirstAsync();
@ -4944,7 +4958,7 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1
staffId = await Db.Insertable(dict).AS("Ghra_Staff").ExecuteReturnIdentityAsync();
if (staffId > 0)
{
string sql = $"update Ghra_Staff set Indate='{inTime}' where StaffID={staffId} and Indate is null";
sql = $"update Ghra_Staff set Indate='{inTime}' where StaffID={staffId} and Indate is null";
if (inTime != null)
await Db.Ado.ExecuteCommandAsync(sql);
if (type != "Fast")
@ -5226,6 +5240,8 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1
#endregion
#region 薪资项目同步
if (companyNo == "ShiHua")
{
if (applyOrder != null && inTime != null && applyOrder.ProbationSalary != null)
if (applyOrder.ProbationSalary > 0)
{
@ -5326,6 +5342,7 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1
and ISNULL(a.Amount,0) > 0";
await Db.Ado.ExecuteCommandAsync(sql);
}
}
#endregion
}
await Db.Ado.CommitTranAsync();

Loading…
Cancel
Save