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);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|