From b7e1a0314d088f1669f135899a1a61b8101968ea Mon Sep 17 00:00:00 2001 From: sriramv Date: Mon, 29 Apr 2024 08:57:58 +0530 Subject: [PATCH] CHANGE_jobcard_module_edit:ss --- app/Controllers/Jobcard.php | 104 +++++++++++++++++---- app/Models/JobcardModel.php | 22 ++++- app/Views/job_card_form.php | 176 ++++++++++++++++++++++++++++++++---- 3 files changed, 262 insertions(+), 40 deletions(-) diff --git a/app/Controllers/Jobcard.php b/app/Controllers/Jobcard.php index 41740a0..96553a6 100644 --- a/app/Controllers/Jobcard.php +++ b/app/Controllers/Jobcard.php @@ -80,19 +80,45 @@ class Jobcard extends BaseController $JobcardServiceModel = new JobcardServiceModel(); $JobcardComplaintModel = new JobcardComplaintModel(); $JobcardCustomComplaintModel = new JobcardCustomComplaintModel(); + $ComplaintModel = new ComplaintModel(); + /*** SERVICE DATA ***/ $servicedata = $JobcardModel->service_data($job_card_id, $this->session->get('logged_user_branch_id')); - foreach ($servicedata as $key => $value) { + // Using '&' to reference the original array element + foreach ($servicedata as &$value) { $product_ids = json_decode($value['product_id'], true); $product = $JobcardProductModel->whereIn('job_card_product_id', $product_ids)->findAll(); - echo json_encode($product);die; + $value['product'] = $product; } + $data['editservicedata'] = $servicedata; + /*** COMPLAINT DATA ***/ + $complaintdata = $JobcardModel->complaint_data($job_card_id, $this->session->get('logged_user_branch_id')); + // Using '&' to reference the original array element + foreach ($complaintdata as &$value) { + $product_ids = json_decode($value['product_id'], true); + $product = $JobcardProductModel->whereIn('job_card_product_id', $product_ids)->findAll(); + $value['product'] = $product; + } + $data['editcomplaintdata'] = $complaintdata; + + /*** CUSTOM COMPLAINT DATA ***/ + $ccomplaintdata = $JobcardModel->ccomplaint_data($job_card_id, $this->session->get('logged_user_branch_id')); + // Using '&' to reference the original array element + foreach ($ccomplaintdata as &$value) { + $product_ids = json_decode($value['product_id'], true); + $product = $JobcardProductModel->whereIn('job_card_product_id', $product_ids)->findAll(); + $value['product'] = $product; + } + $data['editccomplaintdata'] = $ccomplaintdata; + + $complaint=$ComplaintModel->where('isactive',1)->findAll(); + + $data['complaint']= $complaint; $data['page_name']="Edit Job Card"; $ClientModel = new ClientModel(); $client=$ClientModel->where('isactive',1)->where('branch_id',$this->session->get('logged_user_branch_id'))->findAll(); $JobcardModel = new JobcardModel(); - $productdata = $JobcardModel->job_card_edit($job_card_id, $this->session->get('logged_user_branch_id')); $jobs=$JobcardModel->where('job_card_id', $job_card_id)->get()->getRowArray(); $data['jobs']=$jobs; @@ -130,6 +156,7 @@ class Jobcard extends BaseController // ->findAll(); $service = $ServiceModel->where('makes_id LIKE \'%"' . $makeId . '"%\'', null, false) ->where('models_id LIKE \'%"' . $modelId . '"%\'', null, false) + ->orWhere('category', 0) ->findAll(); $data['product']=$product; $data['service']=$service; @@ -155,7 +182,7 @@ class Jobcard extends BaseController public function add_jobs() { - // echo json_encode($this->request->getPost());die; + // echo $this->request->getPost('products');die; $JobcardModel = new JobcardModel(); $JobcardProductModel = new JobcardProductModel(); $JobcardServiceModel = new JobcardServiceModel(); @@ -185,11 +212,12 @@ class Jobcard extends BaseController } else { $JobcardModel->insert($job_card_data); $job_card_id = $JobcardModel->getInsertID(); // Get the last inserted ID + + $orderNumber = 'JC-' . date('md') . '-' . str_pad($job_card_id, 5, '0', STR_PAD_LEFT); + // print_r($orderNumber);die; + // Update sales order with generated order number + $JobcardModel->update($job_card_id, ['order_number' => $orderNumber]); } - $orderNumber = 'JC-' . date('md') . '-' . str_pad($job_card_id, 5, '0', STR_PAD_LEFT); - // print_r($orderNumber);die; - // Update sales order with generated order number - $JobcardModel->update($job_card_id, ['order_number' => $orderNumber]); /********** INSERT SERVICE DATA ************/ $data = json_decode($_POST['products']); @@ -203,8 +231,14 @@ class Jobcard extends BaseController $service['qty'] = $item->quality; $service['tax'] = $item->tax; $service['amount'] = $item->amount; - $JobcardServiceModel->insert($service); - $service_id = $JobcardServiceModel->getInsertID(); + if($item->id == '') { + $JobcardServiceModel->insert($service); + $service_id = $JobcardServiceModel->getInsertID(); + } + else { + $JobcardServiceModel->update($item->id, $service); + $service_id = $item->id; + } // Insert into the product table $id = []; @@ -214,8 +248,14 @@ class Jobcard extends BaseController $product['qty'] = $pt->qty; $product['tax'] = $pt->tax; $product['amount'] = $pt->amount; - $JobcardProductModel->insert($product); - $job_card_product_id = $JobcardProductModel->getInsertID(); + if($pt->id == '') { + $JobcardProductModel->insert($product); + $job_card_product_id = $JobcardProductModel->getInsertID(); + } + else { + $JobcardProductModel->update($pt->id, $service); + $job_card_product_id = $item->id; + } array_push($id, $job_card_product_id); } $res = $JobcardServiceModel->update($service_id, ['product_id' => json_encode($id) ]); @@ -234,8 +274,14 @@ class Jobcard extends BaseController $service['qty'] = $item->quality; $service['tax'] = $item->tax; $service['amount'] = $item->amount; - $JobcardComplaintModel->insert($service); - $complaint_id = $JobcardComplaintModel->getInsertID(); + if($item->id == '') { + $JobcardComplaintModel->insert($service); + $complaint_id = $JobcardComplaintModel->getInsertID(); + } + else { + $JobcardComplaintModel->update($item->id, $service); + $complaint_id = $item->id; + } // Insert into the product table $id = []; @@ -245,8 +291,14 @@ class Jobcard extends BaseController $product['qty'] = $pt->qty; $product['tax'] = $pt->tax; $product['amount'] = $pt->amount; - $JobcardProductModel->insert($product); - $job_card_product_id = $JobcardProductModel->getInsertID(); + if($pt->id == '') { + $JobcardProductModel->insert($product); + $job_card_product_id = $JobcardProductModel->getInsertID(); + } + else { + $JobcardProductModel->update($pt->id, $service); + $job_card_product_id = $item->id; + } array_push($id, $job_card_product_id); } $res =$JobcardComplaintModel->update($complaint_id, ['product_id' => json_encode($id) ]); @@ -265,8 +317,14 @@ class Jobcard extends BaseController $service['qty'] = $item->quality; $service['tax'] = $item->tax; $service['amount'] = $item->amount; - $JobcardCustomComplaintModel->insert($service); - $cc_complaint_id = $JobcardCustomComplaintModel->getInsertID(); + if($item->id == '') { + $JobcardCustomComplaintModel->insert($service); + $cc_complaint_id = $JobcardCustomComplaintModel->getInsertID(); + } + else { + $JobcardCustomComplaintModel->update($item->id, $service); + $cc_complaint_id = $item->id; + } // Insert into the product table $id = []; @@ -276,8 +334,14 @@ class Jobcard extends BaseController $product['qty'] = $pt->qty; $product['tax'] = $pt->tax; $product['amount'] = $pt->amount; - $JobcardProductModel->insert($product); - $job_card_product_id = $JobcardProductModel->getInsertID(); + if($pt->id == '') { + $JobcardProductModel->insert($product); + $job_card_product_id = $JobcardProductModel->getInsertID(); + } + else { + $JobcardProductModel->update($pt->id, $service); + $job_card_product_id = $item->id; + } array_push($id, $job_card_product_id); } $res =$JobcardCustomComplaintModel->update($cc_complaint_id, ['product_id' => json_encode($id) ]); diff --git a/app/Models/JobcardModel.php b/app/Models/JobcardModel.php index 6fea6b2..308656d 100644 --- a/app/Models/JobcardModel.php +++ b/app/Models/JobcardModel.php @@ -38,12 +38,32 @@ class JobcardModel extends Model public function service_data($job_card_id, $logged_user_branch_id) { - $this->select('job_card.*, job_card_service.*'); + $this->select('job_card.job_card_id, job_card_service.*'); $this->join('job_card_service', 'job_card_service.job_card_id = job_card.job_card_id'); $this->where('job_card_service.isactive', 1); $this ->where('job_card.job_card_id',$job_card_id); $this ->where('job_card.branch_id',$logged_user_branch_id); return $this->findAll(); } + + public function complaint_data($job_card_id, $logged_user_branch_id) + { + $this->select('job_card.job_card_id, job_card_complaint.*'); + $this->join('job_card_complaint', 'job_card_complaint.job_card_id = job_card.job_card_id'); + $this->where('job_card_complaint.isactive', 1); + $this ->where('job_card.job_card_id',$job_card_id); + $this ->where('job_card.branch_id',$logged_user_branch_id); + return $this->findAll(); + } + + public function ccomplaint_data($job_card_id, $logged_user_branch_id) + { + $this->select('job_card.job_card_id, job_card_custom_complaint.* , job_card_custom_complaint.complaint_name as name'); + $this->join('job_card_custom_complaint', 'job_card_custom_complaint.job_card_id = job_card.job_card_id'); + $this->where('job_card_custom_complaint.isactive', 1); + $this ->where('job_card.job_card_id',$job_card_id); + $this ->where('job_card.branch_id',$logged_user_branch_id); + return $this->findAll(); + } } \ No newline at end of file diff --git a/app/Views/job_card_form.php b/app/Views/job_card_form.php index dbd49bc..79fe7b7 100644 --- a/app/Views/job_card_form.php +++ b/app/Views/job_card_form.php @@ -106,10 +106,9 @@ Qty Rate Tax - Amount - + @@ -326,6 +325,142 @@