using FineUIPro; using Model; using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace BLL { public static class Project_HSSEData_HiddenDangerDetailService { public static Model.SGGLDB db = Funs.DB; #region 获取列表 /// /// 记录数 /// public static int count { get; set; } public static List GetProject_HSSEData_HiddenDangerDetailByModle(Model.Project_HSSEData_HiddenDangerDetail table) { var q = from x in db.Project_HSSEData_HiddenDangerDetail where (string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) && (string.IsNullOrEmpty(table.ProjectId) || x.Id.Contains(table.ProjectId)) && (string.IsNullOrEmpty(table.UnitId) || x.UnitId.Contains(table.UnitId)) && (string.IsNullOrEmpty(table.CollCropCode) || x.CollCropCode.Contains(table.CollCropCode)) && (string.IsNullOrEmpty(table.UnitName) || x.UnitName.Contains(table.UnitName)) && (string.IsNullOrEmpty(table.TypeName) || x.TypeName.Contains(table.TypeName)) select x ; return q.ToList(); } /// 获取分页列表 /// /// 页码 /// 每页数量 /// public static IEnumerable getListData(Model.Project_HSSEData_HiddenDangerDetail table, Grid Grid1) { var q = GetProject_HSSEData_HiddenDangerDetailByModle(table); count = q.Count(); if (count == 0) { return null; } // q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize); return from x in q select new { x.Id, x.ProjectId, x.UnitId, x.CollCropCode, x.UnitName, x.ReportDate, x.TypeName, x.TotalNum, x.NeedRectifyNum, }; } #endregion public static Model.Project_HSSEData_HiddenDangerDetail GetModelById(string Id) { return db.Project_HSSEData_HiddenDangerDetail.FirstOrDefault(x => x.Id == Id); } /// /// 获取项目该日期的隐患类别数据 /// /// /// /// public static List GetProject_HSSEData_HiddenDangerDetailByDate(DateTime? reportDate, string projectid) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var q = from x in db.Project_HSSEData_HiddenDangerDetail where x.ReportDate.Value.Date.CompareTo(reportDate.Value.Date) == 0 && x.ProjectId == projectid select x; return q.ToList(); } } public static void AddProject_HSSEData_HiddenDangerDetail(Model.Project_HSSEData_HiddenDangerDetail newtable) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { Model.Project_HSSEData_HiddenDangerDetail table = new Model.Project_HSSEData_HiddenDangerDetail { Id = newtable.Id, ProjectId = newtable.ProjectId, UnitId = newtable.UnitId, CollCropCode = newtable.CollCropCode, UnitName = newtable.UnitName, ReportDate = newtable.ReportDate, TypeName = newtable.TypeName, TotalNum = newtable.TotalNum, NeedRectifyNum = newtable.NeedRectifyNum, }; db.Project_HSSEData_HiddenDangerDetail.InsertOnSubmit(table); db.SubmitChanges(); } } public static void AddBulkProject_HSSEData_HiddenDangerDetails(List newtables) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { db.Project_HSSEData_HiddenDangerDetail.InsertAllOnSubmit(newtables); db.SubmitChanges(); } } public static void UpdateProject_HSSEData_HiddenDangerDetail(Model.Project_HSSEData_HiddenDangerDetail newtable) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { Model.Project_HSSEData_HiddenDangerDetail table = db.Project_HSSEData_HiddenDangerDetail.FirstOrDefault(x => x.Id == newtable.Id); if (table != null) { table.Id = newtable.Id; table.ProjectId = table.ProjectId; table.UnitId = newtable.UnitId; table.CollCropCode = newtable.CollCropCode; table.UnitName = newtable.UnitName; table.ReportDate = newtable.ReportDate; table.TypeName = newtable.TypeName; table.TotalNum = newtable.TotalNum; table.NeedRectifyNum = newtable.NeedRectifyNum; db.SubmitChanges(); } } } public static void DeleteProject_HSSEData_HiddenDangerDetailById(string Id) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { Model.Project_HSSEData_HiddenDangerDetail table = db.Project_HSSEData_HiddenDangerDetail.FirstOrDefault(x => x.Id == Id); if (table != null) { db.Project_HSSEData_HiddenDangerDetail.DeleteOnSubmit(table); db.SubmitChanges(); } } } /// /// 根据项目id和日期删除隐患类别数据 /// /// /// public static void DeleteProject_HSSEData_HiddenDangerDetailByDate(DateTime? reportDate, string projectid) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var table = db.Project_HSSEData_HiddenDangerDetail.Where(x => x.ReportDate.Value.Date.CompareTo(reportDate.Value.Date) == 0 && x.ProjectId == projectid); db.Project_HSSEData_HiddenDangerDetail.DeleteAllOnSubmit(table); db.SubmitChanges(); } } public static void DeleteProject_HSSEData_HiddenDangerDetailByDate(DateTime? reportDate) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var table = db.Project_HSSEData_HiddenDangerDetail.Where(x => x.ReportDate.Value.Date.CompareTo(reportDate.Value.Date) == 0); db.Project_HSSEData_HiddenDangerDetail.DeleteAllOnSubmit(table); db.SubmitChanges(); } } /// /// 根据projectid判断当天项目是否已统计数据 /// /// /// public static bool IsReportByToday(string projectid, string type) { var result = false; var q = (from x in Funs.DB.Project_HSSEData_HiddenDangerDetail where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date && x.ProjectId == projectid && x.TypeName == type select x).ToList(); if (q != null && q.Count > 0) { result = true; } return result; } /// /// 根据projectid,获取该项目当天的统计数据 /// /// /// public static Model.Project_HSSEData_HiddenDangerDetail GetTodayModelByProjectAndType(string projectid, string type) { var q = (from x in Funs.DB.Project_HSSEData_HiddenDangerDetail where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date && x.ProjectId == projectid && x.TypeName == type select x).FirstOrDefault(); return q; } public static List GetTodayModel() { var q = (from x in Funs.DB.Project_HSSEData_HiddenDangerDetail where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date group x by x.TypeName into g select new Model.HSSEDataHiddenDangerDetailItem { Id = SQLHelper.GetNewID(), TypeName = g.Key, NeedRectifyNum = g.Sum(p => p.NeedRectifyNum), TotalNum = g.Sum(p => p.TotalNum) }).ToList(); return q; } public static void StatisticalAllProjectData() { var db = Funs.DB; var projectids = ProjectService.GetProjectWorkList().Select(x => x.ProjectId).ToList(); var thisUnitId = string.Empty; var thisUnit = CommonService.GetIsThisUnit(); if (thisUnit != null) { thisUnitId = thisUnit.UnitId; } var baseUnit = BLL.UnitService.GetUnitByUnitId(thisUnitId); var list = from x in db.HSSE_Hazard_HazardRegister where projectids.Contains(x.ProjectId) select x; var data = (from x in list join y in db.HSSE_Hazard_HazardRegisterTypes on x.RegisterTypesId equals y.RegisterTypesId group x by new { x.ProjectId, x.RegisterTypesId, y.RegisterTypesName } into g select new { UnitId = thisUnitId, CollCropCode = baseUnit.CollCropCode, UnitName = baseUnit.UnitName, ProjectId = g.Key.ProjectId, ReportDate = DateTime.Now.Date, TypeName = g.Key.RegisterTypesName, TotalNum = g.Count(), NeedRectifyNum = g.Count(x => x.States == "1"), }).ToList(); DeleteProject_HSSEData_HiddenDangerDetailByDate(DateTime.Now.Date); var projectHsseDataHiddenDangerDetails = new List(); foreach (var item in data) { Project_HSSEData_HiddenDangerDetail table = new Project_HSSEData_HiddenDangerDetail { Id = SQLHelper.GetNewID(), UnitId = item.UnitId, CollCropCode = item.CollCropCode, UnitName = item.UnitName, ProjectId = item.ProjectId, ReportDate = item.ReportDate, TypeName = item.TypeName, TotalNum = item.TotalNum, NeedRectifyNum = item.NeedRectifyNum, }; projectHsseDataHiddenDangerDetails.Add(table); } AddBulkProject_HSSEData_HiddenDangerDetails(projectHsseDataHiddenDangerDetails); } /// /// 获取类别名称 /// /// public static string GetTypeName(string projectid) { string result = ""; return result; } /// /// 获取全部数量 /// /// public static int GetTotalNum(string projectid) { int result = 0; return result; } /// /// 获取待整改数量 /// /// public static int GetNeedRectifyNum(string projectid) { int result = 0; return result; } } }