ChengDa_English/SGGL/BLL/HSSE/SafetyData/SafetyDataService.cs

361 lines
14 KiB
C#
Raw Normal View History

2022-03-15 17:36:38 +08:00
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);
}
}
}
}
}
}