学习园地

This commit is contained in:
2026-10-13 15:32:31 +08:00
parent ec60636947
commit 29b15d4b54
28 changed files with 3926 additions and 1 deletions
+81
View File
@@ -0,0 +1,81 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace BLL
{
/// <summary>
/// 学习园地
/// </summary>
public static class APIStudyZoneService
{
/// <summary>
/// 获取学习园地列表
/// </summary>
/// <param name="supId"></param>
/// <returns></returns>
public static List<Model.StudyZoneType> getStudyZoneTypeList(string supId)
{
using (Model.CNPCDB db = new Model.CNPCDB(Funs.ConnString))
{
var getDataLists = (from x in db.Training_StudyZone
orderby x.StudyZoneCode
select new Model.StudyZoneType
{
StudyZoneId = x.StudyZoneId,
StudyZoneCode = x.StudyZoneCode,
StudyZoneName = x.StudyZoneName,
SupStudyZoneId = x.SupStudyZoneId,
IsEndLever = x.IsEndLever ?? true,
}).ToList();
if (!string.IsNullOrWhiteSpace(supId))
{
getDataLists = getDataLists.Where(x => x.SupStudyZoneId == supId).ToList();
}
return getDataLists;
}
}
#region 获取学习园地教材列表
/// <summary>
/// 获取学习园地列表
/// </summary>
/// <param name="typeId"></param>
/// <param name="itemName"></param>
/// <returns></returns>
public static List<Model.StudyZoneItemItem> getStudyZoneItemList(string typeId, string itemName)
{
using (Model.CNPCDB db = new Model.CNPCDB(Funs.ConnString))
{
var getDataLists = (from x in db.Training_StudyZoneItem
join y in db.Training_StudyZone on x.StudyZoneId equals y.StudyZoneId into temp
from y in temp.DefaultIfEmpty()
orderby x.StudyZoneItemCode
select new Model.StudyZoneItemItem
{
StudyZoneItemId = x.StudyZoneItemId,
StudyZoneId = x.StudyZoneId,
StudyZoneCode = y.StudyZoneCode,
StudyZoneName = y.StudyZoneName,
StudyZoneItemCode = x.StudyZoneItemCode,
StudyZoneItemName = x.StudyZoneItemName,
AttachUrl = db.AttachFile.FirstOrDefault(y => y.ToKeyId == x.StudyZoneItemId).AttachUrl.Replace("\\", "/"),
//AttachUrl = x.AttachUrl.Replace('\\', '/'),
}).ToList();
if (!string.IsNullOrWhiteSpace(typeId))
{
getDataLists = getDataLists.Where(x => x.StudyZoneId == typeId).ToList();
}
if (!string.IsNullOrWhiteSpace(itemName))
{
getDataLists = getDataLists.Where(x => x.StudyZoneItemName.Contains(itemName)).ToList();
}
return getDataLists;
}
}
#endregion
}
}
+3
View File
@@ -247,6 +247,7 @@
<Compile Include="API\HSSE\APITestRecordService.cs" />
<Compile Include="API\HSSE\APIBonusScoreSelfManagementService.cs" />
<Compile Include="API\HSSE\APITrainingPlanService.cs" />
<Compile Include="API\HSSE\APIStudyZoneService.cs" />
<Compile Include="API\HSSE\APITrainingTaskService.cs" />
<Compile Include="API\HSSE\APITrainTestRecordService.cs" />
<Compile Include="API\HSSE\APITrainRecordService.cs" />
@@ -575,7 +576,9 @@
<Compile Include="HSSE\CostGoods\GoodsManageService.cs" />
<Compile Include="HSSE\EduTrain\AccidentCaseItemService.cs" />
<Compile Include="HSSE\EduTrain\AccidentCaseService.cs" />
<Compile Include="HSSE\EduTrain\StudyZoneItemService.cs" />
<Compile Include="HSSE\EduTrain\CompanyTrainingItemService.cs" />
<Compile Include="HSSE\EduTrain\StudyZoneService.cs" />
<Compile Include="HSSE\EduTrain\CompanyTrainingService.cs" />
<Compile Include="HSSE\EduTrain\EduTrain_TrainRecordDetailService.cs" />
<Compile Include="HSSE\EduTrain\EduTrain_TrainRecordService.cs" />
+8
View File
@@ -2065,6 +2065,10 @@ namespace BLL
#region 安全教育
/// <summary>
/// 学习园地资料库
/// </summary>
public const string StudyZoneMenuId = "B0491FC1-804A-4A41-A959-F165EA32D9DD";
/// <summary>
/// 培训教材库
/// </summary>
public const string TrainDBMenuId = "9D99A981-7380-4085-84FA-8C3B1AFA6202";
@@ -3947,6 +3951,10 @@ namespace BLL
/// </summary>
public const string TrainRecordTemplateUrl = "File\\Excel\\DataIn\\人员培训导入模板.xls";
/// <summary>
/// 学习园地资源库模板文件原始的虚拟路径
/// </summary>
public const string StudyZoneTemplateUrl = "File\\Excel\\DataIn\\学习园地资源库导入模板.xls";
/// <summary>
/// 公司教材库模板文件原始的虚拟路径
/// </summary>
public const string CompanyTrainingTemplateUrl = "File\\Excel\\DataIn\\公司教材库导入模板.xls";
@@ -0,0 +1,121 @@
using System.Collections.Generic;
using System.Linq;
namespace BLL
{
/// <summary>
/// 学习园地明细表——教材库
/// </summary>
public class StudyZoneItemService
{
/// <summary>
/// 根据主键获取学习园地明细信息
/// </summary>
/// <param name="companyTrainingItemId"></param>
/// <returns></returns>
public static Model.Training_StudyZoneItem GetStudyZoneItemById(string companyTrainingItemId)
{
Model.CNPCDB db = Funs.DB;
return db.Training_StudyZoneItem.FirstOrDefault(e => e.StudyZoneItemId == companyTrainingItemId);
}
/// <summary>
/// 添加学习园地明细
/// </summary>
/// <param name="model"></param>
public static void AddStudyZoneItem(Model.Training_StudyZoneItem model)
{
Model.CNPCDB db = Funs.DB;
Model.Training_StudyZoneItem newModel = new Model.Training_StudyZoneItem();
newModel.StudyZoneItemId = model.StudyZoneItemId;
newModel.StudyZoneId = model.StudyZoneId;
newModel.StudyZoneItemCode = model.StudyZoneItemCode;
newModel.StudyZoneItemName = model.StudyZoneItemName;
newModel.AttachUrl = model.AttachUrl;
newModel.CompileMan = model.CompileMan;
newModel.CompileDate = model.CompileDate;
newModel.WorkPostIds = model.WorkPostIds;
newModel.WorkPostNames = model.WorkPostNames;
newModel.Outcome = model.Outcome;
newModel.LearningTime = model.LearningTime;
newModel.TestTrainingIds = model.TestTrainingIds;
db.Training_StudyZoneItem.InsertOnSubmit(newModel);
db.SubmitChanges();
}
/// <summary>
/// 修改学习园地明细
/// </summary>
/// <param name="model"></param>
public static void UpdateStudyZoneItem(Model.Training_StudyZoneItem model)
{
Model.CNPCDB db = Funs.DB;
Model.Training_StudyZoneItem newModel = db.Training_StudyZoneItem.FirstOrDefault(e => e.StudyZoneItemId == model.StudyZoneItemId);
if (newModel != null)
{
newModel.StudyZoneItemCode = model.StudyZoneItemCode;
newModel.StudyZoneItemName = model.StudyZoneItemName;
newModel.AttachUrl = model.AttachUrl;
newModel.CompileMan = model.CompileMan;
newModel.CompileDate = model.CompileDate;
newModel.WorkPostIds = model.WorkPostIds;
newModel.WorkPostNames = model.WorkPostNames;
newModel.Outcome = model.Outcome;
newModel.LearningTime = model.LearningTime;
newModel.TestTrainingIds = model.TestTrainingIds;
db.SubmitChanges();
}
}
/// <summary>
/// 根据主键删除明细信息
/// </summary>
/// <param name="companyTrainItemId"></param>
public static void DeleteStudyZoneItemById(string companyTrainItemId)
{
Model.CNPCDB db = Funs.DB;
Model.Training_StudyZoneItem model = db.Training_StudyZoneItem.FirstOrDefault(e => e.StudyZoneItemId == companyTrainItemId);
if (model != null)
{
db.Training_StudyZoneItem.DeleteOnSubmit(model);
db.SubmitChanges();
}
}
/// <summary>
/// 教材库下拉框
/// </summary>
/// <param name="dropName">下拉框名字</param>
/// <param name="workPostId">职务Id</param>
/// <param name="isShowPlease">是否显示请选择</param>
public static void InitStudyZoneItemDownList(FineUIPro.DropDownList dropName, string workPostId, bool isShowPlease)
{
dropName.DataValueField = "StudyZoneItemId";
dropName.DataTextField = "StudyZoneItemName";
dropName.DataSource = GetStudyZoneItemList(workPostId);
dropName.DataBind();
if (isShowPlease)
{
Funs.FineUIPleaseSelect(dropName);
}
}
/// <summary>
/// 获取教材库下拉项
/// </summary>
/// <param name="workPostId"></param>
/// <returns></returns>
public static List<Model.Training_StudyZoneItem> GetStudyZoneItemList(string workPostId)
{
var lst = (from x in Funs.DB.Training_StudyZoneItem orderby x.StudyZoneItemCode select x).ToList();
if (!string.IsNullOrWhiteSpace(workPostId))
{
lst = lst.Where(x => x.WorkPostIds == null || x.WorkPostIds.Contains(workPostId)).ToList();
}
return lst;
}
}
}
+174
View File
@@ -0,0 +1,174 @@
using System.Collections.Generic;
using System.Linq;
namespace BLL
{
/// <summary>
/// 学习园地主表
/// </summary>
public class StudyZoneService
{
/// <summary>
/// 根据主键获取学习园地
/// </summary>
/// <param name="companyTrainingId"></param>
/// <returns></returns>
public static Model.Training_StudyZone GetStudyZoneById(string companyTrainingId)
{
var db = Funs.DB;
return db.Training_StudyZone.FirstOrDefault(e => e.StudyZoneId == companyTrainingId);
}
/// <summary>
/// 添加学习园地
/// </summary>
/// <param name="companyTraining"></param>
public static void AddStudyZone(Model.Training_StudyZone companyTraining)
{
var db = Funs.DB;
Model.Training_StudyZone newStudyZone = new Model.Training_StudyZone();
newStudyZone.StudyZoneId = companyTraining.StudyZoneId;
newStudyZone.StudyZoneCode = companyTraining.StudyZoneCode;
newStudyZone.StudyZoneName = companyTraining.StudyZoneName;
newStudyZone.SupStudyZoneId = companyTraining.SupStudyZoneId;
newStudyZone.IsEndLever = companyTraining.IsEndLever;
db.Training_StudyZone.InsertOnSubmit(newStudyZone);
db.SubmitChanges();
}
/// <summary>
/// 修改学习园地
/// </summary>
/// <param name="companyTraining"></param>
public static void UpdateStudyZone(Model.Training_StudyZone companyTraining)
{
var db = Funs.DB;
Model.Training_StudyZone newStudyZone = db.Training_StudyZone.FirstOrDefault(e => e.StudyZoneId == companyTraining.StudyZoneId);
if (newStudyZone != null)
{
newStudyZone.StudyZoneCode = companyTraining.StudyZoneCode;
newStudyZone.StudyZoneName = companyTraining.StudyZoneName;
newStudyZone.SupStudyZoneId = companyTraining.SupStudyZoneId;
newStudyZone.IsEndLever = companyTraining.IsEndLever;
db.SubmitChanges();
}
}
/// <summary>
/// 根据主键删除学习园地
/// </summary>
/// <param name="companyTrainingId"></param>
public static void DeleteStudyZone(string companyTrainingId)
{
var db = Funs.DB;
Model.Training_StudyZone companyTraining = db.Training_StudyZone.FirstOrDefault(e => e.StudyZoneId == companyTrainingId);
if (companyTraining != null)
{
var getItems = from x in Funs.DB.Training_StudyZoneItem
where x.StudyZoneId == companyTraining.StudyZoneId
select x;
if (getItems.Count() > 0)
{
foreach (var item in getItems)
{
BLL.CommonService.DeleteAttachFileById(item.TestTrainingIds);
}
db.Training_StudyZoneItem.DeleteAllOnSubmit(getItems);
}
db.Training_StudyZone.DeleteOnSubmit(companyTraining);
db.SubmitChanges();
}
}
/// <summary>
/// 是否可删除资源节点
/// </summary>
/// <param name="postName"></param>
/// <returns>true-可以,false-不可以</returns>
public static bool IsDeleteStudyZone(string companyTrainingId)
{
bool isDelete = true;
var Training = BLL.StudyZoneService.GetStudyZoneById(companyTrainingId);
if (Training != null)
{
if (Training.IsEndLever == true)
{
var detailCout = Funs.DB.Training_StudyZoneItem.FirstOrDefault(x => x.StudyZoneId == companyTrainingId);
if (detailCout != null)
{
isDelete = false;
}
}
else
{
var supItemSetCount = BLL.StudyZoneService.GetStudyZoneBySupItem(companyTrainingId);
if (supItemSetCount.Count() > 0)
{
isDelete = false;
}
}
}
return isDelete;
}
/// <summary>
/// 根据上级Id查询所有学习园地
/// </summary>
/// <param name="supItem">上级Id</param>
/// <returns>学习园地的集合</returns>
public static List<Model.Training_StudyZone> GetStudyZoneBySupItem(string supItem)
{
return (from x in Funs.DB.Training_StudyZone where x.SupStudyZoneId == supItem select x).ToList();
}
/// <summary>
/// 根据上级Id查询所有学习园地
/// </summary>
/// <param name="supItem">上级Id</param>
/// <returns>学习园地的集合</returns>
public static List<Model.Training_StudyZone> GetStudyZoneIsEnd()
{
return (from x in Funs.DB.Training_StudyZone
where x.IsEndLever == true
orderby x.StudyZoneCode
select x).ToList();
}
/// <summary>
/// 教材类型下拉框
/// </summary>
/// <param name="dropName"></param>
/// <param name="projectId"></param>
/// <param name="isShowPlease"></param>
public static void InitStudyZoneDropDownList(FineUIPro.DropDownList dropName, string supItem, bool isShowPlease)
{
dropName.DataValueField = "StudyZoneId";
dropName.DataTextField = "StudyZoneName";
dropName.DataSource = GetStudyZoneBySupItem(supItem);
dropName.DataBind();
if (isShowPlease)
{
Funs.FineUIPleaseSelect(dropName);
}
}
/// <summary>
/// 教材类型下拉框(末级)
/// </summary>
/// <param name="dropName"></param>
/// <param name="projectId"></param>
/// <param name="isShowPlease"></param>
public static void InitStudyZoneIsEndDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease)
{
dropName.DataValueField = "StudyZoneId";
dropName.DataTextField = "StudyZoneName";
dropName.DataSource = GetStudyZoneIsEnd();
dropName.DataBind();
if (isShowPlease)
{
Funs.FineUIPleaseSelect(dropName);
}
}
}
}