Changeset 647
- Timestamp:
- Mar 25, 2014, 7:09:47 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Application/FormClasses.php
r645 r647 86 86 'Closed' => array('Type' => 'Boolean', 'Caption' => 'Uzavřen', 'Default' => 0), 87 87 'Sequence' => array('Type' => 'TDocumentLineSequenceListYear', 'Caption' => 'Čísleníky', 'Default' => ''), 88 ), 89 //'AfterInsert' => array($this, 'AfterInsertFinanceYear'), 90 ), 91 'FinanceYearReport' => array( 92 'Title' => 'Roční výkaz', 93 'Table' => 'FinanceYearReport', 94 'SQL' => 'SELECT Id, DateEnd, DateStart FROM FinanceYear', 95 'DefaultSortColumn' => 'Id', 96 'Items' => array( 97 'Id' => array('Type' => 'TFinanceYear', 'Caption' => 'Rok', 'Default' => '', 98 'ReadOnly' => true), 88 99 'Income' => array('Type' => 'Integer', 'Caption' => 'Příjmy', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true, 89 100 'SQL' => '(SELECT ROUND(SUM(`FinanceOperation`.`Value`)) FROM `FinanceOperation` WHERE (`FinanceOperation`.`Time` <= `DateEnd`) '. 90 'AND (`FinanceOperation`.`Time` >= `DateStart`) AND (`FinanceOperation`.` Taxable` = 1) AND (`FinanceOperation`.`Value` > 0))'),101 'AND (`FinanceOperation`.`Time` >= `DateStart`) AND (`FinanceOperation`.`Value` > 0))'), 91 102 'Spending' => array('Type' => 'Integer', 'Caption' => 'Výdaje', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true, 92 103 'SQL' => '(SELECT -ROUND(SUM(`FinanceOperation`.`Value`)) FROM `FinanceOperation` WHERE (`FinanceOperation`.`Time` <= `DateEnd`) '. 104 'AND (`FinanceOperation`.`Time` >= `DateStart`) AND (`FinanceOperation`.`Value` < 0))'), 105 'OperationBalance' => array('Type' => 'Integer', 'Caption' => 'Zisk', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true, 106 'SQL' => '(SELECT ROUND(SUM(`FinanceOperation`.`Value`)) FROM `FinanceOperation` WHERE (`FinanceOperation`.`Time` <= `DateEnd`) '. 107 'AND (`FinanceOperation`.`Time` >= `DateStart`))'), 108 'TaxIncome' => array('Type' => 'Integer', 'Caption' => 'Daňové příjmy', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true, 109 'SQL' => '(SELECT ROUND(SUM(`FinanceOperation`.`Value`)) FROM `FinanceOperation` WHERE (`FinanceOperation`.`Time` <= `DateEnd`) '. 110 'AND (`FinanceOperation`.`Time` >= `DateStart`) AND (`FinanceOperation`.`Taxable` = 1) AND (`FinanceOperation`.`Value` > 0))'), 111 'TaxSpending' => array('Type' => 'Integer', 'Caption' => 'Daňové výdaje', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true, 112 'SQL' => '(SELECT -ROUND(SUM(`FinanceOperation`.`Value`)) FROM `FinanceOperation` WHERE (`FinanceOperation`.`Time` <= `DateEnd`) '. 93 113 'AND (`FinanceOperation`.`Time` >= `DateStart`) AND (`FinanceOperation`.`Taxable` = 1) AND (`FinanceOperation`.`Value` < 0))'), 94 ' OperationBalance' => array('Type' => 'Integer', 'Caption' => 'Zisk', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true,114 'TaxBase' => array('Type' => 'Integer', 'Caption' => 'Základ daně', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true, 95 115 'SQL' => '(SELECT ROUND(SUM(`FinanceOperation`.`Value`)) FROM `FinanceOperation` WHERE (`FinanceOperation`.`Time` <= `DateEnd`) '. 96 116 'AND (`FinanceOperation`.`Time` >= `DateStart`) AND (`FinanceOperation`.`Taxable` = 1))'), … … 233 253 'Filter' => '1', 234 254 ), 255 'TContract' => array( 256 'Type' => 'Reference', 257 'Table' => 'Contract', 258 'Id' => 'Id', 259 'Name' => 'BillCode', 260 'Filter' => '1', 261 ), 262 'TEmployee' => array( 263 'Type' => 'Reference', 264 'Table' => 'Employee', 265 'Id' => 'Id', 266 'Name' => 'CONCAT(FirstName, " ", SecondName)', 267 'Filter' => '1', 268 ), 269 'TEmployeeSalaryList' => array( 270 'Type' => 'ManyToOne', 271 'Table' => 'EmployeeSalary', 272 'Id' => 'Id', 273 'Ref' => 'Employee', 274 'Filter' => '1', 275 ), 235 276 'TMemberListSubject' => array( 236 277 'Type' => 'ManyToOne', -
trunk/Common/Form/Form.php
r639 r647 162 162 } 163 163 $Columns = implode(',', $Columns); 164 $DbResult = $this->Database->query('SELECT '.$Columns.' FROM `'.$this->Definition['Table'].'` AS `T` WHERE `T`.`Id`='.$Id); 164 if(array_key_exists('SQL', $this->Definition)) 165 $SourceTable = '('.$this->Definition['SQL'].') AS `TX`'; 166 else $SourceTable = '`'.$this->Definition['Table'].'` AS `TX`'; 167 $DbResult = $this->Database->query('SELECT '.$Columns.' FROM '.$SourceTable.' WHERE `TX`.`Id`='.$Id); 165 168 $DbRow = $DbResult->fetch_array(); 166 169 foreach($this->Definition['Items'] as $Index => $Item) -
trunk/Common/Form/Types/OneToMany.php
r639 r647 80 80 $Output = '`'.$Item['Name'].'`, (SELECT '.$Type['Parameters']['Name'].''. 81 81 ' AS `Name` FROM '.$Table.' WHERE `'. 82 $Type['Parameters']['Id'].'`=` '.$Item['Name'].'`) AS `'.$Item['Name'].'_Filter`';82 $Type['Parameters']['Id'].'`=`TX`.`'.$Item['Name'].'`) AS `'.$Item['Name'].'_Filter`'; 83 83 //} else $Output = '`'.$Item['Name'].'`, `'.$Item['Name'].'` AS `'.$Item['Name'].'_Filter`'; 84 84 return($Output); -
trunk/Common/Setup/Updates.php
r646 r647 612 612 } 613 613 614 function UpdateTo647($Manager) 615 { 616 $Manager->Execute('ALTER TABLE `EmployeeSalary` ADD FOREIGN KEY ( `Employee` ) REFERENCES `Employee` ( 617 `Id` 618 ) ON DELETE RESTRICT ON UPDATE RESTRICT ;'); 619 $Manager->Execute('ALTER TABLE `EmployeeSalary` ADD `Contract` INT NOT NULL , 620 ADD INDEX ( `Contract` ) ;'); 621 $Manager->Execute('ALTER TABLE `EmployeeSalary` ADD FOREIGN KEY ( `Contract` ) REFERENCES `Contract` ( 622 `Id`) ON DELETE RESTRICT ON UPDATE RESTRICT ;'); 623 $Manager->Execute("INSERT INTO `Action` ( 624 `Id` ,`Name` ,`Title` ,`Type` ,`URL` ,`Group` ,`Icon` ,`PermissionOperation` , 625 `Enable`) VALUES (NULL , '', 'Zaměstnanci', '1', '/is/?t=Employee&a=list', NULL , NULL , NULL , '1' 626 );"); 627 $ActionId = $Manager->Database->insert_id; 628 $Manager->Execute("INSERT INTO `MenuItem` (`Id` ,`Name` ,`Parent` ,`Action` ,`Menu`) ". 629 "VALUES (NULL , 'Zaměstnanci', '2', '".$ActionId."', '1');"); 630 $Manager->Execute("INSERT INTO `MenuItem` (`Id` ,`Name` ,`Parent` ,`Action` ,`Menu`) ". 631 "VALUES (NULL , 'Roční výkazy', '2', NULL, '1');"); 632 $MenuId = $Manager->Database->insert_id; 633 $Manager->Execute("INSERT INTO `Action` ( 634 `Id` ,`Name` ,`Title` ,`Type` ,`URL` ,`Group` ,`Icon` ,`PermissionOperation` , 635 `Enable`) VALUES (NULL , '', 'Roční přehled', '1', '/is/?t=FinanceYearReport&a=list', NULL , NULL , NULL , '1' 636 );"); 637 $ActionId = $Manager->Database->insert_id; 638 $Manager->Execute("INSERT INTO `MenuItem` (`Id` ,`Name` ,`Parent` ,`Action` ,`Menu`) ". 639 "VALUES (NULL , 'Roční přehled', '".$MenuId."', '".$ActionId."', '1');"); 640 $Manager->Execute("INSERT INTO `Action` ( 641 `Id` ,`Name` ,`Title` ,`Type` ,`URL` ,`Group` ,`Icon` ,`PermissionOperation` , 642 `Enable`) VALUES (NULL , '', 'Výkaz subjektů', '1', '/is/?t=SubjectReport&a=list', NULL , NULL , NULL , '1' 643 );"); 644 $ActionId = $Manager->Database->insert_id; 645 $Manager->Execute("INSERT INTO `MenuItem` (`Id` ,`Name` ,`Parent` ,`Action` ,`Menu`) ". 646 "VALUES (NULL , 'Výkaz subjektů', '".$MenuId."', '".$ActionId."', '1');"); 647 } 648 614 649 615 650 class Updates … … 651 686 633 => array('Revision' => 645, 'Function' => 'UpdateTo645'), 652 687 645 => array('Revision' => 646, 'Function' => 'UpdateTo646'), 688 646 => array('Revision' => 647, 'Function' => 'UpdateTo647'), 653 689 )); 654 690 } -
trunk/Modules/Finance/Finance.php
r646 r647 502 502 'BeforeInsert' => array($this, 'BeforeInsertFinanceOperation'), 503 503 )); 504 $this->System->FormManager->RegisterClass('Employee', array( 505 'Title' => 'Zaměstnanci', 506 'Table' => 'Employee', 507 'Items' => array( 508 'FirstName' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''), 509 'SecondName' => array('Type' => 'String', 'Caption' => 'Příjmení', 'Default' => ''), 510 'Salary' => array('Type' => 'Integer', 'Caption' => 'Pevná mzda', 'Default' => '0', 'Suffix' => 'Kč'), 511 'ValidFrom' => array('Type' => 'Date', 'Caption' => 'Platnost od', 'Default' => ''), 512 'ValidTo' => array('Type' => 'Date', 'Caption' => 'Platnost do', 'Default' => '', 'Null' => true), 513 'SalaryList' => array('Type' => 'TEmployeeSalaryList', 'Caption' => 'Mzda', 'Default' => ''), 514 ), 515 )); 516 $this->System->FormManager->RegisterClass('EmployeeSalary', array( 517 'Title' => 'Výplaty zaměstnanců', 518 'Table' => 'EmployeeSalary', 519 'Items' => array( 520 'Date' => array('Type' => 'Date', 'Caption' => 'Datum', 'Default' => ''), 521 'Employee' => array('Type' => 'TEmployee', 'Caption' => 'Zaměstnance', 'Default' => ''), 522 'Amount' => array('Type' => 'Integer', 'Caption' => 'Částka', 'Default' => '0', 'Suffix' => 'Kč'), 523 'Contract' => array('Type' => 'TContract', 'Caption' => 'Smlouva', 'Default' => ''), 524 ), 525 'BeforeInsert' => array($this, 'BeforeInsertFinanceOperation'), 526 )); 504 527 505 528 $this->System->AddModule(new Bill($this->System)); -
trunk/Modules/IS/IS.php
r646 r647 74 74 function ShowEdit($Table, $Id) 75 75 { 76 $this->ShortTitle .= ' - Úprava '.$Table; 76 77 $Output = ''; 77 78 if(defined('NEW_PERMISSION') and !$this->System->User->CheckPermission($this->TableToModule($Table), 'Write')) … … 84 85 $Form->SetClass($Table); 85 86 $Form->LoadValuesFromForm(); 87 $this->ShortTitle .= ' - úprava '.$Form->Definition['Title']; 86 88 try { 87 89 $Form->Validate(); … … 111 113 $Form->SetClass($Table); 112 114 $Form->LoadValuesFromDatabase($Id); 115 $this->ShortTitle .= ' - úprava '.$Form->Definition['Title']; 113 116 $Form->OnSubmit = '?a=edit&t='.$Table.'&i='.$_GET['i'].'&o=save'; 114 117 $Output .= $Form->ShowEditForm(); … … 130 133 if(defined('NEW_PERMISSION') and !$this->System->User->CheckPermission($this->TableToModule($Table), 'Write')) 131 134 return('Nemáte oprávnění'); 135 $this->ShortTitle .= ' - odstranění '.$Table; 132 136 $DbResult = $this->Database->select($Table, '*', '`Id`='.$Id); 133 137 if($DbResult->num_rows > 0) … … 160 164 $Form->SetClass($Table); 161 165 $Form->LoadValuesFromForm(); 166 $this->ShortTitle .= ' - přidání '.$Form->Definition['Title']; 162 167 try { 163 168 $Form->Validate(); … … 209 214 $Form = new Form($this->System->FormManager); 210 215 $Form->SetClass($Table); 216 $this->ShortTitle .= ' - přidání '.$Form->Definition['Title']; 211 217 // Load presets from URL 212 218 foreach($_GET as $Key => $Value) … … 252 258 $Form = new Form($this->System->FormManager); 253 259 $Form->SetClass($Table); 260 $this->ShortTitle .= ' - položka '.$Form->Definition['Title']; 254 261 $Form->LoadValuesFromDatabase($Id); 255 262 $Form->OnSubmit = '?a=view'; … … 302 309 if($Table != '') $FormClass = $this->System->FormManager->Classes[$Table]; 303 310 else return($this->SystemMessage('Chyba', 'Tabulka nenalezena')); 311 312 if(array_key_exists('SQL', $FormClass)) 313 $SourceTable = '('.$FormClass['SQL'].') AS `TX`'; 314 else $SourceTable = '`'.$FormClass['Table'].'` AS `TX`'; 304 315 305 316 // Build user filter … … 359 370 360 371 if(!array_key_exists('SQL', $FormItem)) $FormItem['SQL'] = ''; 361 else $FormItem['SQL'] = str_replace('#Id', '` '.$FormClass['Table'].'`.`Id`', $FormItem['SQL']);372 else $FormItem['SQL'] = str_replace('#Id', '`TX`.`Id`', $FormItem['SQL']); 362 373 $Columns[] = $this->System->FormManager->Type->ExecuteTypeEvent($UseType, 'OnFilterNameQuery', 363 374 array('Value' => $Value, 'Name' => $ItemIndex, … … 366 377 367 378 // Get total item count in database 368 $Query = 'SELECT COUNT(*) FROM `'.$FormClass['Table'].'`';379 $Query = 'SELECT COUNT(*) FROM '.$SourceTable; 369 380 $DbResult = $this->Database->query($Query); 370 381 $DbRow = $DbResult->fetch_assoc(); … … 375 386 if($Filter != '') 376 387 { 377 $Query = 'SELECT COUNT(*) FROM (SELECT '.$Columns.' FROM `'.$FormClass['Table'].'`) AS `TS` '.$Filter;388 $Query = 'SELECT COUNT(*) FROM (SELECT '.$Columns.' FROM '.$SourceTable.') AS `TS` '.$Filter; 378 389 $DbResult = $this->Database->query($Query); 379 390 $DbRow = $DbResult->fetch_row(); … … 410 421 411 422 // Load and show items 412 $Query = 'SELECT * FROM (SELECT '.$Columns.' FROM `'.$FormClass['Table'].'`) AS `TS` '.423 $Query = 'SELECT * FROM (SELECT '.$Columns.' FROM '.$SourceTable.') AS `TS` '. 413 424 $Filter.' '.$Order['SQL'].$PageList['SQLLimit']; 414 425 $VisibleItemCount = 0; -
trunk/Modules/Network/Network.php
r624 r647 155 155 'WHERE `FinanceOperation`.`Subject`=#Id) - (SELECT SUM(`FinanceInvoice`.`Value`) FROM `FinanceInvoice` '. 156 156 'WHERE `FinanceInvoice`.`Subject`=#Id)'), 157 ), 158 )); 159 $this->System->FormManager->RegisterClass('SubjectReport', array( 160 'Title' => 'Přehled subjektů', 161 'Table' => 'SubjectReport', 162 'DefaultSortColumn' => 'Id', 163 'SQL' => '(SELECT Id FROM Subject)', 164 'Items' => array( 165 'Id' => array('Type' => 'TSubject', 'Caption' => 'Subjekt', 'Default' => '', 'ReadOnly' => true), 166 'Income' => array('Type' => 'Integer', 'Caption' => 'Příjmy', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true, 167 'SQL' => '(SELECT ROUND(SUM(`FinanceOperation`.`Value`)) FROM `FinanceOperation` WHERE (`FinanceOperation`.`Subject` = TX.`Id`) '. 168 'AND (`FinanceOperation`.`Value` > 0))'), 169 'Spending' => array('Type' => 'Integer', 'Caption' => 'Výdaje', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true, 170 'SQL' => '(SELECT -ROUND(SUM(`FinanceOperation`.`Value`)) FROM `FinanceOperation` WHERE (`FinanceOperation`.`Subject` = TX.`Id`) '. 171 'AND (`FinanceOperation`.`Value` < 0))'), 172 'OperationBalance' => array('Type' => 'Integer', 'Caption' => 'Zisk', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true, 173 'SQL' => '(SELECT ROUND(SUM(`FinanceOperation`.`Value`)) FROM `FinanceOperation` WHERE (`FinanceOperation`.`Subject` = TX.`Id`) '. 174 ')'), 157 175 ), 158 176 ));
Note:
See TracChangeset
for help on using the changeset viewer.