"0") : // Get current item quantity of the specified article and source stock $stkatItemQuantity = getFieldValueFromClause("stockarticle", "stkat_itemquantity", "stk_id = '" . $currStkId . "' AND at_id = '" . $currAtId . "'"); if ($stkatItemQuantity > 0) : $stkatItemQuantity = $stkatItemQuantity - 1; if ($stkatItemQuantity > 0) : updateStmt("phoenix.stockarticle","stk_id",$currStkId,array("stkat_quantity",$stkatItemQuantity,"stkat_itemquantity",$stkatItemQuantity),"at_id = '".$currAtId."'"); else : deleteStmt("phoenix.stockarticle"," stk_id = '".$currStkId."' AND at_id = '".$currAtId."' "); endif; endif; endif; // *** Update stock quantity from target stock *** if ($f_su_admin_stk_id > "0") : // Get current item quantity of the specified article and target stock $stkatItemQuantity = getFieldValueFromClause("stockarticle", "stkat_itemquantity", "stk_id = '" . $f_su_admin_stk_id . "' AND at_id = '" . $f_su_admin_at_id . "'"); if ($stkatItemQuantity != "") : $stkatItemQuantity = $stkatItemQuantity + 1; endif; if (existsEntry("phoenix.stockarticle",array("stk_id",$f_su_admin_stk_id,"at_id",$f_su_admin_at_id))) : updateStmt("phoenix.stockarticle","stk_id",$f_su_admin_stk_id,array("stkat_quantity",$stkatItemQuantity,"stkat_itemquantity",$stkatItemQuantity),"at_id = '".$f_su_admin_at_id."'"); else : insertStmt("phoenix.stockarticle",array("stk_id",$f_su_admin_stk_id,"at_id",$f_su_admin_at_id,"stkat_quantity","1","stkat_itemquantity","1")); endif; endif; endif; else : $outReportArray[] = getLngt("Es wurde bei der Erfassung kein Standort zugewiesen!"); endif; else : $outReportArray[] = getLngt("Es wurde bei der Erfassung kein Automatentypen selektiert!"); endif; endif; // *********************************************** // * Store form data for stock (service station) * // *********************************************** if ($f_act == "storeDataStock") : $f_su_admin_stk_name = trim($f_su_admin_stk_name); $f_su_admin_stk_barcode = trim($f_su_admin_stk_barcode); $f_su_admin_ad_street = trim($f_su_admin_ad_street); $f_su_admin_ad_zipcode = trim($f_su_admin_ad_zipcode); $f_su_admin_ad_city = trim($f_su_admin_ad_city); $f_su_admin_stk_hsno = trim($f_su_admin_stk_hsno); if ($f_su_admin_stk_hsno == "") : $f_su_admin_stk_hsno = "."; endif; if ($f_su_admin_ad_country == "") : $f_su_admin_ad_country = "DE"; endif; // Check for empty entries in address-fields if ($f_su_admin_ad_street != "" && $f_su_admin_ad_zipcode != "" && $f_su_admin_ad_city != "" && $f_su_admin_ad_country != "") : // Check zipcode and city // $addressValidityArray = checkCityZipcode($f_su_admin_ad_zipcode, $f_su_admin_ad_city, $f_su_admin_ad_street); // if ($noValidationOfAddress || $addressValidityArray[0] >= 1) : if (true) : TA("B"); if ($f_su_admin_stk_name != "") : // Check for existing entry in address (because of redundance) $tmpArray = insertAddress($f_su_admin_ad_street, $f_su_admin_ad_zipcode, $f_su_admin_ad_city, "", $f_su_admin_ad_country, true); $ad_id_new = $tmpArray[0]; if ($ad_id_new != "" && is_numeric($ad_id_new) ) : // Get current timestamp $currentTime = getDateTime("0"); // Check for selection of a service unit item if ($f_su_admin_stk_id != "" && is_numeric($f_su_admin_stk_id)) : // Check for existence of the stock name $stkIdToCheck = getFieldValueFromId("stock","stk_name",$f_su_admin_stk_name,"stk_id"); if ($stkIdToCheck == "" || $f_su_admin_stk_id == $stkIdToCheck) : // Check barcode information still existing $stkBarcodeToCheck = getFieldValueFromClause("phoenix.stock", "stk_barcode", "stk_barcode = '" . $f_su_admin_stk_barcode . "' AND stk_id != '" . $f_su_admin_stk_id . "'"); if ($f_su_admin_stk_barcode != "" && $f_su_admin_stk_barcode == $stkBarcodeToCheck) : // Generate info only $outReportArray[] = getLngt("Nur zur Information: Die Standortinfo existiert schon!"); endif; // * UPDATE * updateStmt("phoenix.stock", "stk_id", $f_su_admin_stk_id, array("ad_id", $ad_id_new, "stk_name", $f_su_admin_stk_name, "stk_hsno", $f_su_admin_stk_hsno, "stk_barcode", $f_su_admin_stk_barcode), ""); $outReportArray[] = getLngt("Die Standortdaten wurden aktualisiert!"); else : $outReportArray[] = getLngt("Die neue Standortbezeichnung existiert schon! vergeben Sie bitte einen anderen Namen!"); endif; else : // * INSERT * if (!existsEntry("phoenix.stock",array("stk_name",$f_su_admin_stk_name))) : insertStmt("phoenix.stock", array("hq_id", $hq_id, "stk_name",$f_su_admin_stk_name, "stk_pre_id", $rootStockSU,"stk_path", "//" . $rootStockSU . "//", "ad_id", $ad_id_new,"stk_barcode",$f_su_admin_stk_barcode,"stk_modifytime", $currentTime, "stk_visible", "1")); $outReportArray[] = getLngt("Der neue Standort wurde angelegt!"); else : $outReportArray[] = getLngt("Dieser Standort existiert schon! Schauen Sie bitte in der Auswahl!"); endif; endif; else : $outReportArray[] = getLngt("Die Generierung der Adresse hat nicht funktioniert!"); endif; else : $outReportArray[] = getLngt("Die Standortangabe ist leer!"); endif; TA("C"); TA("E"); else : $outReportArray[] = getLngt("Die Postleitzahl passt nicht zu dem angegebenen Ort!"); endif; else : $outReportArray[] = getLngt("Bitte geben Sie die Addressdaten vollständig an!"); endif; endif; // Set the global master array and get special array for geo-coordinates of the current selected service units (selected by checkboxes) // This has to be called after storing the form data (!!!) getPersistentStates("2"); // *************************************************** // * Process specified action for a specified object * // *************************************************** // if ($f_act == "processAction") : if ($f_actionObjType != "" && $f_actionObjId != "" && $f_actionID != "") : if ($f_actionObjType = "ati_serialno") : if ($f_actionID == "101") : // Get position on map // ... elseif ($f_actionID == "102") : // Get log events // getLogData("log.logo_id = '1000' AND log.id_01 = '" . $f_actionObjId . "'"); getSuHistoryData("0", "AND stk.stk_pre_id = '" . $rootStockSU . "' AND atih.atih_serialno = '" . $f_actionObjId . "'"); if ($f_act == "processAction") : $maskDisplay01Switch = "0"; $maskDisplay02Switch = "0"; $maskDisplay03Switch = "0"; $maskDisplay04Switch = "1"; $maskDisplay05Switch = "0"; $maskDisplay06Switch = "0"; $maskDisplay07Switch = "0"; endif; elseif ($f_actionID == "103") : // Get service jobs $f_jb_filter_2 = $f_actionObjId; // Set filter for service jobs regarding the serialnumber of the service unit // getServiceJoblist(); // Will be called later including this filter !!! if ($f_act == "processAction") : $maskDisplay01Switch = "0"; $maskDisplay02Switch = "0"; $maskDisplay03Switch = "1"; $maskDisplay04Switch = "0"; $maskDisplay05Switch = "0"; $maskDisplay06Switch = "0"; $maskDisplay07Switch = "0"; endif; resetActionParameters(); elseif ($f_actionID == "104") : getSuMessageData($f_actionObjId); if ($f_act == "processAction") : $maskDisplay01Switch = "0"; $maskDisplay02Switch = "0"; $maskDisplay03Switch = "0"; $maskDisplay04Switch = "0"; $maskDisplay05Switch = "1"; $maskDisplay06Switch = "0"; $maskDisplay07Switch = "0"; endif; elseif ($f_actionID == "105") : // Set form fields for the administration $f_su_admin_filter_1 = $f_actionObjId; // Set filter for administration of the service unit $jsExecBodyOnLoadArray[2] = "1"; // Set service unit form data according to $f_actionObjId if ($f_act == "processAction") : $jsExecBodyOnLoadArray[0] = "1"; // Set form by "body onLoad" $maskDisplay01Switch = "0"; $maskDisplay02Switch = "0"; $maskDisplay03Switch = "0"; $maskDisplay04Switch = "0"; $maskDisplay05Switch = "0"; $maskDisplay06Switch = "1"; $maskDisplay07Switch = "0"; endif; resetActionParameters(); endif; endif; // else : // $outReportArray[] = getLngt("Die gewählte Aktion konnte nicht ausgeführt werden, da nicht alle Angaben gesetzt wurden!"); endif; // $f_act = ""; // Init // endif; // ***************************************** // * Save state of the selected checkboxes * // ***************************************** if ($f_act == "savePT" || $f_act == "optimizePT") : // Remove existing persistent states // ONLY do this if ALL service units are displayed (!!!) // OTHERWISE it is NOT necessary because the delta if ($f_pt_filter_1 == "0") : $sqlStmt = "UPDATE phoenix.articleitem SET ati_data_20 = '0' WHERE stk_id IN (SELECT stk_id FROM stock WHERE stk_pre_id = '" . $rootStockSU . "')"; $res = $db->query($sqlStmt); if (DB::isError($res)) : die ("$PHP_SELF: " . $res->getMessage()); endif; endif; // Update checked checkboxes if ($f_su_chkbx_len > 0) : for ($i = 0; $i < $f_su_chkbx_len; $i++) : updateStmt("phoenix.articleitem", "ati_serialno", $f_su_chkbx[$i], array("ati_data_20", "1")); endfor; endif; endif; // ********************** // * Optimize tour data * // ********************** if ($f_act == "optimizePT") : $optimizationDisabled = getParameterValue("0", "OPTIMIZATION_DISABLED", $hq_id); if (true || $optimizationDisabled != "1") : // Presently no restrictions regarding to the optimization !!!!!!!!!!!! // * Optimization process by server * $usedVehicleNumberArray = array(); for ($j = 1; $j <= $maxNumOfTours; $j++) : if (count($suRoutePlanningArray[$j]) > 0) : $usedVehicleNumberArray[] = $j; // E.g. ONE vehicle only, but it is the vehicle "3" endif; endfor; // Get potential coordinates of the start and/or end of all tours // Start coordinates $coordinatesStart = getParameterValue("0", "OPTIMIZATION_COORDINATES_START", $hq_id); $coordinatesStartArray = array(); if ($coordinatesStart != "") : $coordinatesStartArray = spliti(",", $coordinatesStart); endif; $coordinatesStartArrayLen = count($coordinatesStartArray); // End coordinates $coordinatesEnd = getParameterValue("0", "OPTIMIZATION_COORDINATES_END", $hq_id); $coordinatesEndArray = array(); if ($coordinatesEnd != "") : $coordinatesEndArray = spliti(",", $coordinatesEnd); endif; $coordinatesEndArrayLen = count($coordinatesEndArray); // Iterate tours to be created for each vehicle (vehicle #1, vehicle #2, ...) $usedVehicleNumberArrayLen = count($usedVehicleNumberArray); // Remove old persistent optimization states in "ati.ati_data_19" if ($usedVehicleNumberArrayLen > 0) : $sqlStmt = "UPDATE phoenix.articleitem SET ati_data_19 = '' WHERE stk_id IN (SELECT stk_id FROM stock WHERE stk_pre_id = '" . $rootStockSU . "')"; $res = $db->query($sqlStmt); if (DB::isError($res)) : die ("$PHP_SELF: " . $res->getMessage()); endif; endif; // Iterate all selected vehicles for ($j = 0; $j < $usedVehicleNumberArrayLen; $j++) : $tmpVehicleNum = $usedVehicleNumberArray[$j]; $suRoutePlanningArrayLen = count($suRoutePlanningArray[$tmpVehicleNum]); if ($suRoutePlanningArrayLen > 0) : // Add start and/or end coordinates if exist $tmpLen = 0; if ($coordinatesStartArrayLen > 0) : $suRoutePlanningArray[$tmpVehicleNum] = array_merge(array($coordinatesStartArray), $suRoutePlanningArray[$tmpVehicleNum]); endif; if ($coordinatesEndArrayLen > 0) : $suRoutePlanningArray[$tmpVehicleNum] = array_merge($suRoutePlanningArray[$tmpVehicleNum], array($coordinatesEndArray)); $tmpLen = 1; endif; // Trigger optimization process // Data structure in "$suRoutePlanningArray[$tmpVehicleNum]": array(array("92845", "10.241763", "53.661418"), array("92730", "10.064445", "53.586847"), ...) // Set last element of the list to be optimized as target address // $tmpLen = count($suRoutePlanningArray[$tmpVehicleNum]); $suRouteOptimizedArray[$tmpVehicleNum] = XSplanTourId($suRoutePlanningArray[$tmpVehicleNum], $tmpLen); $suRouteOptimizedArrayLen = count($suRouteOptimizedArray[$tmpVehicleNum]); if ($suRouteOptimizedArrayLen > 0) : // Store optimization sort in table "articleitem" if ($suRouteOptimizedArrayLen > 0) : for ($i = 0; $i < $suRouteOptimizedArrayLen; $i++) : if (!( ($i == 0 && $coordinatesStartArrayLen > 0) || ($i == $suRouteOptimizedArrayLen && $coordinatesEndArrayLen > 0) )) : updateStmt("phoenix.articleitem", "ati_serialno", $suRouteOptimizedArray[$tmpVehicleNum][$i][0], array("ati_data_19", $constLngOutputTourChars . pad($tmpVehicleNum, 2, "0") . "-" . pad($i, 2, "0"))); endif; endfor; endif; else : $outReportArray[] = getLngt("Tour") . " " . $tmpVehicleNum . ": " . getLngt("Die Optimierung schlug fehl! Der Rückgabevektor ist leer!"); endif; else : $outReportArray[] = getLngt("Tour") . " " . $tmpVehicleNum . ": " . getLngt("Die Optimierung wurde mangels Geo-Koordinaten nicht durchgeführt!"); endif; endfor; endif; endif; // Get current persistent states of the service units getPersistentStates(); // ************************************************ // * Make job from persistent optimization vector * // ************************************************ if ($f_act == "makeJobPT") : // Get current timestamp $currentTime = getDateTime("0"); // Init fix values for all jobs $cscIdPayer = getParameterValue("0", "CSC_ID_PAYER_DEFAULT", $hq_id); if ($cscIdPayer != "" && is_numeric($cscIdPayer)) : $cscId = "0"; $jbOrdertime = $currentTime; $jbCrFilter = ""; $jbStatus = "0"; $jbType = ""; $jbTourname = ""; $fixprice = "0"; $cmpPostage = "0"; $csInvmode = ""; $jbCrvhWeight = ""; $jbCrvhLength = ""; $jbCrvhWidth = ""; $jbCrvhHeight = ""; $jbCrvhPosition = ""; $jbTourdata = ""; $cscIdExternal = getParameterValue("0", "CSC_ID_PAYER_EXTERN", $hq_id); $txValue = getFieldValueFromId("tax","tx_id","4","tx_value"); $txSign = getFieldValueFromId("tax","tx_id","4","tx_sign"); // Get vehicles to map... (e.g. 1 <=> HHA101, 2 <=> HHA102, 3 <=> HHA103) // Has to be parameterized !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $mappedCourierArray = array("", "9322", "9323", "9324"); // HARDCODED !!!!!!!!!!! // Get required vehicles from the persistent state of the optimized tours $usedVehicleNumberArray = array(); $tmpOptimizedTourArray = getColVectorFromDB2ArrayByClause("phoenix.articleitem", "ati_data_19", "ati_data_19 != ''", "", "", ""); $tmpOptimizedTourArrayLen = count($tmpOptimizedTourArray); for ($j = 0; $j < $tmpOptimizedTourArrayLen; $j++) : $tmpArray = spliti("-", $tmpOptimizedTourArray[$j]); $tmpTourNo = $tmpArray[0]; $tmpTourNo = substr($tmpTourNo, strlen($constLngOutputTourChars)); $x = array_search($tmpTourNo, $usedVehicleNumberArray); if ($x === FALSE) : $usedVehicleNumberArray[] = $tmpTourNo; endif; endfor; sort($usedVehicleNumberArray); // The array e.g. contains ("1", "2", "3") $usedVehicleNumberArrayLen = count($usedVehicleNumberArray); // Iterate all vehicles to get a job for their tour if ($usedVehicleNumberArrayLen > 0) : for ($j = 0; $j < $usedVehicleNumberArrayLen; $j++) : $tmpVehicleNum = $usedVehicleNumberArray[$j]; // It is a pad value like "01", "02", "03", ... !!! // Get persistent optimized vector of service unit data $tmpStrLen = strlen($constLngOutputTourChars) + strlen($tmpVehicleNum); $sqlStmt = getStmtGenericStockArticleItems("0", $rootStockSU, "", "1", "ati.ati_data_19 != '' AND LEFT(ati.ati_data_19, " . $tmpStrLen . ") = '" . $constLngOutputTourChars . $tmpVehicleNum . "'", "", "ati.ati_data_19", ""); if ($sqlStmt != "") : $result = $db->query($sqlStmt); if (DB::isError($result)) die ("$PHP_SELF: " . $result->getMessage()); if ($result->numRows() > 0) : TA("B"); $crId = $mappedCourierArray[intval($tmpVehicleNum)]; $crIdOrder = $crId; $crvhId = getFieldValueFromId("couriervehicle","cr_id",$crId,"crvh_id"); $vhtId = getFieldValueFromId("couriervehicle","crvh_id",$crvhId,"vht_id"); $crSid = getFieldValueFromId("couriervehicle","crvh_id",$crvhId,"crvh_sid"); $jbRemark = ""; // Create general job data insertStmt("job", array("hq_id", $hq_id, "csc_id", $cscId, "vht_id", $vhtId, "csc_id_payer", $cscIdPayer, "jb_payment", "0", "jb_ordertime", $jbOrdertime, "cr_id", $crId, "cr_sid", $crSid, "cr_id_order", $crIdOrder, "jb_cr_filter", $jbCrFilter, "jb_cr_filter_opt", "", "jb_waitstorno", "0", "jb_taketime", "", "jb_status", $jbStatus, "jb_autoranking", "0", "jb_type", $jbType, "jb_incomplete", "0", "jb_globaljob", "0", "jb_tourname", $jbTourname, "jb_finishtime", "", "emp_id", $usr_id, "jb_fixprice", $fixprice, "jb_totalprice", $fixprice, "jb_postage", $cmpPostage, "jb_invmode", $csInvmode, "jb_freetext_1", "", "jb_weight", $jbCrvhWeight, "jb_crvh_length", $jbCrvhLength, "jb_crvh_width", $jbCrvhWidth, "jb_crvh_height", $jbCrvhHeight, "jb_crvh_position", $jbCrvhPosition, "jb_invtext", $jbRemark, "jb_tourdata", $jbTourdata, "jb_lockuser", "0", "jb_id_parent", "0", "jb_dispoinfo", "", "jb_sales_tax_rate", $txValue, "jb_sales_tax_rate_sign", $txSign, "jb_booktime", "")); $jbIdNew = getLastInsertId(); // Create tour data $i = 0; while ($row = $result->fetch_assoc()): $trSort = $i + 1; // Get state of the service unit $trRemark = ""; $tmpAtiArray = getFieldsValueFromId("articleitem","ati_serialno",$row["ati_serialno"],array("at_id","ati_data_17")); $tmpAtId = $tmpAtiArray[0]; $tmpAtimCodes = $tmpAtiArray[1]; if ($tmpAtId != "" && $tmpAtimCodes != "") : $tmpAtimCodesArray = spliti(",", $tmpAtimCodes); $tmpAtimCodesArrayLen = count($tmpAtimCodesArray); for ($k = 0; $k < $tmpAtimCodesArrayLen; $k++) : $tmpAtimCode = $tmpAtimCodesArray[$k]; $tmpAtimDesc = getFieldValueFromClause("articlemessage","atm_desc","at_id = '" . $tmpAtId . "' AND atm_code = '" . $tmpAtimCode . "'"); $tmpAtimText = getFieldValueFromClause("articlemessage","atm_text","at_id = '" . $tmpAtId . "' AND atm_code = '" . $tmpAtimCode . "'"); if ($trRemark != "") : $trRemark .= " | "; endif; $trRemark .= "[" . ($k + 1) . ".] " . $tmpAtimCode . ": " . $tmpAtimDesc . " | => " . $tmpAtimText; endfor; endif; // Insert tour data for station insertStmt("tour", array("jb_id", $jbIdNew, "ad_id", $row["ad_id"], "tr_sort", $trSort, "tr_comp", $row["ati_serialno"], "tr_comp2", "", "tr_hsno", $row["stk_hsno"], "csc_id", $cscIdExternal, "tr_status", "0", "tr_commission_no", $row["ati_serialno"], "tr_ware_from_to", "", "tr_person", "", "tr_phone", "", "tr_remark", $trRemark)); // Insert tourservice data $tmpSuSingleChargingLevels = getLngt("BEK:") . number_format($row["ati_data_05"], 0, ",", ".") . ","; $tmpSuSingleChargingLevels .= getLngt("MEK:") . number_format($row["ati_data_06"], 2, ",", ".") . ","; $tmpSuSingleChargingLevels .= getLngt("H1:") . number_format($row["ati_data_07"], 0, ",", ".") . ","; $tmpSuSingleChargingLevels .= getLngt("H2:") . number_format($row["ati_data_08"], 2, ",", ".") . ","; $tmpSuSingleChargingLevels .= getLngt("H3:") . number_format($row["ati_data_09"], 2, ",", "."); $tmpSuChargingLevelSum = 0; if ($row["ati_data_05"] != "" && is_numeric($row["ati_data_05"])) : $tmpSuChargingLevelSum += $row["ati_data_05"]; endif; if ($row["ati_data_06"] != "" && is_numeric($row["ati_data_06"])) : $tmpSuChargingLevelSum += $row["ati_data_06"]; endif; if ($row["ati_data_07"] != "" && is_numeric($row["ati_data_07"])) : $tmpSuChargingLevelSum += $row["ati_data_07"]; endif; if ($row["ati_data_08"] != "" && is_numeric($row["ati_data_08"])) : $tmpSuChargingLevelSum += $row["ati_data_08"]; endif; if ($row["ati_data_09"] != "" && is_numeric($row["ati_data_09"])) : $tmpSuChargingLevelSum += $row["ati_data_09"]; endif; insertStmt("tourservice", array("jb_id", $jbIdNew, "csc_id", $cscIdPayer, "tr_sort", $trSort, "srv_id", "0", "trs_srv_name", $tmpSuSingleChargingLevels, "srvt_id", "0", "trs_srvt_name", "", "trs_price", $tmpSuChargingLevelSum)); // Insert tourarticle insertStmt("tourarticle", array("jb_id", $jbIdNew, "tr_sort", $trSort, "trat_serialno", $row["ati_serialno"], "trat_createtime", $currentTime)); $tratIdNew = getLastInsertId(); // Insert tourarticleprocess // Store snapshot of the current data in articleitem of the current service unit if ($tratIdNew != "" && is_numeric($tratIdNew)) : // [tratp_type == "5" <=> ati_data_05 <=> e.g. BEK, tratp_type == "6" <=> ati_data_06 <=> e.g. MEK, etc.] // for ($k = 1; $k <= $maxNumOfAtiDataFields; $k++) : for ($k = 5; $k <= 9; $k++) : insertStmt("tourarticleprocess", array("trat_id", $tratIdNew, "tratp_type", $k, "tratp_state", "0", "tratp_remark", $row["ati_data_" . pad($k, 2, "0")], "tratp_createtime", $currentTime)); endfor; endif; $i++; endwhile; TA("C"); TA("E"); if (existsEntry("job", array("jb_id", $jbIdNew))) : $outReportArray[] = getLngt("Der Auftrag mit der Nummer") . " " . $jbIdNew . " " . getLngt("wurde erzeugt!"); else : $outReportArray[] = getLngt("Es wurde leider kein Auftrag erzeugt!"); endif; endif; $result->free(); endif; endfor; endif; else : $outReportArray[] = getLngt("Es existiert kein Default-Bezahler für die Tour. Der Auftrag wurde NICHT angelegt! Bitte der Systemadministration melden!"); endif; endif; // Get service jobs getServiceJoblist(); endif; // Check for $rootStockSU is defined // ********** // * Output * // ********** // Output threshold values $outThresholdValues = ""; if ($generateOutput) : $outThresholdValues .= ""; $outThresholdValues .= "" . " " . " " . ""; $outThresholdValues .= "" . " " . " " . ""; $outThresholdValues .= "" . " " . " " . ""; $outThresholdValues .= "" . " " . " " . ""; $outThresholdValues .= "" . " " . " " . ""; $outThresholdValues .= "" . " " . " " . ""; $outThresholdValues .= "" . " " . " " . ""; $outThresholdValues .= "" . " " . " " . ""; $outThresholdValues .= "
" . getLngt("KASSETTENTYP") . "" . getLngt("ART") . "" . getLngt("BETRAG") . "
" . getLngt("Münzkassette (MEK)") . "" . getLngt("gelbe MEK") . "" . "" . "
" . getLngt("Münzkassette (MEK)") . "" . getLngt("rote MEK") . "" . "" . "
" . getLngt("Banknotenkassetten (BEK)") . "" . getLngt("gelbe BEK") . "" . "" . "
" . getLngt("Banknotenkassetten (BEK)") . "" . getLngt("rote BEK") . "" . "" . "
" . getLngt("Wechselgeldspeicher (Kassetten)") . "" . getLngt("Hopper 1 (2 EUR)") . "" . "" . "
" . getLngt("Wechselgeldspeicher (Kassetten)") . "" . getLngt("Hopper 2 (10 ct)") . "" . "" . "
" . getLngt("Wechselgeldspeicher (Kassetten)") . "" . getLngt("Hopper 3 (5 ct)") . "" . "" . "
"; // Prepare for remaining threshold values. Use hidden parameters $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; $outThresholdValues .= ""; endif; // Output current states of service units $outEventStates = ""; if ($generateOutput) : $outEventStatesArrayLen = count($outEventStatesArray); if ($outEventStatesArrayLen > 0) : $outEventStates .= ""; $outEventStates .= ""; $outEventStates .= " "; $outEventStates .= " "; $outEventStates .= " "; $outEventStates .= " "; $outEventStates .= " "; // $outEventStates .= " "; $outEventStates .= " "; // $outEventStates .= " "; // $outEventStates .= " "; $outEventStates .= " "; $outEventStates .= " "; $outEventStates .= " "; $outEventStates .= " "; $outEventStates .= " "; $outEventStates .= " "; $outEventStates .= " "; $outEventStates .= " "; $outEventStates .= " "; $outEventStates .= ""; for ($j = 0; $j < $outEventStatesArrayLen; $j++) : $outEventStates .= $outEventStatesArray[$j]; endfor; $outEventStates .= "
" . getLngt("FA") . "" . getLngt("N") . "" . getLngt("Standort") . "" . getLngt("Opt.") . "" . getLngt("Fzg.") . "" . getLngt("Sort.") . "" . getLngt("XXX") . "" . getLngt("PLZ") . "" . getLngt("Geog. Breite") . "" . getLngt("Geog. Länge") . "" . getLngt("BEK") . "" . getLngt("MEK") . "" . getLngt("H1") . "" . getLngt("H2") . "" . getLngt("H3") . "" . getLngt("Messzeitpunkt") . "" . getLngt("Meldungen") . "" . getLngt("SW") . "" . getLngt("Status") . "
"; endif; endif; // Output service jobs $outServiceJobs = ""; $outServiceJobJsDate = ""; $jbDateFilter = ""; if ($generateOutput) : $outJobArrayLen = count($outJobArray); if ($outJobArrayLen > 0) : $outServiceJobs .= ""; $outServiceJobs .= ""; $outServiceJobs .= " "; $outServiceJobs .= " "; $outServiceJobs .= " "; $outServiceJobs .= " "; $outServiceJobs .= " "; $outServiceJobs .= " "; $outServiceJobs .= " "; // $outServiceJobs .= " "; // $outServiceJobs .= " "; // $outServiceJobs .= " "; $outServiceJobs .= " "; $outServiceJobs .= ""; for ($j = 0; $j < $outJobArrayLen; $j++) : $outServiceJobs .= $outJobArray[$j]; endfor; $outServiceJobs .= "
" . getLngt("Auftrag") . "" . getLngt("Fahrzeug") . "" . getLngt("Station") . "" . getLngt("Erledigungszeit") . "" . getLngt("Automat") . "" . getLngt("Standort") . "" . getLngt("PLZ") . "" . getLngt("Auftragsbeginn") . "" . getLngt("Annahmezeit") . "" . getLngt("Auftragsende") . "" . getLngt("Wartungsarbeiten") . "
"; endif; $outServiceJobJsDate .= "\n"; $outServiceJobJsDate .= "\n"; $outServiceJobJsDate .= "\n"; // Date ranges $jbDateFilter = "von:\n"; $jbDateFilter .= "\n"; $jbDateFilter .= "\n"; $jbDateFilter .= "\n"; $jbDateFilter .= "  bis:\n"; $jbDateFilter .= "\n"; $jbDateFilter .= "\n"; $jbDateFilter .= "\n"; $jbDateFilter .= " "; // Time ranges /* $jbTimeFilter = "["; $jbTimeFilter .= "Ohne|"; $jbTimeFilter .= "Mit"; $jbTimeFilter .= "Einschränkung auf Zeitintervall von:\n"; $jbTimeFilter .= "\n"; $jbTimeFilter .= "\n"; $jbTimeFilter .= "Uhr  bis:\n"; $jbTimeFilter .= "\n"; $jbTimeFilter .= "\n"; $jbTimeFilter .= "Uhr]\n"; */ endif; // Output log data $outLogData = ""; if ($generateOutput) : $outLogArrayLen = count($outLogArray); if ($outLogArrayLen > 0) : $outLogData .= ""; $outLogData .= ""; $outLogData .= "" . " " . " " . " " . " " . " " . ""; for ($j = 0; $j < $outLogArrayLen; $j++) : $outLogData .= $outLogArray[$j]; endfor; $outLogData .= "
" . $f_actionObjId . "
" . getLngt("Zeitpunkt") . "" . getLngt("BEK") . "" . getLngt("MEK") . "" . getLngt("H1") . "" . getLngt("H2") . "" . getLngt("H3") . "
"; endif; endif; // Output message data $outMessageData = ""; if ($generateOutput) : $outMessageArrayLen = count($outMessageArray); if ($outMessageArrayLen > 0) : $outMessageData .= ""; $outMessageData .= ""; $outMessageData .= "" . " " . " " . ""; for ($j = 0; $j < $outMessageArrayLen; $j++) : $outMessageData .= $outMessageArray[$j]; endfor; $outMessageData .= "
" . $f_actionObjId . "
" . getLngt("Code") . "" . getLngt("Beschreibung") . "" . getLngt("Text") . "
"; endif; endif; $outSuFormData = ""; if ($generateOutput) : $tmpCol_bg_01 = $colArray["bg"]; $tmpCol_bg_02 = $colArray["green"]; $tmpCol_bg_03 = $colArray["blue"]; $tmpCol_fg_01 = $colArray["black"]; $tmpCol_fg_02 = $colArray["black"]; $tmpCol_fg_03 = $colArray["black"]; $outSuFormData .= ""; // Service unit data $outSuFormData .= ""; $outSuFormData .= " "; $outSuFormData .= ""; $outSuFormData .= ""; $outSuFormData .= " "; $outSuFormData .= " "; $outSuFormData .= ""; $outSuFormData .= ""; $outSuFormData .= " "; $outSuFormData .= " "; $outSuFormData .= ""; $outSuFormData .= ""; $outSuFormData .= " "; $outSuFormData .= " "; $outSuFormData .= ""; $outSuFormData .= ""; $outSuFormData .= " "; $outSuFormData .= " "; $outSuFormData .= ""; $outSuFormData .= ""; $outSuFormData .= " "; $outSuFormData .= " "; $outSuFormData .= ""; $outSuFormData .= ""; $outSuFormData .= " "; $outSuFormData .= " "; $outSuFormData .= ""; $outSuFormData .= ""; $outSuFormData .= " "; $outSuFormData .= " "; $outSuFormData .= ""; // Stock data (service stations) $outSuFormData .= ""; $outSuFormData .= " "; $outSuFormData .= ""; $outSuFormData .= ""; $outSuFormData .= " "; $outSuFormData .= " "; $outSuFormData .= ""; $outSuFormData .= ""; $outSuFormData .= " "; $outSuFormData .= " "; $outSuFormData .= ""; $outSuFormData .= ""; $outSuFormData .= " "; $outSuFormData .= " "; $outSuFormData .= ""; $outSuFormData .= ""; $outSuFormData .= " "; $outSuFormData .= " "; $outSuFormData .= ""; $outSuFormData .= ""; $outSuFormData .= " "; $outSuFormData .= " "; $outSuFormData .= ""; $outSuFormData .= "
" . getLngt("Administration Automaten mit Standort") . "
"; $outSuFormData .= " " . getLngt("Automatennummer") . " : "; $outSuFormData .= "  "; $outSuFormData .= " "; $outSuFormData .= "
"; $outSuFormData .= " " . getLngt("Automatentyp") . " : "; $outSuFormData .= "  "; $outSuFormData .= " "; $outSuFormData .= "
"; $outSuFormData .= " " . getLngt("Bemerkung") . " : "; $outSuFormData .= "  "; $outSuFormData .= " "; $outSuFormData .= "
"; $outSuFormData .= " " . getLngt("Geographische Breite") . " : "; $outSuFormData .= "  "; $outSuFormData .= " "; $outSuFormData .= "
"; $outSuFormData .= " " . getLngt("Geographische Länge") . " : "; $outSuFormData .= "  "; $outSuFormData .= " "; $outSuFormData .= "
"; $outSuFormData .= " " . getLngt("Präselektion für Tourenoptimierung [Tourennummer]") . " : "; $outSuFormData .= "  "; for ($j = 1; $j <= 7; $j++) : $tmpAtiFieldValue = ${("f_su_admin_ati_data_21_" . $j)}; $outSuFormData .= substr($calWeekDays[($j - 1)], 0, 2) . " "; $outSuFormData .= "      "; endfor; $outSuFormData .= "
"; $outSuFormData .= " " . getLngt("Aktionen") . " : "; $outSuFormData .= "  "; $outSuFormData .= " " . defineButtonType08("Automatendaten speichern", "action_store_form_serviceunit", "finishFormServiceUnit();", "200", "left", "2"); $outSuFormData .= "
" . getLngt("Administration Standorte") . "
"; $outSuFormData .= " " . getLngt("Standort") . " : "; $outSuFormData .= "  "; $outSuFormData .= " "; $outSuFormData .= "
"; $outSuFormData .= " " . getLngt("Info") . " : "; $outSuFormData .= "  "; $outSuFormData .= " "; $outSuFormData .= "
"; $outSuFormData .= " " . getLngt("Strasse, Hausnr.") . " : "; $outSuFormData .= "  "; $outSuFormData .= " "; $outSuFormData .= "  "; $outSuFormData .= " "; $outSuFormData .= "
"; $outSuFormData .= " " . getLngt("PLZ, Ort") . " : "; $outSuFormData .= "  "; $outSuFormData .= "  "; $outSuFormData .= " "; $outSuFormData .= "
"; $outSuFormData .= " " . getLngt("Aktionen") . " : "; $outSuFormData .= "  "; $outSuFormData .= " " . defineButtonType08("Standortdaten speichern", "action_store_form_stock", "finishFormStock();", "200", "left", "2"); $outSuFormData .= "
"; endif; // Output report entries and system messages $outReport = ""; $outReportArrayLen = count($outReportArray); if ($outReportArrayLen > 0) : $maskDisplay00Switch = "1"; // Activate output if there is at least one message to be displayed $outReport .= ""; for ($j = 0; $j < $outReportArrayLen; $j++) : $outReport .= ""; endfor; $outReport .= "
" . $outReportArray[$j] . "
"; endif; ?> <?php echo $pageTitel ?>
" style="float:left;width:180px;">     
" style="float:left;width:180px;">     
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

"; echo getLngt("BEK:") . " " . number_format($outGlobalStateArray["ati_data_05"], 0, ",", ".") . " €    "; echo getLngt("MEK:") . " " . number_format($outGlobalStateArray["ati_data_06"], 2, ",", ".") . " €    "; echo getLngt("H1:") . " " . number_format($outGlobalStateArray["ati_data_07"], 0, ",", ".") . " €    "; echo getLngt("H2:") . " " . number_format($outGlobalStateArray["ati_data_08"], 2, ",", ".") . " €    "; echo getLngt("H3:") . " " . number_format($outGlobalStateArray["ati_data_09"], 2, ",", ".") . " €    "; $outGlobalSum = $outGlobalStateArray["ati_data_05"] + $outGlobalStateArray["ati_data_06"] + $outGlobalStateArray["ati_data_07"] + $outGlobalStateArray["ati_data_08"] + $outGlobalStateArray["ati_data_09"]; echo getLngt("Summe:") . " " . number_format( $outGlobalSum, 2, ",", ".") . " €"; */ ?>
    
    
                  
              
         
    
          
>