@ -10,6 +10,7 @@ using Newtonsoft.Json.Linq;
using SqlSugar ;
using SqlSugar ;
using Tiobon.Core.Common ;
using Tiobon.Core.Common ;
using Tiobon.Core.Common.Caches ;
using Tiobon.Core.Common.Caches ;
using Tiobon.Core.Common.DB.Dapper.Extensions ;
using Tiobon.Core.Common.Helper ;
using Tiobon.Core.Common.Helper ;
using Tiobon.Core.Common.UserManager ;
using Tiobon.Core.Common.UserManager ;
using Tiobon.Core.IRepository.Base ;
using Tiobon.Core.IRepository.Base ;
@ -761,15 +762,26 @@ delete from Ghre_ExamPaperQuestion WHERE ExamPaperId='{id}';");
if ( await Db . Queryable < Ghre_Exam > ( ) . AnyAsync ( x = > x . ExamPaperId = = id & & x . Status ! = "Disabled" ) )
if ( await Db . Queryable < Ghre_Exam > ( ) . AnyAsync ( x = > x . ExamPaperId = = id & & x . Status ! = "Disabled" ) )
{
{
var exam = await Db . Queryable < Ghre_Exam > ( ) . FirstAsync ( x = > x . ExamPaperId = = id & & x . Status ! = "Disabled" ) ;
var exam = await Db . Queryable < Ghre_Exam > ( ) . FirstAsync ( x = > x . ExamPaperId = = id & & x . Status ! = "Disabled" ) ;
return ServiceResult . OprateFailed ( $"试卷【{entity.PaperName}({entity.PaperNo})】已与考试【{exam.ExamName}({exam.ExamNo})】关联,暂不可{(status == " Draft " ? " 取 消 发 布 " : " 停 用 ")}" ) ;
if ( exam ! = null ) return ServiceResult . OprateFailed ( $"试卷【{entity.PaperName}({entity.PaperNo})】已与考试【{exam.ExamName}({exam.ExamNo})】关联,暂不可{(status == " Draft " ? " 取 消 发 布 " : " 停 用 ")}" ) ;
}
}
if ( await _ ghre_ExamRecordServices . AnyAsync ( x = > x . ExamPaperId = = id & & x . Status = = "UnderWay" ) )
if ( await _ ghre_ExamRecordServices . AnyAsync ( x = > x . ExamPaperId = = id & & x . Status = = "UnderWay" ) )
{
{
var exam = await _ ghre_ExamRecordServices . QuerySingleDto ( x = > x . ExamPaperId = = id & & x . Status = = "UnderWay" ) ;
var exam = await _ ghre_ExamRecordServices . QuerySingleDto ( x = > x . ExamPaperId = = id & & x . Status = = "UnderWay" ) ;
return ServiceResult . OprateFailed ( $"试卷【{entity.PaperName}({entity.PaperNo})】,当前有学员正在考试中,暂不可{(status == " Draft " ? " 取 消 发 布 " : " 停 用 ")}" ) ;
if ( exam ! = null ) return ServiceResult . OprateFailed ( $"试卷【{entity.PaperName}({entity.PaperNo})】,当前有学员正在考试中,暂不可{(status == " Draft " ? " 取 消 发 布 " : " 停 用 ")}" ) ;
}
}
}
}
if ( status = = "Released" & & entity . Status ! = "Released" )
{
string sql = @ $ "SELECT COUNT(0)
FROM Ghre_ExamPaperQuestion A
JOIN Ghre_Question B ON A . QuestionId = B . Id and B . IsEnable = 0
WHERE A . IsEnable = 1 AND A . ExamPaperId = ' { id } ' ";
var count = await Db . Ado . GetIntAsync ( sql ) ;
if ( count > 0 )
return ServiceResult . OprateFailed ( $"试卷【{entity.PaperName}({entity.PaperNo})】,存在关联试题被删除,暂不可发布,请重新维护数据!" ) ;
}
# endregion
# endregion
BasePoco ent = entity ;
BasePoco ent = entity ;
@ -788,7 +800,7 @@ delete from Ghre_ExamPaperQuestion WHERE ExamPaperId='{id}';");
if ( status = = "Released" )
if ( status = = "Released" )
return ServiceResult . OprateSuccess ( "发布成功!" ) ;
return ServiceResult . OprateSuccess ( "发布成功!" ) ;
else if ( status = = "Draft" )
else if ( status = = "Draft" )
return ServiceResult . OprateSuccess ( "取消发布成功 !" ) ;
return ServiceResult . OprateSuccess ( " 已启用成功,请进入草稿箱查看 !" ) ;
else
else
return ServiceResult . OprateSuccess ( "停用成功!" ) ;
return ServiceResult . OprateSuccess ( "停用成功!" ) ;
@ -834,7 +846,7 @@ delete from Ghre_ExamPaperQuestion WHERE ExamPaperId='{id}';");
TableColumn . Add ( searchItem ) ;
TableColumn . Add ( searchItem ) ;
sql = $"SELECT Id, PaperNo, PaperName FROM Ghre_ExamPaper WHERE LinkId='{linkId}' AND Status ='Released' AND IsEnable=1" ;
sql = $"SELECT Id, PaperNo, PaperName FROM Ghre_ExamPaper WHERE LinkId='{linkId}' AND Status ='Released' AND IsEnable=1" ;
if ( string . IsNullOrWhiteSpace ( keyWords ) )
if ( ! string . IsNullOrWhiteSpace ( keyWords ) )
sql + = $"AND ( PaperNo like '%{keyWords}%' or PaperName like '%{keyWords}%')" ;
sql + = $"AND ( PaperNo like '%{keyWords}%' or PaperName like '%{keyWords}%')" ;
sql + = $" ORDER BY CreateTime DESC" ;
sql + = $" ORDER BY CreateTime DESC" ;
dt = await Db . Ado . GetDataTableAsync ( sql ) ;
dt = await Db . Ado . GetDataTableAsync ( sql ) ;