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