Spaces:
Sleeping
Sleeping
| /** | |
| * 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; | |