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

108 lines
3.6 KiB
C#

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<client_variety_marginrate> { 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<client_variety_marginrate> 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;
}
}
}
}
}