public override string[] doUpdateDB() { BaseStockTable StockTable = null; BStock bStock = new BStock(); StringBuilder strError = new StringBuilder(); int successData = 0; int failureData = 0; string errorFilePath = ""; string backupFilePath = ""; //数据导入处理 foreach (DataRow dr in _csvDataTable.Rows) { StringBuilder str = new StringBuilder(); //仓库编号 str.Append(CheckWarehouse(CConvert.ToString(GetValue(dr, "WAREHOUSE_CODE")), "仓库编号")); //商品编号 if (CConvert.ToString(GetValue(dr, "PRODUCT_CODE")).Length > 20) { string product = GetValue(dr, "PRODUCT_CODE").ToString().Substring(0, 20); str.Append(CheckProduct(product, "商品编号")); } else { str.Append(CheckProduct(CConvert.ToString(GetValue(dr, "PRODUCT_CODE")), "商品编号")); } //单位 if (!string.IsNullOrEmpty(CConvert.ToString(GetValue(dr, "UNIT_CODE")))) { str.Append(CheckUnit(CConvert.ToString(GetValue(dr, "UNIT_CODE")), "单位")); } //数量 str.Append(CheckDecimal(GetValue(dr, "QUANTITY", 0), 12, 2, "数量")); //状态 str.Append(CheckInt(GetValue(dr, "STATUS_FLAG", CConstant.NORMAL), 9, "状态")); if (str.ToString().Trim().Length > 0) { strError.Append(GetStringBuilder(dr, str.ToString().Trim())); failureData++; continue; } try { int ret = 0; StockTable = new BaseStockTable(); StockTable.WAREHOUSE_CODE = CConvert.ToString(GetValue(dr, "WAREHOUSE_CODE")); if (GetValue(dr, "PRODUCT_CODE").ToString().Length > 20) { StockTable.PRODUCT_CODE = CConvert.ToString(GetValue(dr, "PRODUCT_CODE")).Substring(0, 20); } else { StockTable.PRODUCT_CODE = CConvert.ToString(GetValue(dr, "PRODUCT_CODE")); } StockTable.UNIT_CODE = CConvert.ToString(GetValue(dr, "UNIT_CODE")); StockTable.QUANTITY = CConvert.ToDecimal(GetValue(dr, "QUANTITY", 0)); StockTable.STATUS_FLAG = CConvert.ToInt32(GetValue(dr, "STATUS_FLAG", CConstant.NORMAL)); StockTable.CREATE_USER = _userInfo.CODE; StockTable.LAST_UPDATE_USER = _userInfo.CODE; if (!bStock.Exists(StockTable.WAREHOUSE_CODE, StockTable.PRODUCT_CODE)) { bStock.Add(StockTable); } else { bStock.UpdateStock(StockTable); } successData++; } catch { strError.Append(GetStringBuilder(dr, " 数据导入失败,请与系统管理员联系!").ToString()); failureData++; } } //错误记录处理 if (strError.Length > 0) { errorFilePath = WriteFile(strError.ToString()); } //备份处理 backupFilePath = BackupFile(); return(new string[] { successData.ToString(), failureData.ToString(), errorFilePath, backupFilePath }); }
public ApiMessage UpdateProductsStocks() { ApiMessage message = new ApiMessage() { Status = "ok" }; HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"]; HttpRequestBase request = context.Request; string user_id = User.Identity.Name; UserManager userMgr = new UserManager(int.Parse(user_id), null); BUser user = userMgr.CurrentUser; StockManager stockManager = new StockManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission); string jsonStocks = request["stocks"]; try { List <BStock> bStocks = new List <BStock>(); if (string.IsNullOrEmpty(jsonStocks)) { message.Status = "failed"; message.Message = "没有任何库存修改的信息"; return(message); } jsonStocks = HttpUtility.UrlDecode(jsonStocks); JArray jStocks = JArray.Parse(jsonStocks); if (jStocks != null) { for (int i = 0; i < jStocks.Count(); i++) { JObject stock = (JObject)jStocks[i]; int product_id = (int)stock["product_id"]; int quantity = (int)stock["quantity"]; int storeHouse_id = (int)stock["store_house"]; int batch_id = (int)stock["batch_id"]; BStock bStock = new BStock() { Quantity = quantity, Product = new BProduct { ID = product_id }, StoreHouse = new BStoreHouse() { ID = storeHouse_id }, Batch = new BStockBatch() { ID = batch_id } }; bStocks.Add(bStock); } } List <string> messages = new List <string>(); stockManager.UpdateProductsStocks(bStocks, out messages); message.Item = messages; } catch (KMJXCException kex) { message.Status = "failed"; message.Message = kex.Message; } catch (Exception ex) { } return(message); }