Finish Feature-Iban
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
This commit is contained in:
@@ -9,6 +9,7 @@ import org.apache.logging.log4j.LogManager;
|
|||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.kie.api.definition.type.PropertyReactive;
|
import org.kie.api.definition.type.PropertyReactive;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -37,10 +38,10 @@ public class GtbAnagNote extends EntityBase {
|
|||||||
private String note;
|
private String note;
|
||||||
|
|
||||||
@SqlField(value = "data_ins", nullable = false, defaultObjectValue = CommonConstants.SYSDATE)
|
@SqlField(value = "data_ins", nullable = false, defaultObjectValue = CommonConstants.SYSDATE)
|
||||||
private Date dataIns;
|
private LocalDate dataIns;
|
||||||
|
|
||||||
@SqlField(value = "data_scad", format = CommonConstants.SYSDATE)
|
@SqlField(value = "data_scad", format = CommonConstants.SYSDATE)
|
||||||
private Date dataScad;
|
private LocalDate dataScad;
|
||||||
|
|
||||||
@SqlField(value = "flag_segn_scad", maxLength = 1, nullable = false, defaultObjectValue = "N")
|
@SqlField(value = "flag_segn_scad", maxLength = 1, nullable = false, defaultObjectValue = "N")
|
||||||
private String flagSegnScad;
|
private String flagSegnScad;
|
||||||
@@ -94,20 +95,20 @@ public class GtbAnagNote extends EntityBase {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getDataIns() {
|
public LocalDate getDataIns() {
|
||||||
return dataIns;
|
return dataIns;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GtbAnagNote setDataIns(Date dataIns) {
|
public GtbAnagNote setDataIns(LocalDate dataIns) {
|
||||||
this.dataIns = dataIns;
|
this.dataIns = dataIns;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getDataScad() {
|
public LocalDate getDataScad() {
|
||||||
return dataScad;
|
return dataScad;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GtbAnagNote setDataScad(Date dataScad) {
|
public GtbAnagNote setDataScad(LocalDate dataScad) {
|
||||||
this.dataScad = dataScad;
|
this.dataScad = dataScad;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -165,3 +165,13 @@ then
|
|||||||
String codVvet = AnagRules.completeCodVvet(conn, $vtbVett);
|
String codVvet = AnagRules.completeCodVvet(conn, $vtbVett);
|
||||||
modify ( $vtbVett ) { setCodVvet(codVvet) }
|
modify ( $vtbVett ) { setCodVvet(codVvet) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
rule "completeDataInsGtbAnagNote"
|
||||||
|
no-loop
|
||||||
|
when
|
||||||
|
eval(completeRulesEnabled)
|
||||||
|
$entity: GtbAnagNote(dataIns == null)
|
||||||
|
then
|
||||||
|
modify ( $entity ) { setDataIns(UtilityLocalDate.getNow()) }
|
||||||
|
end
|
||||||
@@ -180,7 +180,7 @@ public class PassiveInvoiceRecapObject {
|
|||||||
DettaglioPagamentoType dettPag =
|
DettaglioPagamentoType dettPag =
|
||||||
dati.getDettaglioPagamento().stream().filter(p -> p.getIBAN() != null).findFirst().orElse(null);
|
dati.getDettaglioPagamento().stream().filter(p -> p.getIBAN() != null).findFirst().orElse(null);
|
||||||
if (dettPag != null) {
|
if (dettPag != null) {
|
||||||
object.setIban(dettPag.getIBAN());
|
object.setIban(dettPag.getIBAN().toUpperCase());
|
||||||
//break;
|
//break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -153,7 +153,6 @@ public class PassiveInvoiceService {
|
|||||||
message = null;
|
message = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
//saveIbanForn(recapObject.getCodAnag(), recapObject.getIban());
|
|
||||||
saveAnagForn(recapObject);
|
saveAnagForn(recapObject);
|
||||||
|
|
||||||
String prefixDesc = String.format("[%s - %s]", recapObject.getCodAnag(), recapObject.getRagSoc());
|
String prefixDesc = String.format("[%s - %s]", recapObject.getCodAnag(), recapObject.getRagSoc());
|
||||||
@@ -176,7 +175,9 @@ public class PassiveInvoiceService {
|
|||||||
|
|
||||||
if (recapObject.getNumDoc() != null) {
|
if (recapObject.getNumDoc() != null) {
|
||||||
String iban = recapObject.getIban();
|
String iban = recapObject.getIban();
|
||||||
if (iban != null){iban.toUpperCase();}
|
if (iban != null) {
|
||||||
|
iban.toUpperCase();
|
||||||
|
}
|
||||||
additionalAttachmentInfo.put(DATA_DOC_KEY, recapObject.getDate());
|
additionalAttachmentInfo.put(DATA_DOC_KEY, recapObject.getDate());
|
||||||
additionalAttachmentInfo.put(NUM_DOC_KEY, recapObject.getNumDoc());
|
additionalAttachmentInfo.put(NUM_DOC_KEY, recapObject.getNumDoc());
|
||||||
additionalAttachmentInfo.put(TOT_DOC_KEY, recapObject.getTotDoc());
|
additionalAttachmentInfo.put(TOT_DOC_KEY, recapObject.getTotDoc());
|
||||||
@@ -188,10 +189,10 @@ public class PassiveInvoiceService {
|
|||||||
if (!recapObject.getScadenze().isEmpty()) {
|
if (!recapObject.getScadenze().isEmpty()) {
|
||||||
additionalAttachmentInfo.put(SCADENZE_KEY, recapObject.getScadenze());
|
additionalAttachmentInfo.put(SCADENZE_KEY, recapObject.getScadenze());
|
||||||
}
|
}
|
||||||
if (!recapObject.getIva().isEmpty()){
|
if (!recapObject.getIva().isEmpty()) {
|
||||||
additionalAttachmentInfo.put(CASTELLETTO_IVA_KEY, recapObject.getIva());
|
additionalAttachmentInfo.put(CASTELLETTO_IVA_KEY, recapObject.getIva());
|
||||||
}
|
}
|
||||||
if (!recapObject.getDdt().isEmpty()){
|
if (!recapObject.getDdt().isEmpty()) {
|
||||||
additionalAttachmentInfo.put(DDT_KEY, recapObject.getDdt());
|
additionalAttachmentInfo.put(DDT_KEY, recapObject.getDdt());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -260,7 +261,7 @@ public class PassiveInvoiceService {
|
|||||||
return dtbDocXml;
|
return dtbDocXml;
|
||||||
}).toList();
|
}).toList();
|
||||||
|
|
||||||
if(dtbDoxXmlList == null || dtbDoxXmlList.isEmpty()){
|
if (dtbDoxXmlList == null || dtbDoxXmlList.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -378,7 +379,7 @@ public class PassiveInvoiceService {
|
|||||||
Date dataDoc = UtilityHashMap.getValueIfExists(additionalInfo, DATA_DOC_KEY);
|
Date dataDoc = UtilityHashMap.getValueIfExists(additionalInfo, DATA_DOC_KEY);
|
||||||
String numDoc = UtilityHashMap.getValueIfExists(additionalInfo, NUM_DOC_KEY);
|
String numDoc = UtilityHashMap.getValueIfExists(additionalInfo, NUM_DOC_KEY);
|
||||||
|
|
||||||
if ( parentId == null ) {
|
if (parentId == null) {
|
||||||
String regexName = ".{0,}([A-Z]{2}[a-z,A-Z,0-9]{2,28}[_][a-z,A-Z,0-9]{1,5}).{0,}";
|
String regexName = ".{0,}([A-Z]{2}[a-z,A-Z,0-9]{2,28}[_][a-z,A-Z,0-9]{1,5}).{0,}";
|
||||||
Pattern pattern = Pattern.compile(regexName);
|
Pattern pattern = Pattern.compile(regexName);
|
||||||
Matcher matcher = pattern.matcher(description);
|
Matcher matcher = pattern.matcher(description);
|
||||||
@@ -433,7 +434,7 @@ public class PassiveInvoiceService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String iban = UtilityHashMap.<String>getValueIfExists(additionalInfo, IBAN_KEY);
|
String iban = UtilityHashMap.<String>getValueIfExists(additionalInfo, IBAN_KEY);
|
||||||
if ( iban != null ) {
|
if (iban != null) {
|
||||||
iban = iban.toUpperCase();
|
iban = iban.toUpperCase();
|
||||||
}
|
}
|
||||||
DtbFatturePassive fatturePassive = new DtbFatturePassive()
|
DtbFatturePassive fatturePassive = new DtbFatturePassive()
|
||||||
@@ -495,35 +496,20 @@ public class PassiveInvoiceService {
|
|||||||
return nextId;
|
return nextId;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveIbanForn(String codForn, String iban) throws Exception {
|
|
||||||
if (!UtilityString.isNullOrEmpty(codForn) && codForn.length() <= 5 && !UtilityString.isNullOrEmpty(iban)) {
|
|
||||||
GtbAnag gtbAnag = new GtbAnag();
|
|
||||||
gtbAnag.setCodAnag(codForn);
|
|
||||||
gtbAnag.setOperation(OperationType.NO_OP);
|
|
||||||
|
|
||||||
AtbForn atbForn = new AtbForn();
|
|
||||||
atbForn.setOperation(OperationType.UPDATE);
|
|
||||||
atbForn.setCodAnag(codForn);
|
|
||||||
atbForn.setIban(iban);
|
|
||||||
gtbAnag.setAtbForn(atbForn);
|
|
||||||
|
|
||||||
entityProcessor.processEntity(gtbAnag, true, multiDBTransactionManager);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void saveAnagForn(PassiveInvoiceRecapObject recapObject) throws Exception {
|
private void saveAnagForn(PassiveInvoiceRecapObject recapObject) throws Exception {
|
||||||
|
Boolean saveIban = setupGest.getSetupBoolean(multiDBTransactionManager.getPrimaryConnection(), "DATI_AZIENDA", "FATTURAZIONE_ELETTRONICA", "SALVA_IBAN_FORN");
|
||||||
if (UtilityString.isNullOrEmpty(recapObject.getCodAnag()) || recapObject.getCodAnag().equalsIgnoreCase(recapObject.getErrorCodAnag())) {
|
if (UtilityString.isNullOrEmpty(recapObject.getCodAnag()) || recapObject.getCodAnag().equalsIgnoreCase(recapObject.getErrorCodAnag())) {
|
||||||
GtbAnag gtbAnag = recapObject.getGtbAnag();
|
GtbAnag gtbAnag = recapObject.getGtbAnag();
|
||||||
gtbAnag.setOperation(OperationType.INSERT);
|
gtbAnag.setOperation(OperationType.INSERT);
|
||||||
AtbForn atbForn = new AtbForn();
|
AtbForn atbForn = new AtbForn();
|
||||||
atbForn.setOperation(OperationType.INSERT);
|
atbForn.setOperation(OperationType.INSERT);
|
||||||
atbForn.setIban(recapObject.getIban());
|
if (saveIban)
|
||||||
GtbAnagNote gtbAnagNote = new GtbAnagNote();
|
atbForn.setIban(recapObject.getIban());
|
||||||
gtbAnagNote.setTipoNote("CODIFICA_AUTOMATICA");
|
GtbAnagNote gtbAnagNote = new GtbAnagNote()
|
||||||
gtbAnagNote.setNote("Codice Anagrafico codificato automaticamente, verifiare che i dati siano completi");
|
.setTipoNote("CODIFICA_AUTOMATICA")
|
||||||
gtbAnagNote.setFlagSegnCmov("S");
|
.setNote("Codice Anagrafico codificato automaticamente, verifiare che i dati siano completi")
|
||||||
gtbAnagNote.setFlagSegnScad("S");
|
.setFlagSegnCmov("S")
|
||||||
gtbAnagNote.setDataIns(new Date());
|
.setFlagSegnScad("S");
|
||||||
gtbAnag.getGtbAnagNote().add(gtbAnagNote);
|
gtbAnag.getGtbAnagNote().add(gtbAnagNote);
|
||||||
gtbAnag.setAtbForn(atbForn);
|
gtbAnag.setAtbForn(atbForn);
|
||||||
|
|
||||||
@@ -548,19 +534,19 @@ public class PassiveInvoiceService {
|
|||||||
throw new Exception("Il file selezionato non contiene la partita iva di quest'azienda");
|
throw new Exception("Il file selezionato non contiene la partita iva di quest'azienda");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for(FatturePassiveCsvDTO f: fatturePassiveCsvDTOS) {
|
for (FatturePassiveCsvDTO f : fatturePassiveCsvDTOS) {
|
||||||
String partIvaForn = f.getPartitaIvaFornitore().replace("'","");
|
String partIvaForn = f.getPartitaIvaFornitore().replace("'", "");
|
||||||
String numFattura = f.getNumFattura().replace("'", "");
|
String numFattura = f.getNumFattura().replace("'", "");
|
||||||
Date dataDoc = f.getDataEmissione();
|
Date dataDoc = f.getDataEmissione();
|
||||||
String progressivoSdi = f.getSdi().replace("'", "");
|
String progressivoSdi = f.getSdi().replace("'", "");
|
||||||
|
|
||||||
String sql = Query.format(
|
String sql = Query.format(
|
||||||
"SELECT CAST(COUNT(*) AS BIT)\n" +
|
"SELECT CAST(COUNT(*) AS BIT)\n" +
|
||||||
"FROM dtb_fatture_passive\n" +
|
"FROM dtb_fatture_passive\n" +
|
||||||
"WHERE part_iva = %s\n" +
|
"WHERE part_iva = %s\n" +
|
||||||
" AND num_doc = %s\n" +
|
" AND num_doc = %s\n" +
|
||||||
" AND data_doc = %s\n" +
|
" AND data_doc = %s\n" +
|
||||||
" AND identificativo_sdi = %S",
|
" AND identificativo_sdi = %S",
|
||||||
partIvaForn,
|
partIvaForn,
|
||||||
numFattura,
|
numFattura,
|
||||||
dataDoc,
|
dataDoc,
|
||||||
@@ -571,12 +557,12 @@ public class PassiveInvoiceService {
|
|||||||
if (!existDoc) {
|
if (!existDoc) {
|
||||||
anomalie.add(AnomalieDTO.error(
|
anomalie.add(AnomalieDTO.error(
|
||||||
String.format("%s n. %s del %s fornitore: %s progressivo sdi: %s non presente nel sistema.",
|
String.format("%s n. %s del %s fornitore: %s progressivo sdi: %s non presente nel sistema.",
|
||||||
f.getTipoDocumento().replace("'", ""),
|
f.getTipoDocumento().replace("'", ""),
|
||||||
numFattura,
|
numFattura,
|
||||||
new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(dataDoc),
|
new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(dataDoc),
|
||||||
f.getDenominazioneFornitore().replace("'", ""),
|
f.getDenominazioneFornitore().replace("'", ""),
|
||||||
progressivoSdi)
|
progressivoSdi)
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user