// Origin: Off_CreateSalesDaily public ActionResult CreateSalesDailyPartial() { var user = UserManager.FindById(User.Identity.GetUserId()); var item = new Off_SalesInfo_Daily(); var storelist = from m in _offlineDB.Off_Store where m.Off_System_Id == user.DefaultSystemId orderby m.StoreName select new { Key = m.Id, Value = m.StoreName }; ViewBag.StoreDropDown = new SelectList(storelist, "Key", "Value"); return(PartialView(item)); }
// Origin: analyseExcel_DailyInfoTable public async Task <List <Excel_DataMessage> > UploadDailySalesByExcelAsync(string filename, List <Excel_DataMessage> messageList) { try { var user = UserManager.FindById(User.Identity.GetUserId()); string folder = HttpContext.Server.MapPath("~/Content/xlsx/"); string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + folder + filename + ";Extended Properties='Excel 12.0; HDR=1; IMEX=1'"; //此连接可以操作.xls与.xlsx文件 OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); DataSet ds = new DataSet(); OleDbDataAdapter odda = new OleDbDataAdapter(string.Format("SELECT * FROM [{0}]", "Sheet1$"), conn); //("select * from [Sheet1$]", conn); odda.Fill(ds, "[Sheet1$]"); conn.Close(); DataTable dt = ds.Tables[0]; int i = 0; bool result_flag = true; foreach (DataRow dr in dt.Rows) { i++; try { // 判断是否存在店铺 string storename = dr["店铺名称"].ToString(); var exist_store = _offlineDB.Off_Store.SingleOrDefault(m => m.StoreName == storename && m.Off_System_Id == user.DefaultSystemId); if (exist_store == null) { messageList.Add(new Excel_DataMessage(i, "店铺不存在", true)); result_flag = false; continue; } // 判断是否有促销员,如有促销员,判断存在销售员 string sellername = dr["促销员"].ToString(); Off_Seller exist_seller = null; if (sellername != "") { exist_seller = _offlineDB.Off_Seller.SingleOrDefault(m => m.Name == sellername); if (exist_seller == null) { messageList.Add(new Excel_DataMessage(i, "销售员不存在", true)); result_flag = false; continue; } } // 判断是否含已有数据 DateTime info_date = Convert.ToDateTime(dr["日期"]); var exist_dailyinfo = _offlineDB.Off_SalesInfo_Daily.SingleOrDefault(m => m.Date == info_date && m.StoreId == exist_store.Id && m.isMultiple == false); if (exist_dailyinfo != null) { messageList.Add(new Excel_DataMessage(i, "当日数据已存在", true)); result_flag = false; continue; } else { int? attendance = null; string attendance_info = dr["考勤"].ToString(); switch (attendance_info) { case "全勤": attendance = 0; break; case "迟到": attendance = 1; break; case "早退": attendance = 2; break; case "旷工": attendance = 3; break; default: attendance = null; break; } Off_SalesInfo_Daily dailyinfo = new Off_SalesInfo_Daily() { StoreId = exist_store.Id, Date = info_date, Item_Brown = ExcelOperation.ConvertInt(dr, "红糖姜茶"), Item_Black = ExcelOperation.ConvertInt(dr, "黑糖姜茶"), Item_Lemon = ExcelOperation.ConvertInt(dr, "柠檬姜茶"), Item_Honey = ExcelOperation.ConvertInt(dr, "蜂蜜姜茶"), Item_Dates = ExcelOperation.ConvertInt(dr, "红枣姜茶"), Off_Seller = exist_seller, Attendance = attendance, Salary = ExcelOperation.ConvertDecimal(dr, "工资"), Bonus = ExcelOperation.ConvertDecimal(dr, "奖金"), Debit = ExcelOperation.ConvertDecimal(dr, "扣款"), isMultiple = ExcelOperation.ConvertBoolean(dr, "多人"), remarks = dr["备注"].ToString(), UploadTime = DateTime.Now, UploadUser = User.Identity.Name }; _offlineDB.Off_SalesInfo_Daily.Add(dailyinfo); messageList.Add(new Excel_DataMessage(i, "数据类型验证成功", false)); } } catch (Exception e) { result_flag = false; messageList.Add(new Excel_DataMessage(i, "表格格式错误," + e.ToString(), true)); } } if (result_flag) { await _offlineDB.SaveChangesAsync(); messageList.Add(new Excel_DataMessage(0, "保存成功", false)); } else { messageList.Add(new Excel_DataMessage(0, "数据行发生错误,未保存", true)); } } catch (Exception e) { messageList.Add(new Excel_DataMessage(-1, "表格格式错误" + e.ToString(), true)); } return(messageList); }
public async Task <ActionResult> CreateSalesDailyPartial(Off_SalesInfo_Daily model, FormCollection form) { if (ModelState.IsValid) { Off_SalesInfo_Daily item = new Off_SalesInfo_Daily(); if (TryUpdateModel(item)) { List <int> plist = new List <int>(); var user = UserManager.FindById(User.Identity.GetUserId()); var productlist = from m in _offlineDB.Off_Product where m.Off_System_Id == user.DefaultSystemId && m.status >= 0 select m; // 添加或修改销售列表 foreach (var product in productlist) { // 获取单品数据 int?sales = null; if (form["sales_" + product.Id] != "") { sales = Convert.ToInt32(form["sales_" + product.Id]); } int?storage = null; if (form["storage_" + product.Id] != "") { storage = Convert.ToInt32(form["storage_" + product.Id]); } decimal?amount = null; if (form["amount_" + product.Id] != "") { amount = Convert.ToDecimal(form["amount_" + product.Id]); } // 判断是否已有数据 // 添加数据 // 如果三项数据不为空,则添加 if ((sales == null || sales == 0) && storage == null && amount == null) { } else { Off_Daily_Product existdata = new Off_Daily_Product() { Off_SalesInfo_Daily = item, ItemCode = product.ItemCode, ProductId = product.Id, SalesAmount = amount, SalesCount = sales, StorageCount = storage }; _offlineDB.Off_Daily_Product.Add(existdata); //offlineDB.SaveChanges(); } } item.UploadTime = DateTime.Now; item.UploadUser = User.Identity.Name; _offlineDB.Off_SalesInfo_Daily.Add(item); var result = await _offlineDB.SaveChangesAsync(); OfflineSalesUtilities util = new OfflineSalesUtilities(); var result2 = await util.UpdateDailySalesAvg(item.StoreId, (int)item.Date.DayOfWeek + 1); return(Content("SUCCESS")); } return(Content("FAIL")); } else { ModelState.AddModelError("", "发生错误"); var storelist = from m in _offlineDB.Off_Store orderby m.StoreName select new { Key = m.Id, Value = m.StoreName }; ViewBag.StoreDropDown = new SelectList(storelist, "Key", "Value"); return(PartialView(model)); } }
public async Task <ActionResult> EditDailySalesPartial(int id, FormCollection form) { if (ModelState.IsValid) { var item = new Off_SalesInfo_Daily(); if (TryUpdateModel(item)) { List <int> plist = new List <int>(); var user = UserManager.FindById(User.Identity.GetUserId()); var productlist = from m in _offlineDB.Off_Product where m.Off_System_Id == user.DefaultSystemId && m.status >= 0 select m; // 添加或修改销售列表 foreach (var product in productlist) { // 获取单品数据 int?sales = null; if (form["sales_" + product.Id] != "") { sales = Convert.ToInt32(form["sales_" + product.Id]); } int?storage = null; if (form["storage_" + product.Id] != "") { storage = Convert.ToInt32(form["storage_" + product.Id]); } decimal?amount = null; if (form["amount_" + product.Id] != "") { amount = Convert.ToDecimal(form["amount_" + product.Id]); } // 判断是否已有数据 var checkinproductlist = _offlineDB.Off_Daily_Product.Where(m => m.DailyId == id); var existdata = checkinproductlist.SingleOrDefault(m => m.ProductId == product.Id); if (existdata != null) { if (sales == null && storage == null && amount == null) { // 无数据则删除 _offlineDB.Off_Daily_Product.Remove(existdata); } else if (sales == 0 && storage == 0 && amount == 0) { _offlineDB.Off_Daily_Product.Remove(existdata); } else { // 修改数据 existdata.SalesAmount = amount; existdata.SalesCount = sales; existdata.StorageCount = storage; } } else { // 添加数据 // 如果三项数据不为空,则添加 if (sales == null && storage == null && amount == null) { } else if (sales == 0 && storage == 0 && amount == 0) { } else { existdata = new Off_Daily_Product() { DailyId = id, ItemCode = product.ItemCode, ProductId = product.Id, SalesAmount = amount, SalesCount = sales, StorageCount = storage }; _offlineDB.Off_Daily_Product.Add(existdata); //offlineDB.SaveChanges(); } } } item.UploadTime = DateTime.Now; item.UploadUser = User.Identity.Name; _offlineDB.Entry(item).State = System.Data.Entity.EntityState.Modified; var result = await _offlineDB.SaveChangesAsync(); // 该代码需要重写 OfflineSalesUtilities util = new OfflineSalesUtilities(); var result2 = await util.UpdateDailySalesAvg(item.StoreId, (int)item.Date.DayOfWeek + 1); //update_Sales_AVGINfo(item.StoreId, (int)item.Date.DayOfWeek + 1); return(Content("SUCCESS")); } else { return(PartialView("AuthorizeErrorPartial")); } } else { return(PartialView("ErrorPartial")); } }