'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;