201 lines
9.0 KiB
C#
201 lines
9.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace BLL
|
|
{
|
|
public class WorkPackageService
|
|
{
|
|
/// <summary>
|
|
/// 添加分部分项工程
|
|
/// </summary>
|
|
/// <param name="WorkPackage"></param>
|
|
public static void AddWorkPackage(Model.WBS_WorkPackage WorkPackage)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.WBS_WorkPackage newWorkPackage = new Model.WBS_WorkPackage();
|
|
|
|
newWorkPackage.WorkPackageId = WorkPackage.WorkPackageId;
|
|
newWorkPackage.WorkPackageCode = WorkPackage.WorkPackageCode;
|
|
newWorkPackage.UnitWorkId = WorkPackage.UnitWorkId;
|
|
newWorkPackage.SuperWorkPack = WorkPackage.SuperWorkPack;
|
|
newWorkPackage.PackageCode = WorkPackage.PackageCode;
|
|
newWorkPackage.SuperWorkPackageId = WorkPackage.SuperWorkPackageId;
|
|
newWorkPackage.PackageContent = WorkPackage.PackageContent;
|
|
newWorkPackage.ProjectId = WorkPackage.ProjectId;
|
|
newWorkPackage.IsChild = WorkPackage.IsChild;
|
|
newWorkPackage.SortIndex = WorkPackage.SortIndex;
|
|
newWorkPackage.InitWorkPackageCode = WorkPackage.InitWorkPackageCode;
|
|
newWorkPackage.Weights = WorkPackage.Weights;
|
|
newWorkPackage.ProjectType = WorkPackage.ProjectType;
|
|
newWorkPackage.IsApprove = WorkPackage.IsApprove;
|
|
newWorkPackage.Costs = WorkPackage.Costs;
|
|
|
|
db.WBS_WorkPackage.InsertOnSubmit(newWorkPackage);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改分部分项工程
|
|
/// </summary>
|
|
/// <param name="WorkPackage"></param>
|
|
public static void UpdateWorkPackage(Model.WBS_WorkPackage WorkPackage)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.WBS_WorkPackage newWorkPackage = db.WBS_WorkPackage.First(e => e.WorkPackageId == WorkPackage.WorkPackageId);
|
|
newWorkPackage.WorkPackageCode = WorkPackage.WorkPackageCode;
|
|
newWorkPackage.UnitWorkId = WorkPackage.UnitWorkId;
|
|
newWorkPackage.PackageCode = WorkPackage.PackageCode;
|
|
newWorkPackage.PackageContent = WorkPackage.PackageContent;
|
|
newWorkPackage.ProjectId = WorkPackage.ProjectId;
|
|
newWorkPackage.IsChild = WorkPackage.IsChild;
|
|
newWorkPackage.SortIndex = WorkPackage.SortIndex;
|
|
newWorkPackage.Weights = WorkPackage.Weights;
|
|
newWorkPackage.IsApprove = WorkPackage.IsApprove;
|
|
newWorkPackage.Costs = WorkPackage.Costs;
|
|
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据单位工程id获取一个第一级分部信息
|
|
/// </summary>
|
|
/// <param name="unitWorkId"></param>
|
|
/// <returns></returns>
|
|
public static Model.WBS_WorkPackage GetWorkPackages1ByUnitWorkId(string unitWorkId)
|
|
{
|
|
return Funs.DB.WBS_WorkPackage.FirstOrDefault(x => x.SuperWorkPackageId == null && x.IsApprove == true && x.UnitWorkId == unitWorkId);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据单位工程Id获取第一级所有分部信息
|
|
/// </summary>
|
|
/// <param name="unitWorkId"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.WBS_WorkPackage> GetWorkPackages1sByUnitWorkId(string unitWorkId)
|
|
{
|
|
return (from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == null && x.UnitWorkId.ToString() == unitWorkId orderby x.WorkPackageCode select x).ToList();
|
|
}
|
|
/// <summary>
|
|
/// 根据单位工程Id获取第一级审批所有分部信息
|
|
/// </summary>
|
|
/// <param name="unitWorkId"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.WBS_WorkPackage> GetApproveWorkPackages1sByUnitWorkId(string unitWorkId)
|
|
{
|
|
return (from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == null && x.UnitWorkId.ToString() == unitWorkId && x.IsApprove == true orderby x.WorkPackageCode select x).ToList();
|
|
}
|
|
/// <summary>
|
|
/// 根据单位工程Id获取所有分部信息
|
|
/// </summary>
|
|
/// <param name="unitWorkId"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.WBS_WorkPackage> GetAllWorkPackagesByUnitWorkId(string unitWorkId)
|
|
{
|
|
return (from x in Funs.DB.WBS_WorkPackage where x.UnitWorkId.ToString() == unitWorkId orderby x.WorkPackageCode select x).ToList();
|
|
}
|
|
/// <summary>
|
|
/// 根据项目Id获取所有分部信息
|
|
/// </summary>
|
|
/// <param name="unitWorkId"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.WBS_WorkPackage> GetAllWorkPackagesByProjectId(string projectId)
|
|
{
|
|
return (from x in Funs.DB.WBS_WorkPackage where x.ProjectId == projectId orderby x.WorkPackageCode select x).ToList();
|
|
}
|
|
/// <summary>
|
|
/// 根据分部分项Id获取分部分项信息
|
|
/// </summary>
|
|
/// <param name="workPackageId"></param>
|
|
/// <returns></returns>
|
|
public static Model.WBS_WorkPackage GetWorkPackageByWorkPackageId(string workPackageId)
|
|
{
|
|
return Funs.DB.WBS_WorkPackage.FirstOrDefault(x => x.WorkPackageId == workPackageId);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据父级Id获取所有分部分项信息
|
|
/// </summary>
|
|
/// <param name="workPackageId"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.WBS_WorkPackage> GetAllWorkPackagesBySuperWorkPackageId(string workPackageId)
|
|
{
|
|
return (from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == workPackageId orderby x.WorkPackageCode select x).ToList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据父级Id获取所有审批分部分项信息
|
|
/// </summary>
|
|
/// <param name="workPackageId"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.WBS_WorkPackage> GetAllApproveWorkPackagesBySuperWorkPackageId(string workPackageId)
|
|
{
|
|
return (from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == workPackageId && x.IsApprove == true orderby x.WorkPackageCode select x).ToList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据子分部工程Id删除一个子分部工程信息
|
|
/// </summary>
|
|
/// <param name="WorkPackageId"></param>
|
|
public static void DeleteWorkPackage(string WorkPackageId)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.WBS_WorkPackage WorkPackage = db.WBS_WorkPackage.First(e => e.WorkPackageId == WorkPackageId);
|
|
db.WBS_WorkPackage.DeleteOnSubmit(WorkPackage);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据分部分项Id删除所有明细信息
|
|
/// </summary>
|
|
/// <param name="ControlItemAndCycleId"></param>
|
|
public static void DeleteAllWorkPackageByUnitWorkId(string unitWorkId)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
List<Model.WBS_WorkPackage> q = (from x in db.WBS_WorkPackage where x.UnitWorkId == unitWorkId orderby x.WorkPackageCode select x).ToList();
|
|
db.WBS_WorkPackage.DeleteAllOnSubmit(q);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据初始工作包编码和单位工程获取工作包集合
|
|
/// </summary>
|
|
/// <param name="initWorkPackageCode"></param>
|
|
/// <param name="unitWorkId"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.WBS_WorkPackage> GetWorkPackagesByInitWorkPackageCodeAndUnitWorkId(string initWorkPackageCode, string unitWorkId)
|
|
{
|
|
return (from x in Funs.DB.WBS_WorkPackage where x.InitWorkPackageCode == initWorkPackageCode && x.UnitWorkId.ToString() == unitWorkId orderby x.WorkPackageCode descending select x).ToList();
|
|
}
|
|
/// <summary>
|
|
/// 根据单位工程Id获取所有分部信息
|
|
/// </summary>
|
|
/// <param name="unitWorkId"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.WBS_WorkPackage> GetAllWorkPackagesByUnitWorkIds(string[] unitWorkIds)
|
|
{
|
|
return (from x in Funs.DB.WBS_WorkPackage where unitWorkIds.Contains(x.UnitWorkId) orderby x.WorkPackageCode select x).ToList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取单位工程分部分项下拉列表
|
|
/// </summary>
|
|
/// <param name="dropName"></param>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="isShowPlease"></param>
|
|
public static void InitWorkPackagesDropDownListByUnitWorkId(FineUIPro.DropDownList dropName, string unitWorkId, bool isShowPlease)
|
|
{
|
|
dropName.DataValueField = "WorkPackageId";
|
|
dropName.DataTextField = "PackageContent";
|
|
dropName.DataSource = GetAllWorkPackagesByUnitWorkId(unitWorkId);
|
|
dropName.DataBind();
|
|
if (isShowPlease)
|
|
{
|
|
Funs.FineUIPleaseSelect(dropName);
|
|
}
|
|
}
|
|
}
|
|
}
|