142 lines
4.8 KiB
C#
142 lines
4.8 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// 互换浮动利率
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[MyAuthorize("互换簿记预设-浮动利率")]
|
|
public ActionResult Index(int? tabIndex)
|
|
{
|
|
ViewBag.TabIndex = (int)ConstSwapFloatRateEnum.Normal;
|
|
return View();
|
|
}
|
|
public ActionResult SpecialIndex()
|
|
{
|
|
ViewBag.TabIndex = (int)ConstSwapFloatRateEnum.Special;
|
|
return View("Index");
|
|
}
|
|
/// <summary>
|
|
/// 编辑
|
|
/// </summary>
|
|
/// <param name="enid"></param>
|
|
/// <returns></returns>
|
|
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);
|
|
}
|
|
/// <summary>
|
|
/// 详细
|
|
/// </summary>
|
|
/// <param name="enid"></param>
|
|
/// <returns></returns>
|
|
public ActionResult Detail(string enid)
|
|
{
|
|
var intid = DecryptInt(enid);
|
|
return View(new SwapFloatRateService(CurUser).GetSwapFloatRate(intid));
|
|
}
|
|
/// <summary>
|
|
/// 获取互换浮动利率列表
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public JsonResult GetSwapFloatRateList(SwapFloatRateSearchRequest req)
|
|
{
|
|
var SwapFloatRateList = new SwapFloatRateService(CurUser).SearchList(req);
|
|
return Json(SwapFloatRateList);
|
|
}
|
|
/// <summary>
|
|
/// 保存互浮动换费率
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public JsonResult SaveSwapFloatRate(SwapFloatRate req)
|
|
{
|
|
new SwapFloatRateService(CurUser).SaveSwapFloatRate(req);
|
|
return JsonSuccess("");
|
|
}
|
|
/// <summary>
|
|
/// 删除互换浮动利率
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public JsonResult DeleteSwapFloatRate(string enid)
|
|
{
|
|
var intid = DecryptInt(enid);
|
|
new SwapFloatRateService(CurUser).DeleteSwapFloatRate(intid);
|
|
return JsonSuccess("");
|
|
}
|
|
/// <summary>
|
|
/// 匹配最适用的浮动利率
|
|
/// </summary>
|
|
/// <param name="clientId"></param>
|
|
/// <param name="underlyingCode"></param>
|
|
/// <param name="startDate"></param>
|
|
/// <param name="endDate"></param>
|
|
/// <returns></returns>
|
|
public JsonResult MatchRate(MatchRateRequest req)
|
|
{
|
|
var floatRate= new SwapFloatRateService(CurUser).MatchRate(req.clientId, req.underlyingCode, req.startDate, req.endDate);
|
|
return JsonSuccess("", floatRate);
|
|
}
|
|
/// <summary>
|
|
/// 互换浮动利率导入
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
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
|
|
});
|
|
}
|
|
/// <summary>
|
|
/// 互换浮动利率导出
|
|
/// </summary>
|
|
/// <param name="req"></param>
|
|
/// <returns></returns>
|
|
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");
|
|
}
|
|
}
|
|
}
|