private function process_download_pdf($date = NULL, $part = FALSE) { require_once APPPATH . 'libraries/pdf/PDFMerger.php'; $pdf = new PDFMerger(); if (!$date) { $date = date('Y-m-d'); } $pdf_folder = "/var/www/html/mallerp/static/ems/{$date}/"; $input_user = get_current_user_id(); $priority = fetch_user_priority_by_system_code('shipping'); // director? then set input_user as FALSE, no need to filter it if ($priority > 1) { $input_user = FALSE; } $confirmed_list = $this->epacket_model->fetch_ems_confirmed_list($date, $input_user, $part); if (empty($confirmed_list) or !file_exists($pdf_folder)) { echo 'No pdf for ' . $date; return; } foreach ($confirmed_list as $order) { $track_number = $order->track_number; $pdf_url = $pdf_folder . $track_number . '.pdf'; $sku_pdf_url = $pdf_folder . 'sku_list_' . $track_number . '.pdf'; if (!file_exists($pdf_url)) { continue; } $pdf->addPDF($pdf_url, 'all'); $data = array('downloaded' => 1); $this->epacket_model->update_ems_confirmed_list($order->id, $data); if (!file_exists($sku_pdf_url)) { continue; } $pdf->addPDF($sku_pdf_url, 'all'); } $pdf->merge('download', "ems_eub_{$date}.pdf"); }
public function change_order_shiped() { if (!$this->input->is_post()) { return; } $data = array(); $post_keys = array_keys($_POST); $order_ids = array(); foreach ($post_keys as $key) { if (strpos($key, 'checkbox_select_') === 0) { $order_ids[] = $_POST[$key]; } } $orders = array(); $user_name = $this->get_current_user_name(); /* save sku => qty */ $products = array(); foreach ($order_ids as $order_id) { $order = $this->order_model->get_order($order_id); /* double check the order status * if the order status is not wait for shipping confirmation, * ignore it! */ if ($order->order_status != $this->order_statuses['wait_for_shipping_confirmation']) { continue; } $skus = explode(',', $order->sku_str); $qties = explode(',', $order->qty_str); $j = 0; $error = FALSE; foreach ($skus as $sku) { if (isset($products[$sku])) { $products[$sku] += $qties[$j]; } else { $products[$sku] = $qties[$j]; } $j++; } $weight = $this->order_model->get_order_whole_weight($order->id); $remark = $order->sys_remark; $remark .= sprintf(lang('confirm_shipped_remark'), date('Y-m-d H:i:s'), $user_name); $is_register = $order->is_register; /* * Epacket: */ if (strtoupper($is_register) == 'H') { /* check if there is any available ebay transaction id, or return false */ $paypal_transaction_id = $order->transaction_id; $item_ids = explode(',', trim($order->item_id_str, ',')); $item_ids = array_unique($item_ids); foreach ($item_ids as $item_id) { if (!$this->epacket_model->ebay_transaction_id_exists($item_id, $paypal_transaction_id)) { echo "***1****"; echo $this->create_json(0, lang('no_ebay_transaction_id_info')); return; } } if ($order->ship_weight && $order->ship_confirm_user) { echo "***2****"; echo $this->create_json(0, lang('shipping_weight_exists_no_need_try_again')); return; } $data = array('ship_weight' => $weight, 'order_status' => $this->order_statuses['wait_for_feedback'], 'ship_confirm_date' => date('Y-m-d H:i:s'), 'ship_confirm_user' => $user_name, 'sys_remark' => $remark); $this->order_model->update_order_information($order_id, $data); $this->product_model->update_product_stock_count_by_order_id($order_id); $data = array('order_id' => $order_id, 'transaction_id' => $paypal_transaction_id, 'input_user' => get_current_user_id()); $this->epacket_model->save_epacket_confirm_list($data); $this->script->fetch_epacket_track_number(array('order_id' => $order_id)); //return; } elseif (strtoupper($is_register) == 'EUB') { /*线下eub*/ $data = array('ship_weight' => $weight, 'order_status' => $this->order_statuses['wait_for_feedback'], 'ship_confirm_date' => date('Y-m-d H:i:s'), 'ship_confirm_user' => $user_name, 'sys_remark' => $remark); $this->order_model->update_order_information($order_id, $data); $this->product_model->update_product_stock_count_by_order_id($order_id); $data = array('order_id' => $order_id, 'input_user' => get_current_user_id()); $this->epacket_model->save_specification_epacket_confirm_list($data); $this->ebay_order_model->save_wait_complete_sale($order_id); $this->script->fetch_specification_epacket_track_number(array('order_id' => $order_id)); } else { $data = array('ship_weight' => $weight, 'ship_confirm_user' => $user_name, 'ship_confirm_date' => date('Y-m-d H:i:s'), 'order_status' => $this->order_statuses['wait_for_feedback'], 'sys_remark' => $remark); // use the first time shipping confirmation date if (!empty($order->ship_confirm_date)) { //unset($data['ship_confirm_date']); } //if ($track_number) { //$data['track_number'] = $track_number; //} $this->order_model->update_order_information($order_id, $data); $this->ebay_order_model->save_wait_complete_sale($order_id); //根据订单id扣取库存 $this->product_model->update_product_stock_count_by_order_id($order_id); } // notify customer with email in another process /* $this->events->trigger( 'shipping_confirmation_after', array( 'order_id' => $order_id, ) );*/ /* $this->events->trigger( 'complete_ebay_sale', array( 'order_id' => $order_id, ) ); */ $orders[] = $this->order_model->get_order($order_id); } $type_extra = $user_name . '/' . date('Y-m-d H:i:s'); /*订单清单扣库存 foreach ($products as $sku => $qty) { $this->product_model->update_product_stock_count_by_sku($sku, $qty, TRUE, 'order_outstock', $type_extra,$stock_code); }*/ $code = 'stock'; $priority = fetch_user_priority_by_system_code($code); $all_stock_users = $this->user_model->fetch_users_by_system_code('stock'); foreach ($all_stock_users as $user) { $all_stock_user_ids[$user->u_id] = $user->login_name; } $data = array('orders' => $orders, 'priority' => $priority, 'all_stock_users' => $all_stock_user_ids, 'current_user_id' => get_current_user_id()); $this->template->write_view('content', 'shipping/deliver_management/change_order_shiped', $data); $this->template->render(); }
public function show_purchaser_filter() { if ($this->CI->is_super_user()) { return TRUE; } if (!isset($this->priority)) { $this->priority = fetch_user_priority_by_system_code('purchase'); } return $this->priority > 1; }