| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  | using System; | 
					
						
							|  |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using System.Linq; | 
					
						
							|  |  |  |  | using System.Text; | 
					
						
							|  |  |  |  | using System.Threading.Tasks; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace BLL | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     public class CostControlParentDetailService | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据Id获取一个费控项父级明细信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="costControlParentDetailId">费控项父级明细Id</param> | 
					
						
							|  |  |  |  |         public static Model.WBS_CostControlParentDetail GetCostControlParentDetailByCostControlParentDetailId(string costControlParentDetailId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return Funs.DB.WBS_CostControlParentDetail.FirstOrDefault(e => e.CostControlParentDetailId == costControlParentDetailId); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据ParentId判断是否存在费控项父级明细信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="costControlParentId">costControlParentId</param> | 
					
						
							|  |  |  |  |         public static bool IsExitCostControlParentDetailByParentId(string parentId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return (from x in Funs.DB.WBS_CostControlParentDetail where x.ParentId == parentId select x).Count() > 0; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |         /// 根据costControlParentId和年及月获取对应月费控项父级明细信息 | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="costControlParentId">对应wbsId</param> | 
					
						
							|  |  |  |  |         /// <param name="toFlag">对应标志</param> | 
					
						
							|  |  |  |  |         /// <param name="years">年</param> | 
					
						
							|  |  |  |  |         /// <param name="months">月</param> | 
					
						
							|  |  |  |  |         public static Model.WBS_CostControlParentDetail GetCostControlParentDetailByParentIdAndMonths(string parentId, DateTime months) | 
					
						
							|  |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |             return (from x in Funs.DB.WBS_CostControlParentDetail where x.ParentId == parentId && x.Months == months && x.StartDate == null select x).FirstOrDefault(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据costControlParentId和年及月获取对应周费控项父级明细信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="costControlParentId">对应wbsId</param> | 
					
						
							|  |  |  |  |         /// <param name="toFlag">对应标志</param> | 
					
						
							|  |  |  |  |         /// <param name="years">年</param> | 
					
						
							|  |  |  |  |         /// <param name="months">月</param> | 
					
						
							|  |  |  |  |         public static Model.WBS_CostControlParentDetail GetCostControlParentDetailByParentIdAndMonthsWeek(string parentId, DateTime months, DateTime startDate) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return (from x in Funs.DB.WBS_CostControlParentDetail where x.ParentId == parentId && x.Months == months && x.StartDate == startDate select x).FirstOrDefault(); | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据costControlParentId和年及月获取对应费控项父级明细视图信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="costControlParentId">对应wbsId</param> | 
					
						
							|  |  |  |  |         /// <param name="toFlag">对应标志</param> | 
					
						
							|  |  |  |  |         /// <param name="years">年</param> | 
					
						
							|  |  |  |  |         /// <param name="months">月</param> | 
					
						
							|  |  |  |  |         public static Model.View_WBS_CostControlParentDetail GetCostControlParentDetailViewByParentIdAndMonths(string parentId, DateTime months) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return (from x in Funs.DB.View_WBS_CostControlParentDetail where x.ParentId == parentId && x.Months == months select x).FirstOrDefault(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         public static Model.WBS_CostControlParentDetail GetCostControlParentDetailByParentId(string parentId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return (from x in Funs.DB.WBS_CostControlParentDetail where x.ParentId == parentId select x).FirstOrDefault(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         ///  | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="costControlParentId"></param> | 
					
						
							|  |  |  |  |         /// <param name="toFlag"></param> | 
					
						
							|  |  |  |  |         /// <param name="months"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static bool IsExitWBS_CostControlParentDetailByParentIdOrMonth(string parentId, DateTime months) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             bool result = false; | 
					
						
							|  |  |  |  |             var q = Funs.DB.WBS_CostControlParentDetail.FirstOrDefault(e => e.ParentId == parentId && e.Months == months); | 
					
						
							|  |  |  |  |             if (q != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 result = true; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return result; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据CostControlParentId月获取所有月份的对应费控项父级明细信息集合 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="costControlParentId">costControlParentId</param> | 
					
						
							|  |  |  |  |         public static List<Model.WBS_CostControlParentDetail> GetTotalCostControlParentDetailsByParentId(string parentId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return (from x in Funs.DB.WBS_CostControlParentDetail where x.ParentId == parentId orderby x.Months select x).ToList(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 增加费控项父级明细 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="user">费控项父级明细</param> | 
					
						
							|  |  |  |  |         public static void AddCostControlParentDetail(Model.WBS_CostControlParentDetail costControlParentDetail) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             Model.WBS_CostControlParentDetail newWBS_CostControlParentDetail = new Model.WBS_CostControlParentDetail(); | 
					
						
							|  |  |  |  |             newWBS_CostControlParentDetail.CostControlParentDetailId = costControlParentDetail.CostControlParentDetailId; | 
					
						
							|  |  |  |  |             newWBS_CostControlParentDetail.ParentId = costControlParentDetail.ParentId; | 
					
						
							|  |  |  |  |             newWBS_CostControlParentDetail.Months = costControlParentDetail.Months; | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |             newWBS_CostControlParentDetail.StartDate = costControlParentDetail.StartDate; | 
					
						
							|  |  |  |  |             newWBS_CostControlParentDetail.EndDate = costControlParentDetail.EndDate; | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |             newWBS_CostControlParentDetail.ThisPlanValue = costControlParentDetail.ThisPlanValue; | 
					
						
							|  |  |  |  |             newWBS_CostControlParentDetail.ThisRealCost = costControlParentDetail.ThisRealCost; | 
					
						
							|  |  |  |  |             newWBS_CostControlParentDetail.ThisPlanCost = costControlParentDetail.ThisPlanCost; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             db.WBS_CostControlParentDetail.InsertOnSubmit(newWBS_CostControlParentDetail); | 
					
						
							|  |  |  |  |             db.SubmitChanges(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 修改费控项父级明细 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="user">费控项父级明细</param> | 
					
						
							|  |  |  |  |         public static void UpdateCostControlParentDetail(Model.WBS_CostControlParentDetail costControlParentDetail) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             Model.WBS_CostControlParentDetail newWBS_CostControlParentDetail = db.WBS_CostControlParentDetail.First(e => e.CostControlParentDetailId == costControlParentDetail.CostControlParentDetailId); | 
					
						
							|  |  |  |  |             newWBS_CostControlParentDetail.ThisPlanValue = costControlParentDetail.ThisPlanValue; | 
					
						
							|  |  |  |  |             newWBS_CostControlParentDetail.ThisRealCost = costControlParentDetail.ThisRealCost; | 
					
						
							|  |  |  |  |             newWBS_CostControlParentDetail.ThisPlanCost = costControlParentDetail.ThisPlanCost; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             db.SubmitChanges(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据Id删除费控项父级明细信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="userId"></param> | 
					
						
							|  |  |  |  |         public static void DeleteWBS_CostControlParentDetail(string costControlParentDetailId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             Model.WBS_CostControlParentDetail ins = db.WBS_CostControlParentDetail.First(e => e.CostControlParentDetailId == costControlParentDetailId); | 
					
						
							|  |  |  |  |             db.WBS_CostControlParentDetail.DeleteOnSubmit(ins); | 
					
						
							|  |  |  |  |             db.SubmitChanges(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据costControlParentId删除费控项父级明细信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="userId"></param> | 
					
						
							|  |  |  |  |         public static void DeleteWBS_CostControlParentDetailByCostControlParentId(string parentId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             var details = from x in db.WBS_CostControlParentDetail where x.ParentId == parentId select x; | 
					
						
							|  |  |  |  |             if (details.Count() > 0) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 db.WBS_CostControlParentDetail.DeleteAllOnSubmit(details); | 
					
						
							|  |  |  |  |                 db.SubmitChanges(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | } |