354 lines
15 KiB
C#
354 lines
15 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace BLL
|
|
{
|
|
/// <summary>
|
|
/// 班组
|
|
/// </summary>
|
|
public static class WorkAreaService
|
|
{
|
|
public static Model.SGGLDB db = Funs.DB;
|
|
|
|
/// <summary>
|
|
/// 根据主键获取班组信息
|
|
/// </summary>
|
|
/// <param name="WorkAreaId"></param>
|
|
/// <returns></returns>
|
|
public static Model.ProjectData_WorkArea getWorkAreaByWorkAreaId(string WorkAreaId)
|
|
{
|
|
return Funs.DB.ProjectData_WorkArea.FirstOrDefault(e => e.WorkAreaId == WorkAreaId);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 添加班组信息
|
|
/// </summary>
|
|
/// <param name="WorkArea"></param>
|
|
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();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改班组信息
|
|
/// </summary>
|
|
/// <param name="WorkArea"></param>
|
|
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();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据主键删除班组信息
|
|
/// </summary>
|
|
/// <param name="WorkAreaId"></param>
|
|
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();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据项目Id获取班组下拉选择项
|
|
/// </summary>
|
|
/// <param name="projectId"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.ProjectData_WorkArea> GetWorkAreaList(string projectId)
|
|
{
|
|
return (from x in Funs.DB.ProjectData_WorkArea where x.ProjectId == projectId
|
|
orderby x.WorkAreaCode select x).ToList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据项目ID、单位ID获取班组下拉选择项
|
|
/// </summary>
|
|
/// <param name="p"></param>
|
|
/// <param name="p_2"></param>
|
|
/// <returns></returns>
|
|
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 表下拉框
|
|
/// <summary>
|
|
/// 表下拉框
|
|
/// </summary>
|
|
/// <param name="dropName">下拉框名字</param>
|
|
/// <param name="isShowPlease">是否显示请选择</param>
|
|
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 表下拉框
|
|
/// <summary>
|
|
/// 表下拉框
|
|
/// </summary>
|
|
/// <param name="dropName">下拉框名字</param>
|
|
/// <param name="isShowPlease">是否显示请选择</param>
|
|
public static void InitWorkAreaProjectUnitsDropDownList(FineUIPro.DropDownList dropName, string projectId, string unitId, bool isShowPlease)
|
|
{
|
|
List<string> 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
|
|
|
|
/// <summary>
|
|
/// 获取区域名称
|
|
/// </summary>
|
|
/// <param name="UnitId"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据区域Code获取区域信息
|
|
/// </summary>
|
|
/// <param name="workAreaName"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取当前单位是否监理单位
|
|
/// </summary>
|
|
/// <param name="unitId"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据项目、装置、单位、当前单位获取工区号
|
|
/// </summary>
|
|
/// <param name="dropName"></param>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="installationId"></param>
|
|
/// <param name="unitId"></param>
|
|
/// <param name="supervisorUnitId"></param>
|
|
/// <param name="isShowPlease"></param>
|
|
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);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据项目、装置、单位获取工区号
|
|
/// </summary>
|
|
/// <param name="dropName"></param>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="installationId"></param>
|
|
/// <param name="unitId"></param>
|
|
/// <param name="isShowPlease"></param>
|
|
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);
|
|
|
|
}
|
|
/// <summary>
|
|
/// 获取区域编号
|
|
/// </summary>
|
|
/// <param name="workAreaId"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据项目ID、装置Id、单位ID获取班组下拉选择项
|
|
/// </summary>
|
|
/// <param name="p"></param>
|
|
/// <param name="p_2"></param>
|
|
/// <returns></returns>
|
|
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();
|
|
}
|
|
/// <summary>
|
|
/// 表下拉框
|
|
/// </summary>
|
|
/// <param name="dropName">下拉框名字</param>
|
|
/// <param name="isShowPlease">是否显示请选择</param>
|
|
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);
|
|
}
|
|
}/// <summary>
|
|
/// 根据项目Id获取区域下拉选项值
|
|
/// </summary>
|
|
/// <param name="dropName"></param>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="isShowPlease"></param>
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|