Beispiel #1
0
        public void GetAllStockDB(ref DataGridView dgv)
        {
            DataTable dt        = new DataTable();
            RichQuery richQuery = new RichQuery();

            // int i = 0;

            try
            {
                dgv.Rows.Clear();

                dt = richQuery.p_ScodeQuery("2", "", "", false).Tables[0].Copy();

                //foreach (DataRow dr in dt.Rows)
                //{
                //    dgv.Rows.Add();
                //    dgv.Rows[i].Cells["STOCK_CODE"].Value = dr["STOCK_CODE"];
                //    dgv.Rows[i].Cells["STOCK_NAME"].Value = dr["STOCK_NAME"];

                //    i = i + 1;
                //}

                dgv.DataSource = dt;

                dgv.SuspendLayout();
                dt = null;
            }
            catch (Exception ex)
            {
                dt = null;
                MessageBox.Show(ex.ToString());
                throw;
            }
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dgv"></param>
        public void GetFCode(ref DataGridView dgv)
        {
            DataTable dt        = new DataTable();
            RichQuery richQuery = new RichQuery();
            int       i         = 0;

            dgv.Rows.Clear();

            try
            {
                dt = richQuery.p_FCodeQuery("2", "", "", "", false).Tables[0].Copy();

                foreach (DataRow dr in dt.Rows)
                {
                    dgv.Rows.Add();
                    dgv.Rows[i].Cells["SGROUP_CODE"].Value = dr["SGROUP_CODE"].ToString();
                    dgv.Rows[i].Cells["SGROUP_NAME"].Value = dr["SGROUP_NAME"].ToString();
                    dgv.Rows[i].Cells["SGROUP_INFO"].Value = dr["SGROUP_INFO"].ToString();

                    i = i + 1;
                }

                dt = null;
                dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                dgv.AutoResizeColumns();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                dt = null;
                throw;
            }
        }
        public string AvailableTradingDate()
        {
            RichQuery rich = new RichQuery();
            DataTable dt   = new DataTable();

            dt = rich.p_TDATEQuery(query: "2", tradeDate: "", fromDate: "", toDate: "", bln3tier: false).Tables[0].Copy();

            return(dt.Rows[0]["MAX_TRADE_DATE"].ToString().Trim());
        }
Beispiel #4
0
        public FrmOpt10005Caller()
        {
            InitializeComponent();

            _clsDataAccessUtil = new ClsDataAccessUtil();

            ClsAxKH.AxKH_10005_OnReceived += new ClsAxKH.OnReceivedEventHandler(Opt10005_OnReceived);

            Func <DataTable> funcGetStockData = () =>
            {
                RichQuery oRichQuery = new RichQuery();
                return(oRichQuery.p_ScodeQuery("1", "", "", false).Tables[0].Copy());
            };

            _dtStockCode = funcGetStockData();

            foreach (DataRow dr in _dtStockCode.Rows)
            {
                if (ClsAxKH.GetMasterCodeName(dr["STOCK_CODE"].ToString().Trim()) == "")
                {
                    continue;
                }

                _StockQueue.Enqueue(dr["STOCK_CODE"].ToString());
            }

            proBar10005.Maximum = _dtStockCode.Rows.Count;

            if (System.DateTime.Now.DayOfWeek == DayOfWeek.Saturday)
            {
                _stdDate = DateTime.Today.AddDays(-1).ToString("yyyyMMdd");
            }
            else if (System.DateTime.Now.DayOfWeek == DayOfWeek.Sunday)
            {
                _stdDate = DateTime.Today.AddDays(-2).ToString("yyyyMMdd");
            }
            else
            {
                int i = Int32.Parse(System.DateTime.Now.ToString("HH") + System.DateTime.Now.ToString("ss"));

                if (i > 1600)
                {
                    _stdDate = CDateTime.FormatDate(System.DateTime.Now.Date.ToShortDateString());
                }
                else if (System.DateTime.Now.DayOfWeek == DayOfWeek.Monday)
                {
                    _stdDate = DateTime.Today.AddDays(-3).ToString("yyyyMMdd");
                }
                else
                {
                    _stdDate = DateTime.Today.AddDays(-1).ToString("yyyyMMdd");
                }
            }
        }
Beispiel #5
0
        public UcStockList()
        {
            InitializeComponent();

            DataTable dt        = new DataTable();
            RichQuery richQuery = new RichQuery();

            _dt = new DataTable();
            _dt = richQuery.p_ScodeQuery(query: "2", stockCode: "", ybYongCode: "", bln3tier: false).Tables[0].Copy();

            dgvAllStockList.DataSource = _dt.DefaultView;
            dgvAllStockList.SuspendLayout();
        }
Beispiel #6
0
        public FrmOpt10001Caller(DataTable UserDt, bool AutoStart = false, bool chk100Click = false)
        {
            InitializeComponent();

            _clsDataAccessUtil = new ClsDataAccessUtil();

            ClsAxKH.AxKH_10001_OnReceived += new ClsAxKH.OnReceivedEventHandler(Opt10001_OnReceived);

            Func <DataTable> funcGetStockData = () =>
            {
                if (UserDt != null)
                {
                    return(UserDt.Copy());
                }
                else
                {
                    RichQuery oRichQuery = new RichQuery();
                    return(oRichQuery.p_ScodeQuery("1", "", "", false).Tables[0].Copy());
                }
            };

            _dtStockCode = funcGetStockData();

            foreach (DataRow dr in _dtStockCode.Rows)
            {
                if (ClsAxKH.GetMasterCodeName(dr["STOCK_CODE"].ToString().Trim()) == "")
                {
                    continue;
                }

                _StockQueue.Enqueue(dr["STOCK_CODE"].ToString());
            }

            proBar10001.Maximum = _dtStockCode.Rows.Count;

            chk100.Checked = chk100Click;

            _AutoStart = AutoStart;

            if (AutoStart == true)
            {
                string text         = "";
                string errorMessage = null;
                text = "OPT10001 작업 Start";
                ClsTelegramBot.SendMessage(text, out errorMessage);
                OnGetStockCode();
            }
        }
Beispiel #7
0
        public FrmOpt10081Caller(DataTable UserDt, bool AutoStart = false, bool chk100Click = false)
        {
            InitializeComponent();

            _clsDataAccessUtil = new ClsDataAccessUtil();

            ClsAxKH.AxKH_10081_OnReceived += new ClsAxKH.OnReceivedEventHandler(Opt10081_OnReceived);

            Func <DataTable> funcGetStockData = () =>
            {
                if (UserDt != null)
                {
                    return(UserDt.Copy());
                }
                else
                {
                    RichQuery oRichQuery = new RichQuery();
                    return(oRichQuery.p_ScodeQuery("1", "", "", false).Tables[0].Copy());
                }
            };

            _dtStockCode = funcGetStockData();

            foreach (DataRow dr in _dtStockCode.Rows)
            {
                if (ClsAxKH.GetMasterCodeName(dr["STOCK_CODE"].ToString().Trim()) == "")
                {
                    continue;
                }

                _StockQueue.Enqueue(dr["STOCK_CODE"].ToString());
            }

            proBar10081.Maximum = _dtStockCode.Rows.Count;

            _stdDate = _clsCollectOptDataFunc.GetAvailableDate();

            dtpStdDate.Value = _clsUtil.StringToDateTime(_stdDate);

            chk100.Checked = chk100Click;

            _AutoStart = AutoStart;

            if (AutoStart == true)
            {
                btn10081_Click(null, new EventArgs());
            }
        }
Beispiel #8
0
        public void GetSca01Data(ref DataGridView dgv, string stockCode)
        {
            DataTable dt        = new DataTable();
            RichQuery richQuery = new RichQuery();
            int       i         = 0;

            dgv.Rows.Clear();
            try
            {
                dt = richQuery.p_Sca01Query("1", stockCode, 0, 0, "", "", false).Tables[0].Copy();

                if (dt == null)
                {
                    return;
                }
                if (dt.Rows.Count < 1)
                {
                    return;
                }

                foreach (DataRow dr in dt.Rows)
                {
                    dgv.Rows.Add();
                    dgv.Rows[i].Cells["BIG_FLOW"].Value   = dr["BIG_FLOW"];
                    dgv.Rows[i].Cells["START_DATE"].Value = dr["START_DATE"];
                    dgv.Rows[i].Cells["END_DATE"].Value   = dr["END_DATE"];
                    dgv.Rows[i].Cells["LOW_DATE"].Value   = dr["LOW_DATE"];
                    dgv.Rows[i].Cells["HIGH_DATE"].Value  = dr["HIGH_DATE"];
                    dgv.Rows[i].Cells["LOW_PRICE"].Value  = dr["LOW_PRICE"];
                    dgv.Rows[i].Cells["HIGH_PRICE"].Value = dr["HIGH_PRICE"];
                    dgv.Rows[i].Cells["STOCK_INFO"].Value = dr["STOCK_INFO"];

                    i = i + 1;
                }
                dgv.SuspendLayout();
                dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                dgv.AutoResizeColumns();

                dt = null;
            }
            catch (Exception ex)
            {
                dt = null;
                MessageBox.Show(ex.ToString());
                throw;
            }
        }
Beispiel #9
0
        public void GetFsa01Data(ref DataGridView dgv, string sGroupCode)
        {
            DataTable dt        = new DataTable();
            RichQuery richQuery = new RichQuery();
            int       i         = 0;

            dgv.Rows.Clear();

            try
            {
                dt = richQuery.p_FCodeQuery("3", sGroupCode, "", "", false).Tables[0].Copy();

                if (dt == null)
                {
                    return;
                }
                if (dt.Rows.Count < 1)
                {
                    return;
                }

                foreach (DataRow dr in dt.Rows)
                {
                    dgv.Rows.Add();
                    dgv.Rows[i].Cells["STOCK_CODE"].Value  = dr["STOCK_CODE"];
                    dgv.Rows[i].Cells["STOCK_NAME"].Value  = dr["STOCK_NAME"];
                    dgv.Rows[i].Cells["YBJONG_NAME"].Value = dr["YBJONG_NAME"];
                    dgv.Rows[i].Cells["SEQ_NO"].Value      = dr["SEQ_NO"];
                    dgv.Rows[i].Cells["SGROUP_CODE"].Value = dr["SGROUP_CODE"];
                    dgv.Rows[i].Cells["SGROUP_NAME"].Value = dr["SGROUP_NAME"];

                    i = i + 1;
                }
                dgv.SuspendLayout();
                dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                dgv.AutoResizeColumns();

                dt = null;
            }
            catch (Exception ex)
            {
                dt = null;
                MessageBox.Show(ex.ToString());
                throw;
            }
        }
Beispiel #10
0
        public FrmOpt10060Caller()
        {
            InitializeComponent();

            Func <DataTable> funcGetStockData = () =>
            {
                RichQuery oRichQuery = new RichQuery();
                return(oRichQuery.p_ScodeQuery("1", "", "", false).Tables[0].Copy());
            };

            _dtStockCode = funcGetStockData();

            foreach (DataRow dr in _dtStockCode.Rows)
            {
                _StockQueue.Enqueue(dr["STOCK_CODE"].ToString());
            }

            proBar10060.Maximum = _dtStockCode.Rows.Count;

            if (System.DateTime.Now.DayOfWeek == DayOfWeek.Saturday)
            {
                _stdDate = DateTime.Today.AddDays(-1).ToString("yyyyMMdd");
            }
            else if (System.DateTime.Now.DayOfWeek == DayOfWeek.Sunday)
            {
                _stdDate = DateTime.Today.AddDays(-2).ToString("yyyyMMdd");
            }
            else
            {
                int i = Int32.Parse(System.DateTime.Now.ToString("HH") + System.DateTime.Now.ToString("ss"));

                if (i > 1600)
                {
                    _stdDate = CDateTime.FormatDate(System.DateTime.Now.Date.ToShortDateString());
                }
                else if (System.DateTime.Now.DayOfWeek == DayOfWeek.Monday)
                {
                    _stdDate = DateTime.Today.AddDays(-3).ToString("yyyyMMdd");
                }
                else
                {
                    _stdDate = DateTime.Today.AddDays(-1).ToString("yyyyMMdd");
                }
            }
        }
Beispiel #11
0
        private void GetThemaGroupData()
        {
            RichQuery richQuery = new RichQuery();
            DataTable dt        = richQuery.p_THEMA_GroupQuery(query: "1", tgpseqNo: "", bln3tier: false).Tables[0].Copy();
            int       row       = 0;

            _clsDataGridViewUtil.RemoveGridViewRow(dgvThemaGroup);

            if (dt != null)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    dgvThemaGroup.Rows.Add();
                    dgvThemaGroup.Rows[row].Cells["THGROUP_NAME"].Value = dr["THGROUP_NAME"].ToString().Trim();
                    dgvThemaGroup.Rows[row].Cells["TGPSEQ_NO"].Value    = dr["TGPSEQ_NO"].ToString().Trim();
                    dgvThemaGroup.Rows[row].Cells["THGROUP_DESC"].Value = dr["THGROUP_DESC"].ToString().Trim();

                    row = row + 1;
                }
            }
        }
Beispiel #12
0
        /// <summary>
        /// 공시검색 개발가이드  https://opendart.fss.or.kr/api/list.json - JSON https://opendart.fss.or.kr/api/list.xml - XML
        /// https://opendart.fss.or.kr/guide/detail.do?apiGrpCd=DS001&apiId=2019001
        /// </summary>
        /// <param name="crtfc_key">API 인증키</param>
        /// <param name="corp_code">고유번호</param>
        /// <param name="bgn_de">시작일</param>
        /// <param name="end_de">종료일</param>
        /// <param name="last_report_at">최종보고서 검색여부</param>
        /// <param name="bpIntf_ty">공시유형</param>
        /// <param name="pblntf_detail_ty">공시상세유형</param>
        /// <param name="corp_cls">법인구분</param>
        /// <param name="sort">정렬</param>
        /// <param name="sort_mth">정렬방법</param>
        /// <param name="page_no">페이지 번호</param>
        /// <param name="page_count">페이지 별 건수</param>
        /// <returns></returns>
        public DataSet GetDartSearchByDate(string stockCode, string crtfc_key, string corp_code, string bgn_de, string end_de, string last_report_at,
                                           string pbIntf_ty, string pblntf_detail_ty, string corp_cls, string sort, string sort_mth, string page_no, string page_count)
        {
            if (stockCode == null)
            {
                return(null);
            }

            RichQuery richQuery = new RichQuery();
            DataTable dt        = new DataTable();

            dt = richQuery.p_DARTQuery(query: "1", corp_code: "", stock_code: stockCode, stock_name: "", DELETE_DATE: "", bln3tier: false).Tables[0].Copy();

            if (dt.Rows.Count < 1)
            {
                return(null);
            }

            string corpCode = dt.Rows[0]["corp_code"].ToString().Trim();



            //string apiUrl = "https://opendart.fss.or.kr/api/list.xml?" + "&crtfc_key=" + authKey + "&corp_code=" + corpCode + "&bgn_de=" + bgn_de + "&end_de=" + end_de +
            //                "&last_report_at=" + last_report_at + "&pbIntf_ty=" + pbIntf_ty + "&pblntf_detail_ty=" + pblntf_detail_ty + "&corp_cls=" + corp_cls + "&sort=" + sort +
            //                "&sort_mth=" + sort_mth + "&page_no=" + page_no + "&page_count=" + page_count;

            //string apiUrl = "https://opendart.fss.or.kr/api/list.json?" + "&crtfc_key=" + authKey + "&corp_code=" + corpCode + "&bgn_de=" + bgn_de + "&end_de=" + end_de +
            //                "&pbIntf_ty=" + pbIntf_ty + "&sort=" + sort +
            //                "&sort_mth=" + sort_mth + "&page_no=" + page_no + "&page_count=" + page_count;

            string apiUrl = "https://opendart.fss.or.kr/api/list.xml?" + "&crtfc_key=" + authKey + "&corp_code=" + corpCode + "&bgn_de=" + bgn_de + "&end_de=" + end_de +
                            "&pbIntf_ty=" + pbIntf_ty + "&sort=" + sort +
                            "&sort_mth=" + sort_mth + "&page_no=" + page_no + "&page_count=" + page_count;

            //string apiUrl = "https://opendart.fss.or.kr/api/list.json?" + "&crtfc_key=" + authKey + "&corp_code=" + corpCode + "&bgn_de=" + bgn_de + "&end_de=" + end_de +
            //                "&page_no=" + page_no + "&page_count=" + page_count;

            //string apiUrl = "https://opendart.fss.or.kr/api/list.json?crtfc_key=fc9f7996b19984e91edab1bed1dd0a6249836aa8&corp_code=00126380&bgn_de=20210117&end_de=20210717&pblntf_ty=A&pblntf_detail_ty=A001&corp_cls=Y&page_no=5&page_count=10";


            string webClientResult = callWebClient(apiUrl);

            int i = webClientResult.IndexOf("<status>");
            int j = webClientResult.IndexOf("<list>");

            ClsUtil clsUtil = new ClsUtil();

            string cutString = clsUtil.Mid(webClientResult, i + 1, j - i);

            //string makexml = webClientResult.Replace(cutString, "").Replace("<?xml version="1.0" encoding="UTF - 8" standalone="true"?>", "");
            StringReader sr = new StringReader(webClientResult.Replace(cutString, ""));

            DataSet ds = new DataSet();

            ds.ReadXml(sr);


            if (ds.Tables[0].Rows.Count < 0)
            {
                return(null);
            }
            else
            {
                if (ds.Tables[0].Rows[0]["stock_code"].ToString().Trim() != stockCode)
                {
                    ArrayParam arrParam = new ArrayParam();
                    Sql        oSql     = new Sql(SDataAccess.ClsServerInfo.VADISSEVER, "RICHDB");

                    arrParam.Clear();
                    arrParam.Add("@ACTION_GB", "C");
                    arrParam.Add("@corp_code", corpCode);
                    arrParam.Add("@STOCK_CODE", stockCode);
                    arrParam.Add("@STOCK_NAME", "");
                    arrParam.Add("@DELETE_DATE", DateTime.Now.ToString("yyyyMMdd"));
                    arrParam.Add("@R_ERRORCD", -1, SqlDbType.Int, ParameterDirection.InputOutput);

                    oSql.ExecuteNonQuery("p_DartAdd", CommandType.StoredProcedure, arrParam);

                    GetDartSearchByDate(stockCode, crtfc_key, corp_code, bgn_de, end_de, last_report_at, pbIntf_ty, pblntf_detail_ty, corp_cls, sort, sort_mth, page_no, page_count);
                }
            }

            // < corp_code > 00119195 </ corp_code >
//< corp_name > 동화약품 </ corp_name >
// < stock_code > 000020 </ stock_code >
// < corp_cls > Y </ corp_cls >
// < report_nm > 공정거래자율준수프로그램운영현황(안내공시) </ report_nm >
// < rcept_no > 20210426800538 </ rcept_no >
// < flr_nm > 동화약품 </ flr_nm >
// < rcept_dt > 20210426 </ rcept_dt >
// < rm > 유 </ rm >


            return(ds);
        }
Beispiel #13
0
        private void GetThemaByStockCode()
        {
            RichQuery   richQuery   = new RichQuery();
            KiwoomQuery kiwoomQuery = new KiwoomQuery();
            DataTable   dt4         = new DataTable();
            string      strMaxDate  = richQuery.p_TDATEQuery(query: "2", tradeDate: "", fromDate: "", toDate: "", bln3tier: false).Tables[0].Rows[0]["MAX_TRADE_DATE"].ToString();

            richQuery = null;
            richQuery = new RichQuery();

            DataTable dt  = richQuery.p_ThemaQuery(query: "1", THEMA_CODE: lblThema.Text, TGPSEQ_NO: lblThemaGroup.Text, THEMA_NAME: "", WORK_ID: "", bln3tier: false).Tables[0].Copy();
            int       row = 0;

            _clsDataGridViewUtil.RemoveGridViewRow(dgvThemaPerStock);

            if (dt != null)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    dgvThemaPerStock.Rows.Add();

                    dgvThemaPerStock.Rows[row].Cells["ThemaByStock_THEMA_NAME"].Value = dr["THEMA_NAME"].ToString().Trim();
                    dgvThemaPerStock.Rows[row].Cells["ThemaByStock_STOCK_NAME"].Value = dr["STOCK_NAME"].ToString().Trim();
                    dgvThemaPerStock.Rows[row].Cells["ThemaByStock_STOCK_CODE"].Value = dr["STOCK_CODE"].ToString().Trim();

                    dt4 = kiwoomQuery.p_StockCodeOptInfoQuery(query: "1", stockCode: dr["STOCK_CODE"].ToString().Trim(), stockDate: "", bln3tier: false).Tables[0].Copy();

                    if (dt4 != null)
                    {
                        if (dt4.Rows.Count > 0)
                        {
                            if (_firstCall == false)
                            {
                                foreach (DataColumn dc in dt4.Columns)
                                {
                                    System.Windows.Forms.DataGridViewColumn dgvColumn = new System.Windows.Forms.DataGridViewColumn();
                                    System.Windows.Forms.DataGridViewCell   cell      = new System.Windows.Forms.DataGridViewTextBoxCell();

                                    if (dc.ColumnName.ToString() == "STOCK_CODE" || dc.ColumnName.ToString() == "CALL_TIME")
                                    {
                                        continue;
                                    }

                                    if (dc.ColumnName.ToString() == "CALL_DATE")
                                    {
                                        dgvColumn.CellTemplate = cell;
                                        dgvColumn.HeaderText   = "기준일자";
                                        dgvColumn.Name         = "OPT10001_CALL_DATE";

                                        dgvThemaPerStock.Columns.Add(dgvColumn);

                                        dgvColumn = null;

                                        dgvColumn = new DataGridViewColumn();

                                        dgvColumn.CellTemplate = cell;
                                        dgvColumn.HeaderText   = "대금대비시총";
                                        dgvColumn.Name         = "대금대비시총";

                                        dgvThemaPerStock.Columns.Add(dgvColumn);

                                        continue;
                                    }


                                    dgvColumn.CellTemplate = cell;
                                    dgvColumn.HeaderText   = dc.ColumnName.ToString();
                                    dgvColumn.Name         = dc.ColumnName.ToString();

                                    dgvThemaPerStock.Columns.Add(dgvColumn);
                                }

                                _firstCall = true;
                            }

                            foreach (DataColumn dc in dt4.Columns)
                            {
                                if (dc.ColumnName.ToString() == "STOCK_CODE" || dc.ColumnName.ToString() == "CALL_TIME")
                                {
                                    continue;
                                }

                                if (dc.ColumnName.ToString() == "CALL_DATE")
                                {
                                    dgvThemaPerStock.Rows[row].Cells["OPT10001_CALL_DATE"].Value = dt4.Rows[0][dc.ColumnName.ToString()].ToString();
                                }
                                else
                                {
                                    dgvThemaPerStock.Rows[row].Cells[columnName : dc.ColumnName.ToString()].Value = dt4.Rows[0][dc.ColumnName.ToString()].ToString();
                                }
                            }
                        }
                    }

                    dt = null;
                    dt = new DataTable();

                    row = row + 1;
                }
                SetDataGridView();
            }
        }
Beispiel #14
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dt">작업할 종목들</param>
        /// <param name="stdDate">기준일로부터 최근 3개월</param>
        public FrmOptDayJobCaller(DataTable dt, String stdDate)
        {
            InitializeComponent();
            _stdDate           = stdDate;
            _clsDataAccessUtil = new ClsDataAccessUtil();

            ClsAxKH.AxKH_10015_OnReceived += new ClsAxKH.OnReceivedEventHandler(Opt10015_OnReceived);
            ClsAxKH.AxKH_10081_OnReceived += new ClsAxKH.OnReceivedEventHandler(Opt10081_OnReceived);

            if (dt == null)
            {
                Func <DataTable> funcGetStockData = () =>
                {
                    RichQuery oRichQuery = new RichQuery();
                    return(oRichQuery.p_ScodeQuery("1", "", "", false).Tables[0].Copy());
                };

                _dtStockCode = funcGetStockData();
            }
            else
            {
                Func <DataTable> funcGetStockData = () =>
                {
                    RichQuery oRichQuery = new RichQuery();
                    return(oRichQuery.p_ScodeQuery("1", "", "", false).Tables[0].Copy());
                };

                _dtStockCode = dt.Copy();
                dt           = null;
            }

            foreach (DataRow dr in _dtStockCode.Rows)
            {
                if (ClsAxKH.GetMasterCodeName(dr["STOCK_CODE"].ToString().Trim()) == "")
                {
                    continue;
                }

                _StockQueue.Enqueue(dr["STOCK_CODE"].ToString());
            }

            proBar10015.Maximum = _dtStockCode.Rows.Count;
            proBar10060.Maximum = _dtStockCode.Rows.Count;
            proBar10081.Maximum = _dtStockCode.Rows.Count;

            if (_stdDate == "")
            {
                if (System.DateTime.Now.DayOfWeek == DayOfWeek.Saturday)
                {
                    _stdDate = DateTime.Today.AddDays(-1).ToString("yyyyMMdd");
                }
                else if (System.DateTime.Now.DayOfWeek == DayOfWeek.Sunday)
                {
                    _stdDate = DateTime.Today.AddDays(-2).ToString("yyyyMMdd");
                }
                else
                {
                    int i = Int32.Parse(System.DateTime.Now.ToString("HH") + System.DateTime.Now.ToString("ss"));

                    if (i > 1600)
                    {
                        _stdDate = CDateTime.FormatDate(System.DateTime.Now.Date.ToShortDateString());
                    }
                    else if (System.DateTime.Now.DayOfWeek == DayOfWeek.Monday)
                    {
                        _stdDate = DateTime.Today.AddDays(-3).ToString("yyyyMMdd");
                    }
                    else
                    {
                        _stdDate = DateTime.Today.AddDays(-1).ToString("yyyyMMdd");
                    }
                }
            }

            string  reDate  = "";
            ClsUtil clsUtil = new ClsUtil();

            reDate = clsUtil.Mid(_stdDate, 1, 4) + "-" + clsUtil.Mid(_stdDate, 5, 2) + clsUtil.Mid(_stdDate, 7, 2);

            DateTime dtDate = Convert.ToDateTime(reDate);

            _minDate = dtDate.AddDays(Convert.ToInt32(DayOfWeek.Monday) - Convert.ToInt32(dtDate.DayOfWeek)).ToString("yyyyMMdd");

            proBar10015.Value = _StockQueue.Count;
            proBar10081.Value = _StockQueue.Count;
            proBar10060.Value = _StockQueue.Count;

            OnGetStockCode();

            BtnStart.Text = "작업 중";
        }
Beispiel #15
0
        private void GetNewStockCode()
        {
            DataTable             dt                    = new DataTable();
            DataTable             dt2                   = new DataTable();
            RichQuery             richQuery             = new RichQuery();
            ClsGetKoaStudioMethod clsGetKoaStudioMethod = new ClsGetKoaStudioMethod();

            dt  = richQuery.p_ScodeQuery(query: "1", stockCode: "", ybYongCode: "", bln3tier: false).Tables[0].Copy();
            dt2 = clsGetKoaStudioMethod.GetCodeListByMarketCallBackDataTable(stockGb: "999");
            int    row       = 0;
            string stockName = "";

            dgv1.DataSource = dt;

            var rows = from t1 in dt2.AsEnumerable()
                       join t2 in dt.AsEnumerable() on t1.Field <string>("STOCK_CODE") equals t2.Field <string>("STOCK_CODE") into tg
                       from tcheck in tg.DefaultIfEmpty()
                           where tcheck == null
                       select t1;

            foreach (DataRow dr in rows)
            {
                if (dr["STOCK_CODE"].ToString().Trim() == "")
                {
                    continue;
                }

                stockName = ClsAxKH.GetMasterCodeName(dr["STOCK_CODE"].ToString());

                if (stockName.Contains("스팩") == true)
                {
                    continue;
                }

                if (stockName.Contains("KOSEF") == true)
                {
                    continue;
                }


                if (stockName.Contains("일본") == true)
                {
                    continue;
                }

                if (stockName.Contains("TIGER") == true)
                {
                    continue;
                }

                if (stockName.Contains("KBSTAR") == true)
                {
                    continue;
                }

                if (stockName.Contains("KINDEX") == true)
                {
                    continue;
                }

                if (stockName.Contains("국고") == true)
                {
                    continue;
                }

                if (stockName.Contains("단기") == true)
                {
                    continue;
                }


                if (stockName.Contains("선물") == true)
                {
                    continue;
                }

                if (stockName.Contains("나스닥") == true)
                {
                    continue;
                }

                if (stockName.Contains("ARIRANG") == true)
                {
                    continue;
                }

                if (stockName.Contains("HANARO") == true)
                {
                    continue;
                }

                if (stockName.Contains(" ETN") == true)
                {
                    continue;
                }

                if (stockName.Contains("KODEX") == true)
                {
                    continue;
                }

                if (stockName.Contains("QV ") == true)
                {
                    continue;
                }

                if (stockName.Contains("TRUE ") == true)
                {
                    continue;
                }

                if (stockName.Contains("미래에셋 ") == true)
                {
                    continue;
                }

                if (stockName.Contains("삼성 ") == true)
                {
                    continue;
                }

                if (stockName.Contains("신한 ") == true)
                {
                    continue;
                }

                if (stockName.Contains("FOCUS ") == true)
                {
                    continue;
                }

                if (stockName.Contains("SMART ") == true)
                {
                    continue;
                }

                if (stockName.Contains("TREX ") == true)
                {
                    continue;
                }

                if (stockName.Contains("파워 ") == true)
                {
                    continue;
                }

                if (stockName.Contains("흥국 ") == true)
                {
                    continue;
                }

                dgv0.Rows.Add();



                dgv0.Rows[row].Cells["STOCK_CODE"].Value = dr["STOCK_CODE"].ToString();
                dgv0.Rows[row].Cells["STOCK_NAME"].Value = stockName;

                row = row + 1;
            }
        }