251 lines
8.3 KiB
C#
251 lines
8.3 KiB
C#
using YLErp.Modules.ClientModule;
|
|
|
|
namespace YLErp.Web.Controllers
|
|
{
|
|
public class CreditController : BaseController
|
|
{
|
|
public static string GetWhiteListVarietyNames(CreditTable credit)
|
|
{
|
|
var allVarieties = VarietyBLL.GetAllvarietyModel();
|
|
if (credit.Type == CreditTable.ClientType && !PS.Config.ClientElement.CanSelectCreditVariety || !credit.LimitVariety)
|
|
{
|
|
return string.Join(",", allVarieties.Select(v => v.VarietyName));
|
|
}
|
|
|
|
if (credit.IsFeelingWhiteList)
|
|
{
|
|
return credit.VarietyName;
|
|
}
|
|
|
|
return string.Join(",",
|
|
allVarieties.Where(v => !credit.VarietyIdsInt.Contains(v.id)).Select(v => v.VarietyName));
|
|
}
|
|
|
|
public static string GetWhiteListVarietyNames(CreditDto credit)
|
|
{
|
|
var allVarieties = VarietyBLL.GetAllvarietyModel();
|
|
if (credit.Type == DBModels.CreditTable.ClientType && !PS.Config.ClientElement.CanSelectCreditVariety || !credit.LimitVariety)
|
|
{
|
|
return string.Join(",", allVarieties.Select(v => v.VarietyName));
|
|
}
|
|
|
|
if (credit.IsFeelingWhiteList)
|
|
{
|
|
return credit.VarietyName;
|
|
}
|
|
|
|
return string.Join(",",
|
|
allVarieties.Where(v => !credit.VarietyIdsInt.Contains(v.id)).Select(v => v.VarietyName));
|
|
}
|
|
|
|
[MyAuthorize("客户管理-授信管理")]
|
|
public ActionResult creditList()
|
|
{
|
|
ViewBag.SystemDate = valuedateBLL.ValueDate;
|
|
return View();
|
|
}
|
|
|
|
[MyAuthorize("系统管理-交易权限")]
|
|
public ActionResult rolecreditList()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
public ActionResult rolecreditEdit(string enid)
|
|
{
|
|
var allVarieties = VarietyBLL.GetAllvarietyModel();
|
|
|
|
var intid = DataProtectHelper.DecryptInt(enid);
|
|
var r = yldb.credit.Find(intid);
|
|
if (r == null)
|
|
{
|
|
r = new CreditTable();
|
|
}
|
|
else
|
|
{
|
|
var oldv = r.VarietyIdsInt.ToArray();
|
|
}
|
|
|
|
ViewBag.All = string.Join(",", allVarieties.Select(x => x.id).ToArray());
|
|
return View(r);
|
|
}
|
|
|
|
[HttpPost]
|
|
public JsonResult creditQuery(ClientCreditReq req)
|
|
{
|
|
var bll = new ClientCreditService(CurUser);
|
|
req.CurUserClientIds = CurUser.GetClientIdsByCustomerManager();
|
|
var sList = bll.SearchList(req);
|
|
foreach (var c in sList.rows)
|
|
{
|
|
c.VarietyName = GetWhiteListVarietyNames(c);
|
|
}
|
|
// R4:已使用授信(授信出入表 Σ(amount),占用记正/释放记负,按客户汇总)
|
|
var usedCredits = Modules.SwapModule.ClientCreditInoutService.GetUsedCreditByClients(
|
|
sList.rows.Where(x => x.ClientId > 0).Select(x => x.ClientId ?? 0).Distinct().ToList(), yldb);
|
|
foreach (var c in sList.rows)
|
|
{
|
|
c.UsedCredit = usedCredits.TryGetValue(c.ClientId ?? 0, out var used) ? used : 0;
|
|
}
|
|
return Json(sList);
|
|
}
|
|
|
|
[HttpPost]
|
|
public ActionResult SubmitProcess(int creditId)
|
|
{
|
|
var message = new ClientCreditService(CurUser).SubmitProcess(creditId);
|
|
return JsonSuccess(message);
|
|
}
|
|
|
|
public ActionResult creditView(string enid)
|
|
{
|
|
var intid = DataProtectHelper.DecryptInt(enid);
|
|
var r = yldb.credit.Find(intid);
|
|
// R4:已使用授信(授信出入表)
|
|
if (r != null && r.ClientId > 0)
|
|
{
|
|
r.UsedCredit = Modules.SwapModule.ClientCreditInoutService.GetUsedCredit(r.ClientId ?? 0, yldb);
|
|
}
|
|
return View(r);
|
|
}
|
|
|
|
public ActionResult creditEdit(string enid)
|
|
{
|
|
var r = new CreditTable();
|
|
var isAdd = string.IsNullOrEmpty(enid) || enid == "0";
|
|
if (isAdd)
|
|
{
|
|
return View(r);
|
|
}
|
|
|
|
var intid = DataProtectHelper.DecryptInt(enid);
|
|
r = yldb.credit.Find(intid);
|
|
ViewBag.IsVariety = r.IsVariety;
|
|
return View(r);
|
|
}
|
|
|
|
[HttpPost]
|
|
public JsonResult creditEditJson(CreditTable req)
|
|
{
|
|
if (!string.IsNullOrEmpty(req.EncryptId))
|
|
{
|
|
req.id = DataProtectHelper.DecryptInt(req.EncryptId);
|
|
}
|
|
var dbModel = new CreditTableService(CurUser).SaveCredit(req);
|
|
return JsonSuccess("更新成功", dbModel);
|
|
}
|
|
|
|
[HttpPost]
|
|
public JsonResult Deletecredit(string id)
|
|
{
|
|
var intid = DataProtectHelper.DecryptInt(id);
|
|
var r = yldb.credit.Find(intid);
|
|
|
|
if (r == null)
|
|
{
|
|
return JsonError("找不到授信");
|
|
}
|
|
new ClientCreditService(CurUser).CreditLog(r.id, "删除");
|
|
yldb.credit.Remove(r);
|
|
yldb.SaveChanges();
|
|
return JsonSuccess("删除成功");
|
|
}
|
|
|
|
#region----(瑞达)日内授信----
|
|
|
|
[HttpPost]
|
|
public JsonResult CreditIntradayQuery(ClientCreditReq req)
|
|
{
|
|
var slist = new CreditIntradayService(CurUser).SearchData(req);
|
|
return Json(slist);
|
|
}
|
|
|
|
public ActionResult CreditIntradayView(string enid)
|
|
{
|
|
var intid = DataProtectHelper.DecryptInt(enid);
|
|
var dto = new CreditIntradayService(CurUser).GetData(intid);
|
|
return View("CreditIntradayView", dto);
|
|
}
|
|
|
|
public ActionResult CreditIntradayEdit(string enid)
|
|
{
|
|
if (string.IsNullOrEmpty(enid) || enid == "0")
|
|
{
|
|
return View(new CreditIntradayDto());
|
|
}
|
|
|
|
var intid = DataProtectHelper.DecryptInt(enid);
|
|
var dto = new CreditIntradayService(CurUser).GetData(intid);
|
|
return View(dto);
|
|
}
|
|
|
|
public JsonResult DeleteCreditIntraday(string id)
|
|
{
|
|
var intid = DataProtectHelper.DecryptInt(id);
|
|
new CreditIntradayService(CurUser).RemoveData(intid);
|
|
return JsonSuccess("删除成功");
|
|
}
|
|
|
|
public JsonResult AjaxSaveCreditIntraday(CreditIntraday req)
|
|
{
|
|
if (!string.IsNullOrEmpty(req.EncryptId))
|
|
{
|
|
req.id = DataProtectHelper.DecryptInt(req.EncryptId);
|
|
}
|
|
var dbmodel = new CreditIntradayService(CurUser).SaveCreditIntraday(req);
|
|
return JsonSuccess("更新成功", dbmodel);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region----来自客户的授信----
|
|
|
|
[HttpPost]
|
|
public JsonResult CreditFromClientQuery(ClientCreditReq req)
|
|
{
|
|
var slist = new CreditFromClientService(CurUser).SearchData(req);
|
|
return Json(slist);
|
|
}
|
|
|
|
public ActionResult CreditFromClientView(string enid)
|
|
{
|
|
var intid = DataProtectHelper.DecryptInt(enid);
|
|
var dto = new CreditFromClientService(CurUser).GetData(intid);
|
|
return View(dto);
|
|
}
|
|
|
|
public ActionResult CreditFromClientEdit(string enid)
|
|
{
|
|
if (string.IsNullOrEmpty(enid) || enid == "0")
|
|
{
|
|
return View(new CreditFromClient());
|
|
}
|
|
|
|
var intid = DataProtectHelper.DecryptInt(enid);
|
|
var dto = new CreditFromClientService(CurUser).GetData(intid);
|
|
return View(dto);
|
|
}
|
|
|
|
[HttpPost]
|
|
public JsonResult DeleteCreditFromClient(string id)
|
|
{
|
|
var intid = DataProtectHelper.DecryptInt(id);
|
|
new CreditFromClientService(CurUser).RemoveData(intid);
|
|
return JsonSuccess("删除成功");
|
|
}
|
|
|
|
[HttpPost]
|
|
public JsonResult AjaxSaveCreditFromClient(CreditFromClient req)
|
|
{
|
|
if (!string.IsNullOrEmpty(req.EncryptId))
|
|
{
|
|
req.id = DataProtectHelper.DecryptInt(req.EncryptId);
|
|
}
|
|
var dbmodel = new CreditFromClientService(CurUser).SaveCreditFromClient(req);
|
|
return JsonSuccess("更新成功", dbmodel);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|