Browse Source

joined quantity columns into one and show math. rest if quantities differ

master
Evgeniy Ierusalimov 1 year ago
parent
commit
061ebfa2ca
1 changed files with 14 additions and 4 deletions
  1. 14
    4
      src/Presentation/PortfolioPresenter.php

+ 14
- 4
src/Presentation/PortfolioPresenter.php View File

61
         $table = new Table($output);
61
         $table = new Table($output);
62
         $table->setHeaderTitle("ПОРТФЕЛЬ: {$parsedPortfolio->getHeader()['НачПериода']} - {$parsedPortfolio->getHeader()['КонПериода']}");
62
         $table->setHeaderTitle("ПОРТФЕЛЬ: {$parsedPortfolio->getHeader()['НачПериода']} - {$parsedPortfolio->getHeader()['КонПериода']}");
63
         $table->setHeaders([
63
         $table->setHeaders([
64
-            'ЦБ', 'Кн', 'Кк', 'Цн', 'Цк', 'Сумм', '%'
64
+            'ЦБ', 'Кол-во', 'Цн', 'Цк', 'Сумм', '%'
65
         ]);
65
         ]);
66
 
66
 
67
         foreach ($parsedPortfolio->getDetails() as $detail) {
67
         foreach ($parsedPortfolio->getDetails() as $detail) {
68
             $table->addRow([
68
             $table->addRow([
69
                 $this->getPrintableSecurityTitle($detail),
69
                 $this->getPrintableSecurityTitle($detail),
70
-                $detail['КоличествоНО'],
71
-                $detail['КоличествоКО'],
70
+                $this->formatQuantity($detail),
72
                 $detail['НОЦена'],
71
                 $detail['НОЦена'],
73
                 //$detail['СуммаНКДНО'],
72
                 //$detail['СуммаНКДНО'],
74
                 $detail['КОЦена'],
73
                 $detail['КОЦена'],
139
         return $title;
138
         return $title;
140
     }
139
     }
141
 
140
 
142
-}
141
+    private function formatQuantity(array $detail): string
142
+    {
143
+        if ($detail['КоличествоНО'] == $detail['КоличествоКО']) {
144
+            return $detail['КоличествоНО'];
145
+        } else {
146
+            return ($detail['КоличествоНО'] > 0 ? $detail['КоличествоНО'] . ' ' : '')
147
+                . ($detail['КоличествоКО'] > $detail['КоличествоНО'] ? '+' : '')
148
+                . ($detail['КоличествоКО'] - $detail['КоличествоНО']);
149
+        }
150
+    }
151
+
152
+}

Loading…
Cancel
Save