fxied vat calculation

This commit is contained in:
Luca Haid
2026-01-26 15:44:35 +01:00
parent 6f01440bc9
commit e8002d184f
10 changed files with 224 additions and 124 deletions

View File

@@ -0,0 +1,33 @@
<?php
declare(strict_types=1);
use Phinx\Migration\AbstractMigration;
final class WarehousearticleRenameRevenueaccountToVatgroupid extends AbstractMigration
{
public function up(): void
{
if($this->getEnvironment() == "thetool") {
$this->execute("ALTER TABLE warehousearticle CHANGE revenueAccount vatgroup_id INT(11) NOT NULL DEFAULT 2");
$this->execute("UPDATE warehousearticle SET vatgroup_id = CASE
WHEN vatgroup_id = 0 THEN 2
WHEN vatgroup_id = 1 THEN 3
ELSE vatgroup_id
END");
}
}
public function down(): void
{
if($this->getEnvironment() == "thetool") {
$this->execute("UPDATE warehousearticle SET vatgroup_id = CASE
WHEN vatgroup_id = 2 THEN 0
WHEN vatgroup_id = 3 THEN 1
ELSE vatgroup_id
END");
$this->execute("ALTER TABLE warehousearticle CHANGE vatgroup_id revenueAccount INT(11) NOT NULL DEFAULT 0");
}
}
}

View File

@@ -0,0 +1,58 @@
<?php
declare(strict_types=1);
use Phinx\Migration\AbstractMigration;
final class ManualinvoiceColumnCleanup extends AbstractMigration
{
public function up(): void
{
if($this->getEnvironment() == "thetool") {
$position = $this->table("ManualInvoiceposition");
if ($position->hasColumn("billing_id")) {
$position->removeColumn("billing_id")->save();
}
if ($position->hasColumn("contract_id")) {
$position->removeColumn("contract_id")->save();
}
// ManualInvoiceposition: Rename columns
$this->execute("ALTER TABLE manualinvoiceposition CHANGE product_id warehousearticle_id INT(11) NOT NULL");
$this->execute("ALTER TABLE manualinvoiceposition CHANGE product_name warehousearticle_name VARCHAR(255) NOT NULL");
$invoice = $this->table("ManualInvoice");
if ($invoice->hasColumn("billing_delivery")) {
$invoice->removeColumn("billing_delivery")->save();
}
$this->execute("ALTER TABLE manualinvoice CHANGE leistungszeitraum performance_period VARCHAR(255) NULL");
$this->execute("ALTER TABLE manualinvoice CHANGE einleitender_text introductory_text TEXT NULL");
$this->execute("ALTER TABLE manualinvoice CHANGE externe_referenz external_reference VARCHAR(255) NULL");
$this->execute("ALTER TABLE manualinvoice CHANGE gesamtrabatt total_discount DECIMAL(6,2) NOT NULL DEFAULT 0.00");
}
}
public function down(): void
{
if($this->getEnvironment() == "thetool") {
$this->execute("ALTER TABLE manualinvoice CHANGE performance_period leistungszeitraum VARCHAR(255) NULL");
$this->execute("ALTER TABLE manualinvoice CHANGE introductory_text einleitender_text TEXT NULL");
$this->execute("ALTER TABLE manualinvoice CHANGE external_reference externe_referenz VARCHAR(255) NULL");
$this->execute("ALTER TABLE manualinvoice CHANGE total_discount gesamtrabatt DECIMAL(6,2) NOT NULL DEFAULT 0.00");
$invoice = $this->table("ManualInvoice");
$invoice->addColumn("billing_delivery", "enum", [
"null" => false,
"values" => ["email", "paper"],
"after" => "billing_type"
])->save();
$this->execute("ALTER TABLE manualinvoiceposition CHANGE warehousearticle_id product_id INT(11) NOT NULL");
$this->execute("ALTER TABLE manualinvoiceposition CHANGE warehousearticle_name product_name VARCHAR(255) NOT NULL");
$position = $this->table("ManualInvoiceposition");
$position->addColumn("billing_id", "integer", ["null" => true, "after" => "position_group"]);
$position->addColumn("contract_id", "integer", ["null" => false, "after" => "billing_id"]);
$position->save();
}
}
}