Вывод отчёта кассира на форму.
This commit is contained in:
parent
1a2939880d
commit
52e55d4da4
@ -59,5 +59,25 @@ namespace BankYouBankruptCashierApp
|
||||
throw new Exception(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Post-запрос для получения данных
|
||||
public static T? PostRequestReport<T, U>(string requestUrl, U model)
|
||||
{
|
||||
var json = JsonConvert.SerializeObject(model);
|
||||
var data = new StringContent(json, Encoding.UTF8, "application/json");
|
||||
|
||||
var response = _client.PostAsync(requestUrl, data);
|
||||
|
||||
var result = response.Result.Content.ReadAsStringAsync().Result;
|
||||
|
||||
if (response.Result.IsSuccessStatusCode)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<T>(result);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,8 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
#region Загрузка главной страницы
|
||||
|
||||
//вытаскивает через API клиента Get-запросом список его собственных заказов
|
||||
[HttpGet]
|
||||
public IActionResult Index()
|
||||
@ -31,8 +33,12 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
return View(APICashier.GetRequest<List<AccountViewModel>>($"/api/Account/GetAllAccounts"));
|
||||
}
|
||||
|
||||
//изменемение ланных Get-ом
|
||||
[HttpGet]
|
||||
#endregion
|
||||
|
||||
#region Обновление данных пользователя
|
||||
|
||||
//изменемение ланных Get-ом
|
||||
[HttpGet]
|
||||
public IActionResult Privacy()
|
||||
{
|
||||
if (APICashier.Cashier == null)
|
||||
@ -81,7 +87,11 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
Response.Redirect("Index");
|
||||
}
|
||||
|
||||
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
||||
#endregion
|
||||
|
||||
#region Вывод ошибок
|
||||
|
||||
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
||||
public IActionResult Error()
|
||||
{
|
||||
return View(new ErrorViewModel
|
||||
@ -90,8 +100,12 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
});
|
||||
}
|
||||
|
||||
//просто открытие вьюхи
|
||||
[HttpGet]
|
||||
#endregion
|
||||
|
||||
#region Вход в приложение
|
||||
|
||||
//просто открытие вьюхи
|
||||
[HttpGet]
|
||||
public IActionResult Enter()
|
||||
{
|
||||
return View();
|
||||
@ -116,8 +130,12 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
Response.Redirect("Index");
|
||||
}
|
||||
|
||||
//просто открытие вьюхи
|
||||
[HttpGet]
|
||||
#endregion
|
||||
|
||||
#region Регистрация
|
||||
|
||||
//просто открытие вьюхи
|
||||
[HttpGet]
|
||||
public IActionResult Register()
|
||||
{
|
||||
return View();
|
||||
@ -149,6 +167,10 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
return;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Открытие нового счёта
|
||||
|
||||
//открытие счёта. Получаем и передаём список изделий во вьюху?
|
||||
[HttpGet]
|
||||
public IActionResult CreateAccount()
|
||||
@ -205,17 +227,9 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
Response.Redirect("Index");
|
||||
}
|
||||
|
||||
//для страницы "Заявки на снятие"
|
||||
[HttpGet]
|
||||
public IActionResult Debiting()
|
||||
{
|
||||
if (APICashier.Cashier == null)
|
||||
{
|
||||
throw new Exception("Вы как сюда попали? Суда вход только авторизованным");
|
||||
}
|
||||
#endregion
|
||||
|
||||
return View(APICashier.GetRequest<List<DebitingViewModel>>($"/api/Account/FindOpenDebiting"));
|
||||
}
|
||||
#region Работа с заявками на зачисление
|
||||
|
||||
//для страницы "Заявки на зачисление"
|
||||
[HttpGet]
|
||||
@ -284,6 +298,22 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
Response.Redirect("Crediting");
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Работа с заявками на снятие
|
||||
|
||||
//для страницы "Заявки на снятие"
|
||||
[HttpGet]
|
||||
public IActionResult Debiting()
|
||||
{
|
||||
if (APICashier.Cashier == null)
|
||||
{
|
||||
throw new Exception("Вы как сюда попали? Суда вход только авторизованным");
|
||||
}
|
||||
|
||||
return View(APICashier.GetRequest<List<DebitingViewModel>>($"/api/Account/FindOpenDebiting"));
|
||||
}
|
||||
|
||||
//открытие вьюхи одобрения заявки на снятие
|
||||
[HttpGet]
|
||||
public IActionResult CloseDebiting()
|
||||
@ -338,7 +368,9 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
Response.Redirect("Debiting");
|
||||
}
|
||||
|
||||
//получение номера запрашиваемого счёта для снятия
|
||||
#endregion
|
||||
|
||||
//получение номера запрашиваемого счёта для снятия - для работы с начислениями и списаниями
|
||||
[HttpPost]
|
||||
public string GetAccountNumber(int id)
|
||||
{
|
||||
@ -371,7 +403,9 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
return AccountNumber;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
#region Работа с переводом со счёта на счёт
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult MoneyTransfers()
|
||||
{
|
||||
if (APICashier.Cashier == null)
|
||||
@ -413,7 +447,11 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
Response.Redirect("Index");
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
#endregion
|
||||
|
||||
#region Отчёт с выборкой по счетам
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult ReportWithAccounts()
|
||||
{
|
||||
if (APICashier.Cashier == null)
|
||||
@ -459,9 +497,11 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
return View(cashWithdrawals.Concat(moneyTransfers).OrderBy(x => x.DateOperation).ToList());
|
||||
}
|
||||
|
||||
#region Получение отчёта PDF
|
||||
#endregion
|
||||
|
||||
[HttpGet]
|
||||
#region Получение отчёта PDF
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult CreateReport()
|
||||
{
|
||||
if (APICashier.Cashier == null)
|
||||
@ -480,26 +520,33 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public void CreateReport(int clientId, DateTime dateFrom, DateTime dateTo)
|
||||
public IActionResult CreateReport(int clientId, DateTime dateFrom, DateTime dateTo)
|
||||
{
|
||||
if (APICashier.Cashier == null)
|
||||
{
|
||||
throw new Exception("Не авторизованы");
|
||||
}
|
||||
|
||||
APICashier.PostRequest("api/Report/CreateCashierReport", new ReportSupportBindingModel()
|
||||
//запрашиваем список в формате вспомогательной вьюшки из-за работы select в asp net
|
||||
ViewBag.Clients = APICashier.GetRequest<List<ClientViewModel>>($"/api/Client/GetAllClients").Select(x => new ClientSelectViewModel
|
||||
{
|
||||
ClientId = clientId,
|
||||
Id = x.Id,
|
||||
FullName = x.Surname + " " + x.Name + " " + x.Patronymic
|
||||
}).ToList();
|
||||
|
||||
return View(APICashier.PostRequestReport<ReportCashierViewModelForHTML, ReportSupportBindingModel>("api/Report/CreateCashierReport", new ReportSupportBindingModel()
|
||||
{
|
||||
ClientId = clientId,
|
||||
DateFrom = dateFrom,
|
||||
DateTo = dateTo
|
||||
});
|
||||
|
||||
Response.Redirect("Index");
|
||||
}));
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
[HttpGet]
|
||||
#region Диаграмма
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult Diagram()
|
||||
{
|
||||
if (APICashier.Cashier == null)
|
||||
@ -530,5 +577,7 @@ namespace BankYouBankruptCashierApp.Controllers
|
||||
Elements = APICashier.GetRequest<List<CashierDiagramElementsViewModel>>($"api/Account/getAccountMonthResult?cardId={accountId}")
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
@ -1,4 +1,8 @@
|
||||
@{
|
||||
@using BankYouBankruptContracts.ViewModels;
|
||||
|
||||
@model ReportCashierViewModelForHTML
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Создание отчёта";
|
||||
}
|
||||
|
||||
@ -30,6 +34,97 @@
|
||||
<input type="submit" value="Сформировать отчёт" class="btn btn-primary" />
|
||||
</div>
|
||||
</div>
|
||||
<hr class="mt-5 mb-3" />
|
||||
@if (Model != null)
|
||||
{
|
||||
<div class="row p-3 text-center">
|
||||
<h4>Отчёт по выдаче наличных со счёта</h4>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
Номер операции
|
||||
</th>
|
||||
<th>
|
||||
Номер счёта
|
||||
</th>
|
||||
<th>
|
||||
Сумма операции
|
||||
</th>
|
||||
<th>
|
||||
Дата операции
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var item in Model.ReportCashWithdrawal)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.OperationId)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.AccountPayeeNumber)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.SumOperation)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.DateComplite)
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<hr class="my-12" />
|
||||
<div class="row p-3 text-center">
|
||||
<h4>Отчёт по денежным переводам между счетами</h4>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
Номер операции
|
||||
</th>
|
||||
<th>
|
||||
Номер счёта отправителя
|
||||
</th>
|
||||
<th>
|
||||
Номер счёта получаетля
|
||||
</th>
|
||||
<th>
|
||||
Сумма операции
|
||||
</th>
|
||||
<th>
|
||||
Дата операции
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var item in Model.ReportMoneyTransfer)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.OperationId)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.AccountSenderNumber)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.AccountPayeeNumber)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.SumOperation)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.DateComplite)
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
}
|
||||
</form>
|
||||
|
||||
<!--@{
|
||||
|
@ -28,9 +28,10 @@
|
||||
<input id="createReport" type="submit" value="Сформировать отчёт" class="btn btn-primary" />
|
||||
</div>
|
||||
</div>
|
||||
<hr class="mt-5 mb-3" />
|
||||
@if (Model != null)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="row text-center">
|
||||
<p>Отчёт по пополнениям</p>
|
||||
<table class="table">
|
||||
<thead>
|
||||
@ -70,7 +71,8 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="row">
|
||||
<hr class="my-12" />
|
||||
<div class="row text-center">
|
||||
<p>Отчёт по снятиям</p>
|
||||
<table class="table">
|
||||
<thead>
|
||||
|
@ -58,17 +58,19 @@ namespace BankYouBankruptRestAPI.Controllers
|
||||
|
||||
//метод генерации отчёта по всем счетм клиентов
|
||||
[HttpPost]
|
||||
public void CreateCashierReport(ReportSupportBindingModel model)
|
||||
public ReportCashierViewModelForHTML CreateCashierReport(ReportSupportBindingModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
_reportCashierViewModelForHTML = _reportCashierLogic.SaveAccountsToPdfFile(new ReportBindingModel
|
||||
var result = _reportCashierLogic.SaveAccountsToPdfFile(new ReportBindingModel
|
||||
{
|
||||
FileName = "Отчёт_по_счетам.pdf",
|
||||
ClientId = model.ClientId,
|
||||
DateFrom = model.DateFrom,
|
||||
DateTo = model.DateTo
|
||||
});
|
||||
|
||||
return result;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user