chanmin0723's picture
Initial obcon SCADA deploy
e4bf523
Raw
History Blame Contribute Delete
4.87 kB
'use strict'
/**
* Copyright (c) 2017~2021, OBCon Inc.
* All rights reserved.
*/
/**
* @file
* @copyright 2017~2021, OBCon Inc.
* @author gye hyun james kim [pnuskgh@gmail.com]
*/
// let Sequelize = require('sequelize');
let Model = utils.getClass('include', 'model.js');
class simulationsModel extends Model {
constructor() {
super();
this._title = '시뮬레이션';
this._database = db.db_scada;
this._tableName = 'simulations';
}
//--- 필드 정의
get fieldDesc() {
return Object.assign({
site: {
type: 'integer', len: 11,
allowNull: false,
defaultValue: 1,
validate: {},
title: '사이트',
strType: 'integer'
},
type: {
type: 'string', len: 16,
allowNull: true,
defaultValue: '2-2',
validate: {},
title: '투자기법',
strType: 'select',
enum: [ ['2-2', '투자기법 2-2'], ['2-3', '투자기법 2-3'], ['2-4', '투자기법 2-4'] ]
},
stock: {
type: 'integer', len: 11,
allowNull: false,
defaultValue: 1,
validate: {},
title: '증권',
strType: 'integer'
},
yyyymmdd: {
type: 'string', len: 10,
allowNull: true,
defaultValue: '',
validate: {},
title: '날짜',
strType: 'string'
},
purchaseQuantity: {
type: 'integer', len: 8,
allowNull: true,
defaultValue: 0,
validate: {},
title: '매수 수량', //--- 양수. 매수 수량, 음수. 매도 수량
strType: 'integer'
},
purchaseTotal: {
type: 'integer', len: 10,
allowNull: true,
defaultValue: 0,
validate: {},
title: '매수 금액', //--- 양수. 매수 금액, 음수. 매도 금액
strType: 'integer'
},
price: {
type: 'integer', len: 8,
allowNull: true,
defaultValue: 0,
validate: {},
title: '매매 기준가',
strType: 'integer'
},
priceEnd: {
type: 'integer', len: 8,
allowNull: true,
defaultValue: 0,
validate: {},
title: '종가',
strType: 'integer'
},
quantity: {
type: 'integer', len: 8,
allowNull: true,
defaultValue: 0,
validate: {},
title: '보유 수량',
strType: 'integer'
},
total: {
type: 'integer', len: 12,
allowNull: true,
defaultValue: 0,
validate: {},
title: '보유 금액',
strType: 'integer'
},
purchaseFee: {
type: 'integer', len: 8,
allowNull: true,
defaultValue: 0,
validate: {},
title: '매수 수수료',
strType: 'integer'
},
saleFee: {
type: 'integer', len: 8,
allowNull: true,
defaultValue: 0,
validate: {},
title: '매도 수수료',
strType: 'integer'
},
saleTax: {
type: 'integer', len: 8,
allowNull: true,
defaultValue: 0,
validate: {},
title: '거래세',
strType: 'integer'
},
profit: {
type: 'integer', len: 12,
allowNull: true,
defaultValue: 0,
validate: {},
title: '수익',
strType: 'integer'
}
}, super.fieldDesc);
}
get fields() {
let rtFields = {};
for (let key in this.fieldDesc) {
rtFields[key] = this.desc2field(this.fieldDesc[key]);
}
return rtFields;
}
}
module.exports = simulationsModel;