diff --git a/Tiobon.Core.Api/Tiobon.Core.Model.xml b/Tiobon.Core.Api/Tiobon.Core.Model.xml
index fe3bbcc0..75a0f7e0 100644
--- a/Tiobon.Core.Api/Tiobon.Core.Model.xml
+++ b/Tiobon.Core.Api/Tiobon.Core.Model.xml
@@ -2598,7 +2598,7 @@
课件ID
-
+
@@ -2690,11 +2690,6 @@
课前准备
-
-
- 发布时间
-
-
备注
@@ -2785,6 +2780,11 @@
默认封面图Name
+
+
+ 发布时间
+
+
课程分类 (Dto.Base)
@@ -2890,16 +2890,6 @@
场景名称
-
-
- 课程ID
-
-
-
-
- 课程
-
-
备注
@@ -2910,31 +2900,6 @@
排序
-
-
- 标准课时
-
-
-
-
- 学分
-
-
-
-
- 封面图
-
-
-
-
- 是否使用默认封面
-
-
-
-
- 默认封面图Name
-
-
默认标志
@@ -3000,6 +2965,41 @@
预留字段12
+
+
+ 课程ID
+
+
+
+
+ 课程
+
+
+
+
+ 标准课时
+
+
+
+
+ 学分
+
+
+
+
+ 封面图
+
+
+
+
+ 是否使用默认封面
+
+
+
+
+ 默认封面图Name
+
+
Ghre_CourseSnap (Dto.Base)
@@ -16119,7 +16119,7 @@
课件ID
-
+
@@ -16211,11 +16211,6 @@
课前准备
-
-
- 发布时间
-
-
备注
@@ -16306,6 +16301,11 @@
默认封面图Name
+
+
+ 发布时间
+
+
课程分类 (Model)
@@ -16411,16 +16411,6 @@
场景名称
-
-
- 课程ID
-
-
-
-
- 课程
-
-
备注
@@ -16431,31 +16421,6 @@
排序
-
-
- 标准课时
-
-
-
-
- 学分
-
-
-
-
- 封面图
-
-
-
-
- 是否使用默认封面
-
-
-
-
- 默认封面图Name
-
-
默认标志
@@ -16521,6 +16486,41 @@
预留字段12
+
+
+ 课程ID
+
+
+
+
+ 课程
+
+
+
+
+ 标准课时
+
+
+
+
+ 学分
+
+
+
+
+ 封面图
+
+
+
+
+ 是否使用默认封面
+
+
+
+
+ 默认封面图Name
+
+
Ghre_CourseSnap (Model)
diff --git a/Tiobon.Core.Api/Tiobon.Core.xml b/Tiobon.Core.Api/Tiobon.Core.xml
index 988d1941..c26be6aa 100644
--- a/Tiobon.Core.Api/Tiobon.Core.xml
+++ b/Tiobon.Core.Api/Tiobon.Core.xml
@@ -1020,13 +1020,7 @@
条件
-
-
- 获取考试记录明细扩展接口
-
-
-
-
+
提交评语接口
diff --git a/Tiobon.Core.Services/Ghre/Ghre_CertificateServices.cs b/Tiobon.Core.Services/Ghre/Ghre_CertificateServices.cs
index 0c017987..ce325274 100644
--- a/Tiobon.Core.Services/Ghre/Ghre_CertificateServices.cs
+++ b/Tiobon.Core.Services/Ghre/Ghre_CertificateServices.cs
@@ -236,7 +236,7 @@ public class Ghre_CertificateServices : BaseServices.OprateSuccess("导入成功!", data);
}
diff --git a/Tiobon.Core.Services/Ghre/Ghre_CourseClassServices.cs b/Tiobon.Core.Services/Ghre/Ghre_CourseClassServices.cs
index 6991757e..2cf272fb 100644
--- a/Tiobon.Core.Services/Ghre/Ghre_CourseClassServices.cs
+++ b/Tiobon.Core.Services/Ghre/Ghre_CourseClassServices.cs
@@ -134,7 +134,7 @@ public class Ghre_CourseClassServices : BaseServices.OprateSuccess("导入成功!", data);
}
diff --git a/Tiobon.Core.Services/Ghre/Ghre_CourseSceneServices.cs b/Tiobon.Core.Services/Ghre/Ghre_CourseSceneServices.cs
index 4d4698e6..609be4ab 100644
--- a/Tiobon.Core.Services/Ghre/Ghre_CourseSceneServices.cs
+++ b/Tiobon.Core.Services/Ghre/Ghre_CourseSceneServices.cs
@@ -181,7 +181,7 @@ public class Ghre_CourseSceneServices : BaseServices.OprateSuccess("导入成功!", data);
}
diff --git a/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs b/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs
index 7a5d32ea..8b13da6b 100644
--- a/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs
+++ b/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs
@@ -924,7 +924,7 @@ public class Ghre_CourseServices : BaseServices.OprateSuccess("导入成功!", data);
}
diff --git a/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs b/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs
index 4a01a4a6..39bcbb12 100644
--- a/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs
+++ b/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs
@@ -1260,7 +1260,7 @@ public class Ghre_ExamRecordServices : BaseServices.OprateSuccess("导入成功!", data);
}
diff --git a/Tiobon.Core.Services/Ghre/Ghre_QuestionServices.cs b/Tiobon.Core.Services/Ghre/Ghre_QuestionServices.cs
index 47bc596f..e91eb199 100644
--- a/Tiobon.Core.Services/Ghre/Ghre_QuestionServices.cs
+++ b/Tiobon.Core.Services/Ghre/Ghre_QuestionServices.cs
@@ -1089,7 +1089,7 @@ public class Ghre_QuestionServices : BaseServices.OprateSuccess("导入成功!", data);
diff --git a/Tiobon.Core.Services/Ghre/Ghre_TeacherServices.cs b/Tiobon.Core.Services/Ghre/Ghre_TeacherServices.cs
index 9addaeb5..3b265ca7 100644
--- a/Tiobon.Core.Services/Ghre/Ghre_TeacherServices.cs
+++ b/Tiobon.Core.Services/Ghre/Ghre_TeacherServices.cs
@@ -381,8 +381,6 @@ FROM (SELECT A.*,
for (int i = 0; i < dt.Rows.Count; i++)
{
var comments = new List();
-
-
bool isContinue = false;
fields.ForEach(x =>
@@ -404,57 +402,124 @@ FROM (SELECT A.*,
var StaffNo = dt.Rows[i]["工号"].ToString();
var StaffName = dt.Rows[i]["姓名"].ToString();
var SchoolName = dt.Rows[i]["培训机构"].ToString();
- var Score = dt.Rows[i]["讲师编号"].ToString();
- var AdjustScore = dt.Rows[i]["讲师姓名"].ToString();
- var ActualScore = dt.Rows[i]["性别"].ToString();
- var IsPass = dt.Rows[i]["邮箱"].ToString();
- //var IsPass = dt.Rows[i]["手机号码"].ToString();
- //var IsPass = dt.Rows[i]["讲师等级"].ToString();
- //var IsPass = dt.Rows[i]["课时费"].ToString();
- //var IsPass = dt.Rows[i]["擅长领域"].ToString();
-
- if (StaffNo.IsNullOrEmpty() && StaffName.IsNullOrEmpty())
- continue;
-
+ var TeacherNo = dt.Rows[i]["讲师编号"].ToString();
+ var TeacherName = dt.Rows[i]["讲师姓名"].ToString();
+ var Gender = dt.Rows[i]["性别"].ToString();
+ var Email = dt.Rows[i]["邮箱"].ToString();
+ var Mobile = dt.Rows[i]["手机号码"].ToString();
+ var TeacherLevel = dt.Rows[i]["讲师等级"].ToString();
+ var Price = dt.Rows[i]["课时费"].ToString();
+ var SkillPoints = dt.Rows[i]["擅长领域"].ToString();
var remarkSz = dt.Rows[i]["备注"].ToString();
- var staff = await Db.Queryable().Where(x => x.StaffNo == StaffNo && x.StaffName == StaffName).FirstAsync();
- if (staff == null)
- {
- comments.Add($"未查询到该员工,工号或姓名填写错误!");
- data.ErrorCount++;
- dt.Rows[i]["Comments"] = string.Join(";", comments.Select(a => a));
- isExistError = true;
- continue;
- }
- var exam = await Db.Queryable().Where(x => x.Id == MasterId).FirstAsync();
+ var dict = new Dictionary
+ {
+ { "Id", SnowFlakeSingle.Instance.NextId() },
+ { "CreateBy", App.User.ID },
+ { "CreateTime", DateTime.Now },
+ { "RemarkSz", remarkSz }
+ };
+ if (TeacherType.IsNullOrEmpty())
+ continue;
+ if (TeacherType == "内部")
+ {
+ if (StaffNo.IsNullOrEmpty())
+ {
+ comments.Add("工号不能为空!");
+ data.ErrorCount++;
+ dt.Rows[i]["Comments"] = string.Join(";", comments.Select(a => a));
+ isExistError = true;
+ continue;
+ }
+ if (StaffName.IsNullOrEmpty())
+ {
+ comments.Add("姓名不能为空!");
+ data.ErrorCount++;
+ dt.Rows[i]["Comments"] = string.Join(";", comments.Select(a => a));
+ isExistError = true;
+ continue;
+ }
+ var staff = await Db.Queryable().Where(x => x.StaffNo == StaffNo && x.StaffName == StaffName).FirstAsync();
+ if (staff == null)
+ {
+ comments.Add($"未查询到该员工,工号或姓名填写错误!");
+ data.ErrorCount++;
+ dt.Rows[i]["Comments"] = string.Join(";", comments.Select(a => a));
+ isExistError = true;
+ continue;
+ }
- //if (ExamDate.IsNullOrEmpty())
- // ExamDate = DateTime.Now.ToString();
- if (Score.IsNullOrEmpty())
- Score = "0";
+ TeacherNo = staff.StaffNo;
+ TeacherName = staff.StaffName;
+ Email = staff.Email.ObjToString();
+ Mobile = staff.Mobile.ObjToString();
+ Gender = staff.Gender;
- try
+ dict.Add("DeptID", staff.DeptID);
+ dict.Add("StaffId", staff.StaffID);
+ dict.Add("TeacherType", "In");
+ }
+ else
{
- Convert.ToInt32(Score);
+ if (Gender.IsNullOrEmpty())
+ Gender = "unknown";
+ else
+ Gender = Gender == "男" ? "Male" : "Female";
+
+ if (SchoolName.IsNullOrEmpty())
+ {
+ comments.Add("培训机构不能为空!");
+ data.ErrorCount++;
+ dt.Rows[i]["Comments"] = string.Join(";", comments.Select(a => a));
+ isExistError = true;
+ continue;
+ }
+ var school = await Db.Queryable().Where(x => x.SchoolName == SchoolName).FirstAsync();
+ if (school is null)
+ {
+ comments.Add("无效的培训机构!");
+ data.ErrorCount++;
+ dt.Rows[i]["Comments"] = string.Join(";", comments.Select(a => a));
+ isExistError = true;
+ continue;
+ }
+ dict.Add("SchoolId", school.Id);
+
+ if (TeacherNo.IsNullOrEmpty())
+ {
+ comments.Add("讲师编号不能为空!");
+ data.ErrorCount++;
+ dt.Rows[i]["Comments"] = string.Join(";", comments.Select(a => a));
+ isExistError = true;
+ continue;
+ }
+ if (TeacherName.IsNullOrEmpty())
+ {
+ comments.Add("讲师姓名不能为空!");
+ data.ErrorCount++;
+ dt.Rows[i]["Comments"] = string.Join(";", comments.Select(a => a));
+ isExistError = true;
+ continue;
+ }
+ dict.Add("TeacherType", "Out");
}
- catch (Exception)
+ if (TeacherLevel.IsNullOrEmpty())
{
- comments.Add($"考试分数填写有误!");
+ comments.Add("讲师等级不能为空!");
data.ErrorCount++;
dt.Rows[i]["Comments"] = string.Join(";", comments.Select(a => a));
isExistError = true;
continue;
}
- try
- {
- Convert.ToInt32(AdjustScore);
- }
- catch (Exception)
+
+ var items = await GetParaList("TrainingTeacherLevel");
+ TeacherLevel = items.Where(x => x.ParaDetailName == TeacherLevel).FirstOrDefault()?.ParaDetailNo ?? "In";
+
+ if (Price.IsNullOrEmpty())
{
- comments.Add($"调整分填写有误!");
+ comments.Add("课时费不能为空!");
data.ErrorCount++;
dt.Rows[i]["Comments"] = string.Join(";", comments.Select(a => a));
isExistError = true;
@@ -462,76 +527,33 @@ FROM (SELECT A.*,
}
try
{
- Convert.ToInt32(ActualScore);
+ Convert.ToInt32(Price);
}
catch (Exception)
{
- comments.Add($"实操分填写有误!");
+ comments.Add($"课时费填写有误!");
data.ErrorCount++;
dt.Rows[i]["Comments"] = string.Join(";", comments.Select(a => a));
isExistError = true;
continue;
}
- //try
- //{
- // Convert.ToDateTime(ExamDate);
- //}
- //catch (Exception)
- //{
- // comments.Add($"考试日期填写有误!");
- // data.ErrorCount++;
- // dt.Rows[i]["Comments"] = string.Join(";", comments.Select(a => a));
- // isExistError = true;
- // continue;
- //}
- //if (await base.AnyAsync(x => x.CertificateRuleId == rule.Id && x.StaffId == staff.StaffID && x.CourseId == course.Id))
- //{
- // comments.Add($"系统已存在相同证照数据!");
- // data.ErrorCount++;
- // dt.Rows[i]["Comments"] = string.Join(";", comments.Select(a => a));
- // isExistError = true;
- // continue;
- //}
- var snap = await Db.Queryable().FirstAsync(x => x.CourseId == exam.CourseId);
- var ExamRecordId = SnowFlakeSingle.Instance.NextId();
- var StudyRecordId = SnowFlakeSingle.Instance.NextId();
- var dict1 = new Dictionary
- {
- { "Id", StudyRecordId },
- { "CreateBy", App.User.ID },
- { "CreateTime", DateTime.Now },
- { "ExamId", MasterId },
- { "StaffId", staff.StaffID },
- { "CourseId", exam.CourseId },
- { "CourseSnapId", snap?.Id },
- { "CourseSceneId", exam.CourseSceneId },
- { "JoinTime", DateTime.Now },
- { "RemarkSz", "导入讲师维护生成" }
- };
- var dict = new Dictionary
- {
- { "Id", ExamRecordId },
- { "CreateBy", App.User.ID },
- { "CreateTime", DateTime.Now },
- { "ExamId", MasterId },
- { "StudyRecordId", StudyRecordId },
- { "StaffId", staff.StaffID },
- //{ "CourseId", exam.CourseId },
- { "CourseSnapId", snap?.Id },
- { "Score", Score },
- { "AdjustScore", Score },
- { "ActualScore", ActualScore },
- //{ "ExamDate", ExamDate },
- { "IsPass", IsPass=="是"?true:false },
- { "ScoreStatus", "HasScore" },
- { "Source", "ExcelImport" },
- { "ExamPaperId",exam.ExamPaperId },
- { "RemarkSz", remarkSz }
- };
+
+ dict.Add("TeacherNo", TeacherNo);
+ dict.Add("TeacherName", TeacherName);
+ dict.Add("Email", Email);
+ dict.Add("Mobile", Mobile);
+ dict.Add("Gender", Gender);
+ dict.Add("Price", Price);
+ dict.Add("TeacherLevel", TeacherLevel);
+ dict.Add("SkillPoints", SkillPoints);
+
+ if (menuName == "F_TeacherManage")
+ dict.Add("Status", "Wait");
+ else
+ dict.Add("Status", "Temporary");
try
{
- await Db.Insertable(dict1).AS("Ghre_StudyRecord").ExecuteCommandAsync();
- await Db.Insertable(dict).AS("Ghre_ExamRecord").ExecuteCommandAsync();
+ await Db.Insertable(dict).AS("Ghre_Teacher").ExecuteCommandAsync();
data.SuccessCount++;
//data.SuccessCount += list.Count;
}
@@ -543,15 +565,15 @@ FROM (SELECT A.*,
isExistError = true;
continue;
}
-
}
-
if (isExistError)
{
NPOIHelper.ExportExcel(dt, null, "讲师维护", physicsPath + errorFileName);
- data.filePath = errorFileName;
+ data.filePath = "/Advanced" + errorFileName;
}
+
return ServiceResult.OprateSuccess("导入成功!", data);
}
#endregion
+
}
\ No newline at end of file
diff --git a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
index c7def937..461bff80 100644
--- a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
+++ b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
@@ -3678,28 +3678,36 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1
if (await Db.Queryable().AnyAsync(x => x.IdCardNo == data.IDCardNo))
continue;
+ var resume = await base.QuerySingle(x => x.IdCardNo == data.IDCardNo);
+
var deptId = (await Db.Queryable().Where(x => x.DeptNo == data.DeptNo).FirstAsync())?.DeptID;
var titleId = (await Db.Queryable().Where(x => x.TitleNo == data.TitleNo).FirstAsync())?.TitleID;
var gradeId = (await Db.Queryable().Where(x => x.GradeNo == data.GradeNo).FirstAsync())?.GradeID;
var workAddress = (await Db.Queryable().Where(x => x.ZoneNo == data.ZoneNo).FirstAsync())?.ZoneName;
var periodMasterId = (await Db.Queryable().Where(x => x.PeriodMasterNo == data.PeriodMasterNo).FirstAsync())?.PeriodMasterID;
+ var items1 = await GetParaList("ResumeChannel");
+ data.RecruitFrom = items1.Where(x => x.ParaDetailName == data.RecruitFrom).FirstOrDefault()?.ParaDetailNo ?? data.RecruitFrom;
+
var items = new List();
var insert = new Ghrh_OfferApplyOrder()
{
OrderNo = data.WorkNo,
+ WorkNo = data.WorkNo,
DeptId = deptId,
TitleId = titleId,
Channel = data.RecruitFrom,
StaffName = data.EmployName,
IdCardNo = data.IDCardNo,
InDate = data.InDate,
- StaffType = data.StaffType,
+ StaffType1 = data.StaffType,
GradeId = gradeId,
WorkAddress = workAddress,
ProbationSalary = data.TotalAmount,
PeriodMasterId = periodMasterId,
};
+ if (resume != null)
+ insert.ResumeId = resume.Id;
long id = await Db.Insertable(insert).ExecuteReturnSnowflakeIdAsync();
#region 写入数据,并判断是否有错误
@@ -4406,7 +4414,7 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1
23, --
1130, --
0,'Todo',1,'',
- 1,0,0,0,
+ 1,2,0,0,
{App.User.ID},GETDATE(), 'SyncToStaff',
dbo.FS_EncryptByKey({applyOrder?.ProbationSalary ?? 0})
Declare @N_SCID int = SCOPE_IDENTITY()
diff --git a/Tiobon.Core.Services/Ghrh/Ghrh_YearHumanSettingsServices.cs b/Tiobon.Core.Services/Ghrh/Ghrh_YearHumanSettingsServices.cs
index cf15e2b1..c0a36d2e 100644
--- a/Tiobon.Core.Services/Ghrh/Ghrh_YearHumanSettingsServices.cs
+++ b/Tiobon.Core.Services/Ghrh/Ghrh_YearHumanSettingsServices.cs
@@ -421,7 +421,7 @@ public class Ghrh_YearHumanSettingsServices : BaseServices