Start Insert-Script * =======================================================================*/ include_once ("import.php"); // Execution-Time for script set_time_limit(30000); // Check HTTP-Parameters getSecHttpVars("1",array("f_act", "statusMessage", "f_importFile", "f_uploadFile")); // Select user-type for mode of security check $userType = getFieldValueFromId("user","usr_id",$usr_id,"usr_type"); $userTypeName = getUserTypeName($userType); // Get the rights of the employee logged in and check the accessibility if (!authCheckEmployeeRights($emp_id, "7")) : die ("$PHP_SELF: Access denied!"); endif; $statusMessage = ""; $importFileStatusMsg = ""; $jbIdNew = ""; $fJbTourname = ""; $fTrSort = ""; // Get number of files in the upload folder $numOfFiles = getNumOfFilesInFolder($importPath); // Process uploaded file if ($f_act == "uploadFile") : if ($numOfFiles < 1) : if ($_FILES['f_uploadFile']['size'] <= 2000000) : if (!move_uploaded_file($_FILES['f_uploadFile']['tmp_name'], $importPath . $_FILES['f_uploadFile']['name'])) : $statusMessage .= "Die Datei wurde leider nicht hochgeladen!"; endif; else : $statusMessage .= "Die Datei ist für den Upload zu groß!"; // Delete real file if does exist $retVal = removeFile($_FILES['f_uploadFile']['name'], $importPath, $pathSeparator); endif; // Delete temp file if does exist $retVal = removeFile($_FILES['f_uploadFile']['tmp_name'], $tempPath, $pathSeparator); else : $statusMessage .= "Bevor eine weitere Datei hochgeladen werden kann, muss das Verzeichnis geleert werden!"; endif; endif; // Manually removal of a specified importfile if ($f_act == "removeImportfile") : // Remove import file $retVal = removeFile($f_importFile, $importPath, $pathSeparator); if ($retVal == "0") : elseif ($retVal == "-1") : $statusMessage = "Es liegt kein Dateiname vor!"; elseif ($retVal == "-2") : $statusMessage = "Die Datei befindet sich nicht mehr in dem Verzeichnis!"; elseif ($retVal == "") : $statusMessage = "Es fand keine Löschung statt!"; endif; endif; // Import process if ($f_act == "goImport") : if ($numOfFiles == 1) : $importFileStatusMsg .= "



Verarbeitungsprotokoll:

"; $importFileStatusMsg .= "Import-Datei: " . $f_importFile . "

"; $rowToImport = array(); $rowToImport[0] = "f_id_unique"; // internalOrderID (unique key) $rowToImport[1] = "f_tr_person"; // externalOrderID $rowToImport[2] = "f_cs_eid"; // externalCustomerNumber $rowToImport[3] = "f_tr_ware_from_to"; // type $rowToImport[4] = "f_jb_weight"; // weight $rowToImport[5] = "f_vht_id"; // capacityClass $rowToImport[6] = "f_tr_commission_no"; // loadingUnitType $rowToImport[7] = "f_tr_remark_1"; // goodsdescription $rowToImport[8] = "f_tr_comp_01"; // pickup/name $rowToImport[9] = "f_ad_zipcode_01"; // pickup/zipCode $rowToImport[10] = "f_ad_city_01"; // pickup/city $rowToImport[11] = "f_ad_street_01"; // pickup/street (containing houseno.) $rowToImport[12] = "f_jb_ordertime_01"; // pickup/plannedPickup $rowToImport[13] = "f_tr_comp_02"; // delivery/name $rowToImport[14] = "f_tr_remark_2"; // delivery/contact $rowToImport[15] = "f_tr_remark_3"; // delivery/telephone $rowToImport[16] = "f_ad_zipcode_02"; // delivery/zipCode $rowToImport[17] = "f_ad_city_02"; // delivery/city $rowToImport[18] = "f_ad_street_02"; // delivery/street (containing houseno.) $rowToImport[19] = "f_jb_ordertime_02"; // delivery/plannedDelivery $rowToImport[20] = "f_jb_tourname"; // tourID $rowToImport[21] = "f_position"; // position $rowToImport[22] = "f_dummy"; // dummy $rowToImportLen = count($rowToImport); // read file to import $data = importCSV($importPath . $f_importFile, $delimiter); $dataLen = count($data); // loop all rows for ($j = 0; $j < $dataLen; $j++) { // loop for all fields of $fields of the row for ($i = 0; $i < $rowToImportLen; $i++) { ${$rowToImport[$i]} = $data[$j][$i]; } // Next job begins if ($fJbTourname == "" || $fJbTourname != $f_jb_tourname) : $jbIdNew = ""; $fTrSort = ""; $fJbTourname = $f_jb_tourname; endif; // Check import log table in db according to the unique key "tourID + position" (<=> $f_jb_tourname + $f_position) $logJbId = getFieldValueFromClause("phoenix_log.import","jb_id","imp_id = '" . $f_jb_tourname . "' AND imp_pos = '" . $f_position . "'"); if ($logJbId == "") : TA("B"); if (substr($f_cs_eid, 0, 9) == "000000000") : $f_cs_eid = substr($f_cs_eid, -($csEidStrLen)); else : $tmpLen = strlen($f_cs_eid); while (substr($f_cs_eid, 0, 1) == "0"): $f_cs_eid = substr($f_cs_eid, 1, $tmpLen); endwhile; endif; // Constants $cscIdCashPayer = getParameterValue("0", "CSC_ID_PAYER_CASH", $f_hq_id); // Concatenation of external cs_id an name $f_tr_comp_01 = $f_cs_eid . " " . $f_tr_comp_01; $f_tr_remark = $f_tr_remark_1 . " " . $f_tr_remark_2 . " " . $f_tr_remark_3 . " " . $f_jb_ordertime_02; $f_tr_remark = $f_tr_remark; // Extra field "internal remark of the customer" for customer export $f_tr_cs_freetext = $f_tr_remark; // Split street to street and houseno. $f_tr_hsno_01 = "."; $f_tr_hsno_02 = "."; // Get 1. address id $tmpArray = insertAddress($f_ad_street_01, $f_ad_zipcode_01, $f_ad_city_01, "", "", true); $ad_id_new_01 = $tmpArray[0]; // Get 2. address id $tmpArray = insertAddress($f_ad_street_02, $f_ad_zipcode_02, $f_ad_city_02, "", "", true); $ad_id_new_02 = $tmpArray[0]; // Get the current time $currentTime = getDateTime("0"); // Insert job data if ($jbIdNew == "") : $jbStatus = "9"; $jbType = "2"; // "G" $crId = ""; $crSid = ""; $jbFinishtime = ""; $csInvmod = ""; $price = 0; if (!isset($f_tax_value) || $f_tax_value == ""): $f_tax_value = getFieldValueFromId("tax","tx_id","4","tx_value"); if ($f_tax_value == ""): $f_tax_value = "19.00"; endif; endif; $txSign = "V"; // Mapping of the headquarters $tmpZipcode = substr($f_ad_zipcode_01 ,0 ,1); // Get the first character if ($tmpZipcode == "0") : $f_hq_id = "108"; // Leipzig $f_cs_eid_payer = "HTL40098"; $trCscIdRoot_01 = "44548"; // Hauptkostenstelle Kunde "Extern" $trCscIdRoot_02 = "44548"; // Hauptkostenstelle Kunde "Extern" elseif ($tmpZipcode == "3") : $f_hq_id = "104"; // Hannover $f_cs_eid_payer = "HTH40105"; $trCscIdRoot_01 = "44545"; // Hauptkostenstelle Kunde "Extern" $trCscIdRoot_02 = "44545"; // Hauptkostenstelle Kunde "Extern" elseif ($tmpZipcode == "4") : $f_hq_id = "107"; // Essen $f_cs_eid_payer = "HTE10496"; $trCscIdRoot_01 = "44543"; // Hauptkostenstelle Kunde "Extern" $trCscIdRoot_02 = "44543"; // Hauptkostenstelle Kunde "Extern" elseif ($tmpZipcode == "6") : $f_hq_id = "105"; // Frankfurt $f_cs_eid_payer = "HTF40090"; $trCscIdRoot_01 = "44544"; // Hauptkostenstelle Kunde "Extern" $trCscIdRoot_02 = "44544"; // Hauptkostenstelle Kunde "Extern" elseif ($tmpZipcode == "7") : $f_hq_id = "111"; // Stuttgart $f_cs_eid_payer = "HTS40032"; $trCscIdRoot_01 = "44547"; // Hauptkostenstelle Kunde "Extern" $trCscIdRoot_02 = "44547"; // Hauptkostenstelle Kunde "Extern" elseif ($tmpZipcode == "8") : $f_hq_id = "109"; // München $f_cs_eid_payer = "HTM65105"; $trCscIdRoot_01 = "44549"; // Hauptkostenstelle Kunde "Extern" $trCscIdRoot_02 = "44549"; // Hauptkostenstelle Kunde "Extern" else : $f_hq_id = "107"; // Essen (Default !!!) $f_cs_eid_payer = "HTE10496"; $trCscIdRoot_01 = "44543"; // Hauptkostenstelle Kunde "Extern" $trCscIdRoot_02 = "44543"; // Hauptkostenstelle Kunde "Extern" // 44539 101 44540 102 44541 103 44542 106 44546 110 endif; $csId = getFieldValueFromId("customer","cs_eid",$f_cs_eid_payer,"cs_id"); $cscIdRoot = getFieldValueFromId("customer","cs_eid",$f_cs_eid_payer,"csc_id"); // if ($isCashPayerTour): $cscIdRoot = $cscIdCashPayer; endif; $csInvmode = getFieldValueFromId("customer","cs_eid",$f_cs_eid_payer,"cs_invmode"); $cmpPostage = getFieldValueFromId("customer","cs_eid",$f_cs_eid_payer,"cmp_id"); if ($cmpPostage == "") : $cmpPostage = "0.00"; endif; // Check for absolute customer discount $csDiscountAbsolute = getFieldValueFromId("customer", "cs_id", $csId, "cs_discount"); $useDicountDisabled = getParameterValue("0", "JB_EDITBATCH_DISCOUNT_DISABLED"); if ($useDicountDisabled == "1") : $csDiscountAbsolute = 0; endif; // Mapping of the vehicle type if ($f_vht_id == "1") : $f_vht_id = "8"; // 3-To. elseif ($f_vht_id == "2") : $f_vht_id = "9"; // 5-To. elseif ($f_vht_id == "3") : $f_vht_id = "7"; // 1-To. else : $f_vht_id = "8"; // 3-To. endif; insertStmt("job", array("hq_id", $f_hq_id, "vht_id", $f_vht_id, "csc_id_payer", $cscIdRoot, "jb_payment", "0", "jb_ordertime", $f_jb_ordertime_01, "cr_id", $crId, "cr_sid", $crSid, "cr_id_order", $crId, "jb_taketime", "", "jb_status", $jbStatus, "jb_autoranking", "0", "jb_type", $jbType, "jb_tourname", $f_jb_tourname, "jb_finishtime", $jbFinishtime, "emp_id", $usr_id, "jb_fixprice", $f_price, "jb_totalprice", $f_price, "jb_postage", $cmpPostage, "jb_invmode", $csInvmode, "jb_freetext_1", "", "jb_sales_tax_rate", $f_tax_value, "jb_sales_tax_rate_sign", $txSign, "jb_booktime", "")); $jbIdNew = getLastInsertId(); // Insert tour data for station 1 insertStmt("tour", array("jb_id", $jbIdNew, "ad_id", $ad_id_new_01, "tr_sort", "1", "tr_comp", $f_tr_comp_01, "tr_comp2", "", "tr_hsno", $f_tr_hsno_01, "csc_id", $trCscIdRoot_01, "tr_status", "0", "tr_commission_no", "", "tr_ware_from_to", "1", "tr_person", "", "tr_remark", "", "tr_cs_freetext", "")); // Insert tour data for station 2 insertStmt("tour", array("jb_id", $jbIdNew, "ad_id", $ad_id_new_02, "tr_sort", "2", "tr_comp", $f_tr_comp_02, "tr_comp2", "", "tr_hsno", $f_tr_hsno_02, "csc_id", $trCscIdRoot_02, "tr_status", "0", "tr_person", $f_tr_person, "tr_commission_no", $f_tr_commission_no, "tr_ware_from_to", "2", "tr_remark", $f_tr_remark, "tr_cs_freetext", $f_tr_cs_freetext)); // Insert tourservice data insertStmt("tourservice", array("jb_id", $jbIdNew, "csc_id", $cscIdRoot, "tr_sort", "0", "srv_id", "0", "trs_srv_name", "Fixpreis", "srvt_id", "0", "trs_srvt_name", "", "trs_price", $price, "trs_discount", $csDiscountAbsolute)); // Write logdata into log database writeToLogDB("55",$hq_id,$jbIdNew,$usr_id,"","","",$csId); $importFileStatusMsg .= "Stationen 1 und 2 des Auftrags " . $jbIdNew . " wurden importiert.
"; else : if ($fTrSort == "") : $fTrSort = "3"; else : $fTrSort++; endif; // Update job data // updateStmt("job","jb_id",$jbIdNew,array("usr_name",$f_usr_name,"usr_firstname",$f_usr_firstname)); // Insert tour data for if ($f_tr_ware_from_to == "0") : // Delivery => Delivery address insertStmt("tour", array("jb_id", $jbIdNew, "ad_id", $ad_id_new_02, "tr_sort", $fTrSort, "tr_comp", $f_tr_comp_02, "tr_comp2", "", "tr_hsno", $f_tr_hsno_02, "csc_id", $trCscIdRoot_02, "tr_status", "0", "tr_commission_no", $f_tr_commission_no, "tr_ware_from_to", "2", "tr_person", $f_tr_person, "tr_remark", $f_tr_remark, "tr_cs_freetext", $f_tr_cs_freetext)); else : // Retoure => Pickup address insertStmt("tour", array("jb_id", $jbIdNew, "ad_id", $ad_id_new_01, "tr_sort", $fTrSort, "tr_comp", $f_tr_comp_01, "tr_comp2", "", "tr_hsno", $f_tr_hsno_01, "csc_id", $trCscIdRoot_01, "tr_status", "0", "tr_commission_no", $f_tr_commission_no, "tr_ware_from_to", "1", "tr_person", $f_tr_person, "tr_remark", $f_tr_remark, "tr_cs_freetext", $f_tr_cs_freetext)); endif; $importFileStatusMsg .= "Station " . $fTrSort . " des Auftrags " . $jbIdNew . " wurde importiert.
"; endif; // Insert into import log table insertStmt("phoenix_log.import", array("imp_id", $f_jb_tourname, "imp_pos", $f_position, "imp_createtime", $currentTime, "jb_id", $jbIdNew)); TA("C"); TA("E"); else : $importFileStatusMsg .= "Datensatz " . $j . " wurde NICHT importiert, weil sie schon importiert wurde! (Auftrag " . $logJbId . ")
"; endif; } // Remove import file $retVal = removeFile($f_importFile, $importPath, $pathSeparator); else : $importFileStatusMsg .= "Der Import konnte nicht vollzogen werden, da noch mindestens eine andere Importdatei existiert!
"; endif; endif; // ************************************************** // * Read all of the local filenames to be imported * // ************************************************** if ($userTypeName == "hq") : // Get filenames $fileNames = getFilenamesInFolder($importPath); $storedImportFiles .= ""; $storedImportFiles .= ""; $storedImportFiles .= ""; // Define table header $storedImportFiles .= ""; $storedImportFiles .= ""; // Define table body from array $fileNamesLen = count($fileNames); for ($j = 0; $j < $fileNamesLen; $j++) : $storedImportFiles .= ""; $storedImportFiles .= ""; $storedImportFiles .= ""; $storedImportFiles .= ""; endfor; $storedImportFiles .= "
Auftragsimport


Dateiname    Löschen

" . $fileNames[$j] . "" . "    " . "" . "" . "    
"; endif; ?> Mi2ju: Auftragsimport


Wählen Sie die Auftragsdateidatei von Ihrem Rechner aus: