using FineUIPro; using System; using System.Collections; using System.Collections.Generic; using System.Linq; namespace BLL { public static class HSSE_Hazard_HazardRegisterService { #region 获取安全巡检列表信息 /// /// 记录数 /// public static int count { get; set; } /// /// 定义变量 /// private static IQueryable getDataLists = from x in Funs.DB.View_Hazard_HazardRegisterList where x.ProblemTypes == "1" select x; /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// public static IEnumerable getListData(string projectId, string checkMan, string type, string workAreaName, string responsibilityUnitName, DateTime? startTime, DateTime? endTime, DateTime? startRectificationTime, DateTime? endRectificationTime , string states, string personId, string unitId, Grid Grid1) { IQueryable getDataList = getDataLists; if (!string.IsNullOrEmpty(projectId)) { getDataList = getDataList.Where(e => e.ProjectId == projectId); } if (!string.IsNullOrEmpty(checkMan)) { getDataList = getDataList.Where(e => e.CheckManName.Contains(checkMan)); } if (!string.IsNullOrEmpty(type)) { getDataList = getDataList.Where(e => e.RegisterTypesName.Contains(type)); } if (!string.IsNullOrEmpty(workAreaName)) { getDataList = getDataList.Where(e => e.WorkAreaName.Contains(workAreaName)); } if (!string.IsNullOrEmpty(responsibilityUnitName)) { getDataList = getDataList.Where(e => e.ResponsibilityUnitName.Contains(responsibilityUnitName)); } if (startTime.HasValue) { getDataList = getDataList.Where(e => e.CheckTime >= startTime); } if (endTime.HasValue) { getDataList = getDataList.Where(e => e.CheckTime <= endTime); } if (startRectificationTime.HasValue) { getDataList = getDataList.Where(e => e.RectificationTime >= startRectificationTime); } if (endRectificationTime.HasValue) { getDataList = getDataList.Where(e => e.RectificationTime <= endRectificationTime); } if (!string.IsNullOrEmpty(states) && states != Const._Null) { getDataList = getDataList.Where(e => e.States.Contains(states)); } if (!CommonService.IsMainUnitOrAdmin(personId)) { getDataList = getDataList.Where(e => e.ResponsibleUnit == unitId || e.SendUnitId == unitId); } count = getDataList.Count(); if (count == 0) { return null; } getDataList = SortConditionHelper.SortingAndPaging(getDataList, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize); return from x in getDataList select new { x.HazardRegisterId, x.CheckTime, x.RegisterDef, x.RegisterTypes2Name, x.RegisterTypesName, x.RegisterTypes3Name, x.HazardValue, x.RegisterTypes4Name, x.WorkAreaName, x.ResponsibilityUnitName, x.ResponsibilityManName, x.Rectification, x.RectificationPeriod, //x.CCManNames, x.RectificationTime, x.CheckManName, x.RegisterDate, x.StatesStr, }; } #endregion /// /// 根据危险观察登记主键获取危险观察登记信息 /// /// 危险观察登记主键 /// 危险观察登记信息 public static Model.HSSE_Hazard_HazardRegister GetHazardRegisterByHazardRegisterId(string hazardRegisterId) { return Funs.DB.HSSE_Hazard_HazardRegister.FirstOrDefault(x => x.HazardRegisterId == hazardRegisterId); } /// /// 获取项目风险列表 /// /// /// public static List GetHazardRegisterListByProjectId(string projectId) { return (from x in Funs.DB.HSSE_Hazard_HazardRegister where x.ProjectId == projectId select x).ToList(); } /// /// 增加危险观察登记信息 /// /// 危险观察登记实体 public static void AddHazardRegister(Model.HSSE_Hazard_HazardRegister hazardRegister) { Model.SGGLDB db = Funs.DB; Model.HSSE_Hazard_HazardRegister newHazardRegister = new Model.HSSE_Hazard_HazardRegister { HazardRegisterId = hazardRegister.HazardRegisterId, HazardCode = hazardRegister.HazardCode, RegisterDate = DateTime.Now, RegisterDef = hazardRegister.RegisterDef, RegisterTypesId = hazardRegister.RegisterTypesId, CheckCycle = hazardRegister.CheckCycle, Rectification = hazardRegister.Rectification, Place = hazardRegister.Place, ResponsibleUnit = hazardRegister.ResponsibleUnit, Observer = hazardRegister.Observer, RectifiedDate = hazardRegister.RectifiedDate, AttachUrl = hazardRegister.AttachUrl, ProjectId = hazardRegister.ProjectId, States = hazardRegister.States, IsEffective = hazardRegister.IsEffective, ResponsibleMan = hazardRegister.ResponsibleMan, CheckManId = hazardRegister.CheckManId, CheckTime = hazardRegister.CheckTime, RectificationPeriod = hazardRegister.RectificationPeriod, ImageUrl = hazardRegister.ImageUrl, RectificationImageUrl = hazardRegister.RectificationImageUrl, RectificationTime = hazardRegister.RectificationTime, ConfirmMan = hazardRegister.ConfirmMan, ConfirmDate = hazardRegister.ConfirmDate, HandleIdea = hazardRegister.HandleIdea, CutPayment = hazardRegister.CutPayment, ProblemTypes = hazardRegister.ProblemTypes, DIC_ID = hazardRegister.DIC_ID, HazardValue = hazardRegister.HazardValue, RegisterTypes2Id = hazardRegister.RegisterTypes2Id, RegisterTypes3Id = hazardRegister.RegisterTypes3Id, RegisterTypes4Id = hazardRegister.RegisterTypes4Id, CCManIds = hazardRegister.CCManIds, WorkPackageId = hazardRegister.WorkPackageId, WorkPackageName = hazardRegister.WorkPackageName, ControlId = hazardRegister.ControlId, }; db.HSSE_Hazard_HazardRegister.InsertOnSubmit(newHazardRegister); db.SubmitChanges(); } /// /// 修改危险观察登记信息 /// /// 危险观察登记实体 public static void UpdateHazardRegister(Model.HSSE_Hazard_HazardRegister hazardRegister) { Model.SGGLDB db = Funs.DB; Model.HSSE_Hazard_HazardRegister newHazardRegister = db.HSSE_Hazard_HazardRegister.FirstOrDefault(e => e.HazardRegisterId == hazardRegister.HazardRegisterId); if (newHazardRegister != null) { newHazardRegister.HazardCode = hazardRegister.HazardCode; newHazardRegister.RegisterDef = hazardRegister.RegisterDef; newHazardRegister.Rectification = hazardRegister.Rectification; newHazardRegister.Place = hazardRegister.Place; newHazardRegister.ResponsibleUnit = hazardRegister.ResponsibleUnit; newHazardRegister.Observer = hazardRegister.Observer; newHazardRegister.RectifiedDate = hazardRegister.RectifiedDate; newHazardRegister.AttachUrl = hazardRegister.AttachUrl; newHazardRegister.ProjectId = hazardRegister.ProjectId; newHazardRegister.States = hazardRegister.States; newHazardRegister.IsEffective = hazardRegister.IsEffective; newHazardRegister.ResponsibleMan = hazardRegister.ResponsibleMan; newHazardRegister.CheckManId = hazardRegister.CheckManId; //newHazardRegister.CheckTime = hazardRegister.CheckTime; newHazardRegister.RectificationPeriod = hazardRegister.RectificationPeriod; newHazardRegister.ImageUrl = hazardRegister.ImageUrl; newHazardRegister.RectificationImageUrl = hazardRegister.RectificationImageUrl; newHazardRegister.RectificationTime = hazardRegister.RectificationTime; newHazardRegister.ConfirmMan = hazardRegister.ConfirmMan; newHazardRegister.ConfirmDate = hazardRegister.ConfirmDate; newHazardRegister.HandleIdea = hazardRegister.HandleIdea; newHazardRegister.CutPayment = hazardRegister.CutPayment; newHazardRegister.ProblemTypes = hazardRegister.ProblemTypes; newHazardRegister.DIC_ID = hazardRegister.DIC_ID; newHazardRegister.HazardValue = hazardRegister.HazardValue; newHazardRegister.RegisterTypes2Id = hazardRegister.RegisterTypes2Id; newHazardRegister.RegisterTypes3Id = hazardRegister.RegisterTypes3Id; newHazardRegister.RegisterTypes4Id = hazardRegister.RegisterTypes4Id; newHazardRegister.CCManIds = hazardRegister.CCManIds; newHazardRegister.IsUpdate = null; newHazardRegister.WorkPackageId = newHazardRegister.WorkPackageId; newHazardRegister.WorkPackageName = newHazardRegister.WorkPackageName; //把附件表的路径复制过来 Model.AttachFile file = BLL.AttachFileService.GetAttachFile(hazardRegister.HazardRegisterId, Const.HSSE_HiddenRectificationListMenuId); if (file != null) { newHazardRegister.ImageUrl = file.AttachUrl; } Model.AttachFile fileR = BLL.AttachFileService.GetAttachFile(hazardRegister.HazardRegisterId + "-R", Const.HSSE_HiddenRectificationListMenuId); if (fileR != null) { newHazardRegister.RectificationImageUrl = fileR.AttachUrl; } db.SubmitChanges(); } } /// /// 根据危险观察登记主键删除一个危险观察登记信息 /// /// 危险观察登记主键 public static void DeleteHazardRegisterByHazardRegisterId(string hazardRegisterId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var hazardRegister = db.HSSE_Hazard_HazardRegister.FirstOrDefault(e => e.HazardRegisterId == hazardRegisterId); if (hazardRegister != null) { try { BLL.UploadFileService.DeleteFile(Funs.RootPath, hazardRegister.ImageUrl);//删除整改前图片 BLL.UploadFileService.DeleteFile(Funs.RootPath, hazardRegister.RectificationImageUrl);//删除整改后图片 } catch (Exception) { } db.HSSE_Hazard_HazardRegister.DeleteOnSubmit(hazardRegister); db.SubmitChanges(); } } } /// /// 对单位分组查询危险观察登记信息并 /// /// 危险观察登记信息 public static ListItem[] GetResponsibleUnitList(string projectId) { var q = (from x in Funs.DB.HSSE_Hazard_HazardRegister where x.ProjectId == projectId group x by x.ResponsibleUnit into x select new { ResponsibleUnit = x.Key }).ToList(); ListItem[] list = new ListItem[q.Count()]; for (int i = 0; i < q.Count(); i++) { list[i] = new ListItem(BLL.UnitService.GetUnitByUnitId(q[i].ResponsibleUnit).UnitName ?? "", q[i].ResponsibleUnit.ToString()); } return list; } /// /// 获取危险观察登记状态集合 /// /// 危险观察登记状态集合 public static List GetStatesList() { List handleSteps = new List(); Model.HandleStep handleStep1 = new Model.HandleStep(); handleStep1.Id = "1"; handleStep1.Name = "待整改"; handleSteps.Add(handleStep1); Model.HandleStep handleStep2 = new Model.HandleStep(); handleStep2.Id = "2"; handleStep2.Name = "已整改"; handleSteps.Add(handleStep2); Model.HandleStep handleStep3 = new Model.HandleStep(); handleStep3.Id = "3"; handleStep3.Name = "已闭环"; handleSteps.Add(handleStep3); Model.HandleStep handleStep4 = new Model.HandleStep(); handleStep4.Id = "4"; handleStep4.Name = "已作废"; handleSteps.Add(handleStep4); return handleSteps; } /// /// 根据危险观察登记主键删除一个危险观察登记信息 /// /// 危险观察登记主键 public static void DeleteHazardRegisterByCheckSpecialId(string checkSpecialId) { Model.SGGLDB db = Funs.DB; List hazardRegisters = db.HSSE_Hazard_HazardRegister.Where(e => e.CheckSpecialId == checkSpecialId).ToList(); if (hazardRegisters.Count > 0) { foreach (var hazardRegister in hazardRegisters) { if (hazardRegister.IsUpdate != true) { BLL.UploadFileService.DeleteFile(Funs.RootPath, hazardRegister.ImageUrl);//删除整改前图片 BLL.UploadFileService.DeleteFile(Funs.RootPath, hazardRegister.RectificationImageUrl);//删除整改后图片 db.HSSE_Hazard_HazardRegister.DeleteOnSubmit(hazardRegister); db.SubmitChanges(); } } } } } }