/// <summary> /// 数据验证 /// </summary> /// <param name="input">条件参数</param> /// <param name="errMsgList">错误信息集合</param> /// <returns></returns> private async Task <string> CreateValidateAsync(Desc_Customer_Material_AppCreateInputDto input, List <string> errMsgList) { try { await Task.Yield(); return(string.Join(',', errMsgList)); } catch (Exception ex) { throw ex; } }
/// <summary> /// 新增客户-物资 /// </summary> /// <param name="input">条件参数</param> /// <returns></returns> public async Task <ActionResult> AddDescCustomerMaterial(Desc_Customer_Material_AppCreateInputDto input) { try { var result = await _appService.CreateDescCustomerMaterialAsync(input); return(Ok(JsonUtils.SerializeObject(true, "success"))); } catch (Exception ex) { Logger.ErrorFormat("异常消息:{0} {1}", ex.Message, ex.InnerException?.Message); return(BadRequest(JsonUtils.SerializeObject(false, "failed", ex.Message))); } }
/// <summary> /// 客户物资导入验证 /// </summary> /// <param name="input"></param> /// <param name="dataTable"></param> /// <param name="errorTable"></param> /// <param name="successData"></param> /// <param name="materialInfoList"></param> /// <returns></returns> public async Task <string> ImportValidateAsync(Desc_Customer_Material_AppCreateInputDto input, DataTable dataTable, DataTable errorTable, DataTable successData, List <MaterialInfo> materialInfoList) { try { string errMsg = string.Empty; var errMsgList = new List <string>(); errMsg = await ImportValidateAsync(input, dataTable, errorTable, successData, materialInfoList, errMsgList); return(errMsg); } catch (Exception ex) { throw ex; } }
/// <summary> /// 新增验证 /// </summary> /// <param name="input">条件参数</param> /// <returns></returns> public async Task <string> CreateValidateAsync(Desc_Customer_Material_AppCreateInputDto input) { try { string errMsg = string.Empty; var errMsgList = new List <string>(); errMsg = await CreateValidateAsync(input, errMsgList); return(errMsg); } catch (Exception ex) { throw ex; } }
/// <summary> /// 导入客户物资关系 /// </summary> /// <param name="input">条件参数</param> /// <returns></returns> public async Task <ActionResult> ImportCustomerMaterial(Desc_Customer_Material_AppCreateInputDto input) { try { var fileList = Request.Form.Files; if (fileList == null || fileList.Count == 0) { return(null); } var file = fileList[0]; var fileName = file.FileName; var stream = file.OpenReadStream(); var result = await _appService.ImportCustomerMaterial(stream, fileName, input); return(Ok(JsonUtils.SerializeObject(result, "failed"))); } catch (Exception ex) { Logger.ErrorFormat("异常消息:{0} {1}", ex.Message, ex.InnerException?.Message); return(BadRequest(JsonUtils.SerializeObject(false, "failed", ex.Message))); } }
/// <summary> /// 数据验证 /// </summary> /// <param name="input"></param> /// <param name="dataTable"></param> /// <param name="errorTable"></param> /// <param name="successData"></param> /// <param name="materialInfoList"></param> /// <param name="errMsgList"></param> /// <returns></returns> private async Task <string> ImportValidateAsync(Desc_Customer_Material_AppCreateInputDto input, DataTable dataTable, DataTable errorTable, DataTable successData, List <MaterialInfo> materialInfoList, List <string> errMsgList) { try { if (dataTable.Rows.Count > 0) { DataTable filterSuccess = dataTable.Clone(); //校验excel数据是否重复 await ImportExcelValidateAsync(dataTable, errorTable, filterSuccess); if (errorTable.Rows.Count > 0) { return(null); } //校验物资信息是否存在 foreach (DataRow row in filterSuccess.Rows) { string materialname = ConvertUtils.ToStrDef(row["materialname"]).Trim(); string skuid = ConvertUtils.ToStrDef(row["skuid"]).Trim(); MaterialInfo material = materialInfoList.Find(d => d.Name == materialname && d.Skuid == skuid); if (material == null) { row["ErrorMse"] = string.Format(@"客户没有维护物资:【{0}】,SKUID:【{1}】信息,请维护", materialname, skuid); errorTable.ImportRow(row); } else { //判断客户物资关系是否存在 var count = await _repository.CountAsync(d => d.Warehouseid == input.Warehouseid && d.TenantId == input.TenantId && d.Customerid == input.Customerid && d.Materialid == material.Id); if (count > 0) { //存在 row["ErrorMse"] = string.Format(@"已存在客户物资关系:【{0}】,SKUID:【{1}】,无法重复维护", materialname, skuid); errorTable.ImportRow(row); } else { row["Materialid"] = material.Id; row["Customerid"] = input.Customerid; row["Warehouseid"] = input.Warehouseid; row["TenantId"] = input.TenantId; row["OperaterUserId"] = input.OperaterUserId; successData.ImportRow(row); } } } } else { return(null); } return(string.Join(',', errMsgList)); } catch (Exception ex) { throw ex; } }