コード例 #1
0
     $result .= '<input type="hidden" id="log_value_ged_hidden" value="' . displayCurrency('EUR', $log_total_ged) . '" />';
     $result .= '<input type="hidden" id="log_value_dhl_hidden" value="' . displayCurrency('EUR', $log_total_dhl) . '" />';
     echo utf8_encode($result);
 } elseif ($_POST['me_action'] == 'SETSENT') {
     $logistic_id = tep_db_prepare_input($_POST['logistic_id']);
     $packages = $class_ml->retrievePackages($logistic_id, true);
     foreach ($packages as $type => $pack) {
         if ($type == 'P') {
             use_class('jng_sp_packages');
             $class_jp = new jng_sp_packages();
             use_class('jng_sp_orders');
             $class_jo = new jng_sp_orders();
             foreach ($pack as $p) {
                 $items = $class_jp->sendPackage($p['packages_id']);
                 foreach ($items as $items_id) {
                     $class_jo->updateItemStatus($items_id, '7', $session_userinfo['username']);
                 }
             }
         } elseif ($type == 'J') {
             use_class('minierp_packages');
             $class_mp = new minierp_packages();
             use_class('orders');
             $class_o = new orders();
             foreach ($pack as $p) {
                 $items = $class_mp->sendPackage($p['packages_id']);
                 foreach ($items as $items_id) {
                     $class_o->updateProductStatus($items_id, '7', $session_userinfo['username']);
                 }
             }
         } else {
             use_class('depot_orders');
コード例 #2
0
                $order->sendPrepaymentAutoCancelNotification();
                $logger->write('sent cancel notification ' . $logger_oid);
            }
        } elseif ($o['sent_count'] == '2') {
            //Cancel order and invoice
            if ($last_sent_date_timestamp < strtotime('-' . $tolerance_before_really_cancelling_orders)) {
                //default cancel status
                if ($o['order_type'] == Order::ORDER_TYPE_JULIE_GRACE) {
                    $status = '12';
                    foreach ($items_id as $item_id) {
                        $class_o->updateProductStatus($item_id, $status, 'auto-set');
                    }
                } elseif ($o['order_type'] == Order::ORDER_TYPE_SALES_PARTNER) {
                    $status = '10';
                    foreach ($items_id as $item_id) {
                        $class_jo->updateItemStatus($item_id, $status, 'auto-set');
                    }
                }
                $logger->write('canceled ' . $logger_oid);
                if (count($invoice->detail) > 0) {
                    //status 3 = INVOICE CANCELED
                    $invoice->updateCompleteStatus('3');
                    $logger->write('canceled invoice ' . $invoice->detail['invoice_id']);
                }
            }
        }
    }
}
$logger->close();
echo 'Done!';
tep_db_close();
コード例 #3
0
         //Handle update special production sub status like :
         //4-P   (Pullrack),
         //4-S7  (Solder Setting Line 7),
         //4-A   (Ampol & QC),
         //4-L   (Laboratory)
         $status_new_tmp = explode('-', $status_new);
         $sub_status = $status_new_tmp[1];
         if ($status_current != '4' && $status_current != '3') {
             $result['status'] = 'BADSTATUS';
             $result['result_msg'] = oiErrorStatus($status_current);
         } elseif ($item['prod_status'] == $sub_status) {
             $result['status'] = 'BADSTATUS';
             $result['result_msg'] = oiErrorStatus($item['prod_status']);
         } else {
             $result['status'] = 'UPDATED';
             $class_jo->updateItemStatus($item_id, $status_new, $user_name);
         }
     } else {
         //Handle update status
         $result['status'] = 'UPDATED';
         $class_jo->updateItemStatus($item_id, $status_new, $user_name);
         if ($status_current == '4' && $status_new == '5' && $item['prod_status'] != '') {
             tep_db_perform('jng_sp_orders_items', array('prod_status' => ''), 'update', "jng_sp_orders_items_id='{$item_id}'");
         }
         if ($status_current == '4' && $status_new == '5' && $at_machine > 0) {
             //IF PRODUCT IS FINISH, ALSO SET ANTITARNISH USAGE
             $silver_usage = $class_jo->calcSilverUsage($item_id);
             antitarnishUsageAdd($at_machine, $silver_usage);
         }
     }
 }
コード例 #4
0
     //Don't need to do anything for order with flag ds_prioritized 1, just wait for stock
     if ($oi['mode'] == modeKey('MMO')) {
         $items_mmo[] = $oiid;
     } elseif ($oi['mode'] == modeKey('MTO')) {
         $items_mto[] = $oiid;
     }
 } elseif ($oi['is_outsourced']) {
     //Handle orders for outsourced products with no stock
     if ($oi['status'] == '8' && $oi['shipping_window_is_opened']) {
         //no stock and shipping windows is already opened
         if ($oi['order_item_total'] == 1) {
             //SET AS MTO IF SINGLE PRODUCT ORDER
             //stop waiting and move products back to New to become MTO
             $items_mto[] = $oiid;
             if ($order_type == 'SP') {
                 $class_jo->updateItemStatus($oiid, '1', 'auto-set');
             } elseif ($order_type == 'JG') {
                 $class_o->updateProductStatus($oiid, '1', 'auto-set');
             }
         } else {
             $items_mmo[] = $oiid;
             $item_do = $class_do->transferFromRealOrder(SEGMENT_ID_HAMBURG, $order_type, $oiid);
         }
     } else {
         //keep waiting if shipping window is not yet opened
         //check if product is not yet moved to Depot/Mixed
         if ($oi['status'] != '8') {
             //set order as DSO and move items to Depot/Mixed
             $items_dso[] = $oiid;
             if ($order_type == 'SP') {
                 $class_jo->updateItemStatus($oiid, '8', 'auto-set');
コード例 #5
0
            $items = $class_o->retrieveProducts($order_id);
            foreach ($items as $item) {
                if ($item['status'] == $REQUIRED_STATUS) {
                    $class_o->updateProductStatus($item['orders_products_id'], $UPDATED_STATUS, $username);
                }
                if ($item['status'] == $REQUIRED_STATUS || $item['status'] == $UPDATED_STATUS) {
                    $update_counter[] = $idcounter;
                }
            }
        } else {
            $items = $class_jo->retrieveItems($shipment_id, true);
            $idcounter = 'SP' . $shipment_id;
            foreach ($items as $item) {
                if ($item['status'] == $REQUIRED_STATUS) {
                    $osda = array('shipment_date' => $shipment_date, 'idcode_ship' => $idcode_ship, 'idcode_ret' => $idcode_ret);
                    tep_db_perform('jng_sp_orders', $osda, 'update', "shipment_id='{$shipment_id}'");
                    $class_jo->updateItemStatus($item['jng_sp_orders_items_id'], $UPDATED_STATUS, $username);
                }
                if ($item['status'] == $REQUIRED_STATUS || $item['status'] == $UPDATED_STATUS) {
                    $update_counter[] = $idcounter;
                }
            }
        }
    }
}
$result = array();
$result['filename'] = $_POST['filename'];
$result['orders_sent'] = count($reference);
$result['orders_updated'] = count(array_unique($update_counter));
ajaxReturn($result);
tep_db_close();
コード例 #6
0
ファイル: packaging.php プロジェクト: blasiuscosa/manobo-2008
         //If no usable package found for this SP, create 1
         $package_id = $class_jp->createNew($order['jng_sp_id']);
     } else {
         //If usable package found fo this SP, use it
         $package_id = $packages[0]['jng_sp_packages_id'];
     }
     //Add product to package and update product status
     $sp_id = $order['jng_sp_id'];
     if (in_array($sp_id, $order_show_sp_info)) {
         use_class('jng_sp');
         $class_sp = new jng_sp();
         $sp = $class_sp->retrieveDetail($sp_id);
         $sp_name = $sp['package_prefix'];
     }
     $class_jp->addItem($package_id, $id);
     $class_jo->updateItemStatus($id, $new_status, $session_userinfo['username']);
     $result .= printPackageTip('P', $box_date, '', $sp_name, $sp_class);
     saveIDforPrintingOrderLabel($id_raw);
     $result .= '<input type="hidden" id="print_order_id" value="' . $id_raw . '" />';
 } else {
     //If order has more than 1 product, check if all products status are finish
     $orders_ready = true;
     foreach ($items as $i) {
         if ($i['status'] != $old_status) {
             $orders_ready = false;
         }
     }
     if ($orders_ready) {
         //If all products status are finish, request barcode entry of other products
         $inwb = array();
         $infb = array();
コード例 #7
0
        echo '<pre>';
        var_dump($_GET);
        echo '</pre>';
        echo '<br />';
        echo '<br />';
        echo 'UPDATED!';
    } elseif ($type == 'SP') {
        $allowed_sp_id = array('6');
        use_class('jng_sp_orders');
        $class_jo = new jng_sp_orders();
        $order = $class_jo->retrieveDetail($orders_id);
        if (in_array($order['jng_sp_id'], $allowed_sp_id)) {
            $items = $class_jo->retrieveItems($orders_id);
            foreach ($items as $i) {
                if ($i['status'] == $old_status) {
                    $class_jo->updateItemStatus($i['jng_sp_orders_items_id'], $new_status);
                }
            }
            echo '<pre>';
            var_dump($_GET);
            echo '</pre>';
            echo '<br />';
            echo '<br />';
            echo 'UPDATED!';
        } else {
            echo 'SORRY, THIS FUNCTION IS NOT ALLOWED FOR THIS SP!!';
        }
    } else {
        echo 'BAM! ORDER TYPE UNKNOWN!!';
    }
}
コード例 #8
0
                     tep_db_perform('orders', $osda, 'update', "orders_id='{$order_id}'");
                     foreach ($items as $item) {
                         if (in_array($item['status'], $REQUIRED_STATUS)) {
                             $class_o->updateProductStatus($item['orders_products_id'], $UPDATED_STATUS, 'auto-set');
                         }
                     }
                 }
             } else {
                 $items = $class_jo->retrieveItems($shipment_id, true);
                 if (count($items) > 0) {
                     $updated = true;
                     $osda = array('shipment_date' => $shipment_date, 'idcode_ship' => $idcode_ship, 'idcode_ret' => $idcode_ret);
                     tep_db_perform('jng_sp_orders', $osda, 'update', "shipment_id='{$shipment_id}'");
                     foreach ($items as $item) {
                         if (in_array($item['status'], $REQUIRED_STATUS)) {
                             $class_jo->updateItemStatus($item['jng_sp_orders_items_id'], $UPDATED_STATUS, 'auto-set');
                         }
                     }
                 }
             }
             $result['STATUS'] = $updated ? 'Updated' : 'NotUpdated';
             $email_sent = false;
             if ($updated) {
                 $order = new Order(null, null, $shipment_id);
                 $email_sent = $order->sendDeliveryNotification();
             }
             $result['EMAIL'] = $email_sent ? 'EmailSent' : 'NoEmail';
         }
         $logger->write(implode('|', $result));
     }
 }
コード例 #9
0
                        $reference = $order['shipment_id'];
                        $mc_order = mc_orderDetail($order['jng_sp_id'], $sp_detail['package_prefix'], $pcl_file, $reference, $display_counter, $shipping_company, $shipping_name, $shipping_address, $order['customer_shipping_city'], $order['customer_shipping_postcode'], $order['payment_method'], $cod_value, '', $order['need_repackaging']);
                        if ($use_amvd_logistic) {
                            $mc_order['packaging_box'] = 'Box ' . amazonGetBoxAvailable($order['jng_sp_id'], $order['order_id'], $shipping_address);
                        }
                    }
                } else {
                    //check if shipping window is reached:
                    //if not yet reached, then suggest bin in and udpate order
                    //status to Depot/Mixed with DS Priority = 1
                    $result['recommend_binin'] = '1';
                    $items = $class_jo->retrieveItems($order_id);
                    foreach ($items as $key => $item) {
                        if ($item['status'] == $req_status) {
                            $items_id = $item['jng_sp_orders_items_id'];
                            $class_jo->updateItemStatus($items_id, '8', $username);
                            $class_jo->updateItemStockStatus($items_id, '0');
                            $class_jo->updateItemDSpriority($items_id, '1');
                        }
                    }
                }
            }
        }
    }
} elseif ($order_type == 'JG') {
    $i_temporary = $class_o->retrieveProductDetail($item_id);
    if (isset($i_temporary['status']) && $i_temporary['status'] != $req_status) {
        $i_status = $class_o->productStatusName();
        $result['status'] = 'BADSTATUS';
        $result['badstatus'] = $i_status[$i_temporary['status']];
        $result['recommend_binin'] = recommendBinIn($i_temporary['status']);
コード例 #10
0
 function removeFromPackage($logistic_id, $logistic_partner, $barcode_id, $new_status, $updated_by = '')
 {
     global $session_userinfo;
     if ($updated_by == '') {
         $updated_by = $session_userinfo['username'];
     }
     $tmp_bcid = explode('-', $barcode_id);
     $type = strtoupper($tmp_bcid[0]);
     $oiid = $tmp_bcid[1];
     $table_name = '';
     if ($type == 'SP') {
         $table_name = 'jng_sp_packages_items';
         $field = 'jng_sp_orders_items_id';
     } elseif ($type == 'JG') {
         $table_name = 'minierp_packages_products';
         $field = 'orders_products_id';
     } elseif ($type == 'DP') {
         $table_name = 'depot_packages_contents';
         $field = 'depot_orders_id';
     }
     $result = '<span>Order <strong>"' . $barcode_id . '"</strong> not found on any packages!</span>';
     if ($table_name != '') {
         $q_check = tep_db_query("SELECT * FROM {$table_name} WHERE {$field} = '{$oiid}'");
         if (tep_db_num_rows($q_check) > 0) {
             tep_db_query("DELETE FROM {$table_name} WHERE {$field} = '{$oiid}'");
             //SAVE AS HISTORY
             $dt_hist = array();
             $dt_hist['type'] = $type;
             $dt_hist['order_items_id'] = $oiid;
             $dt_hist['removed_by'] = $updated_by;
             $dt_hist['updated_to_status'] = $new_status;
             tep_db_perform('minierp_packages_orders_excluded', $dt_hist);
             if ($type == 'SP') {
                 use_class('jng_sp_orders');
                 $class_jo = new jng_sp_orders();
                 $class_jo->updateItemStatus($oiid, $new_status, $updated_by, 'J', false);
             } elseif ($type == 'JG') {
                 use_class('orders');
                 $class_o = new orders();
                 $class_o->updateProductStatus($oiid, $new_status, $updated_by, 'J', false);
             } elseif ($type == 'DP') {
                 use_class('depot_orders');
                 $class_do = new depot_orders();
                 $class_do->updateStatus($oiid, $new_status, $updated_by, false);
             }
             //REGENERATE LIST OF CONTENTS ON CERTAIN LOGISTIC PACKAGE
             $this->generateContents($logistic_id, $logistic_partner);
             $result = '<span class="green">Order <strong>"' . $barcode_id . '"</strong> successfully removed from package and set its status as complete!';
             $result .= '<br/><br/><strong>PLEASE REPRINT updated Commercial Invoice for logistic process!</span></strong>';
         }
     }
     return $result;
 }