424 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			424 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | using System.Text; | |||
|  | using System.Collections; | |||
|  | using System.Web.UI.WebControls; | |||
|  | 
 | |||
|  | namespace BLL | |||
|  | { | |||
|  |     public class BreakdownProjectService | |||
|  |     { | |||
|  |         public static Model.SGGLDB db = Funs.DB; | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 记录数 | |||
|  |         /// </summary> | |||
|  |         public static int count | |||
|  |         { | |||
|  |             get; | |||
|  |             set; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 记录数2 | |||
|  |         /// </summary> | |||
|  |         public static int count2 | |||
|  |         { | |||
|  |             get; | |||
|  |             set; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 记录数3 | |||
|  |         /// </summary> | |||
|  |         public static int count3 | |||
|  |         { | |||
|  |             get; | |||
|  |             set; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 定义变量 | |||
|  |         /// </summary>                   | |||
|  |         private static IQueryable<Model.WBS_BreakdownProject> qq = from x in db.WBS_BreakdownProject orderby x.SortIndex select x; | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取项目列表 | |||
|  |         /// </summary> | |||
|  |         /// <param name="searchItem"></param> | |||
|  |         /// <param name="searchValue"></param> | |||
|  |         /// <param name="startRowIndex"></param> | |||
|  |         /// <param name="maximumRows"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static IEnumerable getListData(string projectId, string divisionProjectId, string name, int startRowIndex, int maximumRows) | |||
|  |         { | |||
|  |             IQueryable<Model.WBS_BreakdownProject> q = qq; | |||
|  |             if (!string.IsNullOrEmpty(projectId)) | |||
|  |             { | |||
|  |                 q = q.Where(e => e.ProjectId == projectId); | |||
|  |             } | |||
|  |             if (!string.IsNullOrEmpty(divisionProjectId)) | |||
|  |             { | |||
|  |                 q = q.Where(e => e.DivisionProjectId == divisionProjectId); | |||
|  |             } | |||
|  |             if (!string.IsNullOrEmpty(name)) | |||
|  |             { | |||
|  |                 q = q.Where(e => e.BreakdownName.Contains(name)); | |||
|  |             } | |||
|  |             count = q.Count(); | |||
|  |             if (count == 0) | |||
|  |             { | |||
|  |                 return new object[] { "" }; | |||
|  |             } | |||
|  |             return from x in q.Skip(startRowIndex).Take(maximumRows) | |||
|  |                    select new | |||
|  |                    { | |||
|  |                        x.BreakdownProjectId, | |||
|  |                        x.BreakdownCode, | |||
|  |                        x.BreakdownName, | |||
|  |                        x.DivisionProjectId, | |||
|  |                        x.Basis, | |||
|  |                        x.CheckPoints, | |||
|  |                        x.RecordAndCode, | |||
|  |                        x.Class, | |||
|  |                        x.Remark, | |||
|  |                        x.FenBao, | |||
|  |                        x.YeZhu, | |||
|  |                        x.WuHuan, | |||
|  |                        x.JianLi, | |||
|  |                        CheckPointsDef = Funs.GetSubStr(x.CheckPoints, 15), | |||
|  |                        RecordAndCodeDef = Funs.GetSubStr(x.RecordAndCode, 15), | |||
|  |                        x.AttachUrl, | |||
|  |                        x.ModelURL | |||
|  |                    }; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取列表数 | |||
|  |         /// </summary> | |||
|  |         /// <param name="searchItem"></param> | |||
|  |         /// <param name="searchValue"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static int getListCount(string projectId, string divisionProjectId, string name) | |||
|  |         { | |||
|  |             return count; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 定义变量 | |||
|  |         /// </summary>                   | |||
|  |         private static IQueryable<Model.View_WBS> qq2 = from x in db.View_WBS select x; | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取项目已选择的WBS列表 | |||
|  |         /// </summary> | |||
|  |         /// <param name="searchItem"></param> | |||
|  |         /// <param name="searchValue"></param> | |||
|  |         /// <param name="startRowIndex"></param> | |||
|  |         /// <param name="maximumRows"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static IEnumerable getListData2(string projectId, int startRowIndex, int maximumRows) | |||
|  |         { | |||
|  |             IQueryable<Model.View_WBS> q = qq2; | |||
|  |             if (!string.IsNullOrEmpty(projectId)) | |||
|  |             { | |||
|  |                 q = q.Where(e => e.ProjectId == projectId); | |||
|  |             } | |||
|  |             count2 = q.Count(); | |||
|  |             if (count2 == 0) | |||
|  |             { | |||
|  |                 return new object[] { "" }; | |||
|  |             } | |||
|  |             return from x in q.Skip(startRowIndex).Take(maximumRows) | |||
|  |                    select new | |||
|  |                    { | |||
|  |                        x.ProfessionalName, | |||
|  |                        x.DivisionName3, | |||
|  |                        x.DivisionName2, | |||
|  |                        x.DivisionName1, | |||
|  |                        x.ProjectId, | |||
|  |                        x.BreakdownCode, | |||
|  |                        x.BreakdownName, | |||
|  |                        x.Basis, | |||
|  |                        x.CheckPoints, | |||
|  |                        x.RecordAndCode, | |||
|  |                        x.Class, | |||
|  |                        x.Remark, | |||
|  | 
 | |||
|  | 
 | |||
|  |                    }; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取列表数 | |||
|  |         /// </summary> | |||
|  |         /// <param name="searchItem"></param> | |||
|  |         /// <param name="searchValue"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static int getListCount2(string projectId) | |||
|  |         { | |||
|  |             return count2; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 定义变量 | |||
|  |         /// </summary>                   | |||
|  |         private static IQueryable<Model.View_WBS_BreakdownProject> qq3 = from x in db.View_WBS_BreakdownProject orderby x.SortIndex select x; | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取项目列表 | |||
|  |         /// </summary> | |||
|  |         /// <param name="searchItem"></param> | |||
|  |         /// <param name="searchValue"></param> | |||
|  |         /// <param name="startRowIndex"></param> | |||
|  |         /// <param name="maximumRows"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static IEnumerable getListData3(string projectId, string divisionProjectId, string name, int startRowIndex, int maximumRows) | |||
|  |         { | |||
|  |             IQueryable<Model.View_WBS_BreakdownProject> q = qq3; | |||
|  |             if (!string.IsNullOrEmpty(projectId)) | |||
|  |             { | |||
|  |                 q = q.Where(e => e.ProjectId == projectId); | |||
|  |             } | |||
|  |             if (!string.IsNullOrEmpty(divisionProjectId)) | |||
|  |             { | |||
|  |                 q = q.Where(e => e.DivisionProjectId == divisionProjectId); | |||
|  |             } | |||
|  |             if (!string.IsNullOrEmpty(name)) | |||
|  |             { | |||
|  |                 q = q.Where(e => e.BreakdownName.Contains(name)); | |||
|  |             } | |||
|  |             count3 = q.Count(); | |||
|  |             if (count3 == 0) | |||
|  |             { | |||
|  |                 return new object[] { "" }; | |||
|  |             } | |||
|  |             return from x in q.Skip(startRowIndex).Take(maximumRows) | |||
|  |                    select new | |||
|  |                    { | |||
|  |                        x.BreakdownProjectId, | |||
|  |                        x.BreakdownCode, | |||
|  |                        x.BreakdownName, | |||
|  |                        x.DivisionProjectId, | |||
|  |                        x.Basis, | |||
|  |                        x.CheckPoints, | |||
|  |                        x.RecordAndCode, | |||
|  |                        x.Class, | |||
|  |                        x.Remark, | |||
|  |                        x.FenBao, | |||
|  |                        x.YeZhu, | |||
|  |                        x.WuHuan, | |||
|  |                        x.JianLi, | |||
|  |                        CheckPointsDef = Funs.GetSubStr(x.CheckPoints, 15), | |||
|  |                        RecordAndCodeDef = Funs.GetSubStr(x.RecordAndCode, 15), | |||
|  |                        x.AttachUrl, | |||
|  |                    }; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取列表数 | |||
|  |         /// </summary> | |||
|  |         /// <param name="searchItem"></param> | |||
|  |         /// <param name="searchValue"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static int getListCount3(string projectId, string divisionProjectId, string name) | |||
|  |         { | |||
|  |             return count3; | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 添加分项 | |||
|  |         /// </summary> | |||
|  |         /// <param name="Installation"></param> | |||
|  |         public static void AddBreakdownProject(Model.WBS_BreakdownProject breakdownProject) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.WBS_BreakdownProject newBreakdownProject = new Model.WBS_BreakdownProject(); | |||
|  | 
 | |||
|  |             newBreakdownProject.BreakdownProjectId = breakdownProject.BreakdownProjectId; | |||
|  |             newBreakdownProject.ProjectId = breakdownProject.ProjectId; | |||
|  |             newBreakdownProject.BreakdownCode = breakdownProject.BreakdownCode; | |||
|  |             newBreakdownProject.BreakdownName = breakdownProject.BreakdownName; | |||
|  |             newBreakdownProject.DivisionProjectId = breakdownProject.DivisionProjectId; | |||
|  |             newBreakdownProject.Basis = breakdownProject.Basis; | |||
|  |             newBreakdownProject.CheckPoints = breakdownProject.CheckPoints; | |||
|  |             newBreakdownProject.RecordAndCode = breakdownProject.RecordAndCode; | |||
|  |             newBreakdownProject.Class = breakdownProject.Class; | |||
|  |             newBreakdownProject.SortIndex = breakdownProject.SortIndex; | |||
|  |             newBreakdownProject.Remark = breakdownProject.Remark; | |||
|  |             newBreakdownProject.AttachUrl = breakdownProject.AttachUrl; | |||
|  |             newBreakdownProject.ModelURL = breakdownProject.ModelURL; | |||
|  |             newBreakdownProject.UnitWorkId = breakdownProject.UnitWorkId; | |||
|  |             newBreakdownProject.IsAcceptance = breakdownProject.IsAcceptance; | |||
|  |             newBreakdownProject.CompileMan = breakdownProject.CompileMan; | |||
|  |             newBreakdownProject.CompileDate = breakdownProject.CompileDate; | |||
|  |             newBreakdownProject.IsYellow = breakdownProject.IsYellow; | |||
|  |             newBreakdownProject.WuHuan = breakdownProject.WuHuan; | |||
|  |             newBreakdownProject.JianLi = breakdownProject.JianLi; | |||
|  |             newBreakdownProject.YeZhu = breakdownProject.YeZhu; | |||
|  |             newBreakdownProject.FenBao = breakdownProject.FenBao; | |||
|  |             newBreakdownProject.SourceBreakdownId = breakdownProject.SourceBreakdownId; | |||
|  | 
 | |||
|  |             db.WBS_BreakdownProject.InsertOnSubmit(newBreakdownProject); | |||
|  |             db.SubmitChanges(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 修改分项 | |||
|  |         /// </summary> | |||
|  |         /// <param name="breakdownProject"></param> | |||
|  |         public static void UpdateBreakdownProject(Model.WBS_BreakdownProject breakdownProject) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.WBS_BreakdownProject newBreakdownProject = db.WBS_BreakdownProject.First(e => e.BreakdownProjectId == breakdownProject.BreakdownProjectId); | |||
|  |             newBreakdownProject.BreakdownCode = breakdownProject.BreakdownCode; | |||
|  |             newBreakdownProject.BreakdownName = breakdownProject.BreakdownName; | |||
|  |             newBreakdownProject.DivisionProjectId = breakdownProject.DivisionProjectId; | |||
|  |             newBreakdownProject.Basis = breakdownProject.Basis; | |||
|  |             newBreakdownProject.CheckPoints = breakdownProject.CheckPoints; | |||
|  |             newBreakdownProject.RecordAndCode = breakdownProject.RecordAndCode; | |||
|  |             newBreakdownProject.Class = breakdownProject.Class; | |||
|  |             newBreakdownProject.SortIndex = breakdownProject.SortIndex; | |||
|  |             newBreakdownProject.Remark = breakdownProject.Remark; | |||
|  |             newBreakdownProject.AttachUrl = breakdownProject.AttachUrl; | |||
|  |             newBreakdownProject.IsSelected = breakdownProject.IsSelected; | |||
|  |             newBreakdownProject.WuHuan = breakdownProject.WuHuan; | |||
|  |             newBreakdownProject.JianLi = breakdownProject.JianLi; | |||
|  |             newBreakdownProject.YeZhu = breakdownProject.YeZhu; | |||
|  |             newBreakdownProject.FenBao = breakdownProject.FenBao; | |||
|  |             db.SubmitChanges(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据一个分项信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="breakdownCode"></param> | |||
|  |         public static void DeleteBreakdown(string breakdownProjectId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.WBS_BreakdownProject breakdownProject = db.WBS_BreakdownProject.First(e => e.BreakdownProjectId == breakdownProjectId); | |||
|  |             db.WBS_BreakdownProject.DeleteOnSubmit(breakdownProject); | |||
|  |             db.SubmitChanges(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据一个子分部信息删除所有对应分项信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="breakdownCode"></param> | |||
|  |         public static void DeleteAllBreakdown(string divisionProjectId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             var q = from x in db.WBS_BreakdownProject where x.DivisionProjectId == divisionProjectId select x; | |||
|  |             if (q.Count() > 0) | |||
|  |             { | |||
|  |                 db.WBS_BreakdownProject.DeleteAllOnSubmit(q); | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据一个单位工程信息删除所有对应分项信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="breakdownCode"></param> | |||
|  |         public static void DeleteAllBreakdownByUnitWorkId(string unitWorkId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             var q = from x in db.WBS_BreakdownProject where x.UnitWorkId == unitWorkId select x; | |||
|  |             db.WBS_BreakdownProject.DeleteAllOnSubmit(q); | |||
|  |             db.SubmitChanges(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取施工分项项 | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static ListItem[] GetBreakdownNameList() | |||
|  |         { | |||
|  |             var q = (from x in Funs.DB.WBS_BreakdownProject orderby x.SortIndex select x).ToList(); | |||
|  |             ListItem[] list = new ListItem[q.Count()]; | |||
|  |             for (int i = 0; i < q.Count(); i++) | |||
|  |             { | |||
|  |                 list[i] = new ListItem(q[i].BreakdownName ?? "", q[i].BreakdownProjectId.ToString()); | |||
|  |             } | |||
|  |             return list; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据主键返回一个分项信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="cnProfessionalCode">分项编号</param> | |||
|  |         /// <returns></returns> | |||
|  |         public static Model.WBS_BreakdownProject GetBreakdownProjectById(string breakdownProjectId) | |||
|  |         { | |||
|  |             return Funs.DB.WBS_BreakdownProject.FirstOrDefault(x => x.BreakdownProjectId == breakdownProjectId); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据子分部Id返回所有分项信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="cnProfessionalCode">分项编号</param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.WBS_BreakdownProject> GetBreakdownProjectsByDivisionProjectId(string divisionProjectId) | |||
|  |         { | |||
|  |             return (from x in Funs.DB.WBS_BreakdownProject where x.DivisionProjectId == divisionProjectId select x).ToList(); | |||
|  |         } | |||
|  |         public static List<Model.WBS_BreakdownProject> GetBreakdownProjectsBySourceBreakdownId(string projectId, string unitWorkId, string sourceBreakdownId) | |||
|  |         { | |||
|  |             if (!string.IsNullOrEmpty(sourceBreakdownId)) | |||
|  |             { | |||
|  |                 string[] ids = sourceBreakdownId.Split(','); | |||
|  |                 return (from x in Funs.DB.WBS_BreakdownProject where x.ProjectId == projectId && x.UnitWorkId == unitWorkId && ids.Contains(x.SourceBreakdownId) select x).ToList(); | |||
|  | 
 | |||
|  |             } | |||
|  |             return (from x in Funs.DB.WBS_BreakdownProject where x.ProjectId == projectId && x.UnitWorkId == unitWorkId && x.SourceBreakdownId == sourceBreakdownId select x).ToList(); | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// 根据单元Id返回所有分项信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="cnProfessionalCode">分项编号</param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.WBS_BreakdownProject> GetBreakdownProjectsByInstallationId(string unitWorkId) | |||
|  |         { | |||
|  |             return (from x in Funs.DB.WBS_BreakdownProject where x.UnitWorkId == unitWorkId select x).ToList(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 判断分项编号是否存在 | |||
|  |         /// </summary> | |||
|  |         /// <param name="breakdownCode"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static bool IsExistBreakdownCode(string breakdownCode, string breakdownProjectId) | |||
|  |         { | |||
|  |             Model.WBS_BreakdownProject m = Funs.DB.WBS_BreakdownProject.FirstOrDefault(e => e.BreakdownCode == breakdownCode && e.BreakdownProjectId != breakdownProjectId); | |||
|  |             if (m != null) | |||
|  |             { | |||
|  |                 return true; | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 return false; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 判断分项名称是否存在 | |||
|  |         /// </summary> | |||
|  |         /// <param name="professionalName"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static bool IsExistProfessionalName(string breakdownName, string breakdownProjectId) | |||
|  |         { | |||
|  |             Model.WBS_BreakdownProject m = Funs.DB.WBS_BreakdownProject.FirstOrDefault(e => e.BreakdownName == breakdownName && e.BreakdownProjectId != breakdownProjectId); | |||
|  |             if (m != null) | |||
|  |             { | |||
|  |                 return true; | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 return false; | |||
|  |             } | |||
|  |         } | |||
|  |     } | |||
|  | } |