Files
votianng/html/customer/jb_list.php
2026-03-29 10:34:57 +02:00

955 lines
46 KiB
PHP

<?php
/*=======================================================================
*
* jb_list.php (../customer/)
*
* Autor: Marc Vollmann
*
=======================================================================*/
include_once ("../include/mcglobal.inc.php");
include_once ("../include/auth.inc.php");
include_once ("../include/caglobal.inc.php"); // For courier-list only
include_once ("../include/copy_job.inc.php"); // E.g. for "Storno"
include_once ("../include/ranking.inc.php"); // Checks ranking to be lost or not
// Check HTTP-Parameters
getSecHttpVars("1",array("f_act", "customerId", "cscIdRoot", "cscIdActual", "numOfStationSearchs",
"jb_status", "jb_costcenter", "jb_sort", "jb_sel_cs",
"day_from", "month_from", "year_from", "day_to", "month_to", "year_to",
"f_search", "f_stationBasedSearch", "jb_id_storno", "f_jb_id", "f_cr_sid", "dbhistory", "deactivateMenu"));
getLanguage(__FILE__);
$pageTitel = getLngt("AUFTRAGSLISTEN");
include_once ("../admin/menu.php");
include_once ("../include/html.inc.php");
include_once ("../include/inc_job.inc.php");
getCurrentScript(__FILE__);
// Check for authentication access and granted rights
$usrAccessArray["cs"] = "1";
authCheckForAccess($hq_id, $usr_id, $emp_id, "1", $customerId, $cscIdRoot, $cscIdActual);
// Check GLOBAL parameter to use "related customer" or "normal payer" (!!!!)
$globalParUseRelatedCustomer = getParameterValue("0", "GLOBAL_USE_RELATED_CUSTOMER", "0");
$costcenterPayerOrRelatedClause = "jb.csc_id_payer";
$doCscSubst = true;
if ($doCscSubst) :
// WITH CASH PAYER
$costcenterPayerOrRelatedClause = "<SUBST_CSC>";
endif;
if ($globalParUseRelatedCustomer == "1") :
$costcenterPayerOrRelatedClause = "jb.csc_id_related";
endif;
// Get tax value
$globalParSalesTaxRate = getParameterValue("0", "GLOBAL_SALES_TAX", "0");
if ($globalParSalesTaxRate == "" || !is_numeric($globalParSalesTaxRate)) : $globalParSalesTaxRate = 19; endif;
if ($numOfStationSearchs == "" || !is_numeric($numOfStationSearchs)) :
$numOfStationSearchs = 0;
endif;
// Search value
$f_search = trim($f_search);
$f_job_search = $f_search;
if ($globalParUseRelatedCustomer == "1" && $f_job_search != "" && !is_numeric($f_job_search)) :
$f_job_search = getJobIdSearchOutput($f_job_search);
endif;
if ($jb_status == "") :
$jb_status = "0";
$tmpJbStateDefault = trim(getParameterValue($emp_id, "CUSTOMER_MASK_JOBLIST_JBSTATUS_DEFAULT", "0"));
if ($tmpJbStateDefault != "" && is_numeric($tmpJbStateDefault)) :
$jb_status = $tmpJbStateDefault;
endif;
endif;
// Attention: Parameter also used for meta customer !!!
if ($jb_costcenter == "") :
$jb_costcenter = "1";
$tmpCscDefault = trim(getParameterValue($emp_id, "CUSTOMER_MASK_JOBLIST_CSC_DEFAULT", "0"));
if ($tmpCscDefault != "" && is_numeric($tmpCscDefault)) :
$jb_costcenter = $tmpCscDefault;
endif;
endif;
// Flag for station based search
if ($f_stationBasedSearch == "" || count($f_stationBasedSearch) == 0) :
$f_stationBasedSearch = false;
else:
$f_stationBasedSearch = true;
endif;
// Check range of date. All fields have to be set
if ($day_from == "" || $month_from == "" || $year_from == "" ||
$day_to == "" || $month_to == "" || $year_to == "") :
// Initialize date-ranges to the current date
$fromDateRange = getDateTime("3") . " 00:00:00";
$toDateRange = getDateTime("3") . " 23:59:59";
$day_from = getDateTime("day");
$month_from = getDateTime("month");
$year_from = getDateTime("year");
$day_to = getDateTime("day");
$month_to = getDateTime("month");
$year_to = getDateTime("year");
else :
$fromDateRange = $year_from . "-" . pad($month_from,2) . "-" . pad($day_from,2) . " 00:00:00";
$toDateRange = $year_to . "-" . pad($month_to,2) . "-" . pad($day_to,2) . " 23:59:59";
endif;
// Init
$empIdMaster = "";
$cr_id_order_list = "";
$cr_id_order_list2 = "";
$vht_id_str_js = "";
// Decision to use the archive or normal tables
getDBNames($dbhistory, $year_from);
// All open jobs in the future have to be displayed
// if ($jb_status == "0" || $jb_status == "9") : $toDateRange = ""; endif;
// Map jobs
// if ($jb_status == "8" || $jb_status == "9") : $jb_status == "0"; endif;
// Secure-check of the association between customer, costcenter and employee
$tmpFields = array("cs_id",$customerId,"csc_id",$cscIdActual);
if (existsEntry("costcenter",$tmpFields)) :
// *** Save job-informations (Begin) ***
if ($f_act == "storno" && $jb_id_storno != "") :
// Check job is generated by customer
$jbStornoCscId = getFieldValueFromId("job","jb_id",$jb_id_storno,"csc_id");
$jbStornoUsrId = getFieldValueFromId("job","jb_id",$jb_id_storno,"emp_id"); // "emp_id" contains the "usr_id"
$jbStornoEmpUsrType = getFieldValueFromId("user","usr_id",$jbStornoUsrId,"usr_type");
// Set the current timestamp to store the data
$currentTime = getDateTime("0");
if ($jbStornoCscId > 0 || $jbStornoEmpUsrType == "2") :
TA("B");
// Get current jb_status and cr_id of the storno job
$jbStatus = getFieldValueFromId("job","jb_id",$jb_id_storno,"jb_status");
$jb_storno_costs = "2";
// Update the job-entry:
// jb_storno = 1 (costs because of cs-storno), jb_status = 2 (finished), jb_finishtime = NOW()
$res = updateStmt("job", "jb_id", $jb_id_storno,
array("jb_storno", $jb_storno_costs, "usr_id_storno", $usr_id, "jb_status", "2", "jb_finishtime", $currentTime, "jb_freetext_3", getLngt("Storno durch Kunde im Kundenzugang!")),
"(jb_status = '9' OR jb_status = '8') AND (isnull(jb_storno) OR jb_storno = '0')");
if ($db->affected_rows > 0) :
// Check for storno-job has a standing order
/*
$jbPermanent = getFieldValueFromId("job","jb_id",$jb_id_storno,"jb_permanent");
if ($jbPermanent != "" && $jbPermanent > "0") :
// Check for the continued existence of the standing order rule
if ($jb_storno_rhythm == "2") :
// Update row for termnination of the standing order
updateStmt("job", "jb_id", $jb_id_storno, array("jb_permanent", "0"));
endif;
endif;
*/
// Call for generation of a new job with negative invoice data
if ($globalParUseRelatedCustomer != "1") :
copy_job($jb_id_storno, $jb_storno_costs, $jbStatus, true);
else :
// Remove commission no.
updateStmt("tour", "jb_id", $jb_id_storno, array("tr_commission_no", ""));
endif;
updateStmt("tour", "jb_id", $jb_id_storno, array("tr_commission_no", ""));
// Write logdata into log database
writeToLogDB("10",$hq_id,$jb_id_storno,$usr_id,"","","","COSTS=NO|JBP_REMOVAL=NO|FDS_REMOVAL=NO|CUSTOMER_STORNO=YES");
$statusMessage = getLngt("Der Auftrag") . " " . $jb_id_storno . " " . getLngt("wurde storniert");
endif;
TA("C");
TA("E");
else :
// MELDUNG: STORNO NICHT MÖGLICH!
endif;
endif;
// *** Save job-informations (End) ***
if ($f_act == "setCourier" && $f_cr_sid != "" && $f_jb_id != "") :
// Get current cr_id of the job before changing the courier
$crIdCurrent = getFieldValueFromId("job","jb_id",$f_jb_id,"cr_id");
$crIdOrderCurrent = getFieldValueFromId("job","jb_id",$f_jb_id,"cr_id_order");
$jbHqId = getFieldValueFromId("job","jb_id",$f_jb_id,"hq_id_dispo");
if ($jbHqId == "" || !is_numeric($jbHqId) || $jbHqId == "0") : $jbHqId = $hq_id; endif;
if ($f_cr_availabletime_reset != "1") : $f_cr_availabletime_reset = "0"; endif;
// getDbFieldValues("courier",array("cr_id","cr_occupied"),array("cr_sid",$f_cr_sid));
$cr_id = getFieldValueFromClause("courier","cr_id","cr_sid = '" . $f_cr_sid . "' ORDER BY cr_logintime");
$jb_status_new = "0";
$cr_id_new = "";
if ($cr_id == ""): // Offline-Dispo
$cr_id = getFieldValueFromClause("couriervehicle","cr_id","crvh_sid = '" . $f_cr_sid . "' ORDER BY crvh_export_time DESC");
if ($cr_id != "")
$jb_status_new = "1";
$cr_id_new = $cr_id;
endif;
if ($cr_id != "") :
// RANKING
// Special treatment according to vehicletype ("BUS" or greater will NOT be revoked if job-order is "PKW")
// Get cr.vht_id and jb.vht_id
/*
$arLooseRanking = "1"; // Init: Loose ranking "yes"
$courierVhtId = getFieldValueFromId("courier","cr_id",$cr_id,"vht_id");
$jobVhtId = getFieldValueFromId("job","jb_id",$f_jb_id,"vht_id");
if ($courierVhtId != "" && $jobVhtId != "" && $courierVhtId >= getVhtId("5", "transporter_01") && $jobVhtId <= getVhtId("3", "car_02")) :
$arLooseRanking = "0"; // Loose ranking "no"
endif;
*/
// Special treatment according areas
$jbAdressIdStart = getFieldValueFromClause("tour", "ad_id", "jb_id = '" . $f_jb_id . "' AND tr_sort = '1'");
$jbZipcodeStart = getFieldValueFromId("address", "ad_id", $jbAdressIdStart, "ad_zipcode");
// 29.01.2018: No check for looseRanking if the job is in the future
$sqlStmt = "SELECT jb_ordertime, srvpt_traveltime, job.hq_id_dispo, DATE_SUB(jb_ordertime, INTERVAL GREATEST(srvpt_traveltime, 30) MINUTE) AS datesub, UNIX_TIMESTAMP(DATE_SUB(jb_ordertime, INTERVAL GREATEST(srvpt_traveltime, 30) MINUTE)) AS unixtimestamp" .
" FROM serviceplz, serviceplztraveltime, job" .
" WHERE serviceplz.srvp_id = serviceplztraveltime.srvp_id AND srvp_plz = '" . $jbZipcodeStart . "' AND serviceplztraveltime.hq_id = job.hq_id_dispo AND jb_id = " . $f_jb_id;
// writeLog_("../log/jb_list_", $sqlStmt);
$res = $db->query($sqlStmt);
if ($row = $res->fetch_assoc()):
// writeLog_("../log/jb_list_", "jb_id = " . $f_jb_id . ", jbZipcodeStart = " . $jbZipcodeStart . ", srvpt_traveltime = " . $row['srvpt_traveltime'] . ", hq_id = " . $row["hq_id_dispo"] . ", jb_ordertime = " . $row['jb_ordertime'] . ", datesub = " . $row['datesub'] . ", unixtimestamp = " . $row['unixtimestamp']);
$unixtimestamp = $row['unixtimestamp'];
endif;
$res->free();
$arLooseRanking = "0";
if ($unixtimestamp < time()):
// writeLog_("../log/jb_list_", "looseRanking will be checked\n");
$arLooseRanking = looseRanking($cr_id, $jbZipcodeStart, $jbHqId);
else:
// writeLog_("../log/jb_list_", "looseRanking will _not_ be checked\n");
endif;
// Check first that courier is NOT occupied
// $cr_occupied = getFieldValueFromId("courier", "cr_id", $cr_id, "cr_occupied");
// if ($cr_occupied == "0") :
// if (getCountOfTable("job","cr_id_order = '" . $cr_id . "' AND (jb_status = '1' OR jb_status = '0') AND (isnull(jb_globaljob) or jb_globaljob = '0')") == 0) :
$currentTime = getDateTime("0");
TA("B");
// Update job
// According to be TA-safe the WHERE-Clause depends on the current list the user is in
$jbStatusString = " (jb_status = '8' OR jb_status = '9' OR jb_status = '0' OR jb_status = '1') ";
// if (is_numeric($jb_status)) : $jbStatusString = "jb_status = '" . $jb_status . "'"; endif;
$res = updateStmt("job", "jb_id", $f_jb_id, array("cr_id", $cr_id_new, "cr_id_order", $cr_id, "jb_status", $jb_status_new, "cr_sid", $f_cr_sid, "jb_globaljob", "0", "jb_autoranking", "0"), $jbStatusString);
if ($db->affected_rows > 0) :
// Set current assigning time for revoking a job if not taken by the courier
if (existsEntry("autoranking",array("jb_id",$f_jb_id,"cr_id",$cr_id))) :
updateStmt("autoranking", "jb_id", $f_jb_id, array("ar_challenge", "0", "ar_lastassigntime", $currentTime, "ar_looseranking", $arLooseRanking, "ar_locating", "0"),"cr_id = '" . $cr_id . "'");
else :
insertStmt("autoranking", array("jb_id", $f_jb_id, "cr_id", $cr_id, "ar_challenge", "0", "ar_lastassigntime", $currentTime, "ar_looseranking", $arLooseRanking, "ar_locating", "0"));
endif;
// Insert PDA command to remove job (take cr_id/cr_id_order before changing)
$currentTimePDA = getDateTime("datetime_plus_offset", array(0,0,30,0,0,0), $formatStr = "Y-m-d H:i:s");
if ($crIdCurrent != "" && $crIdCurrent != "0") :
insertPDACommand($jbHqId, $crIdCurrent, "4", "1", $f_jb_id, $currentTimePDA, "");
endif;
if ($crIdOrderCurrent != "" && $crIdOrderCurrent != "0" && $crIdOrderCurrent != $crIdCurrent) :
insertPDACommand($jbHqId, $crIdOrderCurrent, "4", "1", $f_jb_id, $currentTimePDA, "");
endif;
// Reset availabletime of the OLD courier if requested by the disposition manually
if ($f_cr_availabletime_reset == "1") :
updateStmt("courier", "cr_id", $crIdCurrent, array("cr_availabletime", $currentTime));
endif;
// Write logdata into log database
writeToLogDB("7",$jbHqId,$f_jb_id,$usr_id,$cr_id,$f_cr_sid,"","LOST_RANKING=" . ($arLooseRanking == "1" ? "YES" : "NO"));
// Survey
checkJobForSurvey($f_jb_id);
endif;
TA("C");
TA("E");
// else :
// $statusMessage = getLngt("Dem Fahrzeug") . " " . $f_cr_sid . " " . getLngt("wurde zwischenzeitlich ein Auftrag zugewiesen! Bitte ein anderes Fahrzeug wählen.");
// endif;
endif;
endif;
// Get the array for formatting the database-values for the output according to the defined type
$outputFormatField = defineOutputFormats();
// Get the pathname of the actual costcenter
$tmpFields = getFieldsValueFromId("costcenter","csc_id",$cscIdActual,array("csc_path","csc_name"));
$cscPathActual = $tmpFields[0];
$cscNameActual = $tmpFields[1];
// Get status of the customer according to being meta customer
$isMetaCs = "0";
if (existsEntry("customer",array("cs_id_parent",$customerId))) :
$isMetaCs = "1";
endif;
// --- JOB -------------------
// Enable special customer to make cancellation
$parCancellationEnabled = getParameterValue("0", "CUSTOMER_MASK_JOBLIST_CANCELLATION_ENABLED_" . $customerId, "0");
// Enable current headquarters to display cancelled jobs
$parDisplayCancelledJobsEnabled = getParameterValue("0", "CUSTOMER_MASK_JOBLIST_DISPLAY_CANCELLED_JOBS", $hq_id);
// Enable current headquarters to display cancelled jobs
$parCscIdPayerCash = getParameterValue("0", "CSC_ID_PAYER_CASH", $hq_id);
// Get state of customer to be abled to place jobs to favoured couriers
$parDispoFavEnabled = getParameterValue("0", "CUSTOMER_MASK_JOBLIST_DISPO_FAV_ENABLED_" . $customerId, "0");
// Enable special customer to be able to search in field "tr_remark"
// $parSearchByRemarkEnabled = getParameterValue("0", "CUSTOMER_MASK_JOBLIST_SEARCH_BY_REMARK_ENABLED_" . $customerId, "0");
$parSearchByRemarkEnabled = "1";
// Enable special customer for "tr_remark" being displayed
// $parDisplayTourRemarkEnabled = getParameterValue("0", "CUSTOMER_MASK_JOBLIST_DISPLAY_TOUR_REMARK_ENABLED_" . $customerId, "0");
$parDisplayTourRemarkEnabled = "1";
// Enable special customer to be able to search in address fields
$parSearchByAddressEnabled = getParameterValue("0", "CUSTOMER_MASK_JOBLIST_SEARCH_BY_ADDRESS_ENABLED_" . $customerId, "0");
if ($f_stationBasedSearch) :
$titles = getLngt("Nr.").",".getLngt("Kommissionsnr.").",".getLngt("Kostenstelle").",".getLngt("Firma").",,".getLngt("Straße und Hausnr.").",".getLngt("PLZ").",".getLngt("Ort").",".getLngt("Fahrz.").",".getLngt("Auftragszeit").",".getLngt("Kurier");
$titles .= ($parDisplayTourRemarkEnabled == "1" ? ",".getLngt("Bemerkung") : ""); // Tour remark
$titles .= ($jb_status != "2" ? ",".getLngt("Bearbeiten") : ""); // Edit job
$fields = "jb_id,tr_commission_no,csc_name,tr_comp,tr_comp2,streethsno,ad_zipcode,ad_city,vht_value,jb_ordertime,cr_sid";
$fields .= ($parDisplayTourRemarkEnabled == "1" ? ",tr_remark" : "");
$fields .= ($jb_status != "2" ? ",jb_edit" : "");
$aligns = "r,l,l,l,l,l,c,l,c,c,c";
$aligns .= ($parDisplayTourRemarkEnabled == "1" ? ",l" : "");
$aligns .= ($jb_status != "2" ? ",r" : "");
else :
// Initialize
$titles = trim(getParameterValue($emp_id, "CUSTOMER_MASK_JOBLIST_TITLES", "0"));
if ($titles == "") : $titles = trim(getParameterValue("0", "CUSTOMER_MASK_JOBLIST_TITLES_" . $customerId, "0")); endif;
$fields = trim(getParameterValue($emp_id, "CUSTOMER_MASK_JOBLIST_FIELDS", "0"));
if ($fields == "") : $fields = trim(getParameterValue("0", "CUSTOMER_MASK_JOBLIST_FIELDS_" . $customerId, "0")); endif;
$aligns = trim(getParameterValue($emp_id, "CUSTOMER_MASK_JOBLIST_ALIGNS", "0"));
if ($aligns == "") : $aligns = trim(getParameterValue("0", "CUSTOMER_MASK_JOBLIST_ALIGNS_" . $customerId, "0")); endif;
// if ($jb_costcenter == "2" && $isMetaCs == "0") :
if ($titles == "" || $fields == "" || $aligns == "") :
$titles = getLngt("Nr.").",".getLngt("Preis").",".getLngt("Kommissionsnr.").",".getLngt("Referenznr.").",".getLngt("Kostenstelle").",".getLngt("Firma").",,".getLngt("Kunde").",".getLngt("Startadresse").",,".getLngt("Zieladresse").",".getLngt("Fahrz.").",".getLngt("Auftragszeit").",".getLngt("Kurier");
$titles .= ($jb_status != "2" && $parDispoFavEnabled == "1" ? ",".getLngt("Annahme") : ""); // Taketime
$titles .= ($jb_status != "2" ? ",".getLngt("Bearbeiten") : ""); // Edit job
$titles .= (($parDisplayCancelledJobsEnabled == "1" && $jb_status == "2") || ($parCancellationEnabled == "1" && $jb_status != "2") ? ",".getLngt("Storno") : ""); // Cancel job
$fields = "jb_id,business_volume_with_toll,tr_commission_no,tr2_commission_no,csc_name,tr_comp,tr_comp2,tr2_comp,streethsno,ad_zipcode,target_address,vht_value,jb_ordertime,cr_sid";
$fields .= ($jb_status != "2" && $parDispoFavEnabled == "1" ? ",jb_taketime" : "");
$fields .= ($jb_status != "2" ? ",jb_edit" : "");
$fields .= (($parDisplayCancelledJobsEnabled == "1" && $jb_status == "2") || ($parCancellationEnabled == "1" && $jb_status != "2") ? ",jb_storno" : "");
$aligns = "r,r,l,l,l,l,l,l,l,c,l,c,c,c";
$aligns .= ($jb_status != "2" && $parDispoFavEnabled == "1" ? ",c" : "");
$aligns .= ($jb_status != "2" ? ",r" : "");
$aligns .= (($parDisplayCancelledJobsEnabled == "1" && $jb_status == "2") || ($parCancellationEnabled == "1" && $jb_status != "2") ? ",r" : "");
endif;
// else :
// ........ was the same !!!! ........
// endif;
endif;
$addOnTitles = trim(getParameterValue($emp_id, "CUSTOMER_MASK_JOBLIST_ADD_ON_TITLES", "0"));
if ($addOnTitles != "") :
if ($titles != "") : $titles .= ","; endif;
$titles .= $addOnTitles;
endif;
$addOnfields = trim(getParameterValue($emp_id, "CUSTOMER_MASK_JOBLIST_ADD_ON_FIELDS", "0"));
if ($addOnfields != "") :
if ($fields != "") : $fields .= ","; endif;
$fields .= $addOnfields;
endif;
$addOnaligns = trim(getParameterValue($emp_id, "CUSTOMER_MASK_JOBLIST_ADD_ON_ALIGNS", "0"));
if ($addOnaligns != "") :
if ($aligns != "") : $aligns .= ","; endif;
$aligns .= $addOnaligns;
endif;
// Init dummies
$valigns = ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,";
$cellTextPre = ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,";
$titlesArray = spliti(",",$titles);
$fieldsArray = spliti(",",$fields);
$fieldsLength = count($fieldsArray);
$alignsArray = spliti(",",$aligns);
$valignsArray = spliti(",",$valigns);
$cellTextPreArray = spliti(",",$cellTextPre);
$fieldClause = getDBFields("job") . ", jb.hq_id AS jb_hq_id, " . "jb.hq_id_exec AS jb_hq_id_exec" . "," . "jb.hq_id_dispo AS jb_hq_id_dispo" . "," . "jb.hq_id_sales AS jb_hq_id_sales" . "," . getDBFields("jb_tourzipcodes") . "," . getDBFields("jb_tourcities") . "," . getDBFields("jb_edit") . "," . getDBFields("tour") . "," . getDBFields("address") . "," .
getDBFields("vehicletype") . "," . getDBFields("ad_street_hsno") . "," . getDBFields("jb_latesttaketime") . ", jb.csc_id AS jb_csc_id";
if (!$f_stationBasedSearch) :
$fieldClause .= ", tr2.tr_commission_no AS tr2_commission_no, tr2.tr_comp AS tr2_comp";
// $fieldClause .= ", IFNULL(trs.jb_id,tr.jb_id) AS jb_id_group, SUM(trs.trs_price * ((100 - trs.trs_discount) / 100)) AS business_volume ";
// Toll fields
$fieldClause .= ", jb.jb_totalprice AS business_volume ";
$fieldClause .= ", gdc_toll.gdc_content AS gdc_toll_content ";
$fieldClause .= "," . "(jb.jb_totalprice + IF (gdc_toll.gdc_content != '', gdc_toll.gdc_content, 0)) AS business_volume_with_toll ";
$fieldClause .= "," . "(jb.jb_cr_price + IF (gdc_toll.gdc_content != '', gdc_toll.gdc_content, 0)) AS jb_cr_price_with_toll ";
$fieldClause .= "," . "(jb.jb_cr_subprice + IF (gdc_toll.gdc_content != '', gdc_toll.gdc_content, 0)) AS jb_cr_subprice_with_toll ";
$fieldClause .= "," . "(jb.jb_totalprice * (1 + (" . $globalParSalesTaxRate . " / 100)) + IF (gdc_toll.gdc_content != '', gdc_toll.gdc_content, 0)) AS business_volume_gross_with_toll ";
$fieldClause .= "," . "(jb.jb_cr_price * (1 + (" . $globalParSalesTaxRate . " / 100)) + IF (gdc_toll.gdc_content != '', gdc_toll.gdc_content, 0)) AS jb_cr_price_gross_with_toll ";
// Extra fields defined according to parameters
$parFieldClause = trim(getParameterValue($emp_id, "CUSTOMER_MASK_JOBLIST_FIELDCLAUSE", "0"));
if ($parFieldClause != "") : $fieldClause .= "," . $parFieldClause; endif;
// Target address (only 2nd stop)
// $fieldClause .= "," . " ad2.ad_street AS ad2_street, ad2.ad_zipcode AS ad2_zipcode, ad2.ad_city AS ad2_city, tr2.tr_hsno AS tr2_hsno ";
$fieldClause .= "," . " CONCAT(ad2.ad_street,' ',tr2.tr_hsno,', ',ad2.ad_zipcode) AS target_address ";
$fieldClause .= "," . " CONCAT(ad2.ad_street,' ',tr2.tr_hsno,', ',ad2.ad_zipcode,', ',ad2.ad_city) AS target_address2 ";
$fieldClause .= "," . " tr2.tr_finishtime AS tr2_finishtime, tr2.tr_person AS tr2_person, tr2.tr_signname AS tr2_signname ";
endif;
$fromClause = $dbh_tr . " AS tr, address AS ad, metatype AS vht";
$whereClause = "";
$orderByClause = "jb_ordertime";
if ($f_stationBasedSearch) :
$orderByClause .= ", tr_sort";
endif;
if ($jb_sort != "") : $orderByClause = $fieldsArray[$jb_sort]; endif;
// ASCending or DESCending
if ($orderByClause == "jb_ordertime") : $orderByClause = "jb_ordertime ASC"; endif;
// Check for being meta customer
if ($isMetaCs == "0") :
// Only this cutomer
if ($jb_costcenter == "1") :
$whereClause .= " " . $costcenterPayerOrRelatedClause . " = " . $cscIdActual . " AND ";
endif;
if ($jb_costcenter == "2") :
$fieldClause .= "," . getDBFields("costcenter");
$fromClause .= ", costcenter AS csc ";
/*
$whereClause .= "((" . $costcenterPayerOrRelatedClause . " = " . $cscIdActual . " AND " . $costcenterPayerOrRelatedClause . " = csc.csc_id) OR " .
"(" . $costcenterPayerOrRelatedClause . " = csc.csc_id AND csc.csc_path LIKE '%//" . $cscNameActual . "//%')) AND " .
"csc.cs_id = " . $customerId . " AND ";
*/
$whereClause .= "(" . $costcenterPayerOrRelatedClause . " = " . $cscIdActual . " OR csc.csc_path LIKE '%//" . $cscNameActual . "//%') AND " .
$costcenterPayerOrRelatedClause . " = csc.csc_id AND " .
"csc.cs_id = " . $customerId . " AND ";
endif;
else :
// Customer is meta customer
$fieldClause .= "," . getDBFields("costcenter");
$fromClause .= ", costcenter AS csc, customer AS cs ";
$whereClause .= "<SUBST_01>";
$whereClause1 = "cs.cs_id = '" . $customerId . "'";
$whereClause2 = "cs.cs_id_parent = '" . $customerId . "'";
$whereClause .= " AND cs.cs_id = csc.cs_id AND " . $costcenterPayerOrRelatedClause . " = csc.csc_id AND ";
// Selection for individual cuatomer
if ($jb_sel_cs != "") :
$whereClause .= " cs.cs_id = " . $jb_sel_cs . " AND ";
endif;
endif;
$fromClause .= ", " . $dbh_jb . " AS jb";
if (!$f_stationBasedSearch) :
// Price
// $fromClause .= " LEFT JOIN " . $dbh_trs . " AS trs ON trs.jb_id = jb.jb_id ";
// Target address (only 2nd stop)
$fromClause .= " LEFT JOIN " . $dbh_tr . " AS tr2 ON tr2.jb_id = jb.jb_id AND tr2.tr_sort = '2' ";
$fromClause .= " LEFT JOIN address AS ad2 ON ad2.ad_id = tr2.ad_id ";
$fromClause .= " LEFT JOIN genericdatacontainer AS gdc_toll ON gdc_toll.gdc_obj_type = 'jb' AND gdc_toll.gdc_obj_id = jb.jb_id AND gdc_toll.gdc_gen_fieldname = 'jb_toll' ";
endif;
$fromClause .= " LEFT JOIN genericdatacontainer AS gdc_search ON gdc_search.gdc_obj_type = 'jb' AND gdc_search.gdc_obj_id = jb.jb_id AND gdc_search.gdc_gen_fieldname = 'search' ";
// Separate list for each status
// if ($jb_status != "") : $whereClause .= "jb.jb_status = " . $jb_status . " AND "; endif;
// Aggregated list for different status displayed in ONE list
if ($jb_status != "2") :
$whereClause .= "(jb.jb_status IN (8,9,0,1)) AND ";
else :
$whereClause .= "jb.jb_status = " . $jb_status . " AND ";
endif;
if (!(($parDisplayCancelledJobsEnabled == "1" && $jb_status == "2") || ($parCancellationEnabled == "1" && $jb_status != "2"))) :
$whereClause .= "(isnull(jb.jb_storno) || jb.jb_storno = '0') AND ";
endif;
$whereClause .= "(jb.vht_id = vht.mt_sort AND vht.mt_type = 'vehicletype') AND ";
if ($f_search == "") :
if ($fromDateRange != "") :
$whereClause .= "jb.jb_ordertime >= '$fromDateRange' AND ";
endif;
if ($toDateRange != "") :
$whereClause .= "jb.jb_ordertime <= '$toDateRange' AND ";
endif;
else :
// Job ID
$whereClauseJobId = "";
if (is_numeric($f_job_search)) :
$whereClauseJobId = " jb.jb_id = '" . $f_job_search . "' OR ";
// Job parent ID
if ($globalParUseRelatedCustomer == "1") :
// Check parent
$whereClauseJobId .= " jb.jb_id_parent = '" . $f_job_search . "' OR ";
// Check GDC
$tmpArray = getColVectorFromDB2ArrayByClause("genericdatacontainer", "gdc_obj_id", "gdc_obj_type = 'jb' AND gdc_gen_fieldname = 'info_0' AND gdc_content = '" . $f_search . "'", "", "", "");
if (count($tmpArray) > 0) :
$whereClauseJobId .= " jb.jb_id IN (" . implode(",", $tmpArray) . ") OR ";
endif;
endif;
endif;
// Check GDC.search
// $tmpArray = getColVectorFromDB2ArrayByClause("genericdatacontainer", "gdc_obj_id", "gdc_obj_type = 'jb' AND gdc_gen_fieldname = 'search' AND gdc_content LIKE '%," . $f_search . ",%'", "", "", "");
$tmpArray = getColVectorFromDB2ArrayByClause("genericdatacontainer", "gdc_obj_id", "gdc_obj_type = 'jb' AND gdc_gen_fieldname = 'search' AND gdc_content = '" . $f_search . "'", "", "", "");
if (count($tmpArray) > 0) :
$whereClauseJobId .= " jb.jb_id IN (" . implode(",", $tmpArray) . ") OR ";
endif;
$whereClauseExtended = "";
if ($f_stationBasedSearch && ($parSearchByRemarkEnabled == "1" || $parSearchByAddressEnabled == "1")) :
if ($parSearchByRemarkEnabled == "1") :
$whereClauseExtended .= " OR tr.tr_remark LIKE '%" . $f_search . "%' ";
endif;
if ($parSearchByAddressEnabled == "1") :
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$whereClauseExtended .= " OR ad.ad_street LIKE '%" . $f_search . "%'";
$whereClauseExtended .= " OR ad.ad_zipcode LIKE '%" . $f_search . "%'";
$whereClauseExtended .= " OR ad.ad_city LIKE '%" . $f_search . "%' ";
endif;
// if (!is_numeric($f_search)) :
if ($fromDateRange != "") :
$whereClause .= "jb.jb_ordertime >= '$fromDateRange' AND ";
endif;
if ($toDateRange != "") :
$whereClause .= "jb.jb_ordertime <= '$toDateRange' AND ";
endif;
$numOfStationSearchs++;
if ($numOfStationSearchs == 1) :
$statusMessage = getLngt("Bitte beachten: Die Suche ist eingeschränkt auf den angegebenen Zeitraum!");
endif;
// endif;
endif;
if ($f_stationBasedSearch) :
$whereClause .= "( " . $whereClauseJobId . " tr.tr_commission_no LIKE '%" . $f_search . "%' OR tr.tr_comp LIKE '%" . $f_search . "%'" . $whereClauseExtended . ") AND ";
else :
$whereClause .= "( " . $whereClauseJobId . " tr.tr_commission_no LIKE '%" . $f_search . "%' OR tr.tr_comp LIKE '%" . $f_search . "%' OR tr2.tr_commission_no LIKE '%" . $f_search . "%' OR tr2.tr_comp LIKE '%" . $f_search . "%'" . $whereClauseExtended . ") AND ";
endif;
endif;
if ($f_stationBasedSearch) :
$whereClause .= "jb.jb_id = tr.jb_id AND tr.ad_id = ad.ad_id ";
else :
$whereClause .= "jb.jb_id = tr.jb_id AND tr.tr_sort = 1 AND tr.ad_id = ad.ad_id ";
endif;
// Price
// $whereClause .= " GROUP BY trs.jb_id ";
// $groupByClause = " GROUP BY trs.jb_id ";
// $groupByClause = " GROUP BY jb_id_group ";
$groupByClause = "";
if ($isMetaCs == "0") :
if ($doCscSubst) :
$whereClause1 = str_replace("<SUBST_CSC>", "jb.csc_id_payer", $whereClause);
$whereClause2 = " jb.csc_id_payer = '" . $parCscIdPayerCash . "' AND " . str_replace("<SUBST_CSC>", "jb.csc_id", $whereClause);
$sqlquery = "(". generateStatement($fieldClause,$fromClause,$whereClause1 . $groupByClause,"") . ") UNION (" . generateStatement($fieldClause,$fromClause,$whereClause2 . $groupByClause,"") . ") ORDER BY " . $orderByClause;
else :
$sqlquery = generateStatement($fieldClause,$fromClause,$whereClause . $groupByClause,$orderByClause);
endif;
else :
$whereClause1 = str_replace("<SUBST_01>", $whereClause1, $whereClause);
if ($doCscSubst) :
$whereClause1a = str_replace("<SUBST_CSC>", "jb.csc_id_payer", $whereClause1);
$whereClause1b = " jb.csc_id_payer = '" . $parCscIdPayerCash . "' AND " . str_replace("<SUBST_CSC>", "jb.csc_id", $whereClause1);
endif;
if ($jb_costcenter == "1") :
if ($doCscSubst) :
$sqlquery = "(". generateStatement($fieldClause,$fromClause,$whereClause1a . $groupByClause,"") . ") UNION (" . generateStatement($fieldClause,$fromClause,$whereClause1b . $groupByClause,"") . ") ORDER BY " . $orderByClause;
else :
$sqlquery = generateStatement($fieldClause,$fromClause,$whereClause1 . $groupByClause,$orderByClause);
endif;
else :
$whereClause2 = str_replace("<SUBST_01>", $whereClause2, $whereClause);
if ($doCscSubst) :
$whereClause2a = str_replace("<SUBST_CSC>", "jb.csc_id_payer", $whereClause2);
$whereClause2b = " jb.csc_id_payer = '" . $parCscIdPayerCash . "' AND " . str_replace("<SUBST_CSC>", "jb.csc_id", $whereClause2);
$sqlquery = "(" . generateStatement($fieldClause,$fromClause,$whereClause1a . $groupByClause,"") . ")"
. " UNION (" . generateStatement($fieldClause,$fromClause,$whereClause1b . $groupByClause,"") . ")"
. " UNION (" . generateStatement($fieldClause,$fromClause,$whereClause2a . $groupByClause,"") . ")"
. " UNION (" . generateStatement($fieldClause,$fromClause,$whereClause2b . $groupByClause,"") . ")"
. " ORDER BY " . $orderByClause;
else :
$sqlquery = "(". generateStatement($fieldClause,$fromClause,$whereClause1 . $groupByClause,"") . ") UNION (" . generateStatement($fieldClause,$fromClause,$whereClause2 . $groupByClause,"") . ") ORDER BY " . $orderByClause;
endif;
endif;
endif;
// echo $sqlquery . "<br>";
// FILTER-DEFINITIONS
// $filter_status = addOptionsFromTable("metatype","mt_sort","mt_value","mt_sort","mt_type = 'job_status'",$jb_status);
$listStatusSelected_0 = "";
$listStatusSelected_1 = "";
$listStatusSelected_2 = "";
$listStatusSelected_9 = "";
if ($jb_status == "0") : $listStatusSelected_0 = "selected"; endif;
if ($jb_status == "1") : $listStatusSelected_1 = "selected"; endif;
if ($jb_status == "2") : $listStatusSelected_2 = "selected"; endif;
// if ($jb_status == "9") : $listStatusSelected_9 = "selected"; endif;
$filter_status = "";
// $filter_status .= "<option value=\"0\" " . $listStatusSelected_0 . ">Offene Auftr&auml;ge</option>";
// $filter_status .= "<option value=\"9\" " . $listStatusSelected_9 . ">" . getLngt("Zuzuweisende Auftr&auml;ge") . "</option>";
$filter_status .= "<option value=\"1\" " . $listStatusSelected_1 . ">" . getLngt("Laufende Auftr&auml;ge") . "</option>";
$filter_status .= "<option value=\"2\" " . $listStatusSelected_2 . ">" . getLngt("Erledigte Auftr&auml;ge") . "</option>";
$filter_cs_special = "";
if ($isMetaCs == "0") :
$filter_costcenter = addOptionsFromTable("metatype","mt_sort","mt_value","mt_sort","mt_type = 'job_costcenter'",$jb_costcenter);
else :
$filter_costcenter = addOptionsFromTable("metatype","mt_sort","mt_value","mt_sort","mt_type = 'job_cs_meta'",$jb_costcenter);
$filter_cs_special = addOptionsFromTable("customer", "cs_id", "cs_eid", "cs_eid", "cs_id_parent = '" . $customerId . "'", $jb_sel_cs, "");
endif;
// Searchfield
if ($globalParUseRelatedCustomer == "1") :
$filter_searchfield = getLngt("Auftrag/Komm.Nr./Firma/Kunde") . ($f_stationBasedSearch && $parSearchByRemarkEnabled == "1" ? getLngt("/Bemerkung") : "") . ($f_stationBasedSearch && $parSearchByAddressEnabled == "1" ? getLngt("/Adresse") : "") . ":\n";
else :
$filter_searchfield = getLngt("Auftrag") . ($f_stationBasedSearch && $parSearchByRemarkEnabled == "1" ? getLngt("/Bemerkung") : "") . ($f_stationBasedSearch && $parSearchByAddressEnabled == "1" ? getLngt("/Firma/Kunde/Komm.Nr./Adresse") : "") . ":\n";
endif;
$filter_searchfield .= "<input class=\"f8np1\" type=\"text\" name=\"f_search\" value=\"" . $f_search . "\" size=\"15\">\n";
$filter_searchfield .= "&nbsp;&nbsp;\n";
// Date-ranges
$filter_dateranges = "&nbsp;&nbsp;&nbsp;&nbsp;" . getLngt("von") . ":\n";
$filter_dateranges .= "<select name=\"day_from\" class=\"f8np1\" onchange=\"fillDateFieldsCheck(0, 'maincontent', 'jb_list', 'day_from', 'day_from', 'month_from', 'year_from', '', '', '', 'day_to', 'month_to', 'year_to', '', '', '')\"></select>\n";
$filter_dateranges .= "<select name=\"month_from\" class=\"f8np1\" onchange=\"fillDateFieldsCheck(0, 'maincontent', 'jb_list', 'month_from', 'day_from', 'month_from', 'year_from', '', '', '', 'day_to', 'month_to', 'year_to', '', '', '')\"></select>\n";
$filter_dateranges .= "<select name=\"year_from\" class=\"f8np1\" onchange=\"fillDateFieldsCheck(0, 'maincontent', 'jb_list', 'year_from', 'day_from', 'month_from', 'year_from', '', '', '', 'day_to', 'month_to', 'year_to', '', '', '')\"></select>\n";
$filter_dateranges .= "&nbsp;&nbsp;" . getLngt("bis") . ":\n";
$filter_dateranges .= "<select name=\"day_to\" class=\"f8np1\" onchange=\"fillDateFieldsCheck(0, 'maincontent', 'jb_list', 'day_to', 'day_from', 'month_from', 'year_from', '', '', '', 'day_to', 'month_to', 'year_to', '', '', '')\"></select>\n";
$filter_dateranges .= "<select name=\"month_to\" class=\"f8np1\" onchange=\"fillDateFieldsCheck(0, 'maincontent', 'jb_list', 'month_to', 'day_from', 'month_from', 'year_from', '', '', '', 'day_to', 'month_to', 'year_to', '', '', '')\"></select>\n";
$filter_dateranges .= "<select name=\"year_to\" class=\"f8np1\" onchange=\"fillDateFieldsCheck(0, 'maincontent', 'jb_list', 'year_to', 'day_from', 'month_from', 'year_from', '', '', '', 'day_to', 'month_to', 'year_to', '', '', '')\"></select>\n";
$filter_dateranges .= "&nbsp;&nbsp;&nbsp";
// Javascript-function as template only for
$js_date = "<script type=\"text/javascript\">\n";
$js_date .= "<!--\n";
$js_date .= "function initForm() {\n";
$js_date .= " fillDateFields(1,\"maincontent\",\"jb_list\",\"\",\"day_from\",\"month_from\",\"year_from\",\"\",\"\",\"\");\n";
$js_date .= " setDateTimeFields(\"maincontent\",\"jb_list\",".$day_from.",".$month_from.",".$year_from.", \"\", \"\", \"day_from\", \"month_from\", \"year_from\", \"\", \"\", \"\");\n";
$js_date .= " fillDateFields(1,\"maincontent\",\"jb_list\", \"\", \"day_to\", \"month_to\", \"year_to\", \"\", \"\", \"\");\n";
$js_date .= " setDateTimeFields(\"maincontent\",\"jb_list\",".$day_to.",".$month_to.",".$year_to.", \"\", \"\", \"day_to\", \"month_to\", \"year_to\", \"\", \"\", \"\");\n";
$js_date .= "}\n";
$js_date .= "-->\n";
$js_date .= "</script>\n";
// Send request to database
if ($jb_status == "2") :
getDb2Connection(); // Try to connect request server because of performance
$result = $db2->query($sqlquery);
else :
$result = $db->query($sqlquery);
endif;
if (DB::isError($result)) die ("$PHP_SELF: " . $result->getMessage());
// Header and entries of the list
$targetPath = "customer"; // used in following include-file
$jobEditPath = "jobs2";
if ($jb_status == "2") :
// $summationField = "business_volume";
$summationField = "business_volume_with_toll";
endif;
$jobEditParameter = "&customerId=" . $customerId . "&cscIdRoot=" . $cscIdRoot . "&cscIdActual=" . $cscIdActual;
include_once ("../include/jb_list_defineoutput.inc.php");
if ($jb_status == "2" && $sumOfSummationField != 0) :
$tableBody .= "<tr><td class=\"f8np1_red\">" . getLngt("EINTRÄGE:") . "</td><td class=\"f8np1_red\" align=\"left\" colspan=\"" . (count($fieldsArray) - 1) . "\">" . $rowCounter . "</td></tr>\n";
$tableBody .= "<tr><td class=\"f8np1_red\">" . getLngt("GESAMTSUMME:") . "</td><td class=\"f8np1_red\" align=\"left\" colspan=\"" . (count($fieldsArray) - 1) . "\">" . number_format(round($sumOfSummationField,2), 2, ",", ".") . "</td></tr>\n";
endif;
$result->free();
$reload_status = "1";
if ($jb_status == "2" || $jb_status == "10" || $jb_status == "ALL") :
$reload_status = "0";
endif;
endif;
// wenn MASK_AUTO_REFRESH == 0, dann wird die Kurierliste dynamisch (bei Aufruf) aufgebaut
// wenn MASK_AUTO_REFRESH == 1, dann wird die Kurierliste statisch (hier) aufgebaut
if (MASK_AUTO_REFRESH == "1"):
include_once("../jobs/job_courier.inc.php");
endif;
$auto_refresh = MASK_AUTO_REFRESH;
$cr_id_order_list_out = "var cs_jbedit_cr = 1;\n var MASK_COURIER_SORT_BY_OCCUPIED = \"\";\n" . $cr_id_order_list . $cr_id_order_list2 . $vht_id_str_js . getCustomerCouriers($db, $customerId) . "when = \"" . date("H:i") . "\";\n";
?>
<html>
<head>
<title><?php echo $pageTitel ?></title>
<link rel="stylesheet" type="text/css" href="../css/reset.css">
<link rel="stylesheet" type="text/css" href="../css/phoenix.css">
<style type="text/css">
<?php include_once ("../css/navigation.css.php"); ?>
</style>
<?php include_once ("../include/js_framework.inc.php"); ?>
<script src="../include/lib_global.js" type="text/javascript"></script>
<script src="../include/lib_courier.8.js" type="text/javascript"></script>
<?php echo $js_date ?>
<script type="text/javascript">
<!--
// NAVIGATION
<?php echo $jsMenuOut; ?>
var checkReloadCnt = 0;
var refreshStatus = <?php echo $reload_status ?>;
function setRefreshStatus() {
if (document.forms[0].refreshStatusCheckbox.checked == true) {
refreshStatus = 1;
startTimeout();
} else {
refreshStatus = 0;
}
}
var auto_refresh = "<?php echo $auto_refresh ?>";
function startTimeout()
{
self.setTimeout("startReload()", 60000);
}
function startReload()
{
if (refreshStatus == 1) {
checkReload();
// self.location.reload();
finishPage();
}
}
function checkReload()
{
if (++checkReloadCnt == 300)
{
// alert("Der Server antwortet nicht. Bitte überprüfen Sie\n" +
// "ob Sie noch mit dem Internet verbunden sind!");
// self.close();
}
else
self.setTimeout("checkReload()", 100);
}
// Opens a new (popup-)window with specified parameters
function popupWindow(url,title,config) {
popup = window.open(url,title,config);
}
function finishPage() {
for(i=0;i<document.forms[0].jb_costcenter_select.length;++i) {
if (document.forms[0].jb_costcenter_select.options[i].selected == true) {
document.forms[0].jb_costcenter.value=document.forms[0].jb_costcenter_select.options[i].value;
}
};
for(i=0;i<document.forms[0].jb_status_select.length;++i) {
if (document.forms[0].jb_status_select.options[i].selected == true) {
document.forms[0].jb_status.value=document.forms[0].jb_status_select.options[i].value;
}
};
document.forms[0].submit();
};
function makeStorno(jb_id,jb_permanent,cr_id,jbp_id) {
// if (jbStornoCscId > 0 || jbStornoEmpUsrType == "2") {
if (true) {
if (confirm('<?php echo getLngt("Auftrag") ?> ' + jb_id + ' <?php echo getLngt("wirklich stornieren?") ?>')) {
document.forms[0].jb_id_storno.value = jb_id;
document.forms[0].f_act.value = 'storno';
finishPage();
};
} else {
alert('<?php echo getLngt("Dieser Auftrag kann nicht storniert werden!") ?>');
};
};
// *** Courier-List ***
function setCourier(jb_id,cr_sid,cr_availabletime_reset) {
document.forms[0].f_jb_id.value = jb_id;
document.forms[0].f_cr_sid.value = cr_sid;
if (cr_availabletime_reset != '1') {cr_availabletime_reset = '0';};
document.forms[0].f_cr_availabletime_reset.value = cr_availabletime_reset;
document.forms[0].f_act.value = 'setCourier';
finishPage();
};
var cr_id_order_list = new Array();
<?php echo $cr_id_order_list_out ?>
-->
</script>
<noscript>
<center>
<b><br><?php echo getLngt("JavaScript ist nicht verf&uuml;gbar. Bitte aktivieren Sie JavaScript<br><br>in Ihrem Browser, damit diese Seite ordnungsgem&auml;&szlig; funktioniert!") ?></b><br><br>
</center>
</noscript>
</head>
<body onLoad="<?php echo $phpCurrentNavigationOnLoad ?>initForm();startTimeout();displayStatusMessage()">
<?php echo $phpMenuOut ?>
<?php echo $phpReducedMenuOut ?>
<?php echo $phpPageTitelOut ?>
<div class="maincontent" name="maincontent" id="maincontent">
<form name="jb_list" action="../customer/jb_list.php" method="post">
<input type="hidden" name="customerId" value="<?php echo ec($customerId) ?>">
<input type="hidden" name="cscIdRoot" value="<?php echo ec($cscIdRoot) ?>">
<input type="hidden" name="cscIdActual" value="<?php echo ec($cscIdActual) ?>">
<input type="hidden" name="empIdMaster" value="<?php echo ec($empIdMaster) ?>">
<input type="hidden" name="dbhistory" value="<?php echo ec($dbhistory) ?>">
<input type="hidden" name="jb_costcenter" value="1">
<input type="hidden" name="jb_status" value="">
<input type="hidden" name="jb_sort" value="<?php echo $jb_sort ?>">
<input type="hidden" name="f_cr_availabletime_reset" value="">
<input type="hidden" name="numOfStationSearchs" value="<?php echo $numOfStationSearchs ?>">
<?php echo $phpCurrentNavigationInputHidden ?>
<input type="hidden" name="deactivateMenu" value="<?php echo ec($deactivateMenu) ?>">
<?php echo htmlDivLineSpacer("10px"); ?>
<div class="f12bp1_blue">
<?php echo getLngt("Aufträge der Kostenstelle") ?>: <?php echo $cscNameActual ?>
</div>
<?php echo htmlDivLineSpacer("10px"); ?>
<!-- SELECTION-FILTERS -->
<!-- Refresh status of the list -->
<div style="float:left;">
<input type="checkbox" name="refreshStatusCheckbox" value="<?php echo $reload_status ?>" onClick="javascript:setRefreshStatus();"> <?php echo getLngt("Refresh") ?>&nbsp;
<script type="text/javascript">
if (refreshStatus == 1) {
document.forms[0].refreshStatusCheckbox.checked = true;
} else {
document.forms[0].refreshStatusCheckbox.checked = false;
}
</script>
&nbsp;&nbsp;
</div>
<!-- Costcenter -->
<div style="float:left;">
<select class="f8np1" name="jb_costcenter_select">
<?php echo $filter_costcenter ?>
</select>
&nbsp;
</div>
<!-- Customer selection if current customer is a meta customer -->
<?php if ($isMetaCs == "1") : ?>
<div style="float:left;">
<select class="f8np1" name="jb_sel_cs">
<option value="">---</option>
<?php echo $filter_cs_special ?>
</select>
&nbsp;
</div>
<?php endif; ?>
<!-- Job-status -->
<div style="float:left;">
<select class="f8np1" name="jb_status_select">
<?php echo $filter_status ?>
</select>
</div>
<div style="float:left;">
<?php echo $filter_dateranges ?>
</div>
<div style="float:left;">
<?php echo $filter_searchfield ?>
</div>
<!-- Search-Button -->
<?php echo defineButtonType10(getLngt("Anzeigen"), "action_show", "finishPage();", "80", "left", "2") ?>
<div>
&nbsp;&nbsp;&nbsp;&nbsp;<?php echo getLngt("Etappenliste") ?>&nbsp;<input type="checkbox" name="f_stationBasedSearch[]" value="1" <?php if ($f_stationBasedSearch) : echo "checked"; endif; ?>>
</div>
<?php echo htmlDivLineSpacer("10px", "", "left"); ?>
<!-- TABLE OF JOBS -->
<div>
<table width="95%" align="left" cellspacing="0" cellpadding="0" vspace="0" hspace="0">
<tr>
<td>
&nbsp;
</td>
</tr>
<?php echo $tableHeader ?>
<?php echo $tableBody ?>
<tr>
<td>
&nbsp;
</td>
<tr>
</table>
</div>
<input type="hidden" name="jb_id_storno" value="">
<input type="hidden" name="f_cr_sid" value="">
<input type="hidden" name="f_jb_id" value="2">
<input type="hidden" name="f_act" value="">
</form>
</div>
</body>
</html>