Files
zszq-trs/YLErpWeb/Controllers/EtradingRuleController.cs
T
2024-05-09 14:06:26 +08:00

91 lines
3.1 KiB
C#

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