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