Changeset 866
- Timestamp:
- Dec 23, 2019, 1:08:17 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Application/Version.php
r865 r866 1 1 <?php 2 2 3 $Revision = 86 5; // Subversion revision3 $Revision = 866; // Subversion revision 4 4 $DatabaseRevision = 862; // SQL structure revision 5 5 $ReleaseTime = strtotime('2019-12-23'); -
trunk/Modules/Finance/Finance.php
r844 r866 82 82 return(round($Spotreba * 0.72 * $this->kWh)); 83 83 } 84 84 85 85 function CreateFinanceYear($Year) 86 86 { 87 87 $StartTime = mktime(0, 0, 0, 1, 1, $Year); 88 88 $EndTime = mktime(0, 0, 0, 12, 31, $Year); 89 $this->Database->insert('FinanceYear', array('Year' => $Year, 89 $this->Database->insert('FinanceYear', array('Year' => $Year, 90 90 'DateStart' => TimeToMysqlDate($StartTime), 'DateEnd' => TimeToMysqlDate($EndTime), 'Closed' => 0)); 91 91 $YearId = $this->Database->insert_id; … … 95 95 while($DbRow = $DbResult->fetch_assoc()) 96 96 { 97 $this->Database->insert('DocumentLineSequence', array('FinanceYear' => $YearId, 97 $this->Database->insert('DocumentLineSequence', array('FinanceYear' => $YearId, 98 98 'NextNumber' => 1, 'YearPrefix' => 1, 'DocumentLine' => $DbRow['Id'])); 99 99 } 100 100 } 101 101 102 102 function GetFinanceYear($Year) 103 103 { … … 111 111 { 112 112 $this->CreateFinanceYear($Year); 113 $DbResult = $this->Database->select('FinanceYear', '*', '`Year`='.$Year); 113 $DbResult = $this->Database->select('FinanceYear', '*', '`Year`='.$Year); 114 114 } else throw new Exception('Rok '.$Year.' nenalezen'); 115 115 } 116 116 $FinanceYear = $DbResult->fetch_assoc(); 117 if($FinanceYear['Closed'] == 1) 117 if($FinanceYear['Closed'] == 1) 118 118 throw new Exception('Rok '.$FinanceYear['Year'].' je již uzavřen. Nelze do něj přidávat položky.'); 119 return $FinanceYear; 119 return $FinanceYear; 120 120 } 121 121 … … 273 273 'AfterInsert' => array($this, 'AfterInsertFinanceOperation'), 274 274 'BeforeModify' => array($this, 'BeforeModifyFinanceOperation'), 275 'ItemActions' => array( 276 array('Caption' => 'Přegenerovat doklad', 'URL' => '/finance/sprava/?Operation=RegenerateOperation&i=#RowId'), 277 ), 275 278 )); 276 279 … … 377 380 'AfterInsert' => array($this, 'AfterInsertFinanceInvoice'), 378 381 'BeforeModify' => array($this, 'BeforeModifyFinanceInvoice'), 382 'ItemActions' => array( 383 array('Caption' => 'Přegenerovat doklad', 'URL' => '/finance/sprava/?Operation=RegenerateInvoice&i=#RowId'), 384 ), 379 385 )); 380 386 $this->System->FormManager->RegisterClass('FinanceInvoiceIn', $this->System->FormManager->Classes['FinanceInvoice']); -
trunk/Modules/Finance/Manage.php
r833 r866 28 28 case 'GenerateBills': 29 29 $Output = $this->GenerateBills(); 30 break; 31 case 'RegenerateInvoice': 32 $Output = $this->GenerateInvoice('AND (Id='.$_GET['i'].')'); 33 break; 34 case 'RegenerateOperation': 35 $Output = $this->GenerateOperation('AND (Id='.$_GET['i'].')'); 30 36 break; 31 37 default: … … 406 412 } 407 413 408 function GenerateBills() 409 { 410 $Output = ''; 411 412 // FinanceInvoice 414 function GenerateInvoice($Where) 415 { 416 $Output = ''; 413 417 $DbResult = $this->Database->query('SELECT * FROM `FinanceInvoice` WHERE (`BillCode` <> "") '. 414 'AND (`Value` != 0) AND (` File` IS NULL) AND (`Generate` = 1)');418 'AND (`Value` != 0) AND (`Generate` = 1)'.$Where); 415 419 while($Row = $DbResult->fetch_assoc()) 416 420 { 417 $DbResult2 = $this->Database->insert('File', array('Name' => '', 'Size' => 0, 418 'Directory' => $this->System->Modules['Finance']->DirectoryId, 'Time' => 'NOW()')); 419 $FileId = $this->Database->insert_id; 421 if ($Row['File'] == null) 422 { 423 $DbResult2 = $this->Database->insert('File', array('Name' => '', 'Size' => 0, 424 'Directory' => $this->System->Modules['Finance']->DirectoryId, 'Time' => 'NOW()')); 425 $FileId = $this->Database->insert_id; 426 } else $FileId = $Row['File']; 420 427 $FileName = 'doklad-'.$FileId.'.pdf'; 421 428 $Bill = new BillInvoice($this->System); … … 425 432 $FullFileName = $this->System->Modules['File']->GetDir($this->System->Modules['Finance']->DirectoryId).$FileName; 426 433 $Bill->SaveToFile($FullFileName); 427 if (file_exists($FullFileName))434 if (file_exists($FullFileName)) 428 435 { 429 436 $this->Database->update('File', 'Id='.$FileId, array('Name' => $FileName, 'Size' => filesize($FullFileName))); 430 437 $this->Database->update('FinanceInvoice', 'Id='.$Row['Id'], array('File' => $FileId)); 431 $Output .= ' .';438 $Output .= 'Faktura '.$Row['Id'].' vygenerována do souboru '.$FileName.'<br/>'."\n"; 432 439 } else $Output .= 'Soubor "'.$FullFileName.'" se nepodařilo uložit.'; 433 440 } 434 435 // FinanceOperations 441 return $Output; 442 } 443 444 function GenerateOperation($Where) 445 { 446 $Output = ''; 436 447 $DbResult = $this->Database->query('SELECT * FROM `FinanceOperation` WHERE (`BillCode` <> "") '. 437 'AND (`Value` != 0) AND (` File` IS NULL) AND (`Generate` = 1)');448 'AND (`Value` != 0) AND (`Generate` = 1)'.$Where); 438 449 while($Row = $DbResult->fetch_assoc()) 439 450 { 440 $DbResult2 = $this->Database->insert('File', array('Name' => '', 'Size' => 0, 451 if ($Row['File'] == null) 452 { 453 $DbResult2 = $this->Database->insert('File', array('Name' => '', 'Size' => 0, 441 454 'Directory' => $this->System->Modules['Finance']->DirectoryId, 'Time' => 'NOW()')); 442 $FileId = $this->Database->insert_id; 455 $FileId = $this->Database->insert_id; 456 } else $FileId = $Row['File']; 443 457 $FileName = 'doklad2-'.$FileId.'.pdf'; 444 458 $Bill = new BillOperation($this->System); … … 452 466 $this->Database->update('File', 'Id='.$FileId, array('Name' => $FileName, 'Size' => filesize($FullFileName))); 453 467 $this->Database->update('FinanceOperation', 'Id='.$Row['Id'], array('File' => $FileId)); 454 $Output .= ' .';468 $Output .= 'Doklad pro platbu '.$Row['Id'].' vygenerován do souboru '.$FileName.'<br/>'."\n"; 455 469 } else $Output .= 'Soubor "'.$FullFileName.'" se nepodařilo uložit.'; 456 470 } 471 return $Output; 472 } 473 474 function GenerateBills() 475 { 476 $Output = ''; 477 // Generate PDF files for new invoices and operations 478 $Output .= $this->GenerateInvoice(' AND (`File` IS NULL)'); 479 $Output .= $this->GenerateOperation(' AND (`File` IS NULL)'); 457 480 return($Output); 458 481 }
Note:
See TracChangeset
for help on using the changeset viewer.