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

112 lines
3.0 KiB
C#

using YLErp.Modules.MarginModule;
namespace YLErp.Web.Controllers
{
public class margin_ratioController : BaseController
{
[MyAuthorize("基础参数管理-预付金系数")]
public ActionResult margin_ratioList()
{
return View();
}
[HttpPost]
public JsonResult margin_ratioGroupQuery(margin_ratioReq req)
{
var sList = new MarginRatioService(CurUser).SearchTradeMarginList(req);
return Json(sList);
}
public ActionResult margin_ratioView(string enid)
{
var intid = DecryptInt(enid);
var r = yldb.margin_ratio.Find(intid);
return View(r);
}
public ActionResult margin_ratioEdit(string enid)
{
if (string.IsNullOrEmpty(enid) || enid == "0")
{
return View(new margin_ratio());
}
var intid = DecryptInt(enid);
var r = yldb.margin_ratio.AsNoTracking().FirstOrDefault(n => n.id == intid);
if (r == null)
{
return ShowError("数据不存在");
}
return View(r);
}
[HttpPost]
public async Task<JsonResult> margin_ratioEditJson( margin_ratioReq req)
{
var id = 0;
if (!string.IsNullOrEmpty(req.EncryptId))
{
id = DecryptInt(req.EncryptId);
}
if (yldb.margin_ratio.Any(x => x.id != id && x.ValueDate == req.ValueDate))
{
throw new Exception("不能对同一天设置两套预付金系数规则");
}
try
{
var r = await Savemargin_ratio(id);
return JsonSuccess("更新成功", r);
}
catch (Exception ex)
{
return JsonError(ex.Message);
}
}
public JsonResult Deletemargin_ratio(string encryptId)
{
var intid = DecryptInt(encryptId);
var r = yldb.margin_ratio.Find(intid);
if (r == null)
{
return JsonError("未找到该记录");
}
else
{
yldb.margin_ratio.Remove(r);
yldb.SaveChanges();
return JsonSuccess("已删除");
}
}
private async Task<margin_ratio> Savemargin_ratio(int? id)
{
margin_ratio r;
var isAddNew = id == null || id == 0;
if (isAddNew)
{
r = new margin_ratio
{
OptDate = DateTime.Now,
OptId = CurUser.UserId,
OptName = CurUser.UserName
};
yldb.margin_ratio.Add(r);
}
else
{
r = yldb.margin_ratio.Find(id);
}
await TryUpdateModelAsync(r);
yldb.SaveChanges();
return r;
}
}
}