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