Example #1
0
        public List <Published> HomeSearch <T>(DateTime startTime, DateTime endTime, string[] keys) where T : DrawingsBase
        {
            List <T>         entityList;
            List <Published> publisheds = this.GetCenterSearchData(startTime, endTime, out entityList);

            var key = keys.ToList();

            key.RemoveAll(string.IsNullOrEmpty);
            var customers = new TpaModule.TpaCustomerBll().GetList();

            entityList = key.Aggregate(entityList, (current, s) => Selecting(current, s, customers));


            List <Published> newPublisheds = entityList.Select(entity => publisheds.First(c => c.FormNo == entity.FormNo)).ToList();


            return(newPublisheds.OrderByDescending(k => k.Identity).ThenBy(m => m.PublishTime).ToList());
        }
Example #2
0
        public int OldImport(DataSet ds)
        {
            var customers = new TpaModule.TpaCustomerBll().GetList();
            var formTyps  = new BaseServices <FormType>().LoadEntities(c => true);

            DataTable dt          = ds.Tables[0];
            string    publishType = dt.ToString();


            int success = 0;

            foreach (var row in dt.Rows)
            {
                try
                {
                    string fileName = ((DataRow)(row)).ItemArray[0].ToString();
                    string ver      = ((DataRow)(row)).ItemArray[1].ToString();
                    int    pageSize = int.Parse(((DataRow)(row)).ItemArray[2].ToString());
                    string filePath = @"\\192.168.0.4\Minicut\公司文件\文控\图纸电子档\勿动\" + ((DataRow)(row)).ItemArray[3] + ".pdf";

                    string       reason      = ((DataRow)(row)).ItemArray[4].ToString();
                    DateTime     publishDate = DateTime.Parse(((DataRow)(row)).ItemArray[5].ToString());
                    const string publishEmp  = "1109004";
                    bool         isPass      = int.Parse(((DataRow)(row)).ItemArray[7].ToString()) == 1;

                    string fileType = Path.GetExtension(filePath);


                    Guid fileGroup = Guid.NewGuid();
                    using (var fs = new FileStream(filePath, FileMode.Open))
                    {
                        var md5 = DirFileHelper.GetMd5StringByStream(fs);

                        string targetPath = Path.GetFullPath(BaseHelper.UpPath);

                        //将文什上传至文档临时目录
                        BaseHelper.CopyFile(filePath, targetPath + md5);
                        using (var context = ContextFactory.ContextHelper)
                        {
                            //组建文件群组
                            context.FileGroups.Add(new FileGroup()
                            {
                                GroupGuid   = fileGroup,
                                CreateTime  = DateTime.Now,
                                CreateEmpNo = "1109001"
                            });

                            //上传文件

                            if (!context.Fileses.Any(c => c.Md5 == md5))
                            {
                                context.Fileses.Add(new Files()
                                {
                                    Md5         = md5,
                                    FileName    = fileName,
                                    FileType    = fileType,
                                    ContentType = "application/pdf",
                                });
                            }

                            context.FilesFileGroups.AddRange(new List <FilesFileGroup> {
                                new FilesFileGroup()
                                {
                                    Md5 = md5, GroupGuid = fileGroup
                                }
                            });
                            context.SaveChanges();
                        }


                        //组建文件关系
                    }

                    int formId = formTyps.Single(c => c.FormName.Contains(publishType)).FormId;

                    //创建表单内容
                    var form = new Form()
                    {
                        FormNo      = new Applying().CreateFormNo(new object()),
                        FormId      = formId,
                        CreateEmpNo = "1109001",
                        CreateTime  = publishDate,
                        SignPath    = null,
                        FormStatus  = (int)Form.StatusEnum.签核完成,
                        IsEmergents = false,
                        CloseTime   = DateTime.Now
                    };

                    //生成表单
                    new BaseServices <Form>().AddEntity(form);

                    #region insert
                    //生成表单详细页
                    switch (publishType)
                    {
                    case "BOM":
                        new BaseServices <FormDrawingsBom>().AddEntity(new FormDrawingsBom()
                        {
                            CustomerNo  = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo,
                            DrawPartNo  = ((DataRow)(row)).ItemArray[9].ToString(),
                            ProductNo   = ((DataRow)(row)).ItemArray[10].ToString(),
                            ProductName = ((DataRow)(row)).ItemArray[11].ToString(),
                            FileCode    = ((DataRow)(row)).ItemArray[12].ToString(),
                            Author      = ((DataRow)(row)).ItemArray[13].ToString(),

                            FormNo = form.FormNo,
                            Mark   = "系统自动导入",

                            DrawVer     = ver,
                            PageSize    = pageSize,
                            FileGroup   = fileGroup,
                            Reason      = reason,
                            IsPublished = false,
                        });
                        break;

                    case "ECN":
                        new BaseServices <FormDrawingsEcn>().AddEntity(new FormDrawingsEcn()
                        {
                            CustomerNo  = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo,
                            ProductNo   = ((DataRow)(row)).ItemArray[9].ToString(),
                            ProductName = ((DataRow)(row)).ItemArray[10].ToString(),
                            EcnNo       = ((DataRow)(row)).ItemArray[11].ToString(),
                            PublishEmp  = ((DataRow)(row)).ItemArray[12].ToString(),



                            FormNo = form.FormNo,
                            Mark   = "系统自动导入",

                            DrawVer     = ver,
                            PageSize    = pageSize,
                            FileGroup   = fileGroup,
                            Reason      = reason,
                            IsPublished = false,
                        });
                        break;

                    case "SOP":
                        new BaseServices <FormDrawingsSop>().AddEntity(new FormDrawingsSop()
                        {
                            CustomerNo = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo,
                            DrawPartNo = ((DataRow)(row)).ItemArray[9].ToString(),
                            Tag        = ((DataRow)(row)).ItemArray[10].ToString(),
                            Author     = ((DataRow)(row)).ItemArray[11].ToString(),

                            FormNo = form.FormNo,
                            Mark   = "系统自动导入",

                            DrawVer     = ver,
                            PageSize    = pageSize,
                            FileGroup   = fileGroup,
                            Reason      = reason,
                            IsPublished = false,
                        });
                        break;

                    case "包装工艺卡":
                        new BaseServices <FormDrawingsPackage>().AddEntity(new FormDrawingsPackage()
                        {
                            CustomerNo  = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo,
                            ProductNo   = ((DataRow)(row)).ItemArray[9].ToString(),
                            ProductName = ((DataRow)(row)).ItemArray[10].ToString(),
                            Author      = ((DataRow)(row)).ItemArray[11].ToString(),

                            FormNo = form.FormNo,
                            Mark   = "系统自动导入",

                            DrawVer     = ver,
                            PageSize    = pageSize,
                            FileGroup   = fileGroup,
                            Reason      = reason,
                            IsPublished = false,
                        });
                        break;

                    case "工艺流程图":
                        new BaseServices <FormDrawingsProcess>().AddEntity(new FormDrawingsProcess()
                        {
                            CustomerNo  = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo,
                            DrawPartNo  = ((DataRow)(row)).ItemArray[9].ToString(),
                            ProductNo   = ((DataRow)(row)).ItemArray[10].ToString(),
                            ProductName = ((DataRow)(row)).ItemArray[11].ToString(),
                            Drafter     = ((DataRow)(row)).ItemArray[12].ToString(),



                            FormNo = form.FormNo,
                            Mark   = "系统自动导入",

                            DrawVer     = ver,
                            PageSize    = pageSize,
                            FileGroup   = fileGroup,
                            Reason      = reason,
                            IsPublished = false,
                        });
                        break;

                    case "检规指导书":
                        new BaseServices <FormDrawingsFqc>().AddEntity(new FormDrawingsFqc()
                        {
                            CustomerNo  = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo,
                            DrawPartNo  = ((DataRow)(row)).ItemArray[9].ToString(),
                            ProductNo   = ((DataRow)(row)).ItemArray[10].ToString(),
                            ProductName = ((DataRow)(row)).ItemArray[11].ToString(),
                            Author      = ((DataRow)(row)).ItemArray[12].ToString(),


                            FormNo = form.FormNo,
                            Mark   = "系统自动导入",

                            DrawVer     = ver,
                            PageSize    = pageSize,
                            FileGroup   = fileGroup,
                            Reason      = reason,
                            IsPublished = false,
                        });
                        break;

                    case "客户图纸":
                        new BaseServices <FormDrawingsCustomer>().AddEntity(new FormDrawingsCustomer()
                        {
                            CustomerNo  = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo,
                            DrawPartNo  = ((DataRow)(row)).ItemArray[9].ToString(),
                            ProductNo   = ((DataRow)(row)).ItemArray[10].ToString(),
                            ProductName = ((DataRow)(row)).ItemArray[11].ToString(),
                            ManagerHead = ((DataRow)(row)).ItemArray[12].ToString(),

                            FormNo = form.FormNo,
                            Mark   = "系统自动导入",

                            DrawVer     = ver,
                            PageSize    = pageSize,
                            FileGroup   = fileGroup,
                            Reason      = reason,
                            IsPublished = false,
                        });
                        break;

                    case "内部图纸":
                        new BaseServices <FormDrawingsInside>().AddEntity(new FormDrawingsInside()
                        {
                            CustomerNo  = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo,
                            DrawPartNo  = ((DataRow)(row)).ItemArray[9].ToString(),
                            ProductNo   = ((DataRow)(row)).ItemArray[10].ToString(),
                            ProductName = ((DataRow)(row)).ItemArray[11].ToString(),
                            Drafter     = ((DataRow)(row)).ItemArray[12].ToString(),



                            FormNo = form.FormNo,
                            Mark   = "系统自动导入",

                            DrawVer     = ver,
                            PageSize    = pageSize,
                            FileGroup   = fileGroup,
                            Reason      = reason,
                            IsPublished = false,
                        });
                        break;

                    case "内部型材图":
                        new BaseServices <FormDrawingsProfile>().AddEntity(new FormDrawingsProfile()
                        {
                            CustomerNo  = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo,
                            ProfileNo   = ((DataRow)(row)).ItemArray[9].ToString(),
                            ProductNo   = ((DataRow)(row)).ItemArray[10].ToString(),
                            ProductName = ((DataRow)(row)).ItemArray[11].ToString(),
                            Drafter     = ((DataRow)(row)).ItemArray[12].ToString(),



                            FormNo = form.FormNo,
                            Mark   = "系统自动导入",

                            DrawVer     = ver,
                            PageSize    = pageSize,
                            FileGroup   = fileGroup,
                            Reason      = reason,
                            IsPublished = false,
                        });
                        break;

                    case "外来文件":
                        new BaseServices <FormDrawingsExternal>().AddEntity(new FormDrawingsExternal()
                        {
                            CustomerNo  = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo,
                            FileName    = ((DataRow)(row)).ItemArray[9].ToString(),
                            FileCode    = ((DataRow)(row)).ItemArray[10].ToString(),
                            MinicutCode = ((DataRow)(row)).ItemArray[11].ToString(),
                            ReciveEmpNo = ((DataRow)(row)).ItemArray[12].ToString(),



                            FormNo = form.FormNo,
                            Mark   = "系统自动导入",

                            DrawVer     = ver,
                            PageSize    = pageSize,
                            FileGroup   = fileGroup,
                            Reason      = reason,
                            IsPublished = false,
                        });
                        break;

                    case "控制计划":
                        new BaseServices <FormDrawingsControlPlan>().AddEntity(new FormDrawingsControlPlan()
                        {
                            CustomerNo = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo,
                            ProductNo  = ((DataRow)(row)).ItemArray[9].ToString(),
                            Author     = ((DataRow)(row)).ItemArray[10].ToString(),



                            FormNo = form.FormNo,
                            Mark   = "系统自动导入",

                            DrawVer     = ver,
                            PageSize    = pageSize,
                            FileGroup   = fileGroup,
                            Reason      = reason,
                            IsPublished = false,
                        });
                        break;
                    }
                    #endregion



                    //发行
                    if (this.Published(form.FormNo, 0, publishEmp, publishDate, isPass))
                    {
                        success++;
                    }
                }
                catch (Exception exception)
                {
                    return(Link.ErrorBy(new Exception($"成功导入{success}:Error:{exception.Message}"), this.GetType()));
                }
            }

            return(success);
        }