package com.eugenefn.openapi.sample.view.data;

import java.util.HashMap;

public class CheMicheInfo
{
    public String m_strOrderNo = "";

    public String m_strItemCode = "";
    public String m_strItemName = "";

    public String m_strOrderQty = "";   // 주문수량
    public String m_strChegyulQty = ""; // 체결수량
    public String m_strMicheQty = "";   // 미체결수량

    public String m_strOrderPrice = "";
    public String m_strChegyulPrice = "";

    public String m_strModCancelGubun = "";
    public String m_strOrderKind = "";

    public String m_strOderInfo = "";

    public void setStockOrderInfo()
    {
        m_strOderInfo = mapStockOrderKind.get(m_strOrderKind) + mapStockModCancelGubun.get(m_strModCancelGubun);
    }

    public void setWStockOrderInfo()
    {
        m_strOderInfo = mapWStockOrderKind.get(m_strOrderKind) + mapWStockOrderState.get(m_strModCancelGubun);
    }

    private static HashMap<String, String> mapStockModCancelGubun = new HashMap<>();
    private static HashMap<String, String> mapStockOrderKind = new HashMap<>();

    private static HashMap<String, String> mapWStockOrderKind =  new HashMap<>();
    private static HashMap<String, String> mapWStockOrderState = new HashMap<>();

    static {
        mapStockModCancelGubun.put("10", "");    // 원주문
        mapStockModCancelGubun.put("20", "정정");
        mapStockModCancelGubun.put("30", "취소");

        mapStockOrderKind.put("0010", "현금매도");
        mapStockOrderKind.put("0020", "현금매수");
        mapStockOrderKind.put("0030", "신용매도");
        mapStockOrderKind.put("0040", "신용매수");
        mapStockOrderKind.put("0050", "저축매도");
        mapStockOrderKind.put("0060", "저축매수");
        mapStockOrderKind.put("0070", "단주매도");
        mapStockOrderKind.put("0080", "단주매수");
        mapStockOrderKind.put("0090", "채권매도");
        mapStockOrderKind.put("0100", "채권매수");
        mapStockOrderKind.put("0110", "선물일반매도");
        mapStockOrderKind.put("0120", "선물반대매도");
        mapStockOrderKind.put("0130", "채권3일매도");
        mapStockOrderKind.put("0140", "채권3일매수");
        mapStockOrderKind.put("0150", "시간외현금매도");
        mapStockOrderKind.put("0160", "시간외현금매수");
        mapStockOrderKind.put("0170", "시간외종가신용매도");
        mapStockOrderKind.put("0180", "시간외종가신용매수");
        mapStockOrderKind.put("0190", "시간외종가저축매도");
        mapStockOrderKind.put("0200", "시간외종가저축매수");
        mapStockOrderKind.put("0210", "시간외종가대량매도");
        mapStockOrderKind.put("0220", "시간외종가대량매수");
        mapStockOrderKind.put("0230", "시간외종가저축대량매도");
        mapStockOrderKind.put("0240", "시간외종가저축대량매수");
        mapStockOrderKind.put("0250", "프로그램매도");
        mapStockOrderKind.put("0260", "프로그램매수");
        mapStockOrderKind.put("0270", "ECN현금매도");
        mapStockOrderKind.put("0280", "ECN현금매수");
        mapStockOrderKind.put("0290", "ECN현금대량매도");
        mapStockOrderKind.put("0300", "ECN현금대량매수");
        mapStockOrderKind.put("0310", "ECN코스닥매도");
        mapStockOrderKind.put("0320", "ECN코스닥매수");
        mapStockOrderKind.put("0330", "ECN코스닥대량매도");
        mapStockOrderKind.put("0340", "ECN코스닥대량매수");
        mapStockOrderKind.put("0350", "ECN선물대용매도");
        mapStockOrderKind.put("0360", "ECN선물대용코스닥매도");
        mapStockOrderKind.put("0370", "프리보드현금매도");
        mapStockOrderKind.put("0380", "프리보드현금매수");
        mapStockOrderKind.put("0390", "ECN저축매도");
        mapStockOrderKind.put("0400", "ECN저축매수");
        mapStockOrderKind.put("0410", "ECN저축대량매도");
        mapStockOrderKind.put("0420", "ECN저축대량매수");
        mapStockOrderKind.put("0430", "ECN코스닥저축매도");
        mapStockOrderKind.put("0440", "ECN코스닥저축매수");
        mapStockOrderKind.put("0450", "ECN코스닥저축대량매도");
        mapStockOrderKind.put("0460", "ECN코스닥저축대량매수");
        mapStockOrderKind.put("0470", "코스닥현금매도");
        mapStockOrderKind.put("0480", "코스닥현금매수");
        mapStockOrderKind.put("0490", "코스닥저축매도");
        mapStockOrderKind.put("0500", "코스닥저축매수");
        mapStockOrderKind.put("0510", "코스닥시간외종가현금매도");
        mapStockOrderKind.put("0520", "코스닥시간외종가현금매수");
        mapStockOrderKind.put("0530", "코스닥시간외종가저축매도");
        mapStockOrderKind.put("0540", "코스닥시간외종가저축매수");
        mapStockOrderKind.put("0550", "코스닥선물일반매도");
        mapStockOrderKind.put("0560", "코스닥선물일반매수");
        mapStockOrderKind.put("0570", "코스닥시간외종가대량매도");
        mapStockOrderKind.put("0580", "코스닥시간외종가대량매수");
        mapStockOrderKind.put("0590", "코스닥시간외종가저축대량매도");
        mapStockOrderKind.put("0600", "코스닥시간외종가저축대량매수");
        mapStockOrderKind.put("0610", "결제물건지정매도");
        mapStockOrderKind.put("0620", "결제물건지정매수");
        mapStockOrderKind.put("0630", "선물대용코스닥매도");
        mapStockOrderKind.put("0640", "선물대용장내매도");
        mapStockOrderKind.put("0650", "유통융자매수");
        mapStockOrderKind.put("0660", "자기융자매수");
        mapStockOrderKind.put("0670", "유통대주매도");
        mapStockOrderKind.put("0680", "자기대주매도");
        mapStockOrderKind.put("0690", "유통융자매도상환");
        mapStockOrderKind.put("0700", "자기융자매도상환");
        mapStockOrderKind.put("0710", "유통대주매수상환");
        mapStockOrderKind.put("0720", "자기대주매수상환");
        mapStockOrderKind.put("0730", "담보대출매도상환");
        mapStockOrderKind.put("0740", "채권담보대출매도상환");
        mapStockOrderKind.put("0750", "시간외유통융자매수");
        mapStockOrderKind.put("0760", "시간외자기융자매수");
        mapStockOrderKind.put("0770", "시간외유통대주매도");
        mapStockOrderKind.put("0780", "시간외자기대주매도");
        mapStockOrderKind.put("0790", "시간외유통융자매도상환");
        mapStockOrderKind.put("0800", "시간외자기융자매도상환");
        mapStockOrderKind.put("0810", "시간외유통대주매수상환");
        mapStockOrderKind.put("0820", "시간외자기대주매수상환");
        mapStockOrderKind.put("0830", "시간외담보대출매도상환");
        mapStockOrderKind.put("0840", "선물옵션매도");
        mapStockOrderKind.put("0850", "선물옵션매수");
        mapStockOrderKind.put("0860", "선물전매");
        mapStockOrderKind.put("0870", "선물환매");
        mapStockOrderKind.put("0880", "신용합산매도");
        mapStockOrderKind.put("0890", "코스닥신용합산매도");
        mapStockOrderKind.put("0900", "시간외신용합산매도");
        mapStockOrderKind.put("0910", "코스닥시간외신용합산매도");
        mapStockOrderKind.put("0920", "코스닥유통융자매수");
        mapStockOrderKind.put("0930", "코스닥자기융자매수");
        mapStockOrderKind.put("0940", "코스닥유통대주매도");
        mapStockOrderKind.put("0950", "코스닥자기대주매도");
        mapStockOrderKind.put("0960", "코스닥유통융자매도상환");
        mapStockOrderKind.put("0970", "코스닥자기융자매도상환");
        mapStockOrderKind.put("0980", "코스닥유통대주매수상환");
        mapStockOrderKind.put("0990", "코스닥자기대주매수상환");
        mapStockOrderKind.put("1000", "코스닥담보대출매도상환");
        mapStockOrderKind.put("1010", "코스닥시간외유통융자매수");
        mapStockOrderKind.put("1020", "코스닥시간외자기융자매수");
        mapStockOrderKind.put("1030", "코스닥시간외유통대주매도");
        mapStockOrderKind.put("1040", "코스닥시간외자기대주매도");
        mapStockOrderKind.put("1050", "코스닥시간외유통융자매도상환");
        mapStockOrderKind.put("1060", "코스닥시간외자기융자매도상환");
        mapStockOrderKind.put("1070", "코스닥시간외유통대주매수상환");
        mapStockOrderKind.put("1080", "코스닥시간외자기대주매수상환");
        mapStockOrderKind.put("1090", "코스닥시간외담보대출매도상환");
        mapStockOrderKind.put("1100", "대주합산매수");
        mapStockOrderKind.put("1110", "코스닥대주합산매수");
        mapStockOrderKind.put("1120", "시간외대주합산매수");
        mapStockOrderKind.put("1130", "코스닥시간외대주합산매수");
        mapStockOrderKind.put("1210", "대량매도");
        mapStockOrderKind.put("1220", "대량매수");
        mapStockOrderKind.put("1230", "코스닥대량매도");
        mapStockOrderKind.put("1240", "코스닥대량매수");
        mapStockOrderKind.put("1310", "장전시간외대량매도");
        mapStockOrderKind.put("1320", "장전시간외대량매수");
        mapStockOrderKind.put("1330", "장전시간외코스닥대량매도");
        mapStockOrderKind.put("1340", "장전시간외코스닥대량매수");
        mapStockOrderKind.put("1410", "장후시간외대량매도");
        mapStockOrderKind.put("1420", "장후시간외대량매수");
        mapStockOrderKind.put("1430", "장후시간외코스닥대량매도");
        mapStockOrderKind.put("1440", "장후시간외코스닥대량매수");

        mapWStockOrderKind.put("10", "매도");
        mapWStockOrderKind.put("20", "매수");

        mapWStockOrderState.put("0", "신규");
        mapWStockOrderState.put("1", "부분체결");
        mapWStockOrderState.put("2", "전부체결");
        mapWStockOrderState.put("3", "DFD");
        mapWStockOrderState.put("4", "취소확인");
        mapWStockOrderState.put("5", "정정확인");
        mapWStockOrderState.put("6", "취소중");
        mapWStockOrderState.put("8", "거부");
        mapWStockOrderState.put("A", "신규중");
        mapWStockOrderState.put("C", "EXP");
        mapWStockOrderState.put("E", "정정중");
        mapWStockOrderState.put("X", "세션거부");

    }
}
