initiate
This commit is contained in:
@@ -0,0 +1,509 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BLL
|
||||
{
|
||||
public static class SafetyDataPlanService
|
||||
{
|
||||
#region 根据项目id获取企业安全管理资料计划列表
|
||||
/// <summary>
|
||||
/// 根据项目id获取企业安全管理资料计划列表
|
||||
/// </summary>
|
||||
/// <param name="appraise"></param>
|
||||
/// <returns></returns>
|
||||
public static List<Model.SafetyData_SafetyDataPlan> GetSafetyDataPlanList(string projectId)
|
||||
{
|
||||
var SafetyDataPlanList = from x in Funs.DB.SafetyData_SafetyDataPlan
|
||||
join y in Funs.DB.SafetyData_SafetyData on x.SafetyDataId equals y.SafetyDataId
|
||||
where x.ProjectId == projectId
|
||||
orderby y.Code
|
||||
select x;
|
||||
return SafetyDataPlanList.ToList();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 根据主键id获取企业安全管理资料
|
||||
/// <summary>
|
||||
/// 根据主键id获取企业安全管理资料
|
||||
/// </summary>
|
||||
/// <param name="appraise"></param>
|
||||
/// <returns></returns>
|
||||
public static Model.SafetyData_SafetyDataPlan GetSafetyDataPlanBySafetyDataPlanId(string safetyDataPlanId)
|
||||
{
|
||||
return Funs.DB.SafetyData_SafetyDataPlan.FirstOrDefault(x => x.SafetyDataPlanId == safetyDataPlanId);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 增、删、改企业安全管理资料计划总表
|
||||
/// <summary>
|
||||
/// 添加企业安全管理资料计划总表
|
||||
/// </summary>
|
||||
/// <param name="safetyDataPlan"></param>
|
||||
public static void AddSafetyDataPlan(Model.SafetyData_SafetyDataPlan safetyDataPlan)
|
||||
{
|
||||
Model.SafetyData_SafetyDataPlan newSafetyDataPlan = new Model.SafetyData_SafetyDataPlan
|
||||
{
|
||||
SafetyDataPlanId = safetyDataPlan.SafetyDataPlanId,
|
||||
ProjectId = safetyDataPlan.ProjectId,
|
||||
SafetyDataId = safetyDataPlan.SafetyDataId,
|
||||
CheckDate = safetyDataPlan.CheckDate,
|
||||
RealStartDate = safetyDataPlan.RealStartDate,
|
||||
RealEndDate = safetyDataPlan.RealEndDate,
|
||||
Score = safetyDataPlan.Score,
|
||||
ShouldScore = safetyDataPlan.ShouldScore,
|
||||
Remark = safetyDataPlan.Remark,
|
||||
ReminderDate = safetyDataPlan.ReminderDate,
|
||||
IsManual = safetyDataPlan.IsManual,
|
||||
};
|
||||
Funs.DB.SafetyData_SafetyDataPlan.InsertOnSubmit(newSafetyDataPlan);
|
||||
Funs.DB.SubmitChanges();
|
||||
///当前计划项 没有提交时间时
|
||||
if (!newSafetyDataPlan.SubmitDate.HasValue)
|
||||
{
|
||||
GetSafetyDataPlanRealScore(newSafetyDataPlan);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改企业安全管理资料计划总表
|
||||
/// </summary>
|
||||
/// <param name="safetyDataPlan"></param>
|
||||
public static void UpdateSafetyDataPlan(Model.SafetyData_SafetyDataPlan safetyDataPlan)
|
||||
{
|
||||
Model.SafetyData_SafetyDataPlan newSafetyDataPlan = Funs.DB.SafetyData_SafetyDataPlan.FirstOrDefault(e => e.SafetyDataPlanId == safetyDataPlan.SafetyDataPlanId);
|
||||
if (newSafetyDataPlan != null)
|
||||
{
|
||||
newSafetyDataPlan.CheckDate = safetyDataPlan.CheckDate;
|
||||
newSafetyDataPlan.RealStartDate = safetyDataPlan.RealStartDate;
|
||||
newSafetyDataPlan.RealEndDate = safetyDataPlan.RealEndDate;
|
||||
newSafetyDataPlan.Score = safetyDataPlan.Score;
|
||||
newSafetyDataPlan.Remark = safetyDataPlan.Remark;
|
||||
newSafetyDataPlan.ReminderDate = safetyDataPlan.ReminderDate;
|
||||
Funs.DB.SubmitChanges();
|
||||
|
||||
///当前计划项 没有提交时间时
|
||||
if (!newSafetyDataPlan.SubmitDate.HasValue)
|
||||
{
|
||||
GetSafetyDataPlanRealScore(newSafetyDataPlan);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据主键删除企业安全管理资料计划总表
|
||||
/// </summary>
|
||||
/// <param name="safetyDataPlanId"></param>
|
||||
public static void DeleteSafetyDataPlanByID(string safetyDataPlanId)
|
||||
{
|
||||
Model.SafetyData_SafetyDataPlan SafetyDataPlan = Funs.DB.SafetyData_SafetyDataPlan.FirstOrDefault(e => e.SafetyDataPlanId == safetyDataPlanId);
|
||||
{
|
||||
Funs.DB.SafetyData_SafetyDataPlan.DeleteOnSubmit(SafetyDataPlan);
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据主键删除企业安全管理资料计划总表
|
||||
/// </summary>
|
||||
/// <param name="safetyDataPlanId"></param>
|
||||
public static void DeleteSafetyDataPlanByProjectId(string projectId)
|
||||
{
|
||||
var safetyDataPlan = from x in Funs.DB.SafetyData_SafetyDataPlan
|
||||
where x.ProjectId == projectId
|
||||
&& (x.IsManual == false || x.IsManual == null)
|
||||
select x;
|
||||
if (safetyDataPlan.Count() > 0)
|
||||
{
|
||||
Funs.DB.SafetyData_SafetyDataPlan.DeleteAllOnSubmit(safetyDataPlan);
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据安全资料项主键删除企业安全管理资料计划总表
|
||||
/// </summary>
|
||||
/// <param name="safetyDataPlanId"></param>
|
||||
public static void DeleteSafetyDataPlanBySafetyDataId(string safetyDataId)
|
||||
{
|
||||
var safetyDataPlan = from x in Funs.DB.SafetyData_SafetyDataPlan where x.SafetyDataId == safetyDataId select x;
|
||||
if (safetyDataPlan.Count() > 0)
|
||||
{
|
||||
Funs.DB.SafetyData_SafetyDataPlan.DeleteAllOnSubmit(safetyDataPlan);
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据主键删除企业安全管理资料计划总表
|
||||
/// </summary>
|
||||
/// <param name="safetyDataPlanId"></param>
|
||||
public static void DeleteSafetyDataPlanByProjectIdSafetyDataId(string projectId, string safetyDataId)
|
||||
{
|
||||
var safetyDataPlan = from x in Funs.DB.SafetyData_SafetyDataPlan
|
||||
where x.ProjectId == projectId && x.SafetyDataId == safetyDataId
|
||||
&& (x.IsManual == false || x.IsManual == null)
|
||||
select x;
|
||||
if (safetyDataPlan.Count() > 0)
|
||||
{
|
||||
Funs.DB.SafetyData_SafetyDataPlan.DeleteAllOnSubmit(safetyDataPlan);
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据安全资料项主键删除企业安全管理资料计划总表
|
||||
/// </summary>
|
||||
/// <param name="safetyDataPlanId"></param>
|
||||
public static void DeleteSafetyDataPlanByProjectDateId(string projectId, DateTime? projectDate)
|
||||
{
|
||||
var safetyDataPlan = from x in Funs.DB.SafetyData_SafetyDataPlan
|
||||
where x.ProjectId == projectId && x.CheckDate > projectDate
|
||||
&& (x.IsManual == false || x.IsManual == null)
|
||||
select x;
|
||||
if (safetyDataPlan.Count() > 0)
|
||||
{
|
||||
Funs.DB.SafetyData_SafetyDataPlan.DeleteAllOnSubmit(safetyDataPlan);
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 根据项目和安全资料项生成企业安全管理资料计划总表
|
||||
/// <summary>
|
||||
/// 根据项目和安全资料项生成企业安全管理资料计划总表
|
||||
/// </summary>
|
||||
/// <param name="safetyDataPlanId"></param>
|
||||
//public static void GetSafetyDataPlanByProjectInfo(string projectId, string safetyDataId, DateTime? startTime, DateTime? endTime)
|
||||
//{
|
||||
// List<Model.SafetyData_SafetyData> safetyDataEnd = new List<Model.SafetyData_SafetyData>();
|
||||
// ///是否更新某一个安全资料项 先删除 再重新生成
|
||||
// DeleteSafetyDataPlanBySafetyDataId(safetyDataId);
|
||||
// //if (!isDelete(projectId, safetyDataId))
|
||||
// //{
|
||||
// if (!string.IsNullOrEmpty(safetyDataId))
|
||||
// {
|
||||
// safetyDataEnd = (from x in Funs.DB.SafetyData_SafetyData
|
||||
// where x.IsEndLever == true && x.SafetyDataId == safetyDataId && x.IsCheck == true
|
||||
// orderby x.Code
|
||||
// select x).ToList();
|
||||
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// safetyDataEnd = (from x in Funs.DB.SafetyData_SafetyData
|
||||
// where x.IsEndLever == true && x.IsCheck == true
|
||||
// orderby x.Code
|
||||
// select x).ToList();
|
||||
// }
|
||||
|
||||
// ///是否存在安全资料项
|
||||
// if (safetyDataEnd.Count() > 0)
|
||||
// {
|
||||
// Model.Base_Project project = new Model.Base_Project();
|
||||
// if (!string.IsNullOrEmpty(projectId))
|
||||
// {
|
||||
// project = BLL.ProjectService.GetProjectByProjectId(projectId);
|
||||
// if (project != null)
|
||||
// {
|
||||
// GetSafetyDataPlanMethod(project, safetyDataEnd, startTime, endTime);
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// ///取竣工时间大于当前时间 项目
|
||||
// var projects = from x in Funs.DB.Base_Project
|
||||
// where x.EndDate >= System.DateTime.Now && x.ProjectType != "5"
|
||||
// select x;
|
||||
// if (projects.Count() > 0)
|
||||
// {
|
||||
// foreach (var item in projects)
|
||||
// {
|
||||
// GetSafetyDataPlanMethod(item, safetyDataEnd, startTime, endTime);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// //}
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 生成安全资料计划总表 方法
|
||||
/// </summary>
|
||||
/// <param name="project"></param>
|
||||
/// <param name="safetyDataEnd"></param>
|
||||
//public static void GetSafetyDataPlanMethod(Model.Base_Project project, List<Model.SafetyData_SafetyData> safetyDataEnd, DateTime? startTime, DateTime? endTime)
|
||||
//{
|
||||
// ////第一步 判断是否存在此项目的计划表
|
||||
// ////第二步 不存在增加这个项目时间范围内的 存在取不存在时间段
|
||||
// ////第三步 项目时间 是否为空? 现在默认都不能为空
|
||||
// string projectId = project.ProjectId;
|
||||
// DateTime startDatep = project.StartDate.HasValue ? project.StartDate.Value : System.DateTime.Now;
|
||||
// if (startTime.HasValue)
|
||||
// {
|
||||
// startDatep = startTime.Value;
|
||||
// }
|
||||
// DateTime startDate = startDatep;
|
||||
// DateTime endDate = project.EndDate.HasValue ? project.EndDate.Value : System.DateTime.Now.AddMonths(6);
|
||||
// if (endTime.HasValue)
|
||||
// {
|
||||
// endDate = endTime.Value;
|
||||
// }
|
||||
// DeleteSafetyDataPlanByProjectDateId(projectId, endDate); ///删除竣工后的考核计划
|
||||
// foreach (var item in safetyDataEnd)
|
||||
// {
|
||||
// var safetyDataPlan = Funs.DB.SafetyData_SafetyDataPlan.FirstOrDefault(x => x.ProjectId == project.ProjectId && x.SafetyDataId == item.SafetyDataId && (x.IsManual == null || x.IsManual == false));
|
||||
// if (safetyDataPlan != null)
|
||||
// {
|
||||
// ///取结束时间 最大值作为开始时间
|
||||
// DateTime maxEndDate = Funs.DB.SafetyData_SafetyDataPlan.Where(x => x.ProjectId == projectId && x.RealEndDate.HasValue && x.SafetyDataId == item.SafetyDataId).Select(x => x.RealEndDate.Value).Max();
|
||||
// if (endDate > maxEndDate) ////如果计划单最大时间小于项目结束时间 则追加时间 否则删去
|
||||
// {
|
||||
// startDate = maxEndDate;
|
||||
// }
|
||||
// else
|
||||
// { ///项目提前结束 则删除计划时间
|
||||
// var delSafetyDataPlan = from x in Funs.DB.SafetyData_SafetyDataPlan where x.RealEndDate > endDate && x.SafetyDataId == item.SafetyDataId select x;
|
||||
// if (delSafetyDataPlan.Count() > 0)
|
||||
// {
|
||||
// Funs.DB.SafetyData_SafetyDataPlan.DeleteAllOnSubmit(delSafetyDataPlan);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// ////算出 开始、结束时间跨度 然后循环增加一个月 并把在此时间段的 考核项写入计划表
|
||||
// for (int i = 0; startDate.AddMonths(i) <= endDate; i++)
|
||||
// {
|
||||
// Model.SafetyData_SafetyDataPlan newSafetyDataPlan = new Model.SafetyData_SafetyDataPlan
|
||||
// {
|
||||
// SafetyDataPlanId = SQLHelper.GetNewID(typeof(Model.SafetyData_SafetyDataPlan)),
|
||||
// ProjectId = projectId,
|
||||
// SafetyDataId = item.SafetyDataId,
|
||||
// Score = item.Score,
|
||||
// ShouldScore = item.Score,
|
||||
// Remark = item.Remark,
|
||||
// };
|
||||
|
||||
// int monthValue = 0; ///设置月数
|
||||
// if (item.CheckTypeValue1.HasValue)
|
||||
// {
|
||||
// monthValue = item.CheckTypeValue1.Value;
|
||||
// }
|
||||
|
||||
// int dateValue = 1; ///设置天
|
||||
// if (item.CheckTypeValue2.HasValue)
|
||||
// {
|
||||
// dateValue = item.CheckTypeValue2.Value;
|
||||
// if (dateValue > 30)
|
||||
// {
|
||||
// dateValue = 30;
|
||||
// }
|
||||
// }
|
||||
|
||||
// ////TODO:通过判断是月报、季报、定时报等情况 是否落在 当前时间范围内 写入到计划总表
|
||||
// if (item.CheckType == BLL.Const.SafetyDataCheckType_1) /// 月报
|
||||
// {
|
||||
// if (startDate.AddMonths(i + monthValue).Month == 2 && dateValue > 28)
|
||||
// {
|
||||
// dateValue = 28;
|
||||
// }
|
||||
// DateTime? checkDate = Funs.GetNewDateTime(startDate.AddMonths(i + monthValue).Year + "-" + startDate.AddMonths(i + monthValue).Month + "-" + dateValue);
|
||||
// if (checkDate.HasValue && checkDate <= endDate && checkDate >= startDatep)
|
||||
// {
|
||||
// newSafetyDataPlan.CheckDate = checkDate;
|
||||
// newSafetyDataPlan.RealStartDate = checkDate.Value.AddMonths(-1); ///月报开始日期
|
||||
// newSafetyDataPlan.RealStartDate = new DateTime(newSafetyDataPlan.RealStartDate.Value.Year, newSafetyDataPlan.RealStartDate.Value.Month, 1);
|
||||
// newSafetyDataPlan.RealEndDate = newSafetyDataPlan.RealStartDate.Value.AddMonths(1).AddDays(-1);
|
||||
// }
|
||||
// }
|
||||
// else if (item.CheckType == BLL.Const.SafetyDataCheckType_2) /// 季报
|
||||
// {
|
||||
// int month = startDate.AddMonths(i).Month; ///当前月份
|
||||
// if ((month == 3 + monthValue) || (month == 6 + monthValue) || (month == 9 + monthValue) || (month == monthValue) || (month == 12 && monthValue == 0)) ///考核季度时间
|
||||
// {
|
||||
// if (startDate.AddMonths(i + monthValue).Month == 2 && dateValue > 28)
|
||||
// {
|
||||
// dateValue = 28;
|
||||
// }
|
||||
// DateTime? checkDate = Funs.GetNewDateTime(startDate.AddMonths(i).Year + "-" + startDate.AddMonths(i).Month + "-" + dateValue);
|
||||
// if ((month == monthValue) && monthValue != 0)
|
||||
// {
|
||||
// checkDate = checkDate.Value.AddYears(1);
|
||||
// }
|
||||
|
||||
// if (checkDate.HasValue && checkDate <= endDate && checkDate >= startDatep)
|
||||
// {
|
||||
// newSafetyDataPlan.CheckDate = checkDate;
|
||||
// newSafetyDataPlan.RealStartDate = checkDate.Value.AddMonths(-3); ///开始日期
|
||||
// newSafetyDataPlan.RealStartDate = new DateTime(newSafetyDataPlan.RealStartDate.Value.Year, newSafetyDataPlan.RealStartDate.Value.Month, 1);
|
||||
// newSafetyDataPlan.RealEndDate = newSafetyDataPlan.RealStartDate.Value.AddMonths(3).AddDays(-1);
|
||||
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// else if (item.CheckType == BLL.Const.SafetyDataCheckType_3) /// 定时
|
||||
// {
|
||||
// if (startDate.AddMonths(i).Month == monthValue) ///定时月份
|
||||
// {
|
||||
// if (startDate.AddMonths(i + monthValue).Month == 2 && dateValue > 28)
|
||||
// {
|
||||
// dateValue = 28;
|
||||
// }
|
||||
// DateTime? checkDate = Funs.GetNewDateTime(startDate.AddMonths(i).Year + "-" + startDate.AddMonths(i).Month + "-" + dateValue);
|
||||
// if (checkDate.HasValue && checkDate <= endDate && checkDate >= startDatep)
|
||||
// {
|
||||
// newSafetyDataPlan.CheckDate = checkDate;
|
||||
// newSafetyDataPlan.RealStartDate = checkDate.Value.AddMonths(-12); ///开始日期
|
||||
// newSafetyDataPlan.RealStartDate = new DateTime(newSafetyDataPlan.RealStartDate.Value.Year, newSafetyDataPlan.RealStartDate.Value.Month, 1);
|
||||
// newSafetyDataPlan.RealEndDate = checkDate.Value;
|
||||
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// else if (item.CheckType == BLL.Const.SafetyDataCheckType_4) /// 开工后报
|
||||
// {
|
||||
// DateTime? checkDate = startDate.AddMonths(i);
|
||||
// if (checkDate.HasValue && checkDate <= endDate && BLL.Funs.CompareMonths(startDatep, checkDate.Value) == monthValue && checkDate >= startDatep)
|
||||
// {
|
||||
// newSafetyDataPlan.CheckDate = checkDate;
|
||||
// newSafetyDataPlan.RealStartDate = startDate; ///开始日期
|
||||
// newSafetyDataPlan.RealEndDate = checkDate.Value;
|
||||
|
||||
// }
|
||||
// }
|
||||
// else if (item.CheckType == BLL.Const.SafetyDataCheckType_5) /// 半年报
|
||||
// {
|
||||
// if (startDate.AddMonths(i).Month == monthValue || startDate.AddMonths(i).Month == monthValue + 6)
|
||||
// {
|
||||
// if (startDate.AddMonths(i + monthValue).Month == 2 && dateValue > 28)
|
||||
// {
|
||||
// dateValue = 28;
|
||||
// }
|
||||
// DateTime? checkDate = Funs.GetNewDateTime(startDate.AddMonths(i).Year + "-" + startDate.AddMonths(i).Month + "-" + dateValue);
|
||||
// if (checkDate.HasValue && checkDate <= endDate && checkDate >= startDatep)
|
||||
// {
|
||||
// newSafetyDataPlan.CheckDate = checkDate;
|
||||
// newSafetyDataPlan.RealStartDate = checkDate.Value.AddMonths(-6); ///开始日期
|
||||
// newSafetyDataPlan.RealStartDate = new DateTime(newSafetyDataPlan.RealStartDate.Value.Year, newSafetyDataPlan.RealStartDate.Value.Month, 1);
|
||||
// newSafetyDataPlan.RealEndDate = newSafetyDataPlan.RealStartDate.Value.AddMonths(6).AddDays(-1);
|
||||
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// else /// 其他
|
||||
// {
|
||||
// if (monthValue > 0 && startDate.AddMonths(i).Year == System.DateTime.Now.Year && startDate.AddMonths(i).Month == monthValue)
|
||||
// {
|
||||
// if (startDate.AddMonths(i + monthValue).Month == 2 && dateValue > 28)
|
||||
// {
|
||||
// dateValue = 28;
|
||||
// }
|
||||
// DateTime? checkDate = Funs.GetNewDateTime(startDate.AddMonths(i).Year + "-" + startDate.AddMonths(i).Month + "-" + dateValue);
|
||||
// if (checkDate.HasValue && checkDate <= endDate && checkDate >= startDatep)
|
||||
// {
|
||||
// newSafetyDataPlan.CheckDate = checkDate;
|
||||
// newSafetyDataPlan.RealStartDate = startDate; ///开始日期
|
||||
// newSafetyDataPlan.RealStartDate = new DateTime(newSafetyDataPlan.RealStartDate.Value.Year, newSafetyDataPlan.RealStartDate.Value.Month, 1);
|
||||
// newSafetyDataPlan.RealEndDate = checkDate.Value;
|
||||
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// if (newSafetyDataPlan.RealEndDate.HasValue)
|
||||
// {
|
||||
// newSafetyDataPlan.ReminderDate = newSafetyDataPlan.CheckDate.Value.AddDays(-7);
|
||||
// AddSafetyDataPlan(newSafetyDataPlan);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 是否当前项目不考核项
|
||||
/// </summary>
|
||||
/// <param name="projectId"></param>
|
||||
/// <param name="safetyDataId"></param>
|
||||
/// <returns></returns>
|
||||
//public static bool isDelete(string projectId, string safetyDataId)
|
||||
//{
|
||||
// bool isDelete = false;
|
||||
// var safetyDataPlanDelete = Funs.DB.SafetyData_SafetyDataPlanDelete.FirstOrDefault(x => x.ProjectId == projectId && x.SafetyDataId == safetyDataId);
|
||||
// if (safetyDataPlanDelete != null)
|
||||
// {
|
||||
// isDelete = true;
|
||||
// }
|
||||
// return isDelete;
|
||||
//}
|
||||
|
||||
#region 增、删 企业安全管理资料计划项
|
||||
/// <summary>
|
||||
/// 添加企业安全管理资料计划项
|
||||
/// </summary>
|
||||
/// <param name="safetyDataPlan"></param>
|
||||
//public static void AddSafetyDataPlanDelete(string projectId, string safetyDataId)
|
||||
//{
|
||||
// var delete = db.SafetyData_SafetyDataPlanDelete.FirstOrDefault(x => x.ProjectId == projectId && x.SafetyDataId == safetyDataId);
|
||||
// if (delete == null)
|
||||
// {
|
||||
// Model.SafetyData_SafetyDataPlanDelete newSafetyDataPlanDelete = new Model.SafetyData_SafetyDataPlanDelete
|
||||
// {
|
||||
// SafetyDataPlanDeleteId = SQLHelper.GetNewID(typeof(Model.SafetyData_SafetyDataPlanDelete)),
|
||||
// ProjectId = projectId,
|
||||
// SafetyDataId = safetyDataId,
|
||||
// DeleteDate = System.DateTime.Now
|
||||
// };
|
||||
// db.SafetyData_SafetyDataPlanDelete.InsertOnSubmit(newSafetyDataPlanDelete);
|
||||
// db.SubmitChanges();
|
||||
// }
|
||||
|
||||
// DeleteSafetyDataPlanByProjectIdSafetyDataId(projectId, safetyDataId);
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 根据主键删除企业安全管理资料计划项
|
||||
/// </summary>
|
||||
/// <param name="safetyDataPlanId"></param>
|
||||
//public static void DeleteSafetyDataPlanDelete(string projectId, string safetyDataId)
|
||||
//{
|
||||
// var safetyDataPlan = from x in db.SafetyData_SafetyDataPlanDelete where x.ProjectId == projectId && x.SafetyDataId == safetyDataId select x;
|
||||
// if (safetyDataPlan.Count() > 0)
|
||||
// {
|
||||
// db.SafetyData_SafetyDataPlanDelete.DeleteAllOnSubmit(safetyDataPlan);
|
||||
// db.SubmitChanges();
|
||||
// }
|
||||
// GetSafetyDataPlanByProjectInfo(projectId, safetyDataId, null, null);
|
||||
|
||||
//}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 添加考核明细时 得到实际考核分数
|
||||
/// </summary>
|
||||
/// <param name="SafetyDataPlan">提交时间未空的考核计划明细集合</param>
|
||||
private static void GetSafetyDataPlanRealScore(Model.SafetyData_SafetyDataPlan safetyDataPlan)
|
||||
{
|
||||
/// 考核项目、考核资料项、考核时间内 是否存在资料
|
||||
var safetyDataItem = from x in Funs.DB.SafetyData_SafetyDataItem
|
||||
where x.ProjectId == safetyDataPlan.ProjectId && x.SafetyDataId == safetyDataPlan.SafetyDataId
|
||||
&& x.CompileDate >= safetyDataPlan.RealStartDate && x.CompileDate <= safetyDataPlan.RealEndDate
|
||||
orderby x.SubmitDate
|
||||
select x;
|
||||
if (safetyDataItem.Count() > 0)
|
||||
{
|
||||
safetyDataPlan.SubmitDate = safetyDataItem.FirstOrDefault().SubmitDate;
|
||||
if (safetyDataPlan.SubmitDate <= safetyDataPlan.CheckDate || safetyDataPlan.ShouldScore < 0) ///准时提交
|
||||
{
|
||||
safetyDataPlan.RealScore = safetyDataPlan.ShouldScore;
|
||||
}
|
||||
else ///超期提交
|
||||
{
|
||||
safetyDataPlan.RealScore = 0;
|
||||
}
|
||||
|
||||
UpdateSafetyDataPlan(safetyDataPlan);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,360 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user