using Microsoft.AspNetCore.Mvc; using Org.BouncyCastle.Ocsp; using YLErp.Configuration.Enums; using YLErp.DBModels.Consts; using YLErp.Model.Enum; using YLErp.Modules.ClientModule; using YLErp.Modules.SwapModule; using YLErp.Modules.TradeModule.QueryModule; namespace YLErp.Web.Controllers { public class SwapFloatRateController : BaseController { /// /// 互换浮动利率 /// /// [MyAuthorize("互换簿记预设-浮动利率")] public ActionResult Index(int? tabIndex) { ViewBag.TabIndex = (int)ConstSwapFloatRateEnum.Normal; return View(); } public ActionResult SpecialIndex() { ViewBag.TabIndex = (int)ConstSwapFloatRateEnum.Special; return View("Index"); } /// /// 编辑 /// /// /// public ActionResult Edit(int? rateMode, string enid) { int rateType= (int)ConstSwapFloatRateEnum.Normal; if (rateMode >0) { rateType = (int)ConstSwapFloatRateEnum.Special; } if (string.IsNullOrEmpty(enid)) { var addmodel = new SwapFloatRate(); addmodel.RateMode = rateType; return View(addmodel); } var intid = DecryptInt(enid); var model = new SwapFloatRateService(CurUser).GetSwapFloatRate(intid); return View(model); } /// /// 详细 /// /// /// public ActionResult Detail(string enid) { var intid = DecryptInt(enid); return View(new SwapFloatRateService(CurUser).GetSwapFloatRate(intid)); } /// /// 获取互换浮动利率列表 /// /// public JsonResult GetSwapFloatRateList(SwapFloatRateSearchRequest req) { var SwapFloatRateList = new SwapFloatRateService(CurUser).SearchList(req); return Json(SwapFloatRateList); } /// /// 保存互浮动换费率 /// /// public JsonResult SaveSwapFloatRate(SwapFloatRate req) { new SwapFloatRateService(CurUser).SaveSwapFloatRate(req); return JsonSuccess(""); } /// /// 删除互换浮动利率 /// /// public JsonResult DeleteSwapFloatRate(string enid) { var intid = DecryptInt(enid); new SwapFloatRateService(CurUser).DeleteSwapFloatRate(intid); return JsonSuccess(""); } /// /// 匹配最适用的浮动利率 /// /// /// /// /// /// public JsonResult MatchRate(MatchRateRequest req) { var floatRate= new SwapFloatRateService(CurUser).MatchRate(req.clientId, req.underlyingCode, req.startDate, req.endDate); return JsonSuccess("", floatRate); } /// /// 互换浮动利率导入 /// /// public JsonResult ImportSwapFloatRate() { if (Request.Form.Files.Count == 0) { return JsonError("上传文件不存在"); } var file = Request.Form.Files[0]; if (!System.IO.Path.GetExtension(file.FileName).Equals(".xlsx", StringComparison.OrdinalIgnoreCase)) { return JsonError("请上传.xlsx格式文件"); } using var stream = file.OpenReadStream(); new SwapFloatRateService(CurUser).ImportSwapFloatRateFromExcel(stream, out var TotalNum, out var SuccessNum); return Json(new { success = true, totalNum = TotalNum, successNum = SuccessNum }); } /// /// 互换浮动利率导出 /// /// /// public object ExportSwapFloatRate(SwapFloatRateSearchRequest req) { req.page = 1; req.rows = 10000; var bytes = new SwapFloatRateService(CurUser).exprotSwapFloatRateExcel(req); return File(bytes, xlsxMimeType, $"浮动利率信息_{DateTime.Now:yyyyMMddHHmmss}.xlsx"); } } }