using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BLL { public class CostControlDetailHistoryService { /// /// 根据Id获取一个费控项明细历史记录信息 /// /// 费控项明细历史记录Id public static Model.WBS_CostControlDetailHistory GetCostControlDetailHistoryByCostControlDetailHistoryId(string costControlDetailHistoryId) { return Funs.DB.WBS_CostControlDetailHistory.FirstOrDefault(e => e.CostControlDetailHistoryId == costControlDetailHistoryId); } /// /// 根据CostControlId判断是否存在费控项明细历史记录信息 /// /// costControlId public static bool IsExitCostControlDetailHistoryByCostControlId(string costControlId) { return (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId select x).Count() > 0; } /// /// 根据Id获取对应费控项月明细历史记录信息 /// /// 对应wbsId public static List GetMonthCostControlDetailHistorysByCostControlId(string costControlId) { return (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId && x.StartDate == null orderby x.VersionNum, x.Months select x).ToList(); } /// /// 根据Id获取对应费控项周明细历史记录信息 /// /// 对应wbsId public static List GetWeekCostControlDetailHistorysByCostControlId(string costControlId, DateTime months) { return (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId && x.Months == months && x.StartDate != null orderby x.VersionNum, x.StartDate select x).ToList(); } /// /// 根据costControlId和年及月获取对应费控项明细历史记录信息 /// /// 对应wbsId /// 对应标志 /// 年 /// 月 public static Model.WBS_CostControlDetailHistory GetCostControlDetailHistoryByCostControlIdAndMonths(string costControlId, DateTime months) { return (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId && x.Months == months select x).FirstOrDefault(); } public static Model.WBS_CostControlDetailHistory GetWBS_CostControlDetailHistoryByCostControlId(string costControlId) { return (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId select x).FirstOrDefault(); } /// /// /// /// /// /// /// public static bool IsExitWBS_CostControlDetailHistoryByCostControlIdOrMonth(string costControlId, DateTime months) { bool result = false; var q = Funs.DB.WBS_CostControlDetailHistory.FirstOrDefault(e => e.CostControlId == costControlId && e.Months == months); if (q != null) { result = true; } return result; } /// /// 根据年及月获取之前月份的对应费控项明细历史记录信息集合(含当月) /// /// 年 /// 月 public static List GetTotalWBS_CostControlDetailHistorysByYearMonth2(string costControlId, DateTime months) { return (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId && x.Months <= months select x).ToList(); } /// /// 根据CostControlId月获取当前月计划最大版本 /// /// costControlId public static int GetMonthMaxVersionNumByCostControlId(string costControlId) { int i = 0; var q = (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId && x.StartDate == null orderby x.VersionNum descending select x.VersionNum ?? 0).ToList(); if (q.Count > 0) { i = q[0]; } return i; } /// /// 根据CostControlId月获取当前周计划最大版本 /// /// costControlId public static int GetWeekMaxVersionNumByCostControlId(string costControlId, DateTime months) { int i = 0; var q = (from x in Funs.DB.WBS_CostControlDetailHistory where x.CostControlId == costControlId && x.Months == months && x.StartDate != null orderby x.VersionNum descending select x.VersionNum ?? 0).ToList(); if (q.Count > 0) { i = q[0]; } return i; } /// /// 增加费控项明细历史记录 /// /// 费控项明细历史记录 public static void AddCostControlDetailHistory(Model.WBS_CostControlDetailHistory costControlDetailHistory) { Model.SGGLDB db = Funs.DB; Model.WBS_CostControlDetailHistory newWBS_CostControlDetailHistory = new Model.WBS_CostControlDetailHistory(); newWBS_CostControlDetailHistory.CostControlDetailHistoryId = costControlDetailHistory.CostControlDetailHistoryId; newWBS_CostControlDetailHistory.CostControlId = costControlDetailHistory.CostControlId; newWBS_CostControlDetailHistory.Months = costControlDetailHistory.Months; newWBS_CostControlDetailHistory.StartDate = costControlDetailHistory.StartDate; newWBS_CostControlDetailHistory.EndDate = costControlDetailHistory.EndDate; newWBS_CostControlDetailHistory.PlanNum = costControlDetailHistory.PlanNum; newWBS_CostControlDetailHistory.VersionNum = costControlDetailHistory.VersionNum; db.WBS_CostControlDetailHistory.InsertOnSubmit(newWBS_CostControlDetailHistory); db.SubmitChanges(); } /// /// 修改费控项明细历史记录 /// /// 费控项明细历史记录 public static void UpdateCostControlDetailHistory(Model.WBS_CostControlDetailHistory costControlDetailHistory) { Model.SGGLDB db = Funs.DB; Model.WBS_CostControlDetailHistory newWBS_CostControlDetailHistory = db.WBS_CostControlDetailHistory.First(e => e.CostControlDetailHistoryId == costControlDetailHistory.CostControlDetailHistoryId); newWBS_CostControlDetailHistory.StartDate = costControlDetailHistory.StartDate; newWBS_CostControlDetailHistory.EndDate = costControlDetailHistory.EndDate; newWBS_CostControlDetailHistory.PlanNum = costControlDetailHistory.PlanNum; db.SubmitChanges(); } /// /// 根据Id删除费控项明细历史记录信息 /// /// public static void DeleteCostControlDetailHistory(string costControlDetailHistoryId) { Model.SGGLDB db = Funs.DB; Model.WBS_CostControlDetailHistory ins = db.WBS_CostControlDetailHistory.First(e => e.CostControlDetailHistoryId == costControlDetailHistoryId); db.WBS_CostControlDetailHistory.DeleteOnSubmit(ins); db.SubmitChanges(); } /// /// 根据costControlId删除费控项明细历史记录信息 /// /// public static void DeleteCostControlDetailHistoryByCostControlId(string costControlId) { Model.SGGLDB db = Funs.DB; var details = from x in db.WBS_CostControlDetailHistory where x.CostControlId == costControlId select x; if (details.Count() > 0) { db.WBS_CostControlDetailHistory.DeleteAllOnSubmit(details); db.SubmitChanges(); } } } }