namespace BLL { using System.Collections.Generic; using System.Linq; using Model; using System; public static class ProjectService { public static SGGLDB db = Funs.DB; /// ///获取项目信息 /// /// public static Model.Base_Project GetProjectByProjectId(string projectId) { return Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectId == projectId); } /// ///根据ID获取项目名称 /// /// public static string GetProjectNameByProjectId(string projectId) { string name = string.Empty; var project = Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectId == projectId); if (project != null) { name = project.ProjectName; } return name; } /// ///根据ID获取项目编号 /// /// public static string GetProjectCodeByProjectId(string projectId) { string name = string.Empty; var project = Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectId == projectId); if (project != null) { name = project.ProjectCode; } return name; } public static Model.Base_Project GetProjectByProjectShortName(string name) { return Funs.DB.Base_Project.FirstOrDefault(e => e.ShortName == name); } public static Model.Base_Project GetProjectByProjectName(string name) { return Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectName == name); } /// ///获取项目简称 /// /// public static string GetShortNameByProjectId(string projectId) { string name = string.Empty; var project = Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectId == projectId); if (project != null) { name = project.ShortName; } return name; } /// /// 增加项目信息 /// /// public static void AddProject(Model.Base_Project project) { Model.SGGLDB db = Funs.DB; Model.Base_Project newProject = new Base_Project { ProjectId = project.ProjectId, ProjectCode = project.ProjectCode, ProjectName = project.ProjectName, StartDate = project.StartDate, EndDate = project.EndDate, ProjectAddress = project.ProjectAddress, ContractNo = project.ContractNo, WorkRange = project.WorkRange, Duration = project.Duration, ShortName = project.ShortName, ProjectType = project.ProjectType, PostCode = project.PostCode, Remark = project.Remark, ProjectState = project.ProjectState, ProjectState2 = project.ProjectState2, IsUpTotalMonth = project.IsUpTotalMonth, UnitId = project.UnitId, ProjectMainPerson = project.ProjectMainPerson, ProjectLiaisonPerson = project.ProjectLiaisonPerson, IsForeign = project.IsForeign, FromProjectId = project.FromProjectId, MapCoordinates = project.MapCoordinates, ProjectMoney = project.ProjectMoney, ConstructionMoney = project.ConstructionMoney, Telephone = project.Telephone, Country = project.Country, Province = project.Province, City = project.City, EnglishRemark = project.EnglishRemark, Progress = project.Progress, }; db.Base_Project.InsertOnSubmit(newProject); db.SubmitChanges(); HSEDataCollectService.ProjectHSEDataCollectSubmission(newProject); } /// ///修改项目信息 /// /// public static void UpdateProject(Model.Base_Project project) { SGGLDB db = Funs.DB; Base_Project newProject = db.Base_Project.FirstOrDefault(e => e.ProjectId == project.ProjectId); if (newProject != null) { newProject.ProjectCode = project.ProjectCode; newProject.ProjectName = project.ProjectName; newProject.StartDate = project.StartDate; newProject.EndDate = project.EndDate; newProject.ProjectAddress = project.ProjectAddress; newProject.ShortName = project.ShortName; newProject.ContractNo = project.ContractNo; newProject.WorkRange = project.WorkRange; newProject.Duration = project.Duration; newProject.ProjectType = project.ProjectType; newProject.PostCode = project.PostCode; newProject.Remark = project.Remark; newProject.ProjectState = project.ProjectState; newProject.ProjectState2 = project.ProjectState2; newProject.IsUpTotalMonth = project.IsUpTotalMonth; newProject.UnitId = project.UnitId; newProject.ProjectMainPerson = project.ProjectMainPerson; newProject.ProjectLiaisonPerson = project.ProjectLiaisonPerson; newProject.IsForeign = project.IsForeign; newProject.FromProjectId = project.FromProjectId; newProject.MapCoordinates = project.MapCoordinates; newProject.ProjectMoney = project.ProjectMoney; newProject.ConstructionMoney = project.ConstructionMoney; newProject.Telephone = project.Telephone; newProject.Country = project.Country; newProject.Province = project.Province; newProject.City = project.City; newProject.EnglishRemark = project.EnglishRemark; newProject.Progress = project.Progress; db.SubmitChanges(); HSEDataCollectService.ProjectHSEDataCollectSubmission(newProject); } } /// /// 根据项目Id删除一个项目信息 /// /// public static void DeleteProject(string projectId) { SGGLDB db = Funs.DB; Base_Project project = db.Base_Project.FirstOrDefault(e => e.ProjectId == projectId); if (project != null) { db.Base_Project.DeleteOnSubmit(project); db.SubmitChanges(); } } /// /// 获取施工中项目集合 /// /// public static List GetProjectWorkList() { var list = (from x in Funs.DB.Base_Project where x.ProjectState == null || x.ProjectState == BLL.Const.ProjectState_1 orderby x.ProjectCode descending select x).ToList(); return list; } /// /// 获取项目下拉选项 /// /// public static List GetProjectDropDownListByState(string state) { if (state == BLL.Const.ProjectState_1) //施工 { var list = (from x in Funs.DB.Base_Project where x.ProjectState == state || x.ProjectState == null orderby x.ProjectCode descending select x).ToList(); return list; } else { var list = (from x in Funs.DB.Base_Project where x.ProjectState == state orderby x.ProjectCode descending select x).ToList(); return list; } } /// /// 获取项目下拉选项 /// /// public static List GetAllProjectDropDownList() { var list = (from x in Funs.DB.Base_Project orderby x.ProjectCode descending select x).ToList(); return list; } /// /// 获取某类型下项目下拉选项 /// /// public static List GetProjectByProjectTypeDropDownList(string projectType) { var list = (from x in Funs.DB.Base_Project where x.ProjectType == projectType orderby x.ProjectCode descending select x).ToList(); return list; } /// /// 获取userId参与项目下拉框 /// /// public static List GetProjectByUserIdDropDownList(string userId) { if (userId == Const.sysglyId || userId == Const.hfnbdId || userId == Const.sedinId) { return (from x in Funs.DB.Base_Project orderby x.ProjectCode descending select x).ToList(); } var getUser = UserService.GetUserByUserId(userId); if (getUser != null) { /// 获取角色类型 var getRoleP = Funs.DB.Sys_RolePower.FirstOrDefault(x => x.RoleId == getUser.RoleId && x.IsOffice == false); if (getRoleP != null) { return (from x in Funs.DB.Base_Project orderby x.ProjectCode descending select x).ToList(); } else { return (from x in Funs.DB.Base_Project join y in Funs.DB.Project_ProjectUser on x.ProjectId equals y.ProjectId where y.UserId == userId && y.IsPost == true orderby x.ProjectCode descending select x).Distinct().ToList(); } } else { return null; } } #region 项目表下拉框 /// /// 项目表下拉框 /// /// 下拉框名字 /// 是否显示请选择 public static void InitProjectDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease) { dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ProjectName"; dropName.DataSource = BLL.ProjectService.GetProjectWorkList(); dropName.DataBind(); if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } /// /// 项目表下拉框 /// /// 下拉框名字 /// 是否显示请选择 public static void InitAllProjectDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease) { dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ProjectName"; var projectlist = BLL.ProjectService.GetAllProjectDropDownList(); dropName.DataSource = projectlist; dropName.DataBind(); if (projectlist.Count() == 0) { isShowPlease = true; } if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } /// /// /// /// /// /// public static void InitAllProjectShortNameDropDownList(FineUIPro.DropDownList dropName, string userId, bool isShowPlease) { dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ProjectName"; var projectlist = GetProjectByUserIdDropDownList(userId); dropName.DataSource = projectlist; dropName.DataBind(); if (projectlist.Count() == 0) { isShowPlease = true; } if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } /// /// 某类型下项目表下拉框 /// /// 下拉框名字 /// 是否显示请选择 public static void InitProjectByProjectTypeDropDownList(FineUIPro.DropDownList dropName, string projectType, bool isShowPlease) { dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ProjectName"; var projectlist = BLL.ProjectService.GetProjectByProjectTypeDropDownList(projectType); dropName.DataSource = projectlist; dropName.DataBind(); if (projectlist.Count() == 0) { isShowPlease = true; } if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } #endregion #region 获取项目经理、施工经理、安全经理、质量经理、开车经理 /// /// 项目经理 /// /// /// public static string GetProjectManagerName(string projectId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { string name = string.Empty; if (projectId != null) { name = (from x in db.Base_Project join y in db.Project_ProjectUser on x.ProjectId equals y.ProjectId join z in db.Sys_User on y.UserId equals z.UserId where x.ProjectId == projectId && y.RoleId.Contains(BLL.Const.ProjectManager) select z.UserName).FirstOrDefault(); } return name; } } /// /// 施工经理 /// /// /// public static string GetConstructionManagerName(string projectId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { string name = string.Empty; if (projectId != null) { name = (from x in db.Base_Project join y in db.Project_ProjectUser on x.ProjectId equals y.ProjectId join z in db.Sys_User on y.UserId equals z.UserId where x.ProjectId == projectId && y.RoleId.Contains(BLL.Const.ConstructionManager) select z.UserName).FirstOrDefault(); } return name; } } /// /// 安全经理 /// /// /// public static string GetHSSEManagerName(string projectId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { string name = string.Empty; if (projectId != null) { name = (from x in db.Base_Project join y in db.Project_ProjectUser on x.ProjectId equals y.ProjectId join z in db.Sys_User on y.UserId equals z.UserId where x.ProjectId == projectId && y.RoleId.Contains(BLL.Const.HSSEManager) select z.UserName).FirstOrDefault(); } return name; } } /// /// 质量经理 /// /// /// public static string GetQAManagerName(string projectId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { string name = string.Empty; if (projectId != null) { name = (from x in db.Base_Project join y in db.Project_ProjectUser on x.ProjectId equals y.ProjectId join z in db.Sys_User on y.UserId equals z.UserId where x.ProjectId == projectId && y.RoleId.Contains(BLL.Const.QAManager) select z.UserName).FirstOrDefault(); } return name; } } /// /// 开车经理 /// /// /// public static string GetDriveManagerName(string projectId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { string name = string.Empty; if (projectId != null) { name = (from x in db.Base_Project join y in db.Project_ProjectUser on x.ProjectId equals y.ProjectId join z in db.Sys_User on y.UserId equals z.UserId where x.ProjectId == projectId && y.RoleId.Contains(BLL.Const.DriveManager) select z.UserName).FirstOrDefault(); } return name; } } #endregion /// /// 获取项目各单位类型单位名称 /// /// /// /// public static string getProjectUnitNameByUnitType(string projectId, string unitType) { string unitName = string.Empty; if (!string.IsNullOrEmpty(projectId)) { var getUnitName = from x in Funs.DB.Project_ProjectUnit join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId where x.ProjectId == projectId.ToString() && x.UnitType == unitType select y.UnitName; if (getUnitName.Count() > 0) { unitName = Funs.GetStringByArray(getUnitName.ToArray()); } } return unitName; } } }