ぱっとテストしてみました。
SC_Helper_PurchaseのsaveOrderTempを
function saveOrderTemp($uniqId, $params, &$objCustomer = NULL) {
if (SC_Utils_Ex::isBlank($uniqId)) {
return;
}
$params['device_type_id'] = SC_Display_Ex::detectDevice();
$objQuery =& SC_Query_Ex::getSingletonInstance();
// 存在するカラムのみを対象とする
$cols = $objQuery->listTableFields('dtb_order_temp');
$sqlval = array();
foreach ($params as $key => $val) {
if (in_array($key, $cols)) {
$sqlval[$key] = $val;
}
}
$sqlval['session'] = serialize($_SESSION);
if (!empty($objCustomer) AND $objCustomer->isLoginSuccess(true)) {
// 注文者の情報を常に最新に保つ
$this->copyFromCustomer($sqlval, $objCustomer);
}
if($objCustomer->isLoginSuccess(true)){
$sqlval['tuika'] = $objCustomer->getValue('tuika');
$sqlval['tuika2'] = $objCustomer->getValue('tuika2');
$sqlval['tuika3'] = $objCustomer->getValue('tuika3');
}else{
if(!empty($params['tuika']) AND !empty($params['tuika2']) AND !empty($params['tuika3'])){
$sqlval['tuika'] = $params['tuika'];
$sqlval['tuika2'] = $params['tuika2'];
$sqlval['tuika3'] = $params['tuika3'];
}
}
$exists = $this->getOrderTemp($uniqId);
if (SC_Utils_Ex::isBlank($exists)) {
$sqlval['order_temp_id'] = $uniqId;
$sqlval['create_date'] = 'CURRENT_TIMESTAMP';
$objQuery->insert('dtb_order_temp', $sqlval);
} else {
$objQuery->update('dtb_order_temp', $sqlval, 'order_temp_id = ?', array($uniqId));
}
}
こんな感じに変更してみてください。