Divise le righe in gruppi
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package it.integry.ems.product.importaz.service;
|
package it.integry.ems.product.importaz.service;
|
||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
import it.integry.WooCommerce.dto.product.TextTilesBatchUpdateRequest;
|
||||||
import it.integry.common.var.CommonConstants;
|
import it.integry.common.var.CommonConstants;
|
||||||
import it.integry.ems.Import.dto.ImportRequestDTO;
|
import it.integry.ems.Import.dto.ImportRequestDTO;
|
||||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||||
@@ -14,6 +15,7 @@ import it.integry.ems_model.entity.MtbLisaData;
|
|||||||
import it.integry.ems_model.service.SetupGest;
|
import it.integry.ems_model.service.SetupGest;
|
||||||
import it.integry.ems_model.types.OperationType;
|
import it.integry.ems_model.types.OperationType;
|
||||||
import it.integry.ems_model.types.TypeDbObject;
|
import it.integry.ems_model.types.TypeDbObject;
|
||||||
|
import it.integry.ems_model.utility.UtilityBigDecimal;
|
||||||
import it.integry.ems_model.utility.UtilityDB;
|
import it.integry.ems_model.utility.UtilityDB;
|
||||||
import it.integry.ems_model.utility.UtilityHashMap;
|
import it.integry.ems_model.utility.UtilityHashMap;
|
||||||
import it.integry.ems_model.utility.UtilityString;
|
import it.integry.ems_model.utility.UtilityString;
|
||||||
@@ -28,6 +30,7 @@ import java.sql.PreparedStatement;
|
|||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Scope("request")
|
@Scope("request")
|
||||||
@@ -71,7 +74,7 @@ public class ImportListiniAcquistoApuliaCarrefourService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Date dataInizVarizioni = UtilityString.parseDate(setup.get("DATA_INIZ_VARIAZIONI"));
|
Date dataInizVarizioni = UtilityString.parseDate(setup.get("DATA_INIZ_VARIAZIONI"));
|
||||||
importFileCsv(conn, pathFile, type, format, setup);
|
// importFileCsv(conn, pathFile, type, format, setup);
|
||||||
|
|
||||||
//INSERIMENTO TESTATE
|
//INSERIMENTO TESTATE
|
||||||
List<EntityBase> entityList = new ArrayList<>();
|
List<EntityBase> entityList = new ArrayList<>();
|
||||||
@@ -341,7 +344,28 @@ public class ImportListiniAcquistoApuliaCarrefourService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (entityList.size() > 0) {
|
if (entityList.size() > 0) {
|
||||||
entityList = importAnagListiniService.importAnagListinoAcq(entityList, "V", null, null, false, false);
|
Stream.of(entityList).filter(x -> x instanceof MtbLisaData)
|
||||||
|
.forEach(
|
||||||
|
x -> ((MtbLisaData) x)
|
||||||
|
.setPrzVenSug(UtilityBigDecimal.isNull(((MtbLisaData) x).getPrzVenSug(), BigDecimal.ZERO))
|
||||||
|
.setPerc1(BigDecimal.ZERO)
|
||||||
|
.setPerc2(BigDecimal.ZERO)
|
||||||
|
.setPerc3(BigDecimal.ZERO)
|
||||||
|
.setPerc4(BigDecimal.ZERO)
|
||||||
|
.setPercOneri(UtilityBigDecimal.isNull(((MtbLisaData) x).getPercOneri(), BigDecimal.ZERO))
|
||||||
|
.setValOneri(UtilityBigDecimal.isNull(((MtbLisaData) x).getValOneri(), BigDecimal.ZERO))
|
||||||
|
.setPercPromo(UtilityBigDecimal.isNull(((MtbLisaData) x).getPercPromo(), BigDecimal.ZERO))
|
||||||
|
.setValPromo(UtilityBigDecimal.isNull(((MtbLisaData) x).getValPromo(), BigDecimal.ZERO))
|
||||||
|
);
|
||||||
|
|
||||||
|
int limitArt = 1000;
|
||||||
|
AtomicInteger counter = new AtomicInteger();
|
||||||
|
List<List<EntityBase>> list = Stream.of(entityList)
|
||||||
|
.chunkBy(x -> counter.getAndIncrement() / limitArt).toList();
|
||||||
|
List<EntityBase> entityRet = new ArrayList<>();
|
||||||
|
for (List<EntityBase> e : list) {
|
||||||
|
entityRet.addAll(importAnagListiniService.importAnagListinoAcq(e, "V", null, null, false, false));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new Exception("Non ci sono listini da aggiornare");
|
throw new Exception("Non ci sono listini da aggiornare");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user