fetch_assoc()) : $doContinue = true; // Check conditions to avoid export of current row if ($f_exp_category == "2" || $f_exp_category == "3") : $tmpCrId = $row["cr_id"]; if ($tmpCrId != "" && $tmpCrId > 0) : // [I] "cmp.cmp_contract_date" $tmpCmpId = getFieldValueFromId("courier","cr_id",$tmpCrId,"cmp_id"); $contractDate = getFieldValueFromId("company","cmp_id",$tmpCmpId,"cmp_contract_date"); if ($contractDate == "" || $contractDate == "0000-00-00") : // [II] Category 3 [2nd TP-Page], Field 1631 ["Vertragsbeginn"], [1945 <=> current mtfck association] $contractDate = getMetafieldValue("3", "1631", $tmpCrId, "0"); if ($contractDate != "" && $contractDate != "ERR") : // Convert to date $contractDate = substr($contractDate,6,4) . "-" . substr($contractDate,3,2) . "-" . substr($contractDate,0,2); endif; endif; if ($contractDate != "" && $contractDate != "ERR") : if ($currentDate < $contractDate) : $doContinue = false; endif; endif; endif; endif; // Check special "no-export-date" to avoid export of current vehicle row if ($doContinue && $f_exp_category == "3") : $tmpCrvhId = $row["crvh_id"]; if ($tmpCrvhId != "" && $tmpCrvhId > 0) : // [II] Category 4 [2nd vehicle page], Field 1728 ["Enddatum SAP-Export"], [2117 <=> current mtfck association] $noExportDate = getMetafieldValue("4", "1728", $tmpCrvhId, "0"); if ($noExportDate != "" && $noExportDate != "ERR" && $noExportDate != "0000-00-00") : $noExportDate = substr($noExportDate, 6, 4) . "-" . substr($noExportDate, 3, 2) . "-" . substr($noExportDate, 0, 2); // Increment one day // $noExportDate = date('Y-m-d', strtotime($noExportDate . ' +1 day')); if ($currentDate >= $noExportDate) : $doContinue = false; endif; endif; endif; endif; if ($doContinue) : $tmpJbCscIdPayer = ""; $tmpCsCscIdRoot = ""; $tmpMainadressOverrulesInvoiceaddress = FALSE; $tmpMainCompanynameOverrulesInvoiceCompanyname = FALSE; $jbpcId = ""; $paymentMethod = " "; if ($f_exp_category == "8") : // Get job payment collection ID for payment method CASH ("Barzahlung") // $jbpcId = getFieldValueFromClause("jobpayment","jbpc_id","jb_id = '" . $row["jb_id"] . "' AND jbp_mode = '0'"); $jbpcId = getFieldValueFromClause("jobpayment","jbpc_id","jb_id = '" . $row["jb_id"] . "' AND jbpc_id != '0' AND jbp_price != '0'"); $jbpCounter = getFieldValueFromClause("jobpayment","jbp_counter","jb_id = '" . $row["jb_id"] . "' AND jbp_mode = '0' AND jbp_price != '0'"); // If $jbpCounter == "0" => $paymentMethod = JB_PAYMODE_CASH; // If $jbpCounter == "" => $paymentMethod = " "; if ($jbpCounter == "0") : $paymentMethod = JB_PAYMODE_CASH; endif; /* if ($jbpcId != "" && is_numeric($jbpcId)) : $paymentMethod = JB_PAYMODE_CASH; else : // Get job payment collection ID for payment method NOT being CASH ("Keine Barzahlung") $jbpcId = getFieldValueFromClause("jobpayment","jbpc_id","jb_id = '" . $row["jb_id"] . "' AND jbp_mode != '0'"); endif; */ if ($f_exp_category == "8") : // Check existing invoice vehicle. If it does exist substitute SID $crIdParent = getFieldValueFromId("courier","cr_id",$row["cr_id"],"cr_id_parent"); if ($crIdParent == "" || $crIdParent == "0") : $crIdParent = $row["cr_id"]; endif; $crvhIdInv = getFieldValueFromClause("couriervehicle", "crvh_id_inv", "cr_id = '" . $crIdParent . "' AND RIGHT(crvh_sid,3) = '" . substr($row["cr_sid"],-3) . "'"); if ($crvhIdInv != "" && $crvhIdInv != "0") : $crvhSidInv = getFieldValueFromId("couriervehicle","crvh_id",$crvhIdInv,"crvh_sid"); if ($crvhSidInv != "") : $row["cr_sid"] = " " . substr($crvhSidInv,-3); endif; endif; endif; endif; for ($i = 0; $i < $idArrayLen; $i++) : // Extract the fieldname (right part of the ".", e.g. "cmp_comp" from "cmp.cmp_comp") $fieldName = substr($fieldArray[$i], strrpos($fieldArray[$i],".") + 1); // Current content of the field (e.g. $rowArray[3]["cmp_comp"] = $row["cmp_comp"]) $rowArray[$j][$fieldName] = mcArrIsSet($row, $fieldName); // Special cases for general treatment ... if ($fieldName == "cmp_modify_status") : // companies (customers, couriers, etc.) if ($rowArray[$j][$fieldName] == "" || $rowArray[$j][$fieldName] == "0") : $rowArray[$j][$fieldName] = " "; endif; if ($rowArray[$j][$fieldName] == "1") : $rowArray[$j][$fieldName] = ROW_EDIT_STATUS_NEW; endif; if ($rowArray[$j][$fieldName] == "2") : $rowArray[$j][$fieldName] = ROW_EDIT_STATUS_MODIFY; endif; endif; if ($fieldName == "crvh_modify_status") : // vehicles if ($rowArray[$j][$fieldName] == "" || $rowArray[$j][$fieldName] == "0") : $rowArray[$j][$fieldName] = " "; endif; if ($rowArray[$j][$fieldName] == "1") : $rowArray[$j][$fieldName] = " "; endif; if ($rowArray[$j][$fieldName] == "2") : $rowArray[$j][$fieldName] = " "; endif; if ($rowArray[$j][$fieldName] == "3") : $rowArray[$j][$fieldName] = ROW_EDIT_STATUS_DELETE; endif; endif; if ($fieldName == "crvh_special") : // vehicles if ($rowArray[$j][$fieldName] == "1") : $rowArray[$j][$fieldName] = "X"; else : $rowArray[$j][$fieldName] = " "; endif; endif; if ($fieldName == "crvh_corporate_identity") : // vehicles (CI) $tmpCI = $rowArray[$j][$fieldName]; $crvhCorporateIdentity = pad("G ", 60, " "); if ($tmpCI != "" && is_numeric($tmpCI)) : if (((int)$tmpCI & 15) == 1 || ((int)$tmpCI & 15) == 3) : $crvhCorporateIdentity = "X" . substr($crvhCorporateIdentity, 1); endif; if (((((int)$tmpCI) / 16) & 15) == 1 || ((((int)$tmpCI) / 16) & 15) == 3) : $crvhCorporateIdentity = substr($crvhCorporateIdentity, 0, 2) . "X" . substr($crvhCorporateIdentity, 3); endif; endif; $rowArray[$j][$fieldName] = $crvhCorporateIdentity; endif; if ($f_exp_category == "2") : if ($fieldName == "cmp_type") : // company type of the courier if ($rowArray[$j][$fieldName] == "1") : $rowArray[$j][$fieldName] = "X"; else : $rowArray[$j][$fieldName] = " "; endif; endif; endif; if ($fieldName == "cmp_bankmode") : // companies if ($rowArray[$j][$fieldName] == "" || $rowArray[$j][$fieldName] == "0") : $rowArray[$j][$fieldName] = CMP_BANKMODE_INVOICE; endif; if ($rowArray[$j][$fieldName] == "1") : $rowArray[$j][$fieldName] = CMP_BANKMODE_DEBITNOTE; endif; endif; // Customer invoice address (if one component (street or zipcode or city) is empty take complete address of the company) if ($f_exp_category == "1") : if ($fieldName == "adre_street" || $fieldName == "cscad_hsno" || $fieldName == "adre_zipcode" || $fieldName == "adre_city") : if (trim($rowArray[$j][$fieldName]) == "") : $tmpMainadressOverrulesInvoiceaddress = TRUE; endif; endif; if ($fieldName == "cscad_comp") : if (trim($rowArray[$j][$fieldName]) == "") : $tmpMainCompanynameOverrulesInvoiceCompanyname = TRUE; endif; endif; endif; if ($fieldName == "cash") : // jobs if ($f_exp_category == "8") : $rowArray[$j][$fieldName] = $paymentMethod; // Like " " or "BZ" else : $tmpJbCscIdPayer = $rowArray[$j][$fieldName]; if ($rowArray[$j][$fieldName] == "-1" || (CSC_ID_PAYER_CASH != "" && $rowArray[$j][$fieldName] == CSC_ID_PAYER_CASH)) : $rowArray[$j][$fieldName] = JB_PAYMODE_CASH; else : $rowArray[$j][$fieldName] = " "; endif; endif; endif; if ($f_exp_category == "8" && $fieldName == "jbpc_id") : // Job payment collection ID $rowArray[$j][$fieldName] = $jbpcId; endif; if ($fieldName == "tax_rate_sign") : // jobs global $hq_id; if ($hq_id >= "100" && $hq_id < "300") : if ($rowArray[$j][$fieldName] == "0" || $rowArray[$j][$fieldName] == "3" || $rowArray[$j][$fieldName] == "4") : $rowArray[$j][$fieldName] = JB_TAX_RATE_SIGN; else : $rowArray[$j][$fieldName] = " "; endif; else : if ($rowArray[$j][$fieldName] == "0") : $rowArray[$j][$fieldName] = JB_TAX_RATE_SIGN; else : $rowArray[$j][$fieldName] = " "; endif; endif; endif; if ($fieldName == "tx_id") : // companies if ($rowArray[$j][$fieldName] == "2" || $rowArray[$j][$fieldName] == "3" || $rowArray[$j][$fieldName] == "5") : if ($rowArray[$j][$fieldName] == "2") : $rowArray[$j][$fieldName] = "03"; elseif ($rowArray[$j][$fieldName] == "5") : $rowArray[$j][$fieldName] = "09"; else : $rowArray[$j][$fieldName] = "04"; endif; else : $rowArray[$j][$fieldName] = "01"; endif; endif; if ($fieldName == "cmp_inv2hq") : // jobs (invoice mode customer) if ($rowArray[$j][$fieldName] == "1" || $rowArray[$j][$fieldName] == "3") : $rowArray[$j][$fieldName] = "RZ"; else : $rowArray[$j][$fieldName] = " "; endif; endif; if ($fieldName == "cmp_single_invoice") : // jobs (invoice mode customer) if ($rowArray[$j][$fieldName] == "2" || $rowArray[$j][$fieldName] == "3") : $rowArray[$j][$fieldName] = "ER"; else : $rowArray[$j][$fieldName] = " "; endif; endif; if ($fieldName == "jb_cr_filter_opt") : // jobs (invoice mode single job, overrules invoice mode customer) if (!(strpos($rowArray[$j][$fieldName], "RZ") === false)) : $rowArray[$j]["cmp_inv2hq"] = "RZ"; endif; if (!(strpos($rowArray[$j][$fieldName], "EZ") === false)) : $rowArray[$j]["cmp_single_invoice"] = "ER"; endif; if (!(strpos($rowArray[$j][$fieldName], ",BL,") === false)) : $rowArray[$j]["price_special"] = "BL"; endif; endif; if ($fieldName == "jb_commission_no") : // jobs commission numbers if ($rowArray[$j][$fieldName] == "") : $rowArray[$j][$fieldName] = $rowArray[$j]["tr_commission_no"]; endif; endif; if ($f_exp_category == "1") : if ($fieldName == "cmp_dsgvo") : if ($rowArray[$j][$fieldName] == "1") : $rowArray[$j][$fieldName] = "JA"; else : $rowArray[$j][$fieldName] = "NEIN"; endif; endif; if ($fieldName == "cs_jbedit") : if ($rowArray[$j][$fieldName] == "1") : $rowArray[$j][$fieldName] = "JA"; else : $rowArray[$j][$fieldName] = "NEIN"; endif; endif; if ($fieldName == "cs_payment_term") : $rowArray[$j][$fieldName] = getFieldValueFromClause("metatype", "mt_value", "mt_type = 'payment_term' AND mt_sort = '" . $rowArray[$j][$fieldName] . "'"); endif; endif; // ATTENTION: PROPRIETARY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! if ($fieldName == "jbpc_mode") : // Payment mode // if ($rowArray[$j][$fieldName] == "0" || $rowArray[$j][$fieldName] == "") : if ($rowArray[$j][$fieldName] == "0" || $rowArray[$j][$fieldName] == "1" || $rowArray[$j][$fieldName] == "2" || $rowArray[$j][$fieldName] == "10" || $rowArray[$j][$fieldName] == "") : $rowArray[$j][$fieldName] = "BZ"; else : $rowArray[$j][$fieldName] = " "; endif; endif; if ($fieldName == "cr_eid_parent") : // jobs / vehicles (if courier works for another courier, set EID of the parent) if ($rowArray[$j][$fieldName] != "") : if ($f_exp_category == "3") : // vehicles $rowArray[$j]["cr_eid"] = $rowArray[$j][$fieldName]; else : // jobs $rowArray[$j]["cr_eid"] = $rowArray[$j][$fieldName]; endif; endif; endif; if ($fieldName == "usr_name") : // user if (trim($rowArray[$j][$fieldName]) == "Name" || is_numeric(trim($rowArray[$j][$fieldName]))) : $rowArray[$j][$fieldName] = " "; endif; endif; if ($fieldName == "usr_firstname") : // user if (trim($rowArray[$j][$fieldName]) == "Vorname" || is_numeric(trim($rowArray[$j][$fieldName]))) : $rowArray[$j][$fieldName] = " "; endif; endif; if ($f_exp_category == "6" && $fieldName == "price") : // jobs (only "Gutschriften") $jobPrice = $rowArray[$j][$fieldName]; if (is_numeric(str_replace (",", ".", $jobPrice)) && $jobPrice < 0) : $rowArray[$j][$fieldName] = substr($rowArray[$j][$fieldName],1); endif; endif; if ($f_exp_category == "8" && $fieldName == "price") : if ($paymentMethod != JB_PAYMODE_CASH) : $rowArray[$j][$fieldName] = 0; // Special treatment: If payment method does NOT equal CASH ("bar") then set price to 0.00 endif; endif; if ($f_exp_category == "8" && $fieldName == "gross_price") : if ($paymentMethod != JB_PAYMODE_CASH) : $rowArray[$j][$fieldName] = 0; // Special treatment: If payment method does NOT equal CASH ("bar") then set price to 0.00 endif; endif; if ($f_exp_category == "6" && $fieldName == "jb_subtotalprice") : // jobs (only "Gutschriften") $jobPrice = $rowArray[$j][$fieldName]; if (is_numeric(str_replace (",", ".", $jobPrice)) && $jobPrice < 0) : $rowArray[$j][$fieldName] = substr($rowArray[$j][$fieldName],1); endif; endif; if ($f_exp_category == "6" && $fieldName == "jb_cr_price") : // jobs (only "Gutschriften") $jobCrPrice = $rowArray[$j][$fieldName]; if (is_numeric(str_replace (",", ".", $jobCrPrice)) && $jobCrPrice < 0) : $rowArray[$j][$fieldName] = substr($rowArray[$j][$fieldName],1); endif; endif; if ($f_exp_category == "6" && $fieldName == "jb_cr_subprice") : // jobs (only "Gutschriften") $jobCrSubPrice = $rowArray[$j][$fieldName]; if (is_numeric(str_replace (",", ".", $jobCrSubPrice)) && $jobCrSubPrice < 0) : $rowArray[$j][$fieldName] = substr($rowArray[$j][$fieldName],1); endif; endif; if ($f_exp_category == "6" && $fieldName == "jb_hq_id_exec_price") : // jobs (only "Gutschriften") $jobHqIdExecPrice = $rowArray[$j][$fieldName]; if (is_numeric(str_replace (",", ".", $jobHqIdExecPrice)) && $jobHqIdExecPrice < 0) : $rowArray[$j][$fieldName] = substr($rowArray[$j][$fieldName],1); endif; endif; // Get potential mapping for cs_eid by parameter to replace it with another cs_eid /* if ($f_exp_category >= "4" && $f_exp_category <= "8") : if ($fieldName == "cs_eid1") : // Get service of the current job $tmpJbService = (int)$rowArray[$j]["jb_service"]; if ($tmpJbService != "") : $parJbServiceArray = array(); $csEid = $rowArray[$j][$fieldName]; // Check for existence in mapping array to avoid DB request if ($csEidMappingArray[$csEid] == "") : // Get cs_id of the current row $tmpCsId = getFieldValueFromId("customer","cs_eid",$csEid,"cs_id"); if ($tmpCsId != "") : // Get parameter if does exist for this cutomer $parCsEidMapping = getParameterValue("0", "EXPORT_CSEID_MAPPING_" . $tmpCsId, "0"); if ($parCsEidMapping != "") : // Add cs_eid to array $csEidMappingArray[$csEid] == $parCsEidMapping; endif; endif; else : $parCsEidMapping = $csEidMappingArray[$csEid]; endif; if ($parCsEidMapping != "") : $parJbServiceArray = getKeyValueArrayFromString($parCsEidMapping); // Get keys of the array $tmpKeyArray = array_keys($parJbServiceArray); $tmpKeyArrayLen = count($tmpKeyArray); for ($m = 0; $m < $lenTmpArray; $m++) : $tmpKey = (int)$tmpKeyArray[$m]; if (($tmpKey & $tmpJbService) == $tmpKey || $tmpKey = "99999") : // Set new cs_eid $rowArray[$j][$fieldName] = $parJbServiceArray[$tmpKeyArray[$m]]; endif; endfor; endif; endif; endif; endif; */ // !!! HARDCODED !!! TO BE PUT INTO THE DATABASE !!! if ($fieldName == "vht_id") : // jobs $vhtIdTruck = getVhtId("7", "truck_01"); global $hq_id; if ($hq_id >= "1" && $hq_id < "100" && $rowArray[$j][$fieldName] == "999") : // Mandator "Stadtbote" AND vehicle type "Service" only !!!! $rowArray[$j][$fieldName] = "K "; else : if ($rowArray[$j][$fieldName] >= $vhtIdTruck) : $rowArray[$j][$fieldName] = "G "; else : $rowArray[$j][$fieldName] = "K "; endif; endif; endif; // !!! HARDCODED !!! TO BE PUT INTO THE DATABASE !!! if ($fieldName == "jb_type") : // jobs if ($rowArray[$j][$fieldName] != "" && $rowArray[$j][$fieldName] > "0") : // if value "jb_type" does exist, change value for "vht_id" !!! if ($rowArray[$j][$fieldName] == "1") : $rowArray[$j]["vht_id"] = "K "; endif; if ($rowArray[$j][$fieldName] == "2") : $rowArray[$j]["vht_id"] = "G "; endif; if ($rowArray[$j][$fieldName] == "3") : $rowArray[$j]["vht_id"] = "M1"; endif; if ($rowArray[$j][$fieldName] == "4") : $rowArray[$j]["vht_id"] = "M3"; endif; if ($rowArray[$j][$fieldName] == "5") : $rowArray[$j]["vht_id"] = "M4"; endif; if ($rowArray[$j][$fieldName] == "6") : $rowArray[$j]["vht_id"] = "M5"; endif; if ($rowArray[$j][$fieldName] == "7") : $rowArray[$j]["vht_id"] = "M6"; endif; if ($rowArray[$j][$fieldName] == "8") : $rowArray[$j]["vht_id"] = "L "; endif; if ($rowArray[$j][$fieldName] == "9") : $rowArray[$j]["vht_id"] = "G3"; endif; endif; endif; // !!! HARDCODED !!! TO BE PUT INTO THE DATABASE !!! if ($fieldName == "jb_id_parent") : // CALCULATOR jobs !!!!!!!!!!!! global $hq_id; if ($hq_id >= "1" && $hq_id < "100") : // Only Stadtbote !!! $tmpJobPrice = $row["price"]; if ($tmpJobPrice == "") : $tmpJobPrice = 0; endif; $tmpJobPrice = str_replace (",", ".", $tmpJobPrice); $tmpJobCrPrice = $row["jb_cr_price"]; if ($tmpJobCrPrice == "") : $tmpJobCrPrice = 0; endif; $tmpJobCrPrice = str_replace (",", ".", $tmpJobCrPrice); if ( ($rowArray[$j][$fieldName] != "" && ($rowArray[$j][$fieldName] == "-1" || $rowArray[$j][$fieldName] > "0")) ) : // || (($rowArray[$j][$fieldName] == "0") && ($tmpJobPrice != $tmpJobCrPrice) && ($tmpJobCrPrice != 0)) // IF job is a calculator job OR job has jb_cr_price THEN expand status with "K" !!! if ($rowArray[$j]["vht_id"] == "B ") : $rowArray[$j]["vht_id"] = "BK"; endif; if ($rowArray[$j]["vht_id"] == "K ") : $rowArray[$j]["vht_id"] = "KK"; endif; if ($rowArray[$j]["vht_id"] == "G ") : $rowArray[$j]["vht_id"] = "GK"; endif; endif; endif; endif; if ($fieldName == "csc_id_root") : // jobs $tmpCsCscIdRoot = $rowArray[$j][$fieldName]; endif; if ($fieldName == "csc_inv_interval") : // customers if ($rowArray[$j][$fieldName] != "" && $rowArray[$j][$fieldName] >= "0" && $rowArray[$j][$fieldName] <= "4") : if ($rowArray[$j][$fieldName] == "0") : $rowArray[$j][$fieldName] = "9F"; endif; if ($rowArray[$j][$fieldName] == "1") : $rowArray[$j][$fieldName] = "9W"; endif; if ($rowArray[$j][$fieldName] == "2") : $rowArray[$j][$fieldName] = "9U"; endif; if ($rowArray[$j][$fieldName] == "3") : $rowArray[$j][$fieldName] = "9T"; endif; if ($rowArray[$j][$fieldName] == "4") : $rowArray[$j][$fieldName] = "9V"; endif; else : $rowArray[$j][$fieldName] = "9F"; endif; endif; if ($fieldName == "cmp_no") : // Headquarters constants global $hq_id; if ($f_exp_category >= "4" && $f_exp_category <= "6") : $hqIdSales = $row["hq_id_sales"]; $rowArray[$j][$fieldName] = getParameterValue("0", "EXPORT_HQ_KEY", $hqIdSales); if ($rowArray[$j][$fieldName] == "") : $rowArray[$j][$fieldName] = EXPORT_HQ_KEY; endif; else : $rowArray[$j][$fieldName] = EXPORT_HQ_KEY; endif; endif; if ($specialJbPayment == "4" && $fieldName == "jb_id") : $specialPaymentCollectionId = getFieldValueFromClause("genericdatacontainer", "gdc_content", "gdc_obj_type = 'jb' AND gdc_obj_id = '" . $row["jb_id"] . "' AND gdc_gen_fieldname = 'collection_number'"); if ($specialPaymentCollectionId != "") : $jbIdReal[$specialPaymentCollectionId] = $rowArray[$j][$fieldName]; // Remember real jb_id for updating job with export time $rowArray[$j][$fieldName] = $specialPaymentCollectionId; endif; endif; if ($f_exp_category == "8" && $fieldName == "special_price_01") : // If cr_price contains provision the change fields if ($row["csc_id_related"] == "17051" && $row["jb_id"] < 343544) : $rowArray[$j]["special_price_01"] = $rowArray[$j]["jb_cr_price"]; endif; endif; if ($fieldName == "jb_toll") : if (trim($rowArray[$j][$fieldName]) == "") : $rowArray[$j][$fieldName] = "0.00"; elseif (!is_numeric($rowArray[$j][$fieldName])) : $rowArray[$j][$fieldName] = str_replace (",", ".", $rowArray[$j][$fieldName]); if (!is_numeric($rowArray[$j][$fieldName])) : $rowArray[$j][$fieldName] = "0.00"; endif; endif; // if ($f_exp_category == "6") : // jobs (only "Gutschriften") if ($rowArray[$j][$fieldName] < 0) : $rowArray[$j][$fieldName] = substr($rowArray[$j][$fieldName],1); endif; // endif; endif; if ($fieldName == "jb_third_country") : $jbThirdCountry = trim($rowArray[$j][$fieldName]); if (is_numeric($jbThirdCountry) && $jbThirdCountry > "0") : $jbThirdCountry = "X"; else : $jbThirdCountry = " "; endif; $rowArray[$j][$fieldName] = $jbThirdCountry; endif; if ($fieldName == "jb_longhaul") : $jbLonghaul = trim($rowArray[$j][$fieldName]); if (is_numeric($jbLonghaul) && $jbLonghaul == "1") : $jbLonghaul = "X"; else : $jbLonghaul = " "; endif; $rowArray[$j][$fieldName] = $jbLonghaul; endif; if ($fieldName == "jb_longhaul_export") : $jbLonghaulExport = trim($rowArray[$j][$fieldName]); if (is_numeric($jbLonghaulExport) && $jbLonghaulExport == "1") : $jbLonghaulExport = "X"; else : $jbLonghaulExport = " "; endif; $rowArray[$j][$fieldName] = $jbLonghaulExport; endif; /* if ($fieldName == "const_01") : // headquarters constants global $hq_id; $rowArray[$j][$fieldName] = EXPORT_CONST_01; endif; if ($fieldName == "const_02") : // headquarters constants global $hq_id; $rowArray[$j][$fieldName] = EXPORT_CONST_02; endif; if ($fieldName == "const_03") : // headquarters constants global $hq_id; $rowArray[$j][$fieldName] = EXPORT_CONST_03; endif; */ endfor; // ONLY show the name of the costcenter if is not equal to the root costcenter if ($tmpJbCscIdPayer != "" && $tmpCsCscIdRoot != "" && $tmpJbCscIdPayer == $tmpCsCscIdRoot) : // jobs ("cash" = "csc_id_payer") $rowArray[$j]["csc_name"] = ""; endif; // Set address, if mainaddress has to overrule the invoiceaddress if ($tmpMainadressOverrulesInvoiceaddress) : $rowArray[$j]["adre_street"] = $rowArray[$j]["ad_street"]; $rowArray[$j]["cscad_hsno"] = $rowArray[$j]["cmp_hsno"]; $rowArray[$j]["adre_zipcode"] = $rowArray[$j]["ad_zipcode"]; $rowArray[$j]["adre_city"] = $rowArray[$j]["ad_city"]; $rowArray[$j]["adre_country"] = $rowArray[$j]["ad_country"]; endif; // Set companyname, if main companyname has to overrule the invoice companyname if ($tmpMainCompanynameOverrulesInvoiceCompanyname) : $rowArray[$j]["cscad_comp"] = $rowArray[$j]["cmp_comp"]; $rowArray[$j]["cscad_comp2"] = $rowArray[$j]["cmp_comp2"]; endif; $j++; endif; // $doContinue endwhile; return $rowArray; }; // Returns a new associative array with a unique(!) key field specified in $keyField // and a second field ($sumField) containing the numeric value to be summed up grouped by $keyField. // The keys have to be sorted in each array!!! // $array1,$array2 : Array to be merged // $keyField : Field of the key // $sumField : Field of the value to be summed up function array_merge_sum ($array1, $array2, $keyField, $sumField) { $retArray = ""; $lenArray1 = count($array1); $lenArray2 = count($array2); if ($array1 == "") : return $array2; endif; if ($array2 == "") : return $array1; endif; $sum = 0; $ptr1 = 0; $ptr2 = 0; $count = 0; // Only summation of ONE field ($sumField) because there is no $keyField if ($keyField == "") : $tmpArray = array_merge($array1, $array2); $lenTmpArray = count($tmpArray); for ($i = 0; $i < $lenTmpArray; $i++) : $sum += $tmpArray[$i][$sumField]; endfor; $retArray[0][$sumField] = $sum; return $retArray; endif; // There are values to be added by a group-criteria while ($ptr1 < $lenArray1 || $ptr2 < $lenArray2): if ($array1[$ptr1][$keyField] == "" || $array2[$ptr2][$keyField] == "") : if ($array1[$ptr1][$keyField] == "") : $keyFieldValue = $array2[$ptr2][$keyField]; else : $keyFieldValue = $array1[$ptr1][$keyField]; endif; else : if ($array1[$ptr1][$keyField] <= $array2[$ptr2][$keyField]) : $keyFieldValue = $array1[$ptr1][$keyField]; else : $keyFieldValue = $array2[$ptr2][$keyField]; endif; endif; while ($keyFieldValue != "" && $keyFieldValue == $array1[$ptr1][$keyField]): if ($array1[$ptr1][$sumField] != "" && is_numeric($array1[$ptr1][$sumField])) : $sum += $array1[$ptr1][$sumField]; endif; $ptr1++; endwhile; while ($keyFieldValue != "" && $keyFieldValue == $array2[$ptr2][$keyField]): if ($array2[$ptr2][$sumField] != "" && is_numeric($array2[$ptr2][$sumField])) : $sum += $array2[$ptr2][$sumField]; endif; $ptr2++; endwhile; if ($keyFieldValue != "") : $retArray[$count][$keyField] = $keyFieldValue; $retArray[$count][$sumField] = $sum; endif; $count++; $sum = 0; endwhile; return $retArray; }; // Returns a new associative array with a unique(!) key field specified in $keyField // and a second field ($sumField) containing the numeric value to be summed up grouped by $keyField. // The keys have to be sorted in each array!!! // $array1,$array2 : Array to be merged // $keyFieldArray : Array of fields grouping the key // $sumField : Field of the value to be summed up function array_merge_sum2 ($array1, $array2, $keyFieldArray, $sumField) { $retArray = ""; $lenArray1 = count($array1); $lenArray2 = count($array2); if ($array1 == "") : return $array2; endif; if ($array2 == "") : return $array1; endif; $lenKeyFieldArray = count($keyFieldArray); $sum = 0; $ptr1 = 0; $ptr2 = 0; $count = 0; // Only summation of ONE field ($sumField) because there is no $keyField if ($keyFieldArray == "") : $tmpArray = array_merge($array1, $array2); $lenTmpArray = count($tmpArray); for ($i = 0; $i < $lenTmpArray; $i++) : $sum += $tmpArray[$i][$sumField]; endfor; $retArray[0][$sumField] = $sum; return $retArray; endif; // There are values to be added by a group-criteria while ($count < ($lenArray1 + $lenArray2) && ($ptr1 < $lenArray1 || $ptr2 < $lenArray2)): $groupKey1 = ""; $groupKey2 = ""; for ($i = 0; $i < $lenKeyFieldArray; $i++) : $groupKey1 .= $array1[$ptr1][$keyFieldArray[$i]]; $groupKey2 .= $array2[$ptr2][$keyFieldArray[$i]]; endfor; if ($groupKey1 == "" || $groupKey2 == "") : if ($groupKey1 == "") : $keyFieldValue = $groupKey2; else : $keyFieldValue = $groupKey1; endif; else : if ($groupKey1 <= $groupKey2) : $keyFieldValue = $groupKey1; else : $keyFieldValue = $groupKey2; endif; endif; $keyFieldValue2 = ""; for ($i = 0; $i < $lenKeyFieldArray; $i++) : $keyFieldValue2 .= $array1[$ptr1][$keyFieldArray[$i]]; endfor; while ($keyFieldValue != "" && $keyFieldValue == $keyFieldValue2): if ($array1[$ptr1][$sumField] != "" && is_numeric($array1[$ptr1][$sumField])) : $sum += $array1[$ptr1][$sumField]; endif; for ($i = 0; $i < $lenKeyFieldArray; $i++) : $retArray[$count][$keyFieldArray[$i]] = $array1[$ptr1][$keyFieldArray[$i]]; endfor; $ptr1++; $keyFieldValue2 = ""; for ($i = 0; $i < $lenKeyFieldArray; $i++) : $keyFieldValue2 .= $array1[$ptr1][$keyFieldArray[$i]]; endfor; endwhile; $keyFieldValue2 = ""; for ($i = 0; $i < $lenKeyFieldArray; $i++) : $keyFieldValue2 .= $array2[$ptr2][$keyFieldArray[$i]]; endfor; while ($keyFieldValue != "" && $keyFieldValue == $keyFieldValue2): if ($array2[$ptr2][$sumField] != "" && is_numeric($array2[$ptr2][$sumField])) : $sum += $array2[$ptr2][$sumField]; endif; for ($i = 0; $i < $lenKeyFieldArray; $i++) : $retArray[$count][$keyFieldArray[$i]] = $array2[$ptr2][$keyFieldArray[$i]]; endfor; $ptr2++; $keyFieldValue2 = ""; for ($i = 0; $i < $lenKeyFieldArray; $i++) : $keyFieldValue2 .= $array2[$ptr2][$keyFieldArray[$i]]; endfor; endwhile; if ($keyFieldValue != "") : // $retArray[$count][$keyField] = $keyFieldValue; $retArray[$count][$sumField] = $sum; endif; $count++; $sum = 0; endwhile; return $retArray; }; ?>