if(minDataFatturaProvvisorio.before(maxDataFatturaStampa)){
String msg = messageBundle.getMessage("AlertMsgEsistonoFattureNuove") +
messageBundle.getMessage("AlertMsgPrimaFattura") + " "
+ DateUtility.formattaDataBreve(minDataFatturaProvvisorio) +
messageBundle.getMessage("AlertMsgNecessarioStornare");
throw new FatturaException(msg);
}
}
for(TestataFattura tf : listaDaContabilizzare){
Integer numeroProtocolloCalc = null;
if(!"".equals(StringUtility.checkNull(tf.getCodiceTipoProtocollo()).trim())){
TipoProtocollo tp = recuperaTipoProtocollo(tf.getCodiceTipoProtocollo(), tf.getCodiceSocietaVeicolo());
if(tp != null){
numeroProtocolloCalc = calcolaProtocollo(tf, tp, true, messageBundle);
if(tf.getNumeroProtocollo().compareTo(numeroProtocolloCalc) != 0){
String msg = messageBundle.getMessage("AlertMsgErratoProtocollo") + ": "
+ tf.getCodiceTipoProtocollo()
+ " " + messageBundle.getMessage("AlertMsgPerFattura")
+ tf.getNumeroFattura() + " del " + DateUtility.formattaDataBreve(tf.getDataFattura());
throw new FatturaException(msg);
}
}
}
if(tf.getDettagliFattura().size() > 0){
String tipoProtocolloPrec = "";
Integer numeroProtocolloPrec = null;
List<DettaglioFattura> dettagli = new ArrayList<DettaglioFattura>();
dettagli.addAll(tf.getDettagliFattura());
Collections.sort(dettagli, new OneFieldDirectionalNullComparator("ordineSezione", true));
for(DettaglioFattura df : dettagli){
if(!"".equals(StringUtility.checkNull(df.getCodiceTipoProtocollo()).trim())){
if(df.getCodiceTipoProtocollo().equals(StringUtility.checkNull(tf.getCodiceTipoProtocollo()))){
numeroProtocolloCalc = tf.getNumeroProtocollo();
}else if(df.getCodiceTipoProtocollo().equals(tipoProtocolloPrec)){
numeroProtocolloCalc= numeroProtocolloPrec;
}else{
TipoProtocollo tp = recuperaTipoProtocollo(df.getCodiceTipoProtocollo(), tf.getCodiceSocietaVeicolo());
if(tp != null){
numeroProtocolloCalc = calcolaProtocollo(tf, tp, true, messageBundle);
}else{
String msg = messageBundle.getMessage("AlertMsgImpossibileControllareProtocollo")
+ df.getCodiceTipoProtocollo() + ": "
+ messageBundle.getMessage("AlertMsgProtocolloInesistente");
throw new FatturaException(msg);
}
tipoProtocolloPrec = df.getCodiceTipoProtocollo();
numeroProtocolloPrec = df.getNumeroProtocollo();
}
if(df.getNumeroProtocollo().compareTo(numeroProtocolloCalc) != 0){
String msg = messageBundle.getMessage("AlertMsgErratoProtocollo") + ": "
+ tf.getCodiceTipoProtocollo()
+ " " + messageBundle.getMessage("AlertMsgRigaFattura")
+ tf.getNumeroFattura() + " del " + DateUtility.formattaDataBreve(tf.getDataFattura());
throw new FatturaException(msg);
}
}
}
}else{
String msg = "La " + messageBundle.getMessage("TextFattura").toLowerCase() + " "
+ tf.getNumeroFattura() + " "
+ messageBundle.getMessage("AlertMsgFatturaSenzaRighe") + "\n"
+ messageBundle.getMessage("AlertMsgImpossibileProseguire");
throw new FatturaException(msg);
}
}
}