Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var winston = require('winston');
- var request = require('request');
- var util = require('util');
- var PAGE_NAME = "ACCESS_CONTROL: ";
- var config = require('config');
- var DevicesModel = require('../models/Devices');
- var CommonUtils = require('../utils/CommonUtils');
- var Validator = require('../utils/validator');
- const HOUR = 3600;
- const MINUTE = 60;
- function parseCfg(fileString) {
- var modifiedString = fileString.replace("LOCAL_CARD_INIT\r\n", "");
- var arr = modifiedString.split("\r\n");
- var resultObj = {};
- var localCardCounter = 1;
- for (var i in arr) {
- var pair = arr[i].split("=");
- if (pair[0] == "LOCAL_CARD") {
- resultObj[pair[0] + localCardCounter++] = pair[1].trim();
- } else if (pair[0] == "") {
- console.log("Delete empty string");
- } else if (pair[0] == "SAVE_CONFIG") {
- console.log("Delete empty string");
- } else {
- resultObj[pair[0]] = pair[1].trim();
- }
- }
- return resultObj;
- }
- function addDOOR_CRITICAL_TIMEParams(cfg) {
- var doorCritialTime = cfg["DOOR_CRITICAL_TIME"].trim();
- var timeObj = calcTime(doorCritialTime);
- cfg["tmp_door_critical_time"] = timeObj.time_value;
- cfg["door_critical_time_units"] = timeObj.units;
- }
- function addDISCRETE_LINKAGE0Params(cfg) {
- var param = cfg["DISCRETE_LINKAGE"];
- var discreteLinkageArray = param.split(",");
- var binaryArray = CommonUtils.toBinaryArray(discreteLinkageArray[0], 19);
- cfg["gaz_siren"] = binaryArray[0];
- cfg["gaz_light"] = binaryArray[1];
- cfg["gaz_relay1"] = binaryArray[2];
- cfg["gaz_relay2"] = binaryArray[3];
- cfg["vibro_siren"] = binaryArray[4];
- cfg["vibro_light"] = binaryArray[5];
- cfg["vibro_relay1"] = binaryArray[6];
- cfg["vibro_relay2"] = binaryArray[7];
- cfg["incline_siren"] = binaryArray[8];
- cfg["incline_light"] = binaryArray[9];
- cfg["incline_relay1"] = binaryArray[10];
- cfg["incline_relay2"] = binaryArray[11];
- cfg["door_siren"] = binaryArray[12];
- cfg["door_light"] = binaryArray[13];
- cfg["door_relay1"] = binaryArray[14];
- cfg["door_relay2"] = binaryArray[15];
- cfg["card_siren"] = binaryArray[16];
- cfg["card_light"] = binaryArray[17];
- cfg["card_relay1"] = binaryArray[18];
- cfg["card_relay2"] = binaryArray[19];
- }
- function calcTime(time) {
- var units = 0;
- var time_value = 0;
- if (!time || time==0) {
- units = 0;
- time_value = 0
- } else if (time >= HOUR) {
- units = 3600;
- time_value = time / HOUR;
- } else if (time >= 60) {
- units = 60;
- time_value = time / MINUTE;
- } else {
- units = 1;
- time_value = time;
- }
- return {units: units, time_value: time_value};
- }
- function addDISCRETE_LINKAGEsiren_pulse_widthParams(cfg) {
- var param = cfg["DISCRETE_LINKAGE"];
- var discreteLinkageArray = param.split(",");
- var time = discreteLinkageArray[2].trim();
- var timeObj = calcTime(time);
- cfg["tmp_sirene_pulse_width"] = timeObj.time_value;
- cfg["sirene_pulse_width_units"] = timeObj.units;
- }
- function addDISCRETE_LINKAGElight_pulse_widthParams(cfg) {
- var param = cfg["DISCRETE_LINKAGE"];
- var discreteLinkageArray = param.split(",");
- var time = discreteLinkageArray[3].trim();
- var timeObj = calcTime(time);
- cfg["tmp_light_pulse_width"] = timeObj.time_value;
- cfg["light_pulse_width_units"] = timeObj.units;
- }
- function addDISCRETE_LINKAGEdispenser_pulse_widthParams(cfg) {
- var param = cfg["DISCRETE_LINKAGE"];
- var discreteLinkageArray = param.split(",");
- var time = discreteLinkageArray[4].trim();
- var timeObj = calcTime(time);
- cfg["tmp_dispenser_pulse_width"] = timeObj.time_value;
- cfg["dispenser_pulse_width_units"] = timeObj.units;
- }
- function addDISCRETE_LINKAGEcomputer_pulse_widthParams(cfg) {
- var param = cfg["DISCRETE_LINKAGE"];
- var discreteLinkageArray = param.split(",");
- var time = discreteLinkageArray[5].trim();
- var timeObj = calcTime(time);
- cfg["tmp_computer_pulse_width"] = timeObj.time_value;
- cfg["computer_pulse_width_units"] = timeObj.units;
- }
- function addALARM_OUTPUT_OPTIONSParams(cfg) {
- var param = cfg["ALARM_OUTPUT_OPTIONS"];
- var binaryArray = CommonUtils.toBinaryArray(param, 26);
- cfg["siren_def_alarm"] = binaryArray[0];
- cfg["siren_2x_click"] = binaryArray[1];
- cfg["light_def_alarm"] = binaryArray[8];
- cfg["light_2x_click"] = binaryArray[9];
- cfg["disps_def_alarm"] = binaryArray[16];
- cfg["disps_2x_click"] = binaryArray[17];
- cfg["comp_def_alarm"] = binaryArray[24];
- cfg["comp_2x_click"] = binaryArray[25];
- }
- function processNetworkParams(configFile, req) {
- configFile["IP_ADDRESS"] = req.body.IP_ADDRESS;
- configFile["NETWORK_MASK"] = req.body.NETWORK_MASK;
- configFile["DEFAULT_GATEWAY"] = req.body.DEFAULT_GATEWAY;
- configFile["WEB_CONFIG_PORT"] = req.body.WEB_CONFIG_PORT;
- configFile["WEB_ALLOWED_TIME"] = req.body.WEB_ALLOWED_TIME;
- configFile["SPRUT_IP"] = req.body.SPRUT_IP;
- configFile["SPRUT_PORT"] = req.body.SPRUT_PORT;
- configFile["SPRUT_KAPERIOD_INDEX"] = req.body.SPRUT_KAPERIOD_INDEX;
- }
- function processDateTimeParams(configFile, req) {
- configFile["TIME_ZONE"] = req.body.TIME_ZONE;
- configFile["TIME_SERVER_ADDRESS"] = req.body.TIME_SERVER_ADDRESS;
- }
- function processLocalMinibaseRFIDParams(configFile, req) {
- configFile["LOCAL_CARD1"] = req.body.LOCAL_CARD1;
- configFile["LOCAL_CARD2"] = req.body.LOCAL_CARD2;
- configFile["LOCAL_CARD3"] = req.body.LOCAL_CARD3;
- configFile["LOCAL_CARD4"] = req.body.LOCAL_CARD4;
- configFile["LOCAL_CARD5"] = req.body.LOCAL_CARD5;
- configFile["LOCAL_CARD6"] = req.body.LOCAL_CARD6;
- configFile["LOCAL_CARD7"] = req.body.LOCAL_CARD7;
- configFile["LOCAL_CARD8"] = req.body.LOCAL_CARD8;
- configFile["LOCAL_CARD9"] = req.body.LOCAL_CARD9;
- configFile["LOCAL_CARD10"] = req.body.LOCAL_CARD10;
- configFile["LOCAL_CARD11"] = req.body.LOCAL_CARD11;
- configFile["LOCAL_CARD12"] = req.body.LOCAL_CARD12;
- configFile["LOCAL_CARD13"] = req.body.LOCAL_CARD13;
- configFile["LOCAL_CARD14"] = req.body.LOCAL_CARD14;
- configFile["LOCAL_CARD15"] = req.body.LOCAL_CARD15;
- configFile["LOCAL_CARD16"] = req.body.LOCAL_CARD16;
- configFile["LOCAL_CARD17"] = req.body.LOCAL_CARD17;
- configFile["LOCAL_CARD18"] = req.body.LOCAL_CARD18;
- configFile["LOCAL_CARD19"] = req.body.LOCAL_CARD19;
- configFile["LOCAL_CARD20"] = req.body.LOCAL_CARD20;
- configFile["LOCAL_CARD21"] = req.body.LOCAL_CARD21;
- configFile["LOCAL_CARD22"] = req.body.LOCAL_CARD22;
- configFile["LOCAL_CARD23"] = req.body.LOCAL_CARD23;
- }
- function processALARM_OUTPUT_OPTIONSParams(configFile, req) {
- var sum = 0;
- console.log("req.body: " + util.inspect(req.body));
- if (req.body.siren_def_alarm) sum += (1 << 0);
- if (req.body.siren_2x_click) sum += (1 << 1);
- if (req.body.light_def_alarm)sum += (1 << 8);
- if (req.body.light_2x_click) sum += (1 << 9);
- if (req.body.disps_def_alarm) sum += (1 << 16);
- if (req.body.disps_2x_click) sum += (1 << 17);
- if (req.body.comp_def_alarm) sum += (1 << 24);
- if (req.body.comp_2x_click) sum += (1 << 25);
- configFile["ALARM_OUTPUT_OPTIONS"] = sum;
- // перекладыаем параметры из реквеста для отображения на странице после сабмита
- configFile["siren_def_alarm"] = req.body.siren_def_alarm ? 1 : 0;
- configFile["siren_2x_click"] = req.body.siren_2x_click ? 1 : 0;
- configFile["light_def_alarm"] = req.body.light_def_alarm ? 1 : 0;
- configFile["light_2x_click"] = req.body.light_2x_click ? 1 : 0;
- configFile["disps_def_alarm"] = req.body.disps_def_alarm ? 1 : 0;
- configFile["disps_2x_click"] = req.body.disps_2x_click ? 1 : 0;
- configFile["comp_def_alarm"] = req.body.comp_def_alarm ? 1 : 0;
- configFile["comp_2x_click"] = req.body.comp_2x_click ? 1 : 0;
- }
- function sanitizeTime (value, units) {
- if (units == 3600 ) {
- if (!(value >= 1 && value <= 24)) {
- return 1;
- } else {
- return value;
- }
- } else if (units == 60) {
- if (!(value >= 1 && value <= 59)) {
- return 1;
- } else {
- return value;
- }
- } else if (units == 1) {
- if (!(value >= 1 && value <= 59)) {
- return 30;
- } else {
- return value;
- }
- }
- return 0;
- }
- function calcTimeWithUnits(value, units) {
- var val = sanitizeTime(value, units) * units;
- if(val <= 0 ) return 0;
- if(val > 18000) return 18000;
- return val;
- }
- function processDISCRETE_LINKAGEParams(configFile, req) {
- var sum = 0;
- if (req.body.gaz_siren) {
- sum += (1 << 0);
- }
- if (req.body.gaz_light) {
- sum += (1 << 1);
- }
- if (req.body.gaz_relay1) {
- sum += (1 << 2);
- }
- if (req.body.gaz_relay2) {
- sum += (1 << 3);
- }
- if (req.body.vibro_siren) {
- sum += (1 << 4);
- }
- if (req.body.vibro_light) {
- sum += (1 << 5);
- }
- if (req.body.vibro_relay1) {
- sum += (1 << 6);
- }
- if (req.body.vibro_relay2) {
- sum += (1 << 7);
- }
- if (req.body.incline_siren) {
- sum += (1 << 8);
- }
- if (req.body.incline_light) {
- sum += (1 << 9);
- }
- if (req.body.incline_relay1) {
- sum += (1 << 10);
- }
- if (req.body.incline_relay2) {
- sum += (1 << 11);
- }
- if (req.body.door_siren) {
- sum += (1 << 12);
- }
- if (req.body.door_light) {
- sum += (1 << 13);
- }
- if (req.body.door_relay1) {
- sum += (1 << 14);
- }
- if (req.body.door_relay2) {
- sum += (1 << 15);
- }
- if (req.body.card_siren) {
- sum += (1 << 16);
- }
- if (req.body.card_light) {
- sum += (1 << 17);
- }
- if (req.body.card_relay1) {
- sum += (1 << 18);
- }
- if (req.body.card_relay2) {
- sum += (1 << 19);
- }
- var sireneUnits = parseInt(req.body.sirene_pulse_width_units);
- var sirene_pulse_width = calcTimeWithUnits(req.body.tmp_sirene_pulse_width, sireneUnits);
- var lightUnits = parseInt(req.body.light_pulse_width_units);
- var light_pulse_width = calcTimeWithUnits(req.body.tmp_light_pulse_width, lightUnits);
- var dispenserUnits = parseInt(req.body.dispenser_pulse_width_units);
- var dispenser_pulse_width = calcTimeWithUnits(req.body.tmp_dispenser_pulse_width, dispenserUnits);
- var computerUnits = parseInt(req.body.computer_pulse_width_units);
- var computer_pulse_width = calcTimeWithUnits(req.body.tmp_computer_pulse_width, computerUnits);
- configFile["DISCRETE_LINKAGE"] = sum + ", " +
- "12, " +
- sirene_pulse_width + ", " +
- light_pulse_width + ", " +
- dispenser_pulse_width + ", " +
- computer_pulse_width;
- configFile["gaz_siren"] = req.body.gaz_siren ? 1 : 0;
- configFile["gaz_light"] = req.body.gaz_light ? 1 : 0;
- configFile["gaz_relay1"] = req.body.gaz_relay1 ? 1 : 0;
- configFile["gaz_relay2"] = req.body.gaz_relay2 ? 1 : 0;
- configFile["vibro_siren"] = req.body.vibro_siren ? 1 : 0;
- configFile["vibro_light"] = req.body.vibro_light ? 1 : 0;
- configFile["vibro_relay1"] = req.body.vibro_relay1 ? 1 : 0;
- configFile["vibro_relay2"] = req.body.vibro_relay2 ? 1 : 0;
- configFile["incline_siren"] = req.body.incline_siren ? 1 : 0;
- configFile["incline_light"] = req.body.incline_light ? 1 : 0;
- configFile["incline_relay1"] = req.body.incline_relay1 ? 1 : 0;
- configFile["incline_relay2"] = req.body.incline_relay2 ? 1 : 0;
- configFile["door_siren"] = req.body.door_siren ? 1 : 0;
- configFile["door_light"] = req.body.door_light ? 1 : 0;
- configFile["door_relay1"] = req.body.door_relay1 ? 1 : 0;
- configFile["door_relay2"] = req.body.door_relay2 ? 1 : 0;
- configFile["card_siren"] = req.body.card_siren ? 1 : 0;
- configFile["card_light"] = req.body.card_light ? 1 : 0;
- configFile["card_relay1"] = req.body.card_relay1 ? 1 : 0;
- configFile["card_relay2"] = req.body.card_relay2 ? 1 : 0;
- configFile["tmp_sirene_pulse_width"] = req.body.tmp_sirene_pulse_width;
- configFile["sirene_pulse_width_units"] = req.body.sirene_pulse_width_units;
- configFile["tmp_light_pulse_width"] = req.body.tmp_light_pulse_width;
- configFile["light_pulse_width_units"] = req.body.light_pulse_width_units;
- configFile["tmp_dispenser_pulse_width"] = req.body.tmp_dispenser_pulse_width;
- configFile["dispenser_pulse_width_units"] = req.body.dispenser_pulse_width_units;
- configFile["tmp_computer_pulse_width"] = req.body.tmp_computer_pulse_width;
- configFile["computer_pulse_width_units"] = req.body.computer_pulse_width_units;
- }
- function processEquipmentSettingsParams(configFile, req) {
- configFile["READER_DB_SOURCE"] = req.body.READER_DB_SOURCE;
- configFile["READER_TYPE"] = req.body.READER_TYPE;
- configFile["LOCK_OPEN_POWERED"] = req.body.LOCK_OPEN_POWERED;
- configFile["LOCK_PULSE_WIDTH"] = req.body.LOCK_PULSE_WIDTH;
- configFile["DOOR_SENSOR_PRESENT"] = req.body.DOOR_SENSOR_PRESENT ? 1 : 0;
- configFile["DOOR_SENSOR_INVERTED"] = req.body.DOOR_SENSOR_INVERTED ? 1 : 0;
- var checkDoorCriticalTimeUnits = parseInt(req.body.door_critical_time_units);
- var doorCriticalTime = calcTimeWithUnits(req.body.tmp_door_critical_time, checkDoorCriticalTimeUnits);
- configFile["DOOR_CRITICAL_TIME"] = doorCriticalTime;
- configFile["tmp_door_critical_time"] = req.body.tmp_door_critical_time;
- configFile["door_critical_time_units"] = req.body.door_critical_time_units;
- configFile["DOOR_SENSOR_INVERTED"] = req.body.DOOR_SENSOR_INVERTED ? 1 : 0;
- configFile["DI3_FUNCTION"] = req.body.DI3_FUNCTION;
- configFile["DI4_FUNCTION"] = req.body.DI4_FUNCTION;
- configFile["INCLINE_SENSOR_TYPE"] = req.body.INCLINE_SENSOR_TYPE;
- }
- function createFileFromRequest(configFile) {
- return "USER_NAME_PASSWORD= 00000\r\n" +
- "IP_ADDRESS= " + configFile.IP_ADDRESS + "\r\n" +
- "NETWORK_MASK= " + configFile.NETWORK_MASK + "\r\n" +
- "DEFAULT_GATEWAY= " + configFile.DEFAULT_GATEWAY + "\r\n" +
- "WEB_CONFIG_PORT= " + configFile.WEB_CONFIG_PORT + "\r\n" +
- "WEB_ALLOWED_TIME= " + configFile.WEB_ALLOWED_TIME + "\r\n" +
- "SUPERVISOR_CARD=\r\n" +
- "TIME_ZONE= " + configFile.TIME_ZONE + "\r\n" +
- "TIME_SERVER_ADDRESS= " + configFile.TIME_SERVER_ADDRESS + "\r\n" +
- "SET_MAIN_STATE= 0\r\n" +
- "BLOCKING_FLAGS= 0\r\n" +
- "TIMING_FLAG= 0\r\n" +
- "LOCK_OPEN_POWERED= " + configFile.LOCK_OPEN_POWERED + "\r\n" +
- "LOCK_PULSE_WIDTH= " + configFile.LOCK_PULSE_WIDTH + "\r\n" +
- "DOOR_SENSOR_PRESENT= 1\r\n" +
- "DOOR_SENSOR_INVERTED= " + configFile.DOOR_SENSOR_INVERTED + "\r\n" +
- "DI3_FUNCTION= " + configFile.DI3_FUNCTION + "\r\n" +
- "DI4_FUNCTION= " + configFile.DI4_FUNCTION + "\r\n" +
- "READER_DB_SOURCE= " + configFile.READER_DB_SOURCE + "\r\n" +
- "CHECK_DOOR_CRITICAL_TIME= 1\r\n" +
- "DOOR_CRITICAL_TIME= " + configFile.DOOR_CRITICAL_TIME + "\r\n" +
- "READER_TYPE= " + configFile.READER_TYPE + "\r\n" +
- "ACCESS_MODE= 0\r\n" +
- "INCLINE_SENSOR_TYPE= " + configFile.INCLINE_SENSOR_TYPE + "\r\n" +
- "SPRUT_IP= " + configFile.SPRUT_IP + "\r\n" +
- "SPRUT_PORT= " + configFile.SPRUT_PORT + "\r\n" +
- "SPRUT_KAPERIOD_INDEX= " + configFile.SPRUT_KAPERIOD_INDEX + "\r\n" +
- "RFID_BASE_PRESENT= 1949,6325\r\n" +
- "SCHEDULE_PRESENT= 0,0\r\n" +
- "LOCAL_CARD_INIT\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD1 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD2 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD3 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD4 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD5 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD6 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD7 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD8 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD9 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD10 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD11 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD12 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD13 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD14 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD15 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD16 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD17 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD18 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD19 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD20 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD21 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD22 + "\r\n" +
- "LOCAL_CARD= " + configFile.LOCAL_CARD23 + "\r\n" +
- "DISCRETE_LINKAGE= " + configFile.DISCRETE_LINKAGE + "\r\n" +
- "ALARM_OUTPUT_OPTIONS= " + configFile.ALARM_OUTPUT_OPTIONS + "\r\n" +
- "WEB_INTERFACE_ENABLE= 1" + "\r\n";
- }
- module.exports = {
- index: function (req, res, next) {
- var deviceId = req.query.device_id;
- DevicesModel.getDeviceById(deviceId, function(err, device) {
- if (!err && device.length == 1) {
- var serialNumber = device[0].serial_number;
- console.log("device serial_number: "+serialNumber);
- HTTPHelper.getControllerSetupCommandHTTP(serialNumber, function(err, body) {
- if (!err && body && body.h1_resp) {
- console.log("body: " + util.inspect(body));
- try {
- var configFile = parseCfg(body.h1_resp);
- configFile["device_id"] = deviceId;
- configFile["serial_number"] = serialNumber;
- addDOOR_CRITICAL_TIMEParams(configFile);
- addDISCRETE_LINKAGE0Params(configFile);
- addDISCRETE_LINKAGEsiren_pulse_widthParams(configFile);
- addALARM_OUTPUT_OPTIONSParams(configFile);
- addDISCRETE_LINKAGEsiren_pulse_widthParams(configFile);
- addDISCRETE_LINKAGElight_pulse_widthParams(configFile);
- addDISCRETE_LINKAGEdispenser_pulse_widthParams(configFile);
- addDISCRETE_LINKAGEcomputer_pulse_widthParams(configFile);
- console.log("configFile: " + JSON.stringify(configFile));
- res.render('access_control', {user:req.user, configFile: configFile});
- } catch (e) {
- winston.error(PAGE_NAME + "Error while parsing config file: " + util.inspect(e));
- res.render('access_control', {error: "Error while parsing config file " + e, user: req.user});
- }
- } else {
- res.render('access_control', {error: "Error while obtaining config file: " + err, user: req.user});
- }
- });
- /* HTTPHelper.sendControllerCommandHTTP('GET_IDS', serialNumber, function(err, body) {
- var configFile = parseCfg(body.h1_resp);
- configFile["part_number"] = part_number;
- configFile["firmware_ver"] = firmware_ver;
- res.render('access_control', {user: req.user, configFile: configFile});
- }); */
- } else {
- res.render('access_control',
- {
- user:req.user,
- configFile: {},
- status: -1,
- error: "Ошибка при получении устройства по id: " + deviceId + " err: " + err
- });
- }
- });
- },
- save: function(req, res, next) {
- var deviceId = req.body.device_id;
- DevicesModel.getDeviceById(deviceId, function(err, device) {
- if (!err && device.length == 1) {
- var serialNumber = device[0].serial_number;
- var uploadFileName = "PBFACU.CFG";
- var mimeType = "application/octet-stream";
- var configFile = {};
- // TODO валидировать параметры из реквеста, а не перекладывать напрямую в файл
- try {
- configFile["device_id"] = deviceId;
- processNetworkParams(configFile, req);
- processDateTimeParams(configFile, req);
- processLocalMinibaseRFIDParams(configFile, req);
- processEquipmentSettingsParams(configFile, req);
- processALARM_OUTPUT_OPTIONSParams(configFile, req);
- processDISCRETE_LINKAGEParams(configFile, req);
- console.log("configFile: " + util.inspect(configFile));
- } catch (e) {
- res.status(400).json({error: "Ошибка параметров формы: " + e});
- }
- var pData = createFileFromRequest(configFile);
- console.log("pData: " + pData);
- HTTPHelper.uploadControllerConfigFileHTTP(
- uploadFileName,
- mimeType,
- serialNumber,
- pData, function (err, json) {
- if (err) {
- winston.error(PAGE_NAME + "Error while key loading to device: " + serialNumber);
- winston.error(util.inspect(err));
- return res.status(500).json({error: "Ошибка при загрузке на сервер"});
- }
- winston.info("uploadHTTP response: " + util.inspect(json));
- var error = Validator.validateH1Resp(json, "File has been uploaded");
- if (error) {
- winston.error("Configuration save error: " + error);
- return res.status(500).json({error: error});
- }
- winston.info("Configuration saved successfully");
- return res.json({message: "Конфигурация контроллера успешно сохранена"});
- }
- );
- } else {
- res.status(400).json({error: "Ошибка при получении устройства по id: " + deviceId + " err: " + err});
- }
- });
- },
- serverTimeSync: function(req, res, next) {
- var deviceId = req.body.device_id;
- DevicesModel.getDeviceById(deviceId, function(err, device) {
- if (!err && device.length == 1) {
- var serialNumber = device[0].serial_number;
- var serverTimeSync = req.body.SERVER_TIME_SYNC;
- HTTPHelper.sendControllerCommandHTTP(serverTimeSync, serialNumber, function(err, json) {
- winston.error(util.inspect(err));
- return res.status(500).json({error: "Ошибка при синхронизации времени с сервером"});
- });
- } else {
- res.status(400).json({error: "Ошибка при получении устройства по id: " + deviceId + " err: " + err});
- }
- })
- },
- setTimeZone: function(req, res, next) {
- var deviceId = req.body.device_id;
- DevicesModel.getDeviceById(deviceId, function(err, device) {
- if (!err && device.length == 1) {
- var serialNumber = device[0].serial_number;
- var setTimeZone = req.body.TIME_ZONE;
- HTTPHelper.sendControllerCommandHTTP(setTimeZone, serialNumber, function(err, json) {
- winston.error(util.inspect(err));
- return res.status(500).json({error: "Ошибка при установке часового пояса"});
- });
- } else {
- res.status(400).json({error: "Ошибка при получении устройства по id: " + deviceId + " err: " + err});
- }
- })
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement