SGGL_SHJ/SGGL/BLL/PHTGL/ContractCompile/ContractReviewService.cs

3061 lines
147 KiB
C#
Raw Normal View History

2022-09-05 16:36:31 +08:00
using Aspose.Words;
using FineUIPro;
2023-03-10 16:44:23 +08:00
using ICSharpCode.SharpZipLib.Zip;
using Microsoft.SqlServer.Server;
2022-09-05 16:36:31 +08:00
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
namespace BLL
{
public static class PHTGL_ContractReviewService
{
public static Model.PHTGL_ContractReview GetPHTGL_ContractReviewById(string ContractReviewId)
{
return Funs.DB.PHTGL_ContractReview.FirstOrDefault(e => e.ContractReviewId == ContractReviewId);
}
public static Model.PHTGL_ContractReview GetPHTGL_ContractReviewByContractId(string ContractId)
{
return Funs.DB.PHTGL_ContractReview.FirstOrDefault(e => e.ContractId == ContractId);
}
public static List<PrintModel> GetPrintCountersignModels()
{
List<PrintModel> model = new List<PrintModel>();
model.Add(new PrintModel { Number = 1, Rolename = "施工经理" });
model.Add(new PrintModel { Number = 2, Rolename = "HSE经理" });
model.Add(new PrintModel { Number = 3, Rolename = "质量经理" });
model.Add(new PrintModel { Number = 4, Rolename = "采购经理" });
model.Add(new PrintModel { Number = 5, Rolename = "控制经理" });
model.Add(new PrintModel { Number = 6, Rolename = "财务经理" });
model.Add(new PrintModel { Number = 7, Rolename = "项目经理" });
model.Add(new PrintModel { Number = 8, Rolename = "施工管理部" });
model.Add(new PrintModel { Number = 9, Rolename = "法律合规部" });
return model;
}
/// <summary>
/// 获取审批人员
/// </summary>
/// <param name="ContractReviewId"></param>
/// <returns></returns>
public static List<ApproveManModel> GetApproveManModels(string ContractReviewId)
{
Model.PHTGL_ContractReview table = table = GetPHTGL_ContractReviewById(ContractReviewId);
List<ApproveManModel> approveManModels = new List<ApproveManModel>();
approveManModels.Add(new ApproveManModel { Number = 7, userid = table.Approval_SubProjectManager, Rolename = "会签项目经理" });
approveManModels.Add(new ApproveManModel { Number = 8, userid = table.Countersign_Construction, Rolename = "会签施工管理部" });
approveManModels.Add(new ApproveManModel { Number = 9, userid = table.Countersign_Law, Rolename = "会签法律合规部1" });
approveManModels.Add(new ApproveManModel { Number = 10, userid = table.Countersign_Law2, Rolename = "会签法律合规部2" });
approveManModels.Add(new ApproveManModel { Number = 11, userid = table.Approval_Construction, Rolename = "签订施工管理部" });
approveManModels.Add(new ApproveManModel { Number = 12, userid = table.Approval_Law, Rolename = "签订法律合规部" });
approveManModels.Add(new ApproveManModel { Number = 13, userid = table.Approval_ProjectManager, Rolename = "签订项目经理" });
approveManModels.Add(new ApproveManModel { Number = 14, userid = table.Approval_DeputyGeneralManager, Rolename = "分管副总经理" });
approveManModels.Add(new ApproveManModel { Number = 15, userid = table.Approval_GeneralAccountant, Rolename = "总会计师" });
approveManModels.Add(new ApproveManModel { Number = 16, userid = table.Approval_GeneralLaw, Rolename = "总法律顾问" });
approveManModels.Add(new ApproveManModel { Number = 17, userid = table.Approval_GeneralManager, Rolename = "总经理" });
approveManModels.Add(new ApproveManModel { Number = 18, userid = table.Approval_Chairman, Rolename = "董事长" });
return approveManModels;
}
/// <summary>
/// 获取会签评审中的会签人员
/// </summary>
/// <param name="ContractReviewId"></param>
/// <returns></returns>
public static List<ApproveManModel> GetApproveManModels__Countersigner(string ContractReviewId)
{
Model.PHTGL_ContractReview table = table = GetPHTGL_ContractReviewById(ContractReviewId);
List<ApproveManModel> approveManModels = new List<ApproveManModel>();
approveManModels.Add(new ApproveManModel { Number = 1, userid = table.Countersign_ConstructionManager, Rolename = "会签施工经理" });
approveManModels.Add(new ApproveManModel { Number = 2, userid = table.Countersign_HSSEManager, Rolename = "会签HSE经理" });
approveManModels.Add(new ApproveManModel { Number = 3, userid = table.Countersign_QAManager, Rolename = "会签质量经理" });
approveManModels.Add(new ApproveManModel { Number = 4, userid = table.Countersign_PurchasingManager, Rolename = "会签采购经理" });
approveManModels.Add(new ApproveManModel { Number = 5, userid = table.Countersign_ControlManager, Rolename = "会签控制经理" });
approveManModels.Add(new ApproveManModel { Number = 6, userid = table.Countersign_FinancialManager, Rolename = "会签财务经理" });
return approveManModels;
}
/// <summary>
/// 获取审批完成的合同
/// </summary>
/// <returns></returns>
public static DataTable GetContractReview_CompleteData(string ProjectId)
{
string strSql = @" select
con.ContractId,
SUBSTRING(Con.ContractNum, 1, CHARINDEX('.', Con.ContractNum) - 1) as ProjectCode,
Pro.ShortName,
Con.ContractName,
Con.ContractNum,
Sub.SubConstruction,
Con.Currency,
Con.ContractAmount,
Con.EPCCode,
con.ProjectShortName,
(convert(varchar(20), Sub.SignedYear) + '年' + convert(varchar(20), Sub.SignedMonth) + '月') as DepartName,
Sub.Bank1,
Sub.SubcontractPriceForm,
Sub.Account1"
+ @" from PHTGL_Contract as Con "
+ @" left join PHTGL_SubcontractAgreement as Sub on Sub.ContractId=Con.ContractId "
+ @" left join Base_Project as Pro on con.ProjectId=Pro.ProjectId "
+ @" WHERE 1=1 and Con.ApproveState=@ContractReview_Complete";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ContractReview_Complete", Const.ContractReview_Complete));
strSql += " and Con.ProjectId =@ProjectId";
listStr.Add(new SqlParameter("@ProjectId", ProjectId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
return tb;
}
public static void AddPHTGL_ContractReview(Model.PHTGL_ContractReview newtable)
{
Model.PHTGL_ContractReview table = new Model.PHTGL_ContractReview();
table.ContractReviewId = newtable.ContractReviewId;
table.Countersign_PurchasingManager = newtable.Countersign_PurchasingManager;
table.Countersign_ControlManager = newtable.Countersign_ControlManager;
table.Countersign_FinancialManager = newtable.Countersign_FinancialManager;
table.Countersign_Construction = newtable.Countersign_Construction;
table.Countersign_Law = newtable.Countersign_Law;
table.Approval_Construction = newtable.Approval_Construction;
table.Approval_Law = newtable.Approval_Law;
table.Approval_SubProjectManager = newtable.Approval_SubProjectManager;
table.Approval_ProjectManager = newtable.Approval_ProjectManager;
table.Approval_DeputyGeneralManager = newtable.Approval_DeputyGeneralManager;
table.ContractId = newtable.ContractId;
table.Approval_GeneralAccountant = newtable.Approval_GeneralAccountant;
table.Approval_GeneralManager = newtable.Approval_GeneralManager;
table.Approval_Chairman = newtable.Approval_Chairman;
table.SetSubReviewId = newtable.SetSubReviewId;
table.DocumentNumber = newtable.DocumentNumber;
table.State = newtable.State;
table.CreateUser = newtable.CreateUser;
table.Countersign_ConstructionManager = newtable.Countersign_ConstructionManager;
table.Countersign_HSSEManager = newtable.Countersign_HSSEManager;
table.Countersign_QAManager = newtable.Countersign_QAManager;
table.Countersign_Law2 = newtable.Countersign_Law2;
table.Idea = newtable.Idea;
table.Approval_GeneralLaw = newtable.Approval_GeneralLaw;
2023-03-01 13:57:09 +08:00
table.DepartId = newtable.DepartId;
2022-09-05 16:36:31 +08:00
Funs.DB.PHTGL_ContractReview.InsertOnSubmit(table);
Funs.DB.SubmitChanges();
}
public static void UpdatePHTGL_ContractReview(Model.PHTGL_ContractReview newtable)
{
Model.PHTGL_ContractReview table = Funs.DB.PHTGL_ContractReview.FirstOrDefault(e => e.ContractReviewId == newtable.ContractReviewId);
if (table != null)
{
table.ContractReviewId = newtable.ContractReviewId;
table.Countersign_PurchasingManager = newtable.Countersign_PurchasingManager;
table.Countersign_ControlManager = newtable.Countersign_ControlManager;
table.Countersign_FinancialManager = newtable.Countersign_FinancialManager;
table.Countersign_Construction = newtable.Countersign_Construction;
table.Countersign_Law = newtable.Countersign_Law;
table.Approval_Construction = newtable.Approval_Construction;
table.Approval_Law = newtable.Approval_Law;
table.Approval_SubProjectManager = newtable.Approval_SubProjectManager;
table.Approval_ProjectManager = newtable.Approval_ProjectManager;
table.Approval_DeputyGeneralManager = newtable.Approval_DeputyGeneralManager;
table.ContractId = newtable.ContractId;
table.Approval_GeneralAccountant = newtable.Approval_GeneralAccountant;
table.Approval_GeneralManager = newtable.Approval_GeneralManager;
table.Approval_Chairman = newtable.Approval_Chairman;
table.SetSubReviewId = newtable.SetSubReviewId;
table.DocumentNumber = newtable.DocumentNumber;
table.State = newtable.State;
table.CreateUser = newtable.CreateUser;
table.Countersign_ConstructionManager = newtable.Countersign_ConstructionManager;
table.Countersign_HSSEManager = newtable.Countersign_HSSEManager;
table.Countersign_QAManager = newtable.Countersign_QAManager;
table.Countersign_Law2 = newtable.Countersign_Law2;
table.Idea = newtable.Idea;
table.Approval_GeneralLaw = newtable.Approval_GeneralLaw;
2023-03-01 13:57:09 +08:00
table.DepartId = newtable.DepartId;
2022-09-05 16:36:31 +08:00
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 根据主键删除审批信息
/// </summary>
/// <param name="contractId"></param>
public static void DeletePHTGL_ContractReviewById(string contractReviewId)
{
Model.PHTGL_ContractReview contract = Funs.DB.PHTGL_ContractReview.FirstOrDefault(e => e.ContractReviewId == contractReviewId);
if (contract != null)
{
Funs.DB.PHTGL_ContractReview.DeleteOnSubmit(contract);
Funs.DB.SubmitChanges();
}
}
public static DataTable PrintDataTable(string ContractReviewId)
{
string rootPath = Funs.RootPath;
DataTable tb = BLL.PHTGL_ApproveService.GetFinalApproveData(ContractReviewId);
tb.Columns.Add("ApproveNumber", typeof(int));
tb.Columns.Add("Image", typeof(Byte[]));
var ApproveManModels = PHTGL_ContractReviewService.GetApproveManModels(ContractReviewId);
var ApproveManModels__Countersigner = PHTGL_ContractReviewService.GetApproveManModels__Countersigner(ContractReviewId);
var allApproveMan = ApproveManModels__Countersigner.Concat(ApproveManModels).ToList();
foreach (DataRow dr in tb.Rows)
{
string ApproveMan = dr["ApproveMan"].ToString();
string ApproveIdea = PHTGL_ApproveService.GetApproveManIdea(ContractReviewId, ApproveMan, dr["ApproveType"].ToString());
var model = allApproveMan.Find(e => e.Rolename == dr["ApproveType"].ToString());
dr["ApproveIdea"] = ApproveIdea;
if (model != null)
{
dr["ApproveNumber"] = model.Number.ToString();
}
try
{
dr["ApproveDate"] = string.Format("{0:D}", DateTime.Parse(dr["ApproveDate"].ToString()));
}
catch (Exception)
{
dr["ApproveDate"] = "";
}
if (File.Exists(rootPath + dr["SignatureUrl"]))
{
System.IO.FileStream fs = System.IO.File.OpenRead(rootPath + dr["SignatureUrl"]);
byte[] dt = new byte[fs.Length];
fs.Read(dt, 0, (int)fs.Length);
fs.Close();
// dr["Image"] = Convert.ToBase64String(dt);
dr["Image"] = dt;
}
else
{
dr["Image"] = null;
}
}
return tb;
}
/// <summary>
/// 合同评审、审批表
/// </summary>
/// <param name="contractId"></param>
public static Document Print(string ContractReviewId)
2022-09-05 16:36:31 +08:00
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
var ReviewModel = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId);
var getFireWork = BLL.ContractService.GetContractById(ReviewModel.ContractId);
if (getFireWork != null && (getFireWork.CreateDate == null || getFireWork.CreateDate < Convert.ToDateTime("2022/4/29 00:00:00")))
{
initTemplatePath = "File\\Word\\PHTGL\\合同评审、审批表Old.docx";
}
else
{
initTemplatePath = "File\\Word\\PHTGL\\合同评审、审批表.docx";
if (PHTGL_ActionPlanReviewService.IsSpecialProject(getFireWork.ProjectId))
{
initTemplatePath = "File\\Word\\PHTGL\\合同评审、审批表LW.docx";
}
}
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
string txtProjectName = "";
string txtProjectid = "";
string txtContractName = "";
string txtContractNum = "";
string txtParties = "";
string txtContractAmount = "";
string txtDepartId = "";
string txtAgent = "";
string txtRemark = "";
string TextArea2 = "";
string type1 = "□";
string type2 = "□";
string type3 = "□";
string type4 = "□";
string type5 = "□";
string node1Time = "";
string node2Time = "";
string node3Time = "";
string node4Time = "";
string node5Time = "";
string node6Time = "";
string node7Time = "";
string node8Time = "";
string node9Time = "";
string node10Time = "";
string node11Time = "";
string node12Time = "";
string node13Time = "";
string node14Time = "";
string node15Time = "";
string node16Time = "";
string node17Time = "";
string node18Time = "";
try
{
#region
if (getFireWork != null)
{
DataTable data = BLL.PHTGL_ApproveService.GetFinalApproveData(ReviewModel.ContractReviewId);
if (data.Rows != null && data.Rows.Count > 0)
{
txtProjectid = string.Format("{0:yyyyMMdd}", Convert.ToDateTime(data.Rows[0]["ApproveDate"].ToString()));
}
txtContractName = getFireWork.ContractName;
txtContractNum = getFireWork.ContractNum;
txtParties = getFireWork.Parties;
txtProjectName = ProjectService.GetProjectNameByProjectId(getFireWork.ProjectId);
txtContractAmount = getFireWork.ContractAmount.ToString();
if (!string.IsNullOrEmpty(getFireWork.DepartId))
{
txtDepartId = DepartService.getDepartNameById(getFireWork.DepartId);
}
if (!string.IsNullOrEmpty(getFireWork.Agent))
{
txtAgent = Person_PersonsService.GetPersonsNameById(getFireWork.Agent);
}
if (!string.IsNullOrEmpty(getFireWork.Remarks))
{
txtRemark = getFireWork.Remarks;
}
switch (getFireWork.ContractType)
{
case "1":
type1 = "√";
break;
case "2":
type2 = "√";
break;
case "3":
type3 = "√";
break;
case "4":
type4 = "√";
break;
case "5":
type5 = "√";
break;
}
}
DataTable tb = BLL.PHTGL_ApproveService.GetFinalApproveData(ContractReviewId);
var ApproveManModels = PHTGL_ContractReviewService.GetApproveManModels(ContractReviewId);
var ApproveManModels__Countersigner = PHTGL_ContractReviewService.GetApproveManModels__Countersigner(ContractReviewId);
var allApproveMan = ApproveManModels__Countersigner.Concat(ApproveManModels).ToList();
foreach (DataRow dr in tb.Rows)
{
string ApproveMan = dr["ApproveMan"].ToString();
string ApproveType = "";
string ApproveDate = "";
// string ApproveIdea = dr["ApproveIdea"].ToString();
string ApproveIdea = PHTGL_ApproveService.GetApproveManIdea(ContractReviewId, ApproveMan, dr["ApproveType"].ToString());
var model = allApproveMan.Find(e => e.Rolename == dr["ApproveType"].ToString());
if (model != null)
{
ApproveType = model.Number.ToString();
}
try
{
ApproveDate = string.Format("{0:D}", DateTime.Parse(dr["ApproveDate"].ToString()));
}
catch (Exception)
{
ApproveDate = "";
}
switch (ApproveType)
{
case "1":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode1", ApproveMan, ApproveIdea);
node1Time = ApproveDate;
break;
case "2":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode2", ApproveMan, ApproveIdea);
node2Time = ApproveDate;
break;
case "3":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode3", ApproveMan, ApproveIdea);
node3Time = ApproveDate;
break;
case "4":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode4", ApproveMan, ApproveIdea);
node4Time = ApproveDate;
break;
case "5":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode5", ApproveMan, ApproveIdea);
node5Time = ApproveDate;
break;
case "6":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode6", ApproveMan, ApproveIdea);
node6Time = ApproveDate;
break;
case "7":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode7", ApproveMan, ApproveIdea);
node7Time = ApproveDate;
break;
case "8":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode8", ApproveMan, ApproveIdea);
node8Time = ApproveDate;
break;
case "9":
//AsposeWordHelper.InsertImg(doc, rootPath, "txtnode10", ApproveMan, ApproveIdea);
// node9Time = ApproveDate;
/*case 9
*/
Bookmark bookmarkCreateMan = doc.Range.Bookmarks["txtnode9"];
bookmarkCreateMan.Text += ApproveIdea;
break;
case "10":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode10", ApproveMan, ApproveIdea, true);
node10Time = ApproveDate;
break;
case "11":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode11", ApproveMan, ApproveIdea);
node11Time = ApproveDate;
break;
case "12":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode12", ApproveMan, ApproveIdea);
node12Time = ApproveDate;
break;
case "13":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode13", ApproveMan, ApproveIdea);
node13Time = ApproveDate;
break;
case "14":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode14", ApproveMan, ApproveIdea);
node14Time = ApproveDate;
break;
case "15":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode15", ApproveMan, ApproveIdea);
node15Time = ApproveDate;
break;
case "16":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode16", ApproveMan, ApproveIdea);
node16Time = ApproveDate;
break;
case "17":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode17", ApproveMan, ApproveIdea);
node17Time = ApproveDate;
break;
case "18":
AsposeWordHelper.InsertImg(doc, rootPath, "txtnode18", ApproveMan, ApproveIdea);
node18Time = ApproveDate;
break;
}
}
//if (TextArea2 == "")
//{
// TextArea2 = "已按评审意见修改完成,同意签订本合同。";
//}
TextArea2 = ReviewModel.Idea;
Dic_File.Add("txtProjectName", txtProjectName);
Dic_File.Add("txtProjectid", txtProjectid);
Dic_File.Add("txtContractName", txtContractName);
Dic_File.Add("txtContractNum", txtContractNum);
Dic_File.Add("txtParties", txtParties);
Dic_File.Add("txtContractAmount", txtContractAmount);
Dic_File.Add("txtDepartId", txtDepartId);
Dic_File.Add("txtAgent", txtAgent);
Dic_File.Add("txtRemark", txtRemark);
Dic_File.Add("TextArea2", TextArea2);
Dic_File.Add("type1", type1);
Dic_File.Add("type2", type2);
Dic_File.Add("type3", type3);
Dic_File.Add("type4", type4);
Dic_File.Add("type5", type5);
Dic_File.Add("node1Time", node1Time);
Dic_File.Add("node2Time", node2Time);
Dic_File.Add("node3Time", node3Time);
Dic_File.Add("node4Time", node4Time);
Dic_File.Add("node5Time", node5Time);
Dic_File.Add("node6Time", node6Time);
Dic_File.Add("node7Time", node7Time);
Dic_File.Add("node8Time", node8Time);
Dic_File.Add("node9Time", node9Time);
Dic_File.Add("node10Time", node10Time);
Dic_File.Add("node11Time", node11Time);
Dic_File.Add("node12Time", node12Time);
Dic_File.Add("node13Time", node13Time);
Dic_File.Add("node14Time", node14Time);
Dic_File.Add("node15Time", node15Time);
Dic_File.Add("node16Time", node16Time);
Dic_File.Add("node17Time", node17Time);
Dic_File.Add("node18Time", node18Time);
#endregion
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return null;
2022-09-05 16:36:31 +08:00
}
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
Document docc = new Aspose.Words.Document(newUrl);
Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(docc);
var TableCount = docc.GetChildNodes(NodeType.Table, true).Count;
for (int m = 0; m < TableCount; m++)
{
var table = docc.GetChildNodes(NodeType.Table, true)[m] as Aspose.Words.Tables.Table;
for (int i = 0; i < table.Rows.Count; i++)
{
for (int j = 0; j < table.Rows[i].Count; j++)
{
if (string.IsNullOrEmpty(table.Rows[i].Cells[j].GetText().Replace("\a", "").Trim()))
{
Border diagonalBorder = table.Rows[i].Cells[j].CellFormat.Borders[BorderType.DiagonalDown];
diagonalBorder.Color = Color.Black;
diagonalBorder.LineStyle = LineStyle.Single;
diagonalBorder.LineWidth = 0.5;
}
}
}
}
var table0 = docc.GetChildNodes(NodeType.Table, true)[0] as Aspose.Words.Tables.Table;
docc.Save(newUrl);
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
public static void PrintFile( string ContractReviewId)
{
string rootPath = Funs.RootPath;
var ReviewModel = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId);
var getFireWork = BLL.ContractService.GetContractById(ReviewModel.ContractId);
string newUrl = string.Empty;
newUrl = rootPath + "File\\Word\\PHTGL\\合同评审、审批表.docx";
newUrl = newUrl.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
var doc = Print(ContractReviewId);
doc.Save(newUrl);
2022-09-05 16:36:31 +08:00
//生成PDF文件
string pdfUrl = newUrl.Replace(".docx", ".pdf");
Document doc1 = new Aspose.Words.Document(newUrl);
//验证参数
if (doc1 == null) { throw new Exception("Word文件无效"); }
doc1.Save(pdfUrl, Aspose.Words.SaveFormat.Pdf);//还可以改成其它格式
string fileName = Path.GetFileName(pdfUrl).Replace("合同评审", getFireWork.ContractNum + "合同评审");
2022-09-05 16:36:31 +08:00
FileInfo info = new FileInfo(pdfUrl);
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(fileName, System.Text.Encoding.UTF8));
System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
System.Web.HttpContext.Current.Response.TransmitFile(pdfUrl, 0, fileSize);
System.Web.HttpContext.Current.Response.Flush();
System.Web.HttpContext.Current.Response.Close();
File.Delete(newUrl);
File.Delete(pdfUrl);
}
public static void PrintFileByDocument(Document doc,string name)
{
string rootPath = Funs.RootPath;
string newUrl = string.Empty;
newUrl = rootPath + "File\\Word\\PHTGL\\合同评审.docx";
newUrl = newUrl.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
doc.Save(newUrl);
//生成PDF文件
string pdfUrl = newUrl.Replace(".docx", ".pdf");
Document doc1 = new Aspose.Words.Document(newUrl);
//验证参数
if (doc1 == null) { throw new Exception("Word文件无效"); }
doc1.Save(pdfUrl, Aspose.Words.SaveFormat.Pdf);//还可以改成其它格式
string fileName = Path.GetFileName(pdfUrl).Replace("合同评审", name );
FileInfo info = new FileInfo(pdfUrl);
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(fileName, System.Text.Encoding.UTF8));
System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
System.Web.HttpContext.Current.Response.TransmitFile(pdfUrl, 0, fileSize);
System.Web.HttpContext.Current.Response.Flush();
System.Web.HttpContext.Current.Response.Close();
File.Delete(newUrl);
File.Delete(pdfUrl);
}
2023-03-10 16:44:23 +08:00
//删除文件夹
public static void PrintApprovalForm(string ContractReviewId)
{
var ReviewModel = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId);
var getFireWork = BLL.ContractService.GetContractById(ReviewModel.ContractId);
2023-03-10 16:44:23 +08:00
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":
2023-03-10 16:44:23 +08:00
PrintApprovalFormType_SetSub(ContractReviewId, startPath + "\\");
break;
case "2":
2023-03-10 16:44:23 +08:00
PrintApprovalFormType_SetSub(ContractReviewId, startPath + "\\");
break;
case "3":
2023-03-10 16:44:23 +08:00
PrintApprovalFormType_SetSub(ContractReviewId, startPath + "\\");
break;
case "4":
2023-03-10 16:44:23 +08:00
PrintApprovalFormType_Act(ContractReviewId, startPath + "\\");
break;
case "5":
2023-03-10 16:44:23 +08:00
PrintApprovalFormType_Act(ContractReviewId, startPath + "\\");
break;
default :
2023-03-10 16:44:23 +08:00
PrintApprovalFormType__Con(ContractReviewId, startPath + "\\");
break;
}
2023-03-10 16:44:23 +08:00
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);
}
2023-03-08 11:45:40 +08:00
/// <summary>
/// ConfirmWay 45
/// </summary>
2023-03-10 16:44:23 +08:00
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(); //实施计划编制信息
2023-03-10 16:44:23 +08:00
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);
2023-03-10 16:44:23 +08:00
ActPlanFormat = PHTGL_ActionPlanFormationService.GetPHTGL_ActionPlanFormationById(ActPlan.ActionPlanID);
var Doc_ActPlan = PHTGL_ActionPlanFormationService.Print(ActPlan.ActionPlanID);
var Doc_Contract = Print(ContractReviewId);
2023-03-10 16:44:23 +08:00
Doc_ActPlan.Save(path + ActPlanFormat.ActionPlanCode + "施工分包实施计划.pdf", SaveFormat.Pdf);
Doc_Contract.Save(path + Contract.ContractNum + "合同评审.pdf", SaveFormat.Pdf);
}
2023-03-08 11:45:40 +08:00
/// <summary>
/// ConfirmWay 123
/// </summary>
2023-03-10 16:44:23 +08:00
public static void PrintApprovalFormType_SetSub(string ContractReviewId,string path)
{
2023-03-08 11:45:40 +08:00
Model.PHTGL_Contract Contract =new Model.PHTGL_Contract(); //合同信息
Model.PHTGL_SetSubReview SetSub = new Model.PHTGL_SetSubReview(); //确认分包商信息
Model.PHTGL_BidApproveUserReview ApproveUser = new Model.PHTGL_BidApproveUserReview(); //评标小组名单信息
Model.PHTGL_BidDocumentsReview BidDoc = new Model.PHTGL_BidDocumentsReview();//招标文件信息
Model.PHTGL_ActionPlanReview ActPlan = new Model.PHTGL_ActionPlanReview();//实施计划信息
2023-03-10 16:44:23 +08:00
Model.PHTGL_ActionPlanFormation ActPlanFormat = new Model.PHTGL_ActionPlanFormation(); //实施计划编制信息
2023-03-08 11:45:40 +08:00
2023-03-10 16:44:23 +08:00
var ReviewModel = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(ContractReviewId);
2023-03-08 11:45:40 +08:00
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);
2023-03-10 16:44:23 +08:00
ActPlanFormat = PHTGL_ActionPlanFormationService.GetPHTGL_ActionPlanFormationById(ActPlan.ActionPlanID);
2023-03-08 11:45:40 +08:00
var Doc_ActPlan = PHTGL_ActionPlanFormationService.Print(ActPlan.ActionPlanID);
var Doc_BidDoc = PHTGL_BidDocumentsReviewService.Print(BidDoc.BidDocumentsReviewId);
var Doc_ApproveUser = PHTGL_BidApproveUserReviewService.Print(ApproveUser.ApproveUserReviewID);
var Doc_SetSub = PHTGL_SetSubReviewService.Print(SetSub.SetSubReviewID);
var Doc_Contract = Print(ContractReviewId);
2023-03-10 16:44:23 +08:00
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);
}
2023-03-10 16:44:23 +08:00
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);
2023-03-10 16:44:23 +08:00
Doc_Contract.Save(path + Contract.ContractNum + "合同评审.pdf", SaveFormat.Pdf);
2022-09-05 16:36:31 +08:00
}
/// <summary>
/// 分包合同协议书
/// </summary>
/// <param name="AttachUrlId"></param>
/// <returns></returns>
public static void printContractAgreement(string ContractId)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\施工合同标准文本.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM-dd-HH-mm}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM-dd-HH-mm}", DateTime.Now) + ".docx");
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
var sub = BLL.SubcontractAgreementService.GetSubcontractAgreementByContractId(ContractId);
var ContractModel = BLL.ContractService.GetContractById(ContractId);
if (sub == null)
{
Alert.ShowInTop("分包合同协议书未编制,无法导出!", MessageBoxIcon.Warning);
File.Delete(newUrl);
return;
}
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
#region
string ContractNum = ContractModel.ContractNum;
string BuildUnit = ContractModel.BuildUnit;
string tab2_txtGeneralContractor = sub.GeneralContractor;
string tab2_txtSubConstruction = sub.SubConstruction;
string tab2_txtContents = sub.Contents;
string tab2_txtContractProject = sub.ContractProject;
string tab2_txtContractProjectOwner = sub.ContractProjectOwner;
string tab2_txtSubProject = sub.SubProject;
string tab2_txtSubProjectAddress = sub.SubProjectAddress;
string tab2_txtFundingSources = sub.FundingSources;
string tab2_txtSubProjectContractScope = sub.SubProjectContractScope;
string tab2_txtSubProjectContent = sub.SubProjectContent;
string tab2_txtPlanStartYear = sub.PlanStartYear.HasValue ? sub.PlanStartYear.ToString() : "";
string tab2_txtPlanStartMonth = sub.PlanStartMonth.HasValue ? sub.PlanStartMonth.ToString() : "";
string tab2_txtPlanStartDay = sub.PlanStartDay.HasValue ? sub.PlanStartDay.ToString() : "";
string tab2_txtPlanEndYear = sub.PlanEndYear.HasValue ? sub.PlanEndYear.ToString() : "";
string tab2_txtPlanEndMonth = sub.PlanEndMonth.HasValue ? sub.PlanEndMonth.ToString() : "";
string tab2_txtPlanEndDay = sub.PlanEndDay.HasValue ? sub.PlanEndDay.ToString() : "";
string tab2_txtLimit = sub.Limit.HasValue ? sub.Limit.ToString() : "";
string tab2_txtQualityStandards = sub.QualityStandards;
string tab2_txtHSEManageStandards = sub.HSEManageStandards;
string tab2_txtSubcontractPriceForm = sub.SubcontractPriceForm;
string tab2_txtContractPriceCapital = sub.ContractPriceCapital;
string tab2_txtContractPriceCNY = sub.ContractPriceCNY.HasValue ? sub.ContractPriceCNY.ToString() : "";
string tab2_txtContractPriceDesc = sub.ContractPriceDesc;
string tab2_txtInvoice = sub.Invoice;
string tab2_txtLaw = sub.Law;
string tab2_txtSignedYear = sub.SignedYear.HasValue ? sub.SignedYear.ToString() : "";
string tab2_txtSignedMonth = sub.SignedMonth.HasValue ? sub.SignedMonth.ToString() : "";
string tab2_txtSignedAddress = sub.SignedAddress;
string tab2_txtAgreementNum = sub.AgreementNum.HasValue ? sub.AgreementNum.ToString() : "";
string tab2_txtGeneralContractorNum = sub.GeneralContractorNum.HasValue ? sub.GeneralContractorNum.ToString() : "";
string tab2_txtSubContractorNum = sub.SubContractorNum.HasValue ? sub.SubContractorNum.ToString() : "";
string tab2_txtSub = sub.SubConstruction;
string tab2_txtSocialCreditCode1 = sub.SocialCreditCode1;
string tab2_txtSocialCreditCode2 = sub.SocialCreditCode2;
string tab2_txtAddress1 = sub.Address1;
string tab2_txtAddress2 = sub.Address2;
string tab2_txtZipCode1 = sub.ZipCode1;
string tab2_txtZipCode2 = sub.ZipCode2;
string tab2_txtLegalRepresentative1 = sub.LegalRepresentative1;
string tab2_txtLegalRepresentative2 = sub.LegalRepresentative2;
string tab2_txtEntrustedAgent1 = sub.EntrustedAgent1;
string tab2_txtEntrustedAgent2 = sub.EntrustedAgent2;
string tab2_txtTelephone1 = sub.Telephone1;
string tab2_txtTelephone2 = sub.Telephone2;
string tab2_txtFax1 = sub.Fax1;
string tab2_txtFax2 = sub.Fax2;
string tab2_txtEmail1 = sub.Email1;
string tab2_txtEmail2 = sub.Email2;
string tab2_txtBank1 = sub.Bank1;
string tab2_txtBank2 = sub.Bank2;
string tab2_txtAccount1 = sub.Account1;
string tab2_txtAccount2 = sub.Account2;
Dic_File.Add("ContractNum", ContractNum);
Dic_File.Add("BuildUnit", BuildUnit);
Dic_File.Add("tab2_txtGeneralContractor", tab2_txtGeneralContractor);
Dic_File.Add("tab2_txtSubConstruction", tab2_txtSubConstruction);
Dic_File.Add("tab2_txtContents", tab2_txtContents);
Dic_File.Add("tab2_txtContractProject", tab2_txtContractProject);
Dic_File.Add("tab2_txtContractProjectOwner", tab2_txtContractProjectOwner);
Dic_File.Add("tab2_txtSubProject", tab2_txtSubProject);
Dic_File.Add("tab2_txtSubProjectAddress", tab2_txtSubProjectAddress);
Dic_File.Add("tab2_txtFundingSources", tab2_txtFundingSources);
Dic_File.Add("tab2_txtSubProjectContractScope", tab2_txtSubProjectContractScope);
Dic_File.Add("tab2_txtSubProjectContent", tab2_txtSubProjectContent);
Dic_File.Add("tab2_txtPlanStartYear", tab2_txtPlanStartYear);
Dic_File.Add("tab2_txtPlanStartMonth", tab2_txtPlanStartMonth);
Dic_File.Add("tab2_txtPlanStartDay", tab2_txtPlanStartDay);
Dic_File.Add("tab2_txtPlanEndYear", tab2_txtPlanEndYear);
Dic_File.Add("tab2_txtPlanEndMonth", tab2_txtPlanEndMonth);
Dic_File.Add("tab2_txtPlanEndDay", tab2_txtPlanEndDay);
Dic_File.Add("tab2_txtLimit", tab2_txtLimit);
Dic_File.Add("tab2_txtQualityStandards", tab2_txtQualityStandards);
Dic_File.Add("tab2_txtHSEManageStandards", tab2_txtHSEManageStandards);
Dic_File.Add("tab2_txtSubcontractPriceForm", tab2_txtSubcontractPriceForm);
Dic_File.Add("tab2_txtContractPriceCapital", tab2_txtContractPriceCapital);
Dic_File.Add("tab2_txtContractPriceCNY", tab2_txtContractPriceCNY);
Dic_File.Add("tab2_txtContractPriceDesc", tab2_txtContractPriceDesc);
Dic_File.Add("tab2_txtInvoice", tab2_txtInvoice);
Dic_File.Add("tab2_txtLaw", tab2_txtLaw);
Dic_File.Add("tab2_txtSignedYear", tab2_txtSignedYear);
Dic_File.Add("tab2_txtSignedMonth", tab2_txtSignedMonth);
Dic_File.Add("tab2_txtSignedAddress", tab2_txtSignedAddress);
Dic_File.Add("tab2_txtAgreementNum", tab2_txtAgreementNum);
Dic_File.Add("tab2_txtGeneralContractorNum", tab2_txtGeneralContractorNum);
Dic_File.Add("tab2_txtSubContractorNum", tab2_txtSubContractorNum);
Dic_File.Add("tab2_txtSub", tab2_txtSub);
Dic_File.Add("tab2_txtSocialCreditCode1", tab2_txtSocialCreditCode1);
Dic_File.Add("tab2_txtSocialCreditCode2", tab2_txtSocialCreditCode2);
Dic_File.Add("tab2_txtAddress1", tab2_txtAddress1);
Dic_File.Add("tab2_txtAddress2", tab2_txtAddress2);
Dic_File.Add("tab2_txtZipCode1", tab2_txtZipCode1);
Dic_File.Add("tab2_txtZipCode2", tab2_txtZipCode2);
Dic_File.Add("tab2_txtLegalRepresentative1", tab2_txtLegalRepresentative1);
Dic_File.Add("tab2_txtLegalRepresentative2", tab2_txtLegalRepresentative2);
Dic_File.Add("tab2_txtEntrustedAgent1", tab2_txtEntrustedAgent1);
Dic_File.Add("tab2_txtEntrustedAgent2", tab2_txtEntrustedAgent2);
Dic_File.Add("tab2_txtTelephone1", tab2_txtTelephone1);
Dic_File.Add("tab2_txtTelephone2", tab2_txtTelephone2);
Dic_File.Add("tab2_txtFax1", tab2_txtFax1);
Dic_File.Add("tab2_txtFax2", tab2_txtFax2);
Dic_File.Add("tab2_txtEmail1", tab2_txtEmail1);
Dic_File.Add("tab2_txtEmail2", tab2_txtEmail2);
Dic_File.Add("tab2_txtBank1", tab2_txtBank1);
Dic_File.Add("tab2_txtBank2", tab2_txtBank2);
Dic_File.Add("tab2_txtAccount1", tab2_txtAccount1);
Dic_File.Add("tab2_txtAccount2", tab2_txtAccount2);
#endregion
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
#region word
Document docGen = printGeneralTermsConditions(); //通用合同条款
doc.AppendDocument(docGen, ImportFormatMode.UseDestinationStyles);
Document docSpe = printSpecialTermsConditions(ContractId);
doc.AppendDocument(docSpe, ImportFormatMode.UseDestinationStyles);
var model = BLL.PHTGL_SpecialTermsConditionsService.GetSpecialTermsConditionsByContractId(ContractId);
var SpecialTermsConditionsId = model.SpecialTermsConditionsId;
string strSql = @"SELECT Att.AttachUrlId,
Att.AttachUrlCode,
Att.AttachUrlName,
Att.IsBuild,
Att.IsSelected,
Att.SortIndex"
+ @" FROM PHTGL_AttachUrl AS Att"
+ @" WHERE 1=1 "
+ @" and Att.SpecialTermsConditionsId=@SpecialTermsConditionsId and Att.IsSelected=1 ORDER BY Att.SortIndex ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@SpecialTermsConditionsId", SpecialTermsConditionsId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
int schNumber = 0;
foreach (DataRow dataRow in tb.Rows)
{
schNumber += 1;
string AttachUrlId = dataRow["AttachUrlId"].ToString();
string AttachUrlName = dataRow["AttachUrlName"].ToString();
string SortIndex = dataRow["SortIndex"].ToString();
switch (SortIndex)
{
case "1":
doc.AppendDocument(sch1(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "2":
doc.AppendDocument(sch2(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "3":
doc.AppendDocument(sch3(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "4":
doc.AppendDocument(sch4(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "5":
doc.AppendDocument(sch5(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "6":
doc.AppendDocument(sch6(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "7":
doc.AppendDocument(sch7(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "8":
doc.AppendDocument(sch8(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "9":
doc.AppendDocument(sch9(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "10":
doc.AppendDocument(sch10(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "11":
doc.AppendDocument(sch11(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "12":
doc.AppendDocument(sch12(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "13":
doc.AppendDocument(sch13(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "14":
doc.AppendDocument(sch14(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "15":
doc.AppendDocument(sch15(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "16":
doc.AppendDocument(sch16(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "17":
doc.AppendDocument(sch17(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "18":
doc.AppendDocument(sch18(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "19":
doc.AppendDocument(sch19(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
case "20":
doc.AppendDocument(sch20(AttachUrlId, schNumber), ImportFormatMode.UseDestinationStyles);
break;
}
}
#endregion
doc.UpdateFields();
doc.Save(newUrl);
string pdfUrl = newUrl.Replace(".doc", ".doc");
Document doc1 = new Aspose.Words.Document(newUrl);
//Document srcDoc = new Document(newUrl);
//doc1.AppendDocument(srcDoc, ImportFormatMode.UseDestinationStyles);
//验证参数
if (doc1 == null) { throw new Exception("Word文件无效"); }
doc1.Save(pdfUrl, Aspose.Words.SaveFormat.Docx);//还可以改成其它格式
string fileName = Path.GetFileName(filePath).Replace("施工合同标准文本", tab2_txtContractProject + tab2_txtSubProject);
FileInfo info = new FileInfo(pdfUrl);
long fileSize = info.Length;
try
{
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(fileName, System.Text.Encoding.UTF8));
System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
System.Web.HttpContext.Current.Response.TransmitFile(pdfUrl, 0, fileSize);
System.Web.HttpContext.Current.Response.Flush();
System.Web.HttpContext.Current.Response.Close();
File.Delete(newUrl);
File.Delete(pdfUrl);
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
File.Delete(newUrl);
File.Delete(pdfUrl);
}
}
/// <summary>
/// 导出通用合同条款
/// </summary>
/// <returns></returns>
public static Document printGeneralTermsConditions()
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\第二部分 通用合同条款.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
doc.Save(newUrl);
//生成PDF文件
File.Delete(newUrl);
return doc;
}
/// <summary>
/// 导出专用合同
/// </summary>
/// <param name="ContractId"></param>
/// <returns></returns>
public static Document printSpecialTermsConditions(string ContractId)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\第三部分 专用合同条款.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
var model = BLL.PHTGL_SpecialTermsConditionsService.GetSpecialTermsConditionsByContractId(ContractId);
if (model != null)
{
string SpecialTermsConditionsId = model.SpecialTermsConditionsId;
Type type = model.GetType();
PropertyInfo[] pArray = type.GetProperties();
foreach (PropertyInfo p in pArray)
{
string name = p.Name;
string value = Convert.ToString(p.GetValue(model, null));
Dic_File.Add(name, value);
}
string strSql = @"SELECT Att.AttachUrlId,
Att.AttachUrlCode,
Att.AttachUrlName,
Att.IsBuild,
Att.IsSelected,
Att.SortIndex"
+ @" FROM PHTGL_AttachUrl AS Att"
+ @" WHERE 1=1 "
+ @" and Att.SpecialTermsConditionsId=@SpecialTermsConditionsId and Att.IsSelected=1 ORDER BY Att.SortIndex ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@SpecialTermsConditionsId", SpecialTermsConditionsId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
int schNumber = 0;
string txtSch = "";
foreach (DataRow dataRow in tb.Rows)
{
schNumber += 1;
string AttachUrlId = dataRow["AttachUrlId"].ToString();
string AttachUrlName = dataRow["AttachUrlName"].ToString();
string SortIndex = dataRow["SortIndex"].ToString();
txtSch = txtSch + "附件" + schNumber + " " + AttachUrlName + "\r\n";
}
Dic_File.Add("txtSch", txtSch);
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
}
doc.Save(newUrl);
//生成PDF文件
File.Delete(newUrl);
return doc;
}
#region
public static Document sch1(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件1 工作内容及要求.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
var model = AttachUrl1Service.GetAttachUrl1ById(AttachUrlId);
if (model == null)
{
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("AttachUrlContent", "");
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc;
}
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("AttachUrlContent", model.AttachUrlContent);
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
public static Document sch2(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件2 合同价格及支付办法.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Document(newUrl);
#region
//DocumentBuilder builder = new DocumentBuilder(doc);
//Section section = doc.Sections[0];
//Dictionary<string, object> Dic_File = new Dictionary<string, object>();
//Dic_File.Add("schNumber", schnumber.ToString());
//var att = BLL.AttachUrl2Service.GetAttachUrlByAttachUrlId(AttachUrlId);
//if (att!=null)
//{ string aaa = "";
// for (int i = 0; i < section.Body.ChildNodes.Count; i++)
// {
// aaa = aaa + "@" + i + "@" + section.Body.ChildNodes[i].Range.Text + "/r";
// }
// string b = aaa;
// ArrayList arraylist = new ArrayList();
// arraylist.Add("1");
// arraylist.Add("2");
// arraylist.Add("3");
// arraylist.Add("4");
// arraylist.Add("5");
// arraylist.Add("6");
// var aa = att.PayMethod.Split(',');
// foreach (var item in aa)
// {
// arraylist.Remove(item);
// }
// for (int i = 0; i < arraylist .Count; i++)
// {
// switch (arraylist[i])
// {
// case "1":
// builder.MoveToBookmark("text1");
// Paragraph paragraph = builder.CurrentParagraph;
// paragraph.Remove();
// // section.Body.ChildNodes[3].Remove();
// break;
// case "2":
// builder.MoveToBookmark("text2");
// Paragraph paragraph2 = builder.CurrentParagraph;
// paragraph2.Remove();
// // section.Body.ChildNodes[4].Remove();
// break;
// case "3":
// builder.MoveToBookmark("text3");
// Paragraph paragraph3 = builder.CurrentParagraph;
// paragraph3.NextSibling.Remove();
// paragraph3.NextSibling.Remove();
// paragraph3.NextSibling.Remove();
// paragraph3.NextSibling.Remove();
// paragraph3.NextSibling.Remove();
// paragraph3.Remove();
// //section.Body.ChildNodes[5].Remove();
// //section.Body.ChildNodes[6].Remove();
// //section.Body.ChildNodes[7].Remove();
// //section.Body.ChildNodes[8].Remove();
// //section.Body.ChildNodes[9].Remove();
// //section.Body.ChildNodes[10].Remove();
// break;
// case "4":
// builder.MoveToBookmark("text4");
// Paragraph paragraph4 = builder.CurrentParagraph;
// paragraph4.NextSibling.Remove();
// paragraph4.NextSibling.Remove();
// paragraph4.NextSibling.Remove();
// paragraph4.NextSibling.Remove();
// paragraph4.NextSibling.Remove();
// paragraph4.Remove();
// //section.Body.ChildNodes[11].Remove();
// //section.Body.ChildNodes[12].Remove();
// //section.Body.ChildNodes[13].Remove();
// //section.Body.ChildNodes[14].Remove();
// //section.Body.ChildNodes[15].Remove();
// //section.Body.ChildNodes[16].Remove();
// break;
// case "5":
// builder.MoveToBookmark("text5");
// Paragraph paragraph5 = builder.CurrentParagraph;
// paragraph5.NextSibling.Remove();
// paragraph5.NextSibling.Remove();
// paragraph5.NextSibling.Remove();
// paragraph5.NextSibling.Remove();
// paragraph5.NextSibling.Remove();
// paragraph5.NextSibling.Remove();
// paragraph5.Remove();
// //section.Body.ChildNodes[17].Remove();
// //section.Body.ChildNodes[18].Remove();
// //section.Body.ChildNodes[19].Remove();
// //section.Body.ChildNodes[20].Remove();
// //section.Body.ChildNodes[21].Remove();
// //section.Body.ChildNodes[22].Remove();
// //section.Body.ChildNodes[23].Remove();
// break;
// case "6":
// builder.MoveToBookmark("text6");
// Paragraph paragraph6 = builder.CurrentParagraph;
// paragraph6.NextSibling.Remove();
// paragraph6.NextSibling.Remove();
// paragraph6.NextSibling.Remove();
// paragraph6.NextSibling.Remove();
// paragraph6.Remove();
// //section.Body.ChildNodes[23].Remove();
// //section.Body.ChildNodes[24].Remove();
// //section.Body.ChildNodes[25].Remove();
// //section.Body.ChildNodes[26].Remove();
// //section.Body.ChildNodes[27].Remove();
// break;
// }
// }
// string strSql = @" SELECT
// OrderNumber = row_number() over(order by AttachUrlDetaild)
// , AttachUrlDetaild
// , AttachUrlItemId
// , DetailType
// , Specifications
// , MachineTeamPrice
// , Remark "
// + @" from PHTGL_AttachUrl2Detail "
// + @" where 1=1 and AttachUrlItemId=@AttachUrlItemId and DetailType=@DetailType order by OrderNumber";
// List<SqlParameter> listStr = new List<SqlParameter>();
// listStr.Add(new SqlParameter("@AttachUrlItemId", att.AttachUrlItemId));
// listStr.Add(new SqlParameter("@DetailType", "1"));
// SqlParameter[] parameter = listStr.ToArray();
// DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// if (tb.Rows.Count ==0)
// {
// DataRow dataRow = tb.NewRow();
// tb.Rows.Add(dataRow);
// }
// tb.TableName = "Table";
// doc.MailMerge.ExecuteWithRegions(tb);
// string aaa2 = "";
// for (int i = 0; i < section.Body.ChildNodes.Count; i++)
// {
// aaa2 = aaa2 + "@" + i + "@" + section.Body.ChildNodes[i].Range.Text + "/r";
// }
// string b2 = aaa2;
// string strSql2 = @" SELECT
// OrderNumber = row_number() over(order by AttachUrlDetaild)
// , AttachUrlDetaild
// , AttachUrlItemId
// , DetailType
// , Specifications
// , MachineTeamPrice
// , Remark "
// + @" from PHTGL_AttachUrl2Detail "
// + @" where 1=1 and AttachUrlItemId=@AttachUrlItemId and DetailType=@DetailType order by OrderNumber";
// List<SqlParameter> listStr2 = new List<SqlParameter>();
// listStr2.Add(new SqlParameter("@AttachUrlItemId", att.AttachUrlItemId));
// listStr2.Add(new SqlParameter("@DetailType", "2"));
// SqlParameter[] parameter2 = listStr2.ToArray();
// DataTable tb2 = SQLHelper.GetDataTableRunText(strSql2, parameter2);
// if (tb2.Rows.Count == 0)
// {
// DataRow dataRow = tb2.NewRow();
// tb2.Rows.Add(dataRow);
// }
// tb2.TableName = "Table2";
// doc.MailMerge.ExecuteWithRegions(tb2);
// Dic_File.Add("txtContractPrice", att.ContractPrice);
// Dic_File.Add("txtComprehensiveUnitPrice", att.ComprehensiveUnitPrice);
// Dic_File.Add("txtComprehensiveRate1", att.ComprehensiveRate1);
// Dic_File.Add("txtComprehensiveRate2", att.ComprehensiveRate2);
// Dic_File.Add("txtComprehensiveRate3", att.ComprehensiveRate3);
// Dic_File.Add("txtComprehensiveRate4", att.ComprehensiveRate4);
// Dic_File.Add("txtComprehensiveRate5", att.ComprehensiveRate5);
// Dic_File.Add("txtTotalPriceDown1", att.TotalPriceDown1);
// Dic_File.Add("txtTotalPriceDown2", att.TotalPriceDown2);
// Dic_File.Add("txtTotalPriceDown3", att.TotalPriceDown3);
// Dic_File.Add("txtTotalPriceDown4", att.TotalPriceDown4);
// Dic_File.Add("txtTotalPriceDown5", att.TotalPriceDown5);
// Dic_File.Add("txtTechnicalWork", att.TechnicalWork.HasValue ? att.TechnicalWork.ToString() : "");
// Dic_File.Add("txtPhysicalLaborer", att.PhysicalLaborer.HasValue ? att.PhysicalLaborer.ToString() : "");
// Dic_File.Add("txtTestCar1", att.TestCar1.HasValue ? att.TestCar1.ToString() : "");
// Dic_File.Add("txtTestCar2", att.TestCar2.HasValue ? att.TestCar2.ToString() : "");
// Dic_File.Add("txtPayWay", "");
// var Path = newUrl.Replace(".docx", "编辑栏.docx"); //word文件保存路径
// AsposeWordHelper.HtmlIntoWord(att.PayWay, Path);
// Document doc2 = new Document(Path);
// doc2.FirstSection.PageSetup.SectionStart = SectionStart.OddPage;
// doc.AppendDocument(doc2, ImportFormatMode.UseDestinationStyles);
// File.Delete(Path);
//}
//foreach (var item in Dic_File)
//{
// string[] key = { item.Key };
// object[] value = { item.Value };
// doc.MailMerge.Execute(key, value);
//}
//doc.Save(newUrl);
#endregion
#region
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
Dic_File.Add("schNumber", schnumber.ToString());
var att = BLL.AttachUrl2Service.GetAttachUrlByAttachUrlId(AttachUrlId);
if (att != null)
{
var Path = newUrl.Replace(".docx", "编辑栏.docx"); //word文件保存路径
AsposeWordHelper.HtmlIntoWord(att.AttachUrlContent, Path);
Document doc2 = new Document(Path);
doc2.FirstSection.PageSetup.SectionStart = SectionStart.OddPage;
doc.AppendDocument(doc2, ImportFormatMode.UseDestinationStyles);
File.Delete(Path);
}
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
#endregion
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
public static Document sch3(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件3 工程价格清单.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
var model = AttachUrl3Service.GetAttachUrl3ByAttachUrlId(AttachUrlId);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
if (model == null)
{
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("AttachUrlContent", "");
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc;
}
Dic_File.Add("schNumber", schnumber.ToString());
// Dic_File.Add("AttachUrlContent", model.AttachUrlContent);
Dic_File.Add("AttachUrlContent", "");
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
var Path = newUrl.Replace(".docx", "编辑栏.docx"); //word文件保存路径
AsposeWordHelper.HtmlIntoWord(model.AttachUrlContent, Path);
Document doc2 = new Document(Path);
doc2.FirstSection.PageSetup.SectionStart = SectionStart.OddPage;
doc.AppendDocument(doc2, ImportFormatMode.UseDestinationStyles);
File.Delete(Path);
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
Document doc = new Aspose.Words.Document();
return doc;
}
}
public static Document sch4(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件4 工程设备及材料分交.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
// string strSql = @" select
// url4.AttachUrlItemId
// ,url4.AttachUrlId
// ,url4.OrderNumber
// ,url4.Describe
// ,(Case url4.Duty_Gen
// when '0' Then ''
// when '1' Then '√' end) as Duty_Gen
// ,(Case url4.Duty_Sub
// when '0' Then ''
// when '1' Then '√' end ) Duty_Sub
// ,url4.Remarks"
// + @" from PHTGL_AttachUrl4 as url4"
// + @" where 1=1 and url4.AttachUrlId =@AttachUrlId order by url4.OrderNumber";
// List<SqlParameter> listStr = new List<SqlParameter>();
// listStr.Add(new SqlParameter("@AttachUrlId", AttachUrlId));
// SqlParameter[] parameter = listStr.ToArray();
// DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
//if (tb.Rows.Count == 0)
//{
// DataRow dataRow = tb.NewRow();
// tb.Rows.Add(dataRow);
//}
// tb.TableName = "Table";
// doc.MailMerge.ExecuteWithRegions(tb);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
Dic_File.Add("schNumber", schnumber.ToString());
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
var model = AttachUrl4Service.GetAttachurl4ById(AttachUrlId);
if (model != null)
{
var Path = newUrl.Replace(".docx", "编辑栏.docx"); //word文件保存路径
AsposeWordHelper.HtmlIntoWord(model.AttachUrlContent, Path);
Document doc2 = new Document(Path);
doc2.FirstSection.PageSetup.SectionStart = SectionStart.OddPage;
doc.AppendDocument(doc2, ImportFormatMode.UseDestinationStyles);
File.Delete(Path);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
public static Document sch5(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件5 暂估价材料.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
// string strSql = @" select mat.AttachUrlItemId,
// mat.AttachUrlId,
// mat.OrderNumber,
// mat.Name,
// mat.Spec,
// mat.Material,
// mat.Company,
// mat.UnitPrice,
// mat.Remarks "
// + @" from PHTGL_AttachUrl5_MaterialsPrice as mat"
// + @" where 1=1 and mat.AttachUrlId=@AttachUrlId order by mat.OrderNumber";
//List<SqlParameter> listStr = new List<SqlParameter>();
//listStr.Add(new SqlParameter("@AttachUrlId", AttachUrlId));
//SqlParameter[] parameter = listStr.ToArray();
//DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
//if (tb.Rows.Count == 0)
//{
// DataRow dataRow = tb.NewRow();
// tb.Rows.Add(dataRow);
//}
//tb.TableName = "Table";
//doc.MailMerge.ExecuteWithRegions(tb);
//string strSql2 = @" SELECT dev.AttachUrlItemId
// ,dev.AttachUrlId
// ,dev.OrderNumber
// ,dev.Name
// ,dev.Company
// ,dev.amount
// ,dev.UnitPrice
// ,dev.Totalprice
// ,dev.Remarks "
// + @" FROM PHTGL_AttachUrl5_DevicePrice as dev"
// + @" where 1=1 and dev.AttachUrlId=@AttachUrlId order by dev.OrderNumber ";
//List<SqlParameter> listStr2 = new List<SqlParameter>();
//listStr2.Add(new SqlParameter("@AttachUrlId", AttachUrlId));
//SqlParameter[] parameter2 = listStr2.ToArray();
//DataTable tb2 = SQLHelper.GetDataTableRunText(strSql2, parameter2);
//if (tb2.Rows.Count == 0)
//{
// DataRow dataRow = tb2.NewRow();
// tb2.Rows.Add(dataRow);
//}
//tb2.TableName = "Table2";
//doc.MailMerge.ExecuteWithRegions(tb2);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
Dic_File.Add("schNumber", schnumber.ToString());
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
var model = AttachUrl5Service.GetAttachUrl5ByAttachUrlId(AttachUrlId);
if (model != null)
{
var Path = newUrl.Replace(".docx", "编辑栏.docx"); //word文件保存路径
AsposeWordHelper.HtmlIntoWord(model.AttachUrlContent, Path);
Document doc2 = new Document(Path);
doc2.FirstSection.PageSetup.SectionStart = SectionStart.OddPage;
doc.AppendDocument(doc2, ImportFormatMode.UseDestinationStyles);
File.Delete(Path);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
public static Document sch6(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件6 关键材料框架协议.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
var model = AttachUrl6Service.GetAttachUrl6ById(AttachUrlId);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
if (model == null)
{
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("AttachUrlContent", "");
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc;
}
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("AttachUrlContent", model.AttachUrlContent);
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
Document doc = new Aspose.Words.Document();
return doc;
}
}
public static Document sch7(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件7 合同工期关键里程碑时间节点.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
var model = AttachUrl7Service.GetAttachUrl7ById(AttachUrlId);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
if (model == null)
{
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("AttachUrlContent", "");
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc;
}
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("AttachUrlContent", model.AttachUrlContent);
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
Document doc = new Aspose.Words.Document();
return doc;
}
}
public static Document sch8(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件8 总承包商关键人员一览表.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
var model = AttachUrl8Service.GetAttachurl8ById(AttachUrlId);
if (model == null)
{
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("txtProjectManager", "");
Dic_File.Add("txtProjectManager_deputy", "");
Dic_File.Add("txtSafetyDirector", "");
Dic_File.Add("txtControlManager", "");
Dic_File.Add("txtDesignManager", "");
Dic_File.Add("txtPurchasingManager", "");
Dic_File.Add("txtConstructionManager", "");
Dic_File.Add("txtConstructionManager_deputy", "");
Dic_File.Add("txtQualityManager", "");
Dic_File.Add("txtHSEManager", "");
Dic_File.Add("txtDrivingManager", "");
Dic_File.Add("txtFinancialManager", "");
Dic_File.Add("txtOfficeManager", "");
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc;
}
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("txtProjectManager", model.ProjectManager);
Dic_File.Add("txtProjectManager_deputy", model.ProjectManager_deputy);
Dic_File.Add("txtSafetyDirector", model.SafetyDirector);
Dic_File.Add("txtControlManager", model.ControlManager);
Dic_File.Add("txtDesignManager", model.DesignManager);
Dic_File.Add("txtPurchasingManager", model.PurchasingManager);
Dic_File.Add("txtConstructionManager", model.ConstructionManager);
Dic_File.Add("txtConstructionManager_deputy", model.ConstructionManager_deputy);
Dic_File.Add("txtQualityManager", model.QualityManager);
Dic_File.Add("txtHSEManager", model.HSEManager);
Dic_File.Add("txtDrivingManager", model.DrivingManager);
Dic_File.Add("txtFinancialManager", model.FinancialManager);
Dic_File.Add("txtOfficeManager", model.OfficeManager);
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
if (model != null)
{
var Path = newUrl.Replace(".docx", "编辑栏.docx"); //word文件保存路径
AsposeWordHelper.HtmlIntoWord(model.AttachUrlContent, Path);
Document doc2 = new Document(Path);
doc2.FirstSection.PageSetup.SectionStart = SectionStart.OddPage;
doc.AppendDocument(doc2, ImportFormatMode.UseDestinationStyles);
File.Delete(Path);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
Document doc = new Aspose.Words.Document();
return doc;
}
}
public static Document sch9(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件9 施工分包商组织机构人员配置表及关键人员名单.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
string strSql = @" SELECT OrderNumber = row_number() over(order by AttachUrlItemId),
AttachUrlItemId
, AttachUrlId
, WorkPostName
, Number
, Arrivaltime
, Remarks "
+ @" from PHTGL_AttachUrl9_SubStaffing "
+ @" where 1=1 and AttachUrlId =@AttachUrlId order by OrderNumber";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@AttachUrlId", AttachUrlId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
if (tb.Rows.Count == 0)
{
DataRow dataRow = tb.NewRow();
tb.Rows.Add(dataRow);
}
tb.TableName = "Table";
doc.MailMerge.ExecuteWithRegions(tb);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
var model = AttachUrl9_SubPersonService.GetSubPersonByAttachId(AttachUrlId);
if (model != null)
{
Dic_File.Add("txtProjectManager", Convert.ToString(model.ProjectManager));
Dic_File.Add("txtProjectEngineer", Convert.ToString(model.ProjectEngineer));
Dic_File.Add("txtConstructionManager", Convert.ToString(model.ConstructionManager));
Dic_File.Add("txtQualityManager", Convert.ToString(model.QualityManager));
Dic_File.Add("txtHSEManager", Convert.ToString(model.HSEManager));
Dic_File.Add("txtPersonnel_Technician", Convert.ToString(model.Personnel_Technician));
Dic_File.Add("txtPersonnel_Civil_engineering", Convert.ToString(model.Personnel_Civil_engineering));
Dic_File.Add("txtPersonnel_Installation", Convert.ToString(model.Personnel_Installation));
Dic_File.Add("txtPersonnel_Electrical", Convert.ToString(model.Personnel_Electrical));
Dic_File.Add("txtPersonnel_meter", Convert.ToString(model.Personnel_meter));
}
else
{
Dic_File.Add("txtProjectManager", "");
Dic_File.Add("txtProjectEngineer", "");
Dic_File.Add("txtConstructionManager", "");
Dic_File.Add("txtQualityManager", "");
Dic_File.Add("txtHSEManager", "");
Dic_File.Add("txtPersonnel_Technician", "");
Dic_File.Add("txtPersonnel_Civil_engineering", "");
Dic_File.Add("txtPersonnel_Installation", "");
Dic_File.Add("txtPersonnel_Electrical", "");
Dic_File.Add("txtPersonnel_meter", "");
}
Dic_File.Add("schNumber", schnumber.ToString());
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
public static Document sch10(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件10 施工分包商人员机械投入计划一览表.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
//string strSql = @" SELECT AttachUrlItemId
// , AttachUrlId
// , Subject
// , WorkType
// , PersonNumber
// , LifeTime
// , Remarks "
// + @" from PHTGL_AttachUrl10_HumanInput "
// + @" where 1=1 and AttachUrlId=@AttachUrlId order by Subject";
//List<SqlParameter> listStr = new List<SqlParameter>();
//listStr.Add(new SqlParameter("@AttachUrlId", AttachUrlId));
//SqlParameter[] parameter = listStr.ToArray();
//DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
//if (tb.Rows.Count == 0)
//{
// DataRow dataRow = tb.NewRow();
// tb.Rows.Add(dataRow);
//}
//tb.TableName = "Table";
//doc.MailMerge.ExecuteWithRegions(tb);
//string strSql2 = @" SELECT
// OrderNumber = row_number() over(order by AttachUrlItemId)
// , AttachUrlItemId
// , AttachUrlId
// , MachineName
// , MachineSpec
// , number
// , LeasedOrOwned
// , Remarks "
// + @" FROM PHTGL_AttachUrl10_MachineInput "
// + @" where 1=1 and AttachUrlId=@AttachUrlId order by OrderNumber ";
//List<SqlParameter> listStr2 = new List<SqlParameter>();
//listStr2.Add(new SqlParameter("@AttachUrlId", AttachUrlId));
//SqlParameter[] parameter2 = listStr2.ToArray();
//DataTable tb2 = SQLHelper.GetDataTableRunText(strSql2, parameter2);
//if (tb2.Rows.Count == 0)
//{
// DataRow dataRow = tb2.NewRow();
// tb2.Rows.Add(dataRow);
//}
//tb2.TableName = "Table2";
//doc.MailMerge.ExecuteWithRegions(tb2);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
Dic_File.Add("schNumber", schnumber.ToString());
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
var model = AttachUrl10Service.GetAttachUrl10ByAttachUrlId(AttachUrlId);
if (model != null)
{
var Path = newUrl.Replace(".docx", "编辑栏.docx"); //word文件保存路径
AsposeWordHelper.HtmlIntoWord(model.AttachUrlContent, Path);
Document doc2 = new Document(Path);
doc2.FirstSection.PageSetup.SectionStart = SectionStart.OddPage;
doc.AppendDocument(doc2, ImportFormatMode.UseDestinationStyles);
File.Delete(Path);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
public static Document sch11(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件11 履约担保格式.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
var model = AttachUrl11Service.GetPHTGL_AttachUrl11ById(AttachUrlId);
if (model == null)
{
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("AttachUrlContent", "");
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc;
}
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("AttachUrlContent", model.AttachUrlContent);
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
public static Document sch12(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件12 预付款担保格式.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
var model = AttachUrl12Service.GetPHTGL_AttachUrl12ById(AttachUrlId);
if (model == null)
{
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("AttachUrlContent", "");
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc;
}
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("AttachUrlContent", model.AttachUrlContent);
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
public static Document sch13(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件13 工程质量保修书.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
var SpecialTermsConditionsId = BLL.AttachUrlService.GetAttachUrlById(AttachUrlId).SpecialTermsConditionsId;
var ContractId = BLL.PHTGL_SpecialTermsConditionsService.GetSpecialTermsConditionsById(SpecialTermsConditionsId).ContractId;
var sub = BLL.SubcontractAgreementService.GetSubcontractAgreementByContractId(ContractId);
if (sub != null)
{
Dic_File.Add("GeneralContractor", sub.GeneralContractor);
Dic_File.Add("SubConstruction", sub.SubConstruction);
}
var model = BLL.AttachUrl13Service.GetPHTGL_AttachUrl13ById(AttachUrlId);
if (model == null)
{
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("txtGeneralContractorName", "");
Dic_File.Add("txtSubcontractorsName", "");
Dic_File.Add("txtProjectName", "");
Dic_File.Add("txtWarrantyContent", "");
Dic_File.Add("txtOtherWarrantyPeriod", "");
Dic_File.Add("txtWarrantyPeriodDate", "");
Dic_File.Add("txtDefectLiabilityDate", "");
Dic_File.Add("txtDefectLiabilityPeriod", "");
Dic_File.Add("txtOtherqualityWarranty", "");
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc;
}
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("txtGeneralContractorName", Convert.ToString(model.GeneralContractorName));
Dic_File.Add("txtSubcontractorsName", Convert.ToString(model.SubcontractorsName));
Dic_File.Add("txtProjectName", Convert.ToString(model.ProjectName));
Dic_File.Add("txtWarrantyContent", Convert.ToString(model.WarrantyContent));
Dic_File.Add("txtOtherWarrantyPeriod", Convert.ToString(model.OtherWarrantyPeriod));
Dic_File.Add("txtWarrantyPeriodDate", Convert.ToString(model.WarrantyPeriodDate));
Dic_File.Add("txtDefectLiabilityDate", Convert.ToString(model.DefectLiabilityDate));
Dic_File.Add("txtDefectLiabilityPeriod", Convert.ToString(model.DefectLiabilityPeriod));
Dic_File.Add("txtOtherqualityWarranty", Convert.ToString(model.OtherqualityWarranty));
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
public static Document sch14(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件14 施工安全管理协议书.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
var SpecialTermsConditionsId = BLL.AttachUrlService.GetAttachUrlById(AttachUrlId).SpecialTermsConditionsId;
var ContractId = BLL.PHTGL_SpecialTermsConditionsService.GetSpecialTermsConditionsById(SpecialTermsConditionsId).ContractId;
var sub = BLL.SubcontractAgreementService.GetSubcontractAgreementByContractId(ContractId);
if (sub != null)
{
Dic_File.Add("GeneralContractor", sub.GeneralContractor);
Dic_File.Add("SubConstruction", sub.SubConstruction);
}
var model = AttachUrl14Service.GetPHTGL_AttachUrl14ById(AttachUrlId);
if (model == null)
{
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("txtProjectName", "");
Dic_File.Add("txtPersonAmount", "");
Dic_File.Add("txtSafetyManagerNumber", "");
Dic_File.Add("txtSystemManagerNumber", "");
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc;
}
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("txtProjectName", Convert.ToString(model.ProjectName));
Dic_File.Add("txtPersonAmount", Convert.ToString(model.PersonAmount));
Dic_File.Add("txtSafetyManagerNumber", Convert.ToString(model.SafetyManagerNumber));
Dic_File.Add("txtSystemManagerNumber", Convert.ToString(model.SystemManagerNumber));
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
public static Document sch15(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件15 施工现场总图管理规定.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
#region 1
string strSql = @" SELECT Number = row_number() over(order by AttachUrlItemId)
,AttachUrlItemId
, AttachUrlId
, AttachUrlContent
, ProjectName
, ContractId
, OrderNumber
, Type
, MainPoints
, Opinion "
+ @" from PHTGL_AttachUrl15_Sch1 "
+ @" where 1=1 and AttachUrlId=@AttachUrlId order by Number";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@AttachUrlId", AttachUrlId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
if (tb.Rows.Count == 0)
{
DataRow dataRow = tb.NewRow();
tb.Rows.Add(dataRow);
}
tb.TableName = "Table";
doc.MailMerge.ExecuteWithRegions(tb);
if (tb.Rows.Count > 0)
{
Dic_File.Add("Sch1_ProjectName", Convert.ToString(tb.Rows[0]["ProjectName"]));
Dic_File.Add("Sch1_ContractId", Convert.ToString(tb.Rows[0]["ContractId"]));
Dic_File.Add("txtAttachUrlContent", Convert.ToString(tb.Rows[0]["AttachUrlContent"]));
Dic_File.Add("Sch1_Opinion", Convert.ToString(tb.Rows[0]["Opinion"]));
}
else
{
Dic_File.Add("Sch1_ProjectName", "");
Dic_File.Add("Sch1_ContractId", "");
Dic_File.Add("txtAttachUrlContent", "");
Dic_File.Add("Sch1_Opinion", "");
}
#endregion
#region 2
var Sch2 = BLL.PHTGL_AttachUrl15_Sch2Service.GetPHTGL_AttachUrl15_Sch2ById(AttachUrlId);
if (Sch2 != null)
{
Dic_File.Add("Sch2_ProjectName", Sch2.ProjectName.ToString());
Dic_File.Add("Sch2_ContractId", Sch2.ContractId.ToString());
Dic_File.Add("Sch2_Company", Sch2.Company.ToString());
Dic_File.Add("Sch2_ConstructionTask", Sch2.ConstructionTask.ToString());
Dic_File.Add("Sch2_Maxcapacitance", Sch2.Maxcapacitance.ToString());
Dic_File.Add("Sch2_MaxuseWtater", Sch2.MaxuseWtater.ToString());
Dic_File.Add("Sch2_elemeterPosition", Sch2.ElemeterPosition.ToString());
Dic_File.Add("Sch2_WatermeterPosition", Sch2.WatermeterPosition.ToString());
Dic_File.Add("Sch2_elemeterRead", Sch2.ElemeterRead.ToString());
Dic_File.Add("Sch2_WatermeterRead", Sch2.WatermeterRead.ToString());
if (Sch2.IsApproval.ToString() == "0")
{
Dic_File.Add("Sch2_IsApproval", "□");
Dic_File.Add("Sch2_IsApprovalNo", "√");
}
else
{
Dic_File.Add("Sch2_IsApprovalNo", "□");
Dic_File.Add("Sch2_IsApproval", "√ ");
}
if (Sch2.IsLineLayout.ToString() == "0")
{
Dic_File.Add("Sch2_IsLineLayout", "□");
Dic_File.Add("Sch2_IsLineLayoutNo", "√");
}
else
{
Dic_File.Add("Sch2_IsLineLayoutNo", "□");
Dic_File.Add("Sch2_IsLineLayout", "√ ");
}
if (Sch2.IsPowerBox.ToString() == "0")
{
Dic_File.Add("Sch2_IsPowerBox", "□");
Dic_File.Add("Sch2_IsPowerBoxNo", "√");
}
else
{
Dic_File.Add("Sch2_IsPowerBoxNo", "□");
Dic_File.Add("Sch2_IsPowerBox", "√");
}
if (Sch2.IsProfessional_ele.ToString() == "0")
{
Dic_File.Add("Sch2_IsProfessional_ele", "□");
Dic_File.Add("Sch2_IsProfessional_eleNo", "√");
}
else
{
Dic_File.Add("Sch2_IsProfessional_eleNo", "□");
Dic_File.Add("Sch2_IsProfessional_ele", "√");
}
if (Sch2.IsLineInstall.ToString() == "0")
{
Dic_File.Add("Sch2_IsLineInstall", "□");
Dic_File.Add("Sch2_IsLineInstallNo", "√");
}
else
{
Dic_File.Add("Sch2_IsLineInstallNo", "□");
Dic_File.Add("Sch2_IsLineInstall", "√");
}
if (Sch2.IsValve.ToString() == "0")
{
Dic_File.Add("Sch2_IsValve", "□");
Dic_File.Add("Sch2_IsValveNo", "√");
}
else
{
Dic_File.Add("Sch2_IsValveNo", "□");
Dic_File.Add("Sch2_IsValve", "√");
}
Dic_File.Add("Sch2_Terminalnumber", Sch2.Terminalnumber.ToString());
Dic_File.Add("Sch2_LineCabinetNumber", Sch2.LineCabinetNumber.ToString());
Dic_File.Add("Sch2_electricPrice", Sch2.ElectricPrice.ToString());
Dic_File.Add("Sch2_WaterPrice", Sch2.WaterPrice.ToString());
}
else
{
Dic_File.Add("Sch2_ProjectName", "");
Dic_File.Add("Sch2_ContractId", "");
Dic_File.Add("Sch2_Company", "");
Dic_File.Add("Sch2_ConstructionTask", "");
Dic_File.Add("Sch2_Maxcapacitance", "");
Dic_File.Add("Sch2_MaxuseWtater", "");
Dic_File.Add("Sch2_elemeterPosition", "");
Dic_File.Add("Sch2_WatermeterPosition", "");
Dic_File.Add("Sch2_elemeterRead", "");
Dic_File.Add("Sch2_WatermeterRead", "");
Dic_File.Add("Sch2_IsApproval", "□");
Dic_File.Add("Sch2_IsApprovalNo", "□");
Dic_File.Add("Sch2_IsLineLayout", "□");
Dic_File.Add("Sch2_IsLineLayoutNo", "□");
Dic_File.Add("Sch2_IsPowerBox", "□");
Dic_File.Add("Sch2_IsPowerBoxNo", "□");
Dic_File.Add("Sch2_IsProfessional_ele", "□");
Dic_File.Add("Sch2_IsProfessional_eleNo", "□");
Dic_File.Add("Sch2_IsLineInstall", "□");
Dic_File.Add("Sch2_IsLineInstallNo", "□");
Dic_File.Add("Sch2_IsValve", "□");
Dic_File.Add("Sch2_IsValveNo", "□");
Dic_File.Add("Sch2_Terminalnumber", "");
Dic_File.Add("Sch2_LineCabinetNumber", "");
Dic_File.Add("Sch2_electricPrice", "");
Dic_File.Add("Sch2_WaterPrice", "");
}
#endregion
#region 3
List<Model.PHTGL_AttachUrl15_Sch3> lists = BLL.PHTGL_AttachUrl15_Sch3Service.GetPHTGL_AttachUrl15ByAttachUrlId(AttachUrlId);
if (lists.Count == 0)
{
lists.Add(new Model.PHTGL_AttachUrl15_Sch3());
}
DataTable tb2 = LINQToDataTable(lists);
if (tb2.Rows.Count == 0)
{
DataRow dataRow = tb2.NewRow();
tb2.Rows.Add(dataRow);
}
tb2.TableName = "Table2";
doc.MailMerge.ExecuteWithRegions(tb2);
#endregion
#region 4
var Sch4 = BLL.PHTGL_AttachUrl15_Sch4Service.GetPHTGL_AttachUrl15_Sch4ById(AttachUrlId);
if (Sch4 != null)
{
Dic_File.Add("Sch4_ProjectName", Sch4.ProjectName.ToString());
Dic_File.Add("Sch4_ContractId", Sch4.ContractId.ToString());
Dic_File.Add("Sch4_SubcontractorsName", Sch4.SubcontractorsName.ToString());
Dic_File.Add("Sch4_Type", Sch4.Type.ToString());
Dic_File.Add("Sch4_Time", string.Format("{0:D}", Sch4.Time));
Dic_File.Add("Sch4_Reason", Sch4.Reason.ToString());
Dic_File.Add("Sch4_Position", Sch4.Position.ToString());
Dic_File.Add("Sch4_ImpPlan", Sch4.ImpPlan.ToString());
Dic_File.Add("Sch4_Recoverymeasures", Sch4.Recoverymeasures.ToString());
Dic_File.Add("Sch4_Caption", Sch4.Caption.ToString());
}
else
{
Dic_File.Add("Sch4_ProjectName", "");
Dic_File.Add("Sch4_ContractId", "");
Dic_File.Add("Sch4_SubcontractorsName", "");
Dic_File.Add("Sch4_Type", "");
Dic_File.Add("Sch4_Time", "");
Dic_File.Add("Sch4_Reason", "");
Dic_File.Add("Sch4_Position", "");
Dic_File.Add("Sch4_ImpPlan", "");
Dic_File.Add("Sch4_Recoverymeasures", "");
Dic_File.Add("Sch4_Caption", "");
}
#endregion
Dic_File.Add("schNumber", schnumber.ToString());
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
public static Document sch16(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件16施工质量奖惩管理规定.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
Dic_File.Add("schNumber", schnumber.ToString());
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
public static Document sch17(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件17保密协议书.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
Dic_File.Add("schNumber", schnumber.ToString());
var SpecialTermsConditionsId = BLL.AttachUrlService.GetAttachUrlById(AttachUrlId).SpecialTermsConditionsId;
var ContractId = BLL.PHTGL_SpecialTermsConditionsService.GetSpecialTermsConditionsById(SpecialTermsConditionsId).ContractId;
var sub = BLL.SubcontractAgreementService.GetSubcontractAgreementByContractId(ContractId);
if (sub != null)
{
Dic_File.Add("GeneralContractor", sub.GeneralContractor);
Dic_File.Add("SubConstruction", sub.SubConstruction);
}
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
public static Document sch18(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件18落实施工作业人员待遇承诺书.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
var SpecialTermsConditionsId = BLL.AttachUrlService.GetAttachUrlById(AttachUrlId).SpecialTermsConditionsId;
var ContractId = BLL.PHTGL_SpecialTermsConditionsService.GetSpecialTermsConditionsById(SpecialTermsConditionsId).ContractId;
var sub = BLL.SubcontractAgreementService.GetSubcontractAgreementByContractId(ContractId);
if (sub != null)
{
Dic_File.Add("GeneralContractor", sub.GeneralContractor);
Dic_File.Add("SubConstruction", sub.SubConstruction);
}
var att = BLL.AttachUrl18Service.GetPHTGL_AttachUrl18ById(AttachUrlId);
if (att == null)
{
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("txtGeneralContractorName", "");
Dic_File.Add("txtSubcontractorsName", "");
Dic_File.Add("txtProjectName", "");
Dic_File.Add("txtContractId", "");
Dic_File.Add("txtStartDate", "");
Dic_File.Add("txtEndDate", "");
Dic_File.Add("txtPersonSum", "");
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc;
}
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("txtGeneralContractorName", att.GeneralContractorName);
Dic_File.Add("txtSubcontractorsName", att.SubcontractorsName);
Dic_File.Add("txtProjectName", att.ProjectName);
Dic_File.Add("txtContractId", att.ContractId);
Dic_File.Add("txtStartDate", att.StartDate.ToString());
Dic_File.Add("txtEndDate", att.EndDate.ToString());
Dic_File.Add("txtPersonSum", att.PersonSum.ToString());
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
public static Document sch19(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件19 联合体协议.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
var model = AttachUrl19Service.GetPHTGL_AttachUrl19ById(AttachUrlId);
if (model == null)
{
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("AttachUrlContent", "");
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc;
}
Dic_File.Add("schNumber", schnumber.ToString());
Dic_File.Add("AttachUrlContent", model.AttachUrlContent);
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
public static Document sch20(string AttachUrlId, int schnumber)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
initTemplatePath = "File\\Word\\PHTGL\\施工分包合同\\附件20 其他.docx";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".docx");
filePath = initTemplatePath.Replace(".docx", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf");
try
{
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(newUrl);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
Dic_File.Add("schNumber", schnumber.ToString());
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
var model = AttachUrl20Service.GetAttachUrl20ByAttachUrlId(AttachUrlId);
if (model != null)
{
var Path = newUrl.Replace(".docx", "编辑栏.docx"); //word文件保存路径
AsposeWordHelper.HtmlIntoWord(model.AttachUrlContent, Path);
Document doc2 = new Document(Path);
doc2.FirstSection.PageSetup.SectionStart = SectionStart.OddPage;
doc.AppendDocument(doc2, ImportFormatMode.UseDestinationStyles);
File.Delete(Path);
}
doc.Save(newUrl);
//生成PDF文件
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(string.Empty, ex);
Document doc1 = new Aspose.Words.Document();
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
return doc1;
}
}
#endregion
#region IEnumerable<T>DataTable类型
/// <summary>
/// 将IEnumerable<T>类型的集合转换为DataTable类型
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="varlist"></param>
/// <returns></returns>
public static DataTable LINQToDataTable<T>(IEnumerable<T> varlist)
{ //定义要返回的DataTable对象
DataTable dtReturn = new DataTable();
// 保存列集合的属性信息数组
PropertyInfo[] oProps = null;
if (varlist == null) return dtReturn;//安全性检查
//循环遍历集合,使用反射获取类型的属性信息
foreach (T rec in varlist)
{
//使用反射获取T类型的属性信息返回一个PropertyInfo类型的集合
if (oProps == null)
{
oProps = ((Type)rec.GetType()).GetProperties();
//循环PropertyInfo数组
foreach (PropertyInfo pi in oProps)
{
Type colType = pi.PropertyType;//得到属性的类型
//如果属性为泛型类型
if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition()
== typeof(Nullable<>)))
{ //获取泛型类型的参数
colType = colType.GetGenericArguments()[0];
}
//将类型的属性名称与属性类型作为DataTable的列数据
dtReturn.Columns.Add(new DataColumn(pi.Name, colType));
}
}
//新建一个用于添加到DataTable中的DataRow对象
DataRow dr = dtReturn.NewRow();
//循环遍历属性集合
foreach (PropertyInfo pi in oProps)
{ //为DataRow中的指定列赋值
dr[pi.Name] = pi.GetValue(rec, null) == null ?
DBNull.Value : pi.GetValue(rec, null);
}
//将具有结果值的DataRow添加到DataTable集合中
dtReturn.Rows.Add(dr);
}
return dtReturn;//返回DataTable对象
}
#endregion
}
}