Example #1
0
        public Resuldt <uditPdProductStock> ImportExcel(System.IO.Stream stream, int SysNo)
        {
            DataTable dt   = null;
            var       cols = DicColsMapping.Select(p => p.Value).ToArray();

            try
            {
                dt = ExcelUtil.ImportExcel(stream, cols);
            }
            catch (Exception ex)
            {
                return(new Resuldt <uditPdProductStock>
                {
                    Message = string.Format("数据导入错误,请选择正确的excel文件"),
                    Status = false
                });
            }
            if (dt == null)
            {
                //not all the cols mapped
                return(new Resuldt <uditPdProductStock>
                {
                    Message = string.Format("请选择正确的excel文件!"),
                    Status = false
                });
            }

            if (dt.Rows.Count == 0)
            {
                return(new Resuldt <uditPdProductStock>
                {
                    Message = "导入的数据为空!",
                    Status = false
                });
            }

            Resuldt <uditPdProductStock> run       = new Resuldt <uditPdProductStock>();
            List <uditPdProductStock>    listModel = new List <uditPdProductStock>();
            int    fail    = 0;  //失败记录数
            int    success = 0;  //成功记录数
            string failstr = ""; //失败条数记录

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                uditPdProductStock model = IWhInventoryDao.Instance.GetuditPdProductStockTo(dt.Rows[i]["商品代码"].ToString().Trim(), dt.Rows[i]["仓库Erp编号"].ToString().Trim());
                if (model == null)
                {
                    model = new uditPdProductStock();
                    var product = PdProductBo.Instance.GetProductErpCode(dt.Rows[i]["商品代码"].ToString().Trim(), null);
                    var ware    = Hyt.BLL.Web.WhWarehouseBo.Instance.GetModelErpCode(dt.Rows[i]["仓库Erp编号"].ToString().Trim());
                    if (product == null || ware == null)
                    {
                        fail++;
                        failstr += (i + 2) + "、";
                        dt.Rows.Remove(dt.Rows[i]);
                    }
                    else
                    {
                        #region 将商品插入至商品库存表
                        // WhInventoryBo
                        PdProductStock stockModel = new PdProductStock()
                        {
                            WarehouseSysNo    = ware.SysNo,
                            PdProductSysNo    = product.SysNo,
                            StockQuantity     = 0,
                            LockStockQuantity = 0,
                            CreatedDate       = DateTime.Now,
                            Barcode           = product.Barcode,
                            CostPrice         = 0,
                            CustomsNo         = "",
                            InStockTime       = "",
                            Remark            = "库存盘点自动入库"
                        };
                        var r = PdProductStockBo.Instance.SaveProductStock(stockModel, 0);
                        #endregion
                        if (r > 0)
                        {
                            model = IWhInventoryDao.Instance.GetuditPdProductStockTo(dt.Rows[i]["商品代码"].ToString().Trim(), dt.Rows[i]["仓库Erp编号"].ToString().Trim());
                            success++;
                            model.BeiZhu      = dt.Rows[i]["备注"] == null ? "" : dt.Rows[i]["备注"].ToString().Trim();
                            model.ShiQuantity = dt.Rows[i]["实存数"] == null ? 0 : Convert.ToDecimal(dt.Rows[i]["实存数"].ToString().Trim());
                            model.WhCostPrice = dt.Rows[i]["单价"] == null ? 0 : Convert.ToDecimal(dt.Rows[i]["单价"].ToString().Trim());
                            listModel.Add(model);
                        }
                        else
                        {
                            fail++;
                            failstr += (i + 2) + "、";
                            dt.Rows.Remove(dt.Rows[i]);
                        }
                    }
                }
                else
                {
                    success++;
                    model.BeiZhu      = dt.Rows[i]["备注"] == null ? "" : dt.Rows[i]["备注"].ToString().Trim();
                    model.ShiQuantity = dt.Rows[i]["实存数"] == null ? 0 : Convert.ToDecimal(dt.Rows[i]["实存数"].ToString().Trim());
                    model.WhCostPrice = dt.Rows[i]["单价"] == null ? 0 : Convert.ToDecimal(dt.Rows[i]["单价"].ToString().Trim());
                    listModel.Add(model);
                }
            }
            if (success > 0 && dt.Rows.Count > 0)
            {
                run.Data = dt;
            }
            if (success > 0 && listModel != null)
            {
                run.listModel = listModel;
            }
            run.Message = "导入成功" + success + "件商品,失败" + fail + "件商品;";
            if (fail > 0)
            {
                run.Message += "失败原因为:产品编码或仓库erp编码有误,不存在此件商品。失败条数为第" + failstr.Trim('、') + "条。";
            }
            run.Status = true;
            return(run);
        }
Example #2
0
        /// <summary>
        /// 套装商品数据导入Excel
        /// </summary>
        /// <param name="stream"></param>
        /// <param name="SysNo"></param>
        /// <returns></returns>
        ///  2017-08-25 吴琨 创建
        public Resuldt <PdPackagedGoodsEntry> ImportExcel(System.IO.Stream stream, int SysNo)
        {
            DataTable dt   = null;
            var       cols = DicColsMapping.Select(p => p.Value).ToArray();

            #region 基础验证
            try
            {
                dt = ExcelUtil.ImportExcel(stream, cols);
            }
            catch (Exception ex)
            {
                return(new Resuldt <PdPackagedGoodsEntry>
                {
                    Message = string.Format("数据导入错误,请选择正确的excel文件"),
                    Status = false
                });
            }
            if (dt == null)
            {
                //not all the cols mapped
                return(new Resuldt <PdPackagedGoodsEntry>
                {
                    Message = string.Format("请选择正确的excel文件!"),
                    Status = false
                });
            }
            if (dt.Rows.Count == 0)
            {
                return(new Resuldt <PdPackagedGoodsEntry>
                {
                    Message = "导入的数据为空!",
                    Status = false
                });
            }
            #endregion
            Resuldt <PdPackagedGoodsEntry> run       = new Resuldt <PdPackagedGoodsEntry>();
            List <PdPackagedGoodsEntry>    listModel = new List <PdPackagedGoodsEntry>();
            int    fail    = 0;  //失败记录数
            int    success = 0;  //成功记录数
            string failstr = ""; //失败条数记录
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                success++;
                PdPackagedGoodsEntry model = new PdPackagedGoodsEntry();
                model.PdCode = dt.Rows[i]["商品代码"].ToString();
                if (!string.IsNullOrEmpty(model.PdCode))
                {
                    var product = PdProductBo.Instance.GetProductErpCode(dt.Rows[i]["商品代码"].ToString().Trim(), null);
                    if (product != null)
                    {
                        model.PdSysNo = product.SysNo;
                        model.PdName  = product.EasName;
                    }
                    else
                    {
                        fail++;
                        failstr += (i + 2) + "、";
                        dt.Rows.Remove(dt.Rows[i]);
                        continue;
                    }
                }
                model.Company   = dt.Rows[i]["单位"].ToString();
                model.UnitPrice = Convert.ToDecimal(dt.Rows[i]["单价"]);
                model.Count     = Convert.ToDecimal(dt.Rows[i]["用量"]);
                #region 发料仓库信息
                model.WarehouseCode = dt.Rows[i]["发料仓库"].ToString();
                if (!string.IsNullOrEmpty(model.WarehouseCode))
                {
                    var WhWarehouse = Hyt.BLL.Web.WhWarehouseBo.Instance.GetModelErpCode(model.WarehouseCode);
                    if (WhWarehouse != null)
                    {
                        model.WarehouseSysNo = WhWarehouse.SysNo;
                        model.WarehouseName  = WhWarehouse.BackWarehouseName;
                    }
                    else
                    {
                        fail++;
                        failstr += (i + 2) + "、";
                        dt.Rows.Remove(dt.Rows[i]);
                        continue;
                    }
                }
                #endregion
                model.Remarks = dt.Rows[i]["备注"].ToString();
                if (model.PdSysNo > 0 && model.WarehouseSysNo > 0)
                {
                    listModel.Add(model);
                }
            }
            if (success > 0 && dt.Rows.Count > 0)
            {
                run.Data = null;
            }
            if (success > 0 && listModel != null)
            {
                run.listModel = listModel;
            }
            run.Message = "导入成功" + success + "件商品,失败" + fail + "件商品;";
            if (fail > 0)
            {
                run.Message += "失败原因为:产品编码或仓库erp编码有误,不存在此件商品。失败条数为第" + failstr.Trim('、') + "条。";
            }
            run.Status = true;
            return(run);
        }
Example #3
0
        public Resuldt ImportExcel(System.IO.Stream stream, int SysNo)
        {
            DataTable dt   = null;
            var       cols = DicColsMapping.Select(p => p.Value).ToArray();

            try
            {
                dt = ExcelUtil.ImportExcel(stream, cols);
            }
            catch (Exception ex)
            {
                return(new Resuldt
                {
                    Message = string.Format("数据导入错误,请选择正确的excel文件"),
                    Status = false
                });
            }
            if (dt == null)
            {
                //not all the cols mapped
                return(new Resuldt
                {
                    Message = string.Format("请选择正确的excel文件!"),
                    Status = false
                });
            }

            if (dt.Rows.Count == 0)
            {
                return(new Resuldt
                {
                    Message = "导入的数据为空!",
                    Status = false
                });
            }

            Resuldt run = new Resuldt();
            List <CBSimplePdProduct> listModel = new List <CBSimplePdProduct>();
            int    fail    = 0;  //失败记录数
            int    success = 0;  //成功记录数
            string failstr = ""; //失败条数记录

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                CBSimplePdProduct model = PdProductBo.Instance.GetProductErpCode(dt.Rows[i]["产品编码"].ToString(), dt.Rows[i]["条形码"].ToString());
                if (model == null)
                {
                    fail++;
                    failstr += (i + 2) + "、";
                    dt.Rows.Remove(dt.Rows[i]);
                }
                else
                {
                    success++;
                    listModel.Add(model);
                }
            }
            if (success > 0 && dt.Rows.Count > 0)
            {
                run.Data = dt;
            }
            if (success > 0 && listModel != null)
            {
                run.listModel = listModel;
            }
            run.Message = "导入成功" + success + "件商品,失败" + fail + "件商品;";
            if (fail > 0)
            {
                run.Message += "失败原因为:产品编码有误,不存在此件商品。失败条数为第" + failstr.Trim('、') + "条。";
            }
            run.Status = true;
            return(run);
        }