Merge branch 'develop' into master-beta
# Conflicts: # app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java # app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneModule.java # app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java
This commit is contained in:
@@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
def appVersionCode = 483
|
def appVersionCode = 484
|
||||||
def appVersionName = '1.45.01'
|
def appVersionName = '1.45.02'
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ import android.widget.Toast;
|
|||||||
import androidx.appcompat.widget.PopupMenu;
|
import androidx.appcompat.widget.PopupMenu;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.databinding.ObservableArrayList;
|
import androidx.databinding.ObservableArrayList;
|
||||||
import androidx.lifecycle.MutableLiveData;
|
|
||||||
import androidx.preference.PreferenceManager;
|
import androidx.preference.PreferenceManager;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
@@ -26,8 +25,6 @@ import java.time.LocalDate;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.concurrent.CountDownLatch;
|
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
@@ -107,16 +104,17 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
|
|
||||||
private final ObservableArrayList<SpedizioneListModel> mSpedizioneMutableData = new ObservableArrayList<>();
|
private final ObservableArrayList<SpedizioneListModel> mSpedizioneMutableData = new ObservableArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
public BindableBoolean addExtraItemsEnabled = new BindableBoolean(false);
|
public BindableBoolean addExtraItemsEnabled = new BindableBoolean(false);
|
||||||
public BindableBoolean noItemsToPick = new BindableBoolean(false);
|
public BindableBoolean noItemsToPick = new BindableBoolean(false);
|
||||||
public MutableLiveData<Boolean> noLUPresent = new MutableLiveData<>(true);
|
public BindableBoolean noLUPresent = new BindableBoolean(true);
|
||||||
public BindableBoolean bottomSheetEnabled = new BindableBoolean(false);
|
public BindableBoolean bottomSheetEnabled = new BindableBoolean(false);
|
||||||
|
|
||||||
private boolean mEnableFakeGiacenza;
|
private boolean mEnableFakeGiacenza;
|
||||||
private boolean mFlagShowCodForn;
|
private boolean mFlagShowCodForn;
|
||||||
private boolean mDivideByGrpMerc;
|
private boolean mDivideByGrpMerc;
|
||||||
private boolean mEnableQuantityReset;
|
private boolean mEnableQuantityReset;
|
||||||
private int mBarcodeScannerInstanceID = -1;
|
private int barcodeScannerIstanceID = -1;
|
||||||
|
|
||||||
private ArrayList<SitArtOrdDTO> mSitArtOrd;
|
private ArrayList<SitArtOrdDTO> mSitArtOrd;
|
||||||
private ArrayList<OrdineUscitaInevasoDTO> mTestateOrdini;
|
private ArrayList<OrdineUscitaInevasoDTO> mTestateOrdini;
|
||||||
@@ -245,38 +243,31 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
|
|
||||||
if (this.mBindings.bottomSheetLuContent.isExpanded()) {
|
if (this.mBindings.bottomSheetLuContent.isExpanded()) {
|
||||||
this.mBindings.bottomSheetLuContent.collapse();
|
this.mBindings.bottomSheetLuContent.collapse();
|
||||||
} else if (!noLUPresent.getValue()) {
|
} else if (!noLUPresent.get()) {
|
||||||
this.mShouldCloseActivity = true;
|
this.mShouldCloseActivity = true;
|
||||||
BarcodeManager.removeCallback(mBarcodeScannerInstanceID);
|
BarcodeManager.removeCallback(barcodeScannerIstanceID);
|
||||||
executorService.execute(() -> {
|
this.mViewmodel.requestCloseLU(true);
|
||||||
try {
|
|
||||||
this.mViewmodel.requestCloseLU(true);
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
BarcodeManager.removeCallback(mBarcodeScannerInstanceID);
|
BarcodeManager.removeCallback(barcodeScannerIstanceID);
|
||||||
handler.post(() -> {
|
super.onBackPressed();
|
||||||
super.onBackPressed();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initVars() {
|
private void initVars() {
|
||||||
this.noLUPresent.observeForever(newValue -> {
|
this.noLUPresent.addOnPropertyChangedCallback(() -> {
|
||||||
this.bottomSheetEnabled.set(!newValue);
|
this.bottomSheetEnabled.set(!this.noLUPresent.get());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initBarcodeReader() {
|
private void initBarcodeReader() {
|
||||||
mBarcodeScannerInstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||||
.setOnScanSuccessful(onScanSuccessful)
|
.setOnScanSuccessful(onScanSuccessful)
|
||||||
.setOnScanFailed(this::onError));
|
.setOnScanFailed(this::onError));
|
||||||
|
|
||||||
BarcodeManager.enable(mBarcodeScannerInstanceID);
|
BarcodeManager.enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -333,19 +324,13 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
this.mBindings.spedizionePickingList.setLayoutManager(new LinearLayoutManager(this));
|
this.mBindings.spedizionePickingList.setLayoutManager(new LinearLayoutManager(this));
|
||||||
|
|
||||||
RunnableArgssss<PickingObjectDTO, MtbColt, MtbColr, Boolean> onItemClicked = (clickedItem, refMtbColt, refMtbColr, executeImmediately) -> {
|
RunnableArgssss<PickingObjectDTO, MtbColt, MtbColr, Boolean> onItemClicked = (clickedItem, refMtbColt, refMtbColr, executeImmediately) -> {
|
||||||
executorService.execute(() -> {
|
if (!noLUPresent.get() &&
|
||||||
if (!noLUPresent.getValue() &&
|
((SettingsManager.iDB().isFlagSpedizioneEnableManualPick() &&
|
||||||
((SettingsManager.iDB().isFlagSpedizioneEnableManualPick() &&
|
clickedItem.getSitArtOrdDTO().isFlagEnablePickManuale()) ||
|
||||||
clickedItem.getSitArtOrdDTO().isFlagEnablePickManuale()) ||
|
clickedItem.getTempPickData() != null)) {
|
||||||
clickedItem.getTempPickData() != null)) {
|
this.mViewmodel.dispatchOrdineRow(clickedItem, refMtbColt, refMtbColr,
|
||||||
try {
|
SettingsManager.iDB().isFlagSpedizioneEnableManualPick() && clickedItem.getSitArtOrdDTO().isFlagEnablePickManuale(), executeImmediately);
|
||||||
this.mViewmodel.dispatchOrdineRow(clickedItem, refMtbColt, refMtbColr,
|
}
|
||||||
SettingsManager.iDB().isFlagSpedizioneEnableManualPick() && clickedItem.getSitArtOrdDTO().isFlagEnablePickManuale(), executeImmediately);
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
spedizioneListAdapter.setOnItemClicked(onItemClicked);
|
spedizioneListAdapter.setOnItemClicked(onItemClicked);
|
||||||
@@ -728,15 +713,9 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
|
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
|
||||||
this.onLoadingStarted();
|
this.onLoadingStarted();
|
||||||
|
|
||||||
executorService.execute(() -> {
|
this.mViewmodel.processBarcodeDTO(data, () -> {
|
||||||
try {
|
this.onLoadingEnded();
|
||||||
this.mViewmodel.processBarcodeDTO(data);
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError(e);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
this.onLoadingEnded();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
public void addExtraItem() {
|
public void addExtraItem() {
|
||||||
@@ -744,27 +723,11 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
DialogScanArtView
|
DialogScanArtView
|
||||||
.newInstance(!mEnableFakeGiacenza, (status, mtbAart, ean128Model, mtbColr) -> {
|
.newInstance(!mEnableFakeGiacenza, (status, mtbAart, ean128Model, mtbColr) -> {
|
||||||
if (status == DialogConsts.Results.YES) {
|
if (status == DialogConsts.Results.YES) {
|
||||||
|
this.mViewmodel.dispatchExtraItem(mtbAart, ean128Model, mtbColr);
|
||||||
executorService.execute(() -> {
|
|
||||||
try {
|
|
||||||
this.mViewmodel.dispatchExtraItem(mtbAart, ean128Model, mtbColr);
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}, pickMagazzinoAutomaticoPosizione -> {
|
}, pickMagazzinoAutomaticoPosizione -> {
|
||||||
this.onLoadingStarted();
|
this.onLoadingStarted();
|
||||||
|
this.mViewmodel.executeEmptyMagazzinoAutomaticoRequest(pickMagazzinoAutomaticoPosizione, this::onLoadingEnded);
|
||||||
executorService.execute(() -> {
|
|
||||||
try {
|
|
||||||
this.mViewmodel.executeEmptyMagazzinoAutomaticoRequest(pickMagazzinoAutomaticoPosizione);
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError(e);
|
|
||||||
}
|
|
||||||
this.onLoadingEnded();
|
|
||||||
});
|
|
||||||
})
|
})
|
||||||
.show(getSupportFragmentManager(), "tag");
|
.show(getSupportFragmentManager(), "tag");
|
||||||
});
|
});
|
||||||
@@ -772,13 +735,13 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
|
|
||||||
public void startManualSearch() {
|
public void startManualSearch() {
|
||||||
handler.post(() -> {
|
handler.post(() -> {
|
||||||
BarcodeManager.disable(mBarcodeScannerInstanceID);
|
BarcodeManager.disable();
|
||||||
DialogSimpleInputHelper.makeInputDialog(this, "Inserisci il codice a barre", codice -> {
|
DialogSimpleInputHelper.makeInputDialog(this, "Inserisci il codice a barre", codice -> {
|
||||||
|
|
||||||
this.onScanSuccessful.run(new BarcodeScanDTO().setStringValue(codice).setType(BarcodeType.CODE128));
|
this.onScanSuccessful.run(new BarcodeScanDTO().setStringValue(codice).setType(BarcodeType.CODE128));
|
||||||
BarcodeManager.enable(mBarcodeScannerInstanceID);
|
BarcodeManager.enable();
|
||||||
|
|
||||||
}, () -> BarcodeManager.enable(mBarcodeScannerInstanceID)).show();
|
}, BarcodeManager::enable).show();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -794,13 +757,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
|
|
||||||
this.onLoadingStarted();
|
this.onLoadingStarted();
|
||||||
|
|
||||||
executorService.execute(() -> {
|
this.mViewmodel.createNewLU(null, null, () -> {
|
||||||
try {
|
this.onLoadingEnded();
|
||||||
this.mViewmodel.createNewLU(null, null);
|
|
||||||
this.onLoadingEnded();
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError(e);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -835,23 +793,15 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
|
|
||||||
public void closeOrder() {
|
public void closeOrder() {
|
||||||
this.fabPopupMenu.dismiss();
|
this.fabPopupMenu.dismiss();
|
||||||
this.onLoadingStarted();
|
|
||||||
|
|
||||||
executorService.execute(() -> {
|
this.mViewmodel.closeOrder();
|
||||||
try {
|
|
||||||
this.mViewmodel.closeOrder();
|
|
||||||
this.onLoadingEnded();
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLUOpened(MtbColt mtbColt) {
|
public void onLUOpened(MtbColt mtbColt) {
|
||||||
handler.post(() -> {
|
handler.post(() -> {
|
||||||
this.addExtraItemsEnabled.set(SettingsManager.iDB().isFlagCanAddExtraItemSpedizione());
|
this.addExtraItemsEnabled.set(SettingsManager.iDB().isFlagCanAddExtraItemSpedizione());
|
||||||
noLUPresent.postValue(false);
|
noLUPresent.set(false);
|
||||||
|
|
||||||
Snackbar.make(mBindings.getRoot(), R.string.data_saved, Snackbar.LENGTH_SHORT)
|
Snackbar.make(mBindings.getRoot(), R.string.data_saved, Snackbar.LENGTH_SHORT)
|
||||||
.setBackgroundTint(getResources().getColor(R.color.green_500))
|
.setBackgroundTint(getResources().getColor(R.color.green_500))
|
||||||
@@ -865,7 +815,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
public void onLUClosed() {
|
public void onLUClosed() {
|
||||||
handler.post(() -> {
|
handler.post(() -> {
|
||||||
this.addExtraItemsEnabled.set(false);
|
this.addExtraItemsEnabled.set(false);
|
||||||
noLUPresent.postValue(true);
|
noLUPresent.set(true);
|
||||||
this.mBottomSheetFragmentLUContentViewModel.setMtbColt(null);
|
this.mBottomSheetFragmentLUContentViewModel.setMtbColt(null);
|
||||||
|
|
||||||
if (this.mShouldCloseActivity) super.onBackPressed();
|
if (this.mShouldCloseActivity) super.onBackPressed();
|
||||||
@@ -875,7 +825,9 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
@Override
|
@Override
|
||||||
public void onLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss<String, BigDecimal, BigDecimal> onComplete) {
|
public void onLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss<String, BigDecimal, BigDecimal> onComplete) {
|
||||||
handler.post(() -> {
|
handler.post(() -> {
|
||||||
DialogInputPesoLUView.newInstance(codTcol, netWeightKG, grossWeightKG, onComplete)
|
DialogInputPesoLUView.newInstance(null, new BigDecimal(50), new BigDecimal(55), (newCodTcol, newNetWeight, newGrossWeight) -> {
|
||||||
|
onComplete.run(newCodTcol, netWeightKG, grossWeightKG);
|
||||||
|
})
|
||||||
.show(getSupportFragmentManager(), "tag");
|
.show(getSupportFragmentManager(), "tag");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -946,9 +898,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(Exception ex, boolean useSnackbar) {
|
public void onError(Exception ex, boolean useSnackbar) {
|
||||||
|
|
||||||
handler.post(() -> {
|
handler.post(() -> {
|
||||||
|
|
||||||
this.onLoadingEnded();
|
this.onLoadingEnded();
|
||||||
|
|
||||||
if (ex instanceof InvalidPesoKGException) {
|
if (ex instanceof InvalidPesoKGException) {
|
||||||
@@ -960,8 +910,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
UtilityExceptions.defaultException(this, ex);
|
UtilityExceptions.defaultException(this, ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
BarcodeManager.enable(mBarcodeScannerInstanceID);
|
BarcodeManager.enable();
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -984,8 +933,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
LocalDate dataScad,
|
LocalDate dataScad,
|
||||||
boolean canOverflowOrderQuantity,
|
boolean canOverflowOrderQuantity,
|
||||||
boolean canPartitaMagBeChanged,
|
boolean canPartitaMagBeChanged,
|
||||||
RunnableArgs<PickedQuantityDTO> onComplete,
|
RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
|
||||||
Runnable onAbort) {
|
|
||||||
|
|
||||||
if (dataScad == null && pickingObjectDTO.getMtbAart().getGgScadPartita() != null && pickingObjectDTO.getMtbAart().getGgScadPartita() > 0) {
|
if (dataScad == null && pickingObjectDTO.getMtbAart().getGgScadPartita() != null && pickingObjectDTO.getMtbAart().getGgScadPartita() > 0) {
|
||||||
dataScad = UtilityDate.getNow();
|
dataScad = UtilityDate.getNow();
|
||||||
@@ -1014,29 +962,25 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
||||||
.setStatoPartitaMag(pickingObjectDTO != null ? pickingObjectDTO.getStatoArticoloDTO() : null)
|
.setStatoPartitaMag(pickingObjectDTO != null ? pickingObjectDTO.getStatoArticoloDTO() : null)
|
||||||
.setNotifyProductLotStatus(SettingsManager.iDB().isNotifyLotStatus())
|
.setNotifyProductLotStatus(SettingsManager.iDB().isNotifyLotStatus())
|
||||||
.setMtbPartitaMagList(mViewmodel.getmPartitaMagList())
|
.setMtbPartitaMagList(mViewmodel.getmPartitaMagList());
|
||||||
.setEnableSSCCRead(SettingsManager.iDB().isFlagSpedizioneEnableFastPicking());
|
|
||||||
|
|
||||||
if (!mDialogInputQuantityV2View.isVisible())
|
if (!mDialogInputQuantityV2View.isVisible())
|
||||||
mDialogInputQuantityV2View
|
mDialogInputQuantityV2View
|
||||||
.setDialogInputQuantityV2DTO(dialogInputQuantityV2DTO)
|
.setDialogInputQuantityV2DTO(dialogInputQuantityV2DTO)
|
||||||
.setOnComplete(resultDTO -> {
|
.setOnComplete((resultDTO, shouldCloseLU) -> {
|
||||||
if (resultDTO == null || resultDTO.isAborted()) {
|
|
||||||
onAbort.run();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
||||||
.setNumCnf(resultDTO.getNumCnf())
|
.setNumCnf(resultDTO.getNumCnf())
|
||||||
.setQtaCnf(resultDTO.getQtaCnf())
|
.setQtaCnf(resultDTO.getQtaCnf())
|
||||||
.setQtaTot(resultDTO.getQtaTot())
|
.setQtaTot(resultDTO.getQtaTot())
|
||||||
.setPartitaMag(resultDTO.getPartitaMag())
|
.setPartitaMag(resultDTO.getPartitaMag())
|
||||||
.setDataScad(resultDTO.getDataScad())
|
.setDataScad(resultDTO.getDataScad());
|
||||||
.setShouldCloseLu(resultDTO.isShouldCloseLu())
|
|
||||||
.setNextUlBarcode(resultDTO.getNextUlBarcode());
|
this.onLoadingStarted();
|
||||||
onComplete.run(pickedQuantityDTO);
|
onComplete.run(pickedQuantityDTO, shouldCloseLU);
|
||||||
|
})
|
||||||
|
.setOnAbort(() -> {
|
||||||
|
this.mViewmodel.resetMatchedRows();
|
||||||
})
|
})
|
||||||
.setOnAbort(onAbort)
|
|
||||||
.show(getSupportFragmentManager(), "tag");
|
.show(getSupportFragmentManager(), "tag");
|
||||||
else Toast.makeText(this, "Dialog già a video", Toast.LENGTH_LONG).show();
|
else Toast.makeText(this, "Dialog già a video", Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
@@ -1062,113 +1006,66 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
}).show(getSupportFragmentManager(), "tag");
|
}).show(getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean askShouldPrintPackingList() {
|
public void askShouldPrintPackingList(PrintOrderCloseDTO printOrderCloseDTO, RunnableArgs<PrintOrderCloseDTO> onComplete) {
|
||||||
AtomicReference<Boolean> resultPrintPackingList = new AtomicReference<>();
|
DialogSimpleMessageView.makeInfoDialog(
|
||||||
CountDownLatch countDownLatch = new CountDownLatch(1);
|
getResources().getString(R.string.action_close_order),
|
||||||
|
new SpannableString(getResources().getString(R.string.message_print_packing_list_on_close_order)),
|
||||||
handler.post(() -> {
|
null,
|
||||||
DialogSimpleMessageView.makeInfoDialog(
|
() -> {
|
||||||
getResources().getString(R.string.action_close_order),
|
printOrderCloseDTO.setFlagPrintPackingList(true);
|
||||||
new SpannableString(getResources().getString(R.string.message_print_packing_list_on_close_order)),
|
if (SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()) {
|
||||||
null,
|
this.askShouldPrintSSCC(printOrderCloseDTO, onComplete);
|
||||||
() -> {
|
} else {
|
||||||
resultPrintPackingList.set(true);
|
onComplete.run(printOrderCloseDTO);
|
||||||
countDownLatch.countDown();
|
|
||||||
},
|
|
||||||
() -> {
|
|
||||||
resultPrintPackingList.set(false);
|
|
||||||
countDownLatch.countDown();
|
|
||||||
}
|
}
|
||||||
)
|
},
|
||||||
.show(getSupportFragmentManager(), "tag");
|
() -> {
|
||||||
});
|
printOrderCloseDTO.setFlagPrintPackingList(false);
|
||||||
|
if (SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()) {
|
||||||
|
this.askShouldPrintSSCC(printOrderCloseDTO, onComplete);
|
||||||
try {
|
} else {
|
||||||
countDownLatch.await();
|
onComplete.run(printOrderCloseDTO);
|
||||||
} catch (InterruptedException e) {
|
}
|
||||||
this.onError(e);
|
}
|
||||||
}
|
)
|
||||||
|
.show(getSupportFragmentManager(), "tag");
|
||||||
return resultPrintPackingList.get();
|
|
||||||
//
|
|
||||||
// boolean printPackingList = resultPrintPackingList.get();
|
|
||||||
// printOrderCloseDTO.setFlagPrintPackingList(printPackingList);
|
|
||||||
//
|
|
||||||
// if (SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()) {
|
|
||||||
// var shouldPrintSSCCResult = this.askShouldPrintSSCC(printOrderCloseDTO);
|
|
||||||
//
|
|
||||||
// printOrderCloseDTO.setFlagPrintSSCC(shouldPrintSSCCResult.isFlagPrintSSCC());
|
|
||||||
// printOrderCloseDTO.setFlagSkipPrintedSSCC(shouldPrintSSCCResult.isFlagSkipPrintedSSCC());
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// return printOrderCloseDTO;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public DialogPrintOrderSSCCListView.Result askShouldPrintSSCC(PrintOrderCloseDTO printOrderCloseDTO) {
|
public void askShouldPrintSSCC(PrintOrderCloseDTO printOrderCloseDTO, RunnableArgs<PrintOrderCloseDTO> onComplete) {
|
||||||
AtomicReference<DialogPrintOrderSSCCListView.Result> result = new AtomicReference<>();
|
DialogPrintOrderSSCCListView.newInstance(printOrderCloseDTO, onComplete).show(this.getSupportFragmentManager(), "dialogPrintOrderSSCCListView");
|
||||||
CountDownLatch countDownLatch = new CountDownLatch(1);
|
|
||||||
|
|
||||||
handler.post(() -> {
|
|
||||||
DialogPrintOrderSSCCListView.newInstance(printOrderCloseDTO, data -> {
|
|
||||||
result.set(data);
|
|
||||||
countDownLatch.countDown();
|
|
||||||
})
|
|
||||||
.show(this.getSupportFragmentManager(), "dialogPrintOrderSSCCListView");
|
|
||||||
});
|
|
||||||
|
|
||||||
try {
|
|
||||||
countDownLatch.await();
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
this.onError(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
return result.get();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBatchLotSelectionRequest(List<MtbPartitaMag> availableBatchLots, RunnableArgs<MtbPartitaMag> onComplete) {
|
public void onBatchLotSelectionRequest(List<MtbPartitaMag> availableBatchLots, RunnableArgs<MtbPartitaMag> onComplete) {
|
||||||
handler.post(() -> {
|
DialogChooseBatchLotView.newInstance(availableBatchLots, onComplete)
|
||||||
DialogChooseBatchLotView.newInstance(availableBatchLots, onComplete)
|
.show(getSupportFragmentManager(), "tag");
|
||||||
.show(getSupportFragmentManager(), "tag");
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PrintOrderCloseDTO onCloseOrderPrintRequest() {
|
public void onCloseOrderPrintRequest(RunnableArgs<PrintOrderCloseDTO> onComplete) {
|
||||||
PrintOrderCloseDTO printOrderCloseDTO = new PrintOrderCloseDTO();
|
PrintOrderCloseDTO printOrderCloseDTO = new PrintOrderCloseDTO();
|
||||||
|
|
||||||
if (SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()) {
|
if (SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()) {
|
||||||
var result = this.askShouldPrintPackingList();
|
this.askShouldPrintPackingList(printOrderCloseDTO, onComplete);
|
||||||
printOrderCloseDTO.setFlagPrintPackingList(result);
|
} else if (SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()) {
|
||||||
|
this.askShouldPrintSSCC(printOrderCloseDTO, onComplete);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()) {
|
|
||||||
var shouldPrintSSCC = this.askShouldPrintSSCC(printOrderCloseDTO);
|
|
||||||
|
|
||||||
printOrderCloseDTO.setFlagPrintSSCC(shouldPrintSSCC.isFlagPrintSSCC());
|
|
||||||
printOrderCloseDTO.setFlagSkipPrintedSSCC(shouldPrintSSCC.isFlagSkipPrintedSSCC());
|
|
||||||
}
|
|
||||||
|
|
||||||
return printOrderCloseDTO;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreateDocsRequest() {
|
public void onCreateDocsRequest() {
|
||||||
handler.post(() -> {
|
DialogYesNoView.newInstance("Chiusura ordine", "Vuoi creare i documenti per gli ordini selezionati?", result -> {
|
||||||
DialogYesNoView.newInstance("Chiusura ordine", "Vuoi creare i documenti per gli ordini selezionati?", result -> {
|
|
||||||
|
|
||||||
switch (result) {
|
switch (result) {
|
||||||
case YES:
|
case YES:
|
||||||
this.mViewmodel.createDocs();
|
this.mViewmodel.createDocs();
|
||||||
break;
|
break;
|
||||||
case NO:
|
case NO:
|
||||||
this.onOrderClosed();
|
this.onOrderClosed();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}).show(this.getSupportFragmentManager(), "tag");
|
}).show(this.getSupportFragmentManager(), "tag");
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1178,8 +1075,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onChooseArtsRequest(List<MtbAart> artsList, RunnableArgs<List<MtbAart>> onComplete, Runnable onAbort) {
|
public void onChooseArtsRequest(List<MtbAart> artsList, RunnableArgs<List<MtbAart>> onComplete) {
|
||||||
DialogChooseArtsFromMtbAartListView.newInstance(artsList, onComplete, onAbort)
|
DialogChooseArtsFromMtbAartListView.newInstance(artsList, onComplete, this::onLoadingEnded)
|
||||||
.show(getSupportFragmentManager(), "tag");
|
.show(getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1208,37 +1105,17 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBottomSheetLUClose() {
|
public void onBottomSheetLUClose() {
|
||||||
executorService.execute(() -> {
|
this.mViewmodel.requestCloseLU(true);
|
||||||
try {
|
|
||||||
this.mViewmodel.requestCloseLU(true);
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMtbColrEdit(MtbColr mtbColr) {
|
public void onMtbColrEdit(MtbColr mtbColr) {
|
||||||
executorService.execute(() -> {
|
this.mViewmodel.dispatchRowEdit(mtbColr);
|
||||||
this.onLoadingStarted();
|
|
||||||
try {
|
|
||||||
this.mViewmodel.dispatchRowEdit(mtbColr);
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError(e);
|
|
||||||
}
|
|
||||||
this.onLoadingEnded();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMtbColrDelete(MtbColr mtbColr) {
|
public void onMtbColrDelete(MtbColr mtbColr) {
|
||||||
executorService.execute(() -> {
|
this.mViewmodel.requestDeleteRow(mtbColr);
|
||||||
try {
|
|
||||||
this.mViewmodel.requestDeleteRow(mtbColr);
|
|
||||||
} catch (Exception e) {
|
|
||||||
onError(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package it.integry.integrywmsnative.gest.spedizione;
|
package it.integry.integrywmsnative.gest.spedizione;
|
||||||
|
|
||||||
|
import android.os.Handler;
|
||||||
|
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
|
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
@@ -41,7 +43,8 @@ public class SpedizioneModule {
|
|||||||
MagazzinoAutomaticoRESTConsumer magazzinoAutomaticoRESTConsumer,
|
MagazzinoAutomaticoRESTConsumer magazzinoAutomaticoRESTConsumer,
|
||||||
ImballiRESTConsumer imballiRESTConsumer,
|
ImballiRESTConsumer imballiRESTConsumer,
|
||||||
MagazzinoRESTConsumer magazzinoRESTConsumer,
|
MagazzinoRESTConsumer magazzinoRESTConsumer,
|
||||||
ExecutorService executorService) {
|
ExecutorService executorService,
|
||||||
|
Handler handler) {
|
||||||
return new SpedizioneViewModel(articoloRESTConsumer,
|
return new SpedizioneViewModel(articoloRESTConsumer,
|
||||||
barcodeRESTConsumer,
|
barcodeRESTConsumer,
|
||||||
colliDataRecoverService,
|
colliDataRecoverService,
|
||||||
@@ -55,7 +58,8 @@ public class SpedizioneModule {
|
|||||||
magazzinoAutomaticoRESTConsumer,
|
magazzinoAutomaticoRESTConsumer,
|
||||||
imballiRESTConsumer,
|
imballiRESTConsumer,
|
||||||
magazzinoRESTConsumer,
|
magazzinoRESTConsumer,
|
||||||
executorService);
|
executorService,
|
||||||
|
handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user