public PackageCheck() { InitializeComponent(); //初始化规则实例 _rules = new PackageCheckRules(this); //初始化Zip处理实例 _zip = new ZipHandle(this); }
public IHttpActionResult PreparePackDownload(string refTableName, string projectId) { string pdfPath = string.Empty; string refTableId = ProjectInfo.GetRefTableId(refTableName, projectId); Dictionary <string, string> templateFileds = new Dictionary <string, string>(); HtmlTempalteType templateType = HtmlTempalteType.Default; string flowName = string.Empty; string flowCode = string.Empty; switch (refTableName) { case "MajorLeaseChangePackage": { templateType = HtmlTempalteType.MajorLease; flowName = FlowCode.MajorLease; flowCode = FlowCode.MajorLease_Package; var majorLeaseChangePkg = MajorLeaseChangePackage.GetMajorPackageInfo(projectId); templateFileds = majorLeaseChangePkg.GetPrintTemplateFields(); } break; case "TempClosurePackage": { templateType = HtmlTempalteType.TempClosure; flowName = FlowCode.TempClosure; flowCode = FlowCode.TempClosure_ClosurePackage; var tempClosurePackage = TempClosurePackage.Get(projectId); if (tempClosurePackage == null) { tempClosurePackage = new TempClosurePackage(); tempClosurePackage.ProjectId = projectId; } templateFileds = tempClosurePackage.GetPrintTemplateFields(); } break; case "ReimagePackage": { var entity = ReimagePackage.GetReimagePackageInfo(projectId); templateType = HtmlTempalteType.Reimage; flowName = FlowCode.Reimage; flowCode = FlowCode.Reimage_Package; if (entity == null || entity.Id == Guid.Parse("00000000-0000-0000-0000-000000000000")) { entity = new ReimagePackage(); entity.ProjectId = projectId; } templateFileds = entity.GetPrintTemplateFields(); } break; case "RenewalLegalApproval": { templateType = HtmlTempalteType.RenewalLegalApproval; flowName = FlowCode.Renewal; flowCode = FlowCode.Renewal_LegalApproval; var legal = RenewalLegalApproval.Get(projectId); if (legal == null) { legal = new RenewalLegalApproval(); legal.ProjectId = projectId; } templateFileds = legal.GetPrintTemplateFields(); } break; case "RenewalPackage": { templateType = HtmlTempalteType.Renewal; flowName = FlowCode.Renewal; flowCode = FlowCode.Renewal_Package; var package = RenewalPackage.Get(projectId); if (package == null) { package = new RenewalPackage(); package.ProjectId = projectId; } templateFileds = package.GetPrintTemplateFields(); } break; case "ClosurePackage": { templateType = HtmlTempalteType.Default; flowName = FlowCode.Closure; flowCode = FlowCode.Closure_ClosurePackage; var closurePackage = ClosurePackage.Get(projectId); if (closurePackage == null) { closurePackage = new ClosurePackage(); closurePackage.ProjectId = projectId; } templateFileds = closurePackage.GetPrintTemplateFields(); } break; default: break; } List <Attachment> attachments = Attachment.GetAllAttachmentsIncludeRequire(refTableName, projectId, flowCode).Where(att => att.ID != Guid.Empty && (att.RequirementId.HasValue || att.TypeCode == "Cover")).ToList(); //Submission and Approval Records - 只显示通过意见 List <SubmissionApprovalRecord> recordList = new List <SubmissionApprovalRecord>(); //Submission and Approval Records Details — 所有意见 List <SubmissionApprovalRecord> recordDetailList = new List <SubmissionApprovalRecord>(); ProjectCommentCondition condition = new ProjectCommentCondition(); condition.RefTableName = refTableName; condition.RefTableId = Guid.Parse(refTableId); condition.Status = ProjectCommentStatus.Submit; var commentList = condition.RefTableId == Guid.Empty ? new List <VProjectComment>() : VProjectComment.SearchVListForPDF(condition); var commentDetailList = condition.RefTableId == Guid.Empty ? new List <VProjectComment>() : VProjectComment.SearchVList(condition); SubmissionApprovalRecord record = null; foreach (var item in commentList) { record = new SubmissionApprovalRecord(); record.ActionName = item.ActionDesc; if (item.CreateTime != null) { record.OperationDate = item.CreateTime.Value; } record.OperatorID = item.UserAccount; record.OperatorName = item.UserNameENUS; record.OperatorTitle = item.PositionName; record.Comments = item.Content; recordList.Add(record); } recordList = recordList.OrderBy(i => i.OperationDate).ToList(); foreach (var item in commentDetailList) { record = new SubmissionApprovalRecord(); record.ActionName = item.ActionDesc; if (item.CreateTime != null) { record.OperationDate = item.CreateTime.Value; } record.OperatorID = item.UserAccount; record.OperatorName = item.UserNameENUS; record.OperatorTitle = item.PositionName; record.Comments = item.Content; recordDetailList.Add(record); } recordDetailList = recordDetailList.OrderBy(i => i.OperationDate).ToList(); pdfPath = HtmlConversionUtility.HtmlConvertToPDF(templateType, templateFileds, recordList, recordDetailList); var pdfFileName = Path.GetFileName(pdfPath); var pdfExtension = Path.GetExtension(pdfPath); attachments.Add(new Attachment { InternalName = pdfFileName, Name = flowName + " Print", Extension = pdfExtension }); if (refTableName == "RenewalLegalApproval") { SaveRenewalLegalApprovalPDF("RenewalLegalApproval", projectId, new Guid("870BD738-A512-4B27-9FDB-C18058BFA817"), pdfPath); return(Ok()); } string packFileUrl = ZipHandle.ExeFiles(attachments); return(Ok(new { PackUrl = string.Concat("~/", "Temp/", Path.GetFileName(packFileUrl)) })); }