153 lines
5.5 KiB
C#
153 lines
5.5 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
using System.Globalization;
|
|
using System.Linq;
|
|
using System.Data.Linq;
|
|
using System.Web.Security;
|
|
using System.Web.UI.WebControls;
|
|
using Model;
|
|
using BLL;
|
|
using System.Collections.Generic;
|
|
|
|
namespace BLL
|
|
{
|
|
public class WbsSetInitService
|
|
{
|
|
/// <summary>
|
|
/// 增加分部/子分部/分项/子分项
|
|
/// </summary>
|
|
/// <param name="user">分部/子分部/分项/子分项</param>
|
|
public static void AddWbsSetInit(Model.WBS_WbsSetInit wbsSetInit)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.WBS_WbsSetInit newWS = new Model.WBS_WbsSetInit();
|
|
newWS.WbsSetCode = wbsSetInit.WbsSetCode;
|
|
newWS.WbsSetName = wbsSetInit.WbsSetName;
|
|
newWS.CnProfessionId = wbsSetInit.CnProfessionId;
|
|
newWS.UnitProjectCode = wbsSetInit.UnitProjectCode;
|
|
newWS.SuperWbsSetCode = wbsSetInit.SuperWbsSetCode;
|
|
newWS.ControlPoint = wbsSetInit.ControlPoint;
|
|
newWS.ControlItemDef = wbsSetInit.ControlItemDef;
|
|
newWS.Flag = wbsSetInit.Flag;
|
|
newWS.IsIn = wbsSetInit.IsIn;
|
|
newWS.Way = wbsSetInit.Way;
|
|
newWS.Remark = wbsSetInit.Remark;
|
|
|
|
db.WBS_WbsSetInit.InsertOnSubmit(newWS);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改分部/子分部/分项/子分项
|
|
/// </summary>
|
|
/// <param name="user">分部/子分部/分项/子分项</param>
|
|
public static void UpdateWbsSetInit(Model.WBS_WbsSetInit wbsSetInit)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.WBS_WbsSetInit newWS = db.WBS_WbsSetInit.First(e => e.WbsSetCode == wbsSetInit.WbsSetCode);
|
|
|
|
newWS.WbsSetName = wbsSetInit.WbsSetName;
|
|
newWS.ControlPoint = wbsSetInit.ControlPoint;
|
|
newWS.ControlItemDef = wbsSetInit.ControlItemDef;
|
|
newWS.Flag = wbsSetInit.Flag;
|
|
newWS.IsIn = wbsSetInit.IsIn;
|
|
newWS.Way = wbsSetInit.Way;
|
|
newWS.Remark = wbsSetInit.Remark;
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据Id删除分部/子分部/分项/子分项信息
|
|
/// </summary>
|
|
/// <param name="userId"></param>
|
|
public static void DeleteWbsSetInit(string wbsSetCode)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.WBS_WbsSetInit WS = db.WBS_WbsSetInit.First(e => e.WbsSetCode == wbsSetCode);
|
|
db.WBS_WbsSetInit.DeleteOnSubmit(WS);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据单位工程Id删除所有分部/子分部/分项/子分项信息
|
|
/// </summary>
|
|
/// <param name="userId"></param>
|
|
public static void DeleteWbsSetInitByUnitProjectCode(string unitProjectCode)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
var q = from x in db.WBS_WbsSetInit where x.UnitProjectCode == unitProjectCode select x;
|
|
db.WBS_WbsSetInit.DeleteAllOnSubmit(q);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据上级Id获取集合
|
|
/// </summary>
|
|
/// <param name="superWbsSetId">上级Id</param>
|
|
/// <returns></returns>
|
|
public static List<Model.WBS_WbsSetInit> GetWbsSetInitsBySuperWbsSetCode(string superWbsSetCode)
|
|
{
|
|
return (from x in Funs.DB.WBS_WbsSetInit where x.SuperWbsSetCode == superWbsSetCode orderby x.WbsSetCode select x).ToList();
|
|
}
|
|
/// <summary>
|
|
/// 获取当前的节点子节点的数量
|
|
/// </summary>
|
|
/// <param name="superWbsSetCode"></param>
|
|
/// <returns></returns>
|
|
public static int GetItemCount(string superWbsSetCode)
|
|
{
|
|
return Funs.DB.WBS_WbsSetInit.Where(p => p.SuperWbsSetCode.Equals(superWbsSetCode)).Count();
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 根据分部/子分部/分项/子分项工程Id获取分部/子分部/分项/子分项工程信息
|
|
/// </summary>
|
|
/// <param name="unitProjectId">分部/子分部/分项/子分项工程Id</param>
|
|
/// <returns></returns>
|
|
public static Model.WBS_WbsSetInit GetWbsSetInitByWbsSetCode(string wbsSetCode)
|
|
{
|
|
return Funs.DB.WBS_WbsSetInit.FirstOrDefault(e => e.WbsSetCode == wbsSetCode);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据Id判断子级中是否存在对应Id
|
|
/// </summary>
|
|
/// <param name="superWbsSetId">上级Id</param>
|
|
/// <returns></returns>
|
|
public static bool IsExitWbsSetById2(string wbsSetId, string searchId)
|
|
{
|
|
List<string> ids = GetWbsSetIds2(wbsSetId);
|
|
if (ids.Contains(searchId) || wbsSetId == searchId)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据上级Id获取所有Id集合
|
|
/// </summary>
|
|
/// <param name="wbsSetId">上级Id</param>
|
|
/// <returns></returns>
|
|
public static List<string> GetWbsSetIds2(string wbsSetId)
|
|
{
|
|
List<string> ids = new List<string>();
|
|
var wbsSets = BLL.WbsSetInitService.GetWbsSetInitsBySuperWbsSetCode(wbsSetId);
|
|
if (wbsSets.Count > 0)
|
|
{
|
|
foreach (var wbsSet in wbsSets)
|
|
{
|
|
ids.Add(wbsSet.WbsSetCode);
|
|
ids.AddRange(GetWbsSetIds2(wbsSet.WbsSetCode));
|
|
}
|
|
}
|
|
return ids;
|
|
}
|
|
}
|
|
}
|