| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  | using System; | 
					
						
							|  |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using System.Linq; | 
					
						
							|  |  |  |  | using System.Text; | 
					
						
							|  |  |  |  | using System.Collections; | 
					
						
							|  |  |  |  | using System.Web.UI.WebControls; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace BLL | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     public class DivisionProjectService | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         public static Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 记录数 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         public static int count | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             get; | 
					
						
							|  |  |  |  |             set; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 定义变量 | 
					
						
							|  |  |  |  |         /// </summary>                   | 
					
						
							|  |  |  |  |         private static IQueryable<Model.WBS_DivisionProject> qq = from x in db.WBS_DivisionProject 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(int startRowIndex, int maximumRows) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             IQueryable<Model.WBS_DivisionProject> q = qq; | 
					
						
							|  |  |  |  |             count = q.Count(); | 
					
						
							|  |  |  |  |             if (count == 0) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 return new object[] { "" }; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return from x in q.Skip(startRowIndex).Take(maximumRows) | 
					
						
							|  |  |  |  |                    select new | 
					
						
							|  |  |  |  |                    { | 
					
						
							|  |  |  |  |                        x.DivisionProjectId, | 
					
						
							|  |  |  |  |                        x.DivisionCode, | 
					
						
							|  |  |  |  |                    }; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取列表数 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="searchItem"></param> | 
					
						
							|  |  |  |  |         /// <param name="searchValue"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static int getListCount() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return count; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 添加分部/子分部 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="Installation"></param> | 
					
						
							|  |  |  |  |         public static void AddDivisionProject(Model.WBS_DivisionProject divisionProject) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             newDivisionProject.DivisionProjectId = divisionProject.DivisionProjectId; | 
					
						
							|  |  |  |  |             newDivisionProject.ProjectId = divisionProject.ProjectId; | 
					
						
							|  |  |  |  |             newDivisionProject.DivisionCode = divisionProject.DivisionCode; | 
					
						
							|  |  |  |  |             newDivisionProject.DivisionName = divisionProject.DivisionName; | 
					
						
							|  |  |  |  |             newDivisionProject.SortIndex = divisionProject.SortIndex; | 
					
						
							|  |  |  |  |             newDivisionProject.SuperDivisionId = divisionProject.SuperDivisionId; | 
					
						
							|  |  |  |  |             newDivisionProject.CNProfessionalId = divisionProject.CNProfessionalId; | 
					
						
							|  |  |  |  |             newDivisionProject.UnitWorkId = divisionProject.UnitWorkId; | 
					
						
							|  |  |  |  |             newDivisionProject.OldDivisionId = divisionProject.OldDivisionId; | 
					
						
							| 
									
										
										
										
											2023-04-24 17:18:08 +08:00
										 |  |  |  |             newDivisionProject.SubItemType = divisionProject.SubItemType; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |             db.WBS_DivisionProject.InsertOnSubmit(newDivisionProject); | 
					
						
							|  |  |  |  |             db.SubmitChanges(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 修改分部/子分部 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="divisionProject"></param> | 
					
						
							|  |  |  |  |         public static void UpdateDivisionProject(Model.WBS_DivisionProject divisionProject) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             Model.WBS_DivisionProject newDivisionProject = db.WBS_DivisionProject.First(e => e.DivisionProjectId == divisionProject.DivisionProjectId); | 
					
						
							|  |  |  |  |             newDivisionProject.DivisionCode = divisionProject.DivisionCode; | 
					
						
							|  |  |  |  |             newDivisionProject.DivisionName = divisionProject.DivisionName; | 
					
						
							|  |  |  |  |             newDivisionProject.SortIndex = divisionProject.SortIndex; | 
					
						
							|  |  |  |  |             newDivisionProject.SuperDivisionId = divisionProject.SuperDivisionId; | 
					
						
							|  |  |  |  |             newDivisionProject.CNProfessionalId = divisionProject.CNProfessionalId; | 
					
						
							|  |  |  |  |             newDivisionProject.IsSelected = divisionProject.IsSelected; | 
					
						
							| 
									
										
										
										
											2023-04-24 17:18:08 +08:00
										 |  |  |  |             newDivisionProject.SubItemType = divisionProject.SubItemType; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |             db.SubmitChanges(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 删除一个分部/子分部信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="divisionCode"></param> | 
					
						
							|  |  |  |  |         public static void DeleteDivisionProject(string divisionProjectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             Model.WBS_DivisionProject divisionProject = db.WBS_DivisionProject.First(e => e.DivisionProjectId == divisionProjectId); | 
					
						
							|  |  |  |  |             db.WBS_DivisionProject.DeleteOnSubmit(divisionProject); | 
					
						
							|  |  |  |  |             db.SubmitChanges(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 删除一个装置下的分部/子分部信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="divisionCode"></param> | 
					
						
							|  |  |  |  |         public static void DeleteDivisionProjectByUnitWorkId(string unitWorkId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             var q = from x in db.WBS_DivisionProject where x.UnitWorkId == unitWorkId select x; | 
					
						
							|  |  |  |  |             if (q.Count() > 0) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 db.WBS_DivisionProject.DeleteAllOnSubmit(q); | 
					
						
							|  |  |  |  |                 db.SubmitChanges(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取施工分部/子分部项 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static ListItem[] GetDivisionNameList() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             var q = (from x in Funs.DB.WBS_DivisionProject 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].DivisionName ?? "", q[i].DivisionProjectId.ToString()); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return list; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据主键返回一个分部/子分部信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="cnProfessionalCode">分部/子分部编号</param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static Model.WBS_DivisionProject GetDivisionProjectById(string divisionProjectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return Funs.DB.WBS_DivisionProject.FirstOrDefault(x => x.DivisionProjectId == divisionProjectId); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 判断分部/子分部编号是否存在 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="divisionCode"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static bool IsExistDivisionCode(string divisionCode, string divisionProjectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.WBS_DivisionProject m = Funs.DB.WBS_DivisionProject.FirstOrDefault(e => e.DivisionCode == divisionCode && e.DivisionProjectId != divisionProjectId); | 
					
						
							|  |  |  |  |             if (m != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 return true; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 return false; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 判断分部/子分部名称是否存在 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="professionalName"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static bool IsExistProfessionalName(string divisionName, string divisionProjectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.WBS_DivisionProject m = Funs.DB.WBS_DivisionProject.FirstOrDefault(e => e.DivisionName == divisionName && e.DivisionProjectId != divisionProjectId); | 
					
						
							|  |  |  |  |             if (m != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 return true; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 return false; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2023-10-31 14:33:55 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据分部id获取下级项 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="divisionProjectId"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static List<Model.WBS_DivisionProject> GetDivisionProjectBySupId(string divisionProjectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return (from x in Funs.DB.WBS_DivisionProject where x.SuperDivisionId == divisionProjectId select x).ToList(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据分部名称获取信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="divisionName"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static Model.WBS_DivisionProject GetDivisionProjectByName(string CNProfessionalId, string unitWorkId,string superDivisionId, string divisionName) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             var q = Funs.DB.WBS_DivisionProject.FirstOrDefault(x => x.CNProfessionalId == CNProfessionalId && x.UnitWorkId == unitWorkId && x.SuperDivisionId==superDivisionId && x.DivisionName == divisionName); | 
					
						
							|  |  |  |  |             return q; | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | } |