diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 6b01eb0..9e6c45b 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -42,6 +42,9 @@ $routes->get("new_product/(:any)", "Products::new_product/$1"); $routes->get("delete_product/(:any)", "Products::delete_product/$1"); $routes->post("get_vendors_by_model", "Products::get_vendors_by_model"); $routes->post("get_models", "Products::get_models"); +$routes->get("get_makes", "Products::get_makes"); +$routes->post("save_make", "Products::save_make"); +$routes->post("save_model", "Products::save_model"); //end products// //Sales order // @@ -120,3 +123,5 @@ $routes->get("new_purchase/(:any)", "Purchase::new_purchase/$1"); $routes->get('get_vendor/(:any)', 'Purchase::get_vendor/$1'); $routes->post("add_purchase", "Purchase::add_purchase"); $routes->get("delete_purchase/(:any)", "Purchase::delete_purchase/$1"); +// Reorder Level// +$routes->get('reorder_level_index', 'Reorderlevel::reorder_level_index'); diff --git a/app/Controllers/Client.php b/app/Controllers/Client.php index a4388ac..160be64 100644 --- a/app/Controllers/Client.php +++ b/app/Controllers/Client.php @@ -124,6 +124,7 @@ class Client extends BaseController $data = [ 'client_name' => $this->request->getPost('client_name'), 'mobile_no' => $this->request->getPost('mobile_no'), + 'client_type' => $this->request->getPost('client_type'), 'branch_id'=> $this->session->get('logged_user_branch_id'), 'city'=>'Chennai', 'state'=>'Tamil Nadu', diff --git a/app/Controllers/Products.php b/app/Controllers/Products.php index c0c33c1..c93149b 100644 --- a/app/Controllers/Products.php +++ b/app/Controllers/Products.php @@ -68,6 +68,7 @@ class Products extends BaseController $ManufacturerModel = new ManufacturerModel(); $data['manufacturers']=$ManufacturerModel->findAll(); $data['page_name']="Add Product"; + $data['vendorsProduct'] =[]; } else if ($product_id !== '0') { $data['page_name']="Edit Product"; $ProductModel = new ProductModel(); @@ -87,6 +88,18 @@ class Products extends BaseController $data['vendors']=$VendorModel->findAll(); $ManufacturerModel = new ManufacturerModel(); $data['manufacturers']=$ManufacturerModel->findAll(); + $vendorIds = json_decode($products['vendor'], true); + $vendors = []; + $VendorModel = new VendorModel(); + foreach ($vendorIds as $vendorId) { + $vendor = $VendorModel->find($vendorId); + if ($vendor) { + $vendors[] = ['id' => $vendor['vendor_id'], 'name' => $vendor['vendor_name']]; + } + } + $data['vendorsProduct'] = $vendors; + // print_r($data['vendors']);die; + $preferredVendorId = $products['prefered_vendor']; // Pass the preferred vendor ID to the view $data['preferredVendorId'] = $preferredVendorId; // print_r($data);die; @@ -239,4 +252,77 @@ public function get_models() return $this->response->setJSON($models); } + + + +public function save_make() { + $response = []; // Initialize an empty array to hold the response data + + // Assuming BikemakeModel and BikemodelsModel are properly defined + + $BikemakeModel = new BikemakeModel(); + $BikemodelsModel = new BikemodelsModel(); + + $make = $this->request->getPost('make'); + $model = $this->request->getPost('model'); + + // Check if both make and model are provided + if (!empty($make) && !empty($model)) { + $data = [ + 'make' => $make + ]; + + // Insert the make into the database + $BikemakeModel->insert($data); + $make_id = $BikemakeModel->getInsertID(); + + $modelData = [ + 'model_name' => $model, + 'make_id' => $make_id, + ]; + + // Insert the model into the database + $BikemodelsModel->insert($modelData); + + // Set success status in the response + $response['success'] = true; + } else { + // If make or model is empty, set success status to false + $response['success'] = false; + } + + // Send JSON response back to the client + return $this->response->setJSON($response); +} +public function get_makes() +{ + $BikeMakeModel = new BikeMakeModel(); // Adjust this according to your actual model name + $makes = $BikeMakeModel->findAll(); + return $this->response->setJSON($makes); +} +public function save_model() { + $response = []; + $BikemodelsModel = new BikemodelsModel(); + + $make_id = $this->request->getPost('make_id'); + $model = $this->request->getPost('modelvalue'); + if (!empty($make_id) && !empty($model)) { + $modelData = [ + 'model_name' => $model, + 'make_id' => $make_id, + ]; + + + $BikemodelsModel->insert($modelData); + + + $response['success'] = true; + } else { + + $response['success'] = false; + } + + + return $this->response->setJSON($response); +} } \ No newline at end of file diff --git a/app/Controllers/Reorderlevel.php b/app/Controllers/Reorderlevel.php new file mode 100644 index 0000000..4a67041 --- /dev/null +++ b/app/Controllers/Reorderlevel.php @@ -0,0 +1,32 @@ +session = session(); + + } + + public function reorder_level_index() + { + + $productModel = new ProductModel(); + $reorder = $productModel->where('qty_stock <= purchase_order_level')->findAll(); + + // print_r($reorder);die; + $data['reorder']=$reorder; + + return view('reorder_level_list',$data); + } +} +?> \ No newline at end of file diff --git a/app/Controllers/Sales.php b/app/Controllers/Sales.php index af2e330..ad5f4a5 100644 --- a/app/Controllers/Sales.php +++ b/app/Controllers/Sales.php @@ -6,7 +6,8 @@ use App\Models\SalesOrderModel; use App\Models\SalesOrderProductModel; use App\Models\ProductModel; use App\Models\ClientModel; -use App\Models\BikeMakeModel; +use App\Models\BikemodelsModel; +use App\Models\BikemakeModel; use App\Models\VehicleModel; use Mpdf\Mpdf; class Sales extends BaseController @@ -16,8 +17,10 @@ class Sales extends BaseController { $this->session = session(); + $this->BikemodelsModel = new BikemodelsModel(); + $this->BikemakeModel = new BikemakeModel(); -} + } public function sales_order_index() { @@ -322,13 +325,38 @@ public function delete_sales_product() // Load ClientModel $VehicleModel = new VehicleModel(); - // Validate inputs - - - // If validation passes, proceed to save the client + if($this->request->getPost('formType') == 'create') + { + $ClientModel = new ClientModel(); + + $client['client_name'] = $this->request->getPost('createclientName'); + $client['mobile_no'] = $this->request->getPost('createclientMobile'); + $client['client_type'] = $this->request->getPost('createclientType'); + $client['branch_id'] = $this->session->get('logged_user_branch_id'); + + $client_id = $ClientModel->insert($client); + + if($client_id){ + + $data = [ + 'client_id' => $client_id, + 'mobile_no' => $this->request->getPost('createclientMobile'), + 'reg_no' => $this->request->getPost('reg_no'), + 'model' => $this->request->getPost('model'), + 'make' => $this->request->getPost('make'), + 'branch_id'=> $this->session->get('logged_user_branch_id'), + 'city'=>'Chennai', + 'state'=>'Tamil Nadu', + 'isactive' => 1 + ]; + + } + + + }else{ + $data = [ 'client_id' => $this->request->getPost('client_id'), - 'mobile_no' => $this->request->getPost('mobile_no'), 'reg_no' => $this->request->getPost('reg_no'), 'model' => $this->request->getPost('model'), @@ -338,6 +366,12 @@ public function delete_sales_product() 'state'=>'Tamil Nadu', 'isactive' => 1 ]; + + + } + + + // Attempt to insert the client data $id = $VehicleModel->insert($data); @@ -359,7 +393,7 @@ public function get_vehicle_products(){ - public function getProducts() +public function getProducts() { // Retrieve make_id and model_id from the request $makeId = $this->request->getPost('make_id'); @@ -376,13 +410,14 @@ public function get_vehicle_products(){ ->where('JSON_CONTAINS(models_id, \'' . $encodedModelId . '\')', null, false) ->findAll(); - -if($product){ + $modelName = $this->BikemodelsModel->where('model_id',$modelId)->get()->getRow()->model_name; + $makeName = $this->BikemakeModel->where('make_id',$makeId)->get()->getRow()->make; + if($product){ // Send JSON response - return $this->response->setJSON($product); + return $this->response->setJSON(['product'=>$product , 'modelName'=>$modelName ,'makeName'=>$makeName] ); } else { // If product is not found, return an empty response or appropriate message - return $this->response->setJSON([]); + return $this->response->setJSON(['product'=>[] , 'modelName'=>$modelName ,'makeName'=>$makeName]); } } // Check if product exists diff --git a/app/Controllers/Vendor.php b/app/Controllers/Vendor.php index a59f33e..16a7961 100644 --- a/app/Controllers/Vendor.php +++ b/app/Controllers/Vendor.php @@ -7,6 +7,7 @@ use App\Models\VendorModel; use App\Models\UsersModel; use App\Models\BikemakeModel; use App\Models\BikemodelsModel; +use App\Models\ManufacturerModel; class Vendor extends BaseController @@ -36,10 +37,13 @@ class Vendor extends BaseController if ($vendor_id === '0') { $data['vendor'] = []; $data['page_name'] = "Add Vendor"; + $ManufacturerModel = new ManufacturerModel(); + $data['manufacturers']=$ManufacturerModel->findAll(); } else { $VendorModel = new VendorModel(); $vendor = $VendorModel->where('vendor_id', $vendor_id)->get()->getRowArray(); - + $ManufacturerModel = new ManufacturerModel(); + $data['manufacturers']=$ManufacturerModel->findAll(); $data['vendor'] = $vendor; $data['page_name'] = "Edit Vendor"; @@ -66,6 +70,7 @@ class Vendor extends BaseController 'state' => $this->request->getPost('state'), 'postal_code' => $this->request->getPost('postalcode'), 'country' => $this->request->getPost('country'), + 'vendortype' => $this->request->getPost('vendortype'), 'category' => $this->request->getPost('category'), 'contact_person_name1' => $this->request->getPost('contact_person_name1'), 'contact_person_name2' => $this->request->getPost('contact_person_name2'), @@ -73,9 +78,10 @@ class Vendor extends BaseController 'contact_person_mobile1' => $this->request->getPost('contact_person_mobile1'), 'contact_person_mobile2' => $this->request->getPost('contact_person_mobile2'), 'contact_person_mobile3' => $this->request->getPost('contact_person_mobile3'), - 'contact_person_resignation1' => $this->request->getPost('contact_person_resignation1'), - 'contact_person_resignation2' => $this->request->getPost('contact_person_resignation2'), - 'contact_person_resignation3' => $this->request->getPost('contact_person_resignation3'), + 'contact_person_designation1' => $this->request->getPost('contact_person_designation1'), + 'contact_person_designation2' => $this->request->getPost('contact_person_designation2'), + 'contact_person_designation3' => $this->request->getPost('contact_person_designation3'), + 'manufacturer_id' => json_encode($this->request->getPost('manufacturer')), 'isactive' => 1 , 'branch_id' => $this->session->get('logged_user_branch_id'), ]; diff --git a/app/Views/layout/header.php b/app/Views/layout/header.php index 75b82cc..e3f0aba 100644 --- a/app/Views/layout/header.php +++ b/app/Views/layout/header.php @@ -174,6 +174,13 @@ Manufacturer +
  • + + + Reorder Level Products + + + get('logged_user_role') == 'Floor Manager' || diff --git a/app/Views/product_form.php b/app/Views/product_form.php index 62f3159..1db817f 100644 --- a/app/Views/product_form.php +++ b/app/Views/product_form.php @@ -1,5 +1,5 @@ - +
    @@ -25,7 +25,8 @@

    Product Details :


    - + +
    - + - - @@ -187,6 +188,66 @@
    + + + + + + + + + \ No newline at end of file diff --git a/app/Views/reorder_level_list.php b/app/Views/reorder_level_list.php new file mode 100644 index 0000000..69aa925 --- /dev/null +++ b/app/Views/reorder_level_list.php @@ -0,0 +1,73 @@ + +
    +
    +
    +
    +

    Product List

    +
    + +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Product NameUnit PriceQty in StockPurchase Order LevelPurchase Re-Order LevelActions
    + +
    +
    + +
    +
    +
    + +
    + \ No newline at end of file diff --git a/app/Views/sales_order_form.php b/app/Views/sales_order_form.php index 2d132ed..b0e3e89 100644 --- a/app/Views/sales_order_form.php +++ b/app/Views/sales_order_form.php @@ -28,37 +28,43 @@ ' ?> - + Select a vehicle' ?> + + + + + +
    +
    + + +
    + +
    -
    +
    -
    - - -
    +
    + + +
    +

    + -

    Billing Address Details :


    @@ -228,63 +234,90 @@
    +
    +
    + + + + + + +