diff --git a/app/Controllers/Sales.php b/app/Controllers/Sales.php index 3471c6c..617c45c 100644 --- a/app/Controllers/Sales.php +++ b/app/Controllers/Sales.php @@ -114,13 +114,23 @@ $data['product']=$product; $unitprice=$this->request->getPost('unit-price'); $sales_product_id = $this->request->getPost('sales_order_product_id'); // print_r($product_ids);die; + +// print_r($status);die; +$status = $this->request->getPost('status'); foreach ($product_ids as $key => $product_id) { $qty = isset($quantities[$key]) ? $quantities[$key] : 0; + if ($status == 'InvoiceGenerated') { + // echo"hello";die; + // Calculate updated quantity and update Product table + $this->updateProductQuantity($ProductModel, $product_id, $qty); + } + $discount = isset($discounts[$key]) ? $discounts[$key] : 0; $discount_type = isset($discount_types[$key]) ? $discount_types[$key] : ''; $tax=isset($itemtax[$key]) ? $itemtax[$key] : 0; $rate=isset($unitprice[$key]) ? $unitprice[$key] : 0; $amount = isset($amounts[$key]) ? $amounts[$key] : 0; + // $new_qty = $this->calculateUpdatedQuantity($ProductModel, $product_id, $qty); // print_r($discount_type);die; $product_data = [ 'sales_order_id' => $sales_order_id, @@ -147,6 +157,19 @@ $data['product']=$product; return redirect()->to('sales_order_index'); } + +private function updateProductQuantity($ProductModel, $product_id, $sold_qty) +{ + // Fetch current product quantity + $product = $ProductModel->find($product_id); + $current_qty = $product['qty_stock']; + + // Calculate updated quantity + $new_qty = $current_qty - $sold_qty; + + // Update quantity in Product table + $ProductModel->update($product_id, ['qty_stock' => $new_qty]); +} public function delete_sales_product() { $sales_order_product_id = $this->request->getPost('sales_order_product_id'); diff --git a/app/Models/ProductModel.php b/app/Models/ProductModel.php index c010cf3..bc4c204 100644 --- a/app/Models/ProductModel.php +++ b/app/Models/ProductModel.php @@ -5,7 +5,7 @@ class ProductModel extends Model { protected $table = 'products'; protected $primaryKey = 'product_id'; - protected $allowedFields = ['product_id','product_name','search_tag','product_category','mfr_part_no','serial_no','unit_price','commision_rate','sgst','cgst','purchase_cost','usage_unit','qty','reorder_level','handler','qty_in_demand','product_image','description','isactive']; + protected $allowedFields = ['product_id','product_name','search_tag','product_category','mfr_part_no','serial_no','unit_price','commision_rate','sgst','cgst','purchase_cost','usage_unit','qty_stock','reorder_level','handler','qty_in_demand','product_image','description','isactive']; public function getTax() diff --git a/app/Views/product_form.php b/app/Views/product_form.php index 8dd4a7d..0b1a5ab 100644 --- a/app/Views/product_form.php +++ b/app/Views/product_form.php @@ -74,7 +74,7 @@