Nuovi servizi in rettigica giacenze
This commit is contained in:
parent
3d425b6b02
commit
e6ecebd49a
@ -1,15 +0,0 @@
|
|||||||
package it.integry.integrywmsnative.core.model;
|
|
||||||
|
|
||||||
public class MtbAartWithFornitore extends MtbAart {
|
|
||||||
|
|
||||||
private String codArtFor;
|
|
||||||
|
|
||||||
public String getCodArtFor() {
|
|
||||||
return codArtFor;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MtbAartWithFornitore setCodArtFor(String codArtFor) {
|
|
||||||
this.codArtFor = codArtFor;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -58,7 +58,9 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
public void saveCollo(MtbColt mtbColtToSave, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
public void saveCollo(MtbColt mtbColtToSave, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
MtbColt mtbColtToSaveClone = (MtbColt) mtbColtToSave.clone();
|
MtbColt mtbColtToSaveClone = (MtbColt) mtbColtToSave.clone();
|
||||||
mtbColtToSave.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
mtbColtToSaveClone.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
||||||
|
mtbColtToSaveClone.setOnlyPkMaster(false);
|
||||||
|
|
||||||
|
|
||||||
mtbColtToSaveClone.setMtbColr(new ObservableArrayList<>());
|
mtbColtToSaveClone.setMtbColr(new ObservableArrayList<>());
|
||||||
|
|
||||||
|
|||||||
@ -183,7 +183,7 @@ public class RettificaGiacenzeViewModel {
|
|||||||
mRettificaGiacenzeRESTConsumer.searchArtForn(codAlis, queryText, listaArts -> {
|
mRettificaGiacenzeRESTConsumer.searchArtForn(codAlis, queryText, listaArts -> {
|
||||||
this.sendOnLoadingEnded();
|
this.sendOnLoadingEnded();
|
||||||
|
|
||||||
List<MtbAart> mtbAarts = Stream.of(listaArts).map(x -> (MtbAart) x).toList();
|
List<MtbAart> mtbAarts = Stream.of(listaArts).map(x -> (MtbAart) x.getMtbAart()).toList();
|
||||||
dispatchArts(mtbAarts);
|
dispatchArts(mtbAarts);
|
||||||
}, this::sendError);
|
}, this::sendError);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,60 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.rettifica_giacenze.dto;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
|
|
||||||
|
public class SearchArticoloByBarcodeOrCodMartResponseDTO {
|
||||||
|
|
||||||
|
private MtbAart mtbAart;
|
||||||
|
private BigDecimal qtaEsistente;
|
||||||
|
private BigDecimal qtaImpegnata;
|
||||||
|
private BigDecimal numCnfEsistente;
|
||||||
|
private BigDecimal numCnfImpegnata;
|
||||||
|
|
||||||
|
|
||||||
|
public MtbAart getMtbAart() {
|
||||||
|
return mtbAart;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SearchArticoloByBarcodeOrCodMartResponseDTO setMtbAart(MtbAart mtbAart) {
|
||||||
|
this.mtbAart = mtbAart;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaEsistente() {
|
||||||
|
return qtaEsistente;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SearchArticoloByBarcodeOrCodMartResponseDTO setQtaEsistente(BigDecimal qtaEsistente) {
|
||||||
|
this.qtaEsistente = qtaEsistente;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaImpegnata() {
|
||||||
|
return qtaImpegnata;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SearchArticoloByBarcodeOrCodMartResponseDTO setQtaImpegnata(BigDecimal qtaImpegnata) {
|
||||||
|
this.qtaImpegnata = qtaImpegnata;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getNumCnfEsistente() {
|
||||||
|
return numCnfEsistente;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SearchArticoloByBarcodeOrCodMartResponseDTO setNumCnfEsistente(BigDecimal numCnfEsistente) {
|
||||||
|
this.numCnfEsistente = numCnfEsistente;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getNumCnfImpegnata() {
|
||||||
|
return numCnfImpegnata;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SearchArticoloByBarcodeOrCodMartResponseDTO setNumCnfImpegnata(BigDecimal numCnfImpegnata) {
|
||||||
|
this.numCnfImpegnata = numCnfImpegnata;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.rettifica_giacenze.dto;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
|
|
||||||
|
public class SearchArticoloByCodArtFornOrDescrizioneResponseDTO {
|
||||||
|
|
||||||
|
private MtbAart mtbAart;
|
||||||
|
|
||||||
|
private String codArtFor;
|
||||||
|
|
||||||
|
public MtbAart getMtbAart() {
|
||||||
|
return mtbAart;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SearchArticoloByCodArtFornOrDescrizioneResponseDTO setMtbAart(MtbAart mtbAart) {
|
||||||
|
this.mtbAart = mtbAart;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodArtFor() {
|
||||||
|
return codArtFor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SearchArticoloByCodArtFornOrDescrizioneResponseDTO setCodArtFor(String codArtFor) {
|
||||||
|
this.codArtFor = codArtFor;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,25 +1,26 @@
|
|||||||
package it.integry.integrywmsnative.gest.rettifica_giacenze.rest;
|
package it.integry.integrywmsnative.gest.rettifica_giacenze.rest;
|
||||||
|
|
||||||
|
import com.annimon.stream.Stream;
|
||||||
import com.google.gson.reflect.TypeToken;
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
import it.integry.integrywmsnative.core.model.MtbAartWithFornitore;
|
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.model.SaveDocFromPickingRequestDTO;
|
import it.integry.integrywmsnative.core.rest.model.SaveDocFromPickingRequestDTO;
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
|
||||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.FornitoreDTO;
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.FornitoreDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.SearchArticoloByBarcodeOrCodMartResponseDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.SearchArticoloByCodArtFornOrDescrizioneResponseDTO;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.Callback;
|
import retrofit2.Callback;
|
||||||
import retrofit2.Response;
|
import retrofit2.Response;
|
||||||
@ -45,49 +46,53 @@ public class RettificaGiacenzeRESTConsumer extends _BaseRESTConsumer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void searchArtForn(String codAlis, String codArtForOrDescr, RunnableArgs<ArrayList<MtbAartWithFornitore>> onComplete, RunnableArgs<Exception> onFailed) {
|
public void searchArtForn(String codAlis, String codArtForOrDescr, RunnableArgs<List<SearchArticoloByCodArtFornOrDescrizioneResponseDTO>> onComplete, RunnableArgs<Exception> onError) {
|
||||||
String sql = "SELECT mtb_aart.*, mtb_lisa.cod_art_for from mtb_lisa, mtb_aart, mtb_part " +
|
final RettificaGiacenzeRESTConsumerService service = RESTBuilder.getService(RettificaGiacenzeRESTConsumerService.class);
|
||||||
" WHERE mtb_lisa.cod_alis = " + UtilityDB.valueToString(codAlis) +
|
service.searchByCodArtFornOrDescrizione(codAlis, codArtForOrDescr)
|
||||||
" AND mtb_lisa.cod_mart = mtb_aart.cod_mart " +
|
.enqueue(new Callback<>() {
|
||||||
" AND mtb_lisa.cod_mart = mtb_part.cod_mart " +
|
@Override
|
||||||
" AND mtb_part.cod_mdep = '" + SettingsManager.i().getUserSession().getDepo().getCodMdep() + "' " +
|
public void onResponse(Call<ServiceRESTResponse<List<SearchArticoloByCodArtFornOrDescrizioneResponseDTO>>> call,
|
||||||
" AND (mtb_aart.descrizione_estesa LIKE '%" + codArtForOrDescr + "%' OR cod_art_for LIKE '%" + codArtForOrDescr + "%') " +
|
Response<ServiceRESTResponse<List<SearchArticoloByCodArtFornOrDescrizioneResponseDTO>>> response) {
|
||||||
" ORDER BY ABS(mtb_part.qta_esistente) DESC, mtb_aart.descrizione_estesa";
|
analyzeAnswer(response, "searchByCodArtFornOrDescrizione", onComplete, onError);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<ServiceRESTResponse<List<SearchArticoloByCodArtFornOrDescrizioneResponseDTO>>> call, Throwable t) {
|
||||||
|
onError.run(new Exception(t));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Type typeOfObjectsList = new TypeToken<ArrayList<MtbAartWithFornitore>>() {
|
|
||||||
}.getType();
|
|
||||||
mSystemRestConsumer.<ArrayList<MtbAartWithFornitore>>processSql(sql, typeOfObjectsList, value -> {
|
|
||||||
if (onComplete != null) onComplete.run(value);
|
|
||||||
}, onFailed);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void searchArtInt(String codMartOrBarcodeOrDescr, RunnableArgs<ArrayList<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) {
|
public void searchArtInt(String codMartOrBarcodeOrDescr, RunnableArgs<List<MtbAart>> onComplete, RunnableArgs<Exception> onError) {
|
||||||
String sql = "SELECT DISTINCT mtb_aart.*," +
|
final RettificaGiacenzeRESTConsumerService service = RESTBuilder.getService(RettificaGiacenzeRESTConsumerService.class);
|
||||||
" qta_esistente, " +
|
service.searchByCodMartOrBarcode(codMartOrBarcodeOrDescr)
|
||||||
" qta_imp_cli + qta_imp_lav AS qta_impegnata, " +
|
.enqueue(new Callback<>() {
|
||||||
" num_esistente AS num_cnf_esistente, " +
|
@Override
|
||||||
" num_imp_cli + num_imp_lav AS num_cnf_impegnata " +
|
public void onResponse(Call<ServiceRESTResponse<List<SearchArticoloByBarcodeOrCodMartResponseDTO>>> call,
|
||||||
" FROM mtb_aart " +
|
Response<ServiceRESTResponse<List<SearchArticoloByBarcodeOrCodMartResponseDTO>>> response) {
|
||||||
" LEFT OUTER JOIN mvw_barcode on mtb_aart.cod_mart = mvw_barcode.cod_mart " +
|
analyzeAnswer(response, "searchByCodMartOrBarcode", data -> {
|
||||||
" LEFT OUTER JOIN mtb_part mp on mtb_aart.cod_mart = mp.cod_mart " +
|
|
||||||
" AND mp.cod_mdep = '" + SettingsManager.i().getUserSession().getDepo().getCodMdep() + "'" +
|
|
||||||
" WHERE CASE" +
|
|
||||||
" WHEN LEN(mvw_barcode.cod_barre) > 13 THEN mvw_barcode.cod_barre " +
|
|
||||||
" ELSE Replicate('0', 13 - len(mvw_barcode.cod_barre))+ mvw_barcode.cod_barre " +
|
|
||||||
" END LIKE '%' + CASE " +
|
|
||||||
" WHEN LEN('" + codMartOrBarcodeOrDescr + "') > 13 THEN '" + codMartOrBarcodeOrDescr + "' " +
|
|
||||||
" ELSE Replicate('0', 13 - len('" + codMartOrBarcodeOrDescr + "')) + '" + codMartOrBarcodeOrDescr + "'" +
|
|
||||||
" END " +
|
|
||||||
"OR mtb_aart.cod_mart = '" + codMartOrBarcodeOrDescr + "' " +
|
|
||||||
"OR mtb_aart.descrizione_estesa LIKE '%" + codMartOrBarcodeOrDescr + "%'";
|
|
||||||
|
|
||||||
Type typeOfObjectsList = new TypeToken<ArrayList<MtbAart>>() {
|
var listToReturn = Stream.of(data)
|
||||||
}.getType();
|
.map(x -> x.getMtbAart()
|
||||||
mSystemRestConsumer.<ArrayList<MtbAart>>processSql(sql, typeOfObjectsList, value -> {
|
.setQtaEsistente(x.getQtaEsistente())
|
||||||
if (onComplete != null) onComplete.run(value);
|
.setQtaImpegnata(x.getQtaImpegnata())
|
||||||
}, onFailed);
|
.setNumCnfEsistente(x.getNumCnfEsistente())
|
||||||
|
.setNumCnfImpegnata(x.getNumCnfImpegnata()))
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
onComplete.run(listToReturn);
|
||||||
|
}, onError);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<ServiceRESTResponse<List<SearchArticoloByBarcodeOrCodMartResponseDTO>>> call, Throwable t) {
|
||||||
|
onError.run(new Exception(t));
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,14 +1,28 @@
|
|||||||
package it.integry.integrywmsnative.gest.rettifica_giacenze.rest;
|
package it.integry.integrywmsnative.gest.rettifica_giacenze.rest;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.rest.model.SaveDocFromPickingRequestDTO;
|
import it.integry.integrywmsnative.core.rest.model.SaveDocFromPickingRequestDTO;
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.SearchArticoloByBarcodeOrCodMartResponseDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.SearchArticoloByCodArtFornOrDescrizioneResponseDTO;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.http.Body;
|
import retrofit2.http.Body;
|
||||||
|
import retrofit2.http.GET;
|
||||||
import retrofit2.http.POST;
|
import retrofit2.http.POST;
|
||||||
|
import retrofit2.http.Query;
|
||||||
|
|
||||||
public interface RettificaGiacenzeRESTConsumerService {
|
public interface RettificaGiacenzeRESTConsumerService {
|
||||||
|
|
||||||
|
|
||||||
|
@GET("wms/articolo/searchByCodArtFornOrDescrizione")
|
||||||
|
Call<ServiceRESTResponse<List<SearchArticoloByCodArtFornOrDescrizioneResponseDTO>>> searchByCodArtFornOrDescrizione(
|
||||||
|
@Query("codAlis") String codAlis,
|
||||||
|
@Query("codArtFornOrDescrizione") String codMartOrBarcode);
|
||||||
|
|
||||||
|
@GET("wms/articolo/searchByCodMartOrBarcode")
|
||||||
|
Call<ServiceRESTResponse<List<SearchArticoloByBarcodeOrCodMartResponseDTO>>> searchByCodMartOrBarcode(@Query("codMartOrBarcode") String codMartOrBarcode);
|
||||||
|
|
||||||
@POST("saveDocFromPickingPvm")
|
@POST("saveDocFromPickingPvm")
|
||||||
Call<ServiceRESTResponse<Void>> saveDocFromPickingPvm(@Body SaveDocFromPickingRequestDTO saveDocFromPickingRequestDTO);
|
Call<ServiceRESTResponse<Void>> saveDocFromPickingPvm(@Body SaveDocFromPickingRequestDTO saveDocFromPickingRequestDTO);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user