api/WmsSpaHelper.cs
@@ -56,7 +56,7 @@
            bool panduan = true;
            var db = new SqlHelper<object>().GetInstance();
            var po = db.Queryable<TN_Material_KC>().Where(a => a.S_ITEM_CODE == ItemCode).First();
            var po = db.Queryable<TN_Material_KC>().Where(a => a.S_ITEM_CODE== ItemCode).First();
            var po1 = db.Queryable<CntrItemRel>().Where(a => a.S_ITEM_CODE == ItemCode).First();
            if (po != null)
@@ -893,8 +893,8 @@
            db.BeginTran();
            List<WLReturnRoot.ITEM> list = new List<WLReturnRoot.ITEM>();
            var itemCodes = model.ROOT.ITEM.Select(item => item.WLBM).ToList();
            List<TN_Material> tN_Materials = new List<TN_Material>();
            var itemCodes = model.ROOT.ITEM.Select(item => item.WLBM).Distinct().ToList();
            var itemlist = db.Queryable<TN_Material>()
            .Where(it => itemCodes.Contains(it.S_ITEM_CODE))
            .ToList();
@@ -903,10 +903,8 @@
            {
                try
                {
                    var result = new WLReturnRoot.ITEM();
                    var materlist = itemlist.Where(it => it.S_ITEM_CODE == item.WLBM).First();
                    var materlist = itemlist.Where(it => it.S_ITEM_CODE == item.WLBM).FirstOrDefault();
                    if (materlist == null)
                    {
                        TN_Material tN_Material = new TN_Material();
@@ -923,7 +921,8 @@
                        tN_Material.S_CPZ = item.CPZ;
                        tN_Material.S_CPZMS = item.CPZMS;
                        tN_Material.S_ITEM_NAME = item.VTEXT;
                        db.Insertable<TN_Material>(tN_Material).ExecuteCommand();
                        tN_Materials.Add(tN_Material);
                        //db.Insertable<TN_Material>(tN_Material).ExecuteCommand();
                        result.MSGDESP = "成功";
                        result.MSGCODE = 0;
                        result.GCBM = item.GCBM;
@@ -966,6 +965,24 @@
                }
            }
            response.ROOT.ITEM = list;
            if (tN_Materials.Count()>0)
            {
                db.Insertable<TN_Material>(tN_Materials).ExecuteCommand();
                //using (var bulkCopy = new SqlBulkCopy(util.Settings.SqlServer))
                //{
                //    bulkCopy.DestinationTableName = "TN_Material";
                //    bulkCopy.BatchSize = 500;
                //    var dataTable = new DataTable();
                //    dataTable = list.ToDataTable();
                //    // 添加列映射(确保名称匹配)
                //    foreach (DataColumn col in dataTable.Columns)
                //    {
                //        bulkCopy.ColumnMappings.Add(col.ColumnName, col.ColumnName);
                //    }
                //    bulkCopy.WriteToServer(tN_Materials.ToDataTable());
                //}
            }
            //db.Insertable<TN_Material>(list).ExecuteCommand();
            db.CommitTran();
@@ -3694,10 +3711,11 @@
                        var po1 = new TN_Outbound_Order { S_NO = WMSHelper.GenerateShippNo(), UNAME = po.UNAME, S_FACTORY = po.S_FACTORY, S_CBZX = po.S_CBZX, S_ZZKM = po.S_ZZKM, S_LRZX = po.S_LRZX, BLDAT = po.BLDAT, BUDAT = po.BUDAT, S_OUT_TYPE = po.S_OUT_TYPE, S_BS_TYPE = po.S_BS_TYPE, S_AREA_CODE = po.S_AREA_CODE, S_BS_NO = po.S_NO };
                        List<TN_Ll_detail> tN_Ll_Details = new List<TN_Ll_detail>();
                        po1.Details = new List<TN_Outbound_Detail>();
                        var list = po.Details.Where(s => s.F_QTY > s.F_ACC_D_QTY).Select(s => s.S_ITEM_CODE).Distinct().ToArray();
                        var Sitemlist = db.Queryable<CntrItemRel>().Where(s => list.Contains(s.S_ITEM_CODE)).Select(s => s.S_ITEM_CODE).ToArray();
                        po.Details = po.Details.Where(s => s.F_QTY > s.F_ACC_D_QTY && Sitemlist.Contains(s.S_ITEM_CODE)).ToList();
                        var list = po.Details.Where(s => s.F_QTY > s.F_ACC_D_QTY&&s.S_ERP_WH_CODE=="4004").Select(s => s.S_ITEM_CODE).Distinct().ToArray();
                        var Sitemlist = db.Queryable<CntrItemRel>().Where(s => list.Contains(s.S_ITEM_CODE)).Select(s => s.S_ITEM_CODE).ToArray().Select(x => x.Trim()).ToArray(); ;
                        po.Details = po.Details.Where(s => Sitemlist.Contains(s.S_ITEM_CODE)).ToList();
                        if (po.Details.Count() > 0)
                        {