547 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			547 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			C#
		
	
	
	
| using BLL;
 | |
| using Model;
 | |
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Configuration;
 | |
| using System.IO;
 | |
| using System.Linq;
 | |
| using System.Web.Http;
 | |
| using System.Web.UI.WebControls;
 | |
| using Aspose.Words;
 | |
| 
 | |
| namespace Mvc.Controllers
 | |
| {
 | |
|     public class TechnicalContactController : ApiController
 | |
|     {
 | |
|         [HttpGet]
 | |
|         public ResponseData<List<Check_TechnicalContactList>> Index(string projectId, int index, int page, string name = "")
 | |
|         {
 | |
|             ResponseData<List<Check_TechnicalContactList>> res = new ResponseData<List<Check_TechnicalContactList>>();
 | |
| 
 | |
|             res.successful = true;
 | |
|             res.resultValue = BLL.TechnicalContactListService.getListDataForApi(name, projectId, index, page);
 | |
|             return res;
 | |
|         }
 | |
| 
 | |
| 
 | |
|         [HttpGet]
 | |
|         public ResponseData<List<Check_TechnicalContactList>> Search(string projectId, int index, int page, string proposedUnitId = "", string unitWorkId = "", string mainSendUnit = "", string cCUnitIds = "", string professional = "", string state = "", string contactListType = "", string isReply = "", string dateA = "", string dateZ = "")
 | |
|         {
 | |
|             ResponseData<List<Check_TechnicalContactList>> res = new ResponseData<List<Check_TechnicalContactList>>();
 | |
| 
 | |
|             res.successful = true;
 | |
|             res.resultValue = BLL.TechnicalContactListService.getListDataForApi(state, contactListType, isReply, dateA, dateZ, proposedUnitId, unitWorkId, mainSendUnit, cCUnitIds, professional, projectId, index, page);
 | |
|             return res;
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// 根据id获取详情
 | |
|         /// </summary>
 | |
|         /// <param name="CheckControlCode"></param>
 | |
|         /// <returns></returns>
 | |
|         public ResponseData<Check_TechnicalContactList> GetContactById(string id)
 | |
|         {
 | |
|             ResponseData<Check_TechnicalContactList> res = new ResponseData<Check_TechnicalContactList>();
 | |
|             Check_TechnicalContactList technicalContactList = BLL.TechnicalContactListService.GetTechnicalContactListByTechnicalContactListIdForApi(id);
 | |
| 
 | |
|             res.successful = true;
 | |
|             res.resultValue = BeanUtil.CopyOjbect<Check_TechnicalContactList>(technicalContactList, true);
 | |
|             return res;
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// 根据code获取 审核记录
 | |
|         /// </summary>
 | |
|         /// <param name="code"></param>
 | |
|         /// <returns></returns>
 | |
|         public ResponseData<List<Check_TechnicalContactListApprove>> GetApproveById(string id)
 | |
|         {
 | |
|             ResponseData<List<Check_TechnicalContactListApprove>> res = new ResponseData<List<Check_TechnicalContactListApprove>>();
 | |
| 
 | |
|             res.successful = true;
 | |
|             res.resultValue = BLL.TechnicalContactListApproveService.GetListDataByIdForApi(id);
 | |
|             return res;
 | |
|         }
 | |
| 
 | |
| 
 | |
|         public ResponseData<Check_TechnicalContactListApprove> GetCurrApproveById(string id)
 | |
|         {
 | |
|             ResponseData<Check_TechnicalContactListApprove> res = new ResponseData<Check_TechnicalContactListApprove>();
 | |
| 
 | |
|             res.successful = true;
 | |
|             res.resultValue = BeanUtil.CopyOjbect<Check_TechnicalContactListApprove>(BLL.TechnicalContactListApproveService.getCurrApproveForApi(id), true);
 | |
|             return res;
 | |
|         }
 | |
| 
 | |
| 
 | |
|         [HttpPost]
 | |
|         public ResponseData<string> AddTechnicalContact([FromBody]Model.Check_TechnicalContactList CheckControl)
 | |
|         {
 | |
|             ResponseData<string> res = new ResponseData<string>();
 | |
|             try
 | |
|             {
 | |
|                 if (string.IsNullOrEmpty(CheckControl.TechnicalContactListId))
 | |
|                 {
 | |
|                     CheckControl.TechnicalContactListId = Guid.NewGuid().ToString();
 | |
|                     CheckControl.CompileDate = DateTime.Now;
 | |
|                     BLL.TechnicalContactListService.AddTechnicalContactListForApi(CheckControl);
 | |
|                     //BLL.AttachFileService.updateAttachFile(CheckControl.ReturnAttachUrl, CheckControl.TechnicalContactListId + "r",BLL. Const.TechnicalContactListMenuId);
 | |
|                     //BLL.AttachFileService.updateAttachFile(CheckControl.AttachUrl, CheckControl.TechnicalContactListId, BLL.Const.TechnicalContactListMenuId);
 | |
|                     SaveAttachFile(CheckControl.TechnicalContactListId + "re", BLL.Const.TechnicalContactListMenuId, CheckControl.ReturnAttachUrl);
 | |
|                     SaveAttachFile(CheckControl.TechnicalContactListId + "r", BLL.Const.TechnicalContactListMenuId, CheckControl.ReAttachUrl);
 | |
|                     SaveAttachFile(CheckControl.TechnicalContactListId, BLL.Const.TechnicalContactListMenuId, CheckControl.AttachUrl);
 | |
|                     res.resultValue = CheckControl.TechnicalContactListId;
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     BLL.TechnicalContactListService.UpdateTechnicalContactListForApi(CheckControl);
 | |
|                     //BLL.AttachFileService.updateAttachFile(CheckControl.ReturnAttachUrl, CheckControl.TechnicalContactListId + "r", BLL.Const.TechnicalContactListMenuId);
 | |
|                     //BLL.AttachFileService.updateAttachFile(CheckControl.AttachUrl, CheckControl.TechnicalContactListId, BLL.Const.TechnicalContactListMenuId);
 | |
|                     SaveAttachFile(CheckControl.TechnicalContactListId + "re", BLL.Const.TechnicalContactListMenuId, CheckControl.ReturnAttachUrl);
 | |
|                     SaveAttachFile(CheckControl.TechnicalContactListId + "r", BLL.Const.TechnicalContactListMenuId, CheckControl.ReAttachUrl);
 | |
|                     SaveAttachFile(CheckControl.TechnicalContactListId, BLL.Const.TechnicalContactListMenuId, CheckControl.AttachUrl);
 | |
|                     res.resultValue = CheckControl.TechnicalContactListId;
 | |
|                 }
 | |
|                 res.successful = true;
 | |
|             }
 | |
|             catch (Exception e)
 | |
|             {
 | |
|                 res.resultHint = e.StackTrace;
 | |
|                 res.successful = false;
 | |
|             }
 | |
| 
 | |
|             return res;
 | |
| 
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 
 | |
|         /// </summary>
 | |
|         public static void SaveAttachFile(string dataId, string menuId, string url)
 | |
|         {
 | |
|             Model.ToDoItem toDoItem = new Model.ToDoItem
 | |
|             {
 | |
|                 MenuId = menuId,
 | |
|                 DataId = dataId,
 | |
|                 UrlStr = url,
 | |
|             };
 | |
|             APIUpLoadFileService.SaveAttachUrl(toDoItem);
 | |
|         }
 | |
| 
 | |
|         [HttpPost]
 | |
|         public ResponseData<string> AddApprove([FromBody]Model.Check_TechnicalContactListApprove approve)
 | |
|         {
 | |
|             ResponseData<string> res = new ResponseData<string>();
 | |
|             try
 | |
|             {
 | |
|                 Model.Check_TechnicalContactList CheckControl = new Model.Check_TechnicalContactList();
 | |
|                 CheckControl.TechnicalContactListId = approve.TechnicalContactListId;
 | |
|                 CheckControl.State = approve.ApproveType;
 | |
|                 BLL.TechnicalContactListService.UpdateTechnicalContactListForApi(CheckControl);
 | |
|                 Model.Check_TechnicalContactList technicalContactList = TechnicalContactListService.GetTechnicalContactListByTechnicalContactListId(approve.TechnicalContactListId);
 | |
|                 string unitType = string.Empty;
 | |
|                 Model.Project_ProjectUnit unit = ProjectUnitService.GetProjectUnitByUnitIdProjectId(technicalContactList.ProjectId, technicalContactList.ProposedUnitId);
 | |
|                 if (unit != null)
 | |
|                 {
 | |
|                     unitType = unit.UnitType;
 | |
|                 }
 | |
|                 if (unitType == BLL.Const.ProjectUnitType_1 && technicalContactList.IsReply == "2" && approve.ApproveType == Const.TechnicalContactList_Complete)  //总包发起
 | |
|                 {
 | |
|                     List<Model.Sys_User> seeUsers = new List<Model.Sys_User>();
 | |
|                     seeUsers.AddRange(UserService.GetSeeUserList3(technicalContactList.ProjectId, technicalContactList.ProposedUnitId, technicalContactList.MainSendUnitId, technicalContactList.CCUnitIds, technicalContactList.CNProfessionalCode, technicalContactList.UnitWorkId.ToString()));
 | |
|                     seeUsers = seeUsers.Distinct().ToList();
 | |
|                     foreach (var seeUser in seeUsers)
 | |
|                     {
 | |
|                         Model.Check_TechnicalContactListApprove approveS = new Model.Check_TechnicalContactListApprove();
 | |
|                         approveS.TechnicalContactListId = approve.TechnicalContactListId;
 | |
|                         approveS.ApproveMan = seeUser.UserId;
 | |
|                         approveS.ApproveType = "S";
 | |
|                         TechnicalContactListApproveService.AddTechnicalContactListApprove(approveS);
 | |
|                     }
 | |
|                 }
 | |
|                 if (unitType == BLL.Const.ProjectUnitType_2 && technicalContactList.IsReply == "2" && approve.ApproveType == Const.TechnicalContactList_Complete)  //分包发起
 | |
|                 {
 | |
|                     List<Model.Sys_User> seeUsers = new List<Model.Sys_User>();
 | |
|                     seeUsers.AddRange(UserService.GetSeeUserList3(technicalContactList.ProjectId, technicalContactList.ProposedUnitId, technicalContactList.MainSendUnitId, technicalContactList.CCUnitIds, technicalContactList.CNProfessionalCode, technicalContactList.UnitWorkId.ToString()));
 | |
|                     seeUsers = seeUsers.Distinct().ToList();
 | |
|                     foreach (var seeUser in seeUsers)
 | |
|                     {
 | |
|                         Model.Check_TechnicalContactListApprove approveS = new Model.Check_TechnicalContactListApprove();
 | |
|                         approveS.TechnicalContactListId = approve.TechnicalContactListId;
 | |
|                         approveS.ApproveMan = seeUser.UserId;
 | |
|                         approveS.ApproveType = "S";
 | |
|                         TechnicalContactListApproveService.AddTechnicalContactListApprove(approveS);
 | |
|                     }
 | |
|                 }
 | |
|                 res.resultValue = BLL.TechnicalContactListApproveService.AddTechnicalContactListApprove(approve);
 | |
|                 res.successful = true;
 | |
|             }
 | |
|             catch (Exception e)
 | |
|             {
 | |
|                 res.resultHint = e.StackTrace;
 | |
|                 res.successful = false;
 | |
|             }
 | |
| 
 | |
|             return res;
 | |
| 
 | |
|         }
 | |
|         [HttpPost]
 | |
|         public ResponseData<string> UpdateApprove([FromBody]Model.Check_TechnicalContactListApprove approve)
 | |
|         {
 | |
|             ResponseData<string> res = new ResponseData<string>();
 | |
|             try
 | |
|             {
 | |
|                 Model.Check_TechnicalContactListApprove approve1 = BLL.TechnicalContactListApproveService.GetTechnicalContactListApproveByApproveIdForApi(approve.TechnicalContactListApproveId);
 | |
| 
 | |
|                 Check_TechnicalContactList technicalContactList = BLL.TechnicalContactListService.GetTechnicalContactListByTechnicalContactListId(approve1.TechnicalContactListId);
 | |
| 
 | |
|                 if (technicalContactList.IsReply == "1")
 | |
|                 {
 | |
|                     approve.ApproveDate = DateTime.Now;
 | |
|                     //  approve1.ApproveIdea = approve.ApproveIdea;
 | |
|                     // approve1.IsAgree = approve.IsAgree;
 | |
|                     //approve1.AttachUrl = approve.AttachUrl;
 | |
| 
 | |
|                     switch (approve1.ApproveType)
 | |
|                     {
 | |
|                         case "5":
 | |
|                         case "7":
 | |
|                         case "F":
 | |
|                         case "Z":
 | |
|                         case "J":
 | |
|                         case "H":
 | |
|                             {
 | |
|                                 Model.Check_TechnicalContactList CheckControl = new Model.Check_TechnicalContactList();
 | |
|                                 CheckControl.TechnicalContactListId = approve1.TechnicalContactListId;
 | |
|                                 CheckControl.ReOpinion = approve.ApproveIdea;
 | |
|                                 BLL.TechnicalContactListService.UpdateTechnicalContactListForApi(CheckControl);
 | |
|                                 approve.ApproveIdea = null;
 | |
| 
 | |
|                             }
 | |
|                             break;
 | |
|                         case "2":
 | |
|                             Project_ProjectUnit unit = BLL.ProjectUnitService.GetProjectUnitByUnitIdProjectId(technicalContactList.ProjectId, technicalContactList.ProposedUnitId);
 | |
|                             //Base_Unit unit = BLL.UnitService.GetUnitByUnitId(technicalContactList.ProposedUnitId);
 | |
|                             if (unit.UnitType == BLL.Const.ProjectUnitType_1)
 | |
|                             {
 | |
|                                 Model.Check_TechnicalContactList CheckControl = new Model.Check_TechnicalContactList();
 | |
|                                 CheckControl.TechnicalContactListId = approve1.TechnicalContactListId;
 | |
|                                 CheckControl.ReOpinion = approve.ApproveIdea;
 | |
|                                 BLL.TechnicalContactListService.UpdateTechnicalContactListForApi(CheckControl);
 | |
|                                 approve.ApproveIdea = null;
 | |
| 
 | |
|                             }
 | |
| 
 | |
|                             break;
 | |
|                         case "4":
 | |
|                             Project_ProjectUnit unit1 = BLL.ProjectUnitService.GetProjectUnitByUnitIdProjectId(technicalContactList.ProjectId, technicalContactList.ProposedUnitId);
 | |
| 
 | |
|                             if (unit1.UnitType != BLL.Const.ProjectUnitType_1)
 | |
|                             {
 | |
|                                 Model.Check_TechnicalContactList CheckControl = new Model.Check_TechnicalContactList();
 | |
|                                 CheckControl.TechnicalContactListId = approve1.TechnicalContactListId;
 | |
|                                 CheckControl.ReOpinion = approve.ApproveIdea;
 | |
|                                 BLL.TechnicalContactListService.UpdateTechnicalContactListForApi(CheckControl);
 | |
|                                 approve.ApproveIdea = null;
 | |
| 
 | |
|                             }
 | |
| 
 | |
|                             break;
 | |
|                     }
 | |
| 
 | |
|                 }
 | |
|                 BLL.TechnicalContactListApproveService.UpdateTechnicalContactListApproveForApi(approve);
 | |
|                 res.successful = true;
 | |
|             }
 | |
|             catch (Exception e)
 | |
|             {
 | |
|                 res.resultHint = e.StackTrace;
 | |
|                 res.successful = false;
 | |
|             }
 | |
| 
 | |
|             return res;
 | |
| 
 | |
|         }
 | |
|         [HttpGet]
 | |
|         public ResponseData<string> see(string dataId, string userId)
 | |
|         {
 | |
|             ResponseData<string> res = new ResponseData<string>();
 | |
|             res.successful = true;
 | |
|             BLL.TechnicalContactListApproveService.See(dataId, userId);
 | |
|             return res;
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// 导出工程联络单
 | |
|         /// </summary>
 | |
|         /// <param name="CheckControlCode"></param>
 | |
|         /// <returns></returns>
 | |
|         [HttpGet]
 | |
|         public ResponseData<string> UplodeTechnicalContact(string id)
 | |
|         {
 | |
|             ResponseData<string> res = new ResponseData<string>();
 | |
|             try
 | |
|             {
 | |
|                 Model.Check_TechnicalContactList technicalContactList = TechnicalContactListService.GetTechnicalContactListByTechnicalContactListId(id);
 | |
|                 string rootPath = ConfigurationManager.AppSettings["localRoot"];//物理路径 
 | |
|                 string uploadfilepath = rootPath + Const.TechnicalContactListTemplateUrl;
 | |
|                 string path = "FileUpload\\TechnicalContactList\\" + DateTime.Now.ToString("yyyy-MM") + "\\工程联络单.doc";
 | |
|                 string newuploadfilepath = rootPath + path;
 | |
|                 string newUrl = newuploadfilepath.Replace(".doc", technicalContactList.Code + ".doc");
 | |
|                 string AttachPath = rootPath + "FileUpload\\TechnicalContactList\\" + DateTime.Now.ToString("yyyy-MM"); ///文件夹
 | |
|                 if (!Directory.Exists(AttachPath))
 | |
|                 {
 | |
|                     Directory.CreateDirectory(AttachPath);
 | |
|                 }
 | |
|                 if (File.Exists(newUrl))
 | |
|                 {
 | |
|                     File.Delete(newUrl);
 | |
|                 }
 | |
|                 File.Copy(uploadfilepath, newUrl);
 | |
|                 //更新书签内容
 | |
|                 var unit = UnitService.GetUnitByUnitId(technicalContactList.ProposedUnitId);
 | |
|                 string unitType = string.Empty;
 | |
|                 var projectUnit = ProjectUnitService.GetProjectUnitByUnitIdProjectId(technicalContactList.ProjectId, technicalContactList.ProposedUnitId);
 | |
|                 if (unit != null)
 | |
|                 {
 | |
|                     unitType = projectUnit.UnitType;
 | |
|                 }
 | |
|                 Document doc = new Aspose.Words.Document(newUrl);
 | |
|                 Bookmark bookmarkProjectName = doc.Range.Bookmarks["ProjectName"];
 | |
|                 if (bookmarkProjectName != null)
 | |
|                 {
 | |
|                     var project = ProjectService.GetProjectByProjectId(technicalContactList.ProjectId);
 | |
|                     if (project != null)
 | |
|                     {
 | |
|                         bookmarkProjectName.Text = project.ProjectName;
 | |
|                     }
 | |
|                 }
 | |
|                 Bookmark bookmarkCode = doc.Range.Bookmarks["Code"];
 | |
|                 if (bookmarkCode != null)
 | |
|                 {
 | |
|                     bookmarkCode.Text = technicalContactList.Code;
 | |
|                 }
 | |
|                 Bookmark bookmarkProposedUnit = doc.Range.Bookmarks["ProposedUnit"];
 | |
|                 if (bookmarkProposedUnit != null)
 | |
|                 {
 | |
| 
 | |
|                     if (unit != null)
 | |
|                     {
 | |
|                         bookmarkProposedUnit.Text = unit.UnitName;
 | |
|                     }
 | |
| 
 | |
|                 }
 | |
|                 Bookmark bookmarkUnitWork = doc.Range.Bookmarks["UnitWork"];
 | |
|                 if (bookmarkUnitWork != null)
 | |
|                 {
 | |
|                     bookmarkUnitWork.Text = UnitWorkService.GetUnitWorkName(technicalContactList.UnitWorkId);
 | |
|                 }
 | |
|                 Bookmark bookmarkCNProfessional = doc.Range.Bookmarks["CNProfessional"];
 | |
|                 if (bookmarkCNProfessional != null)
 | |
|                 {
 | |
|                     bookmarkCNProfessional.Text = CNProfessionalService.GetCNProfessionalNameByCode(technicalContactList.CNProfessionalCode);
 | |
|                 }
 | |
|                 Bookmark bookmarkMainSendUnit = doc.Range.Bookmarks["MainSendUnit"];
 | |
|                 if (bookmarkMainSendUnit != null)
 | |
|                 {
 | |
|                     bookmarkMainSendUnit.Text = UnitService.GetUnitNameByUnitId(technicalContactList.MainSendUnitId);
 | |
|                 }
 | |
|                 Bookmark bookmarkCCUnit = doc.Range.Bookmarks["CCUnit"];
 | |
|                 if (bookmarkCCUnit != null)
 | |
|                 {
 | |
|                     bookmarkCCUnit.Text = UnitService.GetUnitNameByUnitId(technicalContactList.CCUnitIds);
 | |
|                 }
 | |
|                 Bookmark bookmarkContactListType = doc.Range.Bookmarks["ContactListType"];
 | |
|                 if (bookmarkContactListType != null)
 | |
|                 {
 | |
|                     if (technicalContactList.ContactListType == "1")
 | |
|                     {
 | |
|                         bookmarkContactListType.Text = "■图纸类   □非图纸类";
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         bookmarkContactListType.Text = "□图纸类   ■非图纸类";
 | |
|                     }
 | |
|                 }
 | |
|                 Bookmark bookmarkIsReply = doc.Range.Bookmarks["IsReply"];
 | |
|                 if (bookmarkIsReply != null)
 | |
|                 {
 | |
|                     if (technicalContactList.IsReply == "1")
 | |
|                     {
 | |
|                         bookmarkIsReply.Text = "■需要回复   □不需回复";
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         bookmarkIsReply.Text = "□需要回复   ■不需回复";
 | |
|                     }
 | |
|                 }
 | |
|                 //☑
 | |
|                 Bookmark bookmarkCause = doc.Range.Bookmarks["Cause"];
 | |
|                 if (bookmarkCause != null)
 | |
|                 {
 | |
|                     if (!string.IsNullOrEmpty(technicalContactList.Cause))
 | |
|                     {
 | |
|                         bookmarkCause.Text = technicalContactList.Cause;
 | |
|                     }
 | |
| 
 | |
|                 }
 | |
|                 Bookmark bookmarkContents = doc.Range.Bookmarks["Contents"];
 | |
|                 if (bookmarkContents != null)
 | |
|                 {
 | |
|                     if (!string.IsNullOrEmpty(technicalContactList.Contents))
 | |
|                     {
 | |
|                         bookmarkContents.Text = technicalContactList.Contents;
 | |
|                     }
 | |
| 
 | |
|                 }
 | |
|                 Bookmark bookmarkAttachUrl = doc.Range.Bookmarks["AttachUrl"];
 | |
|                 if (bookmarkAttachUrl != null)
 | |
|                 {
 | |
|                     if (AttachFileService.Getfile(technicalContactList.TechnicalContactListId, Const.TechnicalContactListMenuId))
 | |
|                     {
 | |
|                         bookmarkAttachUrl.Text = "见附页";
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         bookmarkAttachUrl.Text = "无";
 | |
|                     }
 | |
|                 }
 | |
|                 Bookmark bookmarkCompileMan = doc.Range.Bookmarks["CompileMan"];
 | |
|                 if (bookmarkCompileMan != null)
 | |
|                 {
 | |
|                     Model.Sys_User user = UserService.GetUserByUserId(technicalContactList.CompileMan);
 | |
|                     var file = string.Empty;
 | |
|                     if (user != null)
 | |
|                     {
 | |
|                         file = user.SignatureUrl;
 | |
|                     }
 | |
|                     if (!string.IsNullOrWhiteSpace(file))
 | |
|                     {
 | |
|                         string url = rootPath + file;
 | |
|                         DocumentBuilder builders = new DocumentBuilder(doc);
 | |
|                         builders.MoveToBookmark("CompileMan");
 | |
|                         if (!string.IsNullOrEmpty(url))
 | |
|                         {
 | |
|                             System.Drawing.Size JpgSize;
 | |
|                             float Wpx;
 | |
|                             float Hpx;
 | |
|                             UploadAttachmentService.getJpgSize(url, out JpgSize, out Wpx, out Hpx);
 | |
|                             double i = 1;
 | |
|                             i = JpgSize.Width / 50.0;
 | |
|                             if (File.Exists(url))
 | |
|                             {
 | |
|                                 builders.InsertImage(url, JpgSize.Width / i, JpgSize.Height / i);
 | |
|                             }
 | |
|                             else
 | |
|                             {
 | |
|                                 bookmarkCompileMan.Text = user.UserName;
 | |
|                             }
 | |
| 
 | |
|                         }
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         bookmarkCompileMan.Text = UserService.GetUserNameByUserId(technicalContactList.CompileMan);
 | |
|                     }
 | |
|                 }
 | |
|                 Bookmark bookmarkAuditMan1 = doc.Range.Bookmarks["AuditMan1"];
 | |
|                 if (bookmarkAuditMan1 != null)
 | |
|                 {
 | |
|                     Model.Check_TechnicalContactListApprove approve = null;
 | |
|                     if (unitType == BLL.Const.ProjectUnitType_2)   //施工分包发起
 | |
|                     {
 | |
|                         approve = TechnicalContactListApproveService.GetApprove(technicalContactList.TechnicalContactListId);
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         approve = TechnicalContactListApproveService.GetApprove2(technicalContactList.TechnicalContactListId);
 | |
|                     }
 | |
|                     if (approve != null)
 | |
|                     {
 | |
|                         Model.Sys_User user = UserService.GetUserByUserId(approve.ApproveMan);
 | |
|                         var file = user.SignatureUrl;
 | |
|                         if (!string.IsNullOrWhiteSpace(file))
 | |
|                         {
 | |
|                             string url = rootPath + file;
 | |
|                             DocumentBuilder builders = new DocumentBuilder(doc);
 | |
|                             builders.MoveToBookmark("AuditMan1");
 | |
|                             if (!string.IsNullOrEmpty(url))
 | |
|                             {
 | |
|                                 System.Drawing.Size JpgSize;
 | |
|                                 float Wpx;
 | |
|                                 float Hpx;
 | |
|                                 UploadAttachmentService.getJpgSize(url, out JpgSize, out Wpx, out Hpx);
 | |
|                                 double i = 1;
 | |
|                                 i = JpgSize.Width / 50.0;
 | |
|                                 if (File.Exists(url))
 | |
|                                 {
 | |
|                                     builders.InsertImage(url, JpgSize.Width / i, JpgSize.Height / i);
 | |
|                                 }
 | |
|                                 else
 | |
|                                 {
 | |
|                                     bookmarkAuditMan1.Text = user.UserName;
 | |
|                                 }
 | |
| 
 | |
|                             }
 | |
|                         }
 | |
|                         else
 | |
|                         {
 | |
|                             bookmarkAuditMan1.Text = UserService.GetUserNameByUserId(approve.ApproveMan);
 | |
|                         }
 | |
|                     }
 | |
|                 }
 | |
|                 Bookmark bookmarkCompileDate = doc.Range.Bookmarks["CompileDate"];
 | |
|                 if (bookmarkCompileDate != null)
 | |
|                 {
 | |
|                     if (technicalContactList.CompileDate != null)
 | |
|                     {
 | |
|                         bookmarkCompileDate.Text = string.Format("{0:yyyy-MM-dd}", technicalContactList.CompileDate);
 | |
|                     }
 | |
|                 }
 | |
|                 Bookmark bookmarkApproveIdea = doc.Range.Bookmarks["ApproveIdea"];
 | |
|                 if (bookmarkApproveIdea != null)
 | |
|                 {
 | |
|                     if (!string.IsNullOrEmpty(technicalContactList.ReOpinion))
 | |
|                     {
 | |
|                         bookmarkApproveIdea.Text = technicalContactList.ReOpinion;
 | |
|                     }
 | |
| 
 | |
|                 }
 | |
|                 doc.Save(newUrl);
 | |
|                 //生成PDF文件
 | |
|                 string pdfUrl = newUrl.Replace(".doc", ".pdf");
 | |
|                 if (File.Exists(pdfUrl))
 | |
|                 {
 | |
|                     File.Delete(pdfUrl);
 | |
|                 }
 | |
|                 Document doc1 = new Aspose.Words.Document(newUrl);
 | |
|                 //验证参数
 | |
|                 if (doc1 == null) { throw new Exception("Word文件无效"); }
 | |
|                 doc1.Save(pdfUrl, Aspose.Words.SaveFormat.Pdf);//还可以改成其它格式
 | |
|                                                                //Microsoft.Office.Interop.Word.Document doc1 = new Microsoft.Office.Interop.Word.Document(newUrl);
 | |
|                                                                //object fontname = "Wingdings 2";
 | |
|                                                                //object uic = true;
 | |
|                                                                //doc1.Bookmarks["ApproveIdea"].Range.InsertSymbol(-4014, ref fontname, ref uic);
 | |
|                 string initTemplatePath = "FileUpload/TechnicalContactList/" + DateTime.Now.ToString("yyyy-MM") + "/工程联络单.doc";
 | |
|                 string filePath = initTemplatePath.Replace(".doc", technicalContactList.Code + ".pdf");
 | |
|                 //string fileName = Path.GetFileName(filePath);
 | |
|                 //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();
 | |
|                 res.successful = true;
 | |
|                 res.resultValue = filePath;
 | |
|             }
 | |
|             catch (Exception e)
 | |
|             {
 | |
|                 res.successful = false;
 | |
|                 res.resultValue = e.StackTrace + e.Message;
 | |
|                 throw;
 | |
|             }
 | |
| 
 | |
|             return res;
 | |
|         }
 | |
|     }
 | |
| }
 |