function get_available_count($prc_id, $fixed_num = 2) { $allocated_count = 0; $prc = Process::find_by_id($prc_id); $count = $prc->count; // Total Count foreach ($prc->works as $work) { $allocated_count += $work->count; } // 如果可用于分配的件数是小数 // 四舍五入去取小数点后面 $fixed_num 位 if (check_float($count - $allocated_count)) { return round($count - $allocated_count, $fixed_num); } return $count - $allocated_count; }
$dialplan_uuid = check_str($_POST["dialplan_uuid"]); $domain_uuid = check_str($_POST["domain_uuid"]); $destination_type = check_str($_POST["destination_type"]); $destination_number = check_str($_POST["destination_number"]); $db_destination_number = check_str($_POST["db_destination_number"]); $regex_destination_number = str_replace("+", "\\+", $destination_number); $destination_caller_id_name = check_str($_POST["destination_caller_id_name"]); $destination_caller_id_number = check_str($_POST["destination_caller_id_number"]); $destination_cid_name_prefix = check_str($_POST["destination_cid_name_prefix"]); $destination_context = check_str($_POST["destination_context"]); $fax_uuid = check_str($_POST["fax_uuid"]); $destination_enabled = check_str($_POST["destination_enabled"]); $destination_description = check_str($_POST["destination_description"]); $destination_sell = check_float($_POST["destination_sell"]); $currency = check_str($_POST["currency"]); $destination_buy = check_float($_POST["destination_buy"]); $currency_buy = check_str($_POST["currency_buy"]); $destination_accountcode = check_str($_POST["destination_accountcode"]); $destination_carrier = check_str($_POST["destination_carrier"]); } //unset the db_destination_number unset($_POST["db_destination_number"]); if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { //get the uuid if ($action == "update") { $destination_uuid = check_str($_POST["destination_uuid"]); } //check for all required data $msg = ''; if (strlen($destination_type) == 0) { $msg .= $text['message-required'] . " " . $text['label-destination_type'] . "<br>\n";
if (is_numeric($vyr_stvorak)) { if ($vyr_stvorak < 0) { $error_msg[] = "Počet štvorákov ma nízku hodnotu"; } } if (is_numeric($vyr_porez)) { if ($vyr_porez < 0) { $error_msg[] = "Porez ma nízku hodnotu"; } } //if($vyr_tabula + $vyr_stvorak <=0) $error_msg[] = "Počet tabúľ alebo m2 musí byť zadané"; if (empty($error_msg)) { //var_dump($_POST); $vyr_tabula = check_float($vyr_tabula); $vyr_stvorak = check_float($vyr_stvorak); $vyr_porez = check_float($vyr_porez); $upravil_vyroba = $_SESSION[username]; mysql_query("BEGIN"); if (isset($sub) and $sub > 0) { $query = "SELECT upravil\r\n FROM revizia_vyroba WHERE id={$sub} LIMIT 1"; //echo $query; $original = sql_query($query); $original = $original[0]; $query = "UPDATE revizia_vyroba \r\n SET vymaz=1, vymazal_datum=now(), vymazal={$_SESSION['username']}\r\n WHERE id={$sub}\r\n "; //echo $query; sql_update($query); if ($access == TRUE) { $upravil_vyroba = $original[upravil]; } } $query = "INSERT INTO revizia_vyroba \r\n (id_obj, id_revizia, status, tabula, stvorak, abs_vyrobca, porez, datum, upravil)\r\n VALUES \r\n (\"{$order}\", \"{$revision}\", \"{$vyr_status}\", \"{$vyr_tabula}\", \"{$vyr_stvorak}\", \r\n \"{$vyr_abs}\", \"{$vyr_porez}\", now(), {$upravil_vyroba})\r\n ";
function formular_cp($order, $revision = 0, $fieldsets_c = 1, $form_data = "", $page = "") { if (isset($_GET["cp"])) { $cp = sec_input($_GET["cp"]); } if (!empty($form_data)) { foreach ($form_data as $key => $value) { ${$key} = $value; } } $data = sql_query("SELECT r.id, r.id_obj, r.meno, adresa, ico_icdph, telefon, email, m.meno as material,\r\n id_material, id_vyrobca, id_dekor, dekor_vlastny, komentar,\r\n DATE_FORMAT(datum, '%d. %m. %Y, %H:%i') AS datum\r\n FROM revizia r \r\n JOIN material m\r\n ON r.id_material=m.id\r\n \r\n WHERE r.id={$revision} \r\n LIMIT 1"); $data = $data[0]; //var_dump($data); $data_obj = sql_query("SELECT DATE_FORMAT(datum, '%d. %m. %Y, %H:%i') AS datum, c_obj, id_zakaznik\r\n FROM objednavka \r\n WHERE id=" . $data["id_obj"] . " LIMIT 1"); $data_obj = $data_obj[0]; //var_dump($data); $message = ""; $message .= "<h1>Cenová ponuka pre objednávku č. " . $data_obj["c_obj"] . " / " . $data["id"] . "</h1>"; $message .= "<h5>Objednávka zo dňa: " . $data_obj["datum"] . "</h5>"; $message .= "<div class=\"print_hlavicka\">"; if ($data_obj[id_zakaznik] > 0) { $meno_zakaznika = sql_query("SELECT meno, adresa, ico_icdph, telefon, email FROM uzivatel WHERE id={$data_obj['id_zakaznik']} LIMIT 1"); $meno_zakaznika = $meno_zakaznika[0]; $data[meno] = $meno_zakaznika[meno]; $data[adresa] = $meno_zakaznika[adresa]; $data[ico_icdph] = $meno_zakaznika[ico_icdph]; $data[telefon] = $meno_zakaznika[telefon]; $data[email] = $meno_zakaznika[email]; $cenova_hladina = sql_query("SELECT id_c_hladina FROM uzivatel WHERE id={$data_obj['id_zakaznik']}"); $cenova_hladina = $cenova_hladina[0][id_c_hladina]; } $message .= "<div class=\"print_odberatel\"><table class=\"print_odberatel\"><tr><td></td><td><strong>Objednávateľ:</strong></td></tr>"; $message .= "<tr><td></td><td class=\"print_bigger\">" . $data["meno"] . "</td></tr>"; $message .= "<tr><td></td><td>" . $data["adresa"] . "</td></tr>"; $message .= "<tr><td>IČO:</td><td>" . $data["ico_icdph"] . "</td></tr>"; $message .= "<tr><td>tel.:</td><td>" . $data["telefon"] . "</td></tr>"; $message .= "<tr><td>email:</td><td>" . $data["email"] . "</td></tr>"; $message .= "</table>"; $message .= "</div>"; //var_dump($dekor); echo "<div class=\"print\">"; echo $message; echo "</div>"; echo "</div>"; echo "<div id=\"content\" class=\"print_hlavicka4\">"; if ($data["id_vyrobca"] > 0 or !empty($data["id_vyrobca"])) { $data["id_vyrobca"] = sql_query("SELECT meno FROM vyrobca WHERE id = " . $data["id_vyrobca"] . ""); $data["id_vyrobca"] = $data["id_vyrobca"][0][meno]; } else { $data["id_vyrobca"] = ""; } if ($data["id_dekor"] > 0 or !empty($data["id_dekor"])) { $data["dekor"] = sql_query("SELECT meno, stvorakov FROM dekor WHERE id = " . $data["id_dekor"] . ""); $data["dekor_stvorakov"] = $data["dekor"][0][stvorakov]; $data["dekor"] = $data["dekor"][0][meno]; } else { $data["id_dekor"] = ""; $custom_price = 1; } if (empty($data["dekor_stvorakov"]) or $data["dekor_stvorakov"] <= 0) { $data["dekor_stvorakov"] = def_value("default_stvorak", "hodnota"); } echo "<strong>" . $data["material"] . "<br>" . $data["id_vyrobca"] . " " . $data["dekor"] . " " . $data["dekor_vlastny"] . "</strong> <br>\r\n (" . $data["dekor_stvorakov"] . "m2 v tabuli)"; if (empty($page) or $page == 1) { if ($_POST["submit_page1"]) { $cenova_hladina = sec_input(sec_sql($_POST["cenova_hladina"])); $form_data[cenova_hladina] = $cenova_hladina; $vlastna_cena = sec_input(sec_sql($_POST["vlastna_cena"])); $vyrobca_ABS = sec_input(sec_sql($_POST["vyrobca_ABS"])); $form_data[vyrobca_ABS] = $vyrobca_ABS; $material_hrubka = sec_input(sec_sql($_POST["material_hrubka"])); $form_data[material_hrubka] = $material_hrubka; if (!is_numeric($cenova_hladina) or empty($cenova_hladina)) { $error_msg[] = "Cenová hladina ma nesprávnu hodnotu"; } if (!is_numeric($vyrobca_ABS) or empty($vyrobca_ABS)) { $error_msg[] = "Výrobca ABS ma nesprávnu hodnotu"; } if (!is_numeric($material_hrubka) or empty($material_hrubka)) { $error_msg[] = "Hrúbka materiálu ma nesprávnu hodnotu"; } if ($vlastna_cena != "") { $vlastna_cena = str_replace(',', '.', $vlastna_cena); //if(!is_numeric($vlastna_cena) or $vlastna_cena<=0) $error_msg[] = "Cena za dekor môže byť číselná hodnota väčšia ako 0"; $vlastna_cena = floatval($vlastna_cena); $form_data[vlastna_cena] = $vlastna_cena; } else { $form_data[vlastna_cena] = 0; } //var_dump($error_msg); if (empty($error_msg)) { //var_dump($_POST); $_SESSION["posted_form_from_cp"] = $form_data; header("location: ?vyber=cp&order={$order}&revision={$revision}&action=create&cp={$cp}&page=2"); } else { echo "<div id=error_message>" . implode("<br>", $error_msg) . "</div>"; } } echo "<form method=\"POST\" id=\"formular\" enctype=\"multipart/form-data\">"; echo "<fieldset id=\"udaje\">"; echo "<table id=\"cp\">"; $select_cenove_hladiny = array(); for ($i = 1; $i <= def_value("cenove_hladiny", "hodnota"); $i++) { $select_cenove_hladiny[] = $i; } $material_hrubka = def_value("default_hrubka", "hodnota"); // pre editaciu cenovej ponuky.... //========================================= $cp_abs_vyrobca = sql_query("SELECT DISTINCT abs_vyrobca from revizia_vyroba WHERE id_revizia={$revision} AND vymaz=0 ORDER BY id DESC"); //var_dump($cp_abs_vyrobca); $cp_abs_vyrobca = $cp_abs_vyrobca[0][abs_vyrobca]; if (isset($_GET["cp"]) and !empty($_GET["cp"])) { $query = "SELECT c_hladina, material_hrubka, vyrobca_abs, vlastna_cena from cp WHERE id=" . sec_input(sec_sql($_GET["cp"])) . " LIMIT 1"; $cp_load = sql_query($query); $cp_load = $cp_load[0]; $cenova_hladina = $cp_load[c_hladina]; $material_hrubka = $cp_load[material_hrubka]; $cp_abs_vyrobca = $cp_load[vyrobca_abs]; $vlastna_cena = $cp_load[vlastna_cena]; } echo "<tr><td>"; echo select("cenova_hladina", "Cenová hladina", "SELECT id, meno from c_hladina WHERE skryt_zakaznikom=0", $cenova_hladina, "", "", "", "NO"); echo "</td><td></td></tr>"; echo "<tr><td>"; $query = "SELECT count(id) as counter from hrubka WHERE id_material=" . $data["id_material"] . ""; $has_hrubka = sql_query($query); $where = "WHERE "; if ($has_hrubka[0]["counter"] > 0) { $where .= "id_material=" . $data["id_material"] . ""; } else { $where .= "id_material=0"; } echo select("material_hrubka", "Hrúbka materiálu", "SELECT id, meno from hrubka {$where} ORDER BY meno", $material_hrubka, "", "", "", "NO"); echo "</td><td></td></tr>"; echo "<tr><td>"; echo select("vyrobca_ABS", "Výrobca ABS", "SELECT id, meno from cp_abs_vyrobca", $cp_abs_vyrobca, "", "", "", "NO"); echo "</td><td></td></tr>"; if ($custom_price == 1) { echo "<tr><td>"; echo textfield("vlastna_cena", $vlastna_cena, "Jednotková cena za dekor", 5, 5, ""); echo "</td><td></td></tr>"; } echo "</table>"; echo "</fieldset>"; echo submit("submit_page1", "Pokračovať"); } if ($page == 2) { $num_hrana = sql_query("SELECT id, hodnota FROM hrana WHERE vymaz=0 ORDER BY id"); if ($_POST["submit_page2"]) { //var_dump($_POST); $dekor_ks = sec_input(sec_sql($_POST["dekor_ks"])); $dekor_ks = check_float($dekor_ks); $cp_price_dekor_ks = sec_input(sec_sql($_POST["cp_price_dekor_ks"])); $_SESSION["posted_form_from_cp"][cp_price_dekor_ks] = $cp_price_dekor_ks; $dekor_m2 = sec_input(sec_sql($_POST["dekor_m2"])); $porez = sec_input(sec_sql($_POST["porez"])); $lepenie = sec_input(sec_sql($_POST["lepenie"])); $cnc_opracovanie = sec_input(sec_sql($_POST["cnc_opracovanie"])); $cnc_praca = sec_input(sec_sql($_POST["cnc_praca"])); $olep_obluk = sec_input(sec_sql($_POST["olep_obluk"])); foreach ($num_hrana as $hrana) { $hrana_[$hrana[id]] = sec_input(sec_sql($_POST["hrana_" . $hrana[id]])); $hrana_sluzba_[$hrana[id]] = sec_input(sec_sql($_POST["hrana_sluzba_" . $hrana[id]])); } for ($i = 0; $i < count($_POST["poznamka_text"]); $i++) { $poznamka_text[] = sec_input(sec_sql($_POST["poznamka_text"][$i])); $poznamka_hodnota[] = sec_input(sec_sql($_POST["poznamka_hodnota"][$i])); $poznamka_cena_jednotka[] = sec_input(sec_sql($_POST["poznamka_cena_jednotka"][$i])); } if (!empty($dekor_ks)) { if (!is_numeric($dekor_ks)) { $error_msg[] = "Cena materiálu je povinný údaj"; } $_SESSION["posted_form_from_cp"][dekor_ks] = $dekor_ks; } else { $_SESSION["posted_form_from_cp"][dekor_ks] = 0; } if (!is_numeric($cp_price_dekor_ks)) { $error_msg[] = "cp_price_dekor_ks ma nesprávnu hodnotu"; } if (!empty($dekor_m2)) { $dekor_m2 = check_float($dekor_m2); if (!$dekor_m2) { $error_msg[] = "Materiál m2 musí byť číselný údaj"; } $_SESSION["posted_form_from_cp"][dekor_m2] = $dekor_m2; } else { $_SESSION["posted_form_from_cp"][dekor_m2] = 0; } $cp_price_dekor_m2 = sec_input(sec_sql($_POST["cp_price_dekor_m2"])); $_SESSION["posted_form_from_cp"][cp_price_dekor_m2] = $cp_price_dekor_m2; if (!empty($porez)) { $porez = check_float($porez); if (!$porez) { $error_msg[] = "Porez musí byť číselný údaj"; } $_SESSION["posted_form_from_cp"][porez] = $porez; } else { $_SESSION["posted_form_from_cp"][porez] = 0; } $cp_price_porez = sec_input(sec_sql($_POST["cp_price_porez"])); $_SESSION["posted_form_from_cp"][cp_price_porez] = $cp_price_porez; foreach ($num_hrana as $hrana) { if (!empty($hrana_[$hrana[id]])) { $hrana_[$hrana[id]] = check_float($hrana_[$hrana[id]]); if (!$hrana_[$hrana[id]]) { $error_msg[] = "Hrana {$hrana['id']} musí byť číselný údaj"; } $_SESSION["posted_form_from_cp"]["hrana_{$hrana[id]}"] = $hrana_[$hrana[id]]; } else { $_SESSION["posted_form_from_cp"]["hrana_{$hrana[id]}"] = 0; } $cp_price_hrana_[$hrana[id]] = sec_input(sec_sql($_POST["cp_price_hrana_{$hrana[id]}"])); $_SESSION["posted_form_from_cp"]["cp_price_hrana_{$hrana[id]}"] = $cp_price_hrana_[$hrana[id]]; if (!empty($hrana_sluzba_[$hrana[id]])) { $hrana_sluzba_[$hrana[id]] = check_float($hrana_sluzba_[$hrana[id]]); if (!$hrana_sluzba_[$hrana[id]]) { $error_msg[] = "Služba Hrana {$hrana['id']} musí byť číselný údaj"; } $_SESSION["posted_form_from_cp"]["hrana_sluzba_{$hrana[id]}"] = $hrana_sluzba_[$hrana[id]]; } else { $_SESSION["posted_form_from_cp"]["hrana_sluzba_{$hrana[id]}"] = 0; } $cp_price_hrana_sluzba_[$hrana[id]] = sec_input(sec_sql($_POST["cp_price_hrana_sluzba_{$hrana[id]}"])); $_SESSION["posted_form_from_cp"]["cp_price_hrana_sluzba_{$hrana[id]}"] = $cp_price_hrana_sluzba_[$hrana[id]]; } if (!empty($lepenie)) { $lepenie = check_float($lepenie); if (!$lepenie) { $error_msg[] = "Lepenie musí byť číselný údaj"; } $_SESSION["posted_form_from_cp"][lepenie] = $lepenie; } else { $_SESSION["posted_form_from_cp"][lepenie] = 0; } $cp_price_lepenie = sec_input(sec_sql($_POST["cp_price_lepenie"])); $_SESSION["posted_form_from_cp"][cp_price_lepenie] = $cp_price_lepenie; if (!empty($cnc_opracovanie)) { $cnc_opracovanie = check_float($cnc_opracovanie); if (!$cnc_opracovanie) { $error_msg[] = "Lepenie musí byť číselný údaj"; } $_SESSION["posted_form_from_cp"][cnc_opracovanie] = $cnc_opracovanie; } else { $_SESSION["posted_form_from_cp"][cnc_opracovanie] = 0; } $cp_price_cnc_opracovanie = sec_input(sec_sql($_POST["cp_price_cnc_opracovanie"])); $_SESSION["posted_form_from_cp"][cp_price_cnc_opracovanie] = $cp_price_cnc_opracovanie; if (!empty($cnc_praca)) { $cnc_praca = check_float($cnc_praca); if (!$cnc_praca) { $error_msg[] = "Lepenie musí byť číselný údaj"; } $_SESSION["posted_form_from_cp"][cnc_praca] = $cnc_praca; } else { $_SESSION["posted_form_from_cp"][cnc_praca] = 0; } $cp_price_cnc_praca = sec_input(sec_sql($_POST["cp_price_cnc_praca"])); $_SESSION["posted_form_from_cp"][cp_price_cnc_praca] = $cp_price_cnc_praca; if (!empty($olep_obluk)) { $olep_obluk = check_float($olep_obluk); if (!$olep_obluk) { $error_msg[] = "Lepenie musí byť číselný údaj"; } $_SESSION["posted_form_from_cp"][olep_obluk] = $olep_obluk; } else { $_SESSION["posted_form_from_cp"][olep_obluk] = 0; } $cp_price_olep_obluk = sec_input(sec_sql($_POST["cp_price_olep_obluk"])); $_SESSION["posted_form_from_cp"][cp_price_olep_obluk] = $cp_price_olep_obluk; for ($i = 0; $i < count($poznamka_text); $i++) { if (!empty($poznamka_text[$i])) { $_SESSION["posted_form_from_cp"][poznamka_text][$i] = $poznamka_text[$i]; //var_dump($poznamka_hodnota[$i]); $poznamka_hodnota_upr = check_float($poznamka_hodnota[$i]); if (!$poznamka_hodnota_upr) { $error_msg[] = "hodnota poznámky musí byť číselný údaj ({$i})"; } $_SESSION["posted_form_from_cp"][poznamka_hodnota][$i] = $poznamka_hodnota_upr; $poznamka_cena_jednotka_upr = check_float($poznamka_cena_jednotka[$i]); if (!$poznamka_cena_jednotka_upr) { $error_msg[] = "hodnota poznámky musí byť číselný údaj ({$i})"; } $_SESSION["posted_form_from_cp"][poznamka_cena_jednotka][$i] = $poznamka_cena_jednotka_upr; } } //var_dump($_SESSION["posted_form_from_cp"]); //die(); //var_dump($error_msg); if (empty($error_msg)) { //var_dump($_POST); //$_SESSION["posted_form_from_cp"]=$form_data; header("location: ?vyber=cp&order={$order}&revision={$revision}&action=create&cp={$cp}&page=3"); } else { echo "<div id=error_message>" . implode("<br>", $error_msg) . "</div>"; } } // nacitanie dat pre formular, ak bol odoslany ale nespravne //var_dump($_SESSION["posted_form_from_cp"]); //die(); $cenova_hladina = $_SESSION["posted_form_from_cp"]["cenova_hladina"]; $vlastna_cena = $_SESSION["posted_form_from_cp"]["vlastna_cena"]; $dekor_ks = $_SESSION["posted_form_from_cp"]["dekor_ks"]; $dekor_m2 = $_SESSION["posted_form_from_cp"]["dekor_m2"]; $porez = $_SESSION["posted_form_from_cp"]["porez"]; $lepenie = $_SESSION["posted_form_from_cp"]["lepenie"]; $cnc_opracovanie = $_SESSION["posted_form_from_cp"]["cnc_opracovanie"]; $cnc_praca = $_SESSION["posted_form_from_cp"]["cnc_praca"]; $olep_obluk = $_SESSION["posted_form_from_cp"]["olep_obluk"]; foreach ($num_hrana as $hrana) { $hrana_[$hrana[id]] = $_SESSION["posted_form_from_cp"]["hrana_{$hrana[id]}"]; $hrana_sluzba_[$hrana[id]] = $_SESSION["posted_form_from_cp"]["hrana_sluzba_{$hrana[id]}"]; } if (empty($data["id_dekor"])) { $data["id_dekor"] = 0; } //var_dump($_SESSION["posted_form_from_cp"]); echo "<form method=\"POST\" id=\"formular\" enctype=\"multipart/form-data\">"; echo "<fieldset id=\"udaje\">"; echo "<table class=\"table_cp\">"; echo "<tr><td>Cenová hladina: <strong>{$cenova_hladina}</strong></td>"; hidden("c_hladina", $cenova_hladina); $material_hrubka = $_SESSION["posted_form_from_cp"]["material_hrubka"]; $material_hrubka_name = sql_query("SELECT meno FROM hrubka WHERE id={$material_hrubka} LIMIT 1"); $material_hrubka_name = $material_hrubka_name[0][meno]; //var_dump(""); echo "<tr><td>Hrúbka materiálu: <strong>{$material_hrubka_name}</strong></td><td></td><td></td></tr>"; hidden("material_hrubka", $material_hrubka); echo "<td></td><td></td><td></td><td class=\"cp_spolu\"><strong>Spolu</strong></td></tr>"; $cal_lepenie = sql_query("SELECT sum(lepenie) as sum_dlzka from porez WHERE id_revizia={$revision}"); //var_dump($cal_lepenie); $lepenie = ceil($cal_lepenie[0][sum_dlzka] * 100) / 100; //riadok_cp_simple("cp_material_ks", $cenova_hladina, "material_ks", "Materiál ks", "AND id_material=".$data["id_material"].""); //riadok_cp_simple("cp_material_m2", $cenova_hladina, "material_m2", "Materiál m2", "AND id_material=".$data["id_material"].""); $cal_tabula = sql_query("SELECT sum(tabula) as sum_tabula from revizia_vyroba WHERE id_revizia={$revision} AND vymaz=0"); $dekor_ks = ceil($cal_tabula[0][sum_tabula] * 100) / 100; $cal_stvorak = sql_query("SELECT sum(stvorak) as sum_stvorak from revizia_vyroba WHERE id_revizia={$revision} AND vymaz=0"); $dekor_m2 = ceil($cal_stvorak[0][sum_stvorak] * 100) / 100; $cal_porez = sql_query("SELECT sum(porez) as sum_porez from revizia_vyroba WHERE id_revizia={$revision} AND vymaz=0"); $porez = ceil($cal_porez[0][sum_porez] * 100) / 100; if (isset($_GET["cp"]) and !empty($_GET["cp"])) { $query = "SELECT * from cp WHERE id={$cp} LIMIT 1"; $cp_load = sql_query($query); //var_dump($cp_load); $cp_load = $cp_load[0]; $dekor_ks = $cp_load[dekor_ks]; $dekor_m2 = $cp_load[dekor_m2]; $porez = $cp_load[porez]; $lepenie = $cp_load[lepenie]; $cnc_opracovanie = $cp_load[cnc_priprava]; $cnc_praca = $cp_load[cnc_praca]; $olep_obluk = $cp_load[olep_obluk]; } $dekor_ks_field = riadok_cp_simple("cp_dekor_ks", $cenova_hladina, "dekor_ks", "Materiál ks *", "AND id_dekor=" . $data["id_dekor"] . "", $dekor_ks, $vlastna_cena); $cal_value = sql_query("SELECT ROUND(sum(stvorak), 2) as sum_stvorak from porez WHERE id_revizia={$revision}"); $cal_value_stvorak = $cal_value[0][sum_stvorak]; /*$query_cena = "SELECT cena from cp_dekor_ks WHERE vymaz=0 AND id_c_hladina=$cenova_hladina AND id_dekor=".$data["id_dekor"]." ORDER BY id DESC LIMIT 1"; $field_cena = sql_query($query_cena); * */ //var_dump($dekor_ks_field); $field_cena_stvorak = $dekor_ks_field; if ($field_cena_stvorak > 0) { $field_cena_stvorak = $field_cena_stvorak / $data["dekor_stvorakov"] * 1.1; $field_cena_stvorak = ceil($field_cena_stvorak * 100) / 100; } else { $field_cena_stvorak = "0"; } //var_dump($field_cena_stvorak); echo "<tr><td class=\"cp_value\">" . textfield("cp_pas_sirka", "", "šírka pásu v mm", 5, 3) . "</td><td></td><td></td><td></td></tr>"; riadok_cp_simple("cp_dekor_m2", $cenova_hladina, "dekor_m2", "Materiál m2 ({$cal_value_stvorak} m2)", "AND id_dekor=" . $data["id_dekor"] . "", $dekor_m2, $field_cena_stvorak, $field_cena_stvorak); $por = 0; if ($dekor_ks > 0) { $por = ceil($dekor_ks) * 17; } if ($dekor_m2 > 0) { $por = $por + 17; } if ($porez <= 0) { $porez = $por; } $no_calc = 0; if ($data["id_material"] == 12 or $data["id_material"] == 14) { $no_calc = 1; } ?> <script> var no_calc = <?php echo $no_calc; ?> ; </script> <?php riadok_cp_simple("cp_porez", $cenova_hladina, "porez", "Porez", "", $porez); // ==================== riadok CP ================ $vyrobca_ABS = $_SESSION["posted_form_from_cp"]["vyrobca_ABS"]; $vyrobca_ABS_name = sql_query("SELECT meno FROM cp_abs_vyrobca WHERE id={$vyrobca_ABS} LIMIT 1"); $vyrobca_ABS_name = $vyrobca_ABS_name[0][meno]; //var_dump(""); echo "<tr><td>Výrobca ABS: <strong>{$vyrobca_ABS_name}</strong></td><td></td><td></td></tr>"; $num_hrana = sql_query("SELECT id, hodnota FROM hrana WHERE vymaz=0 ORDER BY id"); foreach ($num_hrana as $hrana) { $cal_value = sql_query("SELECT sum(dlzka) as sum_dlzka, sum(dlzka_nadmiera) as sum_dlzka_nadmiera from porez_hrana WHERE id_revizia={$revision} AND id_hrana=" . $hrana[id] . ""); $cal_value_abs = $cal_value[0][sum_dlzka]; //$cal_value_abs = round(($cal_value_abs+40)/1000, 2); $cal_value_abs = round($cal_value_abs * 1.1 / 1000, 2); $cal_value_abs = ceil($cal_value_abs * 100) / 100; $cal_value_abs_sluzba = $cal_value[0][sum_dlzka] / 1000; $cal_value_abs_sluzba = ceil($cal_value_abs_sluzba * 100) / 100; //var_dump($cal_value); //var_dump($hrana); if (!empty($_SESSION["posted_form_from_cp"]["hrana_{$hrana[id]}"])) { $cal_value_abs = $_SESSION["posted_form_from_cp"]["hrana_{$hrana[id]}"]; } if (!empty($_SESSION["posted_form_from_cp"]["hrana_sluzba_{$hrana[id]}"])) { $cal_value_abs_sluzba = $_SESSION["posted_form_from_cp"]["hrana_sluzba_{$hrana[id]}"]; } if (isset($_GET["cp"]) and !empty($_GET["cp"])) { $query = "SELECT cp_hrana.cena FROM `cp_hrana`\r\n LEFT JOIN cp_abs\r\n ON cp_hrana.id_abs = cp_abs.id \r\n WHERE id_cp={$cp} AND cp_abs.id_hrana={$hrana['id']} LIMIT 1"; $cp_load = sql_query($query); $cp_load = $cp_load[0]; $cal_value_abs = $cp_load[cena]; $query = "SELECT cp_hrana_sluzba.cena FROM `cp_hrana_sluzba`\r\n LEFT JOIN cp_abs_sluzba\r\n ON cp_hrana_sluzba.id_abs = cp_abs_sluzba.id \r\n WHERE id_cp={$cp} AND cp_abs_sluzba.id_hrana={$hrana['id']} LIMIT 1"; $cp_load_sluzba = sql_query($query); $cp_load_sluzba = $cp_load_sluzba[0]; //print_r($query."<br>"); $cal_value_abs_sluzba = $cp_load_sluzba[cena]; //print_r("- ".$cal_value_abs."<br>"); //print_r("--- ".$cal_value_abs_sluzba."<br>"); } riadok_cp_simple("cp_abs", $cenova_hladina, "hrana_{$hrana['id']}", $hrana[hodnota], "AND id_hrana=" . $hrana[id] . " AND id_abs_vyrobca=" . $vyrobca_ABS . "", $cal_value_abs); riadok_cp_simple("cp_abs_sluzba", $cenova_hladina, "hrana_sluzba_{$hrana['id']}", "- olepenie " . $hrana[hodnota], "AND id_hrana=" . $hrana[id] . "", $cal_value_abs_sluzba); } //var_dump($_SESSION["posted_form_from_cp"]); // ==================== riadok CP ================ riadok_cp_simple("cp_lepenie", $cenova_hladina, "lepenie", "Lepenie", "", $lepenie); riadok_cp_simple("cp_cnc_opracovanie", $cenova_hladina, "cnc_opracovanie", "CNC opracovanie", "", $cnc_opracovanie); riadok_cp_simple("cp_cnc_praca", $cenova_hladina, "cnc_praca", "CNC praca", "", $cnc_praca); riadok_cp_simple("cp_olep_obluk", $cenova_hladina, "olep_obluk", "Olep oblúka", "", $olep_obluk); echo "</table>"; echo "<table class=\"table_cp_poznamka\">\r\n <tr><th>Ďalšie položky</th><th>počet</th><th>jednotka</th></tr>"; if (isset($_GET["cp"]) and !empty($_GET["cp"])) { $num_poznamka = sql_query("SELECT popis, hodnota, cena from cp_sluzba WHERE id_cp={$cp}"); } if (isset($_SESSION["posted_form_from_cp"]["poznamka_text"]) and count($_SESSION["posted_form_from_cp"]["poznamka_text"]) >= 1) { for ($i = 0; $i < count($_SESSION["posted_form_from_cp"]["poznamka_text"]); $i++) { $num_poznamka[$i] = array("popis" => $_SESSION["posted_form_from_cp"]["poznamka_text"][$i], "hodnota" => $_SESSION["posted_form_from_cp"]["poznamka_hodnota"][$i], "cena" => $_SESSION["posted_form_from_cp"]["poznamka_cena_jednotka"][$i]); } } //var_dump(count($_SESSION["posted_form_from_cp"]["poznamka_text"])); //var_dump($num_poznamka); if (count($num_poznamka) == 0) { $num_poznamka[] = 1; } foreach ($num_poznamka as $poznamka) { //$poznamka_text = $_SESSION["posted_form_from_cp"]["poznamka_text"]; $poznamka_text = $poznamka[popis]; $poznamka_hodnota = $poznamka[hodnota]; $poznamka_cena_jednotka = $poznamka[cena]; echo "<tr class=\"tr_cp_poznamka\"><td>"; echo textfield("poznamka_text[]", $poznamka_text, "", 38, 30, "cp_poznamka_text"); echo "</td><td class=\"cp_value\">"; echo textfield("poznamka_hodnota[]", $poznamka_hodnota, "", 5, 5, "cp_poznamka_hodnota"); echo "</td><td>"; echo textfield("poznamka_cena_jednotka[]", $poznamka_cena_jednotka, "", 5, 5, "cp_poznamka_cena_jednotka"); if (!empty($poznamka_cena_jednotka)) { $cp_spolu = round($poznamka_cena_jednotka * $poznamka_hodnota, 2); } echo "</td><td class=\"cp_spolu\">{$cp_spolu}</td></tr>"; } echo "</table>"; $query_polozky_cp = "SELECT meno FROM polozky_cp WHERE vymaz=0 ORDER BY meno"; $polozky_cp = sql_query($query_polozky_cp); for ($i = 0; $i < count($polozky_cp); $i++) { $polozky_cp_riadok[$i] = "\"" . $polozky_cp[$i]["meno"] . "\""; } //var_dump($polozky_cp_riadok); if ($janko == "666") { ?> <script> $(function() { $("body").on("input click", ".textfield_cp_poznamka_text input", function(){ $(this).autocomplete({ source: [ <?php echo implode(", ", $polozky_cp_riadok); ?> ], autoFocus: true }); }); }); </script> <?php } ?> <?php echo "<div id=\"add_more_buttons\"><div id=\"vloz_riadok_cp\"><input type=\"button\" value=\"Vlož ďalší riadok\"></div></div>"; echo "<table class=\"table_cp_spolu\">"; echo "<tr><td><strong>Spolu:</strong></td><td></td><td></td><td class=\"cp_spolu_sum\"></td></tr>"; echo "</table>"; echo "</fieldset>"; echo submit("submit_page2", "Uložiť"); //echo "<div id=\"add_more_buttons\"><div id=\"vloz_riadok\"><input type=\"button\" value=\"Vlož ďalší riadok\"></div></div>"; echo "</div>"; } echo "</form>"; if ($page == 3) { $form_data = $_SESSION["posted_form_from_cp"]; //print_r($form_data); $all_sum = 0; // vypocty ==================== $query = "SELECT cena from cp_dekor_ks \r\n WHERE id=" . $form_data[cp_price_dekor_ks] . ""; $j_cena = sql_query($query); $j_cena = $j_cena[0][cena]; if (empty($j_cena)) { $j_cena = $form_data[vlastna_cena]; } $dekor_ks_sum = $j_cena * $form_data[dekor_ks]; $all_sum += $dekor_ks_sum; $dekor_m2_sum = $form_data[cp_price_dekor_m2] * $form_data[dekor_m2]; $all_sum += $dekor_m2_sum; $query = "SELECT cena from cp_porez \r\n WHERE id=" . $form_data[cp_price_porez] . ""; $j_cena = sql_query($query); $j_cena = $j_cena[0][cena]; $porez_sum = $j_cena * $form_data[porez]; $all_sum += $porez_sum; $query = "SELECT cena from cp_lepenie \r\n WHERE id=" . $form_data[cp_price_lepenie] . ""; $j_cena = sql_query($query); $j_cena = $j_cena[0][cena]; $lepenie_sum = $j_cena * $form_data[lepenie]; $all_sum += $lepenie_sum; $query = "SELECT cena from cp_cnc_opracovanie \r\n WHERE id=" . $form_data[cp_price_cnc_opracovanie] . ""; $j_cena = sql_query($query); $j_cena = $j_cena[0][cena]; $cnc_opracovanie_sum = $j_cena * $form_data[cnc_opracovanie]; $all_sum += $cnc_opracovanie_sum; $query = "SELECT cena from cp_cnc_praca \r\n WHERE id=" . $form_data[cp_price_cnc_praca] . ""; $j_cena = sql_query($query); $j_cena = $j_cena[0][cena]; $cnc_praca_sum = $j_cena * $form_data[cnc_praca]; $all_sum += $cnc_praca_sum; $query = "SELECT cena from cp_olep_obluk \r\n WHERE id=" . $form_data[cp_price_olep_obluk] . ""; $j_cena = sql_query($query); $j_cena = $j_cena[0][cena]; $olep_obluk_sum = $j_cena * $form_data[olep_obluk]; $all_sum += $olep_obluk_sum; //var_dump($olep_obluk_sum); // vypocty ==================== $query = "INSERT INTO cp (\r\n id_revizia, c_hladina, material_hrubka, vyrobca_abs, vlastna_cena, \r\n dekor_ks, id_dekor_ks, dekor_ks_sum, dekor_m2, dekor_m2_jedn, dekor_m2_sum,\r\n porez, id_porez, porez_sum,\r\n lepenie, id_lepenie, lepenie_sum,\r\n cnc_priprava, id_cnc_priprava, cnc_priprava_sum,\r\n cnc_praca, id_cnc_praca, cnc_praca_sum,\r\n olep_obluk, id_olep_obluk, olep_obluk_sum,\r\n datum, vytvoril\r\n )\r\n VALUES (\r\n {$revision}, {$form_data['cenova_hladina']}, {$form_data['material_hrubka']}, {$form_data['vyrobca_ABS']}, {$form_data['vlastna_cena']},\r\n {$form_data['dekor_ks']}, {$form_data['cp_price_dekor_ks']}, {$dekor_ks_sum}, {$form_data['dekor_m2']}, {$form_data['cp_price_dekor_m2']}, {$dekor_m2_sum},\r\n {$form_data['porez']}, {$form_data['cp_price_porez']}, {$porez_sum},\r\n {$form_data['lepenie']}, {$form_data['cp_price_lepenie']}, {$lepenie_sum},\r\n {$form_data['cnc_opracovanie']}, {$form_data['cp_price_cnc_opracovanie']}, {$cnc_opracovanie_sum},\r\n {$form_data['cnc_praca']}, {$form_data['cp_price_cnc_praca']}, {$cnc_praca_sum},\r\n {$form_data['olep_obluk']}, {$form_data['cp_price_olep_obluk']}, {$olep_obluk_sum},\r\n now(), {$_SESSION['username']}\r\n )\r\n "; //print_r($query); //die(); mysql_query("BEGIN"); $sql_cp = sql_insert($query); $cp_id = $sql_cp["inserted_id"]; //var_dump($cp_id); // vkladanie do tabulky $num_hrana = sql_query("SELECT id, hodnota FROM hrana WHERE vymaz=0 ORDER BY id"); foreach ($num_hrana as $hrana) { $j_cena = sql_query("SELECT cena from cp_abs \r\n WHERE id=" . $form_data["cp_price_hrana_{$hrana[id]}"] . ""); $sum = $j_cena[0][cena] * $form_data["hrana_{$hrana[id]}"]; $all_sum += $sum; $query_poznamka = "INSERT into cp_hrana (id_cp, id_abs, cena, sum)\r\n VALUES ({$cp_id}, " . $form_data["cp_price_hrana_{$hrana[id]}"] . ",\r\n " . $form_data["hrana_{$hrana[id]}"] . ", " . round($sum, 2) . ")"; //print_r($form_data["hrana_sluzba_{$hrana[id]}"]); //print_r($query_poznamka."<br>"); sql_insert($query_poznamka); $j_cena = sql_query("SELECT cena from cp_abs_sluzba \r\n WHERE id=" . $form_data["cp_price_hrana_sluzba_{$hrana[id]}"] . ""); $sum = $j_cena[0][cena] * $form_data["hrana_sluzba_{$hrana[id]}"]; $all_sum += $sum; $query_poznamka = "INSERT into cp_hrana_sluzba (id_cp, id_abs, cena, sum)\r\n VALUES ({$cp_id}, " . $form_data["cp_price_hrana_sluzba_{$hrana[id]}"] . ",\r\n " . $form_data["hrana_sluzba_{$hrana[id]}"] . ", " . round($sum, 2) . ")"; sql_insert($query_poznamka); //print_r($query_poznamka."<br>"); //var_dump(); } //die(); // vkladanie do tabulky sluzba pre poznamky for ($i = 0; $i < count($form_data[poznamka_text]); $i++) { $sum = $form_data[poznamka_hodnota][$i] * $form_data[poznamka_cena_jednotka][$i]; $all_sum += $sum; $query_poznamka = "INSERT into cp_sluzba (id_cp, popis, hodnota, cena, sum)\r\n VALUES ({$cp_id}, \"{$form_data[poznamka_text][$i]}\", \r\n {$form_data[poznamka_hodnota][$i]}, \r\n {$form_data[poznamka_cena_jednotka][$i]}, " . round($sum, 2) . ")"; sql_insert($query_poznamka); //var_dump($query_poznamka); } //var_dump($all_sum); //die(); sql_update("UPDATE cp SET all_sum={$all_sum} WHERE id={$cp_id}"); mysql_query("COMMIT"); header("location: ?vyber=cp&order={$order}&revision={$revision}&action=display_all"); } }
function edit($work_id) { $app = get_app(); $work = Work::find_by_id($work_id); $staffs = Staff::find('all'); // 记录更新之前的生产数量和完工数量 // 只有当这连个值发生了变化才去调用 // update_count函数更新完工状态 $work_count = $work->count; $work_count_done = $work->count_done; // 分配件数改为可编辑状态 // 取得现场工时分配件数的上限 $request_count = $app->request()->post('count'); if (check_float($request_count)) { $request_count = round($request_count, get_float_num($request_count)); } $available_count = Process::get_available_count($work->process->id, get_float_num($request_count)); // POST if ($app->request()->isPost()) { $post = $app->request()->post(); // 修改work之前验证 if ($post['count'] == 0) { $results['errors'] = array('分配件数必须大于0, 请重新调整参数!'); $results['is_success'] = false; } else { if ($post['count_done'] > $post['count']) { $results['errors'] = array('完工件数大于生产件数, 请重新调整参数!'); $results['is_success'] = false; } else { if ($request_count > $available_count + $work_count) { $results['errors'] = array('您分配的生产数量超过了工序定义的最大值!'); $results['is_success'] = false; } else { if ($work->count_check == 0) { $results['errors'] = array('对不起,未交验的现场工时不能编辑!'); $results['is_success'] = false; } else { if (has_perm(2, 4)) { $work->count = $post['count']; $work->count_done = $post['count_done']; $work->count_valid = $post['count_valid']; $work->count_invalid = $post['count_invalid']; $work->count_concession = $post['count_concession']; $work->staff_id = $post['staff_id']; // 完工数量或生产数量发生变动才更新 // 对应现场工时的完工时间和完工状态 if ($post['count_done'] != $work_count_done || $post['count'] != $work_count) { if ($post['count_done'] == $work->count) { $work->is_done = 1; $work->completion_date = date('Y-m-d'); } if ($post['count_done'] < $work->count) { $work->is_done = 0; $work->completion_date = ''; } } } /*if( has_perm( 3,4 ) ){ $work->ticket = $post['ticket']; }*/ if (has_perm(2, 4) || has_perm(3, 4)) { if ($post['completion_date']) { $work->completion_date = date('Y-m-d', strtotime($post['completion_date'])); } $work->remark = $post['remark']; } $work->save(); $results['is_success'] = true; $results['newNode'] = array('id' => $work->id, 'name' => $work->staff->name, 'staff_id' => $work->staff->id, 'staff_name' => $work->staff->name, 'count' => $work->count, 'count_valid' => $work->count_valid, 'count_concession' => $work->count_concession, 'count_invalid' => $work->count_invalid, 'count_check' => $work->count_check, 'count_done' => $work->count_done, 'is_done' => $work->is_done, 'completion_date' => $work->completion_date ? date('Y-m-d', strtotime($work->completion_date)) : '', 'check_date' => $work->check_date ? date('Y-m-d', strtotime($work->check_date)) : '', 'remark' => $work->remark, 'font' => get_work_node_color($work), 'isParent' => false, 'type' => 'work', 'icon' => get_path('/webroot/css/img/diy/9.png', true)); // 完工数量或生产数量发生变动才更新 if ($post['count_done'] != $work_count_done || $post['count'] != $work_count) { Process::update_count($work->process); Part::update_count($work->process->part); Production::update_count($work->process->part->production); } // 如果当前现场工时的父级工序已经完工 // 自动更新下一道工序的投产日期 if ($work->process->is_done) { $proc = Process::find_next($work->process); // 当 next_proc 没有指定投产日期时,才自动更新投产日期 if ($proc && empty($proc->production_date)) { $proc->production_date = date('Y-m-d'); $proc->save(); } } } } } } echo json_encode($results); } }
function get_slider_step($works) { $max = 0; $step = '1'; foreach ($works as $work) { if (check_float($work->count)) { $num = get_float_num($work->count); if ($num > $max) { $max = $num; } } } // $max > 0 if ($max) { // for ($i = 1; $i < $max; $i++) { $step = '0' . $step; } // $step = '0.' . $step; // return (double) $step; } return (int) $step; }