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()); }
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); }