using System; using System.Collections.Generic; using System.Linq; namespace BLL { /// /// 安全巡检API服务 /// public static class APISafetyPatrolService { /// /// 根据项目获取安全巡检列表(按工程名称搜索) /// /// 项目主键 /// 工程名称关键字 /// public static List getSafetyPatrolList(string projectId, string keyword) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { IQueryable query = db.HSSE_SafetyPatrol.Where(x => x.ProjectId == projectId); if (!string.IsNullOrEmpty(keyword)) { query = query.Where(x => x.HazardProjectName.Contains(keyword)); } var list = from x in query orderby x.PatrolDate descending select new Model.SafetyPatrolItem { PatrolId = x.PatrolId, Code = x.Code, ProjectId = x.ProjectId, HazardProjectId = x.HazardProjectId, HazardProjectName = x.HazardProjectName, PatrolDate = x.PatrolDate, PatrolMan = x.PatrolMan, PatrolManId = x.PatrolManId, PatrolStatus = x.PatrolStatus, Content = x.Content, Problems = x.Problems, Receiver = x.Receiver, ReceiverId = x.ReceiverId, HandleRequire = x.HandleRequire, RectifyReview = x.RectifyReview, Remarks = x.Remarks }; return list.ToList(); } } /// /// 根据主键获取安全巡检详情 /// /// 主键 /// public static Model.SafetyPatrolItem getSafetyPatrolById(string patrolId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var x = db.HSSE_SafetyPatrol.FirstOrDefault(e => e.PatrolId == patrolId); if (x == null) { return null; } return new Model.SafetyPatrolItem { PatrolId = x.PatrolId, Code = x.Code, ProjectId = x.ProjectId, HazardProjectId = x.HazardProjectId, HazardProjectName = x.HazardProjectName, PatrolDate = x.PatrolDate, PatrolMan = x.PatrolMan, PatrolManId = x.PatrolManId, PatrolStatus = x.PatrolStatus, Content = x.Content, Problems = x.Problems, Receiver = x.Receiver, ReceiverId = x.ReceiverId, HandleRequire = x.HandleRequire, RectifyReview = x.RectifyReview, Remarks = x.Remarks }; } } /// /// 新增安全巡检(返回主键) /// /// 巡检项 /// public static string addSafetyPatrol(Model.SafetyPatrolItem item) { if (string.IsNullOrEmpty(item.PatrolId)) { item.PatrolId = Guid.NewGuid().ToString(); } using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { ////编码为空时自动生成(全局唯一) if (string.IsNullOrEmpty(item.Code)) { item.Code = GetNewCode(db); } Model.HSSE_SafetyPatrol newItem = new Model.HSSE_SafetyPatrol { PatrolId = item.PatrolId, Code = item.Code, ProjectId = item.ProjectId, HazardProjectId = item.HazardProjectId, HazardProjectName = item.HazardProjectName, PatrolDate = item.PatrolDate, PatrolMan = item.PatrolMan, PatrolManId = item.PatrolManId, PatrolStatus = item.PatrolStatus, Content = item.Content, Problems = item.Problems, Receiver = item.Receiver, ReceiverId = item.ReceiverId, HandleRequire = item.HandleRequire, RectifyReview = item.RectifyReview, Remarks = item.Remarks }; db.HSSE_SafetyPatrol.InsertOnSubmit(newItem); db.SubmitChanges(); } ////保存巡检图片附件 if (!string.IsNullOrEmpty(item.AttachUrl)) { APIUpLoadFileService.SaveAttachUrl(Const.SafetyPatrolMenuId, item.PatrolId, item.AttachUrl, "0"); } ////保存整改图片附件 if (!string.IsNullOrEmpty(item.RectifyAttachUrl)) { APIUpLoadFileService.SaveAttachUrl(Const.SafetyPatrolRectifyMenuId, item.PatrolId, item.RectifyAttachUrl, "0"); } return item.PatrolId; } /// /// 更新安全巡检 /// /// 巡检项 /// 是否更新成功 public static bool updateSafetyPatrol(Model.SafetyPatrolItem item) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { Model.HSSE_SafetyPatrol newItem = db.HSSE_SafetyPatrol.FirstOrDefault(x => x.PatrolId == item.PatrolId); if (newItem == null) { return false; } newItem.ProjectId = item.ProjectId; newItem.HazardProjectId = item.HazardProjectId; newItem.HazardProjectName = item.HazardProjectName; newItem.PatrolDate = item.PatrolDate; newItem.PatrolMan = item.PatrolMan; newItem.PatrolManId = item.PatrolManId; newItem.PatrolStatus = item.PatrolStatus; newItem.Content = item.Content; newItem.Problems = item.Problems; newItem.Receiver = item.Receiver; newItem.ReceiverId = item.ReceiverId; newItem.HandleRequire = item.HandleRequire; newItem.RectifyReview = item.RectifyReview; newItem.Remarks = item.Remarks; db.SubmitChanges(); } ////保存巡检图片附件 if (!string.IsNullOrEmpty(item.AttachUrl)) { APIUpLoadFileService.SaveAttachUrl(Const.SafetyPatrolMenuId, item.PatrolId, item.AttachUrl, "0"); } ////保存整改图片附件 if (!string.IsNullOrEmpty(item.RectifyAttachUrl)) { APIUpLoadFileService.SaveAttachUrl(Const.SafetyPatrolRectifyMenuId, item.PatrolId, item.RectifyAttachUrl, "0"); } return true; } /// /// 生成新的巡检编码(全局唯一,前缀 XJ-,三位递增序号) /// /// 数据库上下文 /// private static string GetNewCode(Model.SGGLDB db) { int max = 0; foreach (Model.HSSE_SafetyPatrol item in db.HSSE_SafetyPatrol.ToList()) { string code = item.Code; if (!string.IsNullOrEmpty(code) && code.StartsWith("XJ-")) { int num = 0; if (int.TryParse(code.Substring(3), out num) && num > max) { max = num; } } } return string.Format("XJ-{0:D3}", max + 1); } } }