using YLErp.Modules.AppModule; namespace YLErp.Web.Controllers { public class EtradingRuleController : BaseController { public EtradingRuleController() { } // GET: Admin/EtradingRule [MyAuthorize("互换簿记预设-TRS用簿记账户设置")] public ActionResult Index() { return View(); } public JsonResult GetEtradingRule() { var sList = DbContextFactory.GetYLDbContext().Etrading_Rule.ToList(); foreach (var s in sList) { var client=DataCacheProvider.GetClientDataSource().AsQueryable().FirstOrDefault(x=>x.Number==s.ClientNumber_0); s.ClientNumber_0_Name= client?.Name; } return Json(sList); } public ActionResult EtradingRuleEdit(string enid) { EtradingRule rule = new EtradingRule(); if (!string.IsNullOrEmpty(enid)) { int id=DecryptInt(enid); rule = DbContextFactory.GetYLDbContext().Etrading_Rule.FirstOrDefault(o => o.id== id); var client = DataCacheProvider.GetClientDataSource().AsQueryable().FirstOrDefault(x => x.Number == rule.ClientNumber_0); rule.ClientNumber_0_Name= client?.Name; ViewBag.IsAdd = false; } else { ViewBag.IsAdd = true; rule.ClearingAgency_0 = "甲方"; } return View(rule); } public JsonResult DeleteEtradingRule(string enid) { int id = DecryptInt(enid); EtradingRule rule = new EtradingRule(); var service = new EtradingRuleService(CurUser); var clientNumber=service.DeleteRule(id); service.SendEtradingRuleToKafka(clientNumber); return Json(rule); } public JsonResult EtradingRuleEditJson(EtradingRule rule) { var service = new EtradingRuleService(CurUser); service.SaveRule(rule); service.SendEtradingRuleToKafka(rule.ClientNumber_0); return JsonSuccess("修改成功"); } public JsonResult UploadFile() { 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 EtradingRuleService(CurUser); var clientIds = service.ImportExcel(stream, out var TotalNum, out var SuccessNum); foreach (var clientId in clientIds) { service.SendEtradingRuleToKafka(clientId); } return Json(new { success = true, totalNum = TotalNum, successNum = SuccessNum }); } } }