varie: steup, invio variazioni, controllo resi
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.IntegryCustomerDB;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20241022134530 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
createSetup("PVM", "DOC_INTERNI", "DAYS_TO_EXP", null,
|
||||
"Giorni da utilizzare per considerare l'articolo scaduto", false, null, false, false,
|
||||
false, false, false, null, false, null);
|
||||
|
||||
if (isCustomerDb(IntegryCustomerDB.Carelli_Carelli) || isCustomerDb(IntegryCustomerDB.Carelli_GestFood) || isCustomerDb(IntegryCustomerDB.Carelli_Panimal))
|
||||
updateSetupValue("PVM", "DOC_INTERNI", "DAYS_TO_EXP", "5");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20241022151650 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
deleteSetup("w_marti_rc", "SETUP", "RICHIEDI_DATA_VAR");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -853,7 +853,8 @@ public class SteUPService {
|
||||
sql = UtilityDB.addwhereCond(sql, whereCond, false);
|
||||
} else if (activityTypeId.equalsIgnoreCase(tipoAttivitaRotturaStock)) {
|
||||
if (repartiFreschi.contains(codJfas)) {
|
||||
sql = "Select cod_mart,descrizione,bar_code as barcode,cod_msgr from steup_getGrigliaVendita(" + UtilityDB.valueToString(codMdep) + "," + UtilityDB.valueToString(codJfas) + ")";
|
||||
sql = "Select cod_mart,descrizione,bar_code as barcode,cod_msgr " +
|
||||
" from steup_getGrigliaVendita(" + UtilityDB.valueToString(codMdep) + "," + UtilityDB.valueToString(codJfas) + ") order by descrizione";
|
||||
} else if (chkRotturaStock) {
|
||||
sql = "SELECT cod_mart,descrizione,bar_code as barcode,cod_msgr\n" +
|
||||
"FROM steup_getAssortimento(" + UtilityDB.valueToString(codMdep) + "," + UtilityDB.valueToString(codJfas) + ", " + UtilityDB.valueToString(dataCreation) +") art\n" +
|
||||
|
||||
@@ -90,188 +90,190 @@ public class OlioProductionService {
|
||||
Short segnoDoc = (Short) datiDoc.get("segno_doc");
|
||||
|
||||
List<DtbDocr> righeDoc = new ArrayList<>();
|
||||
for (OlioProductionDTO.RigaMov riga : olioProductionDTO.getRigaMov()) {
|
||||
String posizione = riga.getPosturaFine().getPosizione();
|
||||
if ( olioProductionDTO.getRigaMov() != null && !olioProductionDTO.getRigaMov().isEmpty() ) {
|
||||
for (OlioProductionDTO.RigaMov riga : olioProductionDTO.getRigaMov()) {
|
||||
String posizione = riga.getPosturaFine().getPosizione();
|
||||
|
||||
if (UtilityString.isNullOrEmpty(posizione)) {
|
||||
throw new Exception("Attenzione non è stata definita la posizione sulla movimentaizone dell'articolo " + riga.getPosturaFine().getCodMart() + ".");
|
||||
}
|
||||
|
||||
DtbDocr dtbDocr = (DtbDocr) riga.getPosturaDa().clone();
|
||||
if (UtilityString.isNullOrEmpty(dtbDocr.getPosizione())) {
|
||||
dtbDocr.setPosizione(posizione);
|
||||
}
|
||||
|
||||
String partitaMagDoc = dtbDocr.getPartitaMag();
|
||||
if (UtilityString.isNullOrEmpty(partitaMagDoc)) {
|
||||
String descrPartita = null;
|
||||
if (setDescrPartita) {
|
||||
descrPartita =
|
||||
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(),
|
||||
Query.format(
|
||||
"SELECT rag_soc FROM gtb_anag WHERE cod_anag = %s",
|
||||
dtbDoct.getCodAnag()));
|
||||
if (UtilityString.isNullOrEmpty(posizione)) {
|
||||
throw new Exception("Attenzione non è stata definita la posizione sulla movimentaizone dell'articolo " + riga.getPosturaFine().getCodMart() + ".");
|
||||
}
|
||||
Optional<MtbPartitaMag> optP =
|
||||
Stream.of(entityList)
|
||||
.filter(x -> x instanceof MtbPartitaMag)
|
||||
.map(x -> new MtbPartitaMag().setCodMart(((MtbPartitaMag) x).getCodMart())
|
||||
.setPartitaMag(((MtbPartitaMag) x).getPartitaMag())
|
||||
).filter(x -> x.getCodMart().equalsIgnoreCase(dtbDocr.getCodMart())).findFirst();
|
||||
|
||||
if (optP.isEmpty()) {
|
||||
DatiPartitaMagDTO partitaMagDto =
|
||||
new DatiPartitaMagDTO()
|
||||
.setCodAnag(codAnag)
|
||||
.setCodMart(dtbDocr.getCodMart())
|
||||
.setGestione(gestione);
|
||||
partitaMagDoc = PartitaMagRules.suggestCodePartitaMag(multiDBTransactionManager.getPrimaryConnection(), partitaMagDto);
|
||||
MtbPartitaMag mtbPartitaMag =
|
||||
new MtbPartitaMag()
|
||||
.setCodMart(dtbDocr.getCodMart())
|
||||
.setPartitaMag(partitaMagDoc)
|
||||
.setDataIns(dtbDoct.getDataReg())
|
||||
.setDescrizione(descrPartita);
|
||||
mtbPartitaMag.setOperation(OperationType.INSERT);
|
||||
|
||||
entityList.add(mtbPartitaMag);
|
||||
} else {
|
||||
partitaMagDoc = optP.get().getPartitaMag();
|
||||
DtbDocr dtbDocr = (DtbDocr) riga.getPosturaDa().clone();
|
||||
if (UtilityString.isNullOrEmpty(dtbDocr.getPosizione())) {
|
||||
dtbDocr.setPosizione(posizione);
|
||||
}
|
||||
dtbDocr.setPartitaMag(partitaMagDoc);
|
||||
|
||||
String partitaMagDoc = dtbDocr.getPartitaMag();
|
||||
if (UtilityString.isNullOrEmpty(partitaMagDoc)) {
|
||||
String descrPartita = null;
|
||||
if (setDescrPartita) {
|
||||
descrPartita =
|
||||
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(),
|
||||
Query.format(
|
||||
"SELECT rag_soc FROM gtb_anag WHERE cod_anag = %s",
|
||||
dtbDoct.getCodAnag()));
|
||||
}
|
||||
Optional<MtbPartitaMag> optP =
|
||||
Stream.of(entityList)
|
||||
.filter(x -> x instanceof MtbPartitaMag)
|
||||
.map(x -> new MtbPartitaMag().setCodMart(((MtbPartitaMag) x).getCodMart())
|
||||
.setPartitaMag(((MtbPartitaMag) x).getPartitaMag())
|
||||
).filter(x -> x.getCodMart().equalsIgnoreCase(dtbDocr.getCodMart())).findFirst();
|
||||
|
||||
} else if (UtilityString.isNullOrEmpty(partitaMagDoc)) {
|
||||
throw new Exception("Attenzione inserire la partita di magazzino sull'articolo " + dtbDocr.getCodMart());
|
||||
}
|
||||
if (optP.isEmpty()) {
|
||||
DatiPartitaMagDTO partitaMagDto =
|
||||
new DatiPartitaMagDTO()
|
||||
.setCodAnag(codAnag)
|
||||
.setCodMart(dtbDocr.getCodMart())
|
||||
.setGestione(gestione);
|
||||
partitaMagDoc = PartitaMagRules.suggestCodePartitaMag(multiDBTransactionManager.getPrimaryConnection(), partitaMagDto);
|
||||
MtbPartitaMag mtbPartitaMag =
|
||||
new MtbPartitaMag()
|
||||
.setCodMart(dtbDocr.getCodMart())
|
||||
.setPartitaMag(partitaMagDoc)
|
||||
.setDataIns(dtbDoct.getDataReg())
|
||||
.setDescrizione(descrPartita);
|
||||
mtbPartitaMag.setOperation(OperationType.INSERT);
|
||||
|
||||
dtbDocr.setOperation(OperationType.INSERT);
|
||||
righeDoc.add(dtbDocr);
|
||||
|
||||
String partitaMagNew = riga.getPosturaFine().getPartitaMag();
|
||||
if (UtilityString.isNullOrEmpty(partitaMagNew)) {
|
||||
Optional<MtbPartitaMag> optPartitaPosizione =
|
||||
Stream.of(entityList)
|
||||
.filter(x -> x instanceof MtbPartitaMag)
|
||||
.map(x -> {
|
||||
MtbPartitaMag partita = new MtbPartitaMag()
|
||||
.setCodMart(((MtbPartitaMag) x).getCodMart())
|
||||
.setPartitaMag(((MtbPartitaMag) x).getPartitaMag())
|
||||
.setPosizione(((MtbPartitaMag) x).getPosizione());
|
||||
return partita;
|
||||
}
|
||||
)
|
||||
.filter(x -> UtilityString.equalsIgnoreCase(x.getPosizione(), riga.getPosturaFine().getPosizione()))
|
||||
.findFirst();
|
||||
if (optPartitaPosizione.isEmpty()) {
|
||||
String codMartIniz = null, partitaMagIniz = null;
|
||||
if (riga.getPosturaA() != null) {
|
||||
codMartIniz = riga.getPosturaA().getCodMart();
|
||||
entityList.add(mtbPartitaMag);
|
||||
} else {
|
||||
codMartIniz = null;
|
||||
partitaMagDoc = optP.get().getPartitaMag();
|
||||
}
|
||||
dtbDocr.setPartitaMag(partitaMagDoc);
|
||||
|
||||
|
||||
} else if (UtilityString.isNullOrEmpty(partitaMagDoc)) {
|
||||
throw new Exception("Attenzione inserire la partita di magazzino sull'articolo " + dtbDocr.getCodMart());
|
||||
}
|
||||
|
||||
dtbDocr.setOperation(OperationType.INSERT);
|
||||
righeDoc.add(dtbDocr);
|
||||
|
||||
String partitaMagNew = riga.getPosturaFine().getPartitaMag();
|
||||
if (UtilityString.isNullOrEmpty(partitaMagNew)) {
|
||||
Optional<MtbPartitaMag> optPartitaPosizione =
|
||||
Stream.of(entityList)
|
||||
.filter(x -> x instanceof MtbPartitaMag)
|
||||
.map(x -> {
|
||||
MtbPartitaMag partita = new MtbPartitaMag()
|
||||
.setCodMart(((MtbPartitaMag) x).getCodMart())
|
||||
.setPartitaMag(((MtbPartitaMag) x).getPartitaMag())
|
||||
.setPosizione(((MtbPartitaMag) x).getPosizione());
|
||||
return partita;
|
||||
}
|
||||
)
|
||||
.filter(x -> UtilityString.equalsIgnoreCase(x.getPosizione(), riga.getPosturaFine().getPosizione()))
|
||||
.findFirst();
|
||||
if (optPartitaPosizione.isEmpty()) {
|
||||
String codMartIniz = null, partitaMagIniz = null;
|
||||
if (riga.getPosturaA() != null) {
|
||||
codMartIniz = riga.getPosturaA().getCodMart();
|
||||
} else {
|
||||
codMartIniz = null;
|
||||
}
|
||||
if (riga.getPosturaA() != null) {
|
||||
partitaMagIniz = riga.getPosturaA().getPartitaMag();
|
||||
} else {
|
||||
partitaMagIniz = null;
|
||||
}
|
||||
MtbPartitaMag mtbPartitaMag = checkPartitaMag(codMartIniz,
|
||||
partitaMagIniz,
|
||||
riga.getPosturaFine().getCodMart(),
|
||||
dtbDocr.getPosizione(),
|
||||
dtbDoct.getDataReg(),
|
||||
assegneLottoNuovo,
|
||||
segnoDoc);
|
||||
partitaMagNew = mtbPartitaMag.getPartitaMag();
|
||||
|
||||
sql =
|
||||
"SELECT * " +
|
||||
" FROM mtb_partita_mag_carat " +
|
||||
" WHERE cod_mart = " + UtilityDB.valueToString(dtbDocr.getCodMart()) + " AND " +
|
||||
"partita_mag = " + UtilityDB.valueToString(dtbDocr.getPartitaMag());
|
||||
|
||||
ResultSetMapper mapperCarat = new ResultSetMapper();
|
||||
List<MtbPartitaMagCarat> carat = mapperCarat.mapQuerySetToList(multiDBTransactionManager.getPrimaryConnection(), sql, MtbPartitaMagCarat.class);
|
||||
|
||||
mtbPartitaMag.setMtbPartitaMagCarat(carat);
|
||||
|
||||
entityList.add(mtbPartitaMag);
|
||||
} else {
|
||||
partitaMagNew = optPartitaPosizione.get().getPartitaMag();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//CREAZIONE DOCUMENTO DI SCARICO VECCHIO ARTICOLI LOTTO
|
||||
StbActivity stbActivityRow = createStbAcvitity(setup.get("TIPO_ATTIVITA_MOV"), idAttivita);
|
||||
String idAttivitaRow = stbActivityRow.getActivityId();
|
||||
entityList.add(stbActivityRow);
|
||||
|
||||
dtbDocr.setActivityIdRow(idAttivitaRow);
|
||||
|
||||
sql =
|
||||
"SELECT Cast(case when olvw_caratteristiche.Confezionato = 'S' THEN 1 ELSE 0 END as bit ) " +
|
||||
" FROM olvw_caratteristiche " +
|
||||
" WHERE olvw_caratteristiche.cod_mart = " + UtilityDB.valueToString(dtbDocr.getCodMart());
|
||||
|
||||
|
||||
Boolean isConfezionato = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
BigDecimal qtaDoc = riga.getPosturaFine().getQtaDoc();
|
||||
if (isConfezionato) {
|
||||
qtaDoc = riga.getPosturaFine().getQtaDoc().subtract(riga.getPosturaA().getQtaDoc());
|
||||
}
|
||||
|
||||
if (riga.getPosturaA() != null || segnoDoc > 0) {
|
||||
String codDtipScar = getCodDtipScar(setup);
|
||||
DtbDoct dtbDoctScar = new DtbDoct();
|
||||
dtbDoctScar.setActivityId(idAttivitaRow);
|
||||
dtbDoctScar.setDataReg(dtbDoct.getDataReg());
|
||||
dtbDoctScar.setDataDoc(dtbDoct.getDataReg());
|
||||
dtbDoctScar.setCodDtip(codDtipScar);
|
||||
dtbDoctScar.setCodAnag(codAnag);
|
||||
dtbDoctScar.setCodVdes(codVdes);
|
||||
dtbDoctScar.setCodMdep(dtbDoct.getCodMdep());
|
||||
dtbDoctScar.setCodProd(riga.getPosturaFine().getCodMart());
|
||||
dtbDoctScar.setPartitaMag(partitaMagNew);
|
||||
|
||||
dtbDoctScar.setQtaProd(qtaDoc);
|
||||
dtbDoctScar.setOperation(OperationType.INSERT);
|
||||
|
||||
DtbDocr dtbDocrScar = null;
|
||||
if (segnoDoc > 0) {
|
||||
dtbDocrScar = (DtbDocr) riga.getPosturaDa().clone();
|
||||
dtbDocrScar.setPartitaMag(partitaMagDoc);
|
||||
dtbDoctScar.getDtbDocr().add(dtbDocrScar);
|
||||
}
|
||||
if (riga.getPosturaA() != null) {
|
||||
partitaMagIniz = riga.getPosturaA().getPartitaMag();
|
||||
} else {
|
||||
partitaMagIniz = null;
|
||||
dtbDocrScar = (DtbDocr) riga.getPosturaA().clone();
|
||||
dtbDoctScar.getDtbDocr().add(dtbDocrScar);
|
||||
}
|
||||
MtbPartitaMag mtbPartitaMag = checkPartitaMag(codMartIniz,
|
||||
partitaMagIniz,
|
||||
riga.getPosturaFine().getCodMart(),
|
||||
dtbDocr.getPosizione(),
|
||||
dtbDoct.getDataReg(),
|
||||
assegneLottoNuovo,
|
||||
segnoDoc);
|
||||
partitaMagNew = mtbPartitaMag.getPartitaMag();
|
||||
entityList.add(dtbDoctScar);
|
||||
|
||||
sql =
|
||||
"SELECT * " +
|
||||
" FROM mtb_partita_mag_carat " +
|
||||
" WHERE cod_mart = " + UtilityDB.valueToString(dtbDocr.getCodMart()) + " AND " +
|
||||
"partita_mag = " + UtilityDB.valueToString(dtbDocr.getPartitaMag());
|
||||
|
||||
ResultSetMapper mapperCarat = new ResultSetMapper();
|
||||
List<MtbPartitaMagCarat> carat = mapperCarat.mapQuerySetToList(multiDBTransactionManager.getPrimaryConnection(), sql, MtbPartitaMagCarat.class);
|
||||
|
||||
mtbPartitaMag.setMtbPartitaMagCarat(carat);
|
||||
|
||||
entityList.add(mtbPartitaMag);
|
||||
} else {
|
||||
partitaMagNew = optPartitaPosizione.get().getPartitaMag();
|
||||
}
|
||||
|
||||
//CREAZIONE DOCUMENTO DI CARICO NUOVO ARTICOLO LOTTO
|
||||
String codDtipCar = getCodDtipCar(setup);
|
||||
DtbDoct dtbDoctCar = new DtbDoct();
|
||||
dtbDoctCar.setActivityId(idAttivitaRow);
|
||||
dtbDoctCar.setDataReg(dtbDoct.getDataReg());
|
||||
dtbDoctCar.setDataDoc(dtbDoct.getDataReg());
|
||||
dtbDoctCar.setCodDtip(codDtipCar);
|
||||
dtbDoctCar.setCodAnag(codAnag);
|
||||
dtbDoctCar.setCodVdes(codVdes);
|
||||
dtbDoctCar.setCodMdep(dtbDoct.getCodMdep());
|
||||
dtbDoctCar.setCodProd(riga.getPosturaFine().getCodMart());
|
||||
dtbDoctCar.setPartitaMag(partitaMagNew);
|
||||
dtbDoctCar.setQtaProd(qtaDoc);
|
||||
dtbDoctCar.setOperation(OperationType.INSERT);
|
||||
|
||||
DtbDocr dtbDocrCar = (DtbDocr) riga.getPosturaFine().clone();
|
||||
dtbDocrCar.setPartitaMag(partitaMagNew);
|
||||
dtbDoctCar.getDtbDocr().add(dtbDocrCar);
|
||||
entityList.add(dtbDoctCar);
|
||||
}
|
||||
|
||||
//CREAZIONE DOCUMENTO DI SCARICO VECCHIO ARTICOLI LOTTO
|
||||
StbActivity stbActivityRow = createStbAcvitity(setup.get("TIPO_ATTIVITA_MOV"), idAttivita);
|
||||
String idAttivitaRow = stbActivityRow.getActivityId();
|
||||
entityList.add(stbActivityRow);
|
||||
|
||||
dtbDocr.setActivityIdRow(idAttivitaRow);
|
||||
|
||||
sql =
|
||||
"SELECT Cast(case when olvw_caratteristiche.Confezionato = 'S' THEN 1 ELSE 0 END as bit ) " +
|
||||
" FROM olvw_caratteristiche " +
|
||||
" WHERE olvw_caratteristiche.cod_mart = " + UtilityDB.valueToString(dtbDocr.getCodMart());
|
||||
|
||||
|
||||
Boolean isConfezionato = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
BigDecimal qtaDoc = riga.getPosturaFine().getQtaDoc();
|
||||
if (isConfezionato) {
|
||||
qtaDoc = riga.getPosturaFine().getQtaDoc().subtract(riga.getPosturaA().getQtaDoc());
|
||||
}
|
||||
|
||||
if (riga.getPosturaA() != null || segnoDoc > 0) {
|
||||
String codDtipScar = getCodDtipScar(setup);
|
||||
DtbDoct dtbDoctScar = new DtbDoct();
|
||||
dtbDoctScar.setActivityId(idAttivitaRow);
|
||||
dtbDoctScar.setDataReg(dtbDoct.getDataReg());
|
||||
dtbDoctScar.setDataDoc(dtbDoct.getDataReg());
|
||||
dtbDoctScar.setCodDtip(codDtipScar);
|
||||
dtbDoctScar.setCodAnag(codAnag);
|
||||
dtbDoctScar.setCodVdes(codVdes);
|
||||
dtbDoctScar.setCodMdep(dtbDoct.getCodMdep());
|
||||
dtbDoctScar.setCodProd(riga.getPosturaFine().getCodMart());
|
||||
dtbDoctScar.setPartitaMag(partitaMagNew);
|
||||
|
||||
dtbDoctScar.setQtaProd(qtaDoc);
|
||||
dtbDoctScar.setOperation(OperationType.INSERT);
|
||||
|
||||
DtbDocr dtbDocrScar = null;
|
||||
if (segnoDoc > 0) {
|
||||
dtbDocrScar = (DtbDocr) riga.getPosturaDa().clone();
|
||||
dtbDocrScar.setPartitaMag(partitaMagDoc);
|
||||
dtbDoctScar.getDtbDocr().add(dtbDocrScar);
|
||||
}
|
||||
if (riga.getPosturaA() != null) {
|
||||
dtbDocrScar = (DtbDocr) riga.getPosturaA().clone();
|
||||
dtbDoctScar.getDtbDocr().add(dtbDocrScar);
|
||||
}
|
||||
entityList.add(dtbDoctScar);
|
||||
|
||||
}
|
||||
|
||||
//CREAZIONE DOCUMENTO DI CARICO NUOVO ARTICOLO LOTTO
|
||||
String codDtipCar = getCodDtipCar(setup);
|
||||
DtbDoct dtbDoctCar = new DtbDoct();
|
||||
dtbDoctCar.setActivityId(idAttivitaRow);
|
||||
dtbDoctCar.setDataReg(dtbDoct.getDataReg());
|
||||
dtbDoctCar.setDataDoc(dtbDoct.getDataReg());
|
||||
dtbDoctCar.setCodDtip(codDtipCar);
|
||||
dtbDoctCar.setCodAnag(codAnag);
|
||||
dtbDoctCar.setCodVdes(codVdes);
|
||||
dtbDoctCar.setCodMdep(dtbDoct.getCodMdep());
|
||||
dtbDoctCar.setCodProd(riga.getPosturaFine().getCodMart());
|
||||
dtbDoctCar.setPartitaMag(partitaMagNew);
|
||||
dtbDoctCar.setQtaProd(qtaDoc);
|
||||
dtbDoctCar.setOperation(OperationType.INSERT);
|
||||
|
||||
DtbDocr dtbDocrCar = (DtbDocr) riga.getPosturaFine().clone();
|
||||
dtbDocrCar.setPartitaMag(partitaMagNew);
|
||||
dtbDoctCar.getDtbDocr().add(dtbDocrCar);
|
||||
entityList.add(dtbDoctCar);
|
||||
dtbDoct.setDtbDocr(righeDoc);
|
||||
}
|
||||
dtbDoct.setDtbDocr(righeDoc);
|
||||
entityList.add(dtbDoct);
|
||||
} else {
|
||||
String whereCondDoc =
|
||||
|
||||
@@ -726,19 +726,19 @@ public class VariazioniPvService {
|
||||
" 'A' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS cod_mart_new\n" +
|
||||
" FROM mtb_aart\n" +
|
||||
" WHERE mtb_aart.data_ult_var = '[DATA_VALIDITA]'\n" +
|
||||
" WHERE mtb_aart.data_ult_var BETWEEN dateAdd( day, -1, '[DATA_VALIDITA]') AND '[DATA_VALIDITA]'\n" +
|
||||
" UNION\n" +
|
||||
" SELECT jtb_cicl.cod_prod,\n" +
|
||||
" 'A' AS tipo_variazione,\n" +
|
||||
" CONVERT(VARCHAR(15), NULL) AS cod_mart_new\n" +
|
||||
" FROM jtb_cicl\n" +
|
||||
" WHERE jtb_cicl.data_ult_var = '[DATA_VALIDITA]'\n" +
|
||||
" WHERE jtb_cicl.data_ult_var BETWEEN dateAdd( day, -1, '[DATA_VALIDITA]') AND '[DATA_VALIDITA]'\n" +
|
||||
" UNION\n" +
|
||||
" SELECT mtb_cambio_art.codice_nuovo,\n" +
|
||||
" 'C' AS tipo_variazione,\n" +
|
||||
" mtb_cambio_art.codice_vecchio\n" +
|
||||
" FROM mtb_cambio_art\n" +
|
||||
" WHERE CAST(mtb_cambio_art.dataora_cambio AS DATE) = '[DATA_VALIDITA]') art\n" +
|
||||
" WHERE CAST(mtb_cambio_art.dataora_cambio AS DATE) BETWEEN dateAdd( day, -1, '[DATA_VALIDITA]') AND '[DATA_VALIDITA]') art\n" +
|
||||
" INNER JOIN (SELECT vtb_list.cod_vlis AS cod_vlis,\n" +
|
||||
" mtb_lisv.cod_mart\n" +
|
||||
" FROM vtb_list\n" +
|
||||
@@ -813,7 +813,6 @@ public class VariazioniPvService {
|
||||
"Convert(varchar(1), max(assortimento.fine_promo)) as fine_promo\n " +
|
||||
" FROM (\n" + queryAssortimento + "\n) assortimento inner join mtb_aart on assortimento.cod_mart = mtb_aart.cod_mart\n " +
|
||||
" WHERE mtb_aart.flag_incl_listino = 'S' AND\n " +
|
||||
"mtb_aart.flag_stato = 'A' AND\n " +
|
||||
" EXISTS ( SELECT cod_barre from mvw_barcode WHERE mvw_barcode.cod_mart = mtb_aart.cod_mart )\n " +
|
||||
(UtilityString.isNullOrEmpty(whereCond) ? "" : " AND " + whereCond) +
|
||||
(UtilityString.isNullOrEmpty(filtroMenu) ? "" : " AND " + filtroMenu) +
|
||||
|
||||
@@ -2684,6 +2684,8 @@ public class PvmService {
|
||||
}
|
||||
|
||||
if (chkTracciabilita) {
|
||||
String gg = setupGest.getSetup("PVM", "DOC_INTERNI", "DAYS_TO_EXP");
|
||||
|
||||
sql =
|
||||
Query.format(
|
||||
"WITH " +
|
||||
@@ -2810,9 +2812,16 @@ public class PvmService {
|
||||
continue;
|
||||
}
|
||||
/*valutare se creare una setup per riconoscere DDTEC*/
|
||||
if (UtilityDate.DaysAfter(dataScad, UtilityDate.getTodayWithoutTime()) > 0 && codDtip.equalsIgnoreCase("DDTEC")) {
|
||||
anomalieResiDTO.add(setAnomalia(anomalieResiDTO, codMart, dataScad, "Impossibile effetture un reso di in articolo già scaduto."));
|
||||
continue;
|
||||
if (codDtip.equalsIgnoreCase("DDTEC")) {
|
||||
if (UtilityDate.DaysAfter(dataScad, UtilityDate.getTodayWithoutTime()) > 0 ) {
|
||||
anomalieResiDTO.add(setAnomalia(anomalieResiDTO, codMart, dataScad, "Impossibile effetture un reso di un articolo già scaduto."));
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(gg) && UtilityDate.DaysAfter(dataScad, UtilityDate.dateAdd(Calendar.DATE, Integer.parseInt(gg), UtilityDate.getTodayWithoutTime())) > 0 ) {
|
||||
anomalieResiDTO.add(setAnomalia(anomalieResiDTO, codMart, dataScad, "Impossibile effetture un reso di un articolo sotto scadenza."));
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (UtilityDate.DaysAfter(dataScad, UtilityDate.getTodayWithoutTime()) > 15) {
|
||||
|
||||
Reference in New Issue
Block a user