176 lines
6.9 KiB
C#
176 lines
6.9 KiB
C#
using YLErp.Model.Enum;
|
|
using YLErp.Modules.ClientModule;
|
|
|
|
namespace YLErp.Web.Controllers
|
|
{
|
|
public class bankcardController : BaseController
|
|
{
|
|
public ActionResult bankcardEditPopInner(int? rid, bool isOnlyView = false)
|
|
{
|
|
var clientCount = yldb.approvalprocess.Where(x => x.processType == "OpenProcess").Count();
|
|
ViewBag.ClientApprovalProcessCount = clientCount;
|
|
|
|
var client = clientDB.client.Find(rid);
|
|
ViewBag.ProcessStatus = client == null ? "未提交" : client.ProcessStatus;
|
|
|
|
var bankCard = new List<ClientBankCard>();
|
|
var models = clientDB.bankcard.Where(b => b.ApprovalOrder < 1 && b.ClientId == rid).ToList();
|
|
if (models != null)
|
|
{
|
|
foreach (var m in models)
|
|
{
|
|
var b = new ClientBankCard
|
|
{
|
|
id = m.id,
|
|
Bank = m.Bank,
|
|
Card = System.Text.RegularExpressions.Regex.Replace(m.Card, @"(\d{4}(?!$))", "$1 "),
|
|
ClientId = m.ClientId,
|
|
Payment = m.Payment,
|
|
ClientName = m.ClientName,
|
|
ValidState = m.ValidState,
|
|
OptId = m.OptId,
|
|
OptName = m.OptName,
|
|
OptDate = m.OptDate,
|
|
State = m.State,
|
|
Comments = m.Comments,
|
|
ApprovalOrder = (int)ApprovalOrderEnum.无需审批
|
|
};
|
|
bankCard.Add(b);
|
|
}
|
|
}
|
|
|
|
ViewBag.IsOnlyView = isOnlyView;
|
|
return View(bankCard);
|
|
}
|
|
|
|
[HttpPost]
|
|
public JsonResult bankcardQuery(ClientBankCardReq req)
|
|
{
|
|
var sList = new ClientBankCardService(CurUser).SearchList(req);
|
|
return Json(sList);
|
|
}
|
|
|
|
public ActionResult bankcardEdit(string enid, int? rid)
|
|
{
|
|
var r = new ClientBankCard();
|
|
var isAdd = string.IsNullOrEmpty(enid) || enid == "0";
|
|
var clientCount = yldb.approvalprocess.Where(x => x.processType == "OpenProcess").Count();
|
|
ViewBag.ClientApprovalProcessCount = clientCount;
|
|
if (isAdd)
|
|
{
|
|
if (rid != null)
|
|
{
|
|
//客户id
|
|
var client = clientDB.client.Find(rid);
|
|
if (client == null)
|
|
{
|
|
throw new ServiceException("请先保存用户基本信息");
|
|
}
|
|
r.ClientId = client == null ? 0 : client.id;
|
|
r.ClientName = client == null ? "" : client.Name;
|
|
ViewBag.ProcessStatus = client == null ? "未提交" : client.ProcessStatus;
|
|
ViewBag.IsProductType = client.ClientType == ClientTypeEnum.产品.ToString();
|
|
}
|
|
else
|
|
{
|
|
ViewBag.ProcessStatus = "未提交";
|
|
ViewBag.IsProductType = false;
|
|
}
|
|
|
|
return View(r);
|
|
}
|
|
else
|
|
{
|
|
var intid = DecryptInt(enid);
|
|
r = clientDB.bankcard.Find(intid);
|
|
if (r != null)
|
|
{
|
|
var client = clientDB.client.Find(r.ClientId);
|
|
ViewBag.ProcessStatus = client == null ? "未提交" : client.ProcessStatus;
|
|
ViewBag.IsProductType = client.ClientType == ClientTypeEnum.产品.ToString();
|
|
}
|
|
else
|
|
{
|
|
ViewBag.ProcessStatus = "未提交";
|
|
ViewBag.IsProductType = false;
|
|
}
|
|
|
|
return View(r);
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
public JsonResult bankcardEditJson(ClientBankCard req)
|
|
{
|
|
var set = Request.Form.Keys.Cast<string>().ToHashSet(StringComparer.OrdinalIgnoreCase);
|
|
var r = new ClientBankCardService(CurUser).SaveBankCard(req, out _, set);
|
|
return JsonSuccess("更新成功", r);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 银行卡详情
|
|
/// </summary>
|
|
public JsonResult AjaxGetBankcardDetail(string enid)
|
|
{
|
|
var intid = DecryptInt(enid);
|
|
var dbModel = intid > 0 ? clientDB.bankcard.AsNoTracking().FirstOrDefault(n => n.id == intid) : null;
|
|
if (dbModel == null)
|
|
{
|
|
return JsonError("没有找到银行卡信息");
|
|
}
|
|
return JsonSuccessData(dbModel);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 作废银行卡
|
|
/// </summary>
|
|
public JsonResult AjaxInvalidBankcard(string enid, bool isDirectSubApp = false)
|
|
{
|
|
var intid = DecryptInt(enid);
|
|
if (intid < 1)
|
|
{
|
|
return JsonError("没有找到银行卡信息");
|
|
}
|
|
var bankcard = new ClientBankCardService(CurUser).InvalidBankcard(intid, out var client, isDirectSubApp);
|
|
return JsonSuccessData(new { bankcard, client = new { client.ProcessStatus, client.ProcessOrderId, client.ProcessOptDate } });
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据客户ID获取银行卡信息列表
|
|
/// </summary>
|
|
public JsonResult AjaxGetBankcardList(int clientId, bool isApproval = false)
|
|
{
|
|
var bankcards = clientId == 0 ? new ClientBankCard[0] : clientDB.bankcard.Where(b => b.ClientId == clientId && b.ApprovalOrder != (int)ApprovalOrderEnum.审批作废).ToArray();
|
|
if (isApproval)
|
|
{
|
|
var notbankcards = bankcards.Where(x => x.SourceId > 0).Select(x => x.SourceId ?? 0).ToList();
|
|
notbankcards.AddRange(bankcards.Where(x => x.ApprovalOrder == (int)ApprovalOrderEnum.删除).Select(x => x.id).ToList());
|
|
bankcards = bankcards.Where(x => !notbankcards.Contains(x.id)).ToArray();
|
|
foreach (var item in bankcards)
|
|
{
|
|
if (item.ApprovalOrder == (int?)ApprovalOrderEnum.失效)
|
|
{
|
|
item.ValidState = "InValid";
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
bankcards = bankcards.Where(x => x.ApprovalOrder < 1).ToArray();
|
|
}
|
|
return JsonSuccessData(bankcards);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 保存银行卡信息
|
|
/// </summary>
|
|
public JsonResult AjaxSaveBankCard(ClientBankCard req, bool isDirectSubApp = false)
|
|
{
|
|
var set = Request.Form.Keys.Cast<string>().ToHashSet(StringComparer.OrdinalIgnoreCase);
|
|
var bankcard = new ClientBankCardService(CurUser).SaveBankCard(req, out var client, set, isDirectSubApp);
|
|
return JsonSuccess("更新成功", new { bankcard, client = new { client.ProcessStatus, client.ProcessOrderId, client.ProcessOptDate } });
|
|
}
|
|
|
|
}
|
|
}
|