using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BLL { public static class SafetyDataService { /// /// 根据用户id获取企业安全管理资料主表列表 /// /// /// public static List GetSafetyDataList() { var SafetyDataList = from x in Funs.DB.SafetyData_SafetyData orderby x.Code select x; return SafetyDataList.ToList(); } /// /// 根据主键id获取企业安全管理资料 /// /// /// public static Model.SafetyData_SafetyData GetSafetyDataBySafetyDataId(string safetyDataId) { return Funs.DB.SafetyData_SafetyData.FirstOrDefault(x => x.SafetyDataId == safetyDataId); } /// /// 根据菜单id获取企业安全管理资料 /// /// /// public static Model.SafetyData_SafetyData GetSafetyDataByMenuId(string menuid) { return Funs.DB.SafetyData_SafetyData.FirstOrDefault(x => x.MenuId == menuid && x.IsCheck == true); } /// /// 添加企业安全管理资料 /// /// public static void AddSafetyData(Model.SafetyData_SafetyData safetyData) { Model.SafetyData_SafetyData newSafetyData = new Model.SafetyData_SafetyData { SafetyDataId = safetyData.SafetyDataId, MenuId = safetyData.MenuId, Code = safetyData.Code, Title = safetyData.Title, Score = safetyData.Score, Digit = safetyData.Digit, SupSafetyDataId = safetyData.SupSafetyDataId, IsEndLever = safetyData.IsEndLever, Remark = safetyData.Remark, CheckType = safetyData.CheckType, CheckTypeValue1 = safetyData.CheckTypeValue1, CheckTypeValue2 = safetyData.CheckTypeValue2, IsCheck = safetyData.IsCheck }; Funs.DB.SafetyData_SafetyData.InsertOnSubmit(newSafetyData); Funs.DB.SubmitChanges(); ///更新考核项 if (newSafetyData.IsCheck == true) { UpdateSafetyDataIsCheck(newSafetyData.SupSafetyDataId); } } /// /// 修改企业安全管理资料 /// /// public static void UpdateSafetyData(Model.SafetyData_SafetyData safetyData) { Model.SafetyData_SafetyData newSafetyData = Funs.DB.SafetyData_SafetyData.FirstOrDefault(e => e.SafetyDataId == safetyData.SafetyDataId); if (newSafetyData != null) { newSafetyData.Code = safetyData.Code; newSafetyData.Title = safetyData.Title; newSafetyData.MenuId = safetyData.MenuId; newSafetyData.Score = safetyData.Score; newSafetyData.Digit = safetyData.Digit; newSafetyData.SupSafetyDataId = safetyData.SupSafetyDataId; newSafetyData.IsEndLever = safetyData.IsEndLever; newSafetyData.Remark = safetyData.Remark; newSafetyData.CheckType = safetyData.CheckType; newSafetyData.CheckTypeValue1 = safetyData.CheckTypeValue1; newSafetyData.CheckTypeValue2 = safetyData.CheckTypeValue2; newSafetyData.IsCheck = safetyData.IsCheck; Funs.DB.SubmitChanges(); ///更新考核项 if (newSafetyData.IsCheck == true) { UpdateSafetyDataIsCheck(newSafetyData.SupSafetyDataId); } } } /// /// 根据主键删除信息 /// /// public static void DeleteSafetyDataByID(string safetyDataId) { Model.SafetyData_SafetyData SafetyData = Funs.DB.SafetyData_SafetyData.FirstOrDefault(e => e.SafetyDataId == safetyDataId); { ///删除相应的计划总表 BLL.SafetyDataPlanService.DeleteSafetyDataPlanBySafetyDataId(safetyDataId); Funs.DB.SafetyData_SafetyData.DeleteOnSubmit(SafetyData); Funs.DB.SubmitChanges(); } } /// /// 是否存在文件夹名称 /// /// /// true-存在,false-不存在 public static bool IsExistTitle(string SafetyDataId, string supSafetyDataId, string title) { var q = Funs.DB.SafetyData_SafetyData.FirstOrDefault(x => x.SupSafetyDataId == supSafetyDataId && x.Title == title && x.SafetyDataId != SafetyDataId); if (q != null) { return true; } else { return false; } } #region 是否可删除节点 /// /// 是否可删除节点 /// /// /// true-可以,false-不可以 public static bool IsDeleteSafetyData(string SafetyDataId) { bool isDelete = true; var SafetyData = GetSafetyDataBySafetyDataId(SafetyDataId); if (SafetyData != null) { if (SafetyData.IsEndLever == true) { var detailCout = Funs.DB.SafetyData_SafetyDataItem.FirstOrDefault(x => x.SafetyDataId == SafetyDataId); if (detailCout != null) { isDelete = false; } } else { var supItemSetCount = Funs.DB.SafetyData_SafetyData.FirstOrDefault(x => x.SupSafetyDataId == SafetyDataId); if (supItemSetCount != null) { isDelete = false; } } } return isDelete; } #endregion #region 树节点是否显示 /// /// 树节点是否显示 /// /// 节点主键 /// true-来自系统;false-来自定稿 /// true-显示,false-不显示 public static bool IsShowSafetyDataTreeNode(string safetyDataId, bool isMenu) { bool isShow = false; var safetyData = GetSafetyDataBySafetyDataId(safetyDataId); if (safetyData != null) { if (isMenu) /// 系统文件 { if (safetyData.IsEndLever == true) { if (!string.IsNullOrEmpty(safetyData.MenuId)) { isShow = true; } else { isShow = false; } } else { var supSafe = Funs.DB.SafetyData_SafetyData.FirstOrDefault(x => x.SupSafetyDataId == safetyDataId && x.MenuId != null); if (supSafe != null) { isShow = true; } else { var supSafeEnd = from x in Funs.DB.SafetyData_SafetyData where x.SupSafetyDataId == safetyDataId && (x.IsEndLever == false || x.IsEndLever == null) select x; if (supSafeEnd.Count() == 0) { isShow = false; } else { foreach (var item in supSafeEnd) { isShow = IsShowSafetyDataTreeNode(item.SafetyDataId, isMenu); if (isShow) { break; } } } } } } else ///定稿文件 { if (safetyData.IsEndLever == true) { if (string.IsNullOrEmpty(safetyData.MenuId)) { isShow = true; } else { isShow = false; } } else { var supSafe = Funs.DB.SafetyData_SafetyData.FirstOrDefault(x => x.SupSafetyDataId == safetyDataId && x.MenuId == null); if (supSafe != null) { isShow = true; } else { var supSafeEnd = from x in Funs.DB.SafetyData_SafetyData where x.SupSafetyDataId == safetyDataId && (x.IsEndLever == false || x.IsEndLever == null) select x; if (supSafeEnd.Count() == 0) { isShow = false; } else { foreach (var item in supSafeEnd) { isShow = IsShowSafetyDataTreeNode(item.SafetyDataId, isMenu); if (isShow) { break; } } } } } } } return isShow; } #endregion #region 页面信息添加到企业管理资料 #region 添加到企业管理资料中方法 /// /// 添加到企业管理资料中方法 /// /// /// /// public static void AddSafetyData(string menuId, string dataId, string content, string url, string projectId) { var safetyData = Funs.DB.SafetyData_SafetyData.FirstOrDefault(x => x.MenuId == menuId); if (safetyData != null) ////判断这个菜单id 是否在企业管理资料 在则插入明细 { AddDataToSafetyDataItem(dataId, content, safetyData.SafetyDataId, url, projectId); } } #endregion #region 增加企业管理资料明细 /// /// 增加企业管理资料明细 /// public static void AddDataToSafetyDataItem(string dataId, string content, string safetyDataId, string url, string projectId) { var safetyDataItem = BLL.SafetyDataItemService.GetSafetyDataItemByID(dataId); ///明细是否存在 if (safetyDataItem != null) { safetyDataItem.Title = content; BLL.SafetyDataItemService.UpdateSafetyDataItem(safetyDataItem); } else { Model.SafetyData_SafetyDataItem newSafetyDataItem = new Model.SafetyData_SafetyDataItem { SafetyDataItemId = dataId, SafetyDataId = safetyDataId, ProjectId = projectId }; string newCode = BLL.SafetyDataItemService.GetNewSafetyDataItemCode(projectId, safetyDataId); newSafetyDataItem.SortIndex = Funs.GetNewInt(newCode); var safeData = BLL.SafetyDataService.GetSafetyDataBySafetyDataId(safetyDataId); if (safeData != null && !string.IsNullOrEmpty(safeData.Code)) { newCode = safeData.Code + "-" + newCode; } var project = BLL.ProjectService.GetProjectByProjectId(projectId); if (project != null) { newCode = project.ProjectCode + "-" + newCode; } newSafetyDataItem.Code = newCode; newSafetyDataItem.Title = content; newSafetyDataItem.CompileDate = System.DateTime.Now; ////单据时间 【todo:要从页面处理】 newSafetyDataItem.SubmitDate = System.DateTime.Now; ////单据提交时间 newSafetyDataItem.IsMenu = true; newSafetyDataItem.Url = url; BLL.SafetyDataItemService.AddSafetyDataItem(newSafetyDataItem); } } #endregion #endregion /// /// 更新是否考核项 /// /// public static void UpdateSafetyDataIsCheck(string supSafetyDataId) { if (!string.IsNullOrEmpty(supSafetyDataId) && supSafetyDataId != "0") { var supSafetyData = Funs.DB.SafetyData_SafetyData.FirstOrDefault(e => e.SafetyDataId == supSafetyDataId); if (supSafetyData != null && supSafetyData.IsCheck != true) { supSafetyData.IsCheck = true; Funs.DB.SubmitChanges(); if (!string.IsNullOrEmpty(supSafetyData.SupSafetyDataId) && supSafetyData.SupSafetyDataId != "0") { UpdateSafetyDataIsCheck(supSafetyData.SupSafetyDataId); } } } } } }