246
249
protected function log() {
247
250
if (isset($this->_snapshot)) {return false;}
248
252
$db = Database::getInstance();
249
253
$database = $db->getDatabase();
254
$record = EmployeeEmployeedate::select($db->encapsulate("employee_employeedate") . ".mdate as fdate,null as tdate,{$db->encapsulate("employee_employeedate")}.*",null,$db->encapsulate("employee_employeedate").".id={$this->id}")->first();
250
255
$log = "{$database}_log";
251
$db->changeDatabase($log);
256
$dbLog = Database::getInstance(null,null,null,null,$log);
257
foreach($record as $k=>$v){
259
$record[$k] = $dbLog->queryValue($v);
262
$insertColumns = $dbLog->le.implode("{$dbLog->le},{$dbLog->re}",array_keys($record)).$dbLog->re;
263
$insertValues = implode(",",$record);
252
264
$query = implode(NL, array(
253
"INSERT INTO {$db->le}{$log}{$db->re}.{$db->le}employee_employeedate{$db->re} (",
256
" {$db->le}{$database}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}mdate{$db->re},",
258
" {$db->le}{$database}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}id{$db->re},",
259
" {$db->le}{$database}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}employee_person_entity_id{$db->re},",
260
" {$db->le}{$database}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}employeedate_id{$db->re},",
261
" {$db->le}{$database}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}employee_employeedate_type_id{$db->re},",
262
" {$db->le}{$database}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}primary{$db->re},",
263
" {$db->le}{$database}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}updated_by_id{$db->re},",
264
" {$db->le}{$database}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}mdate{$db->re},",
265
" {$db->le}{$database}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}cdate{$db->re},",
266
" {$db->le}{$database}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}deleted{$db->re}",
267
"FROM {$db->le}{$database}{$db->re}.{$db->le}employee_employeedate{$db->re}",
268
"WHERE {$db->le}{$database}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}id{$db->re}={$db->queryValue($this->id)}",
265
"INSERT INTO {$dbLog->le}employee_employeedate{$dbLog->re} (",
271
$status = $db->query($query);
273
$logSequence = $db->getInsertedId();
275
$query = implode(NL, array(
276
"SELECT {$db->le}log_sequence{$db->re}",
277
"FROM {$db->le}employee_employeedate{$db->re}",
278
"WHERE {$db->le}employee_employeedate{$db->re}.{$db->le}id{$db->re}={$db->queryValue($this->id)}",
279
" AND {$db->le}log_sequence{$db->re}<'{$logSequence}'",
280
"ORDER BY {$db->le}log_sequence{$db->re} DESC",
285
if ($db->getRecord()) {
286
$updateSequence = (int)$db->record["log_sequence"];
271
$status = $dbLog->query($query);
273
$logSequence = $dbLog->getInsertedId();
287
276
$query = implode(NL, array(
288
"UPDATE {$db->le}{$log}{$db->re}.{$db->le}employee_employeedate{$db->re}",
289
"INNER JOIN {$db->le}{$database}{$db->re}.{$db->le}employee_employeedate{$db->re} ON {$db->le}{$log}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}id{$db->re}={$db->le}{$database}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}id{$db->re}",
290
" AND {$db->le}{$log}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}log_sequence{$db->re}={$db->queryValue($updateSequence)}",
291
"SET {$db->le}{$log}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}tdate{$db->re}={$db->le}{$database}{$db->re}.{$db->le}employee_employeedate{$db->re}.{$db->le}mdate{$db->re}"
277
"SELECT {$dbLog->le}log_sequence{$dbLog->re}",
278
"FROM {$dbLog->le}employee_employeedate{$dbLog->re}",
279
"WHERE {$dbLog->le}employee_employeedate{$dbLog->re}.{$dbLog->le}id{$dbLog->re}={$this->id}",
280
" AND {$dbLog->le}log_sequence{$dbLog->re}<{$logSequence}",
281
"ORDER BY {$dbLog->le}log_sequence{$dbLog->re} DESC",
282
$dbLog::limitOffsetString(1,0)
284
$dbLog->query($query);
286
if ($dbLog->getRecord()) {
287
$updateSequence = (int)$dbLog->record["log_sequence"];
288
$query = implode(NL, array(
289
"UPDATE {$dbLog->le}employee_employeedate{$dbLog->re}",
290
"SET {$dbLog->le}tdate{$dbLog->re}={$record["mdate"]}",
291
"where log_sequence={$updateSequence}"
293
$dbLog->query($query);
295
296
$db->changeDatabase($database);