varie steup
This commit is contained in:
@@ -60,6 +60,7 @@ import java.util.stream.Collectors;
|
||||
import static it.integry.ems.order.dto.UserGroupENUM.RILEVATORE;
|
||||
import static it.integry.ems.order.dto.UserGroupENUM.TECNICO;
|
||||
import static java.util.stream.Collectors.groupingBy;
|
||||
import static org.codehaus.groovy.runtime.DefaultGroovyMethods.collect;
|
||||
|
||||
@Service
|
||||
@Scope("request")
|
||||
@@ -736,36 +737,9 @@ public class SteUPService {
|
||||
|
||||
if (barcodes != null && !barcodes.isEmpty()) {
|
||||
for (String barcode : barcodes) {
|
||||
sql =
|
||||
"SELECT activity_type_id_next " +
|
||||
" FROM srl_activity_type " +
|
||||
" WHERE activity_type_id = " + UtilityDB.valueToString(activityTypeId) + " AND " +
|
||||
"flag_tipologia = 'A' ";
|
||||
|
||||
String activityTypeArt = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
if (UtilityString.isNullOrEmpty(activityTypeArt)) {
|
||||
throw new Exception("Nessun tipo attività associato a " + activityTypeId + " per l'inserimento degli articoli.");
|
||||
}
|
||||
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
String codMart = this.getCodMartFromBarcode(barcode);
|
||||
StbActivity item = new StbActivity()
|
||||
.setActivityDescription(activityTypeArt)
|
||||
.setNote(parentActivity.getNote())
|
||||
.setCodJfas(codJfas)
|
||||
.setCodMart(codMart)
|
||||
.setFlagTipologia("A")
|
||||
.setUserName(userNamePv)
|
||||
.setUserCreator(parentActivity.getUserCreator())
|
||||
.setUserModifier(parentActivity.getUserCreator())
|
||||
.setActivityTypeId(activityTypeArt)
|
||||
.setOraInsAct(now)
|
||||
.setEffectiveTime(dataCreation)
|
||||
.setParentActivityId(activityId);
|
||||
|
||||
item.setOperation(OperationType.INSERT);
|
||||
stbActivityList.add(item);
|
||||
StbActivity art = getArticoli(barcode, null, activityTypeId, codJfas, userNamePv);
|
||||
if( art != null)
|
||||
stbActivityList.add(art);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -811,6 +785,36 @@ public class SteUPService {
|
||||
return stbActivityList;
|
||||
}
|
||||
|
||||
private StbActivity getArticoli(String barcode, String codMart, String activityTypeId, String codJfas, String userNamePv) throws Exception {
|
||||
String sql;
|
||||
sql =
|
||||
"SELECT activity_type_id_next " +
|
||||
" FROM srl_activity_type " +
|
||||
" WHERE activity_type_id = " + UtilityDB.valueToString(activityTypeId) + " AND " +
|
||||
"flag_tipologia = 'A' ";
|
||||
|
||||
String activityTypeArt = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
|
||||
if (UtilityString.isNullOrEmpty(activityTypeArt)) {
|
||||
throw new Exception("Nessun tipo attività associato a " + activityTypeId + " per l'inserimento degli articoli.");
|
||||
}
|
||||
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
if (!UtilityString.isNullOrEmpty(barcode))
|
||||
codMart = this.getCodMartFromBarcode(barcode);
|
||||
StbActivity item = new StbActivity()
|
||||
.setActivityDescription(activityTypeArt)
|
||||
.setCodJfas(codJfas)
|
||||
.setCodMart(codMart)
|
||||
.setFlagTipologia("A")
|
||||
.setUserName(userNamePv)
|
||||
.setActivityTypeId(activityTypeArt)
|
||||
.setOraInsAct(now);
|
||||
|
||||
item.setOperation(OperationType.INSERT);
|
||||
return item;
|
||||
}
|
||||
|
||||
public HashMap<String, Object> getPrezzo(String codMdep, String barcode) throws Exception {
|
||||
String sql =
|
||||
"SELECT p.descrizione, p.prz_vend_iva " +
|
||||
@@ -1481,7 +1485,7 @@ public class SteUPService {
|
||||
|
||||
String sql =
|
||||
Query.format(
|
||||
"select i.cod_mdep, stb_activity.cod_jfas, stb_activity.activity_id\n" +
|
||||
"select i.cod_mdep, stb_activity.cod_jfas, stb_activity.activity_id, stb_activity.user_name\n" +
|
||||
"from dbo.steup_getRilevazioni(%s, %s, null) i\n" +
|
||||
"inner join stb_activity on i.activity_id = stb_activity.parent_activity_id\n" +
|
||||
"where stb_activity.activity_type_id = %s",
|
||||
@@ -1495,13 +1499,18 @@ public class SteUPService {
|
||||
Map<String, List<HashMap<String, Object>>> ispezioniDepo = ispezioni.stream().collect(groupingBy(x -> (String) x.get("cod_mdep")));
|
||||
|
||||
for (Map.Entry<String, List<HashMap<String, Object>>> entry : ispezioniDepo.entrySet()) {
|
||||
String userNamePv = entry.getValue().get(0).get("user_name").toString();
|
||||
Map<String, List<HashMap<String, Object>>> reparti = entry.getValue().stream().collect(groupingBy(x -> (String) x.get("cod_jfas")));
|
||||
for (Map.Entry<String, List<HashMap<String, Object>>> reparto : reparti.entrySet()) {
|
||||
String codJfas = reparto.getKey();
|
||||
List<String> barcodes = new ArrayList<>();
|
||||
|
||||
List<String> idAttivita = new ArrayList<>();
|
||||
for ( HashMap<String, Object> r: reparto.getValue() ) {
|
||||
String activityId = (String) r.get("activity_id");
|
||||
idAttivita.add(activityId);
|
||||
StbActivityFile stbActivityFile = new StbActivityFile()
|
||||
.setId((String) r.get("activity_id"))
|
||||
.setId(activityId)
|
||||
.setFileName("elenco_articoli.txt");
|
||||
stbActivityFile.setOperation(OperationType.SELECT_OBJECT);
|
||||
|
||||
@@ -1511,7 +1520,9 @@ public class SteUPService {
|
||||
if (contentB64 != null && contentB64.length > 0) {
|
||||
String content = new String(contentB64);
|
||||
barcodes.addAll(UtilityString.splitStringToMultipleLine(content, CommonConstants.A_CAPO));
|
||||
barcodes = Arrays.asList(("8001990030611\n" +
|
||||
if (UtilityDebug.isDebugExecution()) {
|
||||
barcodes=Arrays.asList(
|
||||
("8001990030611\n" +
|
||||
"8003650000798\n" +
|
||||
"8054633830833\n" +
|
||||
"8410436393942\n" +
|
||||
@@ -1544,20 +1555,68 @@ public class SteUPService {
|
||||
"8034055535387\n" +
|
||||
"8056364996130\n" +
|
||||
"8056364993467\n" +
|
||||
"8007675733877").split("\n"));
|
||||
|
||||
"8007675733877").split("\n")
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (barcodes.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
verificaRottura(entry.getKey(), codJfas, dataIspezione, repartiFreschi, tipiEsclusi, fornitori, barcodes);
|
||||
}
|
||||
List<String> articoli = verificaRottura(entry.getKey(), codJfas, dataIspezione, repartiFreschi, tipiEsclusi, fornitori, barcodes);
|
||||
|
||||
/*List<StbActivity> attivitaArticoli = new ArrayList<>();
|
||||
for (String articolo : articoli) {
|
||||
attivitaArticoli.add(getArticoli(null, articolo, tipoAttivitaRotturaStock, codJfas, userNamePv));
|
||||
} */
|
||||
|
||||
List<StbActivity> stbActivityList = new ArrayList<>();
|
||||
for (String activityId : idAttivita) {
|
||||
sql = "select *\n" +
|
||||
"from srl_activity_art\n" +
|
||||
"where activity_id = " + UtilityDB.valueToString(activityId) + "\n";
|
||||
|
||||
List<SrlActivityArt> articoliPresenti = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, SrlActivityArt.class);
|
||||
List<String> artP;
|
||||
if (articoliPresenti != null) {
|
||||
articoliPresenti
|
||||
.stream()
|
||||
.forEach(x -> {
|
||||
if (articoli.contains(x.getCodMart()))
|
||||
x.setOperation(OperationType.UPDATE);
|
||||
else
|
||||
x.setOperation(OperationType.DELETE);
|
||||
});
|
||||
artP = articoliPresenti.stream().map(x -> x.getCodMart()).distinct().collect(Collectors.toList());
|
||||
} else {
|
||||
artP = new ArrayList<>();
|
||||
}
|
||||
|
||||
List<SrlActivityArt> artNew = articoli
|
||||
.stream()
|
||||
.filter(x -> !artP.contains(x))
|
||||
.map(x -> {
|
||||
SrlActivityArt s = new SrlActivityArt().setCodMart(x);
|
||||
s.setOperation(OperationType.INSERT);
|
||||
return s;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
|
||||
StbActivity activityToUpdate = new StbActivity();
|
||||
activityToUpdate.setActivityId(activityId);
|
||||
activityToUpdate.setSrlActivityArt(articoliPresenti);
|
||||
activityToUpdate.getSrlActivityArt().addAll(artNew);
|
||||
activityToUpdate.setOperation(OperationType.UPDATE);
|
||||
stbActivityList.add(activityToUpdate);
|
||||
|
||||
}
|
||||
|
||||
public List<HashMap<String, Object>> verificaRottura(String codMdep, String codJfas,
|
||||
UtilityEntity.throwEntitiesException(entityProcessor.processEntityList(stbActivityList, true));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public List<String> verificaRottura(String codMdep, String codJfas,
|
||||
LocalDate dataCreation,
|
||||
List<String> repartiFreschi,
|
||||
List<String> tipiEsclusi,
|
||||
@@ -1630,9 +1689,9 @@ public class SteUPService {
|
||||
"FROM jtb_dist_mate\n" +
|
||||
"WHERE cod_mart IS NOT NULL";
|
||||
|
||||
List<HashMap<String, Object>> articoli = new ArrayList<>();
|
||||
List<String> articoli = new ArrayList<>();
|
||||
try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(profileDb)) {
|
||||
articoli = UtilityDB.executeSimpleQuery(mdb.getPrimaryConnection(), queryAssortimento);
|
||||
articoli = UtilityDB.executeSimpleQueryOnlyFirstColumn(mdb.getPrimaryConnection(), queryAssortimento);
|
||||
|
||||
//Eliminazione nuovi inserimenti in griglia
|
||||
String sqlGriglia =
|
||||
@@ -1657,7 +1716,7 @@ public class SteUPService {
|
||||
List<String> nuoviInserimenti = UtilityDB.executeSimpleQueryOnlyFirstColumn(mdb.getPrimaryConnection(), sqlGriglia);
|
||||
|
||||
articoli = articoli.stream()
|
||||
.filter(x -> !nuoviInserimenti.contains(x.get("cod_mart").toString()))
|
||||
.filter(x -> !nuoviInserimenti.contains(x))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
//Verifica Inevasi
|
||||
@@ -1694,7 +1753,7 @@ public class SteUPService {
|
||||
List<String> inevasi = UtilityDB.executeSimpleQueryOnlyFirstColumn(mdb.getPrimaryConnection(), sqlInevasi);
|
||||
|
||||
articoli = articoli.stream()
|
||||
.filter(x -> !inevasi.contains(x.get("cod_mart").toString()))
|
||||
.filter(x -> !inevasi.contains(x))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user