mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-05-18 17:31:35 +00:00
Status- und Herstellerinformationen in Readable Assembly-Exports hinzufügen.
This commit is contained in:
parent
a126a8f7b6
commit
66c905738d
4 changed files with 34 additions and 14 deletions
|
|
@ -237,6 +237,7 @@ class AssemblyPartAggregator
|
|||
$result = [
|
||||
'name' => $assembly->getName(),
|
||||
'ipn' => $assembly->getIpn(),
|
||||
'status' => $assembly->getStatus() ?? '-',
|
||||
'quantity' => $quantity,
|
||||
'multiplier' => $depth === 0 ? null : $parentMultiplier,
|
||||
'parts' => [],
|
||||
|
|
@ -249,6 +250,7 @@ class AssemblyPartAggregator
|
|||
$result['parts'][] = [
|
||||
'name' => $bomEntry->getPart()->getName(),
|
||||
'ipn' => $bomEntry->getPart()->getIpn(),
|
||||
'manufacturer' => $bomEntry->getPart()->getManufacturer()?->getName() ?? '-',
|
||||
'quantity' => $bomEntry->getQuantity(),
|
||||
'effectiveQuantity' => $bomEntry->getQuantity() * $parentMultiplier,
|
||||
];
|
||||
|
|
@ -262,8 +264,10 @@ class AssemblyPartAggregator
|
|||
} else {
|
||||
$result['others'][] = [
|
||||
'name' => $bomEntry->getName(),
|
||||
'ipn' => '-',
|
||||
'quantity' => $bomEntry->getQuantity(),
|
||||
'multiplier' => $parentMultiplier,
|
||||
'effectiveQuantity' => $bomEntry->getQuantity() * $parentMultiplier,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -431,19 +431,20 @@ class EntityExporter
|
|||
],
|
||||
Assembly::class => [
|
||||
'header' => [
|
||||
'Id', 'ParentId', 'Type', 'AssemblyIpn', 'AssemblyNameHierarchical', 'AssemblyName',
|
||||
'Id', 'ParentId', 'Type', 'AssemblyIpn', 'AssemblyStatus', 'AssemblyNameHierarchical', 'AssemblyName',
|
||||
'AssemblyFullName',
|
||||
|
||||
//BOM relevant attributes
|
||||
'Quantity', 'PartId', 'PartName', 'Ipn', 'Manufacturer', 'Mpn', 'Name', 'Designator',
|
||||
'Description', 'ReferencedAssemblyId', 'ReferencedAssemblyIpn',
|
||||
'Description', 'ReferencedAssemblyId', 'ReferencedAssemblyIpn', 'ReferencedAssemblyStatus',
|
||||
'ReferencedAssemblyFullName',
|
||||
],
|
||||
'processEntity' => fn($entity, $depth) => [
|
||||
'processEntity' => fn(Assembly $entity, $depth) => [
|
||||
'Id' => $entity->getId(),
|
||||
'ParentId' => $entity->getParent()?->getId() ?? '',
|
||||
'Type' => 'assembly',
|
||||
'AssemblyIpn' => $entity->getIpn(),
|
||||
'AssemblyStatus' => $entity->getStatus() ?? '-',
|
||||
'AssemblyNameHierarchical' => str_repeat('--', $depth) . ' ' . $entity->getName(),
|
||||
'AssemblyName' => $entity->getName(),
|
||||
'AssemblyFullName' => $this->getFullName($entity),
|
||||
|
|
@ -460,6 +461,7 @@ class EntityExporter
|
|||
'Description' => '-',
|
||||
'ReferencedAssemblyId' => '-',
|
||||
'ReferencedAssemblyIpn' => '-',
|
||||
'ReferencedAssemblyStatus' => '-',
|
||||
'ReferencedAssemblyFullName' => '-',
|
||||
],
|
||||
'processBomEntries' => fn($entity, $depth) => $this->processBomEntriesWithAggregatedParts($entity, $depth),
|
||||
|
|
@ -581,6 +583,7 @@ class EntityExporter
|
|||
'ParentId' => '',
|
||||
'Type' => 'assembly_bom_entry',
|
||||
'AssemblyIpn' => $assembly->getIpn(),
|
||||
'AssemblyStatus' => $bomEntry->getReferencedAssembly() ? $assembly->getStatus() : '-',
|
||||
'AssemblyNameHierarchical' => str_repeat('--', $depth) . '> ' . $assembly->getName(),
|
||||
'AssemblyName' => $assembly->getName(),
|
||||
'AssemblyFullName' => $this->getFullName($assembly),
|
||||
|
|
@ -597,6 +600,7 @@ class EntityExporter
|
|||
'Description' => $bomEntry->getPart()?->getDescription() ?? '-',
|
||||
'ReferencedAssemblyId' => $bomEntry->getReferencedAssembly()?->getId() ?? '-',
|
||||
'ReferencedAssemblyIpn' => $bomEntry->getReferencedAssembly()?->getIpn() ?? '-',
|
||||
'ReferencedAssemblyStatus' => $bomEntry->getReferencedAssembly()?->getStatus() ?? '-',
|
||||
'ReferencedAssemblyFullName' => $this->getFullName($bomEntry->getReferencedAssembly() ?? null),
|
||||
];
|
||||
|
||||
|
|
@ -615,6 +619,7 @@ class EntityExporter
|
|||
'ParentId' => '',
|
||||
'Type' => 'subassembly_part_list',
|
||||
'AssemblyIpn' => $partAssembly ? $partAssembly->getIpn() : '',
|
||||
'AssemblyStatus' => $partAssembly ? $partAssembly->getStatus() : '-',
|
||||
'AssemblyNameHierarchical' => '',
|
||||
'AssemblyName' => $partAssembly ? $partAssembly->getName() : '',
|
||||
'AssemblyFullName' => $this->getFullName($partAssembly),
|
||||
|
|
@ -624,13 +629,14 @@ class EntityExporter
|
|||
'PartId' => $partData['part']?->getId(),
|
||||
'PartName' => $partData['part']?->getName(),
|
||||
'Ipn' => $partData['part']?->getIpn(),
|
||||
'Manufacturer' => $partData['part']?->getManufacturer()?->getName(),
|
||||
'Manufacturer' => $partData['part']?->getManufacturer()?->getName() ?? '-',
|
||||
'Mpn' => $partData['part']?->getManufacturerProductNumber(),
|
||||
'Name' => $partData['name'] ?? '',
|
||||
'Designator' => $partData['designator'],
|
||||
'Description' => $partData['part']?->getDescription(),
|
||||
'ReferencedAssemblyId' => '-',
|
||||
'ReferencedAssemblyIpn' => '-',
|
||||
'ReferencedAssemblyStatus' => '-',
|
||||
'ReferencedAssemblyFullName' => '-',
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
<th>#</th>
|
||||
<th>Assembly Name</th>
|
||||
<th>IPN</th>
|
||||
<th>Status</th>
|
||||
<th>Section</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -36,6 +37,7 @@
|
|||
<td>{{ loop.index }}</td>
|
||||
<td>Assembly: {{ assembly.name }}</td>
|
||||
<td>{% if assembly.ipn != '' %}{{ assembly.ipn }}{% else %}-{% endif %}</td>
|
||||
<td>{{ assembly.status|default('-') }}</td>
|
||||
<td>{{ loop.index + 1 }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
|
@ -45,11 +47,12 @@
|
|||
|
||||
<!-- Assembly Details -->
|
||||
{% for assembly in assemblies %}
|
||||
<div class="assembly-header">Assembly: {{ assembly.name }}</div>
|
||||
<div class="assembly-header">Assembly: {{ assembly.name }} [IPN: {{ assembly.ipn|default('-') }}, Status: {{ assembly.status|default('-') }}]</div>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Manufacturer</th>
|
||||
<th>IPN</th>
|
||||
<th>Quantity</th>
|
||||
<th>Multiplier</th>
|
||||
|
|
@ -60,6 +63,7 @@
|
|||
{% for part in assembly.parts %}
|
||||
<tr>
|
||||
<td>{{ part.name }}</td>
|
||||
<td>{{ part.manufacturer }}</td>
|
||||
<td>{{ part.ipn }}</td>
|
||||
<td>{{ part.quantity }}</td>
|
||||
<td>{% if assembly.multiplier %}{{ assembly.multiplier }}{% else %}-{% endif %}</td>
|
||||
|
|
@ -69,19 +73,21 @@
|
|||
{% for other in assembly.others %}
|
||||
<tr>
|
||||
<td>{{ other.name }}</td>
|
||||
<td>{{ other.ipn }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ other.ipn|default('-') }}</td>
|
||||
<td>{{ other.quantity }}</td>
|
||||
<td>{{ other.multiplier }}</td>
|
||||
<td>{{ other.effectiveQuantity }}</td>
|
||||
<td>{{ other.effectiveQuantity|default('-') }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% for referencedAssembly in assembly.referencedAssemblies %}
|
||||
<tr>
|
||||
<td>{{ referencedAssembly.name }}</td>
|
||||
<td>{{ referencedAssembly.ipn }}</td>
|
||||
<td>{{ referencedAssembly.quantity }}</td>
|
||||
<td></td>
|
||||
<td>-</td>
|
||||
<td>{{ referencedAssembly.ipn|default('-') }}</td>
|
||||
<td>{{ referencedAssembly.quantity }}</td>
|
||||
<td>{{ referencedAssembly.multiplier|default('-') }}</td>
|
||||
<td>{{ (referencedAssembly.quantity * (referencedAssembly.multiplier|default(1)))|default(referencedAssembly.quantity) }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
<div class="referenced-assembly-table">
|
||||
<div class="assembly-header">Referenced Assembly: {{ assembly.name }} [IPN: {% if assembly.ipn != '' %}{{ assembly.ipn }}{% else %}-{% endif %}, quantity: {{ assembly.quantity }}]</div>
|
||||
<div class="assembly-header">Referenced Assembly: {{ assembly.name }} [IPN: {{ assembly.ipn|default('-') }}, Status: {{ assembly.status|default('-') }}, quantity: {{ assembly.quantity }}]</div>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Type</th>
|
||||
<th>Name</th>
|
||||
<th>Manufacturer</th>
|
||||
<th>IPN</th>
|
||||
<th>Quantity</th>
|
||||
<th>Multiplier</th>
|
||||
|
|
@ -17,6 +18,7 @@
|
|||
<tr>
|
||||
<td>Part</td>
|
||||
<td>{{ part.name }}</td>
|
||||
<td>{{ part.manufacturer }}</td>
|
||||
<td>{{ part.ipn }}</td>
|
||||
<td>{{ part.quantity }}</td>
|
||||
<td>{% if assembly.multiplier %}{{ assembly.multiplier }}{% else %}-{% endif %}</td>
|
||||
|
|
@ -29,9 +31,10 @@
|
|||
<td>Other</td>
|
||||
<td>{{ other.name }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ other.ipn|default('-') }}</td>
|
||||
<td>{{ other.quantity }}</td>
|
||||
<td>{{ other.multiplier }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ other.effectiveQuantity|default('-') }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
|
|
@ -40,9 +43,10 @@
|
|||
<td>Referenced assembly</td>
|
||||
<td>{{ referencedAssembly.name }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ referencedAssembly.ipn|default('-') }}</td>
|
||||
<td>{{ referencedAssembly.quantity }}</td>
|
||||
<td></td>
|
||||
<td>{{ referencedAssembly.multiplier }}</td>
|
||||
<td>{{ referencedAssembly.multiplier|default('-') }}</td>
|
||||
<td>{{ (referencedAssembly.quantity * (referencedAssembly.multiplier|default(1)))|default(referencedAssembly.quantity) }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue