using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
///
/// 班组
///
public static class WorkAreaService
{
public static Model.SGGLDB db = Funs.DB;
///
/// 根据主键获取班组信息
///
///
///
public static Model.ProjectData_WorkArea getWorkAreaByWorkAreaId(string WorkAreaId)
{
return Funs.DB.ProjectData_WorkArea.FirstOrDefault(e => e.WorkAreaId == WorkAreaId);
}
///
/// 添加班组信息
///
///
public static void AddWorkArea(Model.ProjectData_WorkArea WorkArea)
{
Model.SGGLDB db = Funs.DB;
Model.ProjectData_WorkArea newWorkArea = new Model.ProjectData_WorkArea
{
WorkAreaId = SQLHelper.GetNewID(),
ProjectId = WorkArea.ProjectId,
InstallationId = WorkArea.InstallationId,
UnitId = WorkArea.UnitId,
SupervisorUnitId = WorkArea.SupervisorUnitId,
WorkAreaCode = WorkArea.WorkAreaCode,
WorkAreaName = WorkArea.WorkAreaName,
Remark = WorkArea.Remark,
};
db.ProjectData_WorkArea.InsertOnSubmit(newWorkArea);
db.SubmitChanges();
}
///
/// 修改班组信息
///
///
public static void UpdateWorkArea(Model.ProjectData_WorkArea WorkArea)
{
Model.SGGLDB db = Funs.DB;
Model.ProjectData_WorkArea newWorkArea = db.ProjectData_WorkArea.FirstOrDefault(e => e.WorkAreaId == WorkArea.WorkAreaId);
if (newWorkArea != null)
{
newWorkArea.ProjectId = WorkArea.ProjectId;
newWorkArea.UnitId = WorkArea.UnitId;
newWorkArea.WorkAreaCode = WorkArea.WorkAreaCode;
newWorkArea.WorkAreaName = WorkArea.WorkAreaName;
newWorkArea.InstallationId = WorkArea.InstallationId;
newWorkArea.SupervisorUnitId = WorkArea.SupervisorUnitId;
db.SubmitChanges();
}
}
///
/// 根据主键删除班组信息
///
///
public static void DeleteWorkAreaById(string WorkAreaId)
{
Model.SGGLDB db = Funs.DB;
Model.ProjectData_WorkArea WorkArea = db.ProjectData_WorkArea.FirstOrDefault(e => e.WorkAreaId == WorkAreaId);
if (WorkArea != null)
{
db.ProjectData_WorkArea.DeleteOnSubmit(WorkArea);
db.SubmitChanges();
}
}
///
/// 根据项目Id获取班组下拉选择项
///
///
///
public static List GetWorkAreaList(string projectId)
{
return (from x in Funs.DB.ProjectData_WorkArea where x.ProjectId == projectId
orderby x.WorkAreaCode select x).ToList();
}
///
/// 根据项目ID、单位ID获取班组下拉选择项
///
///
///
///
public static object GetWorkAreaListByUnitId(string projectId, string unitId)
{
return (from x in Funs.DB.ProjectData_WorkArea
where x.ProjectId == projectId && x.UnitId == unitId
orderby x.WorkAreaCode select x).ToList();
}
public static object GetWorkAreaListByUnitIdForDrop(string projectId, string unitId)
{
return (from x in Funs.DB.ProjectData_WorkArea
where x.ProjectId == projectId && x.UnitId == unitId
orderby x.WorkAreaCode
select new { x .WorkAreaId, WorkAreaName = x.WorkAreaCode+"-"+x.WorkAreaName }).ToList();
}
#region 表下拉框
///
/// 表下拉框
///
/// 下拉框名字
/// 是否显示请选择
public static void InitWorkAreaProjectUnitDropDownList(FineUIPro.DropDownList dropName, string projectId, string unitId, bool isShowPlease)
{
dropName.DataValueField = "WorkAreaId";
dropName.DataTextField = "WorkAreaName";
dropName.DataSource = GetWorkAreaListByUnitIdForDrop(projectId, unitId);
dropName.DataBind();
if (isShowPlease)
{
Funs.FineUIPleaseSelect(dropName);
}
}
#endregion
#region 表下拉框
///
/// 表下拉框
///
/// 下拉框名字
/// 是否显示请选择
public static void InitWorkAreaProjectUnitsDropDownList(FineUIPro.DropDownList dropName, string projectId, string unitId, bool isShowPlease)
{
List units = Funs.GetStrListByStr(unitId, ',');
dropName.DataValueField = "WorkAreaId";
dropName.DataTextField = "WorkAreaName";
if (units.Count() > 0)
{
dropName.DataSource = (from x in Funs.DB.ProjectData_WorkArea
where x.ProjectId == projectId && units.Contains(x.UnitId)
orderby x.WorkAreaCode
select new { x.WorkAreaId, WorkAreaName = x.WorkAreaCode + "-" + x.WorkAreaName }).ToList();
}
else
{
dropName.DataSource = null;
}
dropName.DataBind();
if (isShowPlease)
{
Funs.FineUIPleaseSelect(dropName);
}
}
#endregion
///
/// 获取区域名称
///
///
///
public static string GetWorkAreaNameByWorkAreaId(string WorkAreaId)
{
string name = string.Empty;
var WorkArea = Funs.DB.ProjectData_WorkArea.FirstOrDefault(x => x.WorkAreaId == WorkAreaId);
if (WorkArea != null)
{
name = WorkArea.WorkAreaName;
}
return name;
}
///
/// 根据区域Code获取区域信息
///
///
///
public static bool IsExistWorkAreaCode(string projectId, string workAreaCode, string workAreaId, string installationId)
{
var q = Funs.DB.ProjectData_WorkArea.FirstOrDefault(x => x.ProjectId == projectId && x.WorkAreaCode == workAreaCode && x.InstallationId == installationId &&( x.WorkAreaId != workAreaId || workAreaId == null));
if (q != null)
{
return true;
}
else
{
return false;
}
}
///
/// 获取当前单位是否监理单位
///
///
///
public static bool IsSupervisor(string unitId, string projectId)
{
bool isSup = false;
var unit = Funs.DB.Project_ProjectUnit.FirstOrDefault(x=>x.UnitId==unitId);
if (unit != null && unit.UnitType == BLL.Const.ProjectUnitType_3)
{
var sysSet = BLL.Project_SysSetService.GetSysSetBySetId("4", projectId);
if (sysSet != null && sysSet.IsAuto == true)
{
isSup = true;
}
}
return isSup;
}
///
/// 根据项目、装置、单位、当前单位获取工区号
///
///
///
///
///
///
///
public static void GetWorkAreaListByInstallSupervisorUnit(FineUIPro.DropDownList dropName, string projectId,string installationId, string unitId, string supervisorUnitId, bool isShowPlease)
{
dropName.DataValueField = "WorkAreaId";
dropName.DataTextField = "WorkAreaName";
dropName.DataSource = (from x in Funs.DB.ProjectData_WorkArea
where x.InstallationId == installationId
&& x.UnitId == unitId && x.SupervisorUnitId == supervisorUnitId
&& x.ProjectId == projectId
orderby x.WorkAreaCode
select new { x.WorkAreaId, WorkAreaName = x.WorkAreaCode + "-" + x.WorkAreaName }).ToList();
dropName.DataBind();
if (isShowPlease)
{
Funs.FineUIPleaseSelect(dropName);
}
}
///
/// 根据项目、装置、单位获取工区号
///
///
///
///
///
///
public static void GetWorkAreaListByInstallUnit(FineUIPro.DropDownList dropName, string projectId, string installationId, string unitId, bool isShowPlease)
{
dropName.DataValueField = "WorkAreaId";
dropName.DataTextField = "WorkAreaName";
dropName.DataSource = (from x in Funs.DB.ProjectData_WorkArea
where x.InstallationId == installationId
&& x.UnitId == unitId
&& x.ProjectId == projectId
orderby x.WorkAreaCode
select new { x.WorkAreaId, WorkAreaName = x.WorkAreaCode + "-" + x.WorkAreaName }).ToList();
dropName.DataBind();
if (isShowPlease)
{
Funs.FineUIPleaseSelect(dropName);
}
}
public static Model.ProjectData_WorkArea GetWorkAreaByProjectIdAndInstalltionIdAndUnitId(string projectId, string installation, string unitId)
{
return Funs.DB.ProjectData_WorkArea.FirstOrDefault(e => e.ProjectId == projectId && e.InstallationId == installation && e.UnitId == unitId);
}
///
/// 获取区域编号
///
///
///
public static string GetWorkAreaCodeByWorkAreaId(string workAreaId)
{
string name = string.Empty;
var WorkArea = Funs.DB.ProjectData_WorkArea.FirstOrDefault(x => x.WorkAreaId == workAreaId);
if (WorkArea != null)
{
name = WorkArea.WorkAreaCode;
}
return name;
}
public static string GetWorkAreaCodeByWorkAreaIdForApi(string workAreaId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
string name = string.Empty;
var WorkArea =db.ProjectData_WorkArea.FirstOrDefault(x => x.WorkAreaId == workAreaId);
if (WorkArea != null)
{
name = WorkArea.WorkAreaCode;
}
return name;
}
}
///
/// 根据项目ID、装置Id、单位ID获取班组下拉选择项
///
///
///
///
public static object GetWorkAreaListByInstallUnitId(string projectId, string installId, string unitId)
{
return (from x in Funs.DB.ProjectData_WorkArea
where x.ProjectId == projectId && x.InstallationId == installId && x.UnitId == unitId
orderby x.WorkAreaCode
select x).ToList();
}
public static object GetWorkAreaListByInstallUnitIdForDrop(string projectId, string installId, string unitId)
{
return (from x in Funs.DB.ProjectData_WorkArea
where x.ProjectId == projectId && x.InstallationId == installId && x.UnitId == unitId
orderby x.WorkAreaCode
select new { x.WorkAreaId, WorkAreaName = x.WorkAreaCode + "-" + x.WorkAreaName }).ToList();
}
///
/// 表下拉框
///
/// 下拉框名字
/// 是否显示请选择
public static void InitWorkAreaProjectInstallUnitDropDownList(FineUIPro.DropDownList dropName, string projectId, string installId, string unitId, bool isShowPlease)
{
dropName.DataValueField = "WorkAreaId";
dropName.DataTextField = "WorkAreaName";
dropName.DataSource = GetWorkAreaListByInstallUnitIdForDrop(projectId, installId, unitId);
dropName.DataBind();
if (isShowPlease)
{
Funs.FineUIPleaseSelect(dropName);
}
}///
/// 根据项目Id获取区域下拉选项值
///
///
///
///
public static void InitWorkAreaByProjectId(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
{
dropName.DataValueField = "WorkAreaId";
dropName.DataTextField = "WorkAreaName";
dropName.DataSource = (from x in Funs.DB.ProjectData_WorkArea where x.ProjectId == projectId orderby x.WorkAreaCode select new { x.WorkAreaId, WorkAreaName = x.WorkAreaCode + "-" + x.WorkAreaName }).ToList();
dropName.DataBind();
if (isShowPlease)
{
Funs.FineUIPleaseSelect(dropName);
}
}
}
}