新增 新增考试 关联试卷引用次数

master
xiaochanghai 1 year ago
parent 04acdd94b8
commit a9a202c11e
  1. 490
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  2. 43
      Tiobon.Core.Api/Tiobon.Core.xml
  3. 121
      Tiobon.Core.Services/Ghre/Ghre_ExamServices.cs
  4. 490
      Tiobon.Core/Tiobon.Core.Model.xml
  5. 43
      Tiobon.Core/Tiobon.Core.xml

@ -1940,6 +1940,226 @@
预留字段12
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamRecordBase">
<summary>
Ghre_ExamRecord (Dto.Base)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.ExamId">
<summary>
试卷ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.UserId">
<summary>
用户ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.ExamPaperId">
<summary>
试卷ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Score">
<summary>
得分
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.BeginTime">
<summary>
开始答题时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.EndTime">
<summary>
结束答题时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.ActualBeginTime">
<summary>
实际开始时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.ActualEndTime">
<summary>
实际结束时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.RemarkSz">
<summary>
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.IsDefault">
<summary>
默认标志
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse1">
<summary>
预留字段1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse2">
<summary>
预留字段2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse3">
<summary>
预留字段3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse4">
<summary>
预留字段4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse5">
<summary>
预留字段5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse6">
<summary>
预留字段6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse7">
<summary>
预留字段7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse8">
<summary>
预留字段8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse9">
<summary>
预留字段9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse10">
<summary>
预留字段10
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.ReverseI1">
<summary>
预留字段11
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.ReverseI2">
<summary>
预留字段12
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase">
<summary>
Ghre_ExamRecordDetail (Dto.Base)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.ExamPaperId">
<summary>
试卷ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.ExamRecordId">
<summary>
答题记录ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.QuestionId">
<summary>
题目ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.UserId">
<summary>
用户ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.QuestionAnswerId">
<summary>
题目答案ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.AnswerContent">
<summary>
答案内容
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.RemarkSz">
<summary>
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.IsDefault">
<summary>
默认标志
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse1">
<summary>
预留字段1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse2">
<summary>
预留字段2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse3">
<summary>
预留字段3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse4">
<summary>
预留字段4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse5">
<summary>
预留字段5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse6">
<summary>
预留字段6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse7">
<summary>
预留字段7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse8">
<summary>
预留字段8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse9">
<summary>
预留字段9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse10">
<summary>
预留字段10
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.ReverseI1">
<summary>
预留字段11
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.ReverseI2">
<summary>
预留字段12
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamStaffBase">
<summary>
Ghre_ExamStaff (Dto.Base)
@ -2604,6 +2824,16 @@
试卷题目 (Dto.EditInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.EditGhre_ExamRecordInput">
<summary>
Ghre_ExamRecord (Dto.EditInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.EditGhre_ExamRecordDetailInput">
<summary>
Ghre_ExamRecordDetail (Dto.EditInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.EditGhre_ExamStaffInput">
<summary>
Ghre_ExamStaff (Dto.EditInput)
@ -2694,6 +2924,16 @@
试卷题目 (Dto.InsertInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.InsertGhre_ExamRecordInput">
<summary>
Ghre_ExamRecord (Dto.InsertInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.InsertGhre_ExamRecordDetailInput">
<summary>
Ghre_ExamRecordDetail (Dto.InsertInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.InsertGhre_ExamStaffInput">
<summary>
Ghre_ExamStaff (Dto.InsertInput)
@ -4828,6 +5068,226 @@
预留字段12
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamRecord">
<summary>
Ghre_ExamRecord (Model)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.ExamId">
<summary>
试卷ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.UserId">
<summary>
用户ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.ExamPaperId">
<summary>
试卷ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Score">
<summary>
得分
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.BeginTime">
<summary>
开始答题时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.EndTime">
<summary>
结束答题时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.ActualBeginTime">
<summary>
实际开始时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.ActualEndTime">
<summary>
实际结束时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.RemarkSz">
<summary>
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.IsDefault">
<summary>
默认标志
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse1">
<summary>
预留字段1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse2">
<summary>
预留字段2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse3">
<summary>
预留字段3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse4">
<summary>
预留字段4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse5">
<summary>
预留字段5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse6">
<summary>
预留字段6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse7">
<summary>
预留字段7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse8">
<summary>
预留字段8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse9">
<summary>
预留字段9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse10">
<summary>
预留字段10
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.ReverseI1">
<summary>
预留字段11
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.ReverseI2">
<summary>
预留字段12
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail">
<summary>
Ghre_ExamRecordDetail (Model)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.ExamPaperId">
<summary>
试卷ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.ExamRecordId">
<summary>
答题记录ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.QuestionId">
<summary>
题目ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.UserId">
<summary>
用户ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.QuestionAnswerId">
<summary>
题目答案ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.AnswerContent">
<summary>
答案内容
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.RemarkSz">
<summary>
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.IsDefault">
<summary>
默认标志
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse1">
<summary>
预留字段1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse2">
<summary>
预留字段2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse3">
<summary>
预留字段3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse4">
<summary>
预留字段4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse5">
<summary>
预留字段5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse6">
<summary>
预留字段6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse7">
<summary>
预留字段7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse8">
<summary>
预留字段8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse9">
<summary>
预留字段9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse10">
<summary>
预留字段10
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.ReverseI1">
<summary>
预留字段11
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.ReverseI2">
<summary>
预留字段12
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamStaff">
<summary>
Ghre_ExamStaff (Model)
@ -6401,6 +6861,36 @@
试卷题目(Dto.View)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamRecordDto">
<summary>
Ghre_ExamRecord(Dto.View)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDto.CreateDataInfo">
<summary>
创建信息
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDto.UpdateDataInfo">
<summary>
修改信息
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailDto">
<summary>
Ghre_ExamRecordDetail(Dto.View)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailDto.CreateDataInfo">
<summary>
创建信息
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailDto.UpdateDataInfo">
<summary>
修改信息
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamStaffDto">
<summary>
Ghre_ExamStaff(Dto.View)

@ -377,6 +377,17 @@
<param name="Id">主键ID</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.FileController.UploadLargeAsync(Microsoft.AspNetCore.Http.IFormFile,System.String,System.Int32,System.Int32,System.String)">
<summary>
分片上传
</summary>
<param name="file"></param>
<param name="fileName"></param>
<param name="chunkIndex"></param>
<param name="totalChunks"></param>
<param name="id"></param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Controllers.LoginController">
<summary>
登录管理【无权限】
@ -626,6 +637,28 @@
<param name="pageData">pageData</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamController.UpdateStatus(System.Int64[],System.String)">
<summary>
更新考试状态接口
</summary>
<param name="ids"></param>
<param name="status"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamController.GetStatus(System.Int64)">
<summary>
获取考试状态接口
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamController.StartExam(System.Int64)">
<summary>
开始考试
</summary>
<param name="id">考试ID</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamPaperConfigController">
<summary>
试卷配置(Controller)
@ -685,6 +718,16 @@
试卷题目(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamRecordController">
<summary>
Ghre_ExamRecord(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamRecordDetailController">
<summary>
Ghre_ExamRecordDetail(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamStaffController">
<summary>
Ghre_ExamStaff(Controller)

@ -14,6 +14,7 @@ using SqlSugar;
using Tiobon.Core.Common.Helper;
using Microsoft.AspNetCore.Http;
using Tiobon.Core.Common.UserManager;
using MathNet.Numerics.Distributions;
namespace Tiobon.Core.Services;
@ -287,17 +288,32 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
}
}
}
if (!string.IsNullOrWhiteSpace(status))
conditions += $" AND Status ='{status}'";
sql += " WHERE " + conditions;
if (filter.pageSize == 0)
filter.pageSize = 10000;
var data = await Db.SqlQueryable<Ghre_ExamDto>(sql)
.OrderBy(filter.orderBy)
.ToPageListAsync(filter.pageNum, filter.pageSize, totalCount);
//data.ForEach(async x =>
//{
// x.DifficultyLevelLabel = await GetParaLabel("DifficultyLevel", x.DifficultyLevel);
// x.QuestionTypeLabel = await GetParaLabel("QuestionType", x.QuestionType);
//});
data.ForEach(x =>
{
x.ExamName = x.ExamName + "(" + x.ExamNo + ")";
if (x.Status == "Released" || x.Status == "Disabled")
{
x.canEdit = 0;
x.canDelete = 0;
}
if (x.Status == "Disabled")
{
x.canClose = 0;
x.canPreview = 0;
}
});
return new ServicePageResult<Ghre_ExamDto>(filter.pageNum, totalCount, filter.pageSize, data);
}
@ -554,6 +570,15 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
if (pageData.AfterHowLong == 0)
pageData.AfterHowLong = pageData.AfterHowLong1;
if (string.IsNullOrWhiteSpace(pageData.CoverUrl))
{
var course = await Db.Queryable<Ghre_ExamPaper>().Where(it => it.Id == pageData.ExamPaperId).FirstAsync();
pageData.CoverUrl = course?.CoverUrl;
}
if (string.IsNullOrWhiteSpace(pageData.ExamNo))
pageData.ExamNo = await GenerateContinuousSequence();
if (id == 0)
{
if (string.IsNullOrEmpty(pageData.Status))
@ -561,6 +586,7 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
var insert = Mapper.Map(pageData).ToANew<InsertGhre_ExamInput>();
id = await base.Add(insert);
var insertStaffs = pageData.staffTableData.Select(x => new InsertGhre_ExamStaffInput()
{
ExamId = id,
@ -570,10 +596,18 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
await _ghre_ExamStaffServices.Add(insertStaffs);
Db.Updateable<Ghre_ExamPaper>().SetColumns(it => it.LinkTimes == it.LinkTimes + 1).Where(it => it.Id == insert.ExamPaperId).ExecuteCommand();
return ServiceResult<long>.OprateSuccess("添加成功!", id);
}
else
{
var exam = await base.QueryById(id);
if (exam.ExamPaperId != pageData.ExamPaperId)
{
Db.Updateable<Ghre_ExamPaper>().SetColumns(it => it.LinkTimes == it.LinkTimes - 1).Where(it => it.Id == exam.ExamPaperId && it.LinkTimes > 0).ExecuteCommand();
Db.Updateable<Ghre_ExamPaper>().SetColumns(it => it.LinkTimes == it.LinkTimes + 1).Where(it => it.Id == pageData.ExamPaperId).ExecuteCommand();
}
var insert = Mapper.Map(pageData).ToANew<EditGhre_ExamInput>();
await base.Update(id, insert);
await _ghre_ExamStaffServices.Delete(x => x.ExamId == id);
@ -645,12 +679,23 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
if (!await _ghre_ExamRecordServices.AnyAsync(x => x.ExamId == id))
{
var dt = DateTime.Now;
var exam = await base.QueryById(id);
if (exam.DateType == "ExamDate")
{
if (exam.BeginTime > dt)
return ServiceResult.OprateFailed("考试尚未开始!");
if (exam.EndTime < dt)
return ServiceResult.OprateFailed("考试已结束!");
}
var insrt = new InsertGhre_ExamRecordInput()
{
ExamId = id,
UserId = UserContext.Current.User_Id,
ActualBeginTime = DateTime.Now,
ActualBeginTime = dt,
ExamPaperId = exam.ExamPaperId
};
await _ghre_ExamRecordServices.Add(insrt);
@ -659,4 +704,68 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
return ServiceResult.OprateSuccess("操作成功!");
}
public async Task<string> GenerateContinuousSequence()
{
try
{
string prefixTemp = "E";
string result = string.Empty;
string tableCode = "Ghre_Exam";
string columnCode = "ExamNo";
int length = 6;
int tempLength = 5;
int sequence;
#region 查询
DbSelect dbSelect = new DbSelect(tableCode + " A", "A", null);
dbSelect.IsInitDefaultValue = false;
if (!string.IsNullOrEmpty(prefixTemp))
dbSelect.Select("MAX(SUBSTRING(A." + columnCode + "," + (prefixTemp.Length + 1).ToString() + "," + tempLength.ToString() + "))");
else
dbSelect.Select("MAX(A." + columnCode + ")");
//}
//dbSelect.Select("MAX(CONVERT(DECIMAL,SUBSTRING(A.ISSUE_NO," + (prefix.Length + dateString.Length + 1).ToString() + "," + tempLength.ToString() + ")))");
if (!string.IsNullOrEmpty(prefixTemp))
dbSelect.Where("SUBSTRING(A." + columnCode + ",1," + (prefixTemp.Length).ToString() + ")", " = ", prefixTemp);
dbSelect.Where("LEN(A." + columnCode + ")", "=", length);
string sql = dbSelect.GetSql();
//await Db.Ado.GetScalarAsync(sql)
string maxSequence = Convert.ToString(await Db.Ado.GetScalarAsync(sql));
#endregion
//tempLength = tempLength - dateString.Length;
if (string.IsNullOrEmpty(maxSequence))
result = prefixTemp + Convert.ToString(1).PadLeft(tempLength, '0');
else
{
if (!string.IsNullOrEmpty(prefixTemp))
{
if (int.TryParse(maxSequence, out sequence))
{
sequence += 1;
if (sequence.ToString().Length > tempLength)
throw new Exception("自动生成字串长度已经超过设定长度!");
}
else
throw new Exception("表中的数据无法进行自动编号,请联系软件开发商!");
result = prefixTemp + sequence.ToString().PadLeft(tempLength, '0');
}
else
{
if (int.TryParse(maxSequence, out sequence))
{
sequence += 1;
if (sequence.ToString().Length > length)
throw new Exception("自动生成字串长度已经超过设定长度!");
}
else
throw new Exception("表中的数据无法进行自动编号,请联系软件开发商!");
result = sequence.ToString().PadLeft(length, '0');
}
}
return result;
}
catch (Exception) { throw; }
}
}

@ -1940,6 +1940,226 @@
预留字段12
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamRecordBase">
<summary>
Ghre_ExamRecord (Dto.Base)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.ExamId">
<summary>
试卷ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.UserId">
<summary>
用户ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.ExamPaperId">
<summary>
试卷ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Score">
<summary>
得分
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.BeginTime">
<summary>
开始答题时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.EndTime">
<summary>
结束答题时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.ActualBeginTime">
<summary>
实际开始时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.ActualEndTime">
<summary>
实际结束时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.RemarkSz">
<summary>
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.IsDefault">
<summary>
默认标志
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse1">
<summary>
预留字段1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse2">
<summary>
预留字段2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse3">
<summary>
预留字段3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse4">
<summary>
预留字段4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse5">
<summary>
预留字段5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse6">
<summary>
预留字段6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse7">
<summary>
预留字段7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse8">
<summary>
预留字段8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse9">
<summary>
预留字段9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.Reverse10">
<summary>
预留字段10
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.ReverseI1">
<summary>
预留字段11
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordBase.ReverseI2">
<summary>
预留字段12
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase">
<summary>
Ghre_ExamRecordDetail (Dto.Base)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.ExamPaperId">
<summary>
试卷ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.ExamRecordId">
<summary>
答题记录ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.QuestionId">
<summary>
题目ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.UserId">
<summary>
用户ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.QuestionAnswerId">
<summary>
题目答案ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.AnswerContent">
<summary>
答案内容
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.RemarkSz">
<summary>
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.IsDefault">
<summary>
默认标志
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse1">
<summary>
预留字段1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse2">
<summary>
预留字段2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse3">
<summary>
预留字段3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse4">
<summary>
预留字段4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse5">
<summary>
预留字段5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse6">
<summary>
预留字段6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse7">
<summary>
预留字段7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse8">
<summary>
预留字段8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse9">
<summary>
预留字段9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.Reverse10">
<summary>
预留字段10
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.ReverseI1">
<summary>
预留字段11
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailBase.ReverseI2">
<summary>
预留字段12
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamStaffBase">
<summary>
Ghre_ExamStaff (Dto.Base)
@ -2604,6 +2824,16 @@
试卷题目 (Dto.EditInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.EditGhre_ExamRecordInput">
<summary>
Ghre_ExamRecord (Dto.EditInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.EditGhre_ExamRecordDetailInput">
<summary>
Ghre_ExamRecordDetail (Dto.EditInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.EditGhre_ExamStaffInput">
<summary>
Ghre_ExamStaff (Dto.EditInput)
@ -2694,6 +2924,16 @@
试卷题目 (Dto.InsertInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.InsertGhre_ExamRecordInput">
<summary>
Ghre_ExamRecord (Dto.InsertInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.InsertGhre_ExamRecordDetailInput">
<summary>
Ghre_ExamRecordDetail (Dto.InsertInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.InsertGhre_ExamStaffInput">
<summary>
Ghre_ExamStaff (Dto.InsertInput)
@ -4828,6 +5068,226 @@
预留字段12
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamRecord">
<summary>
Ghre_ExamRecord (Model)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.ExamId">
<summary>
试卷ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.UserId">
<summary>
用户ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.ExamPaperId">
<summary>
试卷ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Score">
<summary>
得分
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.BeginTime">
<summary>
开始答题时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.EndTime">
<summary>
结束答题时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.ActualBeginTime">
<summary>
实际开始时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.ActualEndTime">
<summary>
实际结束时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.RemarkSz">
<summary>
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.IsDefault">
<summary>
默认标志
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse1">
<summary>
预留字段1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse2">
<summary>
预留字段2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse3">
<summary>
预留字段3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse4">
<summary>
预留字段4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse5">
<summary>
预留字段5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse6">
<summary>
预留字段6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse7">
<summary>
预留字段7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse8">
<summary>
预留字段8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse9">
<summary>
预留字段9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.Reverse10">
<summary>
预留字段10
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.ReverseI1">
<summary>
预留字段11
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecord.ReverseI2">
<summary>
预留字段12
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail">
<summary>
Ghre_ExamRecordDetail (Model)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.ExamPaperId">
<summary>
试卷ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.ExamRecordId">
<summary>
答题记录ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.QuestionId">
<summary>
题目ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.UserId">
<summary>
用户ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.QuestionAnswerId">
<summary>
题目答案ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.AnswerContent">
<summary>
答案内容
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.RemarkSz">
<summary>
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.IsDefault">
<summary>
默认标志
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse1">
<summary>
预留字段1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse2">
<summary>
预留字段2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse3">
<summary>
预留字段3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse4">
<summary>
预留字段4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse5">
<summary>
预留字段5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse6">
<summary>
预留字段6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse7">
<summary>
预留字段7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse8">
<summary>
预留字段8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse9">
<summary>
预留字段9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.Reverse10">
<summary>
预留字段10
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.ReverseI1">
<summary>
预留字段11
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetail.ReverseI2">
<summary>
预留字段12
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamStaff">
<summary>
Ghre_ExamStaff (Model)
@ -6401,6 +6861,36 @@
试卷题目(Dto.View)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamRecordDto">
<summary>
Ghre_ExamRecord(Dto.View)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDto.CreateDataInfo">
<summary>
创建信息
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDto.UpdateDataInfo">
<summary>
修改信息
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailDto">
<summary>
Ghre_ExamRecordDetail(Dto.View)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailDto.CreateDataInfo">
<summary>
创建信息
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamRecordDetailDto.UpdateDataInfo">
<summary>
修改信息
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_ExamStaffDto">
<summary>
Ghre_ExamStaff(Dto.View)

@ -377,6 +377,17 @@
<param name="Id">主键ID</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.FileController.UploadLargeAsync(Microsoft.AspNetCore.Http.IFormFile,System.String,System.Int32,System.Int32,System.String)">
<summary>
分片上传
</summary>
<param name="file"></param>
<param name="fileName"></param>
<param name="chunkIndex"></param>
<param name="totalChunks"></param>
<param name="id"></param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Controllers.LoginController">
<summary>
登录管理【无权限】
@ -626,6 +637,28 @@
<param name="pageData">pageData</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamController.UpdateStatus(System.Int64[],System.String)">
<summary>
更新考试状态接口
</summary>
<param name="ids"></param>
<param name="status"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamController.GetStatus(System.Int64)">
<summary>
获取考试状态接口
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamController.StartExam(System.Int64)">
<summary>
开始考试
</summary>
<param name="id">考试ID</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamPaperConfigController">
<summary>
试卷配置(Controller)
@ -685,6 +718,16 @@
试卷题目(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamRecordController">
<summary>
Ghre_ExamRecord(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamRecordDetailController">
<summary>
Ghre_ExamRecordDetail(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamStaffController">
<summary>
Ghre_ExamStaff(Controller)

Loading…
Cancel
Save