Exemplo n.º 1
0
 /**
  * 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());
         }
     }
 }
Exemplo n.º 2
0
 /**
  * 计算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);
 }