sistemato inserimento rapido per vgalimenti

This commit is contained in:
Filippo Maino
2021-02-09 16:49:27 +01:00
parent af390961d5
commit e3da4a59b0
2 changed files with 87 additions and 99 deletions

View File

@@ -1,4 +1,6 @@
<?php
/******************* THIS FILE ANSWERS TO INSERIMENTO_RAPIDO REQUEST FROM VG ***********************************************/
/*************** THERE IS NO CALL TO JAVA API SERVICES BUT ALL DATA ARE DIRECTLY MODIFIED THROUGH DB CONNECTION ********/
session_start();
require_once "config.php";
@@ -10,53 +12,51 @@ $serie = getSerie();
// controllo se è stata impostata la data dell'ordine nella variabile di sessione
// se non c'è la setto con il valore del giorno attuale
if(!isset($_SESSION["data_ord"])){
if (!isset($_SESSION["data_ord"])) {
$_SESSION["data_ord"] = strtotime(date("Y-m-d 00:00:00.000"));
}
//$_SESSION["data_cons"] = strftime("%d/%m/%Y", gen_data_cons());
//$_SESSION["data_cons"] = strftime("%d/%m/%Y", $_SESSION["data_cons"]);
if(isset($_POST["noteOrd"])){
/******* this block of code HAS NO EFFECT since $_SESSION["data_ord"] is not set ********/
if (isset($_POST["noteOrd"])) {
$noteOrd = $db->escape($_POST["noteOrd"]);
if(!isset($_SESSION["status_index1"])){
$db->query("UPDATE Wdtb_ordt SET note='$noteOrd' WHERE data_ord = '".strftime("%Y/%m/%d", $_SESSION["data_ord"])."' AND num_ord = '".$_SESSION["num_ord"]."' AND serie='$serie'");
if (!isset($_SESSION["status_index1"])) {
$db->query("UPDATE Wdtb_ordt SET note='$noteOrd' WHERE data_ord = '" . strftime("%Y/%m/%d", $_SESSION["data_ord"]) . "' AND num_ord = '" . $_SESSION["num_ord"] . "' AND serie='$serie'");
}
}
$i = 0;
foreach($_POST as $key => $value){
if($value!="" && array_search($key, $array_valori)===FALSE){
foreach ($_POST as $key => $value) {
if ($value != "" && array_search($key, $array_valori) === FALSE) {
$exploded = explode("_", $key);
$id = end($exploded);
$nome = str_replace("_".$id, "", $key);
$nome = str_replace("_" . $id, "", $key);
if($nome == "cod_mart"){
array_push($array_valori, "pezzi_".$id, "pezzi_omg_".$id, "pezzi_resi_".$id, "sost_reso_".$id);
if ($nome == "cod_mart") {
array_push($array_valori, "pezzi_" . $id, "pezzi_omg_" . $id, "pezzi_resi_" . $id, "sost_reso_" . $id);
$flag_reso_riv = (!isset($_POST["sost_reso_".$id]))? "S": "O";
$codice_articolo = $_POST["cod_mart_".$id];
$qta_ord = ($_POST["pezzi_".$id] == "") ? "0": $_POST["pezzi_".$id];
$qta_omg = ($_POST["pezzi_omg_".$id] == "") ? "0": $_POST["pezzi_omg_".$id];
$qta_reso = ($_POST["pezzi_resi_".$id] == "")? "0": $_POST["pezzi_resi_".$id];
$flag_reso_riv = (!isset($_POST["sost_reso_" . $id])) ? "S" : "O";
$codice_articolo = $_POST["cod_mart_" . $id];
$qta_ord = ($_POST["pezzi_" . $id] == "") ? "0" : $_POST["pezzi_" . $id];
$qta_omg = ($_POST["pezzi_omg_" . $id] == "") ? "0" : $_POST["pezzi_omg_" . $id];
$qta_reso = ($_POST["pezzi_resi_" . $id] == "") ? "0" : $_POST["pezzi_resi_" . $id];
$sconto5 = $_POST["sconto5_" . $id];
$sconto6 = $_POST["sconto6_" . $id];
$sconto7 = $_POST["sconto7_" . $id];
$sconto8 = $_POST["sconto8_" . $id];
$sconto5 = $_POST["sconto5_".$id];
$sconto6 = $_POST["sconto6_".$id];
$sconto7 = $_POST["sconto7_".$id];
$sconto8 = $_POST["sconto8_".$id];
$val_unt = $qta_cnf = "0";
$descrizione_articolo = $unt_ord = "";
$db = new Cms;
$db->query("SELECT descrizione, qta_cnf, unt_mis FROM mtb_aart WHERE cod_mart = '$codice_articolo'");
while($db->next_record()){
while ($db->next_record()) {
$descrizione_articolo = $db->f("descrizione");
$qta_cnf = $db->f("qta_cnf");
$unt_ord = $db->f("unt_mis");
}
try{
try {
$serie_ord = $num_ord_prov = "";
$body = array(
@@ -92,7 +92,7 @@ foreach($_POST as $key => $value){
$consegna->data_cons[0] = strtotime($consegna->data_cons[0]);
$dataCons = $consegna->data_cons[0];
$json_data->cleanedData[]=
$json_data->cleanedData[] =
array(
"data_cons" => $dataCons,
"prz_vend" => number_format($prz_vend, 2),
@@ -112,114 +112,102 @@ foreach($_POST as $key => $value){
$json_data->errore = $err_text;
echo $json_data->errore;
}
} catch(Exception $e){
} catch (Exception $e) {
print_r($e);
}
/*$doc = new DOMDocument();
$doc->loadXML($xml);
$root = $doc->documentElement;
$cod_promo = (!empty($cod_promo_disponibili)) ? "'" . $cod_promo_disponibili[0] . "'" : "NULL";
$array_cod_mart = $root->getElementsByTagName("cod_mart");
foreach($array_cod_mart as $cod_marts){
$prezzo_vendita = $cod_marts->getElementsByTagName("prz_vend");
$val_unt = $prezzo_vendita->item(0)->nodeValue;
$cod_promo_disponibili = array();
$array_promozioni = $cod_marts->getElementsByTagName("promozione");
foreach ($array_promozioni as $promozionis){
$codice_promozione = $promozionis->getElementsByTagName("cod_promo");
$promo = $codice_promozione->item(0)->nodeValue;
$cod_promo_disponibili[] = $promo;
}
}
*/
$cod_promo = (!empty($cod_promo_disponibili)) ? "'".$cod_promo_disponibili[0]."'" : "NULL";
// manipolazione data consegna per inserimento in tabella DB
// $data_cons_array = explode("/", $_SESSION["data_cons"]);
// $data_cons = $data_cons_array[2]."/".$data_cons_array[1]."/".$data_cons_array[0]/*." 00:00:00.000"*/;
// echo $_SESSION["data_cons"];
// manipolazione data consegna per inserimento in tabella DB
// $data_cons_array = explode("/", $_SESSION["data_cons"]);
// $data_cons = $data_cons_array[2]."/".$data_cons_array[1]."/".$data_cons_array[0]/*." 00:00:00.000"*/;
// echo $_SESSION["data_cons"];
$data_cons = strftime("%Y/%m/%d", $_SESSION["data_cons"]);
// echo $data_cons; exit;
if(!isset($_SESSION["num_ord"])){
$db->query("SELECT * FROM Wdtb_ordt WHERE gestione='V' AND data_ord='".strftime("%Y/%m/%d", $_SESSION["data_ord"])."' AND serie = '".$serie."' AND flag_elaborato='I' AND cod_anag='".$_SESSION["cod_anag"]."' AND cod_vdes='".$_SESSION["cod_vdes"]."'");
} else{
$db->query("SELECT * FROM Wdtb_ordt WHERE gestione='V' AND data_ord='".strftime("%Y/%m/%d", $_SESSION["data_ord"])."' AND num_ord='".$_SESSION["num_ord"]."' AND serie = '".$serie."' AND flag_elaborato='I' AND cod_anag='".$_SESSION["cod_anag"]."' AND cod_vdes='".$_SESSION["cod_vdes"]."'");
// echo $data_cons; exit;
if (!isset($_SESSION["num_ord"])) {
$db->query("SELECT * FROM Wdtb_ordt WHERE gestione='V' AND data_ord='" . strftime("%Y/%m/%d", $_SESSION["data_ord"]) . "' AND serie = '" . $serie . "' AND flag_elaborato='I' AND cod_anag='" . $_SESSION["cod_anag"] . "' AND cod_vdes='" . $_SESSION["cod_vdes"] . "'");
} else {
$db->query("SELECT * FROM Wdtb_ordt WHERE gestione='V' AND data_ord='" . strftime("%Y/%m/%d", $_SESSION["data_ord"]) . "' AND num_ord='" . $_SESSION["num_ord"] . "' AND serie = '" . $serie . "' AND flag_elaborato='I' AND cod_anag='" . $_SESSION["cod_anag"] . "' AND cod_vdes='" . $_SESSION["cod_vdes"] . "'");
}
//Se la testata dell'ordine non esiste oppure l'utente viene da index1 (il che significa che vuole iniziare un nuovo ordine) la crea, altrimenti recupera i dati della testata già esistente
if($db->nf()==0 || isset($_SESSION["status_index1"])){
if ($db->nf() == 0 || isset($_SESSION["status_index1"])) {
$new_num_ord = getNewNumOrd("V", $serie, (int) date("Y"));
if($_SESSION["gruppo"]==_agenti){
$currentYear = date("Y");
$db->query("select max(num_ord)+1 as newNumOrd from wdtb_ordt where datepart(year,data_ord) = '$currentYear' and serie = '$serie' and gestione = '$gest_ord'");
/* getNewNumOrd("V", $serie, (int) date("Y"))*/
if ($db->nf() > 0) {
while ($db->next_record()) {
$new_num_ord = $db->f("newNumOrd");
}
}
if ($_SESSION["gruppo"] == _agenti) {
$cod_vage = "'{$_SESSION["user_code"]}'";
} else if(isset($conf["static_cod_vage"])){
} else if (isset($conf["static_cod_vage"])) {
$cod_vage = "'{$conf["static_cod_vage"]}'";
} else{
} else {
$cod_vage = "null";
}
$db->query("INSERT INTO Wdtb_ordt (gestione, data_ord, num_ord, tipo_anag, cod_anag, flag_annulla, cod_vdes, id_ord, flag_elaborato, serie, cod_vage, note)
VALUES ('V', '".strftime("%Y/%m/%d", $_SESSION["data_ord"])."', '$new_num_ord', 'C', '".$_SESSION["cod_anag"]."', 'N', '".$_SESSION["cod_vdes"]."', '0', 'I', '$serie', $cod_vage, '$noteOrd')");
$db->query("INSERT INTO Wdtb_ordt (gestione, data_ord, num_ord, tipo_anag, cod_anag, flag_annulla, cod_vdes, id_ord, flag_elaborato, serie, cod_vage, note, data_ins_ord)
VALUES ('V', '" . strftime("%Y/%m/%d", $_SESSION["data_ord"]) . "', '$new_num_ord', 'C', '" . $_SESSION["cod_anag"] . "', 'N', '" . $_SESSION["cod_vdes"] . "', '0', 'I', '$serie', $cod_vage, '$noteOrd','" . strftime("%Y/%m/%d", $_SESSION["data_ord"]) . "')");
$gest_ord = "V";
$num_ord = $new_num_ord;
$_SESSION["num_ord"] = $num_ord;
} else{
while($db->next_record()){
$gest_ord=$db->f("gestione");
$num_ord=$db->f("num_ord");
} else {
while ($db->next_record()) {
$gest_ord = $db->f("gestione");
$num_ord = $db->f("num_ord");
}
}
unset($_SESSION["status_index1"]);
$db->query("SELECT MAX(riga_ord) AS max_riga_ord FROM Wdtb_ordr WHERE gestione='V' AND data_ord='".strftime("%Y/%m/%d", $_SESSION["data_ord"])."' AND num_ord='".$_SESSION["num_ord"]."' AND serie = '".$serie."'");
if($db->nf()>0){
while($db->next_record()){
$riga_ordine=$db->f("max_riga_ord");
$db->query("SELECT MAX(riga_ord) AS max_riga_ord FROM Wdtb_ordr WHERE gestione='V' AND data_ord='" . strftime("%Y/%m/%d", $_SESSION["data_ord"]) . "' AND num_ord='" . $_SESSION["num_ord"] . "' AND serie = '" . $serie . "'");
if ($db->nf() > 0) {
while ($db->next_record()) {
$riga_ordine = $db->f("max_riga_ord");
}
$riga_ordine++;
} else{
$riga_ordine=0;
} else {
$riga_ordine = 0;
}
// recupera l'id_ord dell'ordine
$db->query("SELECT id_ord FROM Wdtb_ordt WHERE gestione = '$gest_ord' AND data_ord = '".strftime("%Y/%m/%d", $_SESSION["data_ord"])."' AND num_ord = '".$_SESSION["num_ord"]."' AND serie = '".$serie."'");
while($db->next_record()){
$id_ord=$db->f("id_ord");
$db->query("SELECT id_ord FROM Wdtb_ordt WHERE gestione = '$gest_ord' AND data_ord = '" . strftime("%Y/%m/%d", $_SESSION["data_ord"]) . "' AND num_ord = '" . $_SESSION["num_ord"] . "' AND serie = '" . $serie . "'");
while ($db->next_record()) {
$id_ord = $db->f("id_ord");
}
// individuo se c'è già l'articolo per l'ordine in corso (se sì, recupero la riga_ord)
$db->query("SELECT * FROM Wdtb_ordr WHERE gestione = '".$gest_ord."' AND data_ord = '".strftime("%Y/%m/%d", $_SESSION["data_ord"])."' AND num_ord = '".$_SESSION["num_ord"]."' AND serie = '".$serie."' AND cod_mart = '".$codice_articolo."'");
$db->query("SELECT * FROM Wdtb_ordr WHERE gestione = '" . $gest_ord . "' AND data_ord = '" . strftime("%Y/%m/%d", $_SESSION["data_ord"]) . "' AND num_ord = '" . $_SESSION["num_ord"] . "' AND serie = '" . $serie . "' AND cod_mart = '" . $codice_articolo . "'");
if($db->nf()>0){
if ($db->nf() > 0) {
$row_exist = "1";
while($db->next_record()){
$riga_ord=$db->f("riga_ord");
while ($db->next_record()) {
$riga_ord = $db->f("riga_ord");
}
} else{
} else {
$row_exist = "0";
}
if($row_exist == "1"){
$sql = "UPDATE Wdtb_ordr SET qta_ord = '".$qta_ord."', qta_omg = '".$qta_omg."', qta_reso = '".$qta_reso."', cod_promo = $cod_promo, data_cons = '".$data_cons."', flag_reso_riv = '".$flag_reso_riv."' WHERE cod_mart = '".$codice_articolo."' AND data_ord = '".strftime("%Y/%m/%d", $_SESSION["data_ord"])."' AND num_ord = '".$num_ord."' AND riga_ord = '".$riga_ord."' AND serie = '".$serie."'";
} else{
if ($row_exist == "1") {
$sql = "UPDATE Wdtb_ordr SET qta_ord = '" . $qta_ord . "', qta_omg = '" . $qta_omg . "', qta_reso = '" . $qta_reso . "', cod_promo = $cod_promo, data_cons = '" . $data_cons . "', flag_reso_riv = '" . $flag_reso_riv . "' WHERE cod_mart = '" . $codice_articolo . "' AND data_ord = '" . strftime("%Y/%m/%d", $_SESSION["data_ord"]) . "' AND num_ord = '" . $num_ord . "' AND riga_ord = '" . $riga_ord . "' AND serie = '" . $serie . "'";
} else {
$descrizione_articolo = str_replace("'", "", $descrizione_articolo);
$sql = "INSERT INTO Wdtb_ordr (gestione, data_ord, num_ord, riga_ord, flag_evaso, data_cons, cod_mart, descrizione, unt_ord, rap_conv, qta_ord, qta_omg, qta_reso, qta_evasa, val_unt, id_art, qta_cnf, sconto5, sconto6, sconto7, sconto8, importo_riga, id, id_ord, serie, cod_promo, flag_reso_riv)
VALUES ('".$gest_ord."', '".strftime("%Y/%m/%d", $_SESSION["data_ord"])."', '".$num_ord."', '".$riga_ordine."', NULL, '".$data_cons."', '".$codice_articolo."', '".$descrizione_articolo."', '".$unt_ord."', '1', '".$qta_ord."', '".$qta_omg."', '".$qta_reso."', NULL, '".$val_unt."', NULL, '".$qta_cnf."', '$sconto5', '$sconto6', '$sconto7', '$sconto8', '0', '0', '".$id_ord."', '".$serie."', $cod_promo, '".$flag_reso_riv."')";
} //echo $sql;exit;
VALUES ('" . $gest_ord . "', '" . strftime("%Y/%m/%d", $_SESSION["data_ord"]) . "', '" . $num_ord . "', '" . $riga_ordine . "', NULL, '" . $data_cons . "', '" . $codice_articolo . "', '" . $descrizione_articolo . "', '" . $unt_ord . "', '1', '" . $qta_ord . "', '" . $qta_omg . "', '" . $qta_reso . "', NULL, '" . $val_unt . "', NULL, '" . $qta_cnf . "', '$sconto5', '$sconto6', '$sconto7', '$sconto8', '0', '0', '" . $id_ord . "', '" . $serie . "', $cod_promo, '" . $flag_reso_riv . "')";
}
$db->query($sql);
$i++;
$i++;
}
}
}
if($i>0){
if ($i > 0) {
header("Location: carrello.php?insrap");
} else{
header("Location: ".$_SERVER["HTTP_REFERER"]);
} else {
header("Location: " . $_SERVER["HTTP_REFERER"]);
}

View File

@@ -119,7 +119,7 @@ if ($_SESSION["status_index1"] != "SOSPESO" && $_POST["nuovo"] == "N") { // VIEN
} else {
$_SESSION["status_index1"] = "1";
}
if ($conf["tipo_ins"] == 1) { // VG e CEDIAL
if ($conf["tipo_ins"] == 1) { // VG
if ($conf["blocco_incasso"] && $_SESSION["soloBolle"] == "false") {
/* CONTROLLO SE CI SONO I SOSPESI */