培训类型

This commit is contained in:
李超 2023-06-05 16:26:23 +08:00
parent 156069a20b
commit 5e48a4ad91
7 changed files with 121 additions and 73 deletions

View File

@ -1,4 +1,5 @@
using Newtonsoft.Json; using Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using SgManager.AI; using SgManager.AI;
using System; using System;
@ -520,31 +521,41 @@ namespace BLL
} }
} }
//List<Model.PersonItem> getTrainPersonList = new List<Model.PersonItem>(); if (!string.IsNullOrEmpty(trainTypeId) && trainTypeId == Const.SpecialSafeTrainId)//专项安全培训
//var getTrainType = db.Base_TrainType.FirstOrDefault(e => e.TrainTypeId == trainTypeId); {
//if (getTrainType != null && (!getTrainType.IsRepeat.HasValue || getTrainType.IsRepeat == false)) var ids = db.Base_WorkPost.Where(x => x.PostType == "2").Select(x => x.WorkPostId).ToList();
//{ getPersons = getPersons.Where(x => ids.Contains(x.DepartId));
// foreach (var item in getPersons) }
// {
// var getTrainPersonIdList1 = (from x in db.EduTrain_TrainRecordDetail List<Model.PersonItem> getTrainPersonList = new List<Model.PersonItem>();
// join y in db.EduTrain_TrainRecord on x.TrainingId equals y.TrainingId var getTrainType = db.Base_TrainType.FirstOrDefault(e => e.TrainTypeId == trainTypeId);
// where y.ProjectId ==null && y.TrainTypeId == trainTypeId && x.CheckResult == true && x.PersonId == item.PersonId
// select x).FirstOrDefault();
// if (getTrainPersonIdList1 == null)
// {
// var getTrainPersonIdList2 = (from x in db.Training_Task if (getTrainType != null && (!getTrainType.IsRepeat.HasValue || getTrainType.IsRepeat == false))
// join y in db.Training_Plan on x.PlanId equals y.PlanId {
// where y.ProjectId == null && y.TrainTypeId == trainTypeId && y.States != "3" && x.UserId == item.PersonId foreach (var item in getPersons)
// select x).FirstOrDefault(); {
// if (getTrainPersonIdList2 == null) var getTrainPersonIdList1 = (from x in db.EduTrain_TrainRecordDetail
// { join y in db.EduTrain_TrainRecord on x.TrainingId equals y.TrainingId
// getTrainPersonList.Add(item); where y.ProjectId == null && y.TrainTypeId == trainTypeId && x.CheckResult == true && x.PersonId == item.PersonId
// } select x).FirstOrDefault();
// } if (getTrainPersonIdList1 == null)
// } {
// return getTrainPersonList; var getTrainPersonIdList2 = (from x in db.Training_Task
//} join y in db.Training_Plan on x.PlanId equals y.PlanId
//else where y.ProjectId == null && y.TrainTypeId == trainTypeId && y.States != "3" && x.UserId == item.PersonId
select x).FirstOrDefault();
if (getTrainPersonIdList2 == null)
{
getTrainPersonList.Add(item);
}
}
}
return getTrainPersonList;
}
else
{ {
return getPersons.ToList(); return getPersons.ToList();
} }
@ -611,7 +622,11 @@ namespace BLL
List<string> workPostIdList = Funs.GetStrListByStr(workPostIds, ','); List<string> workPostIdList = Funs.GetStrListByStr(workPostIds, ',');
getPersons = getPersons.Where(x => workPostIdList.Contains(x.WorkPostId)); getPersons = getPersons.Where(x => workPostIdList.Contains(x.WorkPostId));
} }
if (!string.IsNullOrEmpty(trainTypeId) &&trainTypeId == Const.SpecialSafeTrainId)//专项安全培训
{
var ids = db.Base_WorkPost.Where(x => x.PostType == "2").Select(x => x.WorkPostId).ToList();
getPersons = getPersons.Where(x => ids.Contains(x.DepartId));
}
List<Model.PersonItem> getTrainPersonList = new List<Model.PersonItem>(); List<Model.PersonItem> getTrainPersonList = new List<Model.PersonItem>();
var getTrainType = TrainTypeService.GetTrainTypeById(trainTypeId); var getTrainType = TrainTypeService.GetTrainTypeById(trainTypeId);
if (getTrainType != null && (!getTrainType.IsRepeat.HasValue || getTrainType.IsRepeat == false)) if (getTrainType != null && (!getTrainType.IsRepeat.HasValue || getTrainType.IsRepeat == false))

View File

@ -113,6 +113,8 @@ namespace BLL
States = x.States, States = x.States,
QRCodeUrl = x.QRCodeUrl.Replace('\\', '/'), QRCodeUrl = x.QRCodeUrl.Replace('\\', '/'),
TrainingPlanId = x.PlanId, TrainingPlanId = x.PlanId,
TrainTypeId= x.TrainTypeId,
TrainTypeName = db.Base_TrainType.Where(xx=>xx.TrainTypeId==x.TrainTypeId).Select(xx=>xx.TrainTypeName).FirstOrDefault()
}).FirstOrDefault(); }).FirstOrDefault();
if (getDataLists != null) if (getDataLists != null)
@ -174,6 +176,7 @@ namespace BLL
DepartIds = getTestPlan.DepartIds, DepartIds = getTestPlan.DepartIds,
States = getTestPlan.States, States = getTestPlan.States,
PlanDate = DateTime.Now, PlanDate = DateTime.Now,
TrainTypeId=getTestPlan.TrainTypeId
}; };
if (!string.IsNullOrEmpty(getTestPlan.ProjectId)) if (!string.IsNullOrEmpty(getTestPlan.ProjectId))
{ {
@ -200,7 +203,6 @@ namespace BLL
db.Training_TestPlan.InsertOnSubmit(newTestPlan); db.Training_TestPlan.InsertOnSubmit(newTestPlan);
db.SubmitChanges(); db.SubmitChanges();
CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(Const.ProjectTestPlanMenuId, newTestPlan.ProjectId, null, newTestPlan.TestPlanId, newTestPlan.PlanDate); CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(Const.ProjectTestPlanMenuId, newTestPlan.ProjectId, null, newTestPlan.TestPlanId, newTestPlan.PlanDate);
} }
else else
@ -220,6 +222,7 @@ namespace BLL
isUpdate.UnitIds = newTestPlan.UnitIds; isUpdate.UnitIds = newTestPlan.UnitIds;
isUpdate.WorkPostIds = newTestPlan.WorkPostIds; isUpdate.WorkPostIds = newTestPlan.WorkPostIds;
isUpdate.DepartIds = newTestPlan.DepartIds; isUpdate.DepartIds = newTestPlan.DepartIds;
isUpdate.TrainTypeId = newTestPlan.TrainTypeId;
////删除 考生记录 ////删除 考生记录
var deleteRecords = from x in db.Training_TestRecord var deleteRecords = from x in db.Training_TestRecord
where x.TestPlanId == isUpdate.TestPlanId where x.TestPlanId == isUpdate.TestPlanId
@ -239,7 +242,7 @@ namespace BLL
} }
db.Training_TestRecord.DeleteAllOnSubmit(deleteRecords); db.Training_TestRecord.DeleteAllOnSubmit(deleteRecords);
db.SubmitChanges(); db.SubmitChanges();
} }
////删除 考试题目类型 ////删除 考试题目类型

View File

@ -5954,6 +5954,10 @@ namespace BLL
/// 实业数据 /// 实业数据
/// </summary> /// </summary>
public const string Project_SYHSEData_SYHSEMenuId = ""; public const string Project_SYHSEData_SYHSEMenuId = "";
/// <summary>
/// 专项安全培训 id
/// </summary>
public static string SpecialSafeTrainId = "0e7fdf78-eaa0-4d00-a60b-490040bbea18";
#endregion #endregion
} }
} }

View File

@ -1511,3 +1511,21 @@ IP地址:::1
出错时间:05/25/2023 07:44:21 出错时间:05/25/2023 07:44:21
错误信息开始=====>
错误类型:NullReferenceException
错误信息:未将对象引用设置到对象的实例。
错误堆栈:
在 FineUIPro.Web.HSSE.EduTrain.TestTraining.GetButtonPower() 位置 D:\project\vs\sggl_cd\SGGL\FineUIPro.Web\HSSE\EduTrain\TestTraining.aspx.cs:行号 345
在 FineUIPro.Web.HSSE.EduTrain.TestTraining.Page_Load(Object sender, EventArgs e) 位置 D:\project\vs\sggl_cd\SGGL\FineUIPro.Web\HSSE\EduTrain\TestTraining.aspx.cs:行号 22
在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
在 System.EventHandler.Invoke(Object sender, EventArgs e)
在 System.Web.UI.Control.OnLoad(EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
出错时间:05/25/2023 16:49:49
出错文件:http://localhost:1295/HSSE/EduTrain/TestTraining.aspx
IP地址:::1
出错时间:05/25/2023 16:49:49

View File

@ -10,7 +10,6 @@ namespace FineUIPro.Web.HSSE.EduTrain
{ {
public partial class TestTrainingItemIn : PageBase public partial class TestTrainingItemIn : PageBase
{ {
#region #region
/// <summary> /// <summary>
/// 上传预设的虚拟路径 /// 上传预设的虚拟路径
@ -162,16 +161,15 @@ namespace FineUIPro.Web.HSSE.EduTrain
var trainings = from x in Funs.DB.Training_TestTraining select x; var trainings = from x in Funs.DB.Training_TestTraining select x;
///岗位 ///岗位
var workPosts = from x in Funs.DB.Base_WorkPost select x; var workPosts = from x in Funs.DB.Base_WorkPost select x;
var departs = from x in Funs.DB.Base_Depart select x;
for (int i = 0; i < ir; i++) for (int i = 0; i < ir; i++)
{ {
Model.View_Training_TestTrainingItem newViewTrainingItem = new Model.View_Training_TestTrainingItem Model.View_Training_TestTrainingItem newViewTrainingItem = new Model.View_Training_TestTrainingItem
{ {
TrainingCode = pds.Rows[i][0].ToString().Trim(), TrainingCode = pds.Rows[i][0].ToString().Trim(),
TrainingItemCode = pds.Rows[i][2].ToString().Trim(), TrainingItemCode = pds.Rows[i][2].ToString().Trim(),
Abstracts = pds.Rows[i][6].ToString().Trim(), Abstracts = pds.Rows[i][5].ToString().Trim(),
AItem = pds.Rows[i][7].ToString().Trim(), AItem = pds.Rows[i][6].ToString().Trim(),
BItem = pds.Rows[i][8].ToString().Trim(), BItem = pds.Rows[i][7].ToString().Trim(),
}; };
////试题类型 ////试题类型
@ -211,8 +209,8 @@ namespace FineUIPro.Web.HSSE.EduTrain
{ {
newViewTrainingItem.TestType = "1"; newViewTrainingItem.TestType = "1";
//newViewTrainingItem.Score = SValue; //newViewTrainingItem.Score = SValue;
newViewTrainingItem.CItem = pds.Rows[i][9].ToString().Trim(); newViewTrainingItem.CItem = pds.Rows[i][8].ToString().Trim();
newViewTrainingItem.DItem = pds.Rows[i][10].ToString().Trim(); newViewTrainingItem.DItem = pds.Rows[i][9].ToString().Trim();
//if (string.IsNullOrEmpty(newViewTrainingItem.AItem) || string.IsNullOrEmpty(newViewTrainingItem.BItem) || string.IsNullOrEmpty(newViewTrainingItem.CItem) || string.IsNullOrEmpty(newViewTrainingItem.DItem)) //if (string.IsNullOrEmpty(newViewTrainingItem.AItem) || string.IsNullOrEmpty(newViewTrainingItem.BItem) || string.IsNullOrEmpty(newViewTrainingItem.CItem) || string.IsNullOrEmpty(newViewTrainingItem.DItem))
//{ //{
// result += "第" + (i + 2).ToString() + "行," + "单选题ABCD都不能为空" + "|"; // result += "第" + (i + 2).ToString() + "行," + "单选题ABCD都不能为空" + "|";
@ -223,9 +221,9 @@ namespace FineUIPro.Web.HSSE.EduTrain
{ {
newViewTrainingItem.TestType = "2"; newViewTrainingItem.TestType = "2";
//newViewTrainingItem.Score = MValue; //newViewTrainingItem.Score = MValue;
newViewTrainingItem.CItem = pds.Rows[i][9].ToString().Trim(); newViewTrainingItem.CItem = pds.Rows[i][8].ToString().Trim();
newViewTrainingItem.DItem = pds.Rows[i][10].ToString().Trim(); newViewTrainingItem.DItem = pds.Rows[i][9].ToString().Trim();
newViewTrainingItem.EItem = pds.Rows[i][11].ToString().Trim(); newViewTrainingItem.EItem = pds.Rows[i][10].ToString().Trim();
//if (string.IsNullOrEmpty(newViewTrainingItem.AItem) || string.IsNullOrEmpty(newViewTrainingItem.BItem) || string.IsNullOrEmpty(newViewTrainingItem.CItem) || string.IsNullOrEmpty(newViewTrainingItem.DItem)) //if (string.IsNullOrEmpty(newViewTrainingItem.AItem) || string.IsNullOrEmpty(newViewTrainingItem.BItem) || string.IsNullOrEmpty(newViewTrainingItem.CItem) || string.IsNullOrEmpty(newViewTrainingItem.DItem))
//{ //{
// result += "第" + (i + 2).ToString() + "行," + "多选题ABCD都不能为空" + "|"; // result += "第" + (i + 2).ToString() + "行," + "多选题ABCD都不能为空" + "|";
@ -268,46 +266,18 @@ namespace FineUIPro.Web.HSSE.EduTrain
newViewTrainingItem.WorkPostIds = ids.Substring(0, ids.LastIndexOf(",")); newViewTrainingItem.WorkPostIds = ids.Substring(0, ids.LastIndexOf(","));
} }
} }
} ////适合部门
string col5 = pds.Rows[i][5].ToString().Trim();
if (!string.IsNullOrEmpty(col5))
{
List<string> DepartSels = Funs.GetStrListByStr(col5, ',');
if (DepartSels.Count() > 0)
{
string ids = string.Empty;
foreach (var item in DepartSels)
{
var wp = departs.FirstOrDefault(x => x.DepartName == item);
if (wp != null)
{
ids += wp.DepartId + ",";
}
else
{
result += "第" + (i + 2).ToString() + "行," + "导入适合部门" + item + "," + "此项基础表不存在!" + "|";
}
}
if (!string.IsNullOrEmpty(ids))
{
newViewTrainingItem.DepartNames = col5;
newViewTrainingItem.DepartIds = ids.Substring(0, ids.LastIndexOf(","));
}
}
} }
////正确答案 ////正确答案
string col12 = pds.Rows[i][12].ToString().Trim(); string col11 = pds.Rows[i][11].ToString().Trim();
if (string.IsNullOrEmpty(col12)) if (string.IsNullOrEmpty(col11))
{ {
result += "第" + (i + 2).ToString() + "行," + "导入正确答案项" + "," + "为必填项!" + "|"; result += "第" + (i + 2).ToString() + "行," + "导入正确答案项" + "," + "为必填项!" + "|";
} }
else else
{ {
int icount = 0; int icount = 0;
List<string> selecItem = Funs.GetStrListByStr(col12, ','); List<string> selecItem = Funs.GetStrListByStr(col11, ',');
foreach (var item in selecItem) foreach (var item in selecItem)
{ {
if (item != "A" && item != "a" && item != "B" && item != "b" && item != "C" && item != "c" && item != "D" && item != "d" && item != "E" && item != "e") if (item != "A" && item != "a" && item != "B" && item != "b" && item != "C" && item != "c" && item != "D" && item != "d" && item != "E" && item != "e")
@ -317,7 +287,7 @@ namespace FineUIPro.Web.HSSE.EduTrain
} }
if (icount == 0) if (icount == 0)
{ {
newViewTrainingItem.AnswerItems = col12.Replace("a", "A").Replace("b", "B").Replace("c", "C").Replace("d", "D").Replace("e", "E"); newViewTrainingItem.AnswerItems = col11.Replace("a", "A").Replace("b", "B").Replace("c", "C").Replace("d", "D").Replace("e", "E");
} }
else else
{ {

View File

@ -245,5 +245,19 @@ namespace Model
get; get;
set; set;
} }
/// <summary>
/// 培训类型ID
/// </summary>
public string TrainTypeId
{
get;
set;
}
public string TrainTypeName
{
get;
set;
}
} }
} }

View File

@ -360387,6 +360387,8 @@ namespace Model
private int _JValue; private int _JValue;
private string _TrainTypeId;
private EntityRef<Sys_User> _Sys_User; private EntityRef<Sys_User> _Sys_User;
private EntityRef<Training_Plan> _Training_Plan; private EntityRef<Training_Plan> _Training_Plan;
@ -360447,6 +360449,8 @@ namespace Model
partial void OnMValueChanged(); partial void OnMValueChanged();
partial void OnJValueChanging(int value); partial void OnJValueChanging(int value);
partial void OnJValueChanged(); partial void OnJValueChanged();
partial void OnTrainTypeIdChanging(string value);
partial void OnTrainTypeIdChanged();
#endregion #endregion
public Training_TestPlan() public Training_TestPlan()
@ -360946,6 +360950,26 @@ namespace Model
} }
} }
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrainTypeId", DbType="NVarChar(50)")]
public string TrainTypeId
{
get
{
return this._TrainTypeId;
}
set
{
if ((this._TrainTypeId != value))
{
this.OnTrainTypeIdChanging(value);
this.SendPropertyChanging();
this._TrainTypeId = value;
this.SendPropertyChanged("TrainTypeId");
this.OnTrainTypeIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Training_TestPlan_Sys_User", Storage="_Sys_User", ThisKey="PlanManId", OtherKey="UserId", IsForeignKey=true)] [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Training_TestPlan_Sys_User", Storage="_Sys_User", ThisKey="PlanManId", OtherKey="UserId", IsForeignKey=true)]
public Sys_User Sys_User public Sys_User Sys_User
{ {