refactor: streamline material validation and stock management in create and update methods of CuttingService
This commit is contained in:
parent
aaafbb92a2
commit
71128002d7
@ -145,6 +145,7 @@ public function getForEdit(Cutting $cutting): array
|
||||
|
||||
public function create(array $data): Cutting
|
||||
{
|
||||
return DB::transaction(function () use ($data) {
|
||||
foreach ($data['materials'] as $materialData) {
|
||||
$usage = (int) ($materialData['material_usage'] ?? 0);
|
||||
if ($usage <= 0) {
|
||||
@ -161,7 +162,6 @@ public function create(array $data): Cutting
|
||||
}
|
||||
}
|
||||
|
||||
return DB::transaction(function () use ($data) {
|
||||
$cutting = Cutting::create([
|
||||
'created_by_id' => auth()->id(),
|
||||
'status' => 'in_progress',
|
||||
@ -247,6 +247,7 @@ public function create(array $data): Cutting
|
||||
|
||||
public function update(Cutting $cutting, array $data): Cutting
|
||||
{
|
||||
return DB::transaction(function () use ($cutting, $data) {
|
||||
$cutting->load(['cuttingMaterials.rawMaterialPrice']);
|
||||
|
||||
foreach ($cutting->cuttingMaterials as $oldMaterial) {
|
||||
@ -271,7 +272,6 @@ public function update(Cutting $cutting, array $data): Cutting
|
||||
}
|
||||
}
|
||||
|
||||
return DB::transaction(function () use ($cutting, $data) {
|
||||
$cutting->load(['cuttingMaterials', 'cuttingMaterialCombinations', 'cuttingResults']);
|
||||
|
||||
$cutting->cuttingResults()->delete();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user