361 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			361 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | ||
| using System.Collections.Generic;
 | ||
| using System.Linq;
 | ||
| using System.Text;
 | ||
| using System.Threading.Tasks;
 | ||
| 
 | ||
| namespace BLL
 | ||
| {
 | ||
|   public static class SafetyDataService
 | ||
|     {
 | ||
|         /// <summary>
 | ||
|         /// 根据用户id获取企业安全管理资料主表列表
 | ||
|         /// </summary>
 | ||
|         /// <param name="appraise"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.SafetyData_SafetyData> GetSafetyDataList()
 | ||
|         {
 | ||
|             var SafetyDataList = from x in Funs.DB.SafetyData_SafetyData
 | ||
|                                  orderby x.Code
 | ||
|                                  select x;
 | ||
|             return SafetyDataList.ToList();
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 根据主键id获取企业安全管理资料
 | ||
|         /// </summary>
 | ||
|         /// <param name="appraise"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static Model.SafetyData_SafetyData GetSafetyDataBySafetyDataId(string safetyDataId)
 | ||
|         {
 | ||
|             return Funs.DB.SafetyData_SafetyData.FirstOrDefault(x => x.SafetyDataId == safetyDataId);
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 根据菜单id获取企业安全管理资料
 | ||
|         /// </summary>
 | ||
|         /// <param name="appraise"></param>
 | ||
|         /// <returns></returns>
 | ||
|         public static Model.SafetyData_SafetyData GetSafetyDataByMenuId(string menuid)
 | ||
|         {
 | ||
|             return Funs.DB.SafetyData_SafetyData.FirstOrDefault(x => x.MenuId == menuid && x.IsCheck == true);
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 添加企业安全管理资料
 | ||
|         /// </summary>
 | ||
|         /// <param name="safetyData"></param>
 | ||
|         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);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 修改企业安全管理资料
 | ||
|         /// </summary>
 | ||
|         /// <param name="safetyData"></param>
 | ||
|         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);
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 根据主键删除信息
 | ||
|         /// </summary>
 | ||
|         /// <param name="safetyDataId"></param>
 | ||
|         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();
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 是否存在文件夹名称
 | ||
|         /// </summary>
 | ||
|         /// <param name="postName"></param>
 | ||
|         /// <returns>true-存在,false-不存在</returns>
 | ||
|         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 是否可删除节点
 | ||
|         /// <summary>
 | ||
|         /// 是否可删除节点
 | ||
|         /// </summary>
 | ||
|         /// <param name="SafetyDataId"></param>
 | ||
|         /// <returns>true-可以,false-不可以</returns>
 | ||
|         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 树节点是否显示
 | ||
|         /// <summary>
 | ||
|         /// 树节点是否显示
 | ||
|         /// </summary>
 | ||
|         /// <param name="safetyDataId">节点主键</param>
 | ||
|         /// <param name="isMenu">true-来自系统;false-来自定稿</param>
 | ||
|         /// <returns>true-显示,false-不显示</returns>
 | ||
|         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 添加到企业管理资料中方法
 | ||
|         /// <summary>
 | ||
|         /// 添加到企业管理资料中方法
 | ||
|         /// </summary>
 | ||
|         /// <param name="menuId"></param>
 | ||
|         /// <param name="dataId"></param>
 | ||
|         /// <param name="content"></param>
 | ||
|         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 增加企业管理资料明细
 | ||
|         /// <summary>
 | ||
|         ///  增加企业管理资料明细
 | ||
|         /// </summary>
 | ||
|         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
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 更新是否考核项
 | ||
|         /// </summary>
 | ||
|         /// <param name="safetyData"></param>
 | ||
|         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);
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
|     }
 | ||
| }
 |