using HH.WMS.Common; using HH.WMS.DAL; using HH.WMS.DAL.Basic; using HH.WMS.Entitys; using HH.WMS.Entitys.Common; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace HH.WMS.BLL.Basic { public class TN_WM_B_UNIQUE_BARCODEBLL : DapperBaseBLL { #region 扫码获取实体 /// /// 扫码获取实体 /// /// 扫描条码 /// public TN_WM_B_UNIQUE_BARCODEEntity GetValue(string barCode) { return BLLCreator.Create>().GetSingleEntity(new { CN_S_CODE = barCode }); } #endregion #region Xml文件导入 /// /// Xml文件导入 /// /// 导入文件实体 /// public OperateResult AddList(List uniqueEntityList) { string sqlconn = ConfigurationManager.ConnectionStrings["wmsConnection"].ToString(); #region 待处理数据初始化处理 转DataTable List pList = new List();//创建属性的集合 DataTable dt = new DataTable(); dt = JsonHelper.ToDataTable(uniqueEntityList); #endregion #region 批量插入数据库 SqlBulkCopy声明及参数设置 SqlBulkCopy bulk = new SqlBulkCopy(sqlconn, SqlBulkCopyOptions.UseInternalTransaction) { DestinationTableName = "TN_WM_B_UNIQUE_BARCODE" /*设置数据库目标表名称*/, BatchSize = dt.Rows.Count /*每一批次中的行数*/ }; PropertyInfo[] fields = typeof(TN_WM_B_UNIQUE_BARCODEEntity).GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); foreach (var f in fields) { var columnData = f.GetCustomAttribute(typeof(ColumnAttribute)); if (columnData == null) continue; bulk.ColumnMappings.Add(f.Name, f.Name); //bulk.ColumnMappings.Add("CN_S_CODE", "CN_S_CODE"); //ColumnMappings.Add("源数据表列名称", "目标表数据列名称"); } #endregion bulk.WriteToServer(dt); if (bulk != null) { bulk.Close(); return OperateResult.Succeed(); } return OperateResult.Error("SqlBulkCopy处理失败!"); } #endregion public OperateResult GetXmlList(SearchModel searchModel) { return CreateDAL().GetXmlList(searchModel); } } }