Spaces:
Sleeping
Sleeping
| /** | |
| * Copyright (c) 2017~2019, OBCon Inc. | |
| * All rights reserved. | |
| */ | |
| /** | |
| * @file | |
| * @copyright 2017~2019, OBCon Inc. | |
| * @author gye hyun james kim [pnuskgh@gmail.com] | |
| */ | |
| // let moment = require('moment'); | |
| let Sequelize = require('sequelize'); //--- http://docs.sequelizejs.com/ | |
| let Model = utils.getClass('include', 'model.js'); | |
| class Devicedata4sModel extends Model { | |
| constructor() { | |
| super(); | |
| this._title = '수위센서 데이터'; | |
| this._database = db.db_scada; | |
| this._tableName = 'devicedata4'; | |
| this._define = config.databases.scada.define; | |
| this._timestamps = false; //--- createdAt, updatedAt 필드를 사용하지 않는다. | |
| //--- To-Do : 향후 db.db_scadadata DB를 사용하도록 수정 한다. 현재는 오류가 발생함 | |
| // this._database = db.db_scadadata; | |
| // this._tableName = 'devicedata2'; | |
| // this._define = config.databases.scadadata.define; | |
| } | |
| get fields() { | |
| return { | |
| siteKey: { | |
| type: Sequelize.STRING(8), | |
| allowNull: false, | |
| unique: false, | |
| validate: { | |
| }, | |
| title: '사이트', | |
| strType: 'string' | |
| }, | |
| type: { | |
| type: Sequelize.STRING(2), | |
| allowNull: false, | |
| defaultValue: '4', | |
| validate: { | |
| }, | |
| title: '단말기 타입', | |
| strType: 'select', | |
| enum: this.getTypeEnum() | |
| }, | |
| deviceKey: { //--- 장비 아이디, RTU ID | |
| type: Sequelize.STRING(8), | |
| allowNull: false, | |
| unique: false, | |
| validate: { | |
| }, | |
| title: '아이디', | |
| strType: 'string' | |
| }, | |
| statusDatetime: { //--- 장비 상태 수집 일자 (YYYYMMDDHHmmss) | |
| type: Sequelize.STRING(14), | |
| allowNull: true, | |
| validate: { | |
| }, | |
| title: '발생일자', | |
| strType: 'string' | |
| }, | |
| waterSensorControl: { //--- 1. 수위센서 On, 0. 수위센서 Off | |
| type: Sequelize.INTEGER(1), | |
| allowNull: true, | |
| validate: { | |
| }, | |
| title: '제어값', | |
| strType: 'integer' | |
| }, | |
| // preventPotential: { | |
| // type: Sequelize.FLOAT, | |
| // allowNull: true, | |
| // defaultValue: 0.0, | |
| // validate: { | |
| // }, | |
| // title: '방식 전위', | |
| // strType: 'float' | |
| // }, | |
| batteryVoltage: { | |
| type: Sequelize.FLOAT, | |
| allowNull: true, | |
| defaultValue: 0.0, | |
| validate: { | |
| }, | |
| title: '배터리 전압', | |
| strType: 'float' | |
| }, | |
| sensitivity: { | |
| type: Sequelize.FLOAT, | |
| allowNull: true, | |
| defaultValue: 0.0, | |
| validate: { | |
| }, | |
| title: '수신 감도', | |
| strType: 'float' | |
| }, | |
| dataMode: { | |
| type: Sequelize.STRING(1), | |
| allowNull: true, | |
| validate: { | |
| }, | |
| title: '데이터 모드', | |
| strType: 'string', | |
| enum: [ | |
| ['0', '0. 통신주기(분)/수집주기(분)'], | |
| ['1', '1. 통신주기(시)/수집주기(분)'], | |
| ['2', '2. 통신주기(시)/수집주기(시)'], | |
| ['4', '4. PEAK MODE : 통신주기(분)/수집주기(분)'], | |
| // ['6', '6. 서버 아이피 & 포트 변경'], | |
| ['9', '9. 실시간모드(30초)'] | |
| ] | |
| }, | |
| dataCycle: { | |
| type: Sequelize.INTEGER(2), | |
| allowNull: true, | |
| defaultValue: 0.0, | |
| validate: { | |
| }, | |
| title: '수집 주기', | |
| strType: 'integer' | |
| }, | |
| networkCycle: { | |
| type: Sequelize.INTEGER(2), | |
| allowNull: true, | |
| defaultValue: 0.0, | |
| validate: { | |
| }, | |
| title: '통신 주기', | |
| strType: 'integer' | |
| } | |
| }; | |
| } | |
| } | |
| module.exports = Devicedata4sModel; | |