diff --git a/SGGL/BLL/BLL.csproj b/SGGL/BLL/BLL.csproj
index 5b45a003..3a63a896 100644
--- a/SGGL/BLL/BLL.csproj
+++ b/SGGL/BLL/BLL.csproj
@@ -117,6 +117,7 @@
+
..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll
diff --git a/SGGL/BLL/Common/Funs.cs b/SGGL/BLL/Common/Funs.cs
index 7178c5fd..59a84938 100644
--- a/SGGL/BLL/Common/Funs.cs
+++ b/SGGL/BLL/Common/Funs.cs
@@ -567,6 +567,55 @@ namespace BLL
return str;
}
+ public static bool DeleteDir(string file)
+ {
+
+ try
+ {
+ //去除文件夹和子文件的只读属性
+ //去除文件夹的只读属性
+ System.IO.DirectoryInfo fileInfo = new DirectoryInfo(file);
+ fileInfo.Attributes = FileAttributes.Normal & FileAttributes.Directory;
+
+ //去除文件的只读属性
+ System.IO.File.SetAttributes(file, System.IO.FileAttributes.Normal);
+
+ //判断文件夹是否还存在
+ if (Directory.Exists(file))
+ {
+
+ foreach (string f in Directory.GetFileSystemEntries(file))
+ {
+
+ if (File.Exists(f))
+ {
+ //如果有子文件删除文件
+ File.Delete(f);
+ Console.WriteLine(f);
+ }
+ else
+ {
+ //循环递归删除子文件夹
+ DeleteDir(f);
+ }
+
+ }
+
+ //删除空文件夹
+
+ Directory.Delete(file);
+
+ }
+ return true;
+ }
+ catch (Exception ex) // 异常处理
+ {
+ return false;
+ }
+
+ }
+
+
#region 时间转换
///
/// 输入文本转换时间类型
diff --git a/SGGL/BLL/PHTGL/ContractCompile/ContractReviewService.cs b/SGGL/BLL/PHTGL/ContractCompile/ContractReviewService.cs
index 9b4b4a14..c457b709 100644
--- a/SGGL/BLL/PHTGL/ContractCompile/ContractReviewService.cs
+++ b/SGGL/BLL/PHTGL/ContractCompile/ContractReviewService.cs
@@ -1,5 +1,7 @@
锘縰sing Aspose.Words;
using FineUIPro;
+using ICSharpCode.SharpZipLib.Zip;
+using Microsoft.SqlServer.Server;
using System;
using System.Collections.Generic;
using System.Data;
@@ -650,62 +652,84 @@ namespace BLL
File.Delete(pdfUrl);
}
+ //鍒犻櫎鏂囦欢澶
public static void PrintApprovalForm(string ContractReviewId)
{
var ReviewModel = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId);
var getFireWork = BLL.ContractService.GetContractById(ReviewModel.ContractId);
- Document doc=new Document();
+ string projectname=ProjectService.GetProjectNameByProjectId(getFireWork.ProjectId);
+ string rootPath = Funs.RootPath;
+
+ string startPath = rootPath + "File\\Word\\PHTGL\\"+ getFireWork.ContractNum + "-"+projectname + "-" + getFireWork.ContractName + "-鍚堝悓绠$悊璧勬枡";
+ if (!Directory.Exists(startPath))
+ {
+ Directory.CreateDirectory(startPath);
+ }
+ string zipPath = rootPath + "File\\Word\\PHTGL\\" + getFireWork.ContractNum + "-" + projectname + "-" + getFireWork.ContractName + "-鍚堝悓绠$悊璧勬枡.zip";
switch (getFireWork.ConfirmWay)
{
case "1":
- doc = PrintApprovalFormType_SetSub(ContractReviewId);
+ PrintApprovalFormType_SetSub(ContractReviewId, startPath + "\\");
break;
case "2":
- doc = PrintApprovalFormType_SetSub(ContractReviewId);
-
+ PrintApprovalFormType_SetSub(ContractReviewId, startPath + "\\");
break;
case "3":
- doc = PrintApprovalFormType_SetSub(ContractReviewId);
-
+ PrintApprovalFormType_SetSub(ContractReviewId, startPath + "\\");
break;
case "4":
- doc = PrintApprovalFormType_Act(ContractReviewId);
+ PrintApprovalFormType_Act(ContractReviewId, startPath + "\\");
break;
case "5":
- doc = PrintApprovalFormType_Act(ContractReviewId);
+ PrintApprovalFormType_Act(ContractReviewId, startPath + "\\");
break;
default :
- doc = PrintApprovalFormType__Con(ContractReviewId);
+ PrintApprovalFormType__Con(ContractReviewId, startPath + "\\");
break;
}
- PrintFileByDocument(doc, getFireWork.ContractNum+ getFireWork.ContractName+ "-鍚堝悓绠$悊璧勬枡");
- }
+ System.IO.Compression.ZipFile.CreateFromDirectory(startPath, zipPath);
+ FileInfo info = new FileInfo(zipPath);
+ long fileSize = info.Length;
+ System.Web.HttpContext.Current.Response.Clear();
+ System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed";
+ System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(getFireWork.ContractNum + "-" + projectname + "-" + getFireWork.ContractName + "-鍚堝悓绠$悊璧勬枡.zip", System.Text.Encoding.UTF8));
+ System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
+ System.Web.HttpContext.Current.Response.TransmitFile(zipPath, 0, fileSize);
+ System.Web.HttpContext.Current.Response.Flush();
+ System.Web.HttpContext.Current.Response.Close();
+ Funs.DeleteDir(startPath);
+ File.Delete (zipPath);
+
+ }
///
/// ConfirmWay 4锛5
///
- public static Document PrintApprovalFormType_Act(string ContractReviewId)
+ public static void PrintApprovalFormType_Act(string ContractReviewId, string path)
{
Model.PHTGL_Contract Contract = new Model.PHTGL_Contract(); //鍚堝悓淇℃伅
Model.PHTGL_ActionPlanFormation ActPlan = new Model.PHTGL_ActionPlanFormation(); //瀹炴柦璁″垝缂栧埗淇℃伅
-
+ Model.PHTGL_ActionPlanFormation ActPlanFormat = new Model.PHTGL_ActionPlanFormation(); //瀹炴柦璁″垝缂栧埗淇℃伅
+
var ReviewModel = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId);
Contract = BLL.ContractService.GetContractById(ReviewModel.ContractId);
ActPlan = BLL.PHTGL_ActionPlanFormationService.GetPHTGL_ActionPlanFormationByCode(Contract.ActionPlanCode);
-
+ ActPlanFormat = PHTGL_ActionPlanFormationService.GetPHTGL_ActionPlanFormationById(ActPlan.ActionPlanID);
+
var Doc_ActPlan = PHTGL_ActionPlanFormationService.Print(ActPlan.ActionPlanID);
var Doc_Contract = Print(ContractReviewId);
- Doc_ActPlan.AppendDocument(Doc_Contract, ImportFormatMode.UseDestinationStyles);
- return Doc_ActPlan;
+ Doc_ActPlan.Save(path + ActPlanFormat.ActionPlanCode + "鏂藉伐鍒嗗寘瀹炴柦璁″垝.pdf", SaveFormat.Pdf);
+ Doc_Contract.Save(path + Contract.ContractNum + "鍚堝悓璇勫.pdf", SaveFormat.Pdf);
+
}
///
/// ConfirmWay 1锛2锛3
///
- public static Document PrintApprovalFormType_SetSub(string ContractReviewId)
+ public static void PrintApprovalFormType_SetSub(string ContractReviewId,string path)
{
Model.PHTGL_Contract Contract =new Model.PHTGL_Contract(); //鍚堝悓淇℃伅
@@ -713,13 +737,15 @@ namespace BLL
Model.PHTGL_BidApproveUserReview ApproveUser = new Model.PHTGL_BidApproveUserReview(); //璇勬爣灏忕粍鍚嶅崟淇℃伅
Model.PHTGL_BidDocumentsReview BidDoc = new Model.PHTGL_BidDocumentsReview();//鎷涙爣鏂囦欢淇℃伅
Model.PHTGL_ActionPlanReview ActPlan = new Model.PHTGL_ActionPlanReview();//瀹炴柦璁″垝淇℃伅
+ Model.PHTGL_ActionPlanFormation ActPlanFormat = new Model.PHTGL_ActionPlanFormation(); //瀹炴柦璁″垝缂栧埗淇℃伅
- var ReviewModel = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId);
+ var ReviewModel = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId);
Contract = BLL.ContractService.GetContractById(ReviewModel.ContractId);
SetSub = BLL.PHTGL_SetSubReviewService.GetPHTGL_SetSubReviewBySetSubReviewCode(Contract.SetSubReviewCode);
ApproveUser = BLL.PHTGL_BidApproveUserReviewService.GetPHTGL_BidApproveUserReviewById(SetSub.ApproveUserReviewID);
BidDoc = BLL.PHTGL_BidDocumentsReviewService.GetPHTGL_BidDocumentsReviewById(ApproveUser.BidDocumentsReviewId);
ActPlan = BLL.PHTGL_ActionPlanReviewService.GetPHTGL_ActionPlanReviewById(BidDoc.ActionPlanReviewId);
+ ActPlanFormat = PHTGL_ActionPlanFormationService.GetPHTGL_ActionPlanFormationById(ActPlan.ActionPlanID);
var Doc_ActPlan = PHTGL_ActionPlanFormationService.Print(ActPlan.ActionPlanID);
var Doc_BidDoc = PHTGL_BidDocumentsReviewService.Print(BidDoc.BidDocumentsReviewId);
@@ -727,20 +753,21 @@ namespace BLL
var Doc_SetSub = PHTGL_SetSubReviewService.Print(SetSub.SetSubReviewID);
var Doc_Contract = Print(ContractReviewId);
- Doc_ActPlan.AppendDocument(Doc_BidDoc, ImportFormatMode.UseDestinationStyles);
- Doc_ActPlan.AppendDocument(Doc_ApproveUser, ImportFormatMode.UseDestinationStyles);
- Doc_ActPlan.AppendDocument(Doc_SetSub, ImportFormatMode.UseDestinationStyles);
- Doc_ActPlan.AppendDocument(Doc_Contract, ImportFormatMode.UseDestinationStyles);
- return Doc_ActPlan;
+ Doc_ActPlan.Save(path+ ActPlanFormat.ActionPlanCode+ "鏂藉伐鍒嗗寘瀹炴柦璁″垝.pdf" , SaveFormat.Pdf);
+ Doc_BidDoc.Save(path + BidDoc.BidDocumentsCode + "鎷涙爣鏂囦欢瀹℃壒琛.pdf",SaveFormat.Pdf);
+ Doc_ApproveUser.Save(path+ "鏂藉伐鎷涙爣璇勬爣灏忕粍鍚嶅崟瀹℃壒琛.pdf", SaveFormat.Pdf);
+ Doc_SetSub.Save(path+ SetSub.SetSubReviewCode+ "纭畾鍒嗗寘鍟嗗鎵硅〃.pdf", SaveFormat.Pdf);
+ Doc_Contract.Save(path+ Contract.ContractNum + "鍚堝悓璇勫.pdf", SaveFormat.Pdf);
}
- public static Document PrintApprovalFormType__Con(string ContractReviewId)
+ public static void PrintApprovalFormType__Con(string ContractReviewId,string path)
{
Model.PHTGL_Contract Contract = new Model.PHTGL_Contract(); //鍚堝悓淇℃伅
var ReviewModel = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId);
Contract = BLL.ContractService.GetContractById(ReviewModel.ContractId);
var Doc_Contract = Print(ContractReviewId);
- return Doc_Contract;
+ Doc_Contract.Save(path + Contract.ContractNum + "鍚堝悓璇勫.pdf", SaveFormat.Pdf);
+
}
///
/// 鍒嗗寘鍚堝悓鍗忚涔
diff --git a/SGGL/BLL/PHTGL/ContractCompile/PHTGL_ApproveService.cs b/SGGL/BLL/PHTGL/ContractCompile/PHTGL_ApproveService.cs
index cf4fb640..c2175632 100644
--- a/SGGL/BLL/PHTGL/ContractCompile/PHTGL_ApproveService.cs
+++ b/SGGL/BLL/PHTGL/ContractCompile/PHTGL_ApproveService.cs
@@ -21,7 +21,6 @@ namespace BLL
return Funs.DB.PHTGL_Approve.FirstOrDefault(e => e.ApproveId == ApproveId);
}
-
public static List GetPHTGL_ApproveByContractId(string contractId)
{
var q = (from x in Funs.DB.PHTGL_Approve where x.ContractId == contractId && x.State == 0 select x).ToList();
@@ -41,9 +40,10 @@ namespace BLL
return q;
}
public static Model.PHTGL_Approve GetPHTGL_ApproveByContractIdandUserId(string contractId, string UserID)
-
{
- return Funs.DB.PHTGL_Approve.FirstOrDefault(e => e.ContractId == contractId && e.ApproveMan == UserID);
+ var q=(from x in Funs.DB.PHTGL_Approve where x.ContractId==contractId && x.ApproveMan==UserID orderby x.ApproveDate descending select x ).FirstOrDefault();
+ //return Funs.DB.PHTGL_Approve.FirstOrDefault(e => e.ContractId == contractId && e.ApproveMan == UserID );
+ return q;
}
public static Model.PHTGL_Approve GetPHTGL_ApproveByContractIdAndType(string contractId, string approveType)