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
|
public function create(array $data): Cutting
|
||||||
{
|
{
|
||||||
|
return DB::transaction(function () use ($data) {
|
||||||
foreach ($data['materials'] as $materialData) {
|
foreach ($data['materials'] as $materialData) {
|
||||||
$usage = (int) ($materialData['material_usage'] ?? 0);
|
$usage = (int) ($materialData['material_usage'] ?? 0);
|
||||||
if ($usage <= 0) {
|
if ($usage <= 0) {
|
||||||
@ -161,7 +162,6 @@ public function create(array $data): Cutting
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return DB::transaction(function () use ($data) {
|
|
||||||
$cutting = Cutting::create([
|
$cutting = Cutting::create([
|
||||||
'created_by_id' => auth()->id(),
|
'created_by_id' => auth()->id(),
|
||||||
'status' => 'in_progress',
|
'status' => 'in_progress',
|
||||||
@ -247,6 +247,7 @@ public function create(array $data): Cutting
|
|||||||
|
|
||||||
public function update(Cutting $cutting, array $data): Cutting
|
public function update(Cutting $cutting, array $data): Cutting
|
||||||
{
|
{
|
||||||
|
return DB::transaction(function () use ($cutting, $data) {
|
||||||
$cutting->load(['cuttingMaterials.rawMaterialPrice']);
|
$cutting->load(['cuttingMaterials.rawMaterialPrice']);
|
||||||
|
|
||||||
foreach ($cutting->cuttingMaterials as $oldMaterial) {
|
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->load(['cuttingMaterials', 'cuttingMaterialCombinations', 'cuttingResults']);
|
||||||
|
|
||||||
$cutting->cuttingResults()->delete();
|
$cutting->cuttingResults()->delete();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user