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.RILEVATORE;
|
||||||
import static it.integry.ems.order.dto.UserGroupENUM.TECNICO;
|
import static it.integry.ems.order.dto.UserGroupENUM.TECNICO;
|
||||||
import static java.util.stream.Collectors.groupingBy;
|
import static java.util.stream.Collectors.groupingBy;
|
||||||
|
import static org.codehaus.groovy.runtime.DefaultGroovyMethods.collect;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Scope("request")
|
@Scope("request")
|
||||||
@@ -736,36 +737,9 @@ public class SteUPService {
|
|||||||
|
|
||||||
if (barcodes != null && !barcodes.isEmpty()) {
|
if (barcodes != null && !barcodes.isEmpty()) {
|
||||||
for (String barcode : barcodes) {
|
for (String barcode : barcodes) {
|
||||||
sql =
|
StbActivity art = getArticoli(barcode, null, activityTypeId, codJfas, userNamePv);
|
||||||
"SELECT activity_type_id_next " +
|
if( art != null)
|
||||||
" FROM srl_activity_type " +
|
stbActivityList.add(art);
|
||||||
" 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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -811,6 +785,36 @@ public class SteUPService {
|
|||||||
return stbActivityList;
|
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 {
|
public HashMap<String, Object> getPrezzo(String codMdep, String barcode) throws Exception {
|
||||||
String sql =
|
String sql =
|
||||||
"SELECT p.descrizione, p.prz_vend_iva " +
|
"SELECT p.descrizione, p.prz_vend_iva " +
|
||||||
@@ -1481,7 +1485,7 @@ public class SteUPService {
|
|||||||
|
|
||||||
String sql =
|
String sql =
|
||||||
Query.format(
|
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" +
|
"from dbo.steup_getRilevazioni(%s, %s, null) i\n" +
|
||||||
"inner join stb_activity on i.activity_id = stb_activity.parent_activity_id\n" +
|
"inner join stb_activity on i.activity_id = stb_activity.parent_activity_id\n" +
|
||||||
"where stb_activity.activity_type_id = %s",
|
"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")));
|
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()) {
|
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")));
|
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()) {
|
for (Map.Entry<String, List<HashMap<String, Object>>> reparto : reparti.entrySet()) {
|
||||||
String codJfas = reparto.getKey();
|
String codJfas = reparto.getKey();
|
||||||
List<String> barcodes = new ArrayList<>();
|
List<String> barcodes = new ArrayList<>();
|
||||||
|
|
||||||
|
List<String> idAttivita = new ArrayList<>();
|
||||||
for ( HashMap<String, Object> r: reparto.getValue() ) {
|
for ( HashMap<String, Object> r: reparto.getValue() ) {
|
||||||
|
String activityId = (String) r.get("activity_id");
|
||||||
|
idAttivita.add(activityId);
|
||||||
StbActivityFile stbActivityFile = new StbActivityFile()
|
StbActivityFile stbActivityFile = new StbActivityFile()
|
||||||
.setId((String) r.get("activity_id"))
|
.setId(activityId)
|
||||||
.setFileName("elenco_articoli.txt");
|
.setFileName("elenco_articoli.txt");
|
||||||
stbActivityFile.setOperation(OperationType.SELECT_OBJECT);
|
stbActivityFile.setOperation(OperationType.SELECT_OBJECT);
|
||||||
|
|
||||||
@@ -1511,53 +1520,103 @@ public class SteUPService {
|
|||||||
if (contentB64 != null && contentB64.length > 0) {
|
if (contentB64 != null && contentB64.length > 0) {
|
||||||
String content = new String(contentB64);
|
String content = new String(contentB64);
|
||||||
barcodes.addAll(UtilityString.splitStringToMultipleLine(content, CommonConstants.A_CAPO));
|
barcodes.addAll(UtilityString.splitStringToMultipleLine(content, CommonConstants.A_CAPO));
|
||||||
barcodes = Arrays.asList(("8001990030611\n" +
|
if (UtilityDebug.isDebugExecution()) {
|
||||||
"8003650000798\n" +
|
barcodes=Arrays.asList(
|
||||||
"8054633830833\n" +
|
("8001990030611\n" +
|
||||||
"8410436393942\n" +
|
"8003650000798\n" +
|
||||||
"8002340012103\n" +
|
"8054633830833\n" +
|
||||||
"8007300004297\n" +
|
"8410436393942\n" +
|
||||||
"8002340012660\n" +
|
"8002340012103\n" +
|
||||||
"8033532102838\n" +
|
"8007300004297\n" +
|
||||||
"8052675290028\n" +
|
"8002340012660\n" +
|
||||||
"8000697001917\n" +
|
"8033532102838\n" +
|
||||||
"8055719541384\n" +
|
"8052675290028\n" +
|
||||||
"8055719541377\n" +
|
"8000697001917\n" +
|
||||||
"8018700037204\n" +
|
"8055719541384\n" +
|
||||||
"8001480720800\n" +
|
"8055719541377\n" +
|
||||||
"8001280070648\n" +
|
"8018700037204\n" +
|
||||||
"8054633831656\n" +
|
"8001480720800\n" +
|
||||||
"8720182641618\n" +
|
"8001280070648\n" +
|
||||||
"8011380002074\n" +
|
"8054633831656\n" +
|
||||||
"8230485606837\n" +
|
"8720182641618\n" +
|
||||||
"8033532107987\n" +
|
"8011380002074\n" +
|
||||||
"8033908800726\n" +
|
"8230485606837\n" +
|
||||||
"8021719130026\n" +
|
"8033532107987\n" +
|
||||||
"8051886470717\n" +
|
"8033908800726\n" +
|
||||||
"8700216772082\n" +
|
"8021719130026\n" +
|
||||||
"8033447586204\n" +
|
"8051886470717\n" +
|
||||||
"8006540891469\n" +
|
"8700216772082\n" +
|
||||||
"4012400502363\n" +
|
"8033447586204\n" +
|
||||||
"8051499395889\n" +
|
"8006540891469\n" +
|
||||||
"8051499393571\n" +
|
"4012400502363\n" +
|
||||||
"8051499395872\n" +
|
"8051499395889\n" +
|
||||||
"8034055535387\n" +
|
"8051499393571\n" +
|
||||||
"8056364996130\n" +
|
"8051499395872\n" +
|
||||||
"8056364993467\n" +
|
"8034055535387\n" +
|
||||||
"8007675733877").split("\n"));
|
"8056364996130\n" +
|
||||||
|
"8056364993467\n" +
|
||||||
|
"8007675733877").split("\n")
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (barcodes.isEmpty()) {
|
if (barcodes.isEmpty()) {
|
||||||
continue;
|
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);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
UtilityEntity.throwEntitiesException(entityProcessor.processEntityList(stbActivityList, true));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<HashMap<String, Object>> verificaRottura(String codMdep, String codJfas,
|
public List<String> verificaRottura(String codMdep, String codJfas,
|
||||||
LocalDate dataCreation,
|
LocalDate dataCreation,
|
||||||
List<String> repartiFreschi,
|
List<String> repartiFreschi,
|
||||||
List<String> tipiEsclusi,
|
List<String> tipiEsclusi,
|
||||||
@@ -1630,9 +1689,9 @@ public class SteUPService {
|
|||||||
"FROM jtb_dist_mate\n" +
|
"FROM jtb_dist_mate\n" +
|
||||||
"WHERE cod_mart IS NOT NULL";
|
"WHERE cod_mart IS NOT NULL";
|
||||||
|
|
||||||
List<HashMap<String, Object>> articoli = new ArrayList<>();
|
List<String> articoli = new ArrayList<>();
|
||||||
try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(profileDb)) {
|
try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(profileDb)) {
|
||||||
articoli = UtilityDB.executeSimpleQuery(mdb.getPrimaryConnection(), queryAssortimento);
|
articoli = UtilityDB.executeSimpleQueryOnlyFirstColumn(mdb.getPrimaryConnection(), queryAssortimento);
|
||||||
|
|
||||||
//Eliminazione nuovi inserimenti in griglia
|
//Eliminazione nuovi inserimenti in griglia
|
||||||
String sqlGriglia =
|
String sqlGriglia =
|
||||||
@@ -1657,7 +1716,7 @@ public class SteUPService {
|
|||||||
List<String> nuoviInserimenti = UtilityDB.executeSimpleQueryOnlyFirstColumn(mdb.getPrimaryConnection(), sqlGriglia);
|
List<String> nuoviInserimenti = UtilityDB.executeSimpleQueryOnlyFirstColumn(mdb.getPrimaryConnection(), sqlGriglia);
|
||||||
|
|
||||||
articoli = articoli.stream()
|
articoli = articoli.stream()
|
||||||
.filter(x -> !nuoviInserimenti.contains(x.get("cod_mart").toString()))
|
.filter(x -> !nuoviInserimenti.contains(x))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
//Verifica Inevasi
|
//Verifica Inevasi
|
||||||
@@ -1694,7 +1753,7 @@ public class SteUPService {
|
|||||||
List<String> inevasi = UtilityDB.executeSimpleQueryOnlyFirstColumn(mdb.getPrimaryConnection(), sqlInevasi);
|
List<String> inevasi = UtilityDB.executeSimpleQueryOnlyFirstColumn(mdb.getPrimaryConnection(), sqlInevasi);
|
||||||
|
|
||||||
articoli = articoli.stream()
|
articoli = articoli.stream()
|
||||||
.filter(x -> !inevasi.contains(x.get("cod_mart").toString()))
|
.filter(x -> !inevasi.contains(x))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user