git-svn-id: svn://10.65.10.50/branches/R_10_00@22737 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									a188f840dc
								
							
						
					
					
						commit
						3a98d37f2b
					
				@ -196,7 +196,7 @@ bool TAttribuzioneBenemerenze::set_print(int)
 | 
				
			|||||||
  tasto = _msk->run();
 | 
					  tasto = _msk->run();
 | 
				
			||||||
	if (tasto == K_ENTER)
 | 
						if (tasto == K_ENTER)
 | 
				
			||||||
	{  	 
 | 
						{  	 
 | 
				
			||||||
		const TDate datarif = TDate("16/05/2004");
 | 
							const TDate datarif(16, 5, 2004);
 | 
				
			||||||
		_oldben = "**"; 
 | 
							_oldben = "**"; 
 | 
				
			||||||
		_contatore = 0;                 
 | 
							_contatore = 0;                 
 | 
				
			||||||
		_prevista = (_msk->get(F_SITUAZIONE)[0] == 'P');
 | 
							_prevista = (_msk->get(F_SITUAZIONE)[0] == 'P');
 | 
				
			||||||
@ -208,12 +208,12 @@ bool TAttribuzioneBenemerenze::set_print(int)
 | 
				
			|||||||
		_definitiva = _msk->get_bool(F_DEFINITIVA);
 | 
							_definitiva = _msk->get_bool(F_DEFINITIVA);
 | 
				
			||||||
		_nuovicriteri = _msk->get_bool(F_NUOVICRITERI);
 | 
							_nuovicriteri = _msk->get_bool(F_NUOVICRITERI);
 | 
				
			||||||
    _catdon.destroy();    
 | 
					    _catdon.destroy();    
 | 
				
			||||||
	  const TString16 catpri = _msk->get(F_CAT1);
 | 
						  const TString4 catpri = _msk->get(F_CAT1);
 | 
				
			||||||
	  const TString16 catsec = _msk->get(F_CAT2);
 | 
						  const TString4 catsec = _msk->get(F_CAT2);
 | 
				
			||||||
	  const TString16 catter = _msk->get(F_CAT3);
 | 
						  const TString4 catter = _msk->get(F_CAT3);
 | 
				
			||||||
	  const TString16 catqua = _msk->get(F_CAT4);
 | 
						  const TString4 catqua = _msk->get(F_CAT4);
 | 
				
			||||||
	  const TString16 catqui = _msk->get(F_CAT5);
 | 
						  const TString4 catqui = _msk->get(F_CAT5);
 | 
				
			||||||
	  const TString16 catses = _msk->get(F_CAT6);
 | 
						  const TString4 catses = _msk->get(F_CAT6);
 | 
				
			||||||
	  if (catpri.not_empty())
 | 
						  if (catpri.not_empty())
 | 
				
			||||||
	  	_catdon.add((const char*) catpri);
 | 
						  	_catdon.add((const char*) catpri);
 | 
				
			||||||
	  if (catsec.not_empty())
 | 
						  if (catsec.not_empty())
 | 
				
			||||||
@ -235,34 +235,36 @@ bool TAttribuzioneBenemerenze::set_print(int)
 | 
				
			|||||||
			int m_numdon = ben.get_int("I1");
 | 
								int m_numdon = ben.get_int("I1");
 | 
				
			||||||
			int m_anni = ben.get_int("I2");
 | 
								int m_anni = ben.get_int("I2");
 | 
				
			||||||
			bool solodim = ben.get_bool("B0");
 | 
								bool solodim = ben.get_bool("B0");
 | 
				
			||||||
			TToken_string* condizioni = new TToken_string();;
 | 
								TToken_string* condizioni = new TToken_string();
 | 
				
			||||||
			condizioni->add(numdonben);
 | 
								condizioni->add(numdonben);
 | 
				
			||||||
			condizioni->add(m_numdon);
 | 
								condizioni->add(m_numdon);
 | 
				
			||||||
			condizioni->add(m_anni);
 | 
								condizioni->add(m_anni);
 | 
				
			||||||
			condizioni->add(solodim);
 | 
								condizioni->add(solodim);
 | 
				
			||||||
	  	_tabben.add((const char*)codben, (TObject*) condizioni);
 | 
						  	_tabben.add(codben, condizioni);
 | 
				
			||||||
	  }
 | 
						  }
 | 
				
			||||||
  	TString80 filtro;
 | 
					  	TString80 filtro;
 | 
				
			||||||
  	if (_attgruppi)
 | 
					  	if (_attgruppi)
 | 
				
			||||||
  	{
 | 
					  	{
 | 
				
			||||||
	  	if (_gruppoazie.not_empty())
 | 
						  	if (_gruppoazie.full())
 | 
				
			||||||
		  	filtro.format("(90->GRUPPOAZIE == \"%s\")",(const char*)_gruppoazie);
 | 
							  	filtro.format("(90->GRUPPOAZIE == \"%s\")",(const char*)_gruppoazie);
 | 
				
			||||||
			else		  	
 | 
								else		  	
 | 
				
			||||||
		  	filtro.format("(90->GRUPPOAZIE != \"\")");
 | 
							  	filtro.format("(90->GRUPPOAZIE != \"\")");
 | 
				
			||||||
		}		  	
 | 
							}		  	
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
			if (!_anchegruppi)
 | 
								if (!_anchegruppi)
 | 
				
			||||||
				filtro.format("(90->GRUPPOAZIE == \"\")");			
 | 
									filtro.format("(90->GRUPPOAZIE == \"\")");			
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
		if (filtro.not_empty())
 | 
							if (filtro.not_empty())
 | 
				
			||||||
			filtro << " && ";
 | 
								filtro << " && ";
 | 
				
			||||||
		filtro << "(90->BENEM == \"X\")";							
 | 
							filtro << "(90->BENEM == \"X\")";							
 | 
				
			||||||
		// filtro per sezioni
 | 
							// filtro per sezioni
 | 
				
			||||||
	 	const TString16 sezini = _msk->get(F_SEZINI);
 | 
						 	const TString& sezini = _msk->get(F_SEZINI);
 | 
				
			||||||
	 	const TString16 sotini = _msk->get(F_SOTINI);
 | 
						 	const TString& sotini = _msk->get(F_SOTINI);
 | 
				
			||||||
	  TRectype da(LF_SOGGETTI);
 | 
						  TRectype da(LF_SOGGETTI);
 | 
				
			||||||
		if (sezini.not_empty())  
 | 
							if (sezini.full())  
 | 
				
			||||||
			da.put(SOG_CODSEZ, sezini);
 | 
								da.put(SOG_CODSEZ, sezini);
 | 
				
			||||||
	  if (sotini.not_empty())
 | 
						  if (sotini.full())
 | 
				
			||||||
			da.put(SOG_CODSOT, sotini);
 | 
								da.put(SOG_CODSOT, sotini);
 | 
				
			||||||
		_cur = new TCursor(_rel, "", 3, &da, &da);  
 | 
							_cur = new TCursor(_rel, "", 3, &da, &da);  
 | 
				
			||||||
		_cur->setfilter(filtro, TRUE);
 | 
							_cur->setfilter(filtro, TRUE);
 | 
				
			||||||
@ -285,20 +287,20 @@ bool TAttribuzioneBenemerenze::set_print(int)
 | 
				
			|||||||
		atopera.write();
 | 
							atopera.write();
 | 
				
			||||||
		TLocalisamfile atropera(LF_ATROPERA);
 | 
							TLocalisamfile atropera(LF_ATROPERA);
 | 
				
			||||||
		TRectype& sog = _cur->curr();
 | 
							TRectype& sog = _cur->curr();
 | 
				
			||||||
		long last = _cur->items();
 | 
							const long last = _cur->items();
 | 
				
			||||||
		_benem->setkey(3);
 | 
							_benem->setkey(3);
 | 
				
			||||||
		TProgind prg (last, "Elaborazione in corso... Prego attendere", FALSE, TRUE, 30);
 | 
							TProgind prg(last, TR("Elaborazione in corso... Prego attendere"), FALSE, TRUE);
 | 
				
			||||||
  	for ( *_cur=0; _cur->pos() < last; ++(*_cur) )
 | 
					  	for ( *_cur=0; _cur->pos() < last; ++(*_cur) )
 | 
				
			||||||
  	{
 | 
					  	{
 | 
				
			||||||
    	prg.addstatus(1);   
 | 
					    	prg.addstatus(1);   
 | 
				
			||||||
			// controllare la categoria    	
 | 
								// controllare la categoria    	
 | 
				
			||||||
			bool filtrato = TRUE;
 | 
								bool filtrato = TRUE;
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			long codice = sog.get_long(SOG_CODICE);
 | 
								const long codice = sog.get_long(SOG_CODICE);
 | 
				
			||||||
			if (_catdon.items() != 0)
 | 
								if (_catdon.items() != 0)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				const TString16 cat = sog.get(SOG_CATDON);
 | 
									const TString& cat = sog.get(SOG_CATDON);
 | 
				
			||||||
				filtrato = _catdon.is_key((const char*) cat);
 | 
									filtrato = _catdon.is_key(cat);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if (filtrato)
 | 
								if (filtrato)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
@ -319,7 +321,7 @@ bool TAttribuzioneBenemerenze::set_print(int)
 | 
				
			|||||||
					{
 | 
										{
 | 
				
			||||||
						const TRectype& riga = _sdonazioni->row(r);
 | 
											const TRectype& riga = _sdonazioni->row(r);
 | 
				
			||||||
						const TDate datadon = riga.get_date(DON_DATADON);
 | 
											const TDate datadon = riga.get_date(DON_DATADON);
 | 
				
			||||||
						const TString16 tipodon = riga.get(DON_TIPODON);
 | 
											const TString4 tipodon = riga.get(DON_TIPODON);
 | 
				
			||||||
						if (datadon<=_dataela)
 | 
											if (datadon<=_dataela)
 | 
				
			||||||
						{
 | 
											{
 | 
				
			||||||
							if (_nuovicriteri && datadon>datarif) // 16/05/2004
 | 
												if (_nuovicriteri && datadon>datarif) // 16/05/2004
 | 
				
			||||||
@ -333,15 +335,21 @@ bool TAttribuzioneBenemerenze::set_print(int)
 | 
				
			|||||||
									anno = datadon.year();
 | 
														anno = datadon.year();
 | 
				
			||||||
								}
 | 
													}
 | 
				
			||||||
								donxanno++;
 | 
													donxanno++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (sesso == '2' && (tipodon == "SI" || tipodon=="SN"))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
								  int eta = datadon.year() - datanasc.year();
 | 
													  int eta = datadon.year() - datanasc.year();
 | 
				
			||||||
								  if (datadon.month() < datanasc.month())
 | 
													  if (datadon.month() < datanasc.month())
 | 
				
			||||||
									  eta--;
 | 
														  eta--;
 | 
				
			||||||
								  else 
 | 
													  else 
 | 
				
			||||||
									if (datadon.month() == datanasc.month())
 | 
					                  {
 | 
				
			||||||
										if (datadon.day() < datanasc.day())
 | 
														  if (datadon.month() == datanasc.month() && datadon.day() < datanasc.day())
 | 
				
			||||||
										  eta--;
 | 
															  eta--;
 | 
				
			||||||
								if ((tipodon == "SI" || tipodon=="SN") && (sesso == '2') && (eta < 50))
 | 
					                  }
 | 
				
			||||||
 | 
					                  // Le donne 'giovani' hanno il bonus (2x1 donazioni)
 | 
				
			||||||
 | 
													  if (eta < 50)
 | 
				
			||||||
									  donxanno++;
 | 
														  donxanno++;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
							}
 | 
												}
 | 
				
			||||||
							else
 | 
												else
 | 
				
			||||||
								numdon++;
 | 
													numdon++;
 | 
				
			||||||
@ -422,12 +430,12 @@ bool TAttribuzioneBenemerenze::set_print(int)
 | 
				
			|||||||
								attribuisci = true;
 | 
													attribuisci = true;
 | 
				
			||||||
							if (_nuovicriteri && !attribuisci && (m_bonus > 0 || m_anni > 0))  // se uso nuovi criteri e non ne ha diritto col vecchio sistema quardo se ne ha diritto con i nuovi criteri
 | 
												if (_nuovicriteri && !attribuisci && (m_bonus > 0 || m_anni > 0))  // se uso nuovi criteri e non ne ha diritto col vecchio sistema quardo se ne ha diritto con i nuovi criteri
 | 
				
			||||||
							{
 | 
												{
 | 
				
			||||||
								const int anniisc = (_dataela - dataisc)/360;
 | 
													const int anniisc = int((_dataela - dataisc)/360.25);
 | 
				
			||||||
								attribuisci = (numdon >= m_bonus) && (anniisc >= m_anni);
 | 
													attribuisci = (numdon >= m_bonus) && (anniisc >= m_anni);
 | 
				
			||||||
							}
 | 
												}
 | 
				
			||||||
							if (attribuisci && solodim)
 | 
												if (attribuisci && solodim)
 | 
				
			||||||
							{
 | 
												{
 | 
				
			||||||
								const TString16 cat = sog.get(SOG_CATDON);
 | 
													const TString4 cat = sog.get(SOG_CATDON);
 | 
				
			||||||
								attribuisci = cache().get("CTD", cat).get_bool("B0");
 | 
													attribuisci = cache().get("CTD", cat).get_bool("B0");
 | 
				
			||||||
							}
 | 
												}
 | 
				
			||||||
							if (attribuisci)
 | 
												if (attribuisci)
 | 
				
			||||||
@ -457,7 +465,7 @@ bool TAttribuzioneBenemerenze::set_print(int)
 | 
				
			|||||||
		TString80 chiave = "131->S0|UPPER(90->COGNOME)|UPPER(90->NOME)";
 | 
							TString80 chiave = "131->S0|UPPER(90->COGNOME)|UPPER(90->NOME)";
 | 
				
			||||||
		TString80 filtroope = format("131->PROGOPE==%d", _progope);
 | 
							TString80 filtroope = format("131->PROGOPE==%d", _progope);
 | 
				
			||||||
	  int curope = add_cursor(new TSorted_cursor(relope, (const char*) chiave, "", 1));
 | 
						  int curope = add_cursor(new TSorted_cursor(relope, (const char*) chiave, "", 1));
 | 
				
			||||||
		current_cursor()->setfilter((const char*) filtroope, TRUE);
 | 
							current_cursor()->setfilter(filtroope, TRUE);
 | 
				
			||||||
		add_file(LF_ATROPERA);
 | 
							add_file(LF_ATROPERA);
 | 
				
			||||||
		add_file(LF_SOGGETTI,LF_ATROPERA);
 | 
							add_file(LF_SOGGETTI,LF_ATROPERA);
 | 
				
			||||||
		reset_print();		
 | 
							reset_print();		
 | 
				
			||||||
@ -538,6 +546,6 @@ bool TAttribuzioneBenemerenze::user_destroy()
 | 
				
			|||||||
int at1200(int argc, char* argv[])
 | 
					int at1200(int argc, char* argv[])
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	TAttribuzioneBenemerenze a;
 | 
						TAttribuzioneBenemerenze a;
 | 
				
			||||||
	a.run(argc, argv, "Attribuzione complessiva");
 | 
						a.run(argc, argv, TR("Attribuzione complessiva"));
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user