/** * EPPSDF: * public $TH; * public $A; * public $B; * @throws Exception * @return boolean */ private static function startMysqlEppsdfMemory() { $eppsdf_first = EppsdfMemory::findFirst(); if (isset($eppsdf_first->TH)) { return true; } else { try { $manager = new TxManager(); $transaction = $manager->get(); $eppsdf_data = Eppsdf::find(); foreach ($eppsdf_data as $eppsdf_record) { $eppsdf_memory = new EppsdfMemory(); $eppsdf_memory->setTransaction($transaction); $eppsdf_memory->TH = $eppsdf_record->TH; $eppsdf_memory->A = $eppsdf_record->A; $eppsdf_memory->B = $eppsdf_record->B; if ($eppsdf_memory->create() == false) { unset($eppsdf_data); $transaction->rollback("EPPSDF DATA INSERT INTO MEMORY TABLE ERROR!"); } } $transaction->commit(); return true; } catch (TxFailed $e) { throw new Exception("Failed, reason: " . $e->getMessage()); } } }
/** * 计算EPPS基础得分 * @param \Phalcon\Mvc\Model\Resultsets\Simple $array * @return string */ protected static function handleEPPS(&$array) { $array_list = self::strDivideToArray($array->option, $array->question_number_list); #判断内存表状态 if (!self::$memory_state) { self::loadMemoryTable(); } $rtn_array = array(); foreach ($array_list as $array_record) { $rtn_array[] = EppsdfMemory::getRecord(intval($array_record['number']), strtoupper(trim($array_record['option']))); } return implode('|', $rtn_array); }