getOne("SELECT " . $sqlField . " FROM jobbatch WHERE cs_id = '" . $g_cs_id . "' AND jbb_sort = '" . $f_jbb_sort . "'"); endif; return $retVal; } $f_jbb_id = getJbbData("jbb_id"); // echo "g_cs_id: " . $g_cs_id . "
g_cs_eid: " . $g_cs_eid . "
f_jbb_id: " . $f_jbb_id . "
f_jbb_sort: " . $f_jbb_sort . "
"; // Store new jobs if ($f_act == "storeJobs") : if ($g_cs_id != "") : // Get data for storing the job $currentTime = getDateTime("0"); $usrId = getFieldValueFromId("employee", "emp_id", $emp_id, "usr_id"); // Check for absolute customer discount $csDiscountAbsolute = getFieldValueFromId("customer", "cs_id", $g_cs_id, "cs_discount"); $rowComplete = array(); $vhtId = array(); $crId = array(); $crSid = array(); $cscIdPayer = array(); $jbFinishtime = array(); $price = array(); $cmpId = array(); $cmpPostage = array(); $csInvmode = array(); $jbFreetext1 = array(); $txId = array(); $txValue = array(); $txSign = array(); $cmpAdId = array(); $cmpHsno = array(); $cmpComp = array(); $cmpComp2 = array(); // [1.] Iterate all fields and check the row to be complete for ($i = 1; $i <= $numOfEditRows; $i++) : $rowComplete[$i] = FALSE; $vhtId[$i] = getFieldValueFromId("couriervehicle", "crvh_sid", ${("f_field_" . $i . "_10")}, "vht_id"); $crId[$i] = getFieldValueFromId("couriervehicle", "crvh_sid", ${("f_field_" . $i . "_10")}, "cr_id"); $crSid[$i] = ${("f_field_" . $i . "_10")}; // If paying costcenter does not exist then get the root costcenter if ($g_csc_id == "") : $cscIdPayer[$i] = getFieldValueFromId("customer", "cs_id", $g_cs_id, "csc_id"); else : $cscIdPayer[$i] = $g_csc_id; endif; if (${("f_field_" . $i . "_4")} == "") : ${("f_field_" . $i . "_4")} = $currentYear; endif; if (${("f_field_" . $i . "_5")} == "") : ${("f_field_" . $i . "_5")} = $timeToEditHourDefault; endif; if (${("f_field_" . $i . "_6")} == "") : ${("f_field_" . $i . "_6")} = $timeToEditMinuteDefault; endif; $jbFinishtime[$i] = ${("f_field_" . $i . "_4")} . "-" . pad(${("f_field_" . $i . "_3")},2) . "-" . pad(${("f_field_" . $i . "_2")},2) . " " . pad(${("f_field_" . $i . "_5")},2) . ":" . pad(${("f_field_" . $i . "_6")},2) . ":00"; $lfd[$i] = ${("f_field_" . $i . "_1")}; if (!is_numeric($lfd[$i])) : $lfd[$i] = ""; endif; $price[$i] = str_replace (",", ".", ${("f_field_" . $i . "_9")}); $cmpId[$i] = getFieldValueFromId("customer", "cs_id", $g_cs_id, "cmp_id"); $cmpPostage[$i] = getFieldValueFromId("company", "cmp_id", $cmpId[$i], "cmp_postage"); $csInvmode[$i] = getFieldValueFromId("customer", "cs_id", $g_cs_id, "cs_invmode"); $trCommissionNo[$i] = my_str_check_js(${("f_field_" . $i . "_8")}); $jbInvoiceText[$i] = my_str_check_js(${("f_field_" . $i . "_7")}); $jbFreetext1[$i] = $jbInvoiceText[$i]; // . " " . $trCommissionNo[$i]; $txId[$i] = getFieldValueFromId("company", "cmp_id", $cmpId[$i], "tx_id"); $txValue[$i] = getFieldValueFromId("tax", "tx_id", $txId[$i], "tx_value"); $txSign[$i] = getFieldValueFromId("tax", "tx_id", $txId[$i], "tx_sign"); $cmpAdId[$i] = getFieldValueFromId("company", "cmp_id", $cmpId[$i], "ad_id"); $cmpHsno[$i] = getFieldValueFromId("company", "cmp_id", $cmpId[$i], "cmp_hsno"); $cmpComp[$i] = getFieldValueFromId("company", "cmp_id", $cmpId[$i], "cmp_comp"); $cmpComp2[$i] = getFieldValueFromId("company", "cmp_id", $cmpId[$i], "cmp_comp2"); if ($vhtId[$i] != "" && $crId[$i] != "" && $crSid[$i] != "" && $cscIdPayer[$i] != "" && $jbFinishtime[$i] != "" && $price[$i] != "" && is_numeric($price[$i]) && $cmpId[$i] != "" && $jbFreetext1[$i] != "" && $cmpAdId[$i] != "" && $cmpComp[$i] != "") : $rowComplete[$i] = TRUE; endif; endfor; // Transaction control starts here TA("B"); // [2.] Generate a new list ($f_jbb_id == "") with current timestamp or use an old one // and check if at least one job has to be stored if ($f_jbb_sort == "") : $atLeastOneJobOk = FALSE; $atLeastOneJobNotOk = FALSE; for ($i = 1; $i <= $numOfEditRows; $i++) : if ($rowComplete[$i]) : $atLeastOneJobOk = TRUE; else : $atLeastOneJobNotOk = TRUE; endif; endfor; if ($atLeastOneJobOk) : // Get maximum list number of the special customer from jbb_sort $f_jbb_sort = getMaxOfField("jobbatch", "jbb_sort", "cs_id = '" . $g_cs_id . "'"); if (is_numeric($f_jbb_sort)) : ++$f_jbb_sort; // Increment because of the next free number else : $f_jbb_sort = "1"; endif; insertStmt("jobbatch", array("cs_id", $g_cs_id, "jbb_sort", $f_jbb_sort, "jbb_createtime", $currentTime)); $f_jbb_id = getLastInsertId(); // IMPORTANT to use parameter $f_jbb_id because of loop and following search below... !!! endif; endif; // [3.] Iterate all jobs and insert for ($i = 1; $i <= $numOfEditRows; $i++) : if ($rowComplete[$i]) : // Check for absolute customer discount /* if ($csDiscountAbsolute > 0.00) : $price[$i] = ($price[$i] * ((100 - $csDiscountAbsolute) / 100)); endif; */ insertStmt("job", array("hq_id", $hq_id, "vht_id", $vhtId[$i], "csc_id_payer", $cscIdPayer[$i], "jb_payment", "0", "jb_ordertime", $jbFinishtime[$i], "cr_id", $crId[$i], "cr_sid", $crSid[$i], "cr_id_order", $crId[$i], "jb_taketime", $jbFinishtime[$i], "jb_status", "2", "jb_autoranking", "0", "jb_finishtime", $jbFinishtime[$i], "emp_id", $usrId, "jb_fixprice", $price[$i], "jb_totalprice", $price[$i], "jb_postage", $cmpPostage[$i], "jb_invmode", $csInvmode[$i], "jb_freetext_1", $jbFreetext1[$i], "jb_sales_tax_rate", $txValue[$i], "jb_sales_tax_rate_sign", $txSign[$i], "jb_booktime", $currentTime)); $jbIdNew = getLastInsertId(); insertStmt("tour", array("jb_id", $jbIdNew, "ad_id", $cmpAdId[$i], "tr_sort", "1", "tr_comp", $cmpComp[$i], "tr_comp2", $cmpComp2[$i], "tr_hsno", $cmpHsno[$i], "csc_id", $cscIdPayer[$i], "tr_status", "1", "tr_signname", "Listenbuchung", "tr_finishtime", $jbFinishtime[$i], "tr_commission_no", $trCommissionNo[$i])); insertStmt("tourservice", array("jb_id", $jbIdNew, "csc_id", $cscIdPayer[$i], "tr_sort", "0", "srv_id", "0", "trs_srv_name", "Fixpreis", "srvt_id", "0", "trs_srvt_name", "", "trs_price", $price[$i], "trs_discount", $csDiscountAbsolute)); // Write logdata into log database writeToLogDB("1",$hq_id,$jbIdNew,$usrId,$crId[$i],$crSid[$i],"",""); // Take lfd of the input field and get maximum of the lfd of the special list if nessassary $jbblLfdMaxval = $lfd[$i]; if ($jbblLfdMaxval == "") : $jbblLfdMaxval = getMaxOfField("jobbatchlist", "jbbl_lfd", "jbb_id = '" . $f_jbb_id . "'"); if (is_numeric($jbblLfdMaxval)) : ++$jbblLfdMaxval; // Increment because of the next free number else : $jbblLfdMaxval = "1"; endif; endif; insertStmt("jobbatchlist", array("jbb_id", $f_jbb_id, "jbbl_lfd", $jbblLfdMaxval, "jb_id", $jbIdNew)); // Generate invoice text mk_jb_invtext($jbIdNew, false); // Reset input fields of the row stored correctly for ($j = 1; $j <= $numOfInputFieldsPerRows; $j++) : ${("f_field_" . $i . "_" . $j)} = ''; endfor; endif; endfor; TA("C"); TA("E"); $f_act = "loadSpecialListOfCustomer"; else : $statusMessage = "Sie haben noch keinen Kunden ausgewählt!"; endif; endif; // Show all lists of the customer $outStoredBatchListsOfCustomer = ""; if ($f_act == "getListsOfCustomer") : if ($g_cs_id != "") : // Only for output get length of the max jbb_sort value for pad() $jbbSortPadlLength = strlen(getMaxOfField("jobbatch", "jbb_sort", "cs_id = '" . $g_cs_id . "'")); if ($jbbSortPadlLength == "0") : $jbbSortPadlLength = "1"; endif; // Get lists of the customer $sqlquery = "SELECT jbb.jbb_id, jbb.cs_id, jbb.jbb_sort, jbb.jbb_createtime " . " FROM jobbatch AS jbb" . " WHERE jbb.cs_id = '" . $g_cs_id . "' " . " ORDER BY jbb.jbb_createtime DESC"; $result = $db->query($sqlquery); if (DB::isError($result)) die ("$PHP_SELF: " . $result->getMessage()); while ($row = $result->fetch_assoc()): $outStoredBatchListsOfCustomer .= "" . pad($row["jbb_sort"],$jbbSortPadlLength) . " - " . formatOutput($row["jbb_createtime"],"datetime","3") . "
"; endwhile; $result->free(); if ($outStoredBatchListsOfCustomer != "") : $outStoredBatchListsOfCustomer = "

Listenbestand:

" . $outStoredBatchListsOfCustomer . "

"; if ($f_jbb_id != "") : $f_act = "loadSpecialListOfCustomer"; endif; else : $statusMessage = "Für den Kunden existiert noch keine Liste!"; endif; else : $statusMessage = "Sie haben noch keinen Kunden ausgewählt!"; endif; endif; // Show all jobs of a selected list of the customer $outCurrentListOfCustomer = ""; if ($f_act == "loadSpecialListOfCustomer") : if ($g_cs_id != "") : if ($f_jbb_id != "") : $sqlquery = "SELECT jbbl.jbbl_lfd, jb.jb_id, jb.jb_export_time, jb.jb_finishtime, jb.jb_freetext_1, jb.cr_sid, tr.tr_commission_no, csc.csc_name," . " " . $priceFormular . " AS price" . " FROM jobbatch AS jbb, jobbatchlist AS jbbl, tour AS tr, job AS jb LEFT JOIN tourservice AS trs ON trs.jb_id = jb.jb_id, costcenter AS csc" . " WHERE jbb.jbb_id = '" . $f_jbb_id . "' AND" . " jbb.jbb_id = jbbl.jbb_id AND" . " jbbl.jb_id = jb.jb_id AND" . " jb.jb_id = tr.jb_id AND" . " tr.tr_sort = '1' AND" . " jb.csc_id_payer = csc.csc_id " . " GROUP BY trs.jb_id" . " ORDER BY jbbl.jbbl_lfd"; $result = $db->query($sqlquery); if (DB::isError($result)) die ("$PHP_SELF: " . $result->getMessage()); $out = ""; while ($row = $result->fetch_assoc()): $numOfRows++; $out .= ""; $out .= " ". $row["jbbl_lfd"] . " "; $tmpDateTime = formatOutput($row["jb_finishtime"],"datetime","3"); $out .= " ". substr($tmpDateTime,0,8) . ""; $out .= " ". substr($tmpDateTime,11,5) . ""; $out .= " ". $row["jb_freetext_1"] . "
[Kst.: " . $row["csc_name"] . "] "; $out .= " ". $row["tr_commission_no"] . " "; $out .= " ". formatOutput($row["price"],"float_rounded_2") . "  "; $out .= " ". $row["cr_sid"] . " "; $out .= ""; if ($row["jb_export_time"] == "" || $row["jb_export_time"] == "0000-00-00 00:00:00") : $out .= "" . $row[jb_id] . ""; else : $out .= "Exportiert"; endif; $out .= ""; $out .= "\n"; endwhile; $result->free(); $outCurrentListOfCustomer = $f_jbb_sort . " - " . formatOutput(getJbbData("jbb_createtime"),3); else : $statusMessage = "Es wurde entweder keine Liste gewählt ODER Eingaben sind für die Anlage eine neue Liste nicht korrekt!"; endif; else : $statusMessage = "Sie haben noch keinen Kunden ausgewählt!"; endif; endif; // ********************** // * Define edit fields * // ********************** // Get maximum of the lfd of the special list $jbblLfdMaxval = 0; if ($g_cs_id != "" && $f_jbb_id != "") : $jbblLfdMaxval = getMaxOfField("jobbatchlist", "jbbl_lfd", "jbb_id = '" . $f_jbb_id . "'"); endif; $outEditFields = ""; for ($i = 1; $i <= $numOfEditRows; $i++) : $outEditFields .= ""; ${("f_field_" . $i . "_1")} = $jbblLfdMaxval + $i; $outEditFields .= ""; $outEditFields .= ""; $outEditFields .= ""; $outEditFields .= ""; // Preset of the year if (${("f_field_" . $i . "_4")} == "") : ${("f_field_" . $i . "_4")} = $currentYear; endif; $outEditFields .= ""; $outEditFields .= ""; $outEditFields .= ""; // Preset of the hour if (${("f_field_" . $i . "_5")} == "") : ${("f_field_" . $i . "_5")} = $timeToEditHourDefault; endif; $outEditFields .= ""; // Preset of the hour if (${("f_field_" . $i . "_6")} == "") : ${("f_field_" . $i . "_6")} = $timeToEditMinuteDefault; endif; $outEditFields .= ""; $outEditFields .= ""; $outEditFields .= "

"; $outEditFields .= ""; $outEditFields .= ""; $outEditFields .= ""; $outEditFields .= "Zurücksetzen"; $outEditFields .= ""; endfor; ?> votian: Auftragsstapelverarbeitung ">
Liste der Firma:      value="Kunde suchen" onClick="finishPage('clearPageAndCustomerSearch');">



Seite komplett zurücksetzen          Listen des Kunden          Neue Liste des Kunden beginnen                  



Aktuelle Liste:                                     > Spalte Jahreszahl aktiviert         > Spalten Uhrzeit aktiviert

Lfd Datum Uhrzeit Auftrag / Tourenverlauf Kst./Referenz Betrag Fahrzeug