<?php $url = site_url('purchase/order/add_purchase_sku'); $add_button = $this->block->generate_add_icon($url); $head = array(lang('sku'), lang('picture'), lang('chinese_name'), lang('store_count'), lang('dueout'), lang('min_stock_number'), lang('on_passage'), lang('purchase_quantity'), lang('price'), lang('options') . $add_button); $data = array(); $index = 0; $sku_url = site_url('purchase/order/update_purchase_sku'); foreach ($purchase_skus as $purchase_sku) { $drop_button = $this->block->generate_drop_icon('purchase/order/drop_sku', "{id: {$purchase_sku->s_id}}", TRUE); $url = $drop_button; $config = array('name' => 's_quantity_' . $index, 'id' => 's_quantity_' . $index, 'value' => isset($purchase_sku->s_quantity) ? $purchase_sku->s_quantity : '', 'maxlength' => '50', 'size' => '4'); $quantity = form_input($config); $config = array('name' => 'sku_price_' . $index, 'id' => 'sku_price_' . $index, 'value' => isset($purchase_sku) ? $purchase_sku->s_price : '', 'maxlength' => '50', 'size' => '8'); $price = form_input($config); $on_way_count = on_way_count(isset($purchase_sku) ? $purchase_sku->s_sku : '[edit]'); $data[] = array($this->block->generate_div("sku_{$purchase_sku->s_id}", isset($purchase_sku) ? $purchase_sku->s_sku : '[edit]') . form_hidden('sku_id_' . $index, $purchase_sku->s_id), "<img src='{$purchase_sku->m_image_url}' width='40' height='30' />", $purchase_sku->b_name_cn, $purchase_sku->m_stock_count, $purchase_sku->dueout_count, $purchase_sku->min_stock_number, $on_way_count, $quantity, $price, $url); echo $this->block->generate_editor("sku_{$purchase_sku->s_id}", 'sku_form', $sku_url, "{id: {$purchase_sku->s_id}, type: 'sku'}"); echo $this->block->generate_editor("sku_quantity_{$purchase_sku->s_id}", 'sku_form', $sku_url, "{id: {$purchase_sku->s_id}, type: 'sku_quantity'}"); $index++; } $common_head = array(lang('provider'), lang('arrival_date'), lang('payment_type'), lang('sku_note')); $payment_options = array(); $payment_types = $this->purchase_order_model->fetch_all_payment_types(); foreach ($payment_types as $payment_type) { $payment_options[$payment_type->status_id] = lang($payment_type->status_name); } $config = array('name' => 'arrival_date', 'id' => 'arrival_date', 'maxlength' => '50', 'size' => '20'); $arrival_date = block_time_picker('arrival_date'); $config = array('name' => 'remarks', 'id' => 'remarks', 'rows' => '5', 'cols' => '40'); $remarks = form_textarea($config);
for ($i = 0; $i < $count; $i++) { if (!in_array($skus[$i], $product_skus)) { $product = $this->purchase_order_model->fetch_product_by_sku($skus[$i]); $product_skus[$skus[$i]] = $product; } else { $product = $product_skus[$skus[$i]]; } $purchaser = get_purchaser_name_by_sku($skus[$i]); $sku_html .= '<div style="margin-top: 5px;">'; if ($product->dueout_count + $product->min_stock_number - ($product->stock_count + on_way_count($skus[$i])) > 0) { $sku_html .= lang('sku') . ': <font color = red >' . get_status_image($skus[$i]) . $skus[$i] . '</font>'; } else { $sku_html .= lang('sku') . ': ' . get_status_image($skus[$i]) . $skus[$i]; } $sku_html .= ' ' . lang('qty_str') . ':' . $qtys[$i] . ' ' . $product->name_cn . ' '; if ($product->stock_count + on_way_count($skus[$i]) < $product->dueout_count + $product->min_stock_number) { $sku_html .= '<font color = red >' . $purchaser . '</font>'; } else { $sku_html .= $purchaser; } $sku_html .= ' ' . lang('storage_warning') . ': ' . $product->min_stock_number; $sku_html .= ' ' . lang('7-days_sales_amounts') . ': ' . $product->sale_in_7_days; $sku_html .= ' ' . lang('30-days_sales_amounts') . ': ' . $product->sale_in_30_days; $sku_html .= ' ' . lang('60-days_sales_amounts') . ': ' . $product->sale_in_60_days; $sku_html .= '</div>'; } $sku_html .= '</div>'; $data[] = array($delay_time['days'] . lang('day') . '<br>' . $delay_time['hours'] . lang('hour'), $item_html, $sku_html, "<abbr title='{$order->descript}'>" . word_limiter($order->descript, 6) . "</abbr>", $order->input_user); } echo block_header(lang('for_the_qt_orders')); echo '<br/>';
public function batch_update_purchase_order_status($tag) { $order_count = $this->input->post('order_count'); $user_id = get_current_user_id(); for ($i = 0; $i < $order_count; $i++) { $order_id = $this->input->post('purchase_order_id_' . $i); $completed_id = fetch_status_id('review_state', 'completed'); $pending_skus_obj_arr = $this->purchase_order_model->fetch_skus($order_id); try { if ($tag === 'batch_review') { $data = array('payment_state' => '1'); $this->purchase_order_model->review_reject_order($order_id, $data); // $this->finance_pending(); } else { $data = array('review_state' => $completed_id); $this->purchase_finance_model->update_purchase_order_by_id($order_id, $data); } foreach ($pending_skus_obj_arr as $pending_sku_obj) { $count = on_way_count($pending_sku_obj->s_sku); $data_product = array('on_way_count' => $count); $this->product_model->update_product_by_sku($pending_sku_obj->s_sku, $data_product); } } catch (Exception $e) { echo lang('error_msg'); $this->ajax_failed(); } } echo $this->create_json(1, lang('stock_check_or_count_successfully')); }
private function _instock_verify($apply_id, $status, $user_id) { if ($status == 1) { $instock_apply = $this->product_model->fetch_instock_apply_count_by_id($apply_id); $new_shelf_code = $this->stock_model->fetch_instock_new_shelf_code($apply_id); if (!$instock_apply || $instock_apply->change_count <= 0) { return; } // update product stock $this->product_model->product_instock_verified($instock_apply->product_id, $instock_apply->change_count, $new_shelf_code); // update apply status $data = array('status' => $status, 'verifyer' => $user_id, 'verify_date' => get_current_time()); $this->product_model->update_instock_apply($apply_id, $data); /* * 更新在途数量。 * **/ $sku = $this->stock_model->get_one('product_basic', 'sku', array('id' => $instock_apply->product_id)); $count = on_way_count($sku); $data_product = array('on_way_count' => $count); $this->product_model->update_product_by_sku($sku, $data_product); /* * End by Cheng * **/ } else { if ($status == -1) { // update apply status $data = array('status' => $status, 'verifyer' => $user_id, 'verify_date' => get_current_time()); $this->product_model->update_instock_apply($apply_id, $data); } } }