125 lines
4.4 KiB
C#
125 lines
4.4 KiB
C#
using YLErp.Helpers;
|
|
|
|
namespace YLErp.Modules.TempFilesModule
|
|
{
|
|
public class TempFilesService : YLBaseService
|
|
{
|
|
public TempFilesService(OptUserInfo optUser) : base(optUser)
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// 可以查看所有文件
|
|
/// </summary>
|
|
public bool QueryAllFile { get; set; }
|
|
|
|
/// <summary>
|
|
/// 查询已上传的文件
|
|
/// </summary>
|
|
/// <param name="fileTypes"></param>
|
|
/// <param name="createDateStart"></param>
|
|
/// <param name="createDateEnd"></param>
|
|
/// <returns></returns>
|
|
public List<tempfile> QueryTempFile(DateTime createDate, params string[] fileTypes)
|
|
{
|
|
return QueryTempFileFromDb(createDate, createDate, fileTypes).OrderByDescending(O => O.optDate).ToList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询已上传的文件
|
|
/// </summary>
|
|
/// <param name="fileTypes"></param>
|
|
/// <param name="createDateStart"></param>
|
|
/// <param name="createDateEnd"></param>
|
|
/// <returns></returns>
|
|
public List<tempfile> QueryTempFile(DateTime createDateStart, DateTime createDateEnd, params string[] fileTypes)
|
|
{
|
|
return QueryTempFileFromDb(createDateStart, createDateEnd, fileTypes).ToList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询已上传的文件
|
|
/// </summary>
|
|
/// <param name="fileTypes"></param>
|
|
/// <param name="createDateStart"></param>
|
|
/// <param name="createDateEnd"></param>
|
|
/// <returns></returns>
|
|
public IQueryable<tempfile> QueryTempFileFromDb(DateTime createDateStart, DateTime createDateEnd, params string[] fileTypes)
|
|
{
|
|
var query = DbContext.tempfiles.Where(O => O.validStatus);
|
|
if (!QueryAllFile && PS.GetErpConfig().NeedIsolateSACInfo)
|
|
{
|
|
query = query.Where(O => O.optUserName == UserName);
|
|
}
|
|
if (fileTypes.Length > 0)
|
|
{
|
|
query = query.Where(O => fileTypes.Contains(O.fileType));
|
|
}
|
|
if (createDateStart > default(DateTime))
|
|
{
|
|
query = query.Where(O => O.createDate >= createDateStart);
|
|
}
|
|
if (createDateEnd > default(DateTime))
|
|
{
|
|
query = query.Where(O => O.createDate <= createDateEnd);
|
|
}
|
|
return query;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 保存文件
|
|
/// </summary>
|
|
/// <param name="files"></param>
|
|
public void SaveTempFile(List<tempfile> files)
|
|
{
|
|
foreach (var item in files)
|
|
{
|
|
var query = DbContext.tempfiles.Where(O => O.createDate == item.createDate && O.fileType == item.fileType && O.optUserName == item.optUserName);
|
|
if (item.fileType != "报送模板")
|
|
{
|
|
query = query.Where(O => O.fileName == item.fileName);
|
|
}
|
|
var delFile = query.ToList();
|
|
if (delFile != null)
|
|
{
|
|
DbContext.tempfiles.RemoveRange(delFile);
|
|
}
|
|
var f = new tempfile();
|
|
f.createDate = item.createDate;
|
|
f.fileType = item.fileType;
|
|
f.fileName = item.fileName;
|
|
f.filePath = System.IO.Path.Combine(item.filePath, item.fileName);
|
|
f.optDate = item.optDate;
|
|
f.optUserName = item.optUserName;
|
|
f.validStatus = item.validStatus;
|
|
DbContext.tempfiles.Add(f);
|
|
}
|
|
DbContext.SaveChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除已上传的文件
|
|
/// </summary>
|
|
/// <param name="encryptId"></param>
|
|
public void DeleteTempFile(string encryptId)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(encryptId))
|
|
{
|
|
return;
|
|
}
|
|
int id = DataProtectHelper.DecryptInt(encryptId);
|
|
var query = DbContext.tempfiles.Where(O => O.id == id);
|
|
if (!QueryAllFile)
|
|
{
|
|
query = query.Where(O => O.optUserName == UserName);
|
|
}
|
|
var info = query.FirstOrDefault();
|
|
if (info != null)
|
|
{
|
|
info.validStatus = false;
|
|
DbContext.SaveChanges();
|
|
}
|
|
}
|
|
}
|
|
}
|