Example #1
0
 public function create_order($type = "cdrr", $order_type, $content_array = array())
 {
     $data['hide_generate'] = 0;
     $data['hide_save'] = 0;
     $data['hide_btn'] = 0;
     $data['stand_alone'] = 0;
     if ($type == "cdrr") {
         $this->session->set_userdata("order_go_back", "cdrr");
         $data['hide_side_menu'] = 0;
         $data['options'] = "none";
         if ($order_type == 0) {
             //satellite
             $data['page_title'] = "Satellite Facility(F-CDRR)";
             $data['banner_text'] = "Satellite Facility(F-CDRR)";
             $facility = $this->input->post("satellite_facility", TRUE);
             if ($facility == null) {
                 $facility = $this->session->userdata("facility");
             } else {
                 $data['hide_generate'] = 1;
             }
         } else {
             if ($order_type == 1) {
                 //standalone
                 $data['page_title'] = "Stand-alone(F-CDRR)";
                 $data['banner_text'] = "Stand-alone(F-CDRR)";
                 $facility = $this->session->userdata("facility");
                 $data['stand_alone'] = 1;
             } else {
                 if ($order_type == 2) {
                     //dispensing_point
                     $data['page_title'] = "Central Dispensing Point(F-CDRR)";
                     $data['banner_text'] = "Central Dispensing Point(F-CDRR)";
                     $facility = $this->session->userdata("facility");
                     $order_type = 0;
                 } else {
                     //aggregate
                     $data['page_title'] = "Central Aggregate(D-CDRR)";
                     $data['banner_text'] = "Central Aggregate(D-CDRR)";
                     $data['hide_generate'] = 2;
                     $facility = $this->session->userdata("facility");
                 }
             }
         }
         if (!empty($content_array)) {
             $cdrr_array = $content_array;
             $data['cdrr_array'] = $cdrr_array['cdrr_array'];
             $data['status_name'] = strtolower($cdrr_array['cdrr_array'][0]['status_name']);
             $facility_id = $cdrr_array['cdrr_array'][0]['facility_id'];
             $data['facility_id'] = $facility_id;
             $facilities = Sync_Facility::getCode($facility_id, $order_type);
             $facility = $facilities['code'];
             $code = $cdrr_array['cdrr_array'][0]['code'];
             $code = $this->getDummyCode($code, $order_type);
             $data['options'] = $cdrr_array['options'];
             if ($data['options'] == "view") {
                 $data['hide_save'] = 1;
             }
             $data['hide_btn'] = 1;
             $cdrr_id = $cdrr_array['cdrr_array'][0]['cdrr_id'];
             $data['cdrr_id'] = $cdrr_id;
             $data['logs'] = Cdrr_Log::getLogs($cdrr_id);
             if ($data['options'] == "view" || $data['options'] == "update") {
                 if ($data['status_name'] == "prepared" || $data['status_name'] == "review") {
                     $data['option_links'] = "<li class='active'><a href='" . site_url("order/view_order/cdrr/" . $cdrr_id) . "'>view</a></li><li><a href='" . site_url("order/update_order/cdrr/" . $cdrr_id) . "'>update</a></li><li><a class='delete' href='" . site_url("order/delete_order/cdrr/" . $cdrr_id) . "'>delete</a></li>";
                 } else {
                     $data['option_links'] = "<li class='active'><a href='" . site_url("order/view_order/cdrr/" . $cdrr_id) . "'>view</a></li>";
                 }
             }
             if ($code == 0) {
                 $and = "";
             } else {
                 $and = "AND ci.resupply !='0'";
             }
             if ($cdrr_array['options'] == "update") {
                 $data['commodities'] = Sync_Drug::getActiveList();
             } else {
                 $sql = "SELECT sd.id,CONCAT_WS('] ',CONCAT_WS(' [',name,abbreviation),CONCAT_WS(' ',strength,formulation)) as Drug,unit as Unit_Name,packsize as Pack_Size,category_id as Category\n\t\t\t        FROM cdrr_item ci\n\t\t\t        LEFT JOIN sync_drug sd ON sd.id=ci.drug_id\n\t\t\t        WHERE ci.cdrr_id='{$cdrr_id}'\n\t\t\t        AND(sd.category_id='1' OR sd.category_id='2' OR sd.category_id='3')";
                 $query = $this->db->query($sql);
                 $data['commodities'] = $query->result();
             }
         } else {
             $period_start = date('Y-m-01', strtotime(date('Y-m-d') . "-1 month"));
             $period_end = date('Y-m-t', strtotime(date('Y-m-d') . "-1 month"));
             $code = $this->getActualCode($order_type, $type);
             $facilities = Sync_Facility::getId($facility, $order_type);
             $duplicate = $this->check_duplicate($code, $period_start, $period_end, $facilities['id'], $type);
             $data['commodities'] = Sync_Drug::getActiveList();
             $data['duplicate'] = $duplicate;
         }
         $facilities = Sync_Facility::getId($facility, $order_type);
         $data['facility_id'] = $facilities['id'];
         $data['facility_object'] = Facilities::getCodeFacility($facility);
         $data['content_view'] = "orders/cdrr_template";
         $data['report_type'] = $order_type;
         $data['stores'] = CCC_store_service_point::getStoreGroups();
         $this->base_params($data);
     } else {
         if ($type == "maps") {
             $this->session->set_userdata("order_go_back", "fmaps");
             $data['o_type'] = "FMAP";
             $data['options'] = "none";
             $data["is_update"] = 0;
             $data["is_view"] = 0;
             if ($order_type == 0) {
                 //satellite
                 $facility_code = $this->input->post("satellite_facility", TRUE);
                 $data['page_title'] = "Satellite Facility(F-MAPS)";
                 $data['banner_text'] = "Satellite Facility(F-MAPS)";
                 if ($facility_code == null) {
                     $facility_code = $this->session->userdata("facility");
                 } else {
                     $data['hide_generate'] = 1;
                 }
             } else {
                 if ($order_type == 1) {
                     //standalone
                     $facility_code = $this->session->userdata('facility');
                     $facility_id = $this->session->userdata('facility_id');
                     $data['commodities'] = Sync_Drug::getActiveList();
                     $data['page_title'] = "Stand-Alone MAPS";
                     $data['banner_text'] = "Maps Form";
                 } else {
                     if ($order_type == 2) {
                         //dispensing_point
                         $facility_code = $this->session->userdata('facility');
                         $facility_id = $this->session->userdata('facility_id');
                         $data['commodities'] = Sync_Drug::getActiveList();
                         $data['page_title'] = "Central Dispensing Point";
                         $data['banner_text'] = "Maps Form";
                         $order_type = 0;
                     } else {
                         //aggregate
                         $facility_code = $this->session->userdata('facility');
                         $data['page_title'] = "Aggregate Maps List";
                         $facility = Facilities::getParent($facility_code);
                         $parent_code = $facility['parent'];
                         if ($parent_code == $facility_code) {
                             //Check if button was clicked to start new aggregate order
                             $data['hide_generate'] = 2;
                         }
                         $data['banner_text'] = "Aggregate Maps List";
                     }
                 }
             }
             if (!empty($content_array)) {
                 $fmaps_array = $content_array;
                 $data['fmaps_array'] = $fmaps_array['fmaps_array'];
                 $facility_id = $fmaps_array['fmaps_array'][0]['facility_id'];
                 $data['facility_id'] = $facility_id;
                 $facilities = Sync_Facility::getCode($facility_id, $order_type);
                 $facility_code = $facilities['code'];
                 $code = $fmaps_array['fmaps_array'][0]['code'];
                 $code = $this->getDummyCode($code, $order_type);
                 //Central or Satellite or Aggregate
                 $data['status'] = strtolower($fmaps_array['fmaps_array'][0]['status_name']);
                 $data['created'] = $fmaps_array['fmaps_array'][0]['created'];
                 // Pending, Approved, ...
                 $data['options'] = $fmaps_array['options'];
                 $data['hide_btn'] = 1;
                 $maps_id = $fmaps_array['fmaps_array'][0]['maps_id'];
                 //Complet id with #
                 $map_id = $fmaps_array['fmaps_array'][0]['map_id'];
                 //Id from DB
                 $data['maps_id'] = $maps_id;
                 $data['map_id'] = $map_id;
                 $data['logs'] = Maps_Log::getMapLogs($map_id);
                 if ($data['options'] == "view") {
                     $data['hide_save'] = 1;
                     $regimen_table = 'sync_regimen';
                     $regimen_cat_table = 'sync_regimen_category';
                     $regimen_code = 'r.code';
                     $regimen_desc = 'r.name as description';
                     $regimen_cat_join = 'r.category_id';
                     $regimen_join = 'mi.regimen_id=r.id';
                     $sql_regimen = "SELECT rc.id,r.id as reg_id,rc.Name as name,{$regimen_code},{$regimen_desc},{$regimen_cat_join},mi.total\n\t\t\t\t\t\t\t\t\tFROM {$regimen_table} r\n\t\t\t\t\t\t\t\t\tLEFT JOIN {$regimen_cat_table} rc ON rc.id = {$regimen_cat_join}\n\t\t\t\t\t\t\t\t\tLEFT JOIN maps_item mi ON {$regimen_join}\n\t\t\t\t\t\t\t\t\tWHERE maps_id='{$map_id}'";
                     $query_regimen = $this->db->query($sql_regimen);
                     $regimen_array = $query_regimen->result_array();
                     $regimen_categories = array();
                     foreach ($regimen_array as $value) {
                         $regimen_categories[] = $value['name'];
                     }
                     $regimen_categories = array_unique($regimen_categories);
                     $data['regimen_categories'] = $regimen_categories;
                     $data['regimen_array'] = $regimen_array;
                 }
                 if ($data['options'] == "update") {
                     $data["is_update"] = 1;
                     $data['regimen_categories'] = Sync_Regimen_Category::getAll();
                 } else {
                     $data["is_view"] = 1;
                     $data['regimens'] = Maps_Item::getOrderItems($maps_id);
                 }
             } else {
                 $data['regimen_categories'] = Sync_Regimen_Category::getAll();
                 $period_start = date('Y-m-01', strtotime(date('Y-m-d') . "-1 month"));
                 $period_end = date('Y-m-t', strtotime(date('Y-m-d') . "-1 month"));
                 $code = $this->getActualCode($order_type, $type);
                 $facilities = Sync_Facility::getId($facility_code, $order_type);
                 $duplicate = $this->check_duplicate($code, $period_start, $period_end, $facilities['id'], $type);
                 $data['duplicate'] = $duplicate;
             }
             $facilities = Sync_Facility::getId($facility_code, $order_type);
             $data['facility_id'] = $facilities['id'];
             $data['content_view'] = "orders/fmap_template";
             $data['report_type'] = $order_type;
             $data['facility_object'] = Facilities::getCodeFacility($facility_code);
             $this->base_params($data);
         }
     }
 }