示例#1
0
 /**
  * DB更新<br>
  * 純広テーブルの情報も含まれているため、オーバーライトしています。
  */
 public function update(&$o)
 {
     $db =& $this->_core->getDBForUpdate();
     $m = clone $o;
     $m->removeField('client_junkoukingaku');
     $m->removeField('client_junkoutsuki');
     $m->removeField('media_junkoukingaku');
     $m->removeField('media_junkoutsuki');
     // 更新項目数
     $count = $m->getChangedCount();
     // 更新項目がある場合のみ更新
     if ($count != 0) {
         parent::update($m);
     }
     // 純広追加
     $ankenId = $o->getField("anken_id")->getValue();
     $teikeiMediaId = $o->getField("teikei_media_id")->getValue();
     $junkou = new DataJunkou();
     $junkou->getField("anken_id")->setValue($ankenId);
     $junkou->getField("teikei_media_id")->setValue($teikeiMediaId);
     $data = $o->getArray();
     $sql = $junkou->getSelectSQL_Bind_ChangedField();
     $param =& $junkou->getChangedFieldValues();
     $d =& $db->query($sql, $param);
     if (count($d) > 0) {
         // 更新
         $junkou->setData($data);
         parent::update($junkou);
     } else {
         // 新規
         // 金額0の場合を処理しない
         $clientKingaku = $data["client_junkoukingaku"];
         $mediaKingaku = $data["media_junkoukingaku"];
         if (empty($clientKingaku) == true && empty($mediaKingaku) == true) {
             return;
         }
         $junkou->setData($data);
         parent::insert($junkou);
     }
 }
示例#2
0
    /**
     * DB追加
     */
    public function Anken_PriceReserveEdit_insert(&$o)
    {
        $db =& $this->_core->getDBForUpdate();
        $m = clone $o;
        $m->removeField('price');
        $m->removeField('oroshi');
        $m->removeField('extra_price');
        $m->removeField('extra_oroshi');
        // 更新単価情報
        $now = date('Y-m-d H:i:s');
        $m->getField('reg_time')->setValue($now);
        parent::insert($m);
        $reserveId = mysql_insert_id();
        // 単価情報
        $price = $o->getField('price')->getValue();
        $oroshi = $o->getField('oroshi')->getValue();
        $extraPrice = $o->getField('extra_price')->getValue();
        $extraOroshi = $o->getField('extra_oroshi')->getValue();
        // カスタムテーブル
        $sql = <<<SQL
insert into ald_price_reserve_price
(reserve_id, order_id, price, oroshi)
values
(?, 1, ?, ?)
SQL;
        $param = array($reserveId, $price, $oroshi);
        $db->execute($sql, $param);
        $sql = <<<SQL
insert into ald_price_reserve_price
(reserve_id, order_id, price, oroshi)
values
(?, 2, ?, ?)
SQL;
        $param = array($reserveId, $extraPrice, $extraOroshi);
        $db->execute($sql, $param);
    }
示例#3
0
    /**
     * DB追加<br>
     * 案件原稿テーブルの情報も含まれているため、オーバーライトしています。
     * 案件の新規作成画面もバージョン2となるため、この関数は呼ばれない
     * @see anken_edit_model_v2
     */
    public function Anken_Edit_insert(&$o)
    {
        $db =& $this->_core->getDBForUpdate();
        $m = clone $o;
        // 入稿URLを直書き
        $nyukoUrl = 'http://www.af-mark.jp/';
        $nyukoUrl .= $m->getField('campaign_code')->getValue();
        $nyukoUrl .= '/?id=[%media_id%]&uid=[ユーザー識別子]';
        $m->getField('nyuko_url')->setValue($nyukoUrl);
        // 案件情報
        parent::insert($m);
        $ankenId = mysql_insert_id();
        // 案件原稿
        $g = new DataAnkenGenko();
        $g->getField('anken_id')->setValue($ankenId);
        parent::insert($g);
        // カスタムテーブル
        $sql = <<<SQL
insert into ald_custom_status
(anken_id, campaign_index, campaign_action, admin_version)
values
(?, 0, 0, 2)
SQL;
        $param = array($ankenId);
        $db->execute($sql, $param);
        //--------------------------
        // 案件情報テーブル
        //--------------------------
        $a = new DataAnkenInfo();
        $a->getField('anken_id')->setValue($ankenId);
        parent::insert($a);
    }