dm-web-react
Version:
The DM web client with React.
116 lines (109 loc) • 5.97 kB
text/typescript
import { TableBase } from "./tableBase";
import { CreateTableTemplate } from "../../models/database/createTableTemplate";
import { TableInfo } from "../../models/database/tableInfo";
import { BondInfo } from "../../models/entity/table/bondInfo";
export class BondInfoTable extends TableBase {
public static readonly version: number = 7;
public static readonly tableName: string = "bondInfo";
public static readonly serverTablename: string = "bond_quote_best_price_broker_filter";
private readonly columnNames: string[] = [];
constructor() {
super();
this.columnNames.push(this.getColumnName("bondUniCode"));
this.columnNames.push(this.getColumnName("bondCode"));
this.columnNames.push(this.getColumnName("bondCodeValue"));
this.columnNames.push(this.getColumnName("status"));
this.columnNames.push(this.getColumnName("bondShortName"));
this.columnNames.push(this.getColumnName("bondShortNameValue"));
this.columnNames.push(this.getColumnName("dmBondTypeValue"));
this.columnNames.push(this.getColumnName("ratingList"));
this.columnNames.push(this.getColumnName("ratingListValue"));
this.columnNames.push(this.getColumnName("maxHistoryRating"));
this.columnNames.push(this.getColumnName("maxHistoryRatingValue"));
this.columnNames.push(this.getColumnName("bondRatingValue"));
this.columnNames.push(this.getColumnName("issRatingValue"));
this.columnNames.push(this.getColumnName("impliedRatingValue"));
this.columnNames.push(this.getColumnName("pdRating"));
this.columnNames.push(this.getColumnName("pdRatingValue"));
this.columnNames.push(this.getColumnName("comAttrParValue"));
this.columnNames.push(this.getColumnName("listParValue"));
this.columnNames.push(this.getColumnName("munInvestValue"));
this.columnNames.push(this.getColumnName("marketValue"));
this.columnNames.push(this.getColumnName("provinceValue"));
this.columnNames.push(this.getColumnName("cityValue"));
this.columnNames.push(this.getColumnName("guarParValue"));
this.columnNames.push(this.getColumnName("rateTypeParValue"));
this.columnNames.push(this.getColumnName("haveRightValue"));
this.columnNames.push(this.getColumnName("equityFundValue"));
this.columnNames.push(this.getColumnName("chinaDevelopment"));
this.columnNames.push(this.getColumnName("expirationHoilday"));
this.columnNames.push(this.getColumnName("instRating"));
this.columnNames.push(this.getColumnName("instRatingValue"));
this.columnNames.push(this.getColumnName("instInvestmentAdvice"));
this.columnNames.push(this.getColumnName("instInvestmentAdviceValue"));
this.columnNames.push(this.getColumnName("industry"));
this.columnNames.push(this.getColumnName("industryValue"));
this.columnNames.push(this.getColumnName("pdTime"));
this.columnNames.push(this.getColumnName("pdDiff"));
this.columnNames.push(this.getColumnName("worstPdTime"));
this.columnNames.push(this.getColumnName("isCrossMar"));
this.columnNames.push(this.getColumnName("pledgeCode"));
}
private getColumnName(value: keyof BondInfo): string {
return value.toString();
}
public getCreateTableTemplate(): CreateTableTemplate {
const createSql = `CREATE TABLE ${BondInfoTable.tableName} (
${this.getColumnName("bondUniCode")} INTEGER PRIMARY KEY,
${this.getColumnName("status")} INTEGER,
${this.getColumnName("bondCode")} VARCHAR(50),
${this.getColumnName("bondCodeValue")} INTEGER,
${this.getColumnName("bondShortName")} VARCHAR(200),
${this.getColumnName("bondShortNameValue")} INTEGER,
${this.getColumnName("dmBondTypeValue")} INTEGER,
${this.getColumnName("ratingList")} VARCHAR(100),
${this.getColumnName("ratingListValue")} INTEGER,
${this.getColumnName("maxHistoryRating")} VARCHAR(50),
${this.getColumnName("maxHistoryRatingValue")} INTEGER,
${this.getColumnName("bondRatingValue")} INTEGER,
${this.getColumnName("issRatingValue")} INTEGER,
${this.getColumnName("impliedRatingValue")} INTEGER,
${this.getColumnName("pdRating")} VARCHAR(50),
${this.getColumnName("pdRatingValue")} INTEGER,
${this.getColumnName("comAttrParValue")} INTEGER,
${this.getColumnName("listParValue")} INTEGER,
${this.getColumnName("munInvestValue")} INTEGER,
${this.getColumnName("marketValue")} INTEGER,
${this.getColumnName("provinceValue")} INTEGER,
${this.getColumnName("cityValue")} INTEGER,
${this.getColumnName("guarParValue")} INTEGER,
${this.getColumnName("rateTypeParValue")} DECIMAL(10,4),
${this.getColumnName("haveRightValue")} INTEGER,
${this.getColumnName("equityFundValue")} INTEGER,
${this.getColumnName("chinaDevelopment")} INTEGER,
${this.getColumnName("expirationHoilday")} INTEGER,
${this.getColumnName("instRating")} VARCHAR(50),
${this.getColumnName("instRatingValue")} INTEGER,
${this.getColumnName("instInvestmentAdvice")} VARCHAR(50),
${this.getColumnName("instInvestmentAdviceValue")} INTEGER,
${this.getColumnName("industry")} VARCHAR(50),
${this.getColumnName("industryValue")} INTEGER,
${this.getColumnName("pdTime")} VARCHAR(50),
${this.getColumnName("pdDiff")} INTEGER,
${this.getColumnName("worstPdTime")} VARCHAR(50),
${this.getColumnName("isCrossMar")} INTEGER,
${this.getColumnName("pledgeCode")} INTEGER
)`;
const result = new CreateTableTemplate();
result.createSql = createSql;
result.tableName = BondInfoTable.tableName;
result.version = BondInfoTable.version;
return result;
}
public getTableInfo(): TableInfo {
const result = new TableInfo();
result.tableName = BondInfoTable.tableName;
result.columnNames = this.columnNames;
return result;
}
}