Esempio n. 1
0
        // 기존거 있으면 지움. 초기화임.
        public void batchjob_result()
        {
            string refDateStr = this.ReferenceDate_.ToString("yyyyMMdd");

            clsHDAT_BATCHJOB_RESULT_TB clstb_batch = new clsHDAT_BATCHJOB_RESULT_TB();

            clstb_batch.CALC_DT = refDateStr;
            clstb_batch.DeleteDate();
            
            // 기존거 있으면 지움. 초기화임.
            clstb_batch.DeleteDate();

            clstb_batch.START_TIME = "";
            clstb_batch.END_TIME = "";
            clstb_batch.DURATION_TIME = "";
            clstb_batch.STATUS = (int)clsHDAT_BATCHJOB_RESULT_TB.STATUS_Type.NOT_CALCULATED;

            clstb_batch.BATCH_JOB_ID = (int)clsHDAT_BATCHJOB_RESULT_TB.BATCH_JOB_ID_Type.BASE_DATAGENERATE;
            clstb_batch.Insert();
            clstb_batch.BATCH_JOB_ID = (int)clsHDAT_BATCHJOB_RESULT_TB.BATCH_JOB_ID_Type.LOAD_MARKETDATA;
            clstb_batch.Insert();
            clstb_batch.BATCH_JOB_ID = (int)clsHDAT_BATCHJOB_RESULT_TB.BATCH_JOB_ID_Type.FP_CACULATION;
            clstb_batch.Insert();
            clstb_batch.BATCH_JOB_ID = (int)clsHDAT_BATCHJOB_RESULT_TB.BATCH_JOB_ID_Type.POSITION_CALCULATION;
            clstb_batch.Insert();

        }
Esempio n. 2
0
        public void batch_calculate()
        { 
            //
            clsHDAT_BATCHJOB_RESULT_TB clstb = new clsHDAT_BATCHJOB_RESULT_TB();

            clstb.CALC_DT = this.ReferenceDate_.ToString("yyyyMMdd");
            clstb.START_TIME = DateTime.Now.ToString("HHmmdd");
            clstb.STATUS = (int)clsHDAT_BATCHJOB_RESULT_TB.STATUS_Type.CALCULATING;

            clstb.BATCH_JOB_ID = (int)clsHDAT_BATCHJOB_RESULT_TB.BATCH_JOB_ID_Type.FP_CACULATION;

            clstb.Update();

            // load 함 ------------------------------------------------------------------
            clsMAST_FP_INSTRUMENT_TB clstb_mast = new clsMAST_FP_INSTRUMENT_TB();

            DataTable dt = clstb_mast.Select();

            List<Financial_instrument> fi_list = new List<Financial_instrument>();

            foreach (DataRow dr in dt.Select())
            {
                clsMAST_FP_INSTRUMENT_TB tb = clsMAST_FP_INSTRUMENT_TB.Create(dr);

                Financial_instrument fi = Financial_instrument.CreateInstrument(tb);

                fi_list.Add(fi);
            }

            // ------------------------------------------------------------------

            try
            {
                foreach (Financial_instrument roop_fi in fi_list)
                {
                    roop_fi.calculate(this.ReferenceDate_);
                }
            }
            catch (Exception e)
            {
                this.LogManager_.addLog(e.Message);
            }

            // ------------------------------------------------------------------

            clstb.END_TIME = DateTime.Now.ToString("HHmmdd");
            clstb.STATUS = (int)clsHDAT_BATCHJOB_RESULT_TB.STATUS_Type.CALCULATED;

            clstb.Update();


        }
Esempio n. 3
0
        public static void updateBatchJobID_error(DateTime refDate, clsHDAT_BATCHJOB_RESULT_TB.BATCH_JOB_ID_Type jobType)
        {
            // basedata 딴데서 만듬.

            clsHDAT_BATCHJOB_RESULT_TB clstb = new clsHDAT_BATCHJOB_RESULT_TB();

            clstb.CALC_DT = refDate.ToString("yyyyMMdd");
            clstb.BATCH_JOB_ID = (int)jobType;
            clstb.STATUS = (int)clsHDAT_BATCHJOB_RESULT_TB.STATUS_Type.ERROR;

            if (clstb.UpdateBatch() == 0)
                { throw new Exception("update fail : " + clstb.CALC_DT + " " + clstb.BATCH_JOB_ID); }

        }
Esempio n. 4
0
        public static void updateBatchJobID_end(DateTime refDate, clsHDAT_BATCHJOB_RESULT_TB.BATCH_JOB_ID_Type jobType)
        {
            // basedata 딴데서 만듬.

            clsHDAT_BATCHJOB_RESULT_TB clstb = new clsHDAT_BATCHJOB_RESULT_TB();

            clstb.BATCH_JOB_ID = (int)jobType;
            clstb.CALC_DT = refDate.ToString("yyyyMMdd");

            if (clstb.SelectOwn() == 0)
                { throw new Exception(" not yet started : " + clstb.CALC_DT + " " + clstb.BATCH_JOB_ID); }

            clstb.CALC_DT = refDate.ToString("yyyyMMdd");
            clstb.BATCH_JOB_ID = (int)jobType;
            //clstb.START_TIME = startTime.ToString("HH:mm:ss");
            clstb.END_TIME = DateTime.Now.ToString("HH:mm:ss");
            clstb.DURATION_TIME = "999999";// (DateTime.Now - ConvertingTool.ToDateTime(clstb.START_TIME)).ToString("HH:mm:ss");
            clstb.STATUS = (int)clsHDAT_BATCHJOB_RESULT_TB.STATUS_Type.CALCULATED;

            if (clstb.UpdateBatch() == 0)
                { throw new Exception("update fail : " + clstb.CALC_DT + " " + clstb.BATCH_JOB_ID); }

        }
Esempio n. 5
0
        // db update

        #region batch_db_update
        
        public static void updateBatchJobID_start(DateTime refDate, clsHDAT_BATCHJOB_RESULT_TB.BATCH_JOB_ID_Type jobType) 
        {
            // basedata 딴데서 만듬.

            clsHDAT_BATCHJOB_RESULT_TB clstb = new clsHDAT_BATCHJOB_RESULT_TB();

            clstb.CALC_DT = refDate.ToString("yyyyMMdd");
            clstb.BATCH_JOB_ID = (int)jobType;
            clstb.START_TIME = DateTime.Now.ToString("HH:mm:ss");
            clstb.END_TIME = "999999";
            clstb.DURATION_TIME = "999999";
            clstb.STATUS = (int)clsHDAT_BATCHJOB_RESULT_TB.STATUS_Type.CALCULATING;

            if (clstb.UpdateBatch() == 0)
            {
                clstb.Insert();
            }
            else
            {
                //throw new Exception("update fail : " + clstb.CALC_DT + " " + clstb.BATCH_JOB_ID);
            }

        }
Esempio n. 6
0
        // 이건 그냥 partition 말고 전체 list로 하자. join 이 있어서리 linq로 못감.
        // 최근일자가 가져와짐.
        public void totalHedgeGreekPositionLoad()
        {
            this.LoadedHedgeGreekPositionVMList_.Clear();

            clsHITM_FP_GREEKRESULT_TB clstb_greekResult = new clsHITM_FP_GREEKRESULT_TB();

            // 최근일 check 
            // 결과가 있으면... 그날 가져옴... 없으면 전일자
            // 보통 예전 일이면 그냥 그날꺼 가져옴

            // 이놈은 생성을 언제 하냐면.... 다음날이 대면 그냥 생성해놓음.
            clsHDAT_BATCHJOB_RESULT_TB clstb_batchjob = new clsHDAT_BATCHJOB_RESULT_TB();
            
            string refDateStr = this.ReferenceDate_.ToString("yyyyMMdd");

            clstb_batchjob.BATCH_JOB_ID = (int)clsHDAT_BATCHJOB_RESULT_TB.BATCH_JOB_ID_Type.FP_CACULATION;
            clstb_batchjob.CALC_DT = refDateStr;

            clstb_batchjob.SelectOwn();

            clstb_greekResult.CALC_DT = clstb_batchjob.MaxCalcDateSelect();

            DataTable dt_greekResult = clstb_greekResult.Select();

            foreach (DataRow dr in dt_greekResult.Select())
            {
                HedgeGreekPositionViewModel vm = new HedgeGreekPositionViewModel();
                vm.DAO_ = clsHITM_FP_GREEKRESULT_TB.Create(dr);
                this.LoadedHedgeGreekPositionVMList_.Add(vm);
            }

            //if (clstb_batchjob.STATUS == (int)clsHDAT_BATCHJOB_RESULT_TB.STATUS_Type.CALCULATED)
            //{
            //    clstb_greekResult.CALC_DT = clstb_batchjob.CALC_DT;

            //    DataTable dt_greekResult = clstb_greekResult.Select();

            //    foreach (DataRow dr in dt_greekResult.Select())
            //    {
            //        HedgeGreekPositionViewModel vm = new HedgeGreekPositionViewModel();
            //        vm.DAO_ = clsHITM_FP_GREEKRESULT_TB.Create(dr);
            //        this.LoadedHedgeGreekPositionVMList_.Add(vm);
            //    }

            //}
            //else
            //{
            //    // 최근일
            //    refDateStr = clstb_batchjob.MaxCalcDateSelect();

            //    clstb_greekResult.CALC_DT = clstb_batchjob;

            //    DataTable dt_greekResult = clstb_greekResult.Select();

            //    foreach (DataRow dr in dt_greekResult.Select())
            //    {
            //        HedgeGreekPositionViewModel vm = new HedgeGreekPositionViewModel();
            //        vm.DAO_ = clsHITM_FP_GREEKRESULT_TB.Create(dr);
            //        this.LoadedHedgeGreekPositionVMList_.Add(vm);
            //    }
            //}

        }
Esempio n. 7
0
        public void init_generateAll()
        {
            clsHDAT_BATCHJOB_RESULT_TB clstb = new clsHDAT_BATCHJOB_RESULT_TB();

            clstb.CALC_DT = this.ReferenceDate_.ToString("yyyyMMdd");

            bool exist = ( clstb.SelectOwn() > 0) ? true : false;

            //clsHITM_FP_POSITION_TB clstb_position = new clsHITM_FP_POSITION_TB();

            //clstb_position.POSITION_DT = 

            if (!exist)
            {
                this.generateAll();
            }

        }
Esempio n. 8
0
		public clsHDAT_BATCHJOB_RESULT_TB Clone()
		{
			try
			{
				clsHDAT_BATCHJOB_RESULT_TB cloneTB = new clsHDAT_BATCHJOB_RESULT_TB();
				
				
				cloneTB._CALC_DT = this._CALC_DT;
				cloneTB._BATCH_JOB_ID = this._BATCH_JOB_ID;
				cloneTB._START_TIME = this._START_TIME;
				cloneTB._END_TIME = this._END_TIME;
				cloneTB._DURATION_TIME = this._DURATION_TIME;
				cloneTB._STATUS = this._STATUS; 
				
				return cloneTB;
			}
			catch(Exception ex)
			{
				throw new Exception(ex.Message);
			}
		}
Esempio n. 9
0
		public static clsHDAT_BATCHJOB_RESULT_TB Create(DataRow dr)
		{
			try
			{
				clsHDAT_BATCHJOB_RESULT_TB tb = new clsHDAT_BATCHJOB_RESULT_TB();
				
				
				tb._CALC_DT = Convert.ToString(dr[0]);
				tb._BATCH_JOB_ID = Convert.ToInt32(dr[1]);
				tb._START_TIME = Convert.ToString(dr[2]);
				tb._END_TIME = Convert.ToString(dr[3]);
				tb._DURATION_TIME = Convert.ToString(dr[4]);
				tb._STATUS = Convert.ToInt32(dr[5]); 
				
				return tb;
			}
			catch(Exception ex)
			{
				throw new Exception(ex.Message);
			}
		}