140 lines
4.6 KiB
C#
140 lines
4.6 KiB
C#
using Microsoft.AspNetCore.Authorization;
|
|
using YLErp.Cache;
|
|
using YLErp.Modules.SwapModule;
|
|
using YLErp.Modules.TradeModule.QueryModule;
|
|
|
|
namespace YLErp.Web.Controllers
|
|
{
|
|
public class SwapRateController : BaseController
|
|
{
|
|
|
|
private readonly IYLCache _ylCache;
|
|
|
|
public SwapRateController(IYLCache ylCache) {
|
|
_ylCache = ylCache;
|
|
}
|
|
/// <summary>
|
|
/// 互换费率
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[MyAuthorize("互换簿记预设-阶梯费率")]
|
|
public ActionResult Index()
|
|
{
|
|
return View();
|
|
}
|
|
/// <summary>
|
|
/// 编辑
|
|
/// </summary>
|
|
/// <param name="enid"></param>
|
|
/// <returns></returns>
|
|
public ActionResult Edit(string enid)
|
|
{
|
|
if (string.IsNullOrEmpty(enid))
|
|
{
|
|
return View(new SwapRate());
|
|
}
|
|
var intid = DecryptInt(enid);
|
|
return View(new SwapRateService(CurUser).GetSwapRate(intid));
|
|
}
|
|
/// <summary>
|
|
/// 操作历史
|
|
/// </summary>
|
|
/// <param name="enid"></param>
|
|
/// <returns></returns>
|
|
public ActionResult OperationHistory(string enid,int rateType) {
|
|
var intid = DecryptInt(enid);
|
|
var historyList=new SwapRateLogService(CurUser).GetSwapRateLogs(intid, rateType);
|
|
foreach (var a in historyList)
|
|
{
|
|
if (rateType==1)//浮动利率
|
|
{
|
|
a.Changes = new DatatraceQueryService(CurUser).ReplaceDataChanges(new SwapFloatRate(), a.Changes);
|
|
}
|
|
else
|
|
{
|
|
a.Changes = new DatatraceQueryService(CurUser).ReplaceDataChanges(new SwapRate(), a.Changes);
|
|
}
|
|
}
|
|
return View(historyList);
|
|
}
|
|
/// <summary>
|
|
/// 详细
|
|
/// </summary>
|
|
/// <param name="enid"></param>
|
|
/// <returns></returns>
|
|
public ActionResult Detail(string enid)
|
|
{
|
|
var intid = DecryptInt(enid);
|
|
return View(new SwapRateService(CurUser).GetSwapRate(intid));
|
|
}
|
|
/// <summary>
|
|
/// 获取互换费率列表
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public JsonResult GetSwapRateList(SwapRateSearchRequest req)
|
|
{
|
|
var SwapRateList = new SwapRateService(CurUser).SearchList(req);
|
|
return Json(SwapRateList);
|
|
}
|
|
/// <summary>
|
|
/// 保存互换费率
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public JsonResult SaveSwapRate(SwapRate req)
|
|
{
|
|
var service = new SwapRateService(CurUser);
|
|
service.SaveSwapRate(req, _ylCache);
|
|
return JsonSuccess("");
|
|
}
|
|
/// <summary>
|
|
/// 删除互换费率
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public JsonResult DeleteSwapRate(string enid)
|
|
{
|
|
var intid = DecryptInt(enid);
|
|
var service = new SwapRateService(CurUser);
|
|
var clientId= service.DeleteSwapRate(intid);
|
|
return JsonSuccess("");
|
|
}
|
|
/// <summary>
|
|
/// 互换费率导入
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public JsonResult ImportSwapRate()
|
|
{
|
|
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();
|
|
var service = new SwapRateService(CurUser);
|
|
var clientIds= service.ImportSwapRateFromExcel(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 ExportSwapRate(SwapRateSearchRequest req)
|
|
{
|
|
req.page = 1;
|
|
req.rows = 10000;
|
|
var bytes = new SwapRateService(CurUser).exprotSwapRateExcel(req);
|
|
return File(bytes, xlsxMimeType, $"阶梯费率信息_{DateTime.Now:yyyyMMddHHmmss}.xlsx");
|
|
}
|
|
}
|
|
}
|