using System; using System.Collections.Generic; using System.Linq; namespace BLL { /// /// 措施费用使用计划 /// public static class ExpenseService { /// /// 根据主键获取措施费用使用计划 /// /// /// public static Model.CostGoods_Expense GetExpenseById(string expenseId) { return Funs.DB.CostGoods_Expense.FirstOrDefault(e => e.ExpenseId == expenseId); } /// /// 根据主键获取措施费用使用计划 /// /// /// public static List GetExpenseList(string projectId, string unitId, int? year) { var getData = from x in Funs.DB.CostGoods_Expense where x.ProjectId == projectId select x; if (!string.IsNullOrEmpty(unitId) && unitId != Const._Null) { getData = getData.Where(x => x.UnitId == unitId); } if (year.HasValue) { getData = getData.Where(x => x.Year == year); } return getData.OrderBy(x => x.SortIndex).ToList(); } /// /// 根据时间获取当期单位Id集合 /// /// /// /// public static List GetUnitIdsByTime(DateTime startTime, DateTime endTime, string projectId) { return (from x in Funs.DB.CostGoods_Expense join y in Funs.DB.Sys_FlowOperate on x.ExpenseId equals y.DataId where x.States == BLL.Const.State_2 && x.ProjectId == projectId && y.State == BLL.Const.State_2 && y.OperaterTime >= startTime && y.OperaterTime < endTime select x.UnitId).Distinct().ToList(); } /// /// 添加措施费用使用计划 /// /// public static void AddExpense(Model.CostGoods_Expense expense) { Model.SGGLDB db = Funs.DB; Model.CostGoods_Expense newExpense = new Model.CostGoods_Expense { ExpenseId = expense.ExpenseId, ProjectId = expense.ProjectId, ExpenseCode = expense.ExpenseCode, UnitId = expense.UnitId, ReportDate = expense.ReportDate, CreateDate = expense.CreateDate, States = expense.States, CompileMan = expense.CompileMan, CompileDate = expense.CompileDate, SortIndex = expense.SortIndex, Year = expense.Year, }; db.CostGoods_Expense.InsertOnSubmit(newExpense); db.SubmitChanges(); } /// /// 修改措施费用使用计划 /// /// public static void UpdateExpense(Model.CostGoods_Expense expense) { Model.SGGLDB db = Funs.DB; Model.CostGoods_Expense newExpense = db.CostGoods_Expense.FirstOrDefault(e => e.ExpenseId == expense.ExpenseId); if (newExpense != null) { //newExpense.ProjectId = expense.ProjectId; newExpense.ExpenseCode = expense.ExpenseCode; newExpense.UnitId = expense.UnitId; newExpense.States = expense.States; newExpense.Months = expense.Months; newExpense.ReportDate = expense.ReportDate; newExpense.PlanCostA = expense.PlanCostA; newExpense.PlanCostB = expense.PlanCostB; newExpense.CompileDate = expense.CompileDate; newExpense.CompileMan = expense.CompileMan; //newExpense.CheckMan = expense.CheckMan; //newExpense.CheckDate = expense.CheckDate; //newExpense.ApproveMan = expense.ApproveMan; // newExpense.ApproveDate = expense.ApproveDate; newExpense.SortIndex = expense.SortIndex; newExpense.Year = expense.Year; db.SubmitChanges(); } } /// /// 根据主键删除措施费用使用计划 /// /// public static void DeleteExpenseById(string expenseId) { Model.SGGLDB db = Funs.DB; Model.CostGoods_Expense expense = db.CostGoods_Expense.FirstOrDefault(e => e.ExpenseId == expenseId); if (expense != null) { BLL.CodeRecordsService.DeleteCodeRecordsByDataId(expenseId); BLL.CommonService.DeleteAttachFileById(expenseId); ////删除审核流程表 BLL.CommonService.DeleteFlowOperateByID(expenseId); db.CostGoods_Expense.DeleteOnSubmit(expense); db.SubmitChanges(); if (expense.Year.HasValue) { SetSumYearExpense(expense.ProjectId, expense.Year.Value); } } } /// /// 当前合计数 /// /// /// public static void SetSumYearExpense(string projectId, int Year) { var getYearEx = Funs.DB.CostGoods_Expense.FirstOrDefault(x => x.ProjectId == projectId && x.Year == Year && x.UnitId == null); if (getYearEx != null) { Funs.DB.CostGoods_Expense.DeleteOnSubmit(getYearEx); Funs.DB.SubmitChanges(); } var getALLEx = from x in Funs.DB.CostGoods_Expense where x.ProjectId == projectId && x.Year == Year && x.UnitId != null select x; if (getALLEx.Count() > 0) { Model.CostGoods_Expense newExpense = new Model.CostGoods_Expense { ExpenseId = SQLHelper.GetNewID(), ProjectId = projectId, UnitId = null, CreateDate = DateTime.Now, Months = DateTime.Now, ReportDate = DateTime.Now, CompileDate = DateTime.Now, CheckDate = DateTime.Now, ApproveDate = DateTime.Now, SortIndex = 0, Year = Year, }; var db1 = Funs.DB; db1.CostGoods_Expense.InsertOnSubmit(newExpense); db1.SubmitChanges(); } } } }