namespace BLL { using System.Collections.Generic; using System.Linq; using Model; using System; using Newtonsoft.Json; public static class ProjectService { public static SUBQHSEDB db = Funs.DB; /// ///获取项目信息 /// /// public static Model.Base_Project GetProjectByProjectId(string projectId) { return Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectId == projectId); } public static Model.Base_Project GetProjectByProjectCode(string code) { return Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectCode == code); } /// /// 获取安全经理 /// /// /// public static Model.Project_ProjectUser getHSSEManager(string projectId) { return Funs.DB.Project_ProjectUser.FirstOrDefault(x => x.ProjectId == projectId && x.RoleId.Contains(BLL.Const.HSSEManager)); } /// ///根据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; } public static void InitShiYeShortNameDropDownList(FineUIPro.DropDownList dropName, string userId, string projectId, bool isShowPlease) { dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ProjectName"; var projectlist = GetShiYeProjectByUserIdDropDownList(userId, projectId); dropName.DataSource = projectlist; dropName.DataBind(); if (projectlist.Count() == 0) { isShowPlease = true; } if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } public static List GetShiYeProjectByUserIdDropDownList(string userId, string needProjectId) { if (userId == Const.sysglyId || userId == Const.hfnbdId || userId == Const.sedinId) { return (from x in Funs.DB.Base_Project where x.ProjectAttribute == "SHIYE" && (x.IsDelete == null || x.IsDelete == false) 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); if (getRoleP != null) { return (from x in Funs.DB.Base_Project where x.ProjectAttribute == "SHIYE" && (x.IsDelete == null || x.IsDelete == false) 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 x.ProjectAttribute == "SHIYE" && y.UserId == userId && (x.IsDelete == null || x.IsDelete == false) orderby x.ProjectCode descending select x).Distinct().ToList(); } } else { return null; } } public static string GetProjectNameByProjectId(object projectId) { string name = string.Empty; if (projectId != null) { var project = Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectId == projectId.ToString()); 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.SUBQHSEDB db = Funs.DB; Model.Base_Project newProject = new Base_Project { ProjectId = project.ProjectId, MasterSysId = project.MasterSysId, 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, ProjectAttribute = project.ProjectAttribute, ProjectNature = project.ProjectNature, ProjectInsurance = project.ProjectInsurance, }; db.Base_Project.InsertOnSubmit(newProject); db.SubmitChanges(); // Project_HSSEData_HSSEService.StatisticalData(project.ProjectId, Project_HSSEData_HSSEService.HSSEDateType.ProjectInformation); HSEDataCollectService.ProjectHSEDataCollectSubmission(newProject); } /// ///修改项目信息 /// /// public static void UpdateProject(Model.Base_Project project) { SUBQHSEDB db = Funs.DB; Base_Project newProject = db.Base_Project.FirstOrDefault(e => e.ProjectId == project.ProjectId); if (newProject != null) { newProject.MasterSysId = project.MasterSysId; 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; newProject.ProjectAttribute = project.ProjectAttribute; newProject.ProjectNature = project.ProjectNature; newProject.ProjectInsurance = project.ProjectInsurance; db.SubmitChanges(); //Project_HSSEData_HSSEService.StatisticalData(project.ProjectId, Project_HSSEData_HSSEService.HSSEDateType.ProjectInformation); HSEDataCollectService.ProjectHSEDataCollectSubmission(newProject); } } /// /// 根据项目Id删除一个项目信息 /// /// public static void DeleteProject(string projectId) { SUBQHSEDB db = Funs.DB; Base_Project project = db.Base_Project.FirstOrDefault(e => e.ProjectId == projectId); if (project != null) { db.Base_Project.DeleteOnSubmit(project); db.SubmitChanges(); //Project_HSSEData_HSSEService.StatisticalData(projectId, Project_HSSEData_HSSEService.HSSEDateType.ProjectInformation); } } /// /// 获取施工中项目集合 /// /// public static List GetProjectWorkList() { var list = (from x in Funs.DB.Base_Project where (x.ProjectState == null || x.ProjectState == BLL.Const.ProjectState_1) && (x.IsDelete == null || x.IsDelete == false) orderby x.ProjectCode descending select x).ToList(); return list; } /// /// 根据userid获取在建项目列表 /// /// /// public static List GetProjectWorkIdByUserId(string userid) { List _beUnderConstructionList = null; var userModel = UserService.GetUserByUserId(userid); int unitType = CommonService.GetUnitTypeByUserId(userid); var projectList = ProjectService.GetProjectWorkList().Select(x => new { x.ProjectId, x.UnitId }).ToList(); if (unitType == 0) { _beUnderConstructionList = projectList.Select(x => x.ProjectId).ToList(); } else if (unitType == 1) { _beUnderConstructionList = projectList.Where(x => x.UnitId == userModel.UnitId).Select(x => x.ProjectId).ToList(); } else if (unitType == 2) { _beUnderConstructionList = new List() { "0" }; } return _beUnderConstructionList; } /// /// 获取施工中项目集合 /// /// public static List GetProjectWorkList(string unitId) { var getDatas = from x in Funs.DB.Base_Project where (x.ProjectState == null || x.ProjectState == BLL.Const.ProjectState_1) && (x.IsDelete == null || x.IsDelete == false) select x; if (unitId == CommonService.GetThisUnitId()) { getDatas = getDatas.Where(x => x.UnitId == unitId || x.UnitId == null); } else { getDatas = getDatas.Where(x => x.UnitId == unitId); } var list = getDatas.OrderBy(x => x.ProjectName).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) && (x.IsDelete == null || x.IsDelete == false) orderby x.ProjectCode descending select x).ToList(); return list; } else { var list = (from x in Funs.DB.Base_Project where x.ProjectState == state && (x.IsDelete == null || x.IsDelete == false) orderby x.ProjectCode descending select x).ToList(); return list; } } /// /// 获取项目下拉选项 /// /// public static List GetAllProjectDropDownList() { var list = (from x in Funs.DB.Base_Project where (x.IsDelete == null || x.IsDelete == false) orderby x.ProjectCode descending select x).ToList(); return list; } /// /// 获取项目下拉选项 /// /// public static List GetUnitProjectDropDownList(string unitId) { var list = (from x in Funs.DB.Base_Project where x.UnitId == unitId && (x.IsDelete == null || x.IsDelete == false) 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 && (x.IsDelete == null || x.IsDelete == false) orderby x.ProjectCode descending select x).ToList(); return list; } public static List GetSHIYEProjectDropDownList() { var list = (from x in Funs.DB.Base_Project where x.ProjectAttribute == "SHIYE" && (x.IsDelete == null || x.IsDelete == false) orderby x.ProjectCode descending select x).ToList(); return list; } /// /// 获取实业项目 /// /// /// public static void InitSHIYEProjectDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease) { dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ProjectName"; var projectlist = BLL.ProjectService.GetSHIYEProjectDropDownList(); dropName.DataSource = projectlist; dropName.DataBind(); if (projectlist.Count() == 0) { isShowPlease = true; } if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } /// /// 获取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 where (x.IsDelete == null || x.IsDelete == false) 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 where (x.IsDelete == null || x.IsDelete == false) 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 && (x.IsDelete == null || x.IsDelete == false) orderby x.ProjectCode descending select x).Distinct().ToList(); } } else { return null; } } public static List GetUnEndProjectByUserIdDropDownList(string userId, string needProjectId) { if (userId == Const.sysglyId || userId == Const.hfnbdId || userId == Const.sedinId) { return (from x in Funs.DB.Base_Project where (x.IsDelete == null || x.IsDelete == false) 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 where x.ProjectState2 != "7" || (needProjectId != "" && needProjectId == x.ProjectId) && (x.IsDelete == null || x.IsDelete == false) 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 && (x.ProjectState2 != "7" || (needProjectId != "" && needProjectId == x.ProjectId)) && (x.IsDelete == null || x.IsDelete == false) orderby x.ProjectCode descending select x).Distinct().ToList(); } } else { return null; } } public static List GetUnEndProjectByUserIdDropDownList(string userId, string needProjectId, string ProjectAttribute, string projectState, string projectName = null) { IQueryable projects = null; if (userId == Const.sysglyId || userId == Const.hfnbdId || userId == Const.sedinId) { projects = from x in Funs.DB.Base_Project where x.ProjectAttribute.Contains(ProjectAttribute) && (x.IsDelete == null || x.IsDelete == false) select x; } else { var getUser = UserService.GetUserByUserId(userId); if (getUser != null) { var thisUnitId = CommonService.GetThisUnitId(); var getUnit = UnitService.GetUnitByUnitId(getUser.UnitId); ///// 获取角色类型 //var getRoleP = Funs.DB.Sys_RolePower.FirstOrDefault(x => x.RoleId == getUser.RoleId && x.IsOffice == true); if (getUser.IsOffice == true) { if (getUser.UnitId == thisUnitId) { projects = from x in Funs.DB.Base_Project where x.ProjectAttribute.Contains(ProjectAttribute) && (x.IsDelete == null || x.IsDelete == false) select x; } else if (getUnit != null && getUnit.IsBranch == true) { projects = from x in Funs.DB.Base_Project where x.ProjectAttribute.Contains(ProjectAttribute) && (x.IsDelete == null || x.IsDelete == false) && x.UnitId == getUnit.UnitId select x; } else { projects = from x in Funs.DB.Base_Project join y in Funs.DB.Project_ProjectUser on x.ProjectId equals y.ProjectId where x.ProjectAttribute.Contains(ProjectAttribute) && (x.UnitId == getUser.UnitId || y.UserId == userId) && (x.IsDelete == null || x.IsDelete == false) select x; } } else { projects = from x in Funs.DB.Base_Project join y in Funs.DB.Project_ProjectUser on x.ProjectId equals y.ProjectId where y.UserId == userId && x.ProjectAttribute.Contains(ProjectAttribute) && (x.IsDelete == null || x.IsDelete == false) select x; } } else { return null; } } if (projectState != "0") { if (projectState == "1") { projects = from x in projects where x.ProjectState == projectState || x.ProjectState == null select x; } else { projects = from x in projects where x.ProjectState == projectState select x; } } if (!string.IsNullOrEmpty(projectName)) { projects = from x in projects where x.ProjectName.Contains(projectName) select x; } return (from x in projects join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId select x).Distinct().ToList(); } #region 项目表下拉框 /// /// 项目表下拉框 /// /// 下拉框名字 /// 是否显示请选择 public static void InitProjectDropDownList(FineUIPro.DropDownList dropName, string unitId, bool isShowPlease) { dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ProjectName"; dropName.DataSource = BLL.ProjectService.GetProjectWorkList(unitId); dropName.DataBind(); if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } 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 ProjectAttributeDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease) { dropName.DataValueField = "Value"; dropName.DataTextField = "Text"; dropName.DataSource = BLL.DropListService.ProjectAttributeList(); 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 InitUnitProjectDropDownList(FineUIPro.DropDownList dropName, string unitId, bool isShowPlease) { dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ProjectName"; var projectlist = BLL.ProjectService.GetUnitProjectDropDownList(unitId); dropName.DataSource = projectlist; dropName.DataBind(); if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } /// /// /// /// /// /// public static void InitAllUnEndProjectShortNameDropDownList(FineUIPro.DropDownList dropName, string userId, string projectId, bool isShowPlease) { dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ProjectName"; var projectlist = GetUnEndProjectByUserIdDropDownList(userId, projectId); dropName.DataSource = projectlist; dropName.DataBind(); if (projectlist.Count() == 0) { isShowPlease = true; } if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } public static void InitAllUnEndProjectShortNameByAttributeDropDownList(FineUIPro.DropDownList dropName, string userId, string projectId, string ProjectAttribute, bool isShowPlease, string projectState) { dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ProjectName"; var projectlist = GetUnEndProjectByUserIdDropDownList(userId, projectId, ProjectAttribute, projectState); 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.SUBQHSEDB db = new Model.SUBQHSEDB(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.SUBQHSEDB db = new Model.SUBQHSEDB(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.SUBQHSEDB db = new Model.SUBQHSEDB(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; } } #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; } /// ///根据ID获取项目编号 /// /// public static string GetContractNoByProjectId(string projectId) { string name = string.Empty; var project = Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectId == projectId); if (project != null) { name = project.ContractNo; if (string.IsNullOrEmpty(name)) { name = project.ProjectCode; } } return name; } /// /// 项目表下拉框 /// /// 下拉框名字 /// 是否显示请选择 public static void InitProjectShortNameDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease) { dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ShortName"; dropName.DataSource = BLL.ProjectService.GetProjectWorkList(); dropName.DataBind(); if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } /// /// 删除项目及关联信息 待完成 /// /// public static void DeleteProjectALLInfo(string projectId) { using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString)) { Base_Project project = db.Base_Project.FirstOrDefault(e => e.ProjectId == projectId); if (project != null) { var getManagementReport_ReportRemind = db.ManagementReport_ReportRemind.Where(x => x.ProjectId == projectId); if (getManagementReport_ReportRemind.Count() > 0) { db.ManagementReport_ReportRemind.DeleteAllOnSubmit(getManagementReport_ReportRemind); } var getProject_ProjectUnit = db.Project_ProjectUnit.Where(x => x.ProjectId == projectId); if (getProject_ProjectUnit.Count() > 0) { db.Project_ProjectUnit.DeleteAllOnSubmit(getProject_ProjectUnit); } var getProject_ProjectUser = db.Project_ProjectUser.Where(x => x.ProjectId == projectId); if (getProject_ProjectUser.Count() > 0) { db.Project_ProjectUser.DeleteAllOnSubmit(getProject_ProjectUser); } var getWBS_DivisionProject = db.WBS_DivisionProject.Where(x => x.ProjectId == projectId); if (getWBS_DivisionProject.Count() > 0) { var getWBS_BreakdownProject = from x in db.WBS_BreakdownProject join y in db.WBS_DivisionProject on x.DivisionProjectId equals y.DivisionProjectId select x; if (getWBS_BreakdownProject.Count() > 0) { db.WBS_BreakdownProject.DeleteAllOnSubmit(getWBS_BreakdownProject); } db.WBS_DivisionProject.DeleteAllOnSubmit(getWBS_DivisionProject); } var getCH_Check = db.CH_Check.Where(x => x.ProjectId == projectId); if (getCH_Check.Count() > 0) { var getCH_CheckItem = from x in db.CH_CheckItem join y in db.CH_Check on x.CHT_CheckID equals y.CHT_CheckID select x; if (getCH_CheckItem.Count() > 0) { db.CH_CheckItem.DeleteAllOnSubmit(getCH_CheckItem); } db.CH_Check.DeleteAllOnSubmit(getCH_Check); } var getCH_Trust = db.CH_Trust.Where(x => x.ProjectId == projectId); if (getCH_Trust.Count() > 0) { var getCH_TrustItem = from x in db.CH_TrustItem join y in db.CH_Trust on x.CH_TrustID equals y.CH_TrustID select x; if (getCH_TrustItem.Count() > 0) { db.CH_TrustItem.DeleteAllOnSubmit(getCH_TrustItem); } db.CH_Trust.DeleteAllOnSubmit(getCH_Trust); } var getPW_JointInfo = db.PW_JointInfo.Where(x => x.ProjectId == projectId); if (getPW_JointInfo.Count() > 0) { db.PW_JointInfo.DeleteAllOnSubmit(getPW_JointInfo); } var getBO_WeldReportMain = db.BO_WeldReportMain.Where(x => x.ProjectId == projectId); if (getBO_WeldReportMain.Count() > 0) { db.BO_WeldReportMain.DeleteAllOnSubmit(getBO_WeldReportMain); } var getTP_TestPackage = db.TP_TestPackage.Where(x => x.ProjectId == projectId); if (getTP_TestPackage.Count() > 0) { var getTP_IsoList = from x in db.TP_IsoList join y in db.TP_TestPackage on x.PTP_ID equals y.PTP_ID select x; if (getTP_IsoList.Count() > 0) { db.TP_IsoList.DeleteAllOnSubmit(getTP_IsoList); } db.TP_TestPackage.DeleteAllOnSubmit(getTP_TestPackage); } var getProject_Installation = db.Project_Installation.Where(x => x.ProjectId == projectId); if (getProject_Installation.Count() > 0) { db.Project_Installation.DeleteAllOnSubmit(getProject_Installation); } var getMeeting_ClassMeeting = db.Meeting_ClassMeeting.Where(x => x.ProjectId == projectId); if (getMeeting_ClassMeeting.Count() > 0) { db.Meeting_ClassMeeting.DeleteAllOnSubmit(getMeeting_ClassMeeting); } var getMeeting_AttendMeeting = db.Meeting_AttendMeeting.Where(x => x.ProjectId == projectId); if (getMeeting_AttendMeeting.Count() > 0) { db.Meeting_AttendMeeting.DeleteAllOnSubmit(getMeeting_AttendMeeting); } var getMeeting_MonthMeeting = db.Meeting_MonthMeeting.Where(x => x.ProjectId == projectId); if (getMeeting_MonthMeeting.Count() > 0) { db.Meeting_MonthMeeting.DeleteAllOnSubmit(getMeeting_MonthMeeting); } var getMeeting_SafetyLeaderGroupMeeting = db.Meeting_SafetyLeaderGroupMeeting.Where(x => x.ProjectId == projectId); if (getMeeting_SafetyLeaderGroupMeeting.Count() > 0) { db.Meeting_SafetyLeaderGroupMeeting.DeleteAllOnSubmit(getMeeting_SafetyLeaderGroupMeeting); } var getMeeting_SpecialMeeting = db.Meeting_SpecialMeeting.Where(x => x.ProjectId == projectId); if (getMeeting_SpecialMeeting.Count() > 0) { db.Meeting_SpecialMeeting.DeleteAllOnSubmit(getMeeting_SpecialMeeting); } var getMeeting_WeekMeeting = db.Meeting_WeekMeeting.Where(x => x.ProjectId == projectId); if (getMeeting_WeekMeeting.Count() > 0) { db.Meeting_WeekMeeting.DeleteAllOnSubmit(getMeeting_WeekMeeting); } db.Base_Project.DeleteOnSubmit(project); db.SubmitChanges(); //Project_HSSEData_HSSEService.StatisticalData(projectId, Project_HSSEData_HSSEService.HSSEDateType.ProjectInformation); } } } public static void UpdateProjectIsDelete(string projectId) { using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString)) { Base_Project project = db.Base_Project.FirstOrDefault(e => e.ProjectId == projectId); if (project != null) { project.IsDelete = true; db.SubmitChanges(); } } } /// /// 单位下项目表下拉框 /// /// 下拉框名字 /// 单位 /// 是否显示请选择 public static void InitProjectByUnitIdDropDownList(FineUIPro.DropDownList dropName, string unitId, bool isShowPlease) { dropName.Items.Clear(); dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ProjectName"; dropName.DataSource = BLL.ProjectService.GetProjectWorkList(unitId); dropName.DataBind(); if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } /// ///获取项目所属单位名称 /// /// public static string getUnitNameByProjectId(string projectId) { string name = string.Empty; var project = Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectId == projectId); if (project != null) { name = UnitService.GetUnitNameByUnitId(project.UnitId); } return name; } /// /// 项目表下拉框,根据多个单位查询 /// /// 下拉框名字 /// 是否显示请选择 public static void InitUnitProjectDropDownListList(FineUIPro.DropDownList dropName, string unitId, bool isShowPlease) { dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ProjectName"; var projectlist = BLL.ProjectService.GetUnitProjectsDropDownList(unitId); dropName.DataSource = projectlist; dropName.DataBind(); if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } /// /// 根据多个单位获取项目下拉选项 /// /// public static List GetUnitProjectsDropDownList(string unitId) { var list = (from x in Funs.DB.Base_Project where unitId.Split(',').Contains(x.UnitId) && (x.IsDelete == null || x.IsDelete == false) orderby x.ProjectCode descending select x).ToList(); return list; } public static List GetProjectInfos() { var projectInfos = from project in Funs.DB.Base_Project join unit in Funs.DB.Base_Unit on project.UnitId equals unit.UnitId into unitJoin from unit in unitJoin.DefaultIfEmpty() join projectType in Funs.DB.Base_ProjectType on project.ProjectType equals projectType.ProjectTypeId into projectTypeJoin from projectType in projectTypeJoin.DefaultIfEmpty() join sysConst in Funs.DB.Sys_Const on new { ProjectState2 = project.ProjectState2, GroupId = BLL.ConstValue.GroupId_ProjectState } equals new { ProjectState2 = sysConst.ConstValue, GroupId = sysConst.GroupId } into sysConstJoin from sysConst in sysConstJoin.DefaultIfEmpty() where (project.ProjectAttribute == "GONGCHENG" || project.ProjectAttribute == null) && (project.IsDelete == null || project.IsDelete == false) select new ProjectOutput { ProjectId = project.ProjectId, ProjectCode = project.ProjectCode, ProjectName = project.ProjectName, UnitName = unit.UnitName, StartDate = project.StartDate, EndDate = project.EndDate, ProjectAddress = project.ProjectAddress, ShortName = project.ShortName, ConstructionMoney = project.ConstructionMoney, ProjectStateName = project.ProjectState == BLL.Const.ProjectState_2 ? "暂停中" : (project.ProjectState == BLL.Const.ProjectState_3 ? "已完工" : "施工中"), ProjectState = project.ProjectState, ProjectAttributeName = project.ProjectAttribute == "GONGCHENG" ? "工程" : (project.ProjectAttribute == "SHIYE" ? "实业" : ""), ProjectMoney = project.ProjectMoney, DayCount = DateTime.Now.Subtract(project.StartDate.Value).Days, ProjectTypeName = projectType.ProjectTypeName, ProjectStateName2 = sysConst.ConstText }; return projectInfos.ToList(); } /// /// 获取主数据项目 /// /// public static List GetMasterProjectInfos() { var thisUnit = CommonService.GetIsThisUnit(); Dictionary dic = new Dictionary() { {"collCropCode", thisUnit.CollCropCode} }; List projectlist = new List(); var returnData = ServerService.GerDataFromCncec("/api/Common/GetMasterDataProjectByCollCropCode", dic, null); if (returnData != null && returnData.code == 1) { projectlist = JsonConvert.DeserializeObject>(returnData.data.ToString()); } return projectlist; } /// /// 获取主数据项目(下拉框) /// /// /// public static void InitMasterProjectDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease) { dropName.DataValueField = "SysId"; dropName.DataTextField = "PrjName"; var thisUnit = CommonService.GetIsThisUnit(); Dictionary dic = new Dictionary() { {"collCropCode", thisUnit.CollCropCode} }; List projectlist = new List(); var returnData = ServerService.GerDataFromCncec("/api/Common/GetMasterDataProjectByCollCropCode", dic, null); if (returnData != null && returnData.code == 1) { projectlist = JsonConvert.DeserializeObject>(returnData.data.ToString()); } dropName.DataSource = projectlist; dropName.DataBind(); if (projectlist.Count() == 0) { isShowPlease = true; } if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } } }