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