public function add_inventory($organizationId, $productId) { $userType = $this->CI->session->userdata('userType'); $returnArr = array(); $returnArr['stock'] = ''; $returnArr['sellPrice'] = ''; $returnArr['spacePointComisson'] = ''; $returnArr['retailerPrice'] = ''; $returnArr['displayPrice'] = ''; $returnArr['organizationId'] = $organizationId; $returnArr['productId'] = $productId; $returnArr['productName'] = ''; $returnArr['productDescription'] = ''; $returnArr['imageName'] = ''; $returnArr['availableSize'] = ''; $returnArr['product_size'] = ''; $returnArr['productcolorlist'] = $this->CI->product_m->get_product_color_list($productId); $productDetails = $this->CI->product_m->product_brand_image_category_tax_details_row($productId); if (!empty($productDetails)) { $returnArr['productName'] = $productDetails->code; $returnArr['productDescription'] = $productDetails->description; $returnArr['imageName'] = $productDetails->imageName; $returnArr['product_size'] = $productDetails->sizes; } $inventoryDet = $this->CI->product_m->organization_with_product($organizationId, $productId); if (!empty($inventoryDet)) { $this->CI->session->set_flashdata('error', $this->CI->lang->line('error_add_inventory_already')); if ($this->CI->session->userdata('userType') == 'retailer') { redirect(base_url() . $this->CI->session->userdata('userType') . '/product_management'); } if ($this->CI->session->userdata('userType') == 'cse') { redirect(base_url() . $this->CI->session->userdata('userType') . '/check_stock_management/check_stock_list/' . id_encrypt($organizationId)); } } if ($_POST) { $rules = add_inventory_rules(); $returnArr['productcolorlist'] = array_filter($returnArr['productcolorlist']); if (!empty($returnArr['productcolorlist'])) { $rules[] = array('field' => 'availablecolor[]', 'label' => 'color', 'rules' => 'trim|required'); } if (isset($returnArr['product_size']) && !empty($returnArr['product_size'])) { $sizesarray = str_replace(',', '', $returnArr['product_size']); } else { $sizesarray = ''; } if (isset($sizesarray) && !empty($sizesarray)) { $rules[] = array('field' => 'availablesize[]', 'label' => 'size', 'rules' => 'trim|required'); } $returnArr['stock'] = $this->CI->input->post('stock'); $returnArr['sellPrice'] = $this->CI->input->post('sellPrice'); $returnArr['spacePointComisson'] = $this->CI->input->post('spacePointComisson'); $returnArr['retailerPrice'] = $this->CI->input->post('retailerPrice'); $returnArr['displayPrice'] = $this->CI->input->post('displayPrice'); $returnArr['stockvalue'] = $returnArr['stock']; $available_color = ''; if (isset($_POST['availablesize'])) { $sizeArray = $this->CI->input->post('availablesize'); $available_size = array_values($sizeArray); $stockmultiplier = count($available_size); $returnArr['stock'] = $returnArr['stock'] * $stockmultiplier; $returnArr['availablesize'] = implode(',', $available_size); } if (isset($_POST['availablecolor'])) { $colorArray = $this->CI->input->post('availablecolor'); $available_color = array_values($colorArray); $colormultiplier = count($available_color); // $returnArr['stockvalue']= $returnArr['stock']; $returnArr['stock'] = $returnArr['stock'] * $colormultiplier; //$returnArr['availablecolor']=implode(',',$available_size); } //echo "<pre>"; print_r($colorArray); exit; $this->CI->form_validation->set_rules($rules); $this->CI->form_validation->set_error_delimiters('<div class="error">', '</div>'); if ($this->CI->form_validation->run()) { $organizationProductId = $this->CI->product_m->add_organization_product($organizationId, $productId, $returnArr); /*********Inventory History Start******************/ $this->CI->product_m->unactive_old_inventory_history($organizationProductId); $returnArr['organizationProductId'] = $organizationProductId; $returnArr['organizationId'] = $organizationId; $returnArr['productId'] = $productId; $returnArr['quantity'] = $returnArr['stock']; $returnArr['unitPrice'] = $returnArr['sellPrice']; $returnArr['act'] = 1; $inventoryHistoryId = $this->CI->product_m->add_inventory_history($returnArr); $this->CI->custom_log->write_log('custom_log', 'Inventory history id is ' . $inventoryHistoryId); /*********Inventory History End ******************/ $this->CI->custom_log->write_log('custom_log', 'new organizationProductId is ' . $organizationProductId); if ($organizationProductId) { if (!empty($sizeArray)) { foreach ($sizeArray as $size) { $organizationStockId = $this->CI->product_m->add_size_stock($organizationProductId, $returnArr['stockvalue'], $size, $available_color); } } elseif (!empty($colorArray)) { $organizationStockId = $this->CI->product_m->add_color_stock($organizationProductId, $returnArr['stockvalue'], $colorArray); } $this->CI->session->set_flashdata('success', $this->CI->lang->line('success_add_inventory')); $this->CI->custom_log->write_log('custom_log', $this->CI->lang->line('success_add_inventory')); } else { $this->CI->session->set_flashdata('error', $this->CI->lang->line('error_add_inventory')); $this->CI->custom_log->write_log('custom_log', $this->CI->lang->line('error_add_inventory')); } redirect(base_url() . $this->CI->session->userdata('userType') . '/check_stock_management/check_stock_list/' . id_encrypt($organizationId)); } else { //print_r($this->CI->form_validation->error_array()); } } return $returnArr; }
public function add_inventory($product_id = '') { $this->session->set_userdata(array('log_MODULE' => 'add_inventory', 'log_MID' => '')); $this->data['title'] = 'Add Inventory'; if (empty($product_id)) { $this->session->set_flashdata('error', $this->lang->line('error_product_id_not')); redirect(base_url()); } $product_id = id_decrypt($product_id); $used = ''; $this->data['product_attribute'] = $this->product_m->product_attribute($product_id); if ($_POST) { $this->custom_log->write_log('custom_log', 'Form submit ' . print_r($_POST, true)); $used = $this->input->post('used'); $rules = add_inventory_rules(); $this->form_validation->set_rules($rules); $this->form_validation->set_error_delimiters('<div class="error">', '</div>'); if ($this->form_validation->run()) { $sale_price = $this->input->post('sale_price'); $displayed_price = $this->input->post('displayed_price'); $inventory = $this->input->post('inventory'); $commission = $this->input->post('commission'); $invtryDetails = $this->product_m->inventry_details($product_id); $this->custom_log->write_log('custom_log', 'Inventry details ' . print_r($invtryDetails, true)); if (!empty($invtryDetails)) { $inventryID = $invtryDetails->product_detail_id; $totalInventry = $invtryDetails->inventory + $inventory; $this->product_m->update_retailer_product_detail($inventryID, $sale_price, $displayed_price, $totalInventry, $commission, $used); } else { $inventryID = $this->product_m->add_retailer_product_detail($product_id, $sale_price, $displayed_price, $inventory, $commission, $used); } $this->custom_log->write_log('custom_log', 'inventry id is ' . $inventryID); $historyID = $this->product_m->add_retailer_product_detail_history($product_id, $sale_price, $displayed_price, $inventory, $commission, $inventryID, $used); $this->custom_log->write_log('custom_log', 'history id is ' . $historyID); if ($inventryID) { $this->session->set_flashdata('success', $this->lang->line('success_add_product_detail')); $this->custom_log->write_log('custom_log', $this->lang->line('success_add_product_detail')); } else { $this->session->set_flashdata('error', $this->lang->line('error_add_product_detail')); $this->custom_log->write_log('custom_log', $this->lang->line('error_add_product_detail')); } redirect(base_url() . 'retailer/inventory'); } } $this->data['used'] = $used; $this->retailerCustomView('inventory/add_inventory', $this->data); }