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 扫码获取实体
|
/// <summary>
|
/// 扫码获取实体
|
/// </summary>
|
/// <param name="barCode">扫描条码</param>
|
/// <returns></returns>
|
public TN_WM_B_UNIQUE_BARCODEEntity GetValue(string barCode)
|
{
|
return BLLCreator.Create<DapperBLL<TN_WM_B_UNIQUE_BARCODEEntity>>().GetSingleEntity(new { CN_S_CODE = barCode });
|
}
|
#endregion
|
|
#region Xml文件导入
|
/// <summary>
|
/// Xml文件导入
|
/// </summary>
|
/// <param name="uniqueEntityList">导入文件实体</param>
|
/// <returns></returns>
|
public OperateResult AddList(List<TN_WM_B_UNIQUE_BARCODEEntity> uniqueEntityList)
|
{
|
string sqlconn = ConfigurationManager.ConnectionStrings["wmsConnection"].ToString();
|
|
#region 待处理数据初始化处理 转DataTable
|
List<PropertyInfo> pList = new List<PropertyInfo>();//创建属性的集合
|
DataTable dt = new DataTable();
|
dt = JsonHelper.ToDataTable<TN_WM_B_UNIQUE_BARCODEEntity>(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<TN_WM_B_UNIQUE_BARCODEDAL>().GetXmlList(searchModel);
|
}
|
}
|
}
|