Beispiel #1
0
        public void ExportPurchaseData(Hyt.Model.InventorySheet.WhInventoryDetail list, string userIp, int operatorSysno)
        {
            try
            {
                // 查询商品
                List <WhInventoryProductDetailOutput> outputData = new List <WhInventoryProductDetailOutput>();
                foreach (var item in list.dataList)
                {
                    WhInventoryProductDetailOutput model = new WhInventoryProductDetailOutput();
                    model.WarehouseNameDate = item.WarehouseNameDate;
                    model.PrCode            = item.ErpCode;
                    model.PrName            = item.EasName;
                    model.ZhangCunQuantity  = item.ZhangCunQuantity;
                    model.InventoryQuantity = item.InventoryQuantity;
                    model.Remarks           = item.Remarks;
                    outputData.Add(model);
                }
                var fileName = string.Format("" + list.Code + "({0})", DateTime.Now.ToString("yyyyMMddHHmmss"));

                /*
                 * 仓库名称
                 * 商品编码
                 * 后台显示名称
                 * 条形码
                 * 海关备案号
                 * 采购价格
                 * 库存数量
                 */

                //导出Excel,并设置表头列名
                Util.ExcelUtil.Export <WhInventoryProductDetailOutput>(outputData,
                                                                       new List <string> {
                    "仓库名称", "商品编号", "商品名称", "账存数量", "盘点数量", "备注"
                },
                                                                       fileName);
                SysLog.Instance.WriteLog(LogStatus.SysLogLevel.Info, LogStatus.系统日志来源.后台, "盘点数据录入商品导出excel",
                                         LogStatus.系统日志目标类型.ExcelExporting, 0, null, userIp, operatorSysno);
            }
            catch (Exception ex)
            {
                SysLog.Instance.WriteLog(LogStatus.SysLogLevel.Error, LogStatus.系统日志来源.后台, "盘点数据录入商品导出excel",
                                         LogStatus.系统日志目标类型.ExcelExporting, 0, ex, userIp, operatorSysno);
            }
        }
Beispiel #2
0
        public Resuldt <WhInventoryProductDetailOutput> ImportExcelTo(System.IO.Stream stream, int SysNo)
        {
            DataTable dt   = null;
            var       cols = DicColsMappingTo.Select(p => p.Value).ToArray();

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

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

            Resuldt <WhInventoryProductDetailOutput> run       = new Resuldt <WhInventoryProductDetailOutput>();
            List <WhInventoryProductDetailOutput>    listModel = new List <WhInventoryProductDetailOutput>();
            int    fail    = 0;  //失败记录数
            int    success = 0;  //成功记录数
            string failstr = ""; //失败条数记录
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                success++;
                WhInventoryProductDetailOutput model = new WhInventoryProductDetailOutput();
                model.WarehouseNameDate = dt.Rows[i]["仓库名称"].ToString();
                model.PrCode            = dt.Rows[i]["商品编号"].ToString();
                model.PrName            = dt.Rows[i]["商品名称"].ToString();
                model.ZhangCunQuantity  = Convert.ToDecimal(dt.Rows[i]["账存数量"]);
                model.InventoryQuantity = Convert.ToDecimal(dt.Rows[i]["盘点数量"]);
                model.Remarks           = dt.Rows[i]["备注"].ToString();
                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);
        }