培训通知发布时判断题库是否够

This commit is contained in:
wyw 2026-04-10 17:24:01 +08:00
parent bf5fbf1ac7
commit 636c1a0721

View File

@ -138,6 +138,101 @@ namespace APT.SC.WebApi.Controllers.Api.SE
throw new Exception("培训时长不能为0!"); throw new Exception("培训时长不能为0!");
} }
#region
if (ListCour == null || ListCour.Count() < 1)
{
#region
var config = GetEntity<T_SE_SECONFIG>(t => true);
var SCount = 1;
var MCount = 1;
var CCount = 1;
if (config != null)
{
if (config.M_TEST_COUNT > 0 || config.S_TEST_COUNT > 0 || config.C_TEST_COUNT > 0)
{
//王永文 只要有配置 就获取
MCount = config.M_TEST_COUNT;
SCount = config.S_TEST_COUNT;
CCount = config.C_TEST_COUNT;
}
else
{
//保持原来的版本
if (config.M_TEST_COUNT > 0)
{
MCount = config.M_TEST_COUNT;
}
if (config.S_TEST_COUNT > 0)
{
SCount = config.S_TEST_COUNT;
}
if (config.C_TEST_COUNT > 0)
{
CCount = config.C_TEST_COUNT;
}
}
}
var pointIDS = Nav_TrainContentList.Select(t => t.POINT_ID).ToList();
var testidlist = new List<Guid>();
var testFilter = new BaseFilter(entity.ORG_ID);
testFilter.Include = new string[] { "Nav_Points" };
var allTests = GetEntities<T_SE_TEST>(st => st.Nav_Points.Any(pt => pointIDS.Contains(pt.POINT_ID.Value)), testFilter).ToList();
if (allTests.Count() == 0)
{
allTests = GetEntities<T_SE_TEST>(st => st.TRAINNAME.Contains(entity.NAME) && st.Nav_Points.Any(pt => pointIDS.Contains(pt.POINT_ID.Value)), testFilter).ToList();
}
var errorMsg = "";
foreach (var testPoint in pointIDS)
{
var havepoint = allTests.Where(st => st.Nav_Points.Any(pt => pt.POINT_ID == testPoint));
if (havepoint.Count() < 1)
{
var noPoint = GetEntity<T_SE_TEST_ENUM_POINT>(testPoint);
errorMsg += noPoint.NAME + ",";
}
}
if (errorMsg != "")
{
throw new Exception("知识点 " + errorMsg + " 没有题目!");
}
var SCurrentCount = allTests.Count(t => t.TYPE == SETestTypeEnum.);
var MCurrentCount = allTests.Count(t => t.TYPE == SETestTypeEnum.);
var CCurrentCount = allTests.Count(t => t.TYPE == SETestTypeEnum.);
errorMsg = "";
if (SCurrentCount < SCount)
{
errorMsg += "题库中题目数量不足!";
errorMsg += "单选题还需" + (SCount - SCurrentCount) + "题\n";
}
if (MCurrentCount < MCount)
{
errorMsg += "题库中题目数量不足!";
errorMsg += "多选题还需" + (MCount - MCurrentCount) + "题\n";
}
if (CCurrentCount < CCount)
{
errorMsg += "题库中题目数量不足!";
errorMsg += "是非题还需" + (CCount - CCurrentCount) + "题\n";
}
if (errorMsg != "")
{
throw new Exception(errorMsg);
}
#endregion
}
#endregion
entity.STATUS = SETrainNotifyStatus.; entity.STATUS = SETrainNotifyStatus.;
//触发培训通知给所有培训人员 //触发培训通知给所有培训人员
var allSendUserNames = new List<string>(); var allSendUserNames = new List<string>();