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;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |