diff --git a/app/Controllers/Admin_controller.php b/app/Controllers/Admin_controller.php index 499695a..eb7ebc4 100644 --- a/app/Controllers/Admin_controller.php +++ b/app/Controllers/Admin_controller.php @@ -1116,114 +1116,245 @@ class Admin_controller extends BaseController public function add_creditsModel() { $requet_data = $this->request->getVar(); - $temp_data = $this->PackagesModel->where('id' , $requet_data['package_name'])->find(); - $credit_pack_expiry_duration = $this->RuleModel->select('value')->where('rule_key', 1 )->get()->getRow()->value; - $today = date("Y-m-d"); - $days = "+".$credit_pack_expiry_duration." days"; + //print_r($requet_data);die; + $temp_data = $this->PackagesModel->where('id' , $requet_data['package_name'])->find(); + $credit_pack_expiry_duration = $this->RuleModel->select('value')->where('rule_key', 1 )->get()->getRow()->value; + $today = date("Y-m-d"); + $days = "+".$credit_pack_expiry_duration." days"; $count = $this->request->getVar('count'); if(isset($count)) { + if($requet_data['add_or_sub'] == 'sub') + { + $data['order_id'] = 'EGF'.rand(10,100).rand(10,100).rand(10,100) . 'R'; + }else{ + $data['order_id'] = 'EGF'.rand(10,100).rand(10,100).rand(10,100) . 'A'; + } - for ($i=0; $i < $count ; $i++) - { - $data['order_id'] = $orderId = 'EGF'.rand(10,100).rand(10,100).rand(10,100) . 'A'; - $data['running_balance'] = $temp_data[0]['credit']; - $data['updated_by'] = session()->get('logged_admin_user'); - $data['credit_points'] = $temp_data[0]['credit']; - $data['package_name'] = $temp_data[0]['package_name']; - $data['package_type'] = $temp_data[0]['package_type']; - $data['expiring_date'] = date('Y-m-d', strtotime($days, strtotime($today))); - $data['cost'] = $temp_data[0]['cost']; - $data['member_id'] = $requet_data['member_id']; - $data['method'] = $requet_data['method']; - $data['remark'] = $requet_data['remarks']; + for ($i=0; $i < $count ; $i++) + { + + $data['updated_by'] = session()->get('logged_admin_user'); + $data['credit_points'] = $temp_data[0]['credit']; + $data['package_name'] = $temp_data[0]['package_name']; + $data['package_type'] = $temp_data[0]['package_type']; + $data['expiring_date'] = date('Y-m-d', strtotime($days, strtotime($today))); + $data['cost'] = $temp_data[0]['cost']; + $data['member_id'] = $requet_data['member_id']; + $data['method'] = $requet_data['method']; + $data['remark'] = $requet_data['remarks']; + if($requet_data['add_or_sub'] == 'sub') + { + $data['running_balance'] = 0; + $reduse_points = $this->RedusePoints($requet_data['member_id'],$temp_data[0]['credit']); + if($reduse_points) + { $this->creditsModel->save($data); } + }else{ + $data['running_balance'] = $temp_data[0]['credit']; + $this->creditsModel->save($data); + } + + } } else { - $data2 = $this->request->getVar(); - // print_r($data2); die(); - $data2['order_id'] = $orderId = 'EGF'.rand(10,100).rand(10,100).rand(10,100) . 'A'; - $data2['running_balance'] = $this->request->getVar('credit_points'); - $data2['remark'] = $this->request->getVar('remarks'); - $data2['expiring_date'] = date('Y-m-d', strtotime($days, strtotime($today))); - $data2['updated_by'] = session()->get('logged_admin_user'); + //$data2 = $this->request->getVar(); + if($requet_data['add_or_sub'] == 'sub') + { + $data2['order_id'] = 'EGF'.rand(10,100).rand(10,100).rand(10,100) . 'R'; + }else{ + $data2['order_id'] = 'EGF'.rand(10,100).rand(10,100).rand(10,100) . 'A'; + } + $data2['expiring_date'] = date('Y-m-d', strtotime($days, strtotime($today))); + $data2['member_id'] = $requet_data['member_id']; + $data2['method'] = $requet_data['method']; + $data2['remark'] = $requet_data['remarks']; + $data2['credit_points'] = $requet_data['credit_points']; + $data2['cost'] = $requet_data['cost']; + $data2['package_name'] = $requet_data['package_name']; + $data2['updated_by'] = session()->get('logged_admin_user'); + if($requet_data['add_or_sub'] == 'sub') + { + + $data2['running_balance'] = 0; + $reduse_points = $this->RedusePoints($requet_data['member_id'],$requet_data['credit_points']); + if($reduse_points) + { + $this->creditsModel->save($data2); + } + }else{ + $data2['running_balance'] = $requet_data['credit_points']; $this->creditsModel->save($data2); + } + } - return redirect()->to(base_url()."members_list"); + return redirect()->to(base_url()."view_credit_details/".md5((int)$requet_data['member_id'])); } - public function view_credit_details($member_id) + function RedusePoints($member_id,$needed_points) { + + + $CreditBalanceSum = $this->creditsModel->selectSum('running_balance') + ->where('member_id',$member_id) + ->where('is_active',1) + ->get()->getRow()->running_balance; + + if($CreditBalanceSum > $needed_points) + { + + $creditsData = $this->creditsModel->where('member_id',$member_id)->where('is_active',1)->findAll(); + + foreach ($creditsData as $creditsDataindex => $creditsDataValue) { + + if($creditsDataValue['expiring_date'] > date("Y-m-d")) + { + $temp_needed_points = $needed_points; + if($creditsDataValue['running_balance'] != 0 && $needed_points > 0) + { + $needed_points = ($needed_points - $creditsDataValue['running_balance']); + if($needed_points < 0 ){ + + $running_balance = $creditsDataValue['running_balance'] - $temp_needed_points; + $this->update_credit_package_data($creditsDataValue['id'] , array( 'running_balance'=>$running_balance , 'used_points'=> $creditsDataValue['used_points'] + $creditsDataValue['running_balance'] - $running_balance)); + + }else { $running_balance = 0; + + $this->update_credit_package_data($creditsDataValue['id'] , array( 'running_balance'=>$running_balance , 'used_points'=> $creditsDataValue['used_points'] + $creditsDataValue['running_balance'] - $running_balance)); + + } + + }else{ + } + }else{ + } + } + + return true; + + }else{ + return false; + } + } + + function update_credit_package_data($id , $array) + { + $this->creditsModel->where('id', $id )->set($array)->update(); + } + + +public function view_credit_details($member_id) + { + $userdata['userdata'] = $this->dModel->getLoggedInUserData(session()->get('logged_admin_user')); $fname = $this->MemberModel->select('name')->where('md5(id)', $member_id )->get()->getRow()->name; $lname = $this->MemberModel->select('last_name')->where('md5(id)', $member_id )->get()->getRow()->last_name; $id = $this->MemberModel->select('id')->where('md5(id)', $member_id )->get()->getRow()->id; $creditsData = $this->creditsModel->where('md5(member_id)',$member_id)->orderBy('id' , 'ASC')->findAll(); + $data['id'] = $id; + $data['fname'] = $fname; + $data['lname'] = $lname; $data['credit_data'] = []; $data['avaiable_credit'] = 0; - $data['country'] = $this->CountryModel->findAll(); + foreach ($creditsData as $creditsDataindex => $creditsDataValue) { - if($creditsDataValue['is_active'] == 1) + if($creditsDataValue['running_balance'] + $creditsDataValue['used_points'] == 0) { - $data['avaiable_credit'] = $data['avaiable_credit'] + $creditsDataValue['running_balance']; + $data['avaiable_credit'] = $data['avaiable_credit'] - $creditsDataValue['credit_points']; $creditsDataValue['avaiable_credit'] = $data['avaiable_credit']; array_push($data['credit_data'] , $creditsDataValue); } else { - $data['avaiable_credit'] = $data['avaiable_credit']; - $creditsDataValue['avaiable_credit'] = 0; + $data['avaiable_credit'] = $data['avaiable_credit'] + $creditsDataValue['credit_points']; + $creditsDataValue['avaiable_credit'] = $data['avaiable_credit']; array_push($data['credit_data'] , $creditsDataValue); } } - - $output = '

Member Name : '.$fname.' '.$lname.'

- - - - - - - - '; - for( $i = count($data['credit_data']) - 1; $i >= 0 ; $i--) { - $date = new DateTime($data['credit_data'][$i]['created_at']); - $expirydate = new DateTime($data['credit_data'][$i]['expiring_date']); - if($data['credit_data'][$i]['running_balance'] > 0) - {$balance = "+ ".$data['credit_data'][$i]['running_balance'];}else{$balance = "- ".$data['credit_data'][$i]['used_points'];} - // if($data['credit_data'][$i]['is_active'] == 0) $balance = 0; - if($data['credit_data'][$i]['is_active'] == 1) - $output .=' - - - - - - '; - else - $output .=' - - - - - - - '; - } - echo $output .= '
Order IdOrder DateExpiry DateCredit TransactionsCredit BalanceAction
'.$data['credit_data'][$i]['order_id'].''.$date->format('M d , Y').''.$expirydate->format('M d , Y').''.$balance.''.$data['credit_data'][$i]['avaiable_credit'].'
'.$data['credit_data'][$i]['order_id'].''.$date->format('M d , Y').''.$expirydate->format('M d , Y').''.$balance.''.$data['credit_data'][$i]['avaiable_credit']. - '
'; - + // echo '
';
+		// print_r($data);
+		// echo '
';die; + echo view('layout/header',$userdata); + echo view('credit_points_list.php',$data); + echo view('layout/footer'); } + // public function view_credit_details($member_id) + // { + + // $fname = $this->MemberModel->select('name')->where('md5(id)', $member_id )->get()->getRow()->name; + // $lname = $this->MemberModel->select('last_name')->where('md5(id)', $member_id )->get()->getRow()->last_name; + // $id = $this->MemberModel->select('id')->where('md5(id)', $member_id )->get()->getRow()->id; + // $creditsData = $this->creditsModel->where('md5(member_id)',$member_id)->orderBy('id' , 'ASC')->findAll(); + // $data['credit_data'] = []; + // $data['avaiable_credit'] = 0; + // $data['country'] = $this->CountryModel->findAll(); + // foreach ($creditsData as $creditsDataindex => $creditsDataValue) + // { + // if($creditsDataValue['is_active'] == 1) + // { + // $data['avaiable_credit'] = $data['avaiable_credit'] + $creditsDataValue['running_balance']; + // $creditsDataValue['avaiable_credit'] = $data['avaiable_credit']; + // array_push($data['credit_data'] , $creditsDataValue); + // } + // else + // { + // $data['avaiable_credit'] = $data['avaiable_credit']; + // $creditsDataValue['avaiable_credit'] = 0; + // array_push($data['credit_data'] , $creditsDataValue); + // } + // } + + // // echo view('layout/header',$userdata); + // // echo view('credit_points_list.php'); + // // echo view('layout/footer'); + + // $output = '

Member Name : '.$fname.' '.$lname.'

+ // + // + // + // + // + // + // + // '; + // for( $i = count($data['credit_data']) - 1; $i >= 0 ; $i--) { + // $date = new DateTime($data['credit_data'][$i]['created_at']); + // $expirydate = new DateTime($data['credit_data'][$i]['expiring_date']); + // if($data['credit_data'][$i]['running_balance'] > 0) + // {$balance = "+ ".$data['credit_data'][$i]['running_balance'];}else{$balance = "- ".$data['credit_data'][$i]['used_points'];} + // // if($data['credit_data'][$i]['is_active'] == 0) $balance = 0; + // if($data['credit_data'][$i]['is_active'] == 1) + // $output .=' + // + // + // + // + // + // '; + // else + // $output .=' + // + // + // + // + // + + // '; + // } + // echo $output .= '
Order IdOrder DateExpiry DateCredit TransactionsCredit BalanceAction
'.$data['credit_data'][$i]['order_id'].''.$date->format('M d , Y').''.$expirydate->format('M d , Y').''.$balance.''.$data['credit_data'][$i]['avaiable_credit'].'
'.$data['credit_data'][$i]['order_id'].''.$date->format('M d , Y').''.$expirydate->format('M d , Y').''.$balance.''.$data['credit_data'][$i]['avaiable_credit']. + // '
'; + + // } // public function add_to_cart_package() diff --git a/app/Controllers/Member_controller.php b/app/Controllers/Member_controller.php index 3548c4c..0d90f12 100644 --- a/app/Controllers/Member_controller.php +++ b/app/Controllers/Member_controller.php @@ -325,7 +325,6 @@ class Member_controller extends BaseController public function members_list() - { $id = session()->get('logged_admin_user'); $userdata['userdata']=$this->dModel->getLoggedInUserData($id); @@ -1232,11 +1231,18 @@ class Member_controller extends BaseController - $data['avaiable_credit'] = $data['avaiable_credit'] + $creditsDataValue['running_balance']; - - $creditsDataValue['avaiable_credit'] = $data['avaiable_credit']; - - array_push($data['credit_data'] , $creditsDataValue); + if($creditsDataValue['running_balance'] + $creditsDataValue['used_points'] == 0) + { + $data['avaiable_credit'] = $data['avaiable_credit'] - $creditsDataValue['credit_points']; + $creditsDataValue['avaiable_credit'] = $data['avaiable_credit']; + array_push($data['credit_data'] , $creditsDataValue); + } + else + { + $data['avaiable_credit'] = $data['avaiable_credit'] + $creditsDataValue['credit_points']; + $creditsDataValue['avaiable_credit'] = $data['avaiable_credit']; + array_push($data['credit_data'] , $creditsDataValue); + } diff --git a/app/Views/credit_points_list.php b/app/Views/credit_points_list.php new file mode 100644 index 0000000..1a8b114 --- /dev/null +++ b/app/Views/credit_points_list.php @@ -0,0 +1,358 @@ + + + "> +
+
+
+

Member Name :

+
+ +
+
+
+
+ + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Order IdOrder DateExpiry DateCredit TransactionsCredit Balance
format('M d , Y'); ?>format('M d , Y'); ?> + +
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/Views/member_form.php b/app/Views/member_form.php index c9a0bf8..0311e7d 100644 --- a/app/Views/member_form.php +++ b/app/Views/member_form.php @@ -59,9 +59,16 @@
- +
- + +
+
+ +
+ +
+
diff --git a/app/Views/memberaccess.php b/app/Views/memberaccess.php index ee84194..a8da4f1 100644 --- a/app/Views/memberaccess.php +++ b/app/Views/memberaccess.php @@ -132,10 +132,10 @@ ?>

0) - echo '
'.$credit_data[$i]['running_balance'].'
'; + if($credit_data[$i]['running_balance'] + $credit_data[$i]['used_points'] == 0) + echo '
'.$credit_data[$i]['credit_points'].'
'; else - echo '
'.$credit_data[$i]['used_points'].'
'; + echo '
'.$credit_data[$i]['credit_points'].'
'; ?>
diff --git a/app/Views/members_list.php b/app/Views/members_list.php index c05e284..e3e7c7a 100644 --- a/app/Views/members_list.php +++ b/app/Views/members_list.php @@ -53,10 +53,6 @@ text-align: center;
- @@ -80,7 +76,9 @@ text-align: center; - +
+ + @@ -105,243 +103,34 @@ text-align: center; + - - - - - - - - - - - - - - - - -