mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-01-11 20:59:36 +00:00
BOMImporter und AssemblyBomEntriesDataTable: Mountnames hinzugefügt
Die Verarbeitung der Designators im BOMImporter wurde ergänzt, um Mountnames zu setzen. Zudem wurden neue Spalten wie Kategorie, Footprint, Hersteller und Mountnames in der AssemblyBomEntriesDataTable hinzugefügt. Dies verbessert die Darstellung und Handhabung von Bauteildaten in der Stücklisten-Ansicht.
This commit is contained in:
parent
c1cb8439c4
commit
ff00ae98db
2 changed files with 58 additions and 0 deletions
|
|
@ -22,6 +22,7 @@ declare(strict_types=1);
|
|||
*/
|
||||
namespace App\DataTables;
|
||||
|
||||
use App\DataTables\Column\EntityColumn;
|
||||
use App\DataTables\Column\LocaleDateTimeColumn;
|
||||
use App\DataTables\Column\MarkdownColumn;
|
||||
use App\DataTables\Helpers\AssemblyDataTableHelper;
|
||||
|
|
@ -146,6 +147,54 @@ class AssemblyBomEntriesDataTable implements DataTableTypeInterface
|
|||
return $context->getComment();
|
||||
},
|
||||
])
|
||||
->add('category', EntityColumn::class, [
|
||||
'label' => $this->translator->trans('part.table.category'),
|
||||
'property' => 'part.category',
|
||||
'orderField' => 'NATSORT(category.name)',
|
||||
])
|
||||
->add('footprint', EntityColumn::class, [
|
||||
'property' => 'part.footprint',
|
||||
'label' => $this->translator->trans('part.table.footprint'),
|
||||
'orderField' => 'NATSORT(footprint.name)',
|
||||
])
|
||||
->add('manufacturer', EntityColumn::class, [
|
||||
'property' => 'part.manufacturer',
|
||||
'label' => $this->translator->trans('part.table.manufacturer'),
|
||||
'orderField' => 'NATSORT(manufacturer.name)',
|
||||
])
|
||||
->add('mountnames', TextColumn::class, [
|
||||
'label' => 'assembly.bom.mountnames',
|
||||
'render' => function ($value, AssemblyBOMEntry $context) {
|
||||
$html = '';
|
||||
|
||||
foreach (explode(',', $context->getMountnames()) as $mountname) {
|
||||
$html .= sprintf('<span class="badge badge-secondary bg-secondary">%s</span> ', htmlspecialchars($mountname));
|
||||
}
|
||||
return $html;
|
||||
},
|
||||
])
|
||||
->add('instockAmount', TextColumn::class, [
|
||||
'label' => 'assembly.bom.instockAmount',
|
||||
'visible' => false,
|
||||
'render' => function ($value, AssemblyBOMEntry $context) {
|
||||
if ($context->getPart() !== null) {
|
||||
return $this->partDataTableHelper->renderAmount($context->getPart());
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
])
|
||||
->add('storageLocations', TextColumn::class, [
|
||||
'label' => 'part.table.storeLocations',
|
||||
'visible' => false,
|
||||
'render' => function ($value, AssemblyBOMEntry $context) {
|
||||
if ($context->getPart() !== null) {
|
||||
return $this->partDataTableHelper->renderStorageLocations($context->getPart());
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
])
|
||||
->add('addedDate', LocaleDateTimeColumn::class, [
|
||||
'label' => $this->translator->trans('part.table.addedDate'),
|
||||
])
|
||||
|
|
|
|||
|
|
@ -575,6 +575,11 @@ class BOMImporter
|
|||
$this->processPart($importObject, $entry, $result, $key, self::IMPORT_TYPE_CSV);
|
||||
} else {
|
||||
$bomEntry = $this->getOrCreateBomEntry($importObject, $entry['name'] ?? null);
|
||||
|
||||
if (isset($entry['designator'])) {
|
||||
$bomEntry->setMountnames(trim($entry['designator']) === '' ? '' : trim($entry['designator']));
|
||||
}
|
||||
|
||||
$bomEntry->setQuantity((float) $entry['quantity'] ?? 0);
|
||||
|
||||
$result->addBomEntry($bomEntry);
|
||||
|
|
@ -863,6 +868,10 @@ class BOMImporter
|
|||
$bomEntry->setName(null);
|
||||
}
|
||||
|
||||
if (isset($entry['designator'])) {
|
||||
$bomEntry->setMountnames(trim($entry['designator']) === '' ? '' : trim($entry['designator']));
|
||||
}
|
||||
|
||||
$bomEntry->setPart($part);
|
||||
|
||||
$result->addBomEntry($bomEntry);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue