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