Completato refactoring picking per resi fornitore

This commit is contained in:
2025-06-18 12:02:07 +02:00
parent e917b2a413
commit 3d3113d2bf
10 changed files with 172 additions and 85 deletions

View File

@@ -16,7 +16,6 @@ import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.udc.CloseUDCRequestDTO;
import it.integry.integrywmsnative.core.rest.model.udc.CloseUDCResponseDTO;
import it.integry.integrywmsnative.core.rest.model.udc.CreateUDCRequestDTO;
import it.integry.integrywmsnative.core.rest.model.udc.CreateUDCResponseDTO;
import it.integry.integrywmsnative.core.rest.model.udc.DeleteUDCRowRequestDTO;
import it.integry.integrywmsnative.core.rest.model.udc.EditUDCRowRequestDTO;
import it.integry.integrywmsnative.core.rest.model.uds.InsertUDCRowRequestDTO;
@@ -35,21 +34,21 @@ public class ColliAccettazioneRESTConsumer extends _BaseRESTConsumer implements
}
@Override
public CreateUDCResponseDTO synchronousCreateUDC(CreateUDCRequestDTO createUDCRequestDTO) throws Exception {
public MtbColt synchronousCreateUDC(CreateUDCRequestDTO createUDCRequestDTO) throws Exception {
ColliAccettazioneRESTConsumerService colliAccettazioneRESTConsumerService = restBuilder.getService(ColliAccettazioneRESTConsumerService.class);
var response = colliAccettazioneRESTConsumerService.createUDC(createUDCRequestDTO)
.execute();
var data = analyzeAnswer(response, "accettazione/createUDC");
return data;
return data.getMtbColt();
}
@Override
public void createUDC(CreateUDCRequestDTO createUDCRequestDTO, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
executorService.execute(() -> {
try {
MtbColt result = synchronousCreateUDC(createUDCRequestDTO).getMtbColt();
MtbColt result = synchronousCreateUDC(createUDCRequestDTO);
onComplete.run(result);
} catch (Exception e) {
onFailed.run(e);

View File

@@ -20,7 +20,6 @@ import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.udc.CloseUDCRequestDTO;
import it.integry.integrywmsnative.core.rest.model.udc.CloseUDCResponseDTO;
import it.integry.integrywmsnative.core.rest.model.udc.CreateUDCRequestDTO;
import it.integry.integrywmsnative.core.rest.model.udc.CreateUDCResponseDTO;
import it.integry.integrywmsnative.core.rest.model.udc.DeleteUDCRowRequestDTO;
import it.integry.integrywmsnative.core.rest.model.udc.EditUDCRowRequestDTO;
import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSRequestDTO;
@@ -51,21 +50,21 @@ public class ColliLavorazioneRESTConsumer extends _BaseRESTConsumer implements C
}
@Override
public CreateUDCResponseDTO synchronousCreateUDC(CreateUDCRequestDTO createUDCRequestDTO) throws Exception {
public MtbColt synchronousCreateUDC(CreateUDCRequestDTO createUDCRequestDTO) throws Exception {
ColliLavorazioneRESTConsumerService colliLavorazioneRESTConsumerService = restBuilder.getService(ColliLavorazioneRESTConsumerService.class);
var response = colliLavorazioneRESTConsumerService.createUDC(createUDCRequestDTO)
.execute();
var data = analyzeAnswer(response, "lavorazione/createUDC");
return data;
return data.getMtbColt();
}
@Override
public void createUDC(CreateUDCRequestDTO createUDCRequestDTO, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
executorService.execute(() -> {
try {
MtbColt result = synchronousCreateUDC(createUDCRequestDTO).getMtbColt();
MtbColt result = synchronousCreateUDC(createUDCRequestDTO);
onComplete.run(result);
} catch (Exception e) {
onFailed.run(e);

View File

@@ -6,14 +6,13 @@ import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.rest.model.udc.CloseUDCRequestDTO;
import it.integry.integrywmsnative.core.rest.model.udc.CloseUDCResponseDTO;
import it.integry.integrywmsnative.core.rest.model.udc.CreateUDCRequestDTO;
import it.integry.integrywmsnative.core.rest.model.udc.CreateUDCResponseDTO;
import it.integry.integrywmsnative.core.rest.model.udc.DeleteUDCRowRequestDTO;
import it.integry.integrywmsnative.core.rest.model.udc.EditUDCRowRequestDTO;
import it.integry.integrywmsnative.core.rest.model.uds.InsertUDCRowRequestDTO;
public interface ColliCaricoRESTConsumerInterface {
CreateUDCResponseDTO synchronousCreateUDC(CreateUDCRequestDTO createUDCRequestDTO) throws Exception;
MtbColt synchronousCreateUDC(CreateUDCRequestDTO createUDCRequestDTO) throws Exception;
void createUDC(CreateUDCRequestDTO createUDCRequestDTO, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed);
CloseUDCResponseDTO synchronousCloseUDC(CloseUDCRequestDTO closeUDCRequestDTO) throws Exception;

View File

@@ -43,6 +43,9 @@ public class CreateUDSRequestDTO {
@SerializedName("orderRequired")
private boolean orderRequired;
@SerializedName("reso")
private boolean reso;
@SerializedName("orders")
private List<CreateUDSRequestOrderDTO> orders;
@@ -145,6 +148,15 @@ public class CreateUDSRequestDTO {
return this;
}
public boolean isReso() {
return reso;
}
public CreateUDSRequestDTO setReso(boolean reso) {
this.reso = reso;
return this;
}
public List<CreateUDSRequestOrderDTO> getOrders() {
return orders;
}

View File

@@ -7,6 +7,7 @@ import java.time.LocalDate;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.key.DtbDocrKey;
public class InsertUDSRowRequestDTO {
@@ -31,6 +32,9 @@ public class InsertUDSRowRequestDTO {
@SerializedName("codJcom")
private String codJcom;
@SerializedName("documentReso")
private DtbDocrKey documentReso;
public MtbColr getSourceMtbColr() {
return sourceMtbColr;
}
@@ -111,4 +115,13 @@ public class InsertUDSRowRequestDTO {
this.codJcom = codJcom;
return this;
}
public DtbDocrKey getDocumentReso() {
return documentReso;
}
public InsertUDSRowRequestDTO setDocumentReso(DtbDocrKey documentReso) {
this.documentReso = documentReso;
return this;
}
}

View File

@@ -94,7 +94,7 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
private boolean mShouldCloseActivity;
public static void startActivity(Context context, String activityTitle, List<DocumentoResoDTO> documentoResoDTOList, Integer segno) {
public static void startActivity(Context context, String activityTitle, List<DocumentoResoDTO> documentoResoDTOList, PickingResiViewModel.Tipologia tipoReso) {
Intent intent = new Intent(context, PickingResiActivity.class);
intent.putExtra("activity_title", activityTitle);
@@ -102,7 +102,7 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
String consegneCacheKey = DataCache.addItem(documentoResoDTOList);
intent.putExtra("key", consegneCacheKey);
intent.putExtra("segno", segno);
intent.putExtra("tipologia", tipoReso.getValue());
context.startActivity(intent);
}
@@ -114,7 +114,8 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
mTitle = getIntent().getStringExtra("activity_title");
mDocumentiResiList = DataCache.retrieveItem(getIntent().getStringExtra("key"));
int defaultSegnoLU = getIntent().getIntExtra("segno", +1);
PickingResiViewModel.Tipologia tipoReso =
PickingResiViewModel.Tipologia.fromShort(getIntent().getShortExtra("tipologia", PickingResiViewModel.Tipologia.VENDITA.getValue()));
mBindings = DataBindingUtil.setContentView(this, R.layout.activity_picking_resi);
@@ -150,7 +151,7 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
this.onLoadingStarted();
try {
this.mViewmodel.init(mDocumentiResiList, defaultSegnoLU, codMdep);
this.mViewmodel.init(mDocumentiResiList, tipoReso, codMdep);
this.onLoadingEnded();
} catch (Exception ex) {
this.onError(ex);

View File

@@ -33,19 +33,21 @@ import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliSpedizioneRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
import it.integry.integrywmsnative.core.rest.model.udc.CreateUDCRequestDTO;
import it.integry.integrywmsnative.core.rest.model.udc.DeleteUDCRowRequestDTO;
import it.integry.integrywmsnative.core.rest.model.udc.EditUDCRowRequestDTO;
import it.integry.integrywmsnative.core.rest.model.uds.CreateUDSRequestDTO;
import it.integry.integrywmsnative.core.rest.model.uds.DeleteUDSRowRequestDTO;
import it.integry.integrywmsnative.core.rest.model.uds.DeleteULRequestDTO;
import it.integry.integrywmsnative.core.rest.model.uds.EditUDSRowRequestDTO;
import it.integry.integrywmsnative.core.rest.model.uds.InsertUDCRowRequestDTO;
import it.integry.integrywmsnative.core.rest.model.uds.InsertUDSRowRequestDTO;
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
import it.integry.integrywmsnative.core.utility.UtilityString;
@@ -65,16 +67,13 @@ public class PickingResiViewModel {
private MtbColt mCurrentMtbColt = null;
private String mDefaultGestioneOfLU;
private String mDefaultCodAnagOfLU;
private int mDefaultSegnoOfLU;
private Tipologia mTipologiaReso;
private String mDefaultCodMdepOfLU;
private final Handler mHandler;
private final ArticoloRESTConsumer mArticoloRESTConsumer;
private final BarcodeRESTConsumer mBarcodeRESTConsumer;
private final ColliDataRecoverService mColliDataRecoverService;
private final OrdiniRESTConsumer mOrdiniRestConsumerService;
private final ColliAccettazioneRESTConsumer mColliAccettazioneRESTConsumer;
private final ColliSpedizioneRESTConsumer mColliSpedizioneRESTConsumer;
private final ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer;
@@ -84,20 +83,16 @@ public class PickingResiViewModel {
@Inject
public PickingResiViewModel(Handler handler,
ArticoloRESTConsumer articoloRESTConsumer,
BarcodeRESTConsumer barcodeRESTConsumer,
ColliDataRecoverService colliDataRecoverService,
OrdiniRESTConsumer ordiniRESTConsumer,
ColliAccettazioneRESTConsumer colliAccettazioneRESTConsumer,
ColliSpedizioneRESTConsumer colliSpedizioneRESTConsumer,
ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer,
PrinterRESTConsumer printerRESTConsumer,
PickingResiRESTConsumer mPickingResiRESTConsumer) {
this.mHandler = handler;
this.mArticoloRESTConsumer = articoloRESTConsumer;
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
this.mColliDataRecoverService = colliDataRecoverService;
this.mOrdiniRestConsumerService = ordiniRESTConsumer;
this.mColliAccettazioneRESTConsumer = colliAccettazioneRESTConsumer;
this.mColliSpedizioneRESTConsumer = colliSpedizioneRESTConsumer;
this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer;
@@ -105,8 +100,8 @@ public class PickingResiViewModel {
this.mPickingResiRESTConsumer = mPickingResiRESTConsumer;
}
public void init(List<DocumentoResoDTO> documentList, int defaultSegnoLU, String codMdep) throws Exception {
this.mDefaultSegnoOfLU = defaultSegnoLU;
public void init(List<DocumentoResoDTO> documentList, Tipologia tipologiaReso, String codMdep) throws Exception {
this.mTipologiaReso = tipologiaReso;
this.mDefaultCodMdepOfLU = codMdep;
@@ -132,8 +127,6 @@ public class PickingResiViewModel {
throw new Exception("Sono stati caricati documenti con diverse gestioni");
}
mDefaultGestioneOfLU = foundGestioni.get(0);
List<String> foundCodAnags = Stream.of(documentList)
.map(DocumentoResoDTO::getCodAnag)
@@ -148,17 +141,30 @@ public class PickingResiViewModel {
}
public void createNewLU(Integer customNumCollo, String customSerCollo) throws Exception {
// mColliAccettazioneRESTConsumer.createUDC(new Cre);
if (mTipologiaReso == Tipologia.VENDITA) {
var createdUdc = mColliAccettazioneRESTConsumer.synchronousCreateUDC(new CreateUDCRequestDTO()
.setCodAnag(mDefaultCodAnagOfLU)
.setCodMdep(mDefaultCodMdepOfLU)
.setNumCollo(customNumCollo)
.setSerCollo(customSerCollo)
.setReso(true));
var createUdcResponse = mColliAccettazioneRESTConsumer.synchronousCreateUDC(new CreateUDCRequestDTO()
.setCodAnag(mDefaultCodAnagOfLU)
.setCodMdep(mDefaultCodMdepOfLU)
.setNumCollo(customNumCollo)
.setSerCollo(customSerCollo)
.setReso(true));
this.mCurrentMtbColt = createdUdc;
this.mCurrentMtbColt = createUdcResponse.getMtbColt();
this.sendLUOpened(createUdcResponse.getMtbColt());
} else if (mTipologiaReso == Tipologia.ACQUISTO) {
var createdUds = mColliSpedizioneRESTConsumer.createUDSSynchronized(new CreateUDSRequestDTO()
.setCodAnag(mDefaultCodAnagOfLU)
.setCodMdep(mDefaultCodMdepOfLU)
.setNumCollo(customNumCollo)
.setSerCollo(customSerCollo)
.setReso(true));
this.mCurrentMtbColt = createdUds;
} else
throw new UnsupportedOperationException("Tipologia di reso non supportata: " + mTipologiaReso);
this.sendLUOpened(this.mCurrentMtbColt);
}
@@ -222,11 +228,6 @@ public class PickingResiViewModel {
}
}
private void singlePrint(MtbColt mtbColtToPrint) {
}
private void postCloseOperations(MtbColt mtbColt) {
this.mColliRegistrati.add(mtbColt);
@@ -414,7 +415,7 @@ public class PickingResiViewModel {
List<WithdrawableDtbDocr> pickingList = mPickingList.getValue();
Stream.of(pickingList)
pickingList.stream()
.filter(x -> x != matchedItem)
.forEach(x -> x.setHidden(true));
@@ -524,18 +525,36 @@ public class PickingResiViewModel {
public void saveNewRow(WithdrawableDtbDocr withdrawableDtbDocr, MtbColt refMtbColt, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) throws Exception {
this.sendOnLoadingStarted();
InsertUDCRowRequestDTO insertUDCRowRequestDTO = new InsertUDCRowRequestDTO()
.setTargetMtbColt(mCurrentMtbColt)
.setCodMart(withdrawableDtbDocr.getMtbAart().getCodMart())
.setPartitaMag(partitaMag)
.setDataScad(dataScad)
.setQtaTot(qtaTot)
.setQtaCnf(qtaCnf)
.setNumCnf(numCnf)
.setDescrizione(withdrawableDtbDocr.getMtbAart().getDescrizioneEstesa())
InsertUDCRowRequestDTO insertUDCRowRequestDTO = null;
InsertUDSRowRequestDTO insertUDSRowRequestDTO = null;
.setDocumentReso(withdrawableDtbDocr.getKey());
if (mTipologiaReso == Tipologia.VENDITA) {
insertUDCRowRequestDTO = new InsertUDCRowRequestDTO()
.setTargetMtbColt(mCurrentMtbColt)
.setCodMart(withdrawableDtbDocr.getMtbAart().getCodMart())
.setPartitaMag(partitaMag)
.setDataScad(dataScad)
.setQtaTot(qtaTot)
.setQtaCnf(qtaCnf)
.setNumCnf(numCnf)
.setDescrizione(withdrawableDtbDocr.getMtbAart().getDescrizioneEstesa())
.setDocumentReso(withdrawableDtbDocr.getKey());
} else if (mTipologiaReso == Tipologia.ACQUISTO) {
insertUDSRowRequestDTO = new InsertUDSRowRequestDTO()
.setTargetMtbColt(mCurrentMtbColt)
.setCodMart(withdrawableDtbDocr.getMtbAart().getCodMart())
.setPartitaMag(partitaMag)
.setDataScad(dataScad)
.setQtaTot(qtaTot)
.setQtaCnf(qtaCnf)
.setNumCnf(numCnf)
.setDocumentReso(withdrawableDtbDocr.getKey());
} else
throw new UnsupportedOperationException("Tipologia di reso non supportata: " + mTipologiaReso);
//TODO: Al posto di prelevare la prima riga bisognerebbe controllare se c'è ne una che corrisponde con la partita richiesta
MtbColr mtbColrToDispatch = withdrawableDtbDocr.getTempPickData() != null &&
@@ -552,25 +571,11 @@ public class PickingResiViewModel {
mCurrentMtbColt.setCodTcol(newCodTcol);
}
// insertUDCRowRequestDTO
// .setCodJcom(UtilityString.empty2null(mtbColrToDispatch.getCodJcom()))
// .setSerColloRif(UtilityString.empty2null(mtbColrToDispatch.getSerCollo()))
// .setNumColloRif(mtbColrToDispatch.getNumCollo())
// .setGestioneRif(UtilityString.empty2null(mtbColrToDispatch.getGestione()))
// .setDataColloRif(UtilityString.empty2null(mtbColrToDispatch.getDataColloS()));
if (mtbColrToDispatch.getPesoNettoKg() != null) {
//Proporzione
BigDecimal pesoNettoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoNettoKg()), mtbColrToDispatch.getQtaCol());
insertUDCRowRequestDTO.setPesoNettoKg(pesoNettoKg);
if (mTipologiaReso == Tipologia.ACQUISTO) {
insertUDSRowRequestDTO
.setSourceMtbColr(mtbColrToDispatch);
}
if (mtbColrToDispatch.getPesoLordoKg() != null) {
//Proporzione
BigDecimal pesoLordoKg = UtilityBigDecimal.divide(UtilityBigDecimal.multiply(qtaTot, mtbColrToDispatch.getPesoLordoKg()), mtbColrToDispatch.getQtaCol());
insertUDCRowRequestDTO.setPesoLordoKg(pesoLordoKg);
}
}
@@ -589,7 +594,15 @@ public class PickingResiViewModel {
}
boolean finalShouldPrint = shouldPrint;
MtbColr insertedULRow = this.mColliAccettazioneRESTConsumer.synchronousInsertUDCRow(insertUDCRowRequestDTO);
MtbColr insertedULRow;
if(mTipologiaReso == Tipologia.VENDITA) {
insertedULRow = this.mColliAccettazioneRESTConsumer.synchronousInsertUDCRow(insertUDCRowRequestDTO);
} else if (mTipologiaReso == Tipologia.ACQUISTO) {
insertedULRow = this.mColliSpedizioneRESTConsumer.insertUDSRowSynchronized(insertUDSRowRequestDTO);
} else {
throw new UnsupportedOperationException("Tipologia di reso non supportata: " + mTipologiaReso);
}
insertedULRow
.setUntMis(withdrawableDtbDocr.getMtbAart().getUntMis())
@@ -602,6 +615,7 @@ public class PickingResiViewModel {
this.mPickingList.postValue(this.mPickingList.getValue());
this.resetMatchedRows();
this.sendOnRowSaved();
this.sendOnLoadingEnded();
@@ -610,15 +624,29 @@ public class PickingResiViewModel {
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) throws Exception {
EditUDCRowRequestDTO editUDCRowRequest = new EditUDCRowRequestDTO()
.setSourceMtbColr(mtbColrToUpdate)
.setNewNumCnf(numCnf)
.setNewQtaCnf(qtaCnf)
.setNewQtaTot(qtaTot)
.setNewPartitaMag(partitaMag)
.setNewDataScad(dataScad);
MtbColr updatedMtbColr;
MtbColr updatedMtbColr = this.mColliAccettazioneRESTConsumer.synchronousEditUDCRow(editUDCRowRequest);
if (mTipologiaReso == Tipologia.VENDITA) {
EditUDCRowRequestDTO editUDCRowRequest = new EditUDCRowRequestDTO()
.setSourceMtbColr(mtbColrToUpdate)
.setNewNumCnf(numCnf)
.setNewQtaCnf(qtaCnf)
.setNewQtaTot(qtaTot)
.setNewPartitaMag(partitaMag)
.setNewDataScad(dataScad);
updatedMtbColr = this.mColliAccettazioneRESTConsumer.synchronousEditUDCRow(editUDCRowRequest);
} else if (mTipologiaReso == Tipologia.ACQUISTO) {
EditUDSRowRequestDTO editUDSRowRequest = new EditUDSRowRequestDTO()
.setSourceMtbColr(mtbColrToUpdate)
.setNewNumCnf(numCnf)
.setNewQtaCnf(qtaCnf)
.setNewQtaTot(qtaTot);
updatedMtbColr = this.mColliSpedizioneRESTConsumer.editUDSRowSynchronized(editUDSRowRequest);
} else {
throw new UnsupportedOperationException("Tipologia di reso non supportata: " + mTipologiaReso);
}
updatedMtbColr
.setUntMis(mtbColrToUpdate.getUntMis())
@@ -647,10 +675,16 @@ public class PickingResiViewModel {
var canDelete = this.sendMtbColrDeleteRequest();
if (canDelete) {
DeleteUDCRowRequestDTO deleteUDCRowRequest = new DeleteUDCRowRequestDTO()
.setMtbColrToDelete(mtbColrToDelete);
if (mTipologiaReso == Tipologia.VENDITA) {
this.mColliAccettazioneRESTConsumer.synchronousDeleteUDCRow(new DeleteUDCRowRequestDTO()
.setMtbColrToDelete(mtbColrToDelete));
this.mColliAccettazioneRESTConsumer.synchronousDeleteUDCRow(deleteUDCRowRequest);
} else if (mTipologiaReso == Tipologia.ACQUISTO) {
this.mColliSpedizioneRESTConsumer.deleteUDSRowSynchronized(new DeleteUDSRowRequestDTO()
.setMtbColrToDelete(mtbColrToDelete));
} else
throw new UnsupportedOperationException("Tipologia di reso non supportata: " + mTipologiaReso);
Optional<WithdrawableDtbDocr> pickingObjectDTO = this.mPickingList.getValue().stream()
@@ -840,4 +874,26 @@ public class PickingResiViewModel {
void onFilterRemoved();
}
public enum Tipologia {
ACQUISTO((short) -1),
VENDITA((short) +1);
private final short value;
Tipologia(short value) {
this.value = value;
}
public short getValue() {
return this.value;
}
public static Tipologia fromShort(short value) {
for (Tipologia b : Tipologia.values()) {
if (b.value == value) return b;
}
return null;
}
}
}

View File

@@ -41,6 +41,7 @@ import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneCliente
import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteListHeaderBinding;
import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteListSingleItemBinding;
import it.integry.integrywmsnative.gest.picking_resi.PickingResiActivity;
import it.integry.integrywmsnative.gest.picking_resi.PickingResiViewModel;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.dialog.DialogUltimeConsegneFiltroAvanzatoView;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
import kotlin.Unit;
@@ -296,7 +297,10 @@ public class UltimeConsegneClienteFragment extends BaseFragment implements Ultim
private void dispatchConsegne() {
List<DocumentoResoDTO> selectedConsegne = getSelectedItems();
PickingResiActivity.startActivity(getActivity(), getActivity().getText(R.string.ultime_consegne_cliente_title).toString(), selectedConsegne, +1);
PickingResiActivity.startActivity(getActivity(),
requireActivity().getText(R.string.ultime_consegne_cliente_title).toString(),
selectedConsegne,
PickingResiViewModel.Tipologia.VENDITA);
}
public void removeBarcodeFilter() {

View File

@@ -44,6 +44,7 @@ import it.integry.integrywmsnative.databinding.FragmentUltimiArriviFornitoreBind
import it.integry.integrywmsnative.databinding.FragmentUltimiArriviFornitoreListHeaderBinding;
import it.integry.integrywmsnative.databinding.FragmentUltimiArriviFornitoreListSingleItemBinding;
import it.integry.integrywmsnative.gest.picking_resi.PickingResiActivity;
import it.integry.integrywmsnative.gest.picking_resi.PickingResiViewModel;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.dialog.DialogUltimeConsegneFiltroAvanzatoView;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list.DialogChooseArtsFromMtbColrListView;
@@ -300,7 +301,10 @@ public class UltimiArriviFornitoreFragment extends BaseFragment implements ITitl
private void dispatchArrivi() {
List<DocumentoResoDTO> selectedConsegne = getSelectedItems();
PickingResiActivity.startActivity(getActivity(), requireActivity().getText(R.string.ultime_arrivi_fornitore_title).toString(), selectedConsegne, -1);
PickingResiActivity.startActivity(getActivity(),
requireActivity().getText(R.string.ultime_arrivi_fornitore_title).toString(),
selectedConsegne,
PickingResiViewModel.Tipologia.ACQUISTO);
}

View File

@@ -65,7 +65,7 @@ public class DialogScanOrCreateLUViewModel {
.setCodMdep(SettingsManager.i().getUserSession().getDepo().getCodMdep());
var createResponse = this.mColliLavorazioneRESTConsumer.synchronousCreateUDC(createUdcRequest);
this.sendOnLUOpened(createResponse.getMtbColt(), true);
this.sendOnLUOpened(createResponse, true);
}
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {