215 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			215 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using FineUIPro; | |||
|  | using System; | |||
|  | using System.Collections; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | using System.Web.UI.WebControls; | |||
|  | 
 | |||
|  | namespace BLL | |||
|  | { | |||
|  |     /// <summary> | |||
|  |     /// 领导带班检查 | |||
|  |     /// </summary> | |||
|  |     public static class Check_ProjectLeaderCheckService | |||
|  |     { | |||
|  |         public static Model.SGGLDB db = Funs.DB; | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据主键获取领导带班检查 | |||
|  |         /// </summary> | |||
|  |         /// <param name="ProjectLeaderCheckId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static Model.Check_ProjectLeaderCheck GetProjectLeaderCheckById(string ProjectLeaderCheckId) | |||
|  |         { | |||
|  |             return Funs.DB.Check_ProjectLeaderCheck.FirstOrDefault(e => e.ProjectLeaderCheckId == ProjectLeaderCheckId); | |||
|  |         } | |||
|  | 
 | |||
|  |         #region 公司两级领导带班检查列表 | |||
|  |         /// <summary> | |||
|  |         /// 记录数 | |||
|  |         /// </summary> | |||
|  |         public static int count | |||
|  |         { | |||
|  |             get; | |||
|  |             set; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 定义变量 | |||
|  |         /// </summary> | |||
|  |         private static IQueryable<Model.Check_ProjectLeaderCheck> getDataLists = from x in db.Check_ProjectLeaderCheck | |||
|  |                                                                                  select x; | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///  数据列表 | |||
|  |         /// </summary> | |||
|  |         /// <param name="unitId"></param> | |||
|  |         /// <param name="Grid1"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static IEnumerable getListData(string projectId, string startTime, string endTime, Grid Grid1) | |||
|  |         { | |||
|  |             IQueryable<Model.Check_ProjectLeaderCheck> getDataList = getDataLists; | |||
|  |             if (!string.IsNullOrEmpty(projectId)) | |||
|  |             { | |||
|  |                 getDataList = getDataList.Where(x => x.ProjectId == projectId); | |||
|  |             } | |||
|  |             if (!string.IsNullOrEmpty(startTime)) | |||
|  |             { | |||
|  |                 DateTime? startTimeD = Funs.GetNewDateTime(startTime); | |||
|  |                 if (startTimeD.HasValue) | |||
|  |                 { | |||
|  |                     getDataList = getDataList.Where(x => x.CheckDate >= startTimeD); | |||
|  |                 } | |||
|  |             } | |||
|  |             if (!string.IsNullOrEmpty(endTime)) | |||
|  |             { | |||
|  |                 DateTime? endTimeD = Funs.GetNewDateTime(endTime); | |||
|  |                 if (endTimeD.HasValue) | |||
|  |                 { | |||
|  |                     getDataList = getDataList.Where(x => x.CheckDate <= endTimeD); | |||
|  |                 } | |||
|  |             } | |||
|  |             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 | |||
|  |                    join y in db.Base_Project on x.ProjectId equals y.ProjectId                | |||
|  |                    into ps                   | |||
|  |                    from y in ps.DefaultIfEmpty() | |||
|  |                    select new | |||
|  |                    { | |||
|  |                        x.ProjectLeaderCheckId, | |||
|  |                        x.ProjectId, | |||
|  |                        db.Base_Project.First(u => u.ProjectId == x.ProjectId).ProjectName, | |||
|  |                        x.CheckCode, | |||
|  |                        x.UnitIds, | |||
|  |                        x.LeaderIds, | |||
|  |                        x.LeaderNames, | |||
|  |                        x.QuestionDef, | |||
|  |                        x.CheckDate, | |||
|  |                        x.IsHoldMeet, | |||
|  |                        IsHoldMeetName = x.IsHoldMeet == true ? "是" : "否", | |||
|  |                        x.Requirement, | |||
|  |                    }; | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据日期获取领导带班检查集合 | |||
|  |         /// </summary> | |||
|  |         /// <param name="startTime">开始时间</param> | |||
|  |         /// <param name="endTime">结束时间</param> | |||
|  |         /// <param name="projectId">项目号</param> | |||
|  |         /// <returns>领导带班检查集合</returns> | |||
|  |         public static List<Model.Check_ProjectLeaderCheck> GetProjectLeaderCheckListsByDate(DateTime startTime, DateTime endTime, string projectId) | |||
|  |         { | |||
|  |             return (from x in Funs.DB.Check_ProjectLeaderCheck where x.CheckDate >= startTime && x.CheckDate <= endTime && x.ProjectId == projectId orderby x.CheckDate select x).ToList(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据时间段获取HSE领导带班检查集合 | |||
|  |         /// </summary> | |||
|  |         /// <param name="startTime">开始时间</param> | |||
|  |         /// <param name="endTime">结束时间</param> | |||
|  |         /// <param name="projectId">项目Id</param> | |||
|  |         /// <returns>时间段内的HSE领导带班检查集合</returns> | |||
|  |         public static int GetCountByDate(DateTime startTime, DateTime endTime, string projectId) | |||
|  |         { | |||
|  |             return (from x in Funs.DB.Check_ProjectLeaderCheck where x.CheckDate >= startTime && x.CheckDate <= endTime && x.ProjectId == projectId select x).Count(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 添加领导带班检查 | |||
|  |         /// </summary> | |||
|  |         /// <param name="ProjectLeaderCheck"></param> | |||
|  |         public static void AddProjectLeaderCheck(Model.Check_ProjectLeaderCheck ProjectLeaderCheck) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Check_ProjectLeaderCheck newProjectLeaderCheck = new Model.Check_ProjectLeaderCheck | |||
|  |             { | |||
|  |                 ProjectLeaderCheckId = ProjectLeaderCheck.ProjectLeaderCheckId, | |||
|  |                 ProjectId = ProjectLeaderCheck.ProjectId, | |||
|  |                 UnitIds = ProjectLeaderCheck.UnitIds, | |||
|  |                 CheckCode = ProjectLeaderCheck.CheckCode, | |||
|  |                 LeaderIds = ProjectLeaderCheck.LeaderIds, | |||
|  |                 CheckDate = ProjectLeaderCheck.CheckDate, | |||
|  |                 QuestionDef = ProjectLeaderCheck.QuestionDef, | |||
|  |                 IsHoldMeet = ProjectLeaderCheck.IsHoldMeet, | |||
|  |                 Requirement = ProjectLeaderCheck.Requirement, | |||
|  |                 LeaderNames = ProjectLeaderCheck.LeaderNames, | |||
|  |                 CompileMan = ProjectLeaderCheck.CompileMan, | |||
|  |                 CompileDate = ProjectLeaderCheck.CompileDate, | |||
|  |             }; | |||
|  |             db.Check_ProjectLeaderCheck.InsertOnSubmit(newProjectLeaderCheck); | |||
|  |             db.SubmitChanges(); | |||
|  |             CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(Const.ProjectLeaderCheckMenuId, ProjectLeaderCheck.ProjectId, null, ProjectLeaderCheck.ProjectLeaderCheckId, ProjectLeaderCheck.CheckDate); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 修改领导带班检查 | |||
|  |         /// </summary> | |||
|  |         /// <param name="ProjectLeaderCheck"></param> | |||
|  |         public static void UpdateProjectLeaderCheck(Model.Check_ProjectLeaderCheck ProjectLeaderCheck) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Check_ProjectLeaderCheck newProjectLeaderCheck = db.Check_ProjectLeaderCheck.FirstOrDefault(e => e.ProjectLeaderCheckId == ProjectLeaderCheck.ProjectLeaderCheckId); | |||
|  |             if (newProjectLeaderCheck != null) | |||
|  |             { | |||
|  |                 newProjectLeaderCheck.UnitIds = ProjectLeaderCheck.UnitIds; | |||
|  |                 newProjectLeaderCheck.CheckCode = ProjectLeaderCheck.CheckCode; | |||
|  |                 newProjectLeaderCheck.LeaderIds = ProjectLeaderCheck.LeaderIds; | |||
|  |                 newProjectLeaderCheck.CheckDate = ProjectLeaderCheck.CheckDate; | |||
|  |                 newProjectLeaderCheck.QuestionDef = ProjectLeaderCheck.QuestionDef; | |||
|  |                 newProjectLeaderCheck.IsHoldMeet = ProjectLeaderCheck.IsHoldMeet; | |||
|  |                 newProjectLeaderCheck.Requirement = ProjectLeaderCheck.Requirement; | |||
|  |                 newProjectLeaderCheck.LeaderNames = ProjectLeaderCheck.LeaderNames; | |||
|  |                 newProjectLeaderCheck.CompileMan = ProjectLeaderCheck.CompileMan; | |||
|  |                 newProjectLeaderCheck.CompileDate = ProjectLeaderCheck.CompileDate; | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据主键删除领导带班检查 | |||
|  |         /// </summary> | |||
|  |         /// <param name="ProjectLeaderCheckId"></param> | |||
|  |         public static void DeleteProjectLeaderCheckById(string ProjectLeaderCheckId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Check_ProjectLeaderCheck ProjectLeaderCheck = db.Check_ProjectLeaderCheck.FirstOrDefault(e => e.ProjectLeaderCheckId == ProjectLeaderCheckId); | |||
|  |             if (ProjectLeaderCheck != null) | |||
|  |             { | |||
|  |                 CodeRecordsService.DeleteCodeRecordsByDataId(ProjectLeaderCheckId); | |||
|  |                 ////删除附件表 | |||
|  |                 BLL.CommonService.DeleteAttachFileById(ProjectLeaderCheckId); | |||
|  |                 db.Check_ProjectLeaderCheck.DeleteOnSubmit(ProjectLeaderCheck); | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         public static string getLeaderName(object ProjectLeaderCheckId) | |||
|  |         { | |||
|  |             string name = string.Empty; | |||
|  |             if (ProjectLeaderCheckId != null) | |||
|  |             { | |||
|  |                 var getData = Check_ProjectLeaderCheckService.GetProjectLeaderCheckById(ProjectLeaderCheckId.ToString()); | |||
|  |                 if (getData != null) | |||
|  |                 { | |||
|  |                     if (!string.IsNullOrEmpty(getData.LeaderIds)) | |||
|  |                     { | |||
|  |                         name = UserService.getUserNamesUserIds(getData.LeaderIds); | |||
|  |                     } | |||
|  |                     if (!string.IsNullOrEmpty(getData.LeaderNames)) | |||
|  |                     { | |||
|  |                         name += "," + getData.LeaderNames; | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |             return name; | |||
|  |         } | |||
|  |     } | |||
|  | } |