| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405 |
- @{
- ViewData["Title"] = "Index";
- Layout = "~/Views/Shared/_Layout.cshtml";
- }
- @using SuperCms.Controllers;
- @using SuperCms.Models;
- @using System.Globalization;
- @using SuperCms.Database;
- @model StockViewModel
- @{
- DateTime oDateFrom = Model.fromDate != "" ? DateTime.ParseExact(Model.fromDate, "dd/MM/yyyy", CultureInfo.InvariantCulture) : DateTime.Now;
- var from_date = oDateFrom.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture);
- DateTime oDateTo = Model.toDate != "" ? DateTime.ParseExact(Model.toDate, "dd/MM/yyyy", CultureInfo.InvariantCulture) : DateTime.Now;
- var to_date = oDateTo.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture);
- }
- <div class="app-content content">
- <div class="content-wrapper">
- <div class="content-header row">
- <div class="content-header-left col-md-6 col-xs-12 mb-1">
- @*<h2 class="content-header-title">Message configuration</h2>*@
- </div>
- <div class="content-header-right breadcrumbs-right breadcrumbs-top col-md-6 col-xs-12">
- <div class="breadcrumb-wrapper col-xs-12">
- <ol class="breadcrumb">
- @*<li class="breadcrumb-item">
- <a href="Index">Admin</a>
- </li>*@
- @*<li class="breadcrumb-item">
- <a href="/Config">Tables</a>
- </li>*@
- </ol>
- </div>
- </div>
- </div>
- <div class="content-body">
- <!-- Basic form layout section start -->
- <section id="basic-form-layouts">
- <div class="row service-height">
- <div class="col-md-12">
- <div class="card">
- <div class="card-header">
- <h4 class="card-title" id="basic-layout-form">Toolbars</h4>
- <a class="heading-elements-toggle"><i class="icon-ellipsis font-medium-3"></i></a>
- <div class="heading-elements">
- <ul class="list-inline mb-0">
- <li><a data-action="collapse"><i class="icon-minus4"></i></a></li>
- <li><a data-action="expand"><i class="icon-expand2"></i></a></li>
- </ul>
- </div>
- </div>
- <div class="card-content collapse show">
- <div class="card-body ">
- <div class="card-block">
- <div class="form-body">
- <div class="row">
- <div class="col-md-12">
- <div class="form-group form-box">
- <form class="form-horizontal" action="/Stock" method="post">
- @Html.AntiForgeryToken()
- <div class="row">
- <div class="col-md-5">
- <div class="box-relative" style="width:100%;">
- <label>From</label>
- <input class="form-control" type="date" id="fromDate" name="fromDate" autocomplete="on" placeholder="Fill from date"
- value="@from_date"
- style="width:calc(100%); display:inline-block;height:auto">
- </div>
- </div>
- <div class="col-md-5">
- <div class="box-relative" style="width:100%;">
- <label>To</label>
- <input class="form-control" type="date" id="toDate" name="toDate" autocomplete="on" placeholder="Fill to date"
- value="@to_date"
- style="width:calc(100%); display:inline-block;height:auto">
- </div>
- </div>
- <div class="col-md-2" style="margin: initial; padding-top: 27px; text-align: end; ">
- <div class="box-relative" style="width:100%;">
- <button type="submit" class="btn btn-outline-primary" formaction="/Stock/Export">Export</button>
- <button type="submit" class="btn btn-outline-primary">Search</button>
- </div>
- </div>
- </div>
- </form>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="col-12">
- <div class="card">
- <div class="row card-content" style="margin:0;">
- <div class="col-md-5 table-responsive" style="padding-right:0; padding-left: 0;">
- <table id="db-table-detail-report-month" class="table table-hover mb-0 ps-container ps-theme-default">
- @{
- <thead>
- <tr>
- <th>NO</th>
- <th>NGÀNH</th>
- <th>CHỈ SỐ</th>
- </tr>
- </thead>
- <tbody>
- @{
- // get the newest data folowing by each service
- for (int j = 0; j < Model.distributeData.Count; j++)
- {
- ConnCkNganh nganh = Model.distributeData.ElementAt(j).Key;
- <tr class="sencond-column @(j%2==0? "oven-column" : "")">
- <td rowspan="6" class="text-truncate main-column" style="vertical-align: middle;">@(j+1)</td>
- <td rowspan="6" class="text-truncate main-column" style="vertical-align: middle;">@(nganh.Name.ToUpper())</td>
- <td class="text-truncate">Tăng (+) / Giảm (-)</td>
- </tr>
- <tr class="sencond-column @(j%2==0? "oven-column" : "")">
- <td class="text-truncate">Thay đổi</td>
- </tr>
- <tr class="sencond-column @(j%2==0? "oven-column" : "")">
- <td class="text-truncate">Khối lượng</td>
- </tr>
- <tr class="sencond-column @(j%2==0? "oven-column" : "")">
- <td class="text-truncate">Giá trị</td>
- </tr>
- <tr class="sencond-column @(j%2==0? "oven-column" : "")">
- <td class="text-truncate">Mua</td>
- </tr>
- <tr class="sencond-column @(j%2==0? "oven-column" : "")">
- <td class="text-truncate">Bán</td>
- </tr>
- }
- int len = Model.distributeData.Count;
- <tr class="sencond-column @(len%2==0? "oven-column" : "")">
- <td rowspan="4" class="text-truncate main-column" style="vertical-align: middle;"></td>
- <td rowspan="4" class="text-truncate main-column" style="vertical-align: middle;">TONG</td>
- <td class="text-truncate">Khối lượng</td>
- </tr>
- <tr class="sencond-column @(len%2==0? "oven-column" : "")">
- <td class="text-truncate">Giá trị</td>
- </tr>
- <tr class="sencond-column @(len%2==0? "oven-column" : "")">
- <td class="text-truncate">Mua</td>
- </tr>
- <tr class="sencond-column @(len%2==0? "oven-column" : "")">
- <td class="text-truncate">Bán</td>
- </tr>
- }
- </tbody>
- }
- </table>
- </div>
- <div class="col-md-7 table-responsive" style="padding-left:0">
- <table id="db-table-detail-report-day" class="table table-hover mb-0 ps-container ps-theme-default">
- @{
- <thead>
- <tr>
- @{
- for (int d = 0; d < Model.listDate.Count; d++)
- {
- <th>@Model.listDate[d].ToString("dd/MM")</th>
- <th>%</th>
- }
- }
- </tr>
- </thead>
- <tbody>
- @{
- List<double> listTongGiaTri = new List<double>();
- List<double> listTongKhoiLuong = new List<double>();
- List<double> listTongThayDoi = new List<double>();
- List<double> listTongMua = new List<double>();
- List<double> listTongBan = new List<double>();
- for (int d = 0; d < Model.listDate.Count; d++)
- {
- // tong sum
- double tongGiaTri = 0.0;
- double tongThayDoi = 0.0;
- double tongKhoiLuong = 0.0;
- double tongMua = 0.0;
- double tongBan = 0.0;
- for (int k = 0; k < Model.distributeData.Count; k++)
- {
- Dictionary<DateTime, ConnCkData> dataDateList = Model.distributeData.ElementAt(k).Value;
- ConnCkData ckData = dataDateList.ElementAt(d).Value;
- if (ckData != null)
- {
- tongBan += Decimal.ToDouble(ckData.TnnBan ?? 0);
- tongMua += Decimal.ToDouble(ckData.TnnMua ?? 0);
- tongKhoiLuong += Decimal.ToDouble(ckData.KhoiLuong ?? 0);
- //tongThayDoi += Double.Parse(ckData.ThayDoi);
- tongGiaTri += Decimal.ToDouble(ckData.GiaTri ?? 0);
- }
- }
- listTongGiaTri.Add(tongGiaTri);
- listTongKhoiLuong.Add(tongKhoiLuong);
- listTongMua.Add(tongMua);
- listTongBan.Add(tongBan);
- //listTongThayDoi.Add(tongThayDoi);
- }
- for (int j = 0; j < Model.distributeData.Count; j++)
- {
- Dictionary<DateTime, ConnCkData> dataDateList = Model.distributeData.ElementAt(j).Value;
- <tr class="sencond-column @(j%2==0? "oven-column" : "")">
- @{
- for (int u = 0; u < dataDateList.Count; u++)
- {
- ConnCkData data = dataDateList.ElementAt(u).Value;
- if (data == null)
- {
- <td class="text-truncate"></td>
- <td class="text-truncate"></td>
- }
- else
- {
- <td class="text-truncate @(data.TangGiam.Contains("-") ? "red-text" : "green-text")">@(string.Format("{0:#,0}", data.TangGiam))</td>
- <td class="text-truncate"></td>
- }
- }
- }
- </tr>
- <tr class="sencond-column @(j%2==0? "oven-column" : "")">
- @{
- for (int u = 0; u < dataDateList.Count; u++)
- {
- ConnCkData data = dataDateList.ElementAt(u).Value;
- if (data == null)
- {
- <td class="text-truncate"></td>
- <td class="text-truncate"></td>
- }
- else
- {
- //double tongThayDoiNgay = listTongThayDoi[u];
- //double percent = Math.Round(Double.Parse(data.ThayDoi) * 100 / tongThayDoiNgay, 2);
- <td class="text-truncate">@(string.Format("{0:#,0}", data.ThayDoi))</td>
- //<td class="text-truncate">@(percent)%</td>
- <td class="text-truncate"></td>
- }
- }
- }
- </tr>
- <tr class="sencond-column @(j%2==0? "oven-column" : "")">
- @{
- for (int u = 0; u < dataDateList.Count; u++)
- {
- ConnCkData data = dataDateList.ElementAt(u).Value;
- if (data == null)
- {
- <td class="text-truncate"></td>
- <td class="text-truncate"></td>
- }
- else
- {
- double tongKhoiLuongNgay = listTongKhoiLuong[u];
- double percent = Math.Round(Decimal.ToDouble(data.KhoiLuong ?? 0) * 100 / tongKhoiLuongNgay, 2);
- <td class="text-truncate">@(string.Format("{0:#,0}", data.KhoiLuong))</td>
- <td class="text-truncate purple-bg">@percent%</td>
- }
- }
- }
- </tr>
- <tr class="sencond-column @(j%2==0? "oven-column" : "")">
- @{
- for (int u = 0; u < dataDateList.Count; u++)
- {
- ConnCkData data = dataDateList.ElementAt(u).Value;
- if (data == null)
- {
- <td class="text-truncate"></td>
- <td class="text-truncate"></td>
- }
- else
- {
- double tongGiaTriNgay = listTongGiaTri[u];
- double percent = Math.Round(Decimal.ToDouble(data.GiaTri ?? 0) * 100 / tongGiaTriNgay, 2);
- <td class="text-truncate">@(string.Format("{0:#,0}", data.GiaTri))</td>
- <td class="text-truncate purple-bg">@percent%</td>
- }
- }
- }
- </tr>
- <tr class="sencond-column @(j%2==0? "oven-column" : "")">
- @{
- for (int u = 0; u < dataDateList.Count; u++)
- {
- ConnCkData data = dataDateList.ElementAt(u).Value;
- if (data == null)
- {
- <td class="text-truncate"></td>
- <td class="text-truncate"></td>
- }
- else
- {
- double tongMuaNgay = listTongMua[u];
- double percent = Math.Round(Decimal.ToDouble(data.TnnMua ?? 0) * 100 / tongMuaNgay, 2);
- <td class="text-truncate">@(string.Format("{0:#,0}", data.TnnMua))</td>
- <td class="text-truncate purple-bg">@percent%</td>
- }
- }
- }
- </tr>
- <tr class="sencond-column @(j%2==0? "oven-column" : "")">
- @{
- for (int u = 0; u < dataDateList.Count; u++)
- {
- ConnCkData data = dataDateList.ElementAt(u).Value;
- if (data == null)
- {
- <td class="text-truncate"></td>
- <td class="text-truncate"></td>
- }
- else
- {
- double tongBanNgay = listTongBan[u];
- double percent = Math.Round(Decimal.ToDouble(data.TnnBan ?? 0) * 100 / tongBanNgay, 2);
- <td class="text-truncate">@(string.Format("{0:#,0}", data.TnnBan))</td>
- <td class="text-truncate purple-bg">@percent%</td>
- }
- }
- }
- </tr>
- }
- <tr class="sencond-column @(Model.distributeData.Count%2==0? "oven-column" : "")">
- @{
- for (int u = 0; u < Model.listDate.Count; u++)
- {
- <td class="text-truncate bold-text">@(string.Format("{0:#,0}", listTongKhoiLuong[u]))</td>
- <td class="text-truncate"></td>
- }
- }
- </tr>
- <tr class="sencond-column @(Model.distributeData.Count%2==0? "oven-column" : "")">
- @{
- for (int u = 0; u < Model.listDate.Count; u++)
- {
- <td class="text-truncate bold-text">@(string.Format("{0:#,0}", listTongGiaTri[u]))</td>
- <td class="text-truncate"></td>
- }
- }
- </tr>
- <tr class="sencond-column @(Model.distributeData.Count%2==0? "oven-column" : "")">
- @{
- for (int u = 0; u < Model.listDate.Count; u++)
- {
- <td class="text-truncate bold-text">@(string.Format("{0:#,0}", listTongMua[u]))</td>
- <td class="text-truncate"></td>
- }
- }
- </tr>
- <tr class="sencond-column @(Model.distributeData.Count%2==0? "oven-column" : "")">
- @{
- for (int u = 0; u < Model.listDate.Count; u++)
- {
- <td class="text-truncate bold-text">@(string.Format("{0:#,0}", listTongBan[u]))</td>
- <td class="text-truncate"></td>
- }
- }
- </tr>
- }
- </tbody>
- }
- </table>
- </div>
- </div>
- </div>
- </div>
- </div>
- </section>
- <!-- // Basic form layout section end -->
- </div>
- </div>
- </div>
|