Esempio n. 1
0
<?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/>';
Esempio n. 3
0
 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'));
 }
Esempio n. 4
0
 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);
         }
     }
 }