Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento : prima stesura programma di conversione CONAI; da provare completamente git-svn-id: svn://10.65.10.50/trunk@19335 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									be364c121f
								
							
						
					
					
						commit
						2d0815469f
					
				
							
								
								
									
										69
									
								
								ba/bacnv.cpp
									
									
									
									
									
								
							
							
						
						
									
										69
									
								
								ba/bacnv.cpp
									
									
									
									
									
								
							@ -1,4 +1,5 @@
 | 
				
			|||||||
#include <applicat.h>
 | 
					#include <applicat.h>
 | 
				
			||||||
 | 
					#include <extcdecl.h>
 | 
				
			||||||
#include <mailbox.h>
 | 
					#include <mailbox.h>
 | 
				
			||||||
#include <progind.h>
 | 
					#include <progind.h>
 | 
				
			||||||
#include <relation.h>
 | 
					#include <relation.h>
 | 
				
			||||||
@ -7,16 +8,18 @@
 | 
				
			|||||||
#include <tabutil.h>
 | 
					#include <tabutil.h>
 | 
				
			||||||
#include <urldefid.h>
 | 
					#include <urldefid.h>
 | 
				
			||||||
#include <utility.h>
 | 
					#include <utility.h>
 | 
				
			||||||
#include <extcdecl.h>
 | 
					#include <varrec.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <causali.h>
 | 
					#include <causali.h>
 | 
				
			||||||
#include <clifo.h>
 | 
					#include <clifo.h>
 | 
				
			||||||
#include <mov.h>
 | 
					#include <mov.h>
 | 
				
			||||||
#include <pconti.h>
 | 
					#include <pconti.h>
 | 
				
			||||||
 | 
					#include <rdoc.h>
 | 
				
			||||||
#include <rmov.h>
 | 
					#include <rmov.h>
 | 
				
			||||||
#include <saldi.h>
 | 
					#include <saldi.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "..\cg\cglib02.h"
 | 
					#include "..\cg\cglib02.h"
 | 
				
			||||||
 | 
					#include "..\ve\velib.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
@ -192,7 +195,7 @@ public:
 | 
				
			|||||||
  void convert_clifo_privati(); 
 | 
					  void convert_clifo_privati(); 
 | 
				
			||||||
	void convert_pcon_ivd();
 | 
						void convert_pcon_ivd();
 | 
				
			||||||
	void convert_profile(const char * profile_name);
 | 
						void convert_profile(const char * profile_name);
 | 
				
			||||||
 | 
					  void convert_conai_righe();
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  TConversione_archivi() : _oldditta(0), _codditta(0), _error(0) {}
 | 
					  TConversione_archivi() : _oldditta(0), _codditta(0), _error(0) {}
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
@ -359,10 +362,13 @@ bool TConversione_archivi::menu(MENU_TAG)
 | 
				
			|||||||
  case 23:
 | 
					  case 23:
 | 
				
			||||||
		convert_profile(argv(2)); 
 | 
							convert_profile(argv(2)); 
 | 
				
			||||||
    break;
 | 
					    break;
 | 
				
			||||||
 | 
					  case 24:
 | 
				
			||||||
 | 
					    convert_conai_righe();
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
  default:
 | 
					  default:
 | 
				
			||||||
    break;  
 | 
					    break;  
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return FALSE;
 | 
					  return false;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
///////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
@ -2176,6 +2182,63 @@ void TConversione_archivi::convert_profile(const char* profile_name)
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					// Converte le righe documento in modo da riassegnare i campi CONAI
 | 
				
			||||||
 | 
					////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					void TConversione_archivi::convert_conai_righe()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  //deve considerare tutte le righe documento che abbiano almeno uno tra codagg1 e codagg2 compilato
 | 
				
			||||||
 | 
					  TString query;
 | 
				
			||||||
 | 
					  query << "USE RDOC\n";
 | 
				
			||||||
 | 
					  query << "SELECT (CODAGG1?=\"??\")||(CODAGG2?=\"????\")";
 | 
				
			||||||
 | 
					  TISAM_recordset righedoc(query);
 | 
				
			||||||
 | 
					  const long righedoc_items = righedoc.items();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  TProgind pi(righedoc_items, "Ricostruzione righe CONAI...", false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  //ci vuole un TVariable_rectype perchè il TRectype non ha campi virtuali!
 | 
				
			||||||
 | 
					  TVariable_rectype rdoc(LF_RIGHEDOC);
 | 
				
			||||||
 | 
					  rdoc.set_memo_fld(RDOC_RG1);
 | 
				
			||||||
 | 
					  for (bool ok = righedoc.move_first(); ok; ok = righedoc.move_next())
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    //deve prendere dalla riga il valore di codagg2 e confrontarlo con una delle nuove sottocategorie conai
 | 
				
			||||||
 | 
					    pi.addstatus(1);
 | 
				
			||||||
 | 
					    rdoc = righedoc.cursor()->curr();
 | 
				
			||||||
 | 
					    TString4 codagg2 = rdoc.get(RDOC_CODAGG2);
 | 
				
			||||||
 | 
					    TString4 codagg1 = rdoc.get(RDOC_CODAGG1);
 | 
				
			||||||
 | 
					    //se codagg2 non è 4 caratteri o è cazzato (<4) oppure non c'entra un cavolo (>4); quindi deve considerare..
 | 
				
			||||||
 | 
					    //..codagg1; se codagg1 è lungo 2 va bene lui
 | 
				
			||||||
 | 
					    if (codagg2.len() < 4 && codagg1.len() == 2)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      codagg2 = codagg1;
 | 
				
			||||||
 | 
					      codagg2 << "99";
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    //per prima cosa sistema i codici categoria
 | 
				
			||||||
 | 
					    //quale è la classe conai? (plastica,carta,vetro,ecc.??)
 | 
				
			||||||
 | 
					    const TCONAI_class cc = conai_str2class(codagg2);
 | 
				
			||||||
 | 
					    //come si chiama il campo virtuale su rdoc in cui anrà inserito il codice categoria?
 | 
				
			||||||
 | 
					    const char* csn = conai_sottocat_name(cc);
 | 
				
			||||||
 | 
					    //noto il campo di destinazione ci mette il codice corretto
 | 
				
			||||||
 | 
					    rdoc.put(csn, codagg2);
 | 
				
			||||||
 | 
					    rdoc.zero(RDOC_CODAGG1);
 | 
				
			||||||
 | 
					    rdoc.zero(RDOC_CODAGG2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //adesso tocca ai pesi conai
 | 
				
			||||||
 | 
					    real qtagg1 = rdoc.get_real(RDOC_QTAGG1);
 | 
				
			||||||
 | 
					    //la classe è sempre quella di prima;il campo virtuale no
 | 
				
			||||||
 | 
					    const char* cpn = conai_peso_name(cc);
 | 
				
			||||||
 | 
					    //noto il campo di destinazione ci mette il peso conai
 | 
				
			||||||
 | 
					    rdoc.put(cpn, qtagg1);
 | 
				
			||||||
 | 
					    rdoc.zero(RDOC_QTAGG1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //scrittura finale del record
 | 
				
			||||||
 | 
					    TLocalisamfile f(LF_RIGHEDOC);
 | 
				
			||||||
 | 
					    int err = rdoc.rewrite(f);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
///////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
// Programma di conversione archivi speciale
 | 
					// Programma di conversione archivi speciale
 | 
				
			||||||
///////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user