118 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
 | 
						|
/**
 | 
						|
 * 取得歷史資料 by baja
 | 
						|
 * @param {any} devicePath 
 | 
						|
 * @param {any} startDate_millisecond
 | 
						|
 * @param {any} endDate_millisecond
 | 
						|
 * @param {any} deviceName
 | 
						|
 * @param {any} company
 | 
						|
 * @param {any} callback
 | 
						|
 */
 | 
						|
// function getHistoryDataByBaja(devicePath, startDate_millisecond, endDate_millisecond, deviceName, company, callback) {
 | 
						|
//     var _result = "";
 | 
						|
//     var _ss = "";
 | 
						|
//     var _index = 0;
 | 
						|
 | 
						|
//     require(['baja!'], function (baja) {
 | 
						|
//         baja.Ord.make('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond).get()
 | 
						|
//             .then(function (table) {
 | 
						|
//                 return table.cursor({
 | 
						|
//                     each: function (record) {
 | 
						|
//                         _ss += ', "' + _index + '": {"deviceName":"' + deviceName + '", "value":' + record.get('value') + ', "timestamp":"' + record.get('timestamp') + '"}';
 | 
						|
//                         _index++;
 | 
						|
//                     },
 | 
						|
//                     after: function () {
 | 
						|
//                         _result += '{' + '"count": ' + _index;
 | 
						|
//                         _result += _ss;
 | 
						|
//                         _result += '}';
 | 
						|
//                         if (typeof callback === 'function') {
 | 
						|
//                             callback(_result);
 | 
						|
//                         }
 | 
						|
//                     }
 | 
						|
//                 });
 | 
						|
//             });
 | 
						|
//     });
 | 
						|
// }
 | 
						|
 | 
						|
function getHistoryDataByBaja(devicePath, startDate_millisecond, endDate_millisecond, deviceName, company, callback) {
 | 
						|
    var _result = {};
 | 
						|
    var _ss = [];
 | 
						|
    var _index = 0;
 | 
						|
    require(['baja!'], function (baja) {
 | 
						|
        console.log('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond);
 | 
						|
        baja.Ord.make('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond).get()
 | 
						|
        .then(function (table) {
 | 
						|
            return table.cursor({
 | 
						|
                each: function (record) {
 | 
						|
                    // console.log(record.get('timestamp'))
 | 
						|
                    // if (_index == 0)
 | 
						|
                    //     _ss += '{"deviceName":"' + deviceName + '", "value":' + record.get('value') + ', "timestamp":"' + record.get('timestamp').$cEncStr
 | 
						|
                    //     + '"}';
 | 
						|
                    // else
 | 
						|
                    //     _ss += ',{"deviceName":"' + deviceName + '", "value":' + record.get('value') + ', "timestamp":"' + record.get('timestamp').$cEncStr
 | 
						|
                    //     + '"}';
 | 
						|
                    _ss.push({deviceName:deviceName, value:record.get('value'), timestamp:record.get('timestamp').$cEncStr
 | 
						|
                });
 | 
						|
                    _index++;
 | 
						|
                },
 | 
						|
                after: function () {
 | 
						|
                    $(loadEle).Loading("close");
 | 
						|
                    _result={count: _index, data: _ss}
 | 
						|
                    // _result += '{' + '"count": ' + _index + ', "data":[';
 | 
						|
                    // _result += _ss;
 | 
						|
                    // _result += ']}';
 | 
						|
                    if (typeof callback === 'function') {
 | 
						|
                        // console.log(_result)
 | 
						|
                        _result = JSON.stringify(_result)
 | 
						|
                        callback(_result);
 | 
						|
                    }
 | 
						|
                },
 | 
						|
                limit: -1,
 | 
						|
                offset: 0
 | 
						|
            });
 | 
						|
        })
 | 
						|
        .catch(()=>{
 | 
						|
            console.log("error");
 | 
						|
            $(loadEle).Loading("close");
 | 
						|
            // const res = JSON.stringify({count:0, data:[]})
 | 
						|
            callback()
 | 
						|
        });
 | 
						|
    });
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
 | 
						|
function test3000p(devicePath, startDate_millisecond, endDate_millisecond, deviceName, company, callback) {
 | 
						|
    var _result = "";
 | 
						|
    var _ss = "";
 | 
						|
    var _index = 0;
 | 
						|
    require(['baja!'], function (baja) {
 | 
						|
        "use strict";
 | 
						|
        baja.Ord.make('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond)
 | 
						|
            .get(
 | 
						|
                function (table) {
 | 
						|
    
 | 
						|
                    table.cursor({
 | 
						|
                        each: function (item) {
 | 
						|
                            console.log("item: " + item);
 | 
						|
                            if (_index == 0)
 | 
						|
                                _ss += '{"deviceName":"' + deviceName + '", "value":' + item.$map.$map.value.$display + ', "timestamp":"' + item.$map.$map.timestamp.$val.$cEncStr + '"}';
 | 
						|
                            else
 | 
						|
                                _ss += ',{"deviceName":"' + deviceName + '", "value":' + item.$map.$map.value.$display + ', "timestamp":"' + item.$map.$map.timestamp.$val.$cEncStr + '"}';
 | 
						|
                            _index++;
 | 
						|
                        },
 | 
						|
                        after: function () {
 | 
						|
                            _result += '{' + '"count": ' + _index + ', "data":[';
 | 
						|
                            _result += _ss;
 | 
						|
                            _result += ']}';
 | 
						|
                            if (typeof callback === 'function') {
 | 
						|
                                callback(_result);
 | 
						|
                            }
 | 
						|
                        },
 | 
						|
                        limit: -1,
 | 
						|
                        offset: 0
 | 
						|
                    });
 | 
						|
                })
 | 
						|
    });
 | 
						|
}
 |