Ejemplo n.º 1
0
        public JsonResult Edit(WMS_Feed_ListModel model)
        {
            List <WMS_Feed_ListModel> list = m_BLL.GetListByWhere(ref setNoPagerAscById, "Id = " + model.Id + " &&ConfirmStatus = \"已确认\"");

            if (list.Count() > 0)
            {
                return(Json(JsonHandler.CreateMessage(0, "已确认单据不能修改")));
            }
            else
            {
                model.ModifyTime   = ResultHelper.NowTime;
                model.ModifyPerson = GetUserTrueName();
                if (model != null && ModelState.IsValid)
                {
                    if (m_BLL.Edit(ref errors, model))
                    {
                        LogHandler.WriteServiceLog(GetUserTrueName(), "Id" + model.Id + ",FeedBillNum" + model.FeedBillNum, "成功", "修改", "WMS_Feed_List");
                        return(Json(JsonHandler.CreateMessage(1, Resource.EditSucceed)));
                    }
                    else
                    {
                        string ErrorCol = errors.Error;
                        LogHandler.WriteServiceLog(GetUserTrueName(), "Id" + model.Id + ",FeedBillNum" + model.FeedBillNum + "," + ErrorCol, "失败", "修改", "WMS_Feed_List");
                        return(Json(JsonHandler.CreateMessage(0, Resource.EditFail + ErrorCol)));
                    }
                }
                else
                {
                    return(Json(JsonHandler.CreateMessage(0, Resource.EditFail)));
                }
            }
        }
Ejemplo n.º 2
0
 public JsonResult Create(WMS_Feed_ListModel model)
 {
     model.Id             = 0;
     model.ReleaseBillNum = model.FeedBillNum;
     model.CreatePerson   = GetUserTrueName();
     model.CreateTime     = ResultHelper.NowTime;
     model.PrintStaus     = "已打印";
     model.ConfirmStatus  = "未确认";
     if (model.Lot == "[空]")
     {
         model.Lot = "";
     }
     if (model.Lot == "" || model.Lot == null || !DateTimeHelper.CheckYearMonth(model.Lot))
     {
         return(Json(JsonHandler.CreateMessage(0, "批次录入不符合规范")));
     }
     if (model != null && ModelState.IsValid)
     {
         if (m_BLL.Create(ref errors, model))
         {
             LogHandler.WriteServiceLog(GetUserTrueName(), "Id" + model.Id + ",FeedBillNum" + model.FeedBillNum, "成功", "创建", "WMS_Feed_List");
             return(Json(JsonHandler.CreateMessage(1, Resource.InsertSucceed)));
         }
         else
         {
             string ErrorCol = errors.Error;
             LogHandler.WriteServiceLog(GetUserTrueName(), "Id" + model.Id + ",FeedBillNum" + model.FeedBillNum + "," + ErrorCol, "失败", "创建", "WMS_Feed_List");
             return(Json(JsonHandler.CreateMessage(0, Resource.InsertFail + ErrorCol)));
         }
     }
     else
     {
         return(Json(JsonHandler.CreateMessage(0, Resource.InsertFail)));
     }
 }
Ejemplo n.º 3
0
        public virtual bool Edit(ref ValidationErrors errors, WMS_Feed_ListModel model)
        {
            try
            {
                WMS_Feed_List entity = m_Rep.GetById(model.Id);
                if (entity == null)
                {
                    errors.Add(Resource.Disable);
                    return(false);
                }
                entity.Id                = model.Id;
                entity.FeedBillNum       = model.FeedBillNum;
                entity.ReleaseBillNum    = model.ReleaseBillNum;
                entity.Department        = model.Department;
                entity.AssemblyPartId    = model.AssemblyPartId;
                entity.SubAssemblyPartId = model.SubAssemblyPartId;
                entity.Lot               = model.Lot;
                entity.FeedQty           = model.FeedQty;
                entity.BoxQty            = model.BoxQty;
                entity.Capacity          = model.Capacity;
                entity.InvId             = model.InvId;
                entity.SubInvId          = model.SubInvId;
                entity.Remark            = model.Remark;
                entity.PrintStaus        = model.PrintStaus;
                entity.PrintDate         = model.PrintDate;
                entity.PrintMan          = model.PrintMan;
                entity.ConfirmStatus     = model.ConfirmStatus;
                entity.ConfirmMan        = model.ConfirmMan;
                entity.ConfirmDate       = model.ConfirmDate;
                entity.Attr1             = model.Attr1;
                entity.Attr2             = model.Attr2;
                entity.Attr3             = model.Attr3;
                entity.Attr4             = model.Attr4;
                entity.Attr5             = model.Attr5;
                entity.CreatePerson      = model.CreatePerson;
                entity.CreateTime        = model.CreateTime;
                entity.ModifyPerson      = model.ModifyPerson;
                entity.ModifyTime        = model.ModifyTime;
                entity.ConfirmMessage    = model.ConfirmMessage;



                if (m_Rep.Edit(entity))
                {
                    return(true);
                }
                else
                {
                    errors.Add(Resource.NoDataChange);
                    return(false);
                }
            }
            catch (Exception ex)
            {
                errors.Add(ex.Message);
                ExceptionHander.WriteException(ex);
                return(false);
            }
        }
Ejemplo n.º 4
0
        public ActionResult Delete(long id)
        {
            List <WMS_Feed_ListModel> list = m_BLL.GetListByWhere(ref setNoPagerAscById, "Id = " + id + " &&ConfirmStatus = \"已确认\"");

            if (list.Count() > 0)
            {
                return(Json(JsonHandler.CreateMessage(0, "已确认单据不能删除")));
            }
            else
            {
                if (id != 0)
                {
                    WMS_Feed_ListModel model = m_BLL.GetById(id);
                    model.ModifyTime   = ResultHelper.NowTime;
                    model.ModifyPerson = GetUserTrueName();
                    model.PrintStaus   = "已失效";

                    if (model != null && ModelState.IsValid)
                    {
                        if (m_BLL.Edit(ref errors, model))
                        {
                            LogHandler.WriteServiceLog(GetUserTrueName(), "Id" + model.Id + ",FeedBillNum" + model.FeedBillNum, "成功", "修改", "WMS_Feed_List");
                            return(Json(JsonHandler.CreateMessage(1, Resource.EditSucceed)));
                        }
                        else
                        {
                            string ErrorCol = errors.Error;
                            LogHandler.WriteServiceLog(GetUserTrueName(), "Id" + model.Id + ",FeedBillNum" + model.FeedBillNum + "," + ErrorCol, "失败", "修改", "WMS_Feed_List");
                            return(Json(JsonHandler.CreateMessage(0, Resource.EditFail + ErrorCol)));
                        }
                    }
                    else
                    {
                        return(Json(JsonHandler.CreateMessage(0, Resource.EditFail)));
                    }

                    //if (m_BLL.Delete(ref errors, id))
                    //{
                    //    LogHandler.WriteServiceLog(GetUserTrueName(), "Id:" + id, "成功", "删除", "WMS_Feed_List");
                    //    return Json(JsonHandler.CreateMessage(1, Resource.DeleteSucceed));
                    //}
                    //else
                    //{
                    //    string ErrorCol = errors.Error;
                    //    LogHandler.WriteServiceLog(GetUserTrueName(), "Id" + id + "," + ErrorCol, "失败", "删除", "WMS_Feed_List");
                    //    return Json(JsonHandler.CreateMessage(0, Resource.DeleteFail + ErrorCol));
                    //}
                }
                else
                {
                    return(Json(JsonHandler.CreateMessage(0, Resource.DeleteFail)));
                }
            }
        }
Ejemplo n.º 5
0
        public ActionResult Create()
        {
            ViewBag.Inv = new SelectList(_InvInfoBll.GetList(ref setNoPagerAscById, ""), "Id", "InvName");
            WMS_Feed_ListModel model = new WMS_Feed_ListModel()
            {
                FeedBillNum    = "TL" + DateTime.Now.ToString("yyyyMMddHHmmssff"),
                ReleaseBillNum = "TL" + DateTime.Now.ToString("yyyyMMddHHmmssff"),
            };

            return(View(model));
        }
Ejemplo n.º 6
0
        public ActionResult Edit(long id)
        {
            ViewBag.Inv = new SelectList(_InvInfoBll.GetList(ref setNoPagerAscById, ""), "Id", "InvName");
            WMS_Feed_ListModel entity = m_BLL.GetById(id);
            //WMS_PartModel entity_p = m_PartBLL.GetById(entity.AssemblyPartId);
            //entity.AssemblyPartCode = entity_p.PartCode;
            WMS_PartModel entity_p1 = m_PartBLL.GetById(entity.SubAssemblyPartId);

            entity.SubAssemblyPartCode = entity_p1.PartCode;

            return(View(entity));
        }
Ejemplo n.º 7
0
        public virtual WMS_Feed_ListModel GetById(object id)
        {
            if (IsExists(id))
            {
                WMS_Feed_List      entity = m_Rep.GetById(id);
                WMS_Feed_ListModel model  = new WMS_Feed_ListModel();
                model.Id                = entity.Id;
                model.FeedBillNum       = entity.FeedBillNum;
                model.ReleaseBillNum    = entity.ReleaseBillNum;
                model.Department        = entity.Department;
                model.AssemblyPartId    = entity.AssemblyPartId;
                model.SubAssemblyPartId = entity.SubAssemblyPartId;
                model.Lot               = entity.Lot;
                model.FeedQty           = entity.FeedQty;
                model.BoxQty            = entity.BoxQty;
                model.Capacity          = entity.Capacity;
                model.InvId             = entity.InvId;
                model.SubInvId          = entity.SubInvId;
                model.Remark            = entity.Remark;
                model.PrintStaus        = entity.PrintStaus;
                model.PrintDate         = entity.PrintDate;
                model.PrintMan          = entity.PrintMan;
                model.ConfirmStatus     = entity.ConfirmStatus;
                model.ConfirmMan        = entity.ConfirmMan;
                model.ConfirmDate       = entity.ConfirmDate;
                model.Attr1             = entity.Attr1;
                model.Attr2             = entity.Attr2;
                model.Attr3             = entity.Attr3;
                model.Attr4             = entity.Attr4;
                model.Attr5             = entity.Attr5;
                model.CreatePerson      = entity.CreatePerson;
                model.CreateTime        = entity.CreateTime;
                model.ModifyPerson      = entity.ModifyPerson;
                model.ModifyTime        = entity.ModifyTime;
                model.ConfirmMessage    = entity.ConfirmMessage;

                return(model);
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 8
0
        public bool ImportExcelData(string oper, string filePath, ref ValidationErrors errors)
        {
            bool rtn = true;

            var targetFile = new FileInfo(filePath);

            if (!targetFile.Exists)
            {
                errors.Add("导入的数据文件不存在");
                return(false);
            }

            var excelFile = new ExcelQueryFactory(filePath);

            using (XLWorkbook wb = new XLWorkbook(filePath))
            {
                //第一个Sheet
                using (IXLWorksheet wws = wb.Worksheets.First())
                {
                    //对应列头
                    excelFile.AddMapping <WMS_Feed_ListModel>(x => x.FeedBillNum, "投料单号(业务)");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.ReleaseBillNum, "投料单号(系统)");
                    excelFile.AddMapping <WMS_Feed_ListModel>(x => x.Department, "投料部门");
                    excelFile.AddMapping <WMS_Feed_ListModel>(x => x.AssemblyPartCode, "总成物料");
                    excelFile.AddMapping <WMS_Feed_ListModel>(x => x.SubAssemblyPartCode, "投料物料");
                    excelFile.AddMapping <WMS_Feed_ListModel>(x => x.Lot, "批次号");
                    excelFile.AddMapping <WMS_Feed_ListModel>(x => x.FeedQty, "投料数量");
                    excelFile.AddMapping <WMS_Feed_ListModel>(x => x.BoxQty, "箱数");
                    excelFile.AddMapping <WMS_Feed_ListModel>(x => x.Capacity, "体积");
                    excelFile.AddMapping <WMS_Feed_ListModel>(x => x.InvName, "库房");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.SubInvId, "子库存");
                    excelFile.AddMapping <WMS_Feed_ListModel>(x => x.Remark, "备注");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.PrintStaus, "打印状态");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.PrintDate, "打印时间");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.PrintMan, "打印人");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.ConfirmStatus, "确认状态");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.ConfirmMan, "确认人");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.ConfirmDate, "确认时间");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.Attr1, "");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.Attr2, "");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.Attr3, "");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.Attr4, "");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.Attr5, "");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.CreatePerson, "创建人");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.CreateTime, "创建时间");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.ModifyPerson, "修改人");
                    //excelFile.AddMapping<WMS_Feed_ListModel>(x => x.ModifyTime, "修改时间");

                    //SheetName,第一个Sheet
                    var excelContent = excelFile.Worksheet <WMS_Feed_ListModel>(0);

                    //开启事务
                    using (DBContainer db = new DBContainer())
                    {
                        var tran     = db.Database.BeginTransaction();                      //开启事务
                        int rowIndex = 0;

                        //检查数据正确性
                        foreach (var row in excelContent)
                        {
                            rowIndex += 1;
                            string errorMessage = String.Empty;
                            var    model        = new WMS_Feed_ListModel();
                            model.Id          = row.Id;
                            model.FeedBillNum = row.FeedBillNum;
                            //model.ReleaseBillNum = row.ReleaseBillNum;
                            model.Department          = row.Department;
                            model.AssemblyPartCode    = row.AssemblyPartCode;
                            model.SubAssemblyPartCode = row.SubAssemblyPartCode;
                            model.FeedQty             = row.FeedQty;
                            model.BoxQty   = row.BoxQty;
                            model.Capacity = row.Capacity;
                            model.InvName  = row.InvName;
                            model.Lot      = row.Lot;
                            //model.SubInvId = row.SubInvId;
                            model.Remark = row.Remark;
                            //model.PrintStaus = row.PrintStaus;
                            //model.PrintDate = row.PrintDate;
                            //model.PrintMan = row.PrintMan;
                            //model.ConfirmStatus = row.ConfirmStatus;
                            //model.ConfirmMan = row.ConfirmMan;
                            //model.ConfirmDate = row.ConfirmDate;
                            //model.Attr1 = row.Attr1;
                            //model.Attr2 = row.Attr2;
                            //model.Attr3 = row.Attr3;
                            //model.Attr4 = row.Attr4;
                            //model.Attr5 = row.Attr5;
                            //model.CreatePerson = row.CreatePerson;
                            //model.CreateTime = row.CreateTime;
                            //model.ModifyPerson = row.ModifyPerson;
                            //model.ModifyTime = row.ModifyTime;

                            if (!String.IsNullOrEmpty(errorMessage))
                            {
                                rtn = false;
                                errors.Add(string.Format("第 {0} 列发现错误:{1}{2}", rowIndex, errorMessage, "<br/>"));
                                wws.Cell(rowIndex + 1, excelFile.GetColumnNames("Sheet1").Count()).Value = errorMessage;
                                continue;
                            }

                            //执行额外的数据校验
                            try
                            {
                                AdditionalCheckExcelData(db, ref model);
                            }
                            catch (Exception ex)
                            {
                                rtn          = false;
                                errorMessage = ex.Message;
                                errors.Add(string.Format("第 {0} 列发现错误:{1}{2}", rowIndex, errorMessage, "<br/>"));
                                wws.Cell(rowIndex + 1, excelFile.GetColumnNames("Sheet1").Count()).Value = errorMessage;
                                continue;
                            }

                            //写入数据库
                            WMS_Feed_List entity = new WMS_Feed_List();
                            entity.Id          = model.Id;
                            entity.FeedBillNum = model.FeedBillNum;
                            //entity.ReleaseBillNum = model.ReleaseBillNum;
                            //entity.ReleaseBillNum = "TL" + DateTime.Now.ToString("yyyyMMddHHmmssff");打印时生成
                            entity.Department        = model.Department;
                            entity.AssemblyPartId    = model.AssemblyPartId;
                            entity.SubAssemblyPartId = model.SubAssemblyPartId;
                            entity.FeedQty           = model.FeedQty;
                            entity.BoxQty            = model.BoxQty;
                            entity.Capacity          = model.Capacity;
                            entity.InvId             = model.InvId;
                            entity.Lot = model.Lot;
                            //entity.SubInvId = model.SubInvId;
                            entity.Remark     = model.Remark;
                            entity.PrintStaus = "未打印";
                            //entity.PrintDate = model.PrintDate;
                            //entity.PrintMan = model.PrintMan;
                            entity.ConfirmStatus = "未确认";
                            //entity.ConfirmMan = model.ConfirmMan;
                            //entity.ConfirmDate = model.ConfirmDate;
                            //entity.Attr1 = model.Attr1;
                            //entity.Attr2 = model.Attr2;
                            //entity.Attr3 = model.Attr3;
                            //entity.Attr4 = model.Attr4;
                            //entity.Attr5 = model.Attr5;
                            //entity.CreatePerson = model.CreatePerson;
                            //entity.CreateTime = model.CreateTime;
                            //entity.ModifyPerson = model.ModifyPerson;
                            //entity.ModifyTime = model.ModifyTime;
                            entity.CreatePerson = oper;
                            entity.CreateTime   = DateTime.Now;
                            entity.ModifyPerson = oper;
                            entity.ModifyTime   = DateTime.Now;

                            db.WMS_Feed_List.Add(entity);
                            try
                            {
                                db.SaveChanges();
                            }
                            catch (Exception ex)
                            {
                                rtn = false;
                                //将当前报错的entity状态改为分离,类似EF的回滚(忽略之前的Add操作)
                                db.Entry(entity).State = System.Data.Entity.EntityState.Detached;
                                errorMessage           = ex.InnerException.InnerException.Message;
                                errors.Add(string.Format("第 {0} 列发现错误:{1}{2}", rowIndex, errorMessage, "<br/>"));
                                wws.Cell(rowIndex + 1, excelFile.GetColumnNames("Sheet1").Count()).Value = errorMessage;
                            }
                        }

                        if (rtn)
                        {
                            tran.Commit();                                      //必须调用Commit(),不然数据不会保存
                        }
                        else
                        {
                            tran.Rollback();                                        //出错就回滚
                        }
                    }
                }
                wb.Save();
            }

            return(rtn);
        }
Ejemplo n.º 9
0
        public void AdditionalCheckExcelData(DBContainer db, ref WMS_Feed_ListModel model)
        {
            //获取总成物料ID
            if (!String.IsNullOrEmpty(model.AssemblyPartCode))
            {
                var partCode = model.AssemblyPartCode;
                Expression <Func <WMS_Part, bool> > exp = x => x.PartCode == partCode;

                //var part = m_PartRep.GetSingleWhere(exp);
                var part = db.WMS_Part.FirstOrDefault(exp);
                if (part == null)
                {
                    throw new Exception("总成物料编码不存在!");
                }
                else
                {
                    model.AssemblyPartId = part.Id;
                }
            }
            else
            {
                throw new Exception("总成物料编码不能为空!");
            }
            //获取物料ID
            if (!String.IsNullOrEmpty(model.SubAssemblyPartCode))
            {
                var partCode = model.SubAssemblyPartCode;
                Expression <Func <WMS_Part, bool> > exp = x => x.PartCode == partCode;

                //var part = m_PartRep.GetSingleWhere(exp);
                var part = db.WMS_Part.FirstOrDefault(exp);
                if (part == null)
                {
                    throw new Exception("投料物料编码不存在!");
                }
                else
                {
                    model.SubAssemblyPartId = part.Id;
                }
            }
            else
            {
                throw new Exception("投料物料编码不能为空!");
            }

            //获取库房ID
            if (!String.IsNullOrEmpty(model.InvName))
            {
                var invName = model.InvName;
                Expression <Func <WMS_InvInfo, bool> > exp = x => x.InvName == invName;

                //var supplier = m_SupplierRep.GetSingleWhere(exp);
                var invInfo = db.WMS_InvInfo.FirstOrDefault(exp);
                if (invInfo == null)
                {
                    throw new Exception("库房不存在!");
                }
                else
                {
                    model.InvId = invInfo.Id;
                }
            }
            else
            {
                throw new Exception("库房不能为空!");
            }
        }
Ejemplo n.º 10
0
        public ActionResult Details(long id)
        {
            WMS_Feed_ListModel entity = m_BLL.GetById(id);

            return(View(entity));
        }
Ejemplo n.º 11
0
        public void AdditionalCheckExcelData(DBContainer db, ref WMS_Feed_ListModel model)
        {
            //获取总成物料ID
            //if (!String.IsNullOrEmpty(model.AssemblyPartCode))
            //{
            //    var partCode = model.AssemblyPartCode;
            //    Expression<Func<WMS_Part, bool>> exp = x => x.PartCode == partCode;

            //    //var part = m_PartRep.GetSingleWhere(exp);
            //    var part = db.WMS_Part.FirstOrDefault(exp);
            //    if (part == null)
            //    {
            //        throw new Exception("总成物料编码不存在!");
            //    }
            //    else
            //    {
            //        model.AssemblyPartId = part.Id;
            //    }
            //}
            //else
            //{
            //    throw new Exception("总成物料编码不能为空!");
            //}
            //获取物料ID
            if (!String.IsNullOrEmpty(model.SubAssemblyPartCode))
            {
                var partCode = model.SubAssemblyPartCode;
                Expression <Func <WMS_Part, bool> > exp = x => x.PartCode == partCode;

                //var part = m_PartRep.GetSingleWhere(exp);
                var part = db.WMS_Part.FirstOrDefault(exp);
                if (part == null)
                {
                    throw new Exception("投料物料编码不存在!");
                }
                else
                {
                    model.SubAssemblyPartId = part.Id;
                    int partId = part.Id;
                    if (!String.IsNullOrEmpty(model.FeedBillNum))
                    {
                        var feedBillNum = model.FeedBillNum;
                        Expression <Func <WMS_Feed_List, bool> > exp1 = x => x.SubAssemblyPartId == partId && x.FeedBillNum == feedBillNum;
                        var part1 = db.WMS_Feed_List.FirstOrDefault(exp1);
                        if (part1 != null)
                        {
                            throw new Exception("投料单号与物料编码重复!");
                        }
                    }
                }
            }
            else
            {
                throw new Exception("投料物料编码不能为空!");
            }

            //获取库房ID
            if (!String.IsNullOrEmpty(model.SubAssemblyPartCode))
            {
                var invName = "主仓库";
                Expression <Func <WMS_InvInfo, bool> > exp = x => x.InvName == invName;

                //var supplier = m_SupplierRep.GetSingleWhere(exp);
                var invInfo = db.WMS_InvInfo.FirstOrDefault(exp);
                if (invInfo == null)
                {
                    throw new Exception("库房不存在!");
                }
                else
                {
                    model.InvId = invInfo.Id;
                }
            }
            else
            {
                throw new Exception("库房不能为空!");
            }

            //校验批次号,没有批次号自动赋值为当前月
            if (!String.IsNullOrEmpty(model.Lot))
            {
                if (!DateTimeHelper.CheckYearMonth(model.Lot))
                {
                    throw new Exception("批次号不合符规范!");
                }
            }
            //投料单号不能为空
            if (String.IsNullOrEmpty(model.FeedBillNum))
            {
                throw new Exception("投料单号不能为空!");
            }
            //投料数量不能为空
            if (model.FeedQty == 0)
            {
                throw new Exception("投料数量不能为空!");
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 校验Excel数据,这个方法一般用于重写校验逻辑
        /// </summary>
        public virtual bool CheckImportData(string fileName, List <WMS_Feed_ListModel> list, ref ValidationErrors errors)
        {
            var targetFile = new FileInfo(fileName);

            if (!targetFile.Exists)
            {
                errors.Add("导入的数据文件不存在");
                return(false);
            }

            var excelFile = new ExcelQueryFactory(fileName);

            //对应列头
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.FeedBillNum, "投料单号(业务)");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.ReleaseBillNum, "投料单号(系统)");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.Department, "投料部门");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.AssemblyPartId, "总成物料");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.SubAssemblyPartId, "投料物料");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.Lot, "Lot");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.FeedQty, "投料数量");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.BoxQty, "箱数");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.Capacity, "体积");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.InvId, "库存");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.SubInvId, "子库存");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.Remark, "备注");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.PrintStaus, "打印状态");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.PrintDate, "打印时间");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.PrintMan, "打印人");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.ConfirmStatus, "确认状态");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.ConfirmMan, "确认人");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.ConfirmDate, "确认时间");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.Attr1, "Attr1");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.Attr2, "Attr2");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.Attr3, "Attr3");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.Attr4, "Attr4");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.Attr5, "Attr5");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.CreatePerson, "创建人");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.CreateTime, "创建时间");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.ModifyPerson, "修改人");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.ModifyTime, "修改时间");
            excelFile.AddMapping <WMS_Feed_ListModel>(x => x.ConfirmMessage, "ConfirmMessage");

            //SheetName
            var excelContent = excelFile.Worksheet <WMS_Feed_ListModel>(0);
            int rowIndex     = 1;

            //检查数据正确性
            foreach (var row in excelContent)
            {
                var errorMessage = new StringBuilder();
                var entity       = new WMS_Feed_ListModel();
                entity.Id                = row.Id;
                entity.FeedBillNum       = row.FeedBillNum;
                entity.ReleaseBillNum    = row.ReleaseBillNum;
                entity.Department        = row.Department;
                entity.AssemblyPartId    = row.AssemblyPartId;
                entity.SubAssemblyPartId = row.SubAssemblyPartId;
                entity.Lot               = row.Lot;
                entity.FeedQty           = row.FeedQty;
                entity.BoxQty            = row.BoxQty;
                entity.Capacity          = row.Capacity;
                entity.InvId             = row.InvId;
                entity.SubInvId          = row.SubInvId;
                entity.Remark            = row.Remark;
                entity.PrintStaus        = row.PrintStaus;
                entity.PrintDate         = row.PrintDate;
                entity.PrintMan          = row.PrintMan;
                entity.ConfirmStatus     = row.ConfirmStatus;
                entity.ConfirmMan        = row.ConfirmMan;
                entity.ConfirmDate       = row.ConfirmDate;
                entity.Attr1             = row.Attr1;
                entity.Attr2             = row.Attr2;
                entity.Attr3             = row.Attr3;
                entity.Attr4             = row.Attr4;
                entity.Attr5             = row.Attr5;
                entity.CreatePerson      = row.CreatePerson;
                entity.CreateTime        = row.CreateTime;
                entity.ModifyPerson      = row.ModifyPerson;
                entity.ModifyTime        = row.ModifyTime;
                entity.ConfirmMessage    = row.ConfirmMessage;

                //=============================================================================
                if (errorMessage.Length > 0)
                {
                    errors.Add(string.Format(
                                   "第 {0} 列发现错误:{1}{2}",
                                   rowIndex,
                                   errorMessage,
                                   "<br/>"));
                }
                list.Add(entity);
                rowIndex += 1;
            }
            if (errors.Count > 0)
            {
                return(false);
            }
            return(true);
        }