// 기존거 있으면 지움. 초기화임. 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(); }
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(); }
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); } }
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); } }
// 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); } }
// 이건 그냥 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); // } //} }
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(); } }
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); } }
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); } }