163 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			163 lines
		
	
	
		
			6.0 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="unitProjectCode">分部工程编号</param>
 | |
|         /// <returns></returns>
 | |
|         public static List<Model.WBS_WbsSetInit> GetWbsSetInitsByUnitProjectCode(string unitProjectCode)
 | |
|         {
 | |
|             return (from x in Funs.DB.WBS_WbsSetInit where x.UnitProjectCode == unitProjectCode && x.SuperWbsSetCode == null orderby x.WbsSetCode select x).ToList();
 | |
|         }
 | |
| 
 | |
|         /// <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;
 | |
|         }
 | |
|     }
 | |
| }
 |