public ViewResult Detail(string id) { var categories = new List <SelectListItem>() { new SelectListItem() { Value = "材料费", Text = "材料费" }, new SelectListItem() { Value = "修理费", Text = "修理费" } }; ViewData["categories"] = categories; var user = OperatorProvider.Provider.Current(); var deptbll = new DepartmentBLL(); var dept = deptbll.GetEntity(user.DeptId); if (dept == null) { dept = deptbll.GetRootDepartment(); } var subdepts = deptbll.GetChildDepartments(user.DeptId); var depts = subdepts.OrderBy(x => x.EnCode).Select(x => new SelectListItem() { Value = x.DepartmentId, Text = x.FullName }).ToList(); ViewData["depts"] = depts; ViewBag.id = id; var itemdetialbll = new DataItemDetailBLL(); var itembll = new DataItemBLL(); var main = itembll.GetEntityByName("费用专业类型"); var content = itemdetialbll.GetList(main.ItemId).ToList(); var professionals = content.Select(x => new SelectListItem() { Value = x.ItemValue, Text = x.ItemName }).ToList(); professionals.Insert(0, new SelectListItem() { Value = "", Text = "==请选择==" }); ViewData["professionals"] = professionals; var now = DateTime.Now; var record = new CostRecordEntity() { RecordMonth = new DateTime(now.Year, now.Month, 1), RecordUserId = user.UserId, RecordUser = user.UserName, RecordDeptId = dept.DepartmentId, RecordDept = dept.FullName, RecordTime = DateTime.Now }; return(View(record)); }
public List <CostRecordEntity> GetCostRecords(int page, int pagesize, out int total, string[] deptids, string year, string month, string category, string dept) { var result = new List <CostRecordEntity>(); using (var ctx = new DataContext()) { var query = ctx.CostRecords.AsQueryable(); if (deptids != null) { query = query.Where(x => deptids.Contains(x.DeptId)); } if (!string.IsNullOrEmpty(year)) { var from = new DateTime(int.Parse(year), 1, 1); if (!string.IsNullOrEmpty(month)) { from = from.AddMonths(int.Parse(month) - 1); } var to = from.AddMonths(1).AddMinutes(-1); if (string.IsNullOrEmpty(month)) { to = to.AddMonths(11); } query = query.Where(x => x.RecordMonth >= from && x.RecordMonth <= to); } if (!string.IsNullOrEmpty(category)) { query = query.Where(x => x.Category == category); } if (!string.IsNullOrEmpty(dept)) { query = query.Where(x => x.DeptName.Contains(dept)); } total = query.Count(); var data = query.OrderByDescending(x => x.RecordMonth).ThenBy(x => x.DeptName).Skip(pagesize * (page - 1)).Take(pagesize).ToList(); foreach (var item in data) { var record = new CostRecordEntity() { RecordId = item.RecordId, RecordDeptId = item.DeptId, RecordDept = item.DeptName, RecordUserId = item.RecordUserId, RecordUser = item.RecordUser, Category = item.Category, RecordMonth = item.RecordMonth, BudgetAmount = item.BudgetAmount, RecordTime = item.RecordTime }; result.Add(record); } } return(result); }
public void AddCost(CostRecordEntity record) { var entity = new CostRecord() { RecordId = record.RecordId, DeptId = record.RecordDeptId, DeptName = record.RecordDept, Category = record.Category, BudgetAmount = record.BudgetAmount, RecordUserId = record.RecordUserId, RecordUser = record.RecordUser, RecordMonth = record.RecordMonth, RecordTime = record.RecordTime, Professional = record.professional, CostItems = record.CostItems.Select(x => new CostItem() { CostItemId = x.CostItemId, DeptId = x.DeptId, DeptName = x.DeptName, Amount = x.Amount }).ToList() }; var departmentservie = new DepartmentService(); var depts = departmentservie.GetSubDepartments(entity.DeptId, null).Select(x => x.DepartmentId).ToList(); var year = entity.RecordMonth.Year.ToString(); var month = entity.RecordMonth.Month.ToString(); using (var ctx = new DataContext()) { var cnt = ctx.CostRecords.Where(x => x.DeptId == entity.DeptId && x.Category == entity.Category && x.RecordMonth == entity.RecordMonth).Count(); if (cnt > 0) { throw new Exception("已经存在费用记录!"); } var ddd = ctx.Budgets.Include("BudgetItems").Where(x => x.Category == entity.Category && x.Year == year).ToList(); ddd = ddd.Where(x => depts.Any(y => y == x.DeptId)).ToList(); var sss = ddd.SelectMany(x => x.BudgetItems).Where(x => x.Month == month); entity.BudgetAmount = sss.Sum(x => x.Amount); ctx.CostRecords.Add(entity); ctx.SaveChanges(); } }
public void AddCost(CostRecordEntity record) { ICostService service = new CostService(); service.AddCost(record); }
public JsonResult DoImport(CostRecordEntity record) { var success = true; var message = "保存成功!"; var user = OperatorProvider.Provider.Current(); if (this.Request.Files.Count > 0) { var book = default(Workbook); try { book = new Workbook(this.Request.Files[0].InputStream); } catch (Exception e) { return(Json(new AjaxResult() { type = ResultType.error, message = "无法识别的文件!" })); } try { var sheet = book.Worksheets[0]; var titleIndex = this.GetTitleRow(sheet, record.Category); var dataindex = this.GetDataIndex(sheet, titleIndex); var costbll = new CostBLL(); var costitems = this.GetCostData(sheet, titleIndex, dataindex); record.CostItems = costitems; record.RecordId = Guid.NewGuid(); costbll.AddCost(record); var filename = this.Request.Files[0].FileName; var path = Path.Combine(Server.MapPath("~/Resource"), "Budget"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var id = Guid.NewGuid().ToString(); this.Request.Files[0].SaveAs(Path.Combine(path, id + Path.GetExtension(filename))); var fileinfo = new FileInfoEntity() { FileId = id, FilePath = "~/Resource/Budget/" + id + Path.GetExtension(filename), FileName = filename, CreateDate = DateTime.Now, CreateUserId = user.UserId, CreateUserName = user.UserName, DeleteMark = 0, EnabledMark = 1, FileExtensions = Path.GetExtension(filename), FileSize = this.Request.Files[0].ContentLength.ToString(), ModifyDate = DateTime.Now, ModifyUserId = user.UserId, ModifyUserName = user.UserName, RecId = record.RecordId.ToString() }; var filebll = new FileInfoBLL(); filebll.SaveForm(null, fileinfo); } catch (Exception e) { success = false; message = e.Message; } } return(Json(new AjaxResult() { type = success ? ResultType.success : ResultType.error, message = message })); }