/**
  * @return void
  */
 protected static function innerRegister(array $data)
 {
     $date = isset($data['CREATED_DATE']) ? $data['CREATED_DATE'] : new Date();
     $day = (int) $date->format('d');
     $month = (int) $date->format('m');
     $quarter = $month <= 3 ? 1 : ($month <= 6 ? 2 : ($month <= 9 ? 3 : 4));
     $year = (int) $date->format('Y');
     DealInvoiceStatisticsTable::upsert(array('CREATED_DATE' => $date, 'PERIOD_YEAR' => $year, 'PERIOD_QUARTER' => $quarter, 'PERIOD_MONTH' => $month, 'PERIOD_DAY' => $day, 'OWNER_ID' => isset($data['OWNER_ID']) ? $data['OWNER_ID'] : 0, 'START_DATE' => isset($data['START_DATE']) ? $data['START_DATE'] : new Date(), 'END_DATE' => isset($data['END_DATE']) ? $data['END_DATE'] : new Date(), 'RESPONSIBLE_ID' => isset($data['RESPONSIBLE_ID']) ? $data['RESPONSIBLE_ID'] : 0, 'STAGE_SEMANTIC_ID' => isset($data['STAGE_SEMANTIC_ID']) ? $data['STAGE_SEMANTIC_ID'] : '', 'STAGE_ID' => isset($data['STAGE_ID']) ? $data['STAGE_ID'] : '', 'IS_LOST' => isset($data['IS_LOST']) ? $data['IS_LOST'] : 'N', 'CURRENCY_ID' => isset($data['CURRENCY_ID']) ? $data['CURRENCY_ID'] : '', 'INVOICE_SUM' => isset($data['INVOICE_SUM']) ? $data['INVOICE_SUM'] : 0.0, 'INVOICE_QTY' => isset($data['INVOICE_QTY']) ? $data['INVOICE_QTY'] : 0, 'TOTAL_INVOICE_SUM' => isset($data['TOTAL_INVOICE_SUM']) ? $data['TOTAL_INVOICE_SUM'] : 0.0, 'TOTAL_INVOICE_QTY' => isset($data['TOTAL_INVOICE_QTY']) ? $data['TOTAL_INVOICE_QTY'] : 0, 'TOTAL_SUM' => isset($data['TOTAL_SUM']) ? $data['TOTAL_SUM'] : 0.0));
 }