using YLErp.Modules.MarginModule; using static YLErp.Modules.MarginModule.MarginRateService; namespace YLErp.Web.Controllers { public class MarginRateController : BaseController { [MyAuthorize("基础参数管理-预付金率维护")] public ActionResult MarginRateList() { var marginRates = yldb.client_variety_marginrate.ToList(); GetExtendInfo(marginRates); return View(marginRates); } [MyAuthorize("基础参数管理-预付金率维护")] public ActionResult MarginRateEdit(string enid) { var id = DecryptInt(enid); if (id == 0) { return View(new client_variety_marginrate()); } var marginRate = yldb.client_variety_marginrate.Find(id); GetExtendInfo(new List { marginRate }); return View(marginRate); } [MyAuthorize("基础参数管理-预付金率维护")] public JsonResult ImportMagrinRate() { if (Request.Form.Files.Count == 0) { return JsonError("上传文件不存在"); } var file = Request.Form.Files[0]; if (!Path.GetExtension(file.FileName).Equals(".xlsx", StringComparison.OrdinalIgnoreCase)) { return JsonError("请上传Excel(.xlsx)格式文件"); } using var stream = file.OpenReadStream(); new MarginRateService(CurUser).ImportMarginRate(stream, out var TotalNum, out var SuccessNum); return Json(new { success = true, totalNum = TotalNum, successNum = SuccessNum, }); } [MyAuthorize("基础参数管理-预付金率维护")] public JsonResult MarginRateDelete(string enid) { var id = DecryptInt(enid); var marginRate = yldb.client_variety_marginrate.Find(id); if (marginRate == null) { throw new ServiceException("数据库中未找到"); } yldb.client_variety_marginrate.Remove(marginRate); yldb.SaveChanges(); return JsonSuccess("已删除"); } [MyAuthorize("基础参数管理-预付金率维护")] public JsonResult MarginRateEditJson(client_variety_marginrate marginrate) { marginrate.HighMarginRate /= 100; marginrate.LowMarginRate /= 100; new MarginRateService(CurUser).saveMarginRate(marginrate); return JsonSuccess("已修改"); } [HttpPost] public JsonResult MarginRateQuery(MarginRateReq req) { var sList = new MarginRateService(CurUser).SearchList(req); GetExtendInfo(sList.rows); return Json(sList); } private void GetExtendInfo(IEnumerable marginrates) { foreach (var item in marginrates) { if (item.ClientId != 0) { var client = DataCacheProvider.GetClientDataSource().GetData(item.ClientId); if (client != null) { item.ClientName = client.Name; } } var variety = DataCacheProvider.GetVarietyDataSource().GetData(item.VarietyId); if (variety != null) { item.VarietyCode = variety.VarietyCode; item.VarietyName = variety.VarietyName; } } } } }