Files
zszq-trs/YLErpDAL/Modules/SystemModule/DividendrateRecordService.cs
T
2024-05-09 14:06:26 +08:00

69 lines
2.2 KiB
C#

using BaseOUDAL;
using NPOI.SS.UserModel;
using YLErp.DBModels.Consts;
using YLErp.Model;
using YLErp.Office.ExcelModule;
namespace YLErp.Modules.SystemModule
{
public class DividendrateRecordService : YLBaseService
{
public DividendrateRecordService(OptUserInfo optUser) : base(optUser)
{
}
public void ChangeDividendrate(dividendrate_record record)
{
using (var trans = BeginTransaction())
{
record.OptId = UserId;
record.OptName = UserName;
record.OptDate = DateTime.Now;
DbContext.dividendrate_record.Add(record);
DbContext.SaveChanges();
trans.Commit();
}
}
public SearchListResult<dividendrate_record> GetDividendrateChangeSearch(DividendrateChangereq req)
{
var query = DbContext.dividendrate_record.Where(x => 1 == 1);
if (req.Ids == null || req.Ids.Count == 0)
{
if (req.ValueDateStart != default)
{
query = query.Where(a => req.ValueDateStart <= a.ValueDate);
}
if (req.ValueDateEnd != default)
{
var endDay = req.ValueDateEnd.AddDays(1);
query = query.Where(a => endDay > a.ValueDate);
}
}
else
{
query = query.Where(a => req.Ids.Contains(a.id));
}
if (string.IsNullOrEmpty(req.sidx))
{
req.sidx = "ValueDate,id";
req.sord = "desc";
}
var retListResult = query.ToSearchList(req);
return retListResult;
}
public byte[] ExportClientCashChange(DividendrateChangereq req)
{
var searchListResult = GetDividendrateChangeSearch(req);
var templateFile = OtcAppContext.MapPath("~/App_Docs/导出模板/变更记录模板_设置模型参数.xlsx");
return ExcelGenerator.UseTemplateGenerator(templateFile).AddVariable(new { list = searchListResult.rows }).GenerateBytes();
}
}
}