diff --git a/NdisPrice.php b/NdisPrice.php index ec04192..545e54b 100644 --- a/NdisPrice.php +++ b/NdisPrice.php @@ -6,12 +6,13 @@ class NdisPrice{ private $html = ''; private $ndis_table; private $tos =[]; + private $current_year = 2020; public function __construct(int $year=2019) { global $wpdb; if ( $year == "2019"){ $now = new \DateTime(); - $year = (int)($now->format("Y")); + //$year = (int)($now->format("Y")); } @@ -24,7 +25,8 @@ class NdisPrice{ foreach($results as $r){ $this->tos[$r->code] = $r; - $html .= sprintf('', + $html .= sprintf('', + $r->id, $r->code, $r->level, (int) $r->year, @@ -61,20 +63,20 @@ class NdisPrice{ return $this->html; } - public function get_tos_str($ndis_code) + public function get_tos_str($tos_id) { - //return $this->tos[$ndis_code]->name; + //return $this->tos[$tos_id]->name; foreach ($this->tos as $r){ - if ($ndis_code == $r->code) + if ($tos_id == $r->id) return $r->name; } return ""; } - public function get_tos_full_str($ndis_code) + public function get_tos_full_str($tos_id) { foreach ($this->tos as $r){ - if ($ndis_code == $r->code){ + if ($tos_id == $r->id){ return sprintf("%.2f - %s %s %s", (float) $r->price, $r->name, @@ -85,33 +87,52 @@ class NdisPrice{ return ""; } - public function get_tos_price($ndis_code) + public function get_tos_price($tos_id) { foreach ($this->tos as $r){ - if ($ndis_code == $r->code) + if ($tos_id == $r->id) return (float) $r->price; } return 0; } - public function get_tos_unit($ndis_code) + public function get_tos_unit($tos_id) { foreach ($this->tos as $r){ - if ($ndis_code == $r->code) + if ($tos_id == $r->id) return $r->unit; } return ""; } + public function get_tos_ndis_code($tos_id) + { + foreach ($this->tos as $r){ + if ($tos_id == $r->id) + return $r->code; + } + return ""; + } + public function get_tos_array() { foreach ($this->tos as $r){ - $r->tos_full_str = sprintf("%.2f - %s %s %s", + $r->tos_full_str = sprintf("%.2f - %d - %s %s %s", (float) $r->price, + $r->year, $r->name, $this->get_level((int) $r->level), $r->ot); } return $this->tos; } -} \ No newline at end of file + + public function get_id_by_tos($ndis_code , int $year=2019) + { + foreach ($this->tos as $r){ + if ($ndis_code == $r->code && $year == $r->year) + return $r->id; + } + return 0; //0 = not found + } +} diff --git a/ts.php b/ts.php index 83f59af..0e0d9b6 100644 --- a/ts.php +++ b/ts.php @@ -669,6 +669,20 @@ class AcareOffice{ } } + public function dev_change_ndis_price ($args = array(), $assoc_args = array()) + { + echo "list ndis prices\n"; + $nd = new NdisPrice(); + echo "get tos array\n"; + $tosarray = $nd->get_tos_array(); + $map = array(); + foreach($tosarray as $item){ + $map[$item->code] = $item->id; + echo "UPDATE wp1m_acare_ts SET tos_id=$item->id WHERE tos='$item->code' and id > 0; \n"; + } + //print_r($map); + } + private function send_email_with_job_link($staff, $start, $finish) { $message = file_get_contents(plugin_dir_path(__FILE__) . "/html/email_job.html"); @@ -1465,17 +1479,23 @@ ZOT; { $response['nojob'] = true; } - + $response['overall_total'] = 0; foreach ($summary as $key => $val) { + $unitprice = $price->get_tos_price($key); + $tos_total = $val * $price->get_tos_price($key); + $response['overall_total'] += $tos_total; $response['summary'][] = array( 'ndis' => $key, 'tos' => $price->get_tos_full_str($key), + 'unitprice'=> $unitprice, 'Hours'=> sprintf("%0.2f", $val), + 'tos_total'=> sprintf("%0.2f", $tos_total), ); } if (count($summary) > 0){ $response['has_summary'] = true; + $response['overall_total'] = sprintf("%0.2f", $response['overall_total'] ); } @@ -1536,7 +1556,7 @@ ZOT; ->setDate($now) ->setDueDate($due); $to_save=[];//all invoices to save; - $price = new NdisPrice($now->format("Y"));//current year; + $price = new NdisPrice(2019);//always 2019 until its being changed; foreach($rows as $r){ $quantity = $this->get_job_hours($r->start, $r->finish); @@ -1673,6 +1693,7 @@ if ( defined( 'WP_CLI' ) && WP_CLI ) { \WP_CLI::add_command( 'email_jobs', array($bb, 'email_jobs')); \WP_CLI::add_command( 'feedback_url', array($bb, 'feedback_url')); \WP_CLI::add_command( 'produce_invoice', array($bb, 'produce_invoice')); + \WP_CLI::add_command( 'dev_change_ndis_price', array($bb, 'dev_change_ndis_price')); } //$bb->class_loader();