jt
2021-06-10 5d0d028456874576560552f5a5c4e8b801786f11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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);
        }
    }
}