<?php
namespace App\Models\Entities;

use CodeIgniter\Model;

class V2chghistoryModel extends Model
{
    protected $table      = 'v2_chg_history';
    protected $primaryKey = 'seq'; // 실제 PK 컬럼명으로 수정하세요 (st_date, cpid, gbn_cd가 복합키인 경우도 있음)
    protected $allowedFields = ['vr_sq', 'stat_cd', 'chg_type', 'memo', 'insert_id', 'insert_tm'];
   
    protected $useTimestamps = false; // insert_tm을 직접 넣으시므로 false

    /**
     * 상태 변경 이력 저장 (CI4 통합 버전)
     * @param array $data ['vr_sq' => 값, 'stat_cd' => 값, ...]
     * @param string $saveType 'I'(Upsert), 'U'(Update)
     */
    public function v2_savehistory(array $data )
    {
        $payload = [
            'vr_sq'     => $data['vr_sq'],
            'stat_cd'   => $data['stat_cd'],
            'chg_type'  => $data['chg_type'],
            'memo'      => $data['memo'] ?? '',
            'insert_id' => $data['insert_id'] ?? '0',
            'insert_tm' => $data['insert_tm'] ?? db_now(),
        ];

        // insert 수행
        if (!$this->insert($payload)) {
            return [
                'error' => [
                    'code'    => $this->db->error()['code'],
                    'message' => $this->db->error()['message'],
                ],
                'query' => (string)$this->getLastQuery()
            ];
        }

        return ['error' => ['code' => 0, 'message' => ''], 'id' => $this->getInsertID()];
    }
}