Completato refactoring picking per resi fornitore
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user