コード例 #1
0
 /**
  * public $TH;
  * public $XZ;
  * public $DO;
  * public $CS;
  * public $SY;
  * public $SP;
  * public $SA;
  * public $WB;
  * public $RE;
  * public $SO;
  * public $SC;
  * public $PO;
  * public $GI;
  * public $CM;
  * public $AC;
  * public $AI;
  * public $IE;
  * public $PY;
  * public $FX;
  * public $FE;
  * @throws Exception
  * @return boolean
  */
 private static function startMysqlCpidfMemory()
 {
     $cpidf_first = CpidfMemory::findFirst();
     if (isset($cpidf_first->TH)) {
         return true;
     } else {
         try {
             $manager = new TxManager();
             $transaction = $manager->get();
             $cpidf_data = Cpidf::find();
             foreach ($cpidf_data as $cpidf_record) {
                 $cpidf_memory = new CpidfMemory();
                 $cpidf_memory->setTransaction($transaction);
                 $cpidf_memory->TH = $cpidf_record->TH;
                 $cpidf_memory->XZ = $cpidf_record->XZ;
                 $cpidf_memory->AC = $cpidf_record->AC;
                 $cpidf_memory->AI = $cpidf_record->AI;
                 $cpidf_memory->CM = $cpidf_record->CM;
                 $cpidf_memory->CS = $cpidf_record->CS;
                 $cpidf_memory->DO = $cpidf_record->DO;
                 $cpidf_memory->FE = $cpidf_record->FE;
                 $cpidf_memory->GI = $cpidf_record->GI;
                 $cpidf_memory->IE = $cpidf_record->IE;
                 $cpidf_memory->PO = $cpidf_record->PO;
                 $cpidf_memory->PY = $cpidf_record->PY;
                 $cpidf_memory->RE = $cpidf_record->RE;
                 $cpidf_memory->SA = $cpidf_record->SA;
                 $cpidf_memory->SO = $cpidf_record->SO;
                 $cpidf_memory->SP = $cpidf_record->SP;
                 $cpidf_memory->SY = $cpidf_record->SY;
                 $cpidf_memory->WB = $cpidf_record->WB;
                 #2015-8-22 发现未添加项
                 $cpidf_memory->SC = $cpidf_record->SC;
                 $cpidf_memory->FX = $cpidf_record->FX;
                 if ($cpidf_memory->create() == false) {
                     unset($cpidf_data);
                     $transaction->rollback("CPIDF DATA INSERT INTO MEMORY TABLE ERROR!");
                 }
             }
             $transaction->commit();
             return true;
         } catch (TxFailed $e) {
             throw new Exception("Failed, reason: " . $e->getMessage());
         }
     }
 }
コード例 #2
0
 /**
  * 计算CPI基础得分
  * @param \Phalcon\Mvc\Model\Resultsets\Simple $array
  * @return string
  */
 protected static function handleCPI(&$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[] = CpidfMemory::getRecord(intval($array_record['number']), ord($array_record['option']) - ord('a') + 1);
     }
     return implode('|', $rtn_array);
 }