211 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			211 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | ||
| using System.Collections.Generic;
 | ||
| using System.Linq;
 | ||
| using System.Text;
 | ||
| using System.Threading.Tasks;
 | ||
| using EmitMapper;
 | ||
| 
 | ||
| namespace BLL
 | ||
| {
 | ||
|     /// <summary>
 | ||
|     /// 来文服务类
 | ||
|     /// </summary>
 | ||
|     public static class APIReceiveFileManagerService
 | ||
|     {
 | ||
|         #region 根据ReceiveFileManagerId获取来文详细信息
 | ||
|         /// <summary>
 | ||
|         /// 根据ReceiveFileManagerId获取来文详细信息
 | ||
|         /// </summary>
 | ||
|         /// <param name="receiveFileManagerId">来文ID</param>
 | ||
|         /// <param name="fileType">来文类型(0-项目发文;1-公司来文)</param>
 | ||
|         /// <returns>来文详细</returns>
 | ||
|         public static Model.ReceiveFileManagerItem getReceiveFileManagerById(string receiveFileManagerId, string fileType)
 | ||
|         {
 | ||
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|             {
 | ||
|                 var getReceiveFileManagerItem = (from x in db.InformationProject_ReceiveFileManager
 | ||
|                                                  where x.ReceiveFileManagerId == receiveFileManagerId && x.FileType == fileType
 | ||
|                                                  select new Model.ReceiveFileManagerItem
 | ||
|                                                  {
 | ||
|                                                      ReceiveFileManagerId = x.ReceiveFileManagerId,
 | ||
|                                                      ProjectId = x.ProjectId,
 | ||
|                                                      ReceiveFileCode = x.ReceiveFileCode,
 | ||
|                                                      ReceiveFileName = x.ReceiveFileName,
 | ||
|                                                      Version = x.Version,
 | ||
|                                                      FileUnitId = x.FileUnitId,
 | ||
|                                                      FileUnitName = db.Base_Unit.First(u => u.UnitId == x.FileUnitId).UnitName,
 | ||
|                                                      FileCode = x.FileCode,
 | ||
|                                                      FilePageNum = x.FilePageNum,
 | ||
|                                                      GetFileDate = string.Format("{0:yyyy-MM-dd}", x.GetFileDate),
 | ||
|                                                      SendPersonId = x.SendPersonId,
 | ||
|                                                      SendPersonName = db.Sys_User.First(u => u.UserId == x.SendPersonId).UserName,
 | ||
|                                                      MainContent = x.MainContent,
 | ||
|                                                      UnitIds = x.UnitIds,
 | ||
|                                                      UnitNames = UnitService.getUnitNamesUnitIds(x.UnitIds),
 | ||
|                                                      FileAttachUrl = APIUpLoadFileService.getFileUrl(x.ReceiveFileManagerId, null),
 | ||
|                                                      ReplyFileAttachUrl = APIUpLoadFileService.getFileUrl(x.ReceiveFileManagerId + "#1", null),
 | ||
|                                                      Issue = (db.InformationProject_ReceiveFileManager.FirstOrDefault(y => y.FromId == x.ReceiveFileManagerId) == null) ? false : true,
 | ||
|                                                  }).FirstOrDefault();
 | ||
|                 return getReceiveFileManagerItem;
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 根据projectId、fileType获取来文列表
 | ||
|         /// <summary>
 | ||
|         /// 根据projectId、fileType获取来文列表
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         /// <param name="fileType">来文类型(0-项目发文;1-公司来文)</param>
 | ||
|         /// <param name="unitId">单位ID</param>
 | ||
|         /// <param name="states">状态(0待提交;1-已提交;2:已回复)</param>
 | ||
|         /// <returns></returns>
 | ||
|         public static List<Model.ReceiveFileManagerItem> getReceiveFileManagerList(string projectId, string fileType, string unitId, string states)
 | ||
|         {
 | ||
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|             {
 | ||
|                 var getReceiveFileManagerItem = (from x in db.InformationProject_ReceiveFileManager
 | ||
|                                                  where x.ProjectId == projectId && x.FileType == fileType
 | ||
|                                                  select new Model.ReceiveFileManagerItem
 | ||
|                                                  {
 | ||
|                                                      ReceiveFileManagerId = x.ReceiveFileManagerId,
 | ||
|                                                      ProjectId = x.ProjectId,
 | ||
|                                                      FileType = x.FileType,
 | ||
|                                                      ReceiveFileCode = x.ReceiveFileCode,
 | ||
|                                                      ReceiveFileName = x.ReceiveFileName,
 | ||
|                                                      Version = x.Version,
 | ||
|                                                      FileUnitId = x.FileUnitId,
 | ||
|                                                      FileUnitName = db.Base_Unit.First(u => u.UnitId == x.FileUnitId).UnitName,
 | ||
|                                                      FileCode = x.FileCode,
 | ||
|                                                      FilePageNum = x.FilePageNum,
 | ||
|                                                      GetFileDate = string.Format("{0:yyyy-MM-dd}", x.GetFileDate),
 | ||
|                                                      SendPersonId = x.SendPersonId,
 | ||
|                                                      SendPersonName = db.Sys_User.First(u => u.UserId == x.SendPersonId).UserName,
 | ||
|                                                      MainContent = x.MainContent,
 | ||
|                                                      UnitIds = x.UnitIds,
 | ||
|                                                      UnitNames = UnitService.getUnitNamesUnitIds(x.UnitIds),
 | ||
|                                                      FileAttachUrl = APIUpLoadFileService.getFileUrl(x.ReceiveFileManagerId, null),
 | ||
|                                                      ReplyFileAttachUrl = APIUpLoadFileService.getFileUrl(x.ReceiveFileManagerId + "#1", null),
 | ||
|                                                      States = x.States,
 | ||
|                                                      Issue = (db.InformationProject_ReceiveFileManager.FirstOrDefault(y => y.FromId == x.ReceiveFileManagerId) == null) ? false : true,
 | ||
|                                                  }).AsEnumerable();
 | ||
|                 if (getReceiveFileManagerItem.Count() > 0)
 | ||
|                 {
 | ||
|                     if (!string.IsNullOrEmpty(unitId) && unitId != Const.UnitId_CWCEC)
 | ||
|                     {
 | ||
|                         getReceiveFileManagerItem = getReceiveFileManagerItem.Where(x => x.FileUnitId == unitId || (x.UnitIds != null && x.UnitIds.Contains(unitId)));
 | ||
|                     }
 | ||
|                     if (states == Const.State_0)
 | ||
|                     {
 | ||
|                         getReceiveFileManagerItem = getReceiveFileManagerItem.Where(x => x.States == Const.State_0 || x.States == null);
 | ||
|                     }
 | ||
|                     else if (states == Const.State_1)
 | ||
|                     {
 | ||
|                         getReceiveFileManagerItem = getReceiveFileManagerItem.Where(x => x.States == Const.State_2 && (x.ReplyFileAttachUrl == null || x.ReplyFileAttachUrl == ""));
 | ||
|                     }
 | ||
|                     else if (states == Const.State_2)
 | ||
|                     {
 | ||
|                         getReceiveFileManagerItem = getReceiveFileManagerItem.Where(x => x.States == Const.State_2 && x.ReplyFileAttachUrl != null && x.ReplyFileAttachUrl != "");
 | ||
|                     }
 | ||
|                 }
 | ||
| 
 | ||
|                 return getReceiveFileManagerItem.OrderByDescending(x => x.ReceiveFileCode).ToList();
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 保存ReceiveFileManager
 | ||
|         /// <summary>
 | ||
|         /// 保存ReceiveFileManager
 | ||
|         /// </summary>
 | ||
|         /// <param name="newItem">来文信息</param>
 | ||
|         /// <returns></returns>
 | ||
|         public static void SaveReceiveFileManager(Model.ReceiveFileManagerItem newItem)
 | ||
|         {
 | ||
|             Model.SGGLDB db = Funs.DB;
 | ||
|             string menuId = string.Empty;
 | ||
|             Model.InformationProject_ReceiveFileManager newReceiveFile = new Model.InformationProject_ReceiveFileManager
 | ||
|             {
 | ||
|                 FileType=newItem.FileType,
 | ||
|                 ReceiveFileManagerId = newItem.ReceiveFileManagerId,
 | ||
|                 ProjectId = newItem.ProjectId,
 | ||
|                 ReceiveFileCode=newItem.ReceiveFileCode,
 | ||
|                 ReceiveFileName=newItem.ReceiveFileName,
 | ||
|                 Version=newItem.Version,
 | ||
|                 FileCode = newItem.FileCode,
 | ||
|                 FilePageNum=newItem.FilePageNum,
 | ||
|                 GetFileDate=Funs.GetNewDateTime(newItem.GetFileDate),
 | ||
|                 MainContent = System.Web.HttpUtility.HtmlEncode(newItem.MainContent),
 | ||
|                 UnitIds = newItem.UnitIds,
 | ||
|                 States = Const.State_2,
 | ||
|             };
 | ||
|             if (!string.IsNullOrEmpty(newItem.FileUnitId))
 | ||
|             {
 | ||
|                 newReceiveFile.FileUnitId = newItem.FileUnitId;
 | ||
|             }
 | ||
|             if (!string.IsNullOrEmpty(newItem.SendPersonId))
 | ||
|             {
 | ||
|                 newReceiveFile.SendPersonId = newItem.SendPersonId;
 | ||
|             }
 | ||
|             if (newItem.States != "1")
 | ||
|             {
 | ||
|                 newReceiveFile.States = Const.State_0;
 | ||
|             }
 | ||
| 
 | ||
|             var updateFile = db.InformationProject_ReceiveFileManager.FirstOrDefault(x => x.ReceiveFileManagerId == newItem.ReceiveFileManagerId);
 | ||
|             if (updateFile == null)
 | ||
|             {
 | ||
|                 newItem.ReceiveFileManagerId = newReceiveFile.ReceiveFileManagerId = SQLHelper.GetNewID();
 | ||
|                 newReceiveFile.ReceiveFileCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ReceiveFileManagerMenuId, newReceiveFile.ProjectId, null);
 | ||
|                 ReceiveFileManagerService.AddReceiveFileManager(newReceiveFile);
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 ReceiveFileManagerService.UpdateReceiveFileManager(newReceiveFile);
 | ||
|             }
 | ||
|             if (newItem.States == "1")
 | ||
|             {
 | ||
|                 CommonService.btnSaveData(newItem.ProjectId, Const.ReceiveFileManagerMenuId, newReceiveFile.ReceiveFileManagerId, newReceiveFile.SendPersonId, true, newReceiveFile.ReceiveFileName, "../ReceiveFileManager/ReceiveFileManagerView.aspx?ReceiveFileManagerId={0}");
 | ||
|             }
 | ||
| 
 | ||
|             ////保存附件
 | ||
|             if (!string.IsNullOrEmpty(newItem.FileAttachUrl))
 | ||
|             {
 | ||
|                 UploadFileService.SaveAttachUrl(UploadFileService.GetSourceByAttachUrl(newItem.FileAttachUrl, 10, null), newItem.FileAttachUrl, Const.ReceiveFileManagerMenuId, newItem.ReceiveFileManagerId);
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 CommonService.DeleteAttachFileById(Const.ReceiveFileManagerMenuId, newItem.ReceiveFileManagerId);
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 保存来文-回复文件
 | ||
|         /// <summary>
 | ||
|         /// 保存来文-回复文件
 | ||
|         /// </summary>
 | ||
|         /// <param name="receiveFileManagerId">主键</param>
 | ||
|         /// <param name="attachUrl">回执单路径</param>
 | ||
|         public static void SaveReplyFileAttachUrl(string receiveFileManagerId, string replyFileAttachUrl)
 | ||
|         {
 | ||
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|             {
 | ||
|                 var getFile = db.InformationProject_ReceiveFileManager.FirstOrDefault(x => x.ReceiveFileManagerId == receiveFileManagerId);
 | ||
|                 if (getFile != null)
 | ||
|                 {
 | ||
|                     ////保存附件
 | ||
|                     if (!string.IsNullOrEmpty(replyFileAttachUrl))
 | ||
|                     {
 | ||
|                         UploadFileService.SaveAttachUrl(UploadFileService.GetSourceByAttachUrl(replyFileAttachUrl, 10, null), replyFileAttachUrl, Const.ReceiveFileManagerMenuId, getFile.ReceiveFileManagerId + "#1");
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         CommonService.DeleteAttachFileById(Const.ReceiveFileManagerMenuId, getFile.ReceiveFileManagerId + "#1");
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
|     }
 | ||
| }
 |