diff --git a/app/Controllers/Jobcard.php b/app/Controllers/Jobcard.php index 021321b..393f0c2 100644 --- a/app/Controllers/Jobcard.php +++ b/app/Controllers/Jobcard.php @@ -49,8 +49,7 @@ class Jobcard extends BaseController $data['role'] = $this->session->get('logged_user_role'); $jobs=$JobcardModel->getJobCardsWithProductsAndService($this->session->get('logged_user_branch_id'), $data); $data['jobs']=$jobs; - // echo "
";
- // print_r($jobs);die;
+ $data['logged_user_role'] = $this->session->get('logged_user_role');
return view('jobs_list',$data);
}
@@ -152,7 +151,7 @@ class Jobcard extends BaseController
// Generate the PDF content (HTML) with data
$html = view('invoice_pdf_template_jobcard', $data);
-echo $html;die;
+ // echo $html;die;
// Load HTML into the mPDF instance
$mpdf->WriteHTML($html);
@@ -190,6 +189,7 @@ echo $html;die;
$data['service']="";
$data['client']=$client;
$data['vehicle']=$vehicle;
+ $data['logged_user_role'] = $this->session->get('logged_user_role');
} else if ($job_card_id !== '0')
{
@@ -301,6 +301,7 @@ echo $html;die;
$VehicleModel = new VehicleModel();
$vehicle=$VehicleModel->where('isactive',1)->where('branch_id',$this->session->get('logged_user_branch_id'))->findAll();
$data['vehicle']=$vehicle;
+ $data['logged_user_role'] = $this->session->get('logged_user_role');
if($this->session->get('logged_user_role') == "Floor Manager")
{
@@ -320,15 +321,26 @@ echo $html;die;
public function add_jobs()
{
+ // echo json_encode($this->request->getPost());die;
// echo $this->request->getPost('products');die;
// echo $this->request->getPost('delete_items');die;
- $this->delete_items($this->request->getPost('delete_items'));
+ // echo $this->request->getPost('issued_items');die;
$JobcardModel = new JobcardModel();
+ if($this->session->get('logged_user_role') == "Store Manager") {
+ $data['status'] = $this->request->getPost('status');
+ $job_card_id = $this->request->getPost('job_card_id');
+ $JobcardModel->update($job_card_id, $data);
+ $issued_product_id = $this->request->getPost('issued_items');
+ $this->update_store_status($issued_product_id, $data['status']);
+ return redirect()->to('job_card_index');
+ }
$JobcardProductModel = new JobcardProductModel();
$JobcardServiceModel = new JobcardServiceModel();
$JobcardComplaintModel = new JobcardComplaintModel();
$JobcardCustomComplaintModel = new JobcardCustomComplaintModel();
+ $this->delete_items($this->request->getPost('delete_items'));
+
// Job card INSERT
$job_card_data = [
'client_name' => $this->request->getPost('client_id'),
@@ -341,16 +353,24 @@ echo $html;die;
'billing_postal_code' => $this->request->getPost('postalcode'),
'status'=> $this->request->getPost('status'),
'assigned_to'=> json_encode($this->request->getPost('assigned_to')),
- 'store_item_issued'=> $this->request->getPost('store_item_issued'),
+ // 'store_item_issued'=> $this->request->getPost('store_item_issued'),
'subtotal'=> $this->request->getPost('sub_total'),
'tax'=> $this->request->getPost('invoicetax'),
'discount'=> ($this->request->getPost('discount')) == '' ? 0 : $this->request->getPost('discount'),
'total'=> $this->request->getPost('grand_total'),
'isactive' => 1
];
+ $status = $this->request->getPost('status');
// Insert or update sales order
$job_card_id = $this->request->getPost('job_card_id');
if (!empty($job_card_id)) {
+ if($status == 'Cancelled')
+ {
+ // echo $status;die;
+ $job_card_data = [];
+ $job_card_data['status'] = $status;
+ $job_card_data['isactive'] = 0;
+ }
$JobcardModel->update($job_card_id, $job_card_data);
} else {
$JobcardModel->insert($job_card_data);
@@ -365,7 +385,6 @@ echo $html;die;
/********** INSERT SERVICE DATA ************/
$data = json_decode($_POST['products']);
$service_data = $data[0]->service;
- $status = $this->request->getPost('status');
foreach ($service_data as $item) {
// Insert into the service table
@@ -381,6 +400,11 @@ echo $html;die;
$service_id = $JobcardServiceModel->getInsertID();
}
else {
+ if($status == 'Cancelled')
+ {
+ $service = [];
+ $service['isactive'] = 0;
+ }
$JobcardServiceModel->update($item->id, $service);
$service_id = $item->id;
}
@@ -404,6 +428,11 @@ echo $html;die;
$complaint_id = $JobcardComplaintModel->getInsertID();
}
else {
+ if($status == 'Cancelled')
+ {
+ $service = [];
+ $service['isactive'] = 0;
+ }
$JobcardComplaintModel->update($item->id, $service);
$complaint_id = $item->id;
}
@@ -427,6 +456,11 @@ echo $html;die;
$cc_complaint_id = $JobcardCustomComplaintModel->getInsertID();
}
else {
+ if($status == 'Cancelled')
+ {
+ $service = [];
+ $service['isactive'] = 0;
+ }
$JobcardCustomComplaintModel->update($item->id, $service);
$cc_complaint_id = $item->id;
}
@@ -437,6 +471,25 @@ echo $html;die;
return redirect()->to('job_card_index');
}
+ public function update_store_status($issued_product_id, $status)
+ {
+ if($status == 'Issued') {
+ $JobcardProductModel = new JobcardProductModel();
+ $productModel = new ProductModel();
+ $data['status'] = 1;
+ $product_data = json_decode($issued_product_id);
+ foreach ($product_data as $key => $value) {
+ $jc_product = $JobcardProductModel->where('job_card_product_id', $value->id)->findAll();
+ if($jc_product[0]['status'] == 0)
+ {
+ $res = $JobcardProductModel->update($value->id, $data);
+ if($res && $status == 'Issued')
+ $this->updateProductQuantity($productModel, $jc_product[0]['product_id'], $value->qty);
+ }
+ }
+ }
+ }
+
public function product_data_insertion($job_card_id, $parent_id, $ParentModel, $item, $JobcardProductModel, $status)
{
// Insert into the product table
@@ -452,6 +505,11 @@ echo $html;die;
$job_card_product_id = $JobcardProductModel->getInsertID();
}
else {
+ if($status == 'Cancelled')
+ {
+ $product = [];
+ $product['is_active'] = 0;
+ }
$JobcardProductModel->update($pt->id, $product);
$job_card_product_id = $pt->id;
}
@@ -535,10 +593,13 @@ echo $html;die;
foreach ($id_array as $key => $product_id) {
$product = $JobcardProductModel->find($product_id);
$qty = isset($product['qty']) ? $product['qty'] : 0;
- if ($status == 'Created') {
- $this->updateProductQuantity($ProductModel, $product['product_id'], $qty);
- }elseif ($status == 'Cancelled'){
+ if ($status == 'Issued') {
+ // $this->updateProductQuantity($ProductModel, $product['product_id'], $qty);
+ }elseif ($status == 'Cancelled' && $product['status'] == 1){
$this->addBackProductQuantity($ProductModel, $product['product_id'], $qty);
+ $data['status'] = 0;
+ // echo $product['job_card_product_id'];die;
+ // $JobcardProductModel->where('job_card_product_id',$product['job_card_product_id'])->update($data);
}
}
diff --git a/app/Models/JobcardProductModel.php b/app/Models/JobcardProductModel.php
index 64b08ce..a13c8ae 100644
--- a/app/Models/JobcardProductModel.php
+++ b/app/Models/JobcardProductModel.php
@@ -5,5 +5,5 @@ class JobcardProductModel extends Model
{
protected $table = 'job_card_product';
protected $primaryKey = 'job_card_product_id';
- protected $allowedFields = ['job_card_product_id','job_card_id' , 'product_id', 'qty', 'tax', 'amount', 'isactive'];
+ protected $allowedFields = ['job_card_product_id','job_card_id' , 'product_id', 'qty', 'tax', 'amount', 'status', 'isactive'];
}
\ No newline at end of file
diff --git a/app/Views/job_card_form.php b/app/Views/job_card_form.php
index 105412b..028473c 100644
--- a/app/Views/job_card_form.php
+++ b/app/Views/job_card_form.php
@@ -22,6 +22,7 @@
@@ -301,6 +294,8 @@