private Expression <Func <ExpenseLineConfirmHistory, bool> > Expp(ExpenseInput queryModel) { Expression <Func <ExpenseLineConfirmHistory, bool> > expression = s => s.Status == 0; if (!string.IsNullOrEmpty(queryModel.Period)) { expression = expression.And(s => s.Period == queryModel.Period); } if (!string.IsNullOrEmpty(queryModel.POCode)) { expression = expression.And(s => s.ExpenseCode == queryModel.POCode); } if (!string.IsNullOrEmpty(queryModel.ProjectName)) { expression = expression.And(s => s.ProjectName.Contains(queryModel.ProjectName)); } if (!string.IsNullOrEmpty(queryModel.DepartNamePath)) { expression = expression.And(s => s.DepartNamePath.Contains(queryModel.DepartNamePath)); } return(expression); }
public override PagedResultDto <ExpenseOut> GetHistoryDatas(ExpenseInput queryModel) { var expression = Expp(queryModel); var data = _historyRepository.PageList(expression, queryModel.CurrentPage, queryModel.PageSize , new Tuple <Expression <Func <FixedAssetsDepreciationHistory, object> >, SortOrder>(s => s.FixedAssetsCode, SortOrder.Descending) , new Tuple <Expression <Func <FixedAssetsDepreciationHistory, object> >, SortOrder>(s => s.LineNum, SortOrder.Ascending)); var models = new List <ExpenseOut>(); var dic = EnumHelper.GetValueAndDesc <CommonEnum.EnumCostAccountSplitStep>(); foreach (var item in data.Items) { models.Add(new ExpenseOut() { ExpenseCode = item.FixedAssetsCode, ExpenseLineNum = item.LineNum, Period = item.Period, DepartNamePath = item.DepartNamePath, Amount = item.Amount, CompanyName = item.CompanyName, StepName = dic[(int)CommonEnum.EnumCostAccountSplitStep.History], }); } return(new PagedResultDto <ExpenseOut>(data.Total, models));; }
private static Expression <Func <ExpenseAccount, bool> > Expression(ExpenseInput queryModel) { Expression <Func <ExpenseAccount, bool> > expression = s => s.Status == 0 && s.ExpenseType == queryModel.ExpenseType; if (!string.IsNullOrEmpty(queryModel.Period)) { expression = expression.And(s => s.Period == queryModel.Period); } if (!string.IsNullOrEmpty(queryModel.POCode)) { expression = expression.And(s => s.ExpenseCode == queryModel.POCode); } if (!string.IsNullOrEmpty(queryModel.ProjectName)) { expression = expression.And(s => s.ProjectName.Contains(queryModel.ProjectName)); } if (!string.IsNullOrEmpty(queryModel.DepartNamePath)) { expression = expression.And(s => s.DepartNamePath.Contains(queryModel.DepartNamePath)); } if (queryModel.Step != 0) { expression = expression.And(s => s.Step == queryModel.Step); } return(expression); }
/// <summary> /// 获取 汇总钱数和 /// </summary> /// <param name="queryModel"></param> /// <returns></returns> public dynamic GetSummary(ExpenseInput queryModel) { var expression = Expression(queryModel); var tem = _expenseAccountRepository.Where(expression).GroupBy(s => s.Step) .Select(s => new { step = s.Key, summary = s.Sum(t => t.Amount) }).ToList(); return(tem); }
/// <summary> /// 更新差旅费用 /// </summary> /// <param name="input"></param> public void UpdateExpense(ExpenseInput input) { var bill = _workOrderManager.Get(input.BillId); bill.TrafficUrban = input.TrafficUrban; bill.TrafficLong = input.TrafficLong; bill.Supply = input.Supply; bill.OtherEx = input.OtherEx; bill.HotelEx = input.HotelEx; }
public override PagedResultDto <ExpenseOut> GetHistoryDatas(ExpenseInput queryModel) { var expression = Expp(queryModel); var data = _expenseHistoryRepository.PageList(expression, queryModel.CurrentPage, queryModel.PageSize , new Tuple <Expression <Func <ExpenseLineConfirmHistory, object> >, SortOrder>(s => s.ExpenseCode, SortOrder.Descending) , new Tuple <Expression <Func <ExpenseLineConfirmHistory, object> >, SortOrder>(s => s.ExpenseLineNum, SortOrder.Ascending)); var models = _mapper.Map <List <ExpenseOut> >(data.Items); var dic = EnumHelper.GetValueAndDesc <CommonEnum.EnumCostAccountSplitStep>(); models.ForEach(s => { s.Step = s.Step == 0 ? -1 : s.Step; s.StepName = dic[s.Step]; }); return(new PagedResultDto <ExpenseOut>(data.Total, models)); }
private Expression <Func <FixedAssetsDepreciationHistory, bool> > Expp(ExpenseInput queryModel) { Expression <Func <FixedAssetsDepreciationHistory, bool> > expression = s => s.Status == 0; if (!string.IsNullOrEmpty(queryModel.Period)) { expression = expression.And(s => s.Period == queryModel.Period); } if (!string.IsNullOrEmpty(queryModel.POCode)) { expression = expression.And(s => s.FixedAssetsCode == queryModel.POCode); } if (!string.IsNullOrEmpty(queryModel.DepartNamePath)) { expression = expression.And(s => s.DepartNamePath.Contains(queryModel.DepartNamePath)); } return(expression); }
/// <summary> /// 获取核算 列表信息 /// </summary> /// <param name="queryModel"></param> /// <returns></returns> public PagedResultDto <ExpenseOut> GetListDatas(ExpenseInput queryModel) { if (queryModel.Step == (int)CommonEnum.EnumCostAccountSplitStep.History) { //根据不同的费用类型,进行适配转换 ITarget adapter = new Adapter.Adapter(_crmDbContext, _mapper, queryModel.ExpenseType, queryModel.Period); var entities = adapter.GetHistoryData(queryModel); return(entities); } var expression = Expression(queryModel); var data = _expenseAccountRepository.PageList(expression, queryModel.CurrentPage, queryModel.PageSize , new Tuple <Expression <Func <ExpenseAccount, object> >, SortOrder>(s => s.ExpenseCode, SortOrder.Descending) , new Tuple <Expression <Func <ExpenseAccount, object> >, SortOrder>(s => s.ExpenseLineNum, SortOrder.Ascending)); var models = _mapper.Map <List <ExpenseOut> >(data.Items); var dic = EnumHelper.GetValueAndDesc <CommonEnum.EnumCostAccountSplitStep>(); models.ForEach(s => s.StepName = dic[s.Step]); return(new PagedResultDto <ExpenseOut>(data.Total, models)); }
public PagedResultDto <ExpenseOut> GetHistoryData(ExpenseInput input) { TransExpenseAccountAbstractFactory factory; switch (_expenseType) { //报销借款 case (int)CommonEnum.EnumExpenseType.ReimbursementAndBorrowing: factory = new ReimbursementAndBorrowingFactory(_crmDbContext, _mapper, _period, _expenseCode); break; //固资折旧 case (int)CommonEnum.EnumExpenseType.FixedAssetsDepreciation: factory = new FixedAssetsDepreciationFactory(_crmDbContext, _mapper, _period, _expenseCode); break; default: return(new PagedResultDto <ExpenseOut>()); } var models = factory.GetHistoryDatas(input); return(models); }
/// <summary> /// 获取 历史表 分页数据 /// </summary> /// <param name="expenseInput"></param> /// <returns></returns> public abstract PagedResultDto <ExpenseOut> GetHistoryDatas(ExpenseInput expenseInput);
public JsonResult GetSummary(ExpenseInput queryModel) { var model = _expenseService.GetSummary(queryModel); return(Json(model)); }
public JsonResult GetListDatas(ExpenseInput queryModel) { var model = _expenseService.GetListDatas(queryModel); return(Json(new JsonFlagPage(queryModel.Draw, model.TotalCount, model.Items))); }