Commit 9e9b119f authored by 黄奎's avatar 黄奎

页面修改

parent 79d1fbb7
...@@ -5,8 +5,16 @@ using System.Text; ...@@ -5,8 +5,16 @@ using System.Text;
namespace Edu.Common.Data namespace Edu.Common.Data
{ {
public class XlsQuestionHelper /// <summary>
/// 导入问题帮助类
/// </summary>
public class QuestionHelper
{ {
/// <summary>
/// 根据Excel文件获取问题列表
/// </summary>
/// <param name="filePath"></param>
/// <returns></returns>
public static List<XlsItem> GetXlsQuestionData(string filePath) public static List<XlsItem> GetXlsQuestionData(string filePath)
{ {
List<XlsItem> xlsItems = new List<XlsItem>(); List<XlsItem> xlsItems = new List<XlsItem>();
......
...@@ -198,6 +198,21 @@ namespace Edu.Common ...@@ -198,6 +198,21 @@ namespace Edu.Common
{ {
return Regex.IsMatch(StrSource, @"^((20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d)$"); return Regex.IsMatch(StrSource, @"^((20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d)$");
} }
/// <summary>
/// 获取英文字母
/// </summary>
/// <param name="index"></param>
/// <returns></returns>
public static string GetEnChar(int index)
{
string[] tempArray = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
if (index < tempArray.Length)
{
return tempArray[index];
}
return "";
}
} }
} }
\ No newline at end of file
...@@ -215,6 +215,7 @@ WHERE 1=1 {1} ...@@ -215,6 +215,7 @@ WHERE 1=1 {1}
StringBuilder wheremanager = new StringBuilder(); StringBuilder wheremanager = new StringBuilder();
StringBuilder whereteacher = new StringBuilder(); StringBuilder whereteacher = new StringBuilder();
StringBuilder whereassist = new StringBuilder(); StringBuilder whereassist = new StringBuilder();
where.AppendFormat(" AND A.{0}={1} ", nameof(Employee_ViewModel.Status), (int)DateStateEnum.Normal);
if (query != null) if (query != null)
{ {
if (query.Group_Id > 0) if (query.Group_Id > 0)
...@@ -346,7 +347,7 @@ FROM ...@@ -346,7 +347,7 @@ FROM
,b.School_Id,IFNULL(B.AssistName,'') AS EmployeeName,B.AssistIcon AS UserIcon,B.Dept_Id,B.Post_Id,B.IDCard ,b.School_Id,IFNULL(B.AssistName,'') AS EmployeeName,B.AssistIcon AS UserIcon,B.Dept_Id,B.Post_Id,B.IDCard
,B.Sex,B.Education,B.EntryTime,B.Address,B.BirthDate ,B.Sex,B.Education,B.EntryTime,B.Address,B.BirthDate
,B.LeaveStatus,B.LeaveTime,B.AssistTel AS EmployeeTel,IFNULL(B.Email,'') AS Email ,B.LeaveStatus,B.LeaveTime,B.AssistTel AS EmployeeTel,IFNULL(B.Email,'') AS Email
FROM rb_assist AS B LEFT JOIN rb_account AS A ON A.AccountId=B.AId AND A.AccountType=3 FROM rb_assist AS B LEFT JOIN rb_account AS A ON A.AccountId=B.AId AND A.AccountType=3
WHERE 1=1 {0} {3} WHERE 1=1 {0} {3}
) AS A LEFT JOIN rb_group AS g ON A.Group_Id=g.GId ) AS A LEFT JOIN rb_group AS g ON A.Group_Id=g.GId
LEFT JOIN rb_school AS s ON A.School_Id=s.SId LEFT JOIN rb_school AS s ON A.School_Id=s.SId
......
...@@ -280,7 +280,8 @@ namespace Edu.WebApi.Controllers.Course ...@@ -280,7 +280,8 @@ namespace Edu.WebApi.Controllers.Course
/// <returns></returns> /// <returns></returns>
public ApiResult ImportExcelQuestion(string filePath,int CourseId) public ApiResult ImportExcelQuestion(string filePath,int CourseId)
{ {
var list = Common.Data.XlsQuestionHelper.GetXlsQuestionData(filePath); var resultList = new List<RB_Question_ViewModel>();
var list = Common.Data.QuestionHelper.GetXlsQuestionData(filePath);
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
var difficultyList = Common.Plugin.EnumHelper.EnumToList(typeof(DifficultyTypeEnum)); var difficultyList = Common.Plugin.EnumHelper.EnumToList(typeof(DifficultyTypeEnum));
...@@ -289,6 +290,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -289,6 +290,7 @@ namespace Edu.WebApi.Controllers.Course
{ {
var model = GetQuestionModel(item, difficultyList, questionTypeList); var model = GetQuestionModel(item, difficultyList, questionTypeList);
model.CourseId = CourseId; model.CourseId = CourseId;
resultList.Add(model);
} }
} }
return ApiResult.Success(); return ApiResult.Success();
...@@ -305,27 +307,309 @@ namespace Edu.WebApi.Controllers.Course ...@@ -305,27 +307,309 @@ namespace Edu.WebApi.Controllers.Course
{ {
DifficultyType = DifficultyTypeEnum.Difficult; DifficultyType = DifficultyTypeEnum.Difficult;
} }
var questionTypeModel = questionTypeList?.Where(qitem => qitem.Name == item.QuestionTypeName)?.FirstOrDefault();
RB_Question_ViewModel model = new RB_Question_ViewModel RB_Question_ViewModel model = new RB_Question_ViewModel
{ {
Title = item.QuestionTitle, Title = item.QuestionTitle,
DifficultyType= DifficultyType, DifficultyType = DifficultyType,
AnswerParse=item.AnswerAnalysis AnswerParse = item.AnswerAnalysis,
QuestionTypeId = questionTypeModel?.QId ?? 0,
QuestionTypeKey = questionTypeModel?.Key ?? "",
}; };
Int32.TryParse(item.ChooseOptionCount, out int ChooseOptionCount);
switch (item.QuestionTypeName) switch (item.QuestionTypeName)
{ {
case "单选题": case "单选题":
Int32.TryParse(item.ChooseOptionCount, out int ChooseOptionCount);
if(ChooseOptionCount>0) if(ChooseOptionCount>0)
{ {
List<optionItem> singleList = new List<optionItem>(); List<optionItem> singleList = new List<optionItem>();
//for (var i = 0; i < ChooseOptionCount; i++) for (var i = 0; i < ChooseOptionCount; i++)
//{ {
// singleList.Add(new optionItem() { var singleModel = new optionItem()
// Name= {
// }) Name = Common.ConvertHelper.GetEnChar(i),
//} Content = "",
model.QuestionContentObj = singleList; IsAnswer=item.QuestionAnswer.Contains(Common.ConvertHelper.GetEnChar(i))
};
if (i == 0)
{
singleModel.Content = item.OptionA;
}
if (i == 1)
{
singleModel.Content = item.OptionB;
}
if (i == 2)
{
singleModel.Content = item.OptionC;
}
if (i == 3)
{
singleModel.Content = item.OptionD;
}
if (i == 4)
{
singleModel.Content = item.OptionE;
}
if (i == 5)
{
singleModel.Content = item.OptionF;
}
if (i == 6)
{
singleModel.Content = item.OptionG;
}
if (i ==7)
{
singleModel.Content = item.OptionH;
}
if (singleModel.IsAnswer)
{
model.Answer = singleModel.Name;
}
singleList.Add(singleModel);
}
model.QuestionContent = Common.Plugin.JsonHelper.Serialize(singleList);
}
if (model.QuestionTypeId == 0)
{
var tempModel = questionTypeList.Where(qitem => qitem.Key == "single")?.FirstOrDefault();
model.QuestionTypeId = tempModel?.QId ?? 0;
model.QuestionTypeKey = tempModel?.Key ?? "";
}
break;
case "多选题":
if (ChooseOptionCount > 0)
{
List<optionItem> multipleList = new List<optionItem>();
string answer = "";
for (var i = 0; i < ChooseOptionCount; i++)
{
var singleModel = new optionItem()
{
Name = Common.ConvertHelper.GetEnChar(i),
Content = "",
IsAnswer = item.QuestionAnswer.Contains(Common.ConvertHelper.GetEnChar(i))
};
if (i == 0)
{
singleModel.Content = item.OptionA;
}
if (i == 1)
{
singleModel.Content = item.OptionB;
}
if (i == 2)
{
singleModel.Content = item.OptionC;
}
if (i == 3)
{
singleModel.Content = item.OptionD;
}
if (i == 4)
{
singleModel.Content = item.OptionE;
}
if (i == 5)
{
singleModel.Content = item.OptionF;
}
if (i == 6)
{
singleModel.Content = item.OptionG;
}
if (i == 7)
{
singleModel.Content = item.OptionH;
}
if (singleModel.IsAnswer)
{
answer+=","+ singleModel.Name;
}
multipleList.Add(singleModel);
}
if (!string.IsNullOrEmpty(answer))
{
answer = answer.Substring(1);
}
model.Answer = answer;
model.QuestionContent = Common.Plugin.JsonHelper.Serialize(multipleList);
}
if (model.QuestionTypeId == 0)
{
var tempModel = questionTypeList.Where(qitem => qitem.Key == "multiple")?.FirstOrDefault();
model.QuestionTypeId = tempModel?.QId ?? 0;
model.QuestionTypeKey = tempModel?.Key ?? "";
}
break;
case "填空题":
if (ChooseOptionCount > 0)
{
List<fillInItem> fillInList = new List<fillInItem>();
string answer = "";
for (var i = 0; i < ChooseOptionCount; i++)
{
var singleModel = new fillInItem()
{
Content = "",
};
if (i == 0)
{
singleModel.Content = item.OptionA;
}
if (i == 1)
{
singleModel.Content = item.OptionB;
}
if (i == 2)
{
singleModel.Content = item.OptionC;
}
if (i == 3)
{
singleModel.Content = item.OptionD;
}
if (i == 4)
{
singleModel.Content = item.OptionE;
}
if (i == 5)
{
singleModel.Content = item.OptionF;
}
if (i == 6)
{
singleModel.Content = item.OptionG;
}
if (i == 7)
{
singleModel.Content = item.OptionH;
}
fillInList.Add(singleModel);
}
if (!string.IsNullOrEmpty(answer))
{
answer = answer.Substring(1);
}
model.Answer = answer;
model.QuestionContent = Common.Plugin.JsonHelper.Serialize(fillInList);
}
if (model.QuestionTypeId == 0)
{
var tempModel = questionTypeList.Where(qitem => qitem.Key == "fill-in")?.FirstOrDefault();
model.QuestionTypeId = tempModel?.QId ?? 0;
model.QuestionTypeKey = tempModel?.Key ?? "";
}
break;
case "判断题":
if (ChooseOptionCount > 0)
{
List<optionItem> judgeList = new List<optionItem>();
for (var i = 0; i < ChooseOptionCount; i++)
{
var singleModel = new optionItem()
{
Name = Common.ConvertHelper.GetEnChar(i),
Content = "",
IsAnswer= item.QuestionAnswer.Contains(Common.ConvertHelper.GetEnChar(i))
};
if (i == 0)
{
singleModel.Content = item.OptionA;
}
if (i == 1)
{
singleModel.Content = item.OptionB;
}
if (i == 2)
{
singleModel.Content = item.OptionC;
}
if (i == 3)
{
singleModel.Content = item.OptionD;
}
if (i == 4)
{
singleModel.Content = item.OptionE;
}
if (i == 5)
{
singleModel.Content = item.OptionF;
}
if (i == 6)
{
singleModel.Content = item.OptionG;
}
if (i == 7)
{
singleModel.Content = item.OptionH;
}
if (singleModel.IsAnswer)
{
model.Answer = singleModel.Name;
}
judgeList.Add(singleModel);
}
model.QuestionContent = Common.Plugin.JsonHelper.Serialize(judgeList);
}
if (model.QuestionTypeId == 0)
{
var tempModel = questionTypeList.Where(qitem => qitem.Key == "judge")?.FirstOrDefault();
model.QuestionTypeId = tempModel?.QId ?? 0;
model.QuestionTypeKey = tempModel?.Key ?? "";
}
break;
case "简答题":
if (ChooseOptionCount > 0)
{
for (var i = 0; i < ChooseOptionCount; i++)
{
if (i == 0)
{
model.QuestionContent = item.OptionA;
}
if (i == 1)
{
model.QuestionContent = item.OptionB;
}
if (i == 2)
{
model.QuestionContent = item.OptionC;
}
if (i == 3)
{
model.QuestionContent = item.OptionD;
}
if (i == 4)
{
model.QuestionContent = item.OptionE;
}
if (i == 5)
{
model.QuestionContent = item.OptionF;
}
if (i == 6)
{
model.QuestionContent = item.OptionG;
}
if (i == 7)
{
model.QuestionContent = item.OptionH;
}
}
}
if (model.QuestionTypeId == 0)
{
var tempModel = questionTypeList.Where(qitem => qitem.Key == "short-answer")?.FirstOrDefault();
model.QuestionTypeId = tempModel?.QId ?? 0;
model.QuestionTypeKey = tempModel?.Key ?? "";
} }
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment