Patch level : 10.0 patch 511

Files correlati     : lv2
Ricompilazione Demo : [ ]
Commento            :
D. Acquisizione dati da conta pezzi
1)  1-Ignora  2-Somma  3-Sostituisci

2) Se alla fine dico no generazione interrotta e non terminata

3) Creare un file output.old /output1.old per ognuno di quelli presi vuoto

5) Finita la generazione delle bolle mi rimane appesa l’ultima bolla fatta (da accordi forzo la chiusura del programma)

6)Buoni di ritiro che numero ha dato?

7) Messaggio con numero di documenti generati


git-svn-id: svn://10.65.10.50/trunk@19620 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2009-11-13 10:26:47 +00:00
parent b6326ad764
commit 3eca115437

View File

@ -2,6 +2,7 @@
#include <automask.h> #include <automask.h>
#include <reputils.h> #include <reputils.h>
#include <reprint.h> #include <reprint.h>
#include <urldefid.h>
#include <utility.h> #include <utility.h>
#include "lvlib.h" #include "lvlib.h"
@ -613,16 +614,15 @@ bool TAcquisizione_lavanderie_app::elabora_file(const TString& file, TLog_report
str << "ATTENZIONE: è già presente un conteggio per il cliente " << codcf << " sull'articolo " << codart << "\n" str << "ATTENZIONE: è già presente un conteggio per il cliente " << codcf << " sull'articolo " << codart << "\n"
<< "Quantità conteggio attuale: " << qta << " Quantità conteggio precedente: " << qc->get_pezzi() << "\n" << "Quantità conteggio attuale: " << qta << " Quantità conteggio precedente: " << qc->get_pezzi() << "\n"
<< "Si desidera sommare le quantità?\n" << "Si desidera sommare le quantità?\n"
<< "Premendo SI le quatità verranno sommate;\n" << "(SI -> Somma NO -> Ignora Conteggio ANNULLA -> Sosituisci il conteggio precedente)\n";
<< "Premendo NO il conteggio precedente verrà sostituito con quello attuale\n"
<< "Premendo ANNULLA verrà mantenuto il conteggio precedente";
KEY k = yesnocancel_box(str); KEY k = yesnocancel_box(str);
switch (k) switch (k)
{ {
case K_YES: qc->add_pezzi(qta); qc->add_rotti(rotti); break; //sommo le quantità case K_YES: qc->add_pezzi(qta); qc->add_rotti(rotti); break; //sommo le quantità
case K_NO: qc->set_pezzi(qta); qc->set_rotti(rotti); break; //sostituisco le quantità case K_NO: break; //lascio tutto com'è
default: break; //lascio tutto com'è default: qc->set_pezzi(qta); qc->set_rotti(rotti); break; //sostituisco le quantità
} }
} }
else else
@ -681,16 +681,15 @@ void TAcquisizione_lavanderie_app::controlla_documenti(TLog_report& rep, TArtico
str << "ATTENZIONE: è già presente un buono di ritiro per il cliente " << codcf << " sull'articolo " << codart << "\n" str << "ATTENZIONE: è già presente un buono di ritiro per il cliente " << codcf << " sull'articolo " << codart << "\n"
<< "Quantità conteggio: " << quantita->get_pezzi() << " Quantità buono di ritiro: " << rdoc.get_int(RDOC_QTAGG1) << "\n" << "Quantità conteggio: " << quantita->get_pezzi() << " Quantità buono di ritiro: " << rdoc.get_int(RDOC_QTAGG1) << "\n"
<< "Si desidera sommare le quantità?\n" << "Si desidera sommare le quantità?\n"
<< "Premendo SI le quatità verranno sommate;" << "(SI -> Somma NO -> Ignora Conteggio ANNULLA -> Modifica Buono)\n";
<< "Premendo NO la quantità sul buono verrà sostitiuita con quella conteggiata;"
<< "Premendo ANNULLA il buono non verrà modificato";
KEY k = yesnocancel_box(str); KEY k = yesnocancel_box(str);
switch (k) switch (k)
{ {
case K_YES: quantita->add_pezzi(rdoc.get_int(RDOC_QTAGG1)); quantita->add_rotti(rdoc.get_int(RDOC_QTA)); break; //sommo le quantità case K_YES: quantita->add_pezzi(rdoc.get_int(RDOC_QTAGG1)); quantita->add_rotti(rdoc.get_int(RDOC_QTA)); break; //sommo le quantità
case K_NO: break; //sostituisco le quantità case K_NO: quantita->set_pezzi(rdoc.get_int(RDOC_QTAGG1)); quantita->set_rotti(rdoc.get_int(RDOC_QTA)); break; //lascio tutto com'è
default: quantita->set_pezzi(rdoc.get_int(RDOC_QTAGG1)); quantita->set_rotti(rdoc.get_int(RDOC_QTA)); break; //lascio tutto com'è default: break; //sostituisco le quantità
} }
break; break;
} }
@ -789,9 +788,22 @@ void TAcquisizione_lavanderie_app::sposta_file(const TString& file)
TFilename filedest = path; TFilename filedest = path;
filedest.add(strname); filedest.add(strname);
//se la ciopia è andata a buon fine, creo un file .old vuoto e cancello il file .dat
if (fcopy(fileori, filedest)) if (fcopy(fileori, filedest))
{
TFilename fileold;
fileold = fileori.path();
TString strn = fileori.name_only();
strn << ".old";
fileold.add(strn);
fclose(fopen(fileold, "w"));
fileori.fremove(); fileori.fremove();
} }
}
//TRANSFER: metodo che scorre i campi nome e, se sono pieni, richiama il metodo //TRANSFER: metodo che scorre i campi nome e, se sono pieni, richiama il metodo
//ELABORA_FILE(), che effettivamente fa l'elaborazione //ELABORA_FILE(), che effettivamente fa l'elaborazione
@ -863,14 +875,32 @@ bool TAcquisizione_lavanderie_app::transfer()
{ {
controlla_documenti(logrep, articoli, documenti); controlla_documenti(logrep, articoli, documenti);
bool genera = false;
if (nrsalt > 0)
{
TString str; TString str;
str << "Sono stati ricevuti " << nrighe << " record, di cui " << nrighe - nrsalt << " sono stati elaborati correttamente" str << "Sono stati ricevuti " << nrighe << " record, di cui " << nrighe - nrsalt << " sono stati elaborati correttamente"
<< " e " << nrsalt << " ignorati.\nSi desidera procedere con la generazione dei buoni di ritiro?"; << " e " << nrsalt << " ignorati.\nSi desidera procedere con la generazione dei buoni di ritiro?";
if (nrsalt == 0 || yesno_box(str)) if (yesno_box(str))
genera = true;
}
if (nrsalt == 0 || genera)
{ {
genera_documenti(logrep, documenti); genera_documenti(logrep, documenti);
//diagnostica
TString str;
if (documenti.items() > 1)
str << "Sono stati generati " << documenti.items() << " buoni di ritiro.";
else
str << "E' stato generato " << documenti.items() << " buono di ritiro.";
message_box(str);
FOR_EACH_SHEET_ROW(sheet, r1, row1) FOR_EACH_SHEET_ROW(sheet, r1, row1)
{ {
if(row1->full()) if(row1->full())
@ -902,7 +932,7 @@ bool TAcquisizione_lavanderie_app::transfer()
} }
if (_auto == "A") if (_auto == "A")
_msk->send_key(K_SPACE, DLG_CANCEL); _msk->send_key(K_SPACE, DLG_QUIT);
else else
{ {
TReport_book buc; TReport_book buc;
@ -910,7 +940,11 @@ bool TAcquisizione_lavanderie_app::transfer()
if (buc.pages() > 0) if (buc.pages() > 0)
buc.preview(); buc.preview();
else else
if (genera)
message_box(TR("Generazione terminata")); message_box(TR("Generazione terminata"));
else
message_box(TR("Generazione interrotta"));
_msk->send_key(K_SPACE, DLG_QUIT);
} }
} }