CNCEC_SUBQHSE_WUHUAN/SGGL/BLL/HSSE/Check/Check_CheckHolidayService.cs

149 lines
7.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
/// <summary>
/// 季节性/节假日检查
/// </summary>
public static class Check_CheckHolidayService
{
/// <summary>
/// 根据季节性/节假日检查ID获取季节性/节假日检查信息
/// </summary>
/// <param name="CheckHolidayName"></param>
/// <returns></returns>
public static Model.Check_CheckHoliday GetCheckHolidayByCheckHolidayId(string checkHolidayId)
{
return Funs.DB.Check_CheckHoliday.FirstOrDefault(e => e.CheckHolidayId == checkHolidayId);
}
/// <summary>
/// 根据时间段获取季节性/节假日检查信息集合
/// </summary>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <param name="projectId"></param>
/// <returns></returns>
public static int GetCountByCheckTime(DateTime startTime, DateTime endTime, string projectId)
{
return (from x in Funs.DB.Check_CheckHoliday where x.CheckTime >= startTime && x.CheckTime < endTime && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x).Count();
}
/// <summary>
/// 根据时间段获取已完成的季节性/节假日检查整改数量
/// </summary>
/// <param name="startTime">开始时间</param>
/// <param name="endTime">结束时间</param>
/// <param name="projectId">项目号</param>
/// <returns>已完成的季节性/节假日检查整改数量</returns>
public static int GetIsOKViolationCountByCheckTime(DateTime startTime, DateTime endTime, string projectId)
{
return (from x in Funs.DB.Check_CheckHoliday
join y in Funs.DB.Check_CheckHolidayDetail on x.CheckHolidayId equals y.CheckHolidayId
where x.CheckTime >= startTime && x.CheckTime <= endTime && x.ProjectId == projectId
select y).Count();
}
/// <summary>
/// 添加安全季节性/节假日检查
/// </summary>
/// <param name="checkHoliday"></param>
public static void AddCheckHoliday(Model.Check_CheckHoliday checkHoliday)
{
Model.Check_CheckHoliday newCheckHoliday = new Model.Check_CheckHoliday
{
CheckHolidayId = checkHoliday.CheckHolidayId,
CheckHolidayCode = checkHoliday.CheckHolidayCode,
ProjectId = checkHoliday.ProjectId,
Area = checkHoliday.Area,
CheckTime = checkHoliday.CheckTime,
ThisUnitId = checkHoliday.ThisUnitId,
MainUnitPerson = checkHoliday.MainUnitPerson,
SubUnits = checkHoliday.SubUnits,
SubUnitPerson = checkHoliday.SubUnitPerson,
PartInPersonNames = checkHoliday.PartInPersonNames,
MainUnitDeputy = checkHoliday.MainUnitDeputy,
SubUnitDeputy = checkHoliday.SubUnitDeputy,
MainUnitDeputyDate = checkHoliday.MainUnitDeputyDate,
SubUnitDeputyDate = checkHoliday.SubUnitDeputyDate,
AttachUrl = checkHoliday.AttachUrl,
IsCompleted = checkHoliday.IsCompleted,
States = checkHoliday.States,
CompileMan = checkHoliday.CompileMan
};
Funs.DB.Check_CheckHoliday.InsertOnSubmit(newCheckHoliday);
Funs.DB.SubmitChanges();
////增加一条编码记录
BLL.CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(BLL.Const.ProjectCheckHolidayMenuId, checkHoliday.ProjectId, null, checkHoliday.CheckHolidayId, checkHoliday.CheckTime);
}
/// <summary>
/// 修改安全季节性/节假日检查
/// </summary>
/// <param name="checkHoliday"></param>
public static void UpdateCheckHoliday(Model.Check_CheckHoliday checkHoliday)
{
Model.Check_CheckHoliday newCheckHoliday = Funs.DB.Check_CheckHoliday.FirstOrDefault(e => e.CheckHolidayId == checkHoliday.CheckHolidayId);
if (newCheckHoliday != null)
{
newCheckHoliday.Area = checkHoliday.Area;
newCheckHoliday.CheckTime = checkHoliday.CheckTime;
newCheckHoliday.ThisUnitId = checkHoliday.ThisUnitId;
newCheckHoliday.MainUnitPerson = checkHoliday.MainUnitPerson;
newCheckHoliday.SubUnits = checkHoliday.SubUnits;
newCheckHoliday.SubUnitPerson = checkHoliday.SubUnitPerson;
newCheckHoliday.PartInPersonNames = checkHoliday.PartInPersonNames;
newCheckHoliday.MainUnitDeputy = checkHoliday.MainUnitDeputy;
newCheckHoliday.SubUnitDeputy = checkHoliday.SubUnitDeputy;
newCheckHoliday.MainUnitDeputyDate = checkHoliday.MainUnitDeputyDate;
newCheckHoliday.SubUnitDeputyDate = checkHoliday.SubUnitDeputyDate;
newCheckHoliday.AttachUrl = checkHoliday.AttachUrl;
newCheckHoliday.IsCompleted = checkHoliday.IsCompleted;
newCheckHoliday.States = checkHoliday.States;
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 根据季节性/节假日检查ID删除对应季节性/节假日检查记录信息
/// </summary>
/// <param name="superviseCheckReportId"></param>
public static void DeleteCheckHoliday(string checkHolidayId)
{
var q = (from x in Funs.DB.Check_CheckHoliday where x.CheckHolidayId == checkHolidayId select x).FirstOrDefault();
if (q != null)
{
///删除编码表记录
BLL.CodeRecordsService.DeleteCodeRecordsByDataId(q.CheckHolidayId);
////删除附件表
BLL.CommonService.DeleteAttachFileById(q.CheckHolidayId);
///删除工程师日志收集记录
if (!string.IsNullOrEmpty(q.MainUnitPerson))
{
List<string> mainUnitPersonIds = Funs.GetStrListByStr(q.MainUnitPerson, ',');
foreach (var item in mainUnitPersonIds)
{
BLL.HSSELogService.CollectHSSELog(q.ProjectId, item, q.CheckTime, "21", "季节性和节假日前HSE检查", Const.BtnDelete, 1);
}
}
if (!string.IsNullOrEmpty(q.SubUnitPerson))
{
List<string> subUnitPersonIds = Funs.GetStrListByStr(q.SubUnitPerson, ',');
foreach (var item in subUnitPersonIds)
{
BLL.HSSELogService.CollectHSSELog(q.ProjectId, item, q.CheckTime, "21", "季节性和节假日前HSE检查", Const.BtnDelete, 1);
}
}
BLL.CommonService.DeleteFlowOperateByID(q.CheckHolidayId);
Funs.DB.Check_CheckHoliday.DeleteOnSubmit(q);
Funs.DB.SubmitChanges();
}
}
}
}