@{
    ViewData["MainNum"] = "2";
    ViewData["SubNum"] = "3";
    ViewData["Title"] = "Niagara資料同步";
}

<ol class="breadcrumb page-breadcrumb">
    <li class="breadcrumb-item"><a href="javascript:void(0);">首頁</a></li>
    <li class="breadcrumb-item">設備管理</li>
    <li class="breadcrumb-item active">Niagara資料同步</li>
    <li class="position-absolute pos-top pos-right d-none d-sm-block"><span class="js-get-date"></span></li>
</ol>

<div class="row">
    <div class="col-xl-12">
        <div id="panel-5" class="panel">
            <div class="panel-container show">
                <div class="panel-content">

                    <div class="form-row align-items-center">
                        <div class="col-12 mb-3">
                            <div class="custom-control custom-radio custom-control-inline">
                                <input type="radio" id="Building_B" name="Building" value="B" class="custom-control-input">
                                <label class="custom-control-label" for="Building_B">三菱B1</label>
                            </div>
                            @*<div class="custom-control custom-radio custom-control-inline">
                                <input type="radio" id="Building_O" name="Building" value="O" class="custom-control-input">
                                <label class="custom-control-label" for="Building_O">辦公棟</label>
                            </div>*@
                        </div>
                    </div>

                    <div class="form-row align-items-center">
                        <button id="loadDataBtn" type="button" class="btn btn-primary" onclick="LoadData()">載入資料</button>
                        <button id="synchornizeDataBtn" type="button" class="btn btn-dark" onclick="SynchronizeData()">同步資料</button>
                    </div>

                    <br />
                    <br />

                    <div class="form-row align-items-center">
                        <p id="loadDataText"></p>
                    </div>

                    <div class="mb-5">
                        <div class="card p-3 w-100">
                            <div class="card-header d-flex align-items-center flex-wrap">
                                <div class="card-title">
                                    Niagara資料
                                </div>
                            </div>
                            <div class="card-body row">
                                <div class="col-12">
                                    <!-- datatable start -->
                                    <table id="niagara_data_table" class="table table-bordered table-hover m-0 text-center">
                                        <thead class="thead-themed">
                                            <tr>
                                                <th>value</th>
                                                <th>tag_name</th>
                                                <th>point_name</th>
                                            </tr>
                                        </thead>
                                        <tbody>
                                        </tbody>
                                    </table>
                                </div>
                            </div>
                        </div>
                    </div>

                </div>
            </div>
        </div>
    </div>
</div>

@section Scripts {
    <script>
        var buildingId, building;
        var rawDataImportTable;
        var ds;

        var today = new Date();
        var date = today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + today.getDate();

        $(function () {
            ds = null;
            building = "B1";
            document.getElementById("Building_B").checked = true;

            rawDataImportTable = $("#niagara_data_table").DataTable({
                "columns": [
                    {
                        "data": "value"
                    },
                    {
                        "data": "tag_name"
                    },
                    {
                        "data": "point_name"
                    },
                ],
                "ajax": {
                    "url": "/NiagaraDataSynchronize/RawDataList",
                    "type": "POST",
                    "dataSrc": function (rel) {
                        if (rel.code == "9999") {
                            toast_error(rel.msg);
                            document.getElementById('loadDataText').innerText = "載入資料出錯了!";
                            return;
                        }

                        var data = rel.data;
                        ds = data;
                        if (data == null || data.length == 0) {
                            this.data = [];
                            document.getElementById('loadDataText').innerText = "";
                        }
                        else if(data.length > 0) { 
                            var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
                            var dateTime = date + ' ' + time;
                            document.getElementById('loadDataText').innerText = "共 " + rel.data.length + " 筆資料 \n" + dateTime;
                        }
                        return data;
                    }
                }
            });
        });

        //#region 載入Niagara資料
        function LoadData() {
            document.getElementById('loadDataText').innerText = "Loading...";
            buildingId = document.querySelector('input[name="Building"]:checked').value;
            if (buildingId == "B") {
                building = "B1";
                rawDataImportTable.ajax.reload();
            }
        }
        //#endregion

        function SynchronizeData() {
            document.getElementById('loadDataText').innerText = "同步中...";
            if (ds.length > 0) {
                //比對資料,有差異的話,再同步到device等資料表
                var url_synchronize_data = "/NiagaraDataSynchronize/CompareData/";

                var send_data = {
                    ds: ds,
                    building: building
                }
                $.post(url_synchronize_data, send_data, function (rel) {
                    if (rel.code != "0000") {
                        toast_error(rel.msg);
                        document.getElementById('loadDataText').innerText = "比對資料出錯了!";
                        return;
                    }
                    var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
                    var dateTime = date + ' ' + time;
                    document.getElementById('loadDataText').innerText = "比對完成 \n" + dateTime;
                }, 'json');
            }
            else {
                document.getElementById('loadDataText').innerText = "查無資料 無法比對!";
            }
        }

    </script>
}