附件保存优化

master
xiaochanghai 6 months ago
parent ad58cd89d7
commit a810fe2e77
  1. 5
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  2. 5
      Tiobon.Core.Model/View/Ghrh/Ghrh_Resume.Dto.View.cs
  3. 20
      Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs
  4. 6
      Tiobon.Core.Services/Ghre/Ghre_CourseWareServices.cs
  5. 45
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
  6. 5
      Tiobon.Core/Tiobon.Core.Model.xml

@ -28277,6 +28277,11 @@
是否可以取消
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_ResumeDto.IsPrimary">
<summary>
是否为主面试官
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrh_ResumeEduBGDto">
<summary>
教育背景(Dto.View1)

@ -267,4 +267,9 @@ public class Ghrh_ResumeDto : Ghrh_Resume
/// </summary>
public bool IsAllowCancel { get; set; } = false;
/// <summary>
/// 是否为主面试官
/// </summary>
public bool IsPrimary { get; set; } = true;
}

@ -338,6 +338,26 @@ public class Ghre_CourseServices : BaseServices<Ghre_Course, Ghre_CourseDto, Ins
entity.PublishTime = DateTime.Now;
}
else if (status == Consts.DIC_COURSE_STATUS.DRAFT && entity.Status == Consts.DIC_COURSE_STATUS.RELEASED)
{
#region 课程ID 同步至课件
if (!entity.CourseWareId.IsNull())
{
var wares = await Db.Queryable<Ghre_CourseWare>().Where(x => x.CourseIds.Contains(id.ToString()) && x.Id != id).ToListAsync();
for (int j = 0; j < wares.Count; j++)
{
var courseIds2 = new List<long>();
if (!string.IsNullOrWhiteSpace(wares[j].CourseIds))
courseIds2 = JsonConvert.DeserializeObject<List<long>>(wares[j].CourseIds);
courseIds2 = courseIds2.Where(x => x != id).ToList();
wares[j].CourseIds = JsonConvert.SerializeObject(courseIds2);
}
await Db.Updateable(wares).UpdateColumns(it => new { it.CourseIds }).ExecuteCommandAsync();
}
#endregion
}
#endregion
if (entity.Status == Consts.DIC_COURSE_STATUS.RELEASED)

@ -29,12 +29,15 @@ public class Ghre_CourseWareServices : BaseServices<Ghre_CourseWare, Ghre_Course
public override async Task<long> Add(InsertGhre_CourseWareInput entity)
{
if (await base.AnyAsync(x => x.CourseWareName == entity.CourseWareName && x.VersionNo == entity.VersionNo))
throw new Exception("已存在相同课名称和版本号数据!");
if (entity.CourseIds2.Any())
{
entity.CourseIds = JsonConvert.SerializeObject(entity.CourseIds2);
var courses = await _ghre_CourseServices.Query(x => entity.CourseIds2.Contains(x.Id));
entity.CourseNames = string.Join(",", courses.Select(x => x.CourseName));
}
var result = await base.Add(entity);
entity.Attachments.ForEach(x =>
{
@ -47,6 +50,9 @@ public class Ghre_CourseWareServices : BaseServices<Ghre_CourseWare, Ghre_Course
public override async Task<bool> Update(long Id, EditGhre_CourseWareInput editModel)
{
if (await base.AnyAsync(x => x.CourseWareName == editModel.CourseWareName && x.VersionNo == editModel.VersionNo && x.Id != Id))
throw new Exception("已存在相同课名称和版本号数据!");
if (editModel.CourseIds2.Any())
{
editModel.CourseIds = JsonConvert.SerializeObject(editModel.CourseIds2);

@ -1875,7 +1875,7 @@ END";
record.InterviewAddress = body.InterviewAddress;
});
await _ghrh_InterviewRecordServices.Update(records, ["InterviewTime", "InterviewBeginTime", "InterviewEndTime", "Status", "UpdateTime", "UpdateBy"]);
await _ghrh_InterviewRecordServices.Update(records, ["InterviewTime", "InterviewBeginTime", "InterviewEndTime", "Status", "InterviewStepName", "RemarkSz", "InterviewAddress", "UpdateTime", "UpdateBy"]);
await _ghrh_InterviewOrderServices.Update(order, ["InterviewStepName", "UpdateTime", "UpdateBy"]);
await LogRecord(order.Id, $"安排面试,面试时间:{body.Time},面试地点:{body.InterviewAddress},面试备注:{body.Remark ?? ""}", id, records[0].Id, "ScheduleInterview", true);
@ -2234,7 +2234,7 @@ END";
if (order != null)
{
await UpdateInterviewOrderStatus(order, DIC_INTERVIEW_ORDER_STATUS.HasSendOffer);
await UpdateInterviewRecordStatus(order, DIC_INTERVIEW_ORDER_STATUS.HasSendOffer);
//await UpdateInterviewRecordStatus(order, DIC_INTERVIEW_ORDER_STATUS.HasSendOffer);
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput()
{
@ -2441,7 +2441,7 @@ END";
await Update(entity, ["Status"]);
await _ghrh_InterviewOrderServices.Update(order, ["Status"]);
await _ghrh_InterviewRecordServices.Update(records, ["Status"]);
//await _ghrh_InterviewRecordServices.Update(records, ["Status"]);
await LogRecord(order.Id, isOffer == true ? "标记为已报到!" : "标记为未报到!", id, null, "CheckIn");
}
else
@ -2552,7 +2552,7 @@ END";
{
await UpdateInterviewOrderStatus(order, DIC_INTERVIEW_ORDER_STATUS.WaitSendOffer);
await UpdateInterviewRecordStatus(order, DIC_INTERVIEW_ORDER_STATUS.WaitSendOffer);
//await UpdateInterviewRecordStatus(order, DIC_INTERVIEW_ORDER_STATUS.WaitSendOffer);
await LogRecord(order.Id, "转入待发Offer!", id, null, "TransferWaitSendOffer");
}
}
@ -2661,13 +2661,16 @@ END";
C.CancelReason,
CONVERT
(BIT, CASE B.[Round] WHEN C.[Round] THEN 'true' ELSE 'false' END) AS IsAllowAssess,
ISNULL(A.UpdateTime, A.CreateTime) CreateTime1
ISNULL(A.UpdateTime, A.CreateTime) CreateTime1,
C.IsPrimary
FROM Ghrh_Resume A
JOIN Ghrh_InterviewOrder B ON A.ID = B.ResumeId
JOIN Ghrh_InterviewRecord C
ON B.ID = C.OrderId
AND B.[Round] = C.[Round]
WHERE A.IsEnable = 1 AND C.IsEnable = 1 AND C.Status = A.Status AND B.IsEnable = 1";
WHERE A.IsEnable = 1 AND C.IsEnable = 1
-- AND C.Status = A.Status AND B.IsEnable = 1
";
if (string.IsNullOrWhiteSpace(filter.orderBy))
filter.orderBy = "CreateTime1 ASC";
@ -2703,11 +2706,14 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 AND C.Status = A.Status AND B.IsEnable =
break;
case "WaitInterview":
if (jsonParam.columnValue.ObjToInt() == 1)
sql += $" AND C.Status = '{DIC_INTERVIEW_ORDER_STATUS.WaitInterview}'";
sql += $" AND B.Status = '{DIC_INTERVIEW_ORDER_STATUS.WaitInterview}'";
break;
case "HasInterview":
if (jsonParam.columnValue.ObjToInt() == 1)
sql += $" AND (C.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasInterview}' OR C.Status = '{DIC_INTERVIEW_ORDER_STATUS.InterviewFail}')";
{
sql += $" AND (B.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasInterview}' OR B.Status = '{DIC_INTERVIEW_ORDER_STATUS.InterviewFail}')";
sql += $" AND (C.Status = '{DIC_INTERVIEW_ORDER_STATUS.WaitInterview}' OR B.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasInterview}' OR B.Status = '{DIC_INTERVIEW_ORDER_STATUS.InterviewFail}')";
}
break;
case "WaitSendOffer":
if (jsonParam.columnValue.ObjToInt() == 1)
@ -3517,12 +3523,18 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 AND C.Status = A.Status AND B.IsEnable =
if (records[j].Round == order.Round && assessConfigId.ObjToString() == "IsPass")
{
if (assessContent == "1")
{
isPass = true;
records[j].IsPass = true;
}
}
if (records[j].Round == order.Round && assessConfigId.ObjToString() == "EvaluateContent")
{
evaluateContent = assessContent;
records[j].InterviewResult = isPass == records[j].IsPass == false ? "面试不通过" : "面试通过";
records[j].InterviewResultRemark = evaluateContent;
}
records[j].AssessTime = DateTime.Now;
await _ghrh_InterviewAssessDetailServices.Add(new InsertGhrh_InterviewAssessDetailInput()
{
InterviewAssessId = interviewAssessId,
@ -3555,22 +3567,17 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 AND C.Status = A.Status AND B.IsEnable =
if (source == "ess")
{
var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id && x.StaffId == GetStaffId());
record.InterviewResult = InterviewResult;
record.InterviewResultRemark = evaluateContent;
record.IsPass = isPass;
record.AssessTime = DateTime.Now;
record.Status = Status;
await _ghrh_InterviewRecordServices.Update(record, ["AssessTime", "Status", "IsPass", "InterviewResult", "InterviewResultRemark", "UpdateTime", "UpdateBy"]);
var record = records.Where(x => x.Round == order.Round && x.OrderId == order.Id && x.StaffId == GetStaffId()).FirstOrDefault();
if (record != null)
{
record.Status = Status;
await _ghrh_InterviewRecordServices.Update(record, ["AssessTime", "Status", "IsPass", "InterviewResult", "InterviewResultRemark", "UpdateTime", "UpdateBy"]);
}
}
else
{
records.ForEach(record =>
{
record.InterviewResult = InterviewResult;
record.InterviewResultRemark = evaluateContent;
record.IsPass = isPass;
record.AssessTime = DateTime.Now;
record.Status = Status;
});
await _ghrh_InterviewRecordServices.Update(records, ["AssessTime", "Status", "IsPass", "InterviewResult", "InterviewResultRemark", "UpdateTime", "UpdateBy"]);

@ -28277,6 +28277,11 @@
是否可以取消
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_ResumeDto.IsPrimary">
<summary>
是否为主面试官
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrh_ResumeEduBGDto">
<summary>
教育背景(Dto.View1)

Loading…
Cancel
Save