Finish v1_6_0(61)
This commit is contained in:
commit
715c25b99f
BIN
.idea/caches/build_file_checksums.ser
generated
BIN
.idea/caches/build_file_checksums.ser
generated
Binary file not shown.
@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services'
|
||||
|
||||
android {
|
||||
|
||||
def appVersionCode = 60
|
||||
def appVersionName = '1.5.0'
|
||||
def appVersionCode = 61
|
||||
def appVersionName = '1.6.0'
|
||||
|
||||
signingConfigs {
|
||||
release {
|
||||
|
||||
@ -24,6 +24,7 @@ public class DBSettingsModel {
|
||||
private boolean flagAskClienteInPickingLibero;
|
||||
|
||||
private boolean flagCanAddExtraItemSpedizione;
|
||||
private boolean flagCanAutoOpenNewULAccettazione;
|
||||
|
||||
public List<String> getAvailableProfiles() {
|
||||
return availableProfiles;
|
||||
@ -120,4 +121,13 @@ public class DBSettingsModel {
|
||||
this.flagCanAddExtraItemSpedizione = flagCanAddExtraItemSpedizione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isFlagCanAutoOpenNewULAccettazione() {
|
||||
return flagCanAutoOpenNewULAccettazione;
|
||||
}
|
||||
|
||||
public DBSettingsModel setFlagCanAutoOpenNewULAccettazione(boolean flagCanAutoOpenNewULAccettazione) {
|
||||
this.flagCanAutoOpenNewULAccettazione = flagCanAutoOpenNewULAccettazione;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@ -195,6 +195,9 @@ public class SettingsManager {
|
||||
GestSetupRESTConsumer.getBooleanValue("PICKING", "SPEDIZIONE", "FLAG_CAN_ADD_EXTRA_ITEMS", valueCanAddExtraItemSpedizione -> {
|
||||
dbSettingsModelIstance.setFlagCanAddExtraItemSpedizione(valueCanAddExtraItemSpedizione);
|
||||
|
||||
GestSetupRESTConsumer.getBooleanValue("PICKING", "ACCETTAZIONE", "FLAG_AUTO_OPEN_NEW_UL", valueCanAutoOpenNewUL -> {
|
||||
dbSettingsModelIstance.setFlagCanAutoOpenNewULAccettazione(valueCanAutoOpenNewUL);
|
||||
|
||||
if(onComplete != null) onComplete.run();
|
||||
|
||||
}, ex -> {
|
||||
@ -224,6 +227,10 @@ public class SettingsManager {
|
||||
}, ex -> {
|
||||
if(onFailed != null) onFailed.run(ex);
|
||||
});
|
||||
|
||||
}, ex -> {
|
||||
if(onFailed != null) onFailed.run(ex);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -328,10 +328,17 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
|
||||
|
||||
if(!thereIsAnOpenedUL()){
|
||||
|
||||
if(SettingsManager.iDB().isFlagCanAutoOpenNewULAccettazione()) {
|
||||
this.createNewUL(null, null, progressDialog, false, () -> {
|
||||
BarcodeManager.enable();
|
||||
this.searchArtInList(mtbAartList.get(0), ean128Model);
|
||||
});
|
||||
} else {
|
||||
BarcodeManager.enable();
|
||||
progressDialog.dismiss();
|
||||
|
||||
showPleaseOpenULDialog();
|
||||
}
|
||||
|
||||
} else {
|
||||
this.searchArtInList(mtbAartList.get(0), ean128Model);
|
||||
@ -387,6 +394,12 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
|
||||
null, null).show();
|
||||
}
|
||||
|
||||
private void showPleaseOpenULDialog() {
|
||||
DialogSimpleMessageHelper.makeWarningDialog(mActivity,
|
||||
new SpannableString(mActivity.getResources().getText(R.string.please_open_lu)),
|
||||
null, null).show();
|
||||
}
|
||||
|
||||
public void showOrderDialog() {
|
||||
|
||||
AlertDialog dialog = new AlertDialog.Builder(mActivity)
|
||||
|
||||
@ -5,7 +5,6 @@ import androidx.databinding.ObservableArrayList;
|
||||
import androidx.databinding.ObservableField;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import android.text.SpannableString;
|
||||
import android.view.View;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.tfb.fbtoast.FBToast;
|
||||
@ -27,6 +26,7 @@ import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsume
|
||||
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
|
||||
import it.integry.integrywmsnative.core.REST.consumers.PosizioniRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.REST.model.Ean128Model;
|
||||
import it.integry.integrywmsnative.core.REST.model.Ean13PesoModel;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||
import it.integry.integrywmsnative.core.class_router.ClassRouter;
|
||||
@ -45,7 +45,9 @@ import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.core.report.ReportManager;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityPosizione;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
@ -60,6 +62,7 @@ import it.integry.integrywmsnative.view.bottomsheet.interfaces.IOnColloClosedCal
|
||||
import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel;
|
||||
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity;
|
||||
@ -125,9 +128,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
||||
});
|
||||
|
||||
mBindings.addExtraItemsToolbar.setOnClickListener((v -> {
|
||||
DialogScanArt.make(mActivity, (status, mtbAart) -> {
|
||||
|
||||
}).show();
|
||||
addExtraItem();
|
||||
}));
|
||||
|
||||
mHelper = new VenditaOrdineInevasoHelper(mActivity);
|
||||
@ -1243,4 +1244,129 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void addExtraItem() {
|
||||
DialogScanArt.make(mActivity, (status, mtbAart, ean128Model) -> {
|
||||
if(status == DialogConsts.Results.YES) {
|
||||
this.dispatchExtraItem(mtbAart, ean128Model);
|
||||
}
|
||||
}).show();
|
||||
}
|
||||
|
||||
|
||||
private void dispatchExtraItem(MtbAart mtbAart, Ean128Model ean128Model){
|
||||
DialogInputQuantity.DTO qtaDto = new DialogInputQuantity.DTO();
|
||||
|
||||
qtaDto.setMtbAart(mtbAart);
|
||||
|
||||
qtaDto.setQtaCnf(mtbAart.getQtaCnf());
|
||||
qtaDto.setNumCnf(1);
|
||||
qtaDto.setQtaTot(mtbAart.getQtaCnf());
|
||||
|
||||
qtaDto.setQtaDaEvadere(new BigDecimal(-1));
|
||||
qtaDto.setQtaDisponibile(new BigDecimal(-1));
|
||||
|
||||
qtaDto.setCanPartitaMagBeChanged(true);
|
||||
qtaDto.setCanDataScadBeChanged(true);
|
||||
|
||||
|
||||
if(ean128Model != null){
|
||||
if(!UtilityString.isNullOrEmpty(ean128Model.BatchLot)) {
|
||||
qtaDto.setBatchLot(ean128Model.BatchLot);
|
||||
qtaDto.setCanPartitaMagBeChanged(false);
|
||||
}
|
||||
|
||||
try {
|
||||
if(!UtilityString.isNullOrEmpty(ean128Model.BestBefore)){
|
||||
qtaDto.setDataScad(UtilityDate.recognizeDate(ean128Model.BestBefore));
|
||||
qtaDto.setCanDataScadBeChanged(false);
|
||||
} else if(!UtilityString.isNullOrEmpty(ean128Model.Expiry)) {
|
||||
qtaDto.setDataScad(UtilityDate.recognizeDate(ean128Model.Expiry));
|
||||
qtaDto.setCanDataScadBeChanged(false);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
UtilityLogger.errorMe(e);
|
||||
}
|
||||
|
||||
|
||||
if(ean128Model.Count != null && ean128Model.Count > 0) {
|
||||
qtaDto.setNumCnf(ean128Model.Count);
|
||||
}
|
||||
|
||||
if (ean128Model.NetWeightKg != null && ean128Model.NetWeightKg > 0) {
|
||||
qtaDto.setQtaTot(new BigDecimal(ean128Model.NetWeightKg));
|
||||
} else {
|
||||
qtaDto.setQtaTot(qtaDto.getQtaCnf().multiply(new BigDecimal(qtaDto.getNumCnf())));
|
||||
}
|
||||
|
||||
|
||||
// qtaDto.setShouldAskDataScad(true);
|
||||
}
|
||||
|
||||
|
||||
DialogInputQuantity.makeBase(mActivity, qtaDto, true, (quantityDTO) -> {
|
||||
onExtraItemDispatched(mtbAart, quantityDTO, false);
|
||||
}, () -> {
|
||||
BarcodeManager.enable();
|
||||
}).show();
|
||||
}
|
||||
|
||||
private void onExtraItemDispatched(MtbAart item, QuantityDTO quantityDTO, boolean closeUL){
|
||||
final ProgressDialog progress = ProgressDialog.show(mActivity, mActivity.getText(R.string.waiting),
|
||||
mActivity.getText(R.string.loading) + " ...", true);
|
||||
|
||||
final MtbColr mtbColr = new MtbColr()
|
||||
.setCodMart(item.getCodMart())
|
||||
.setPartitaMag(UtilityString.empty2null(quantityDTO.batchLot.get()))
|
||||
.setQtaCol(quantityDTO.qtaTot.getBigDecimal())
|
||||
.setQtaCnf(quantityDTO.qtaCnf.getBigDecimal())
|
||||
.setNumCnf(quantityDTO.numCnf.getBigDecimal())
|
||||
.setDescrizione(item.getDescrizioneEstesa())
|
||||
.setDatetimeRow(new Date());
|
||||
|
||||
|
||||
mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
||||
|
||||
MtbColt cloneMtbColt = (MtbColt) mArticoliInColloBottomSheetViewModel.mtbColt.get().clone();
|
||||
cloneMtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP);
|
||||
|
||||
cloneMtbColt.setMtbColr(new ObservableArrayList());
|
||||
cloneMtbColt.getMtbColr().add(mtbColr);
|
||||
|
||||
ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, new ISimpleOperationCallback<MtbColt>() {
|
||||
@Override
|
||||
public void onSuccess(MtbColt value) {
|
||||
|
||||
mtbColr
|
||||
.setDataCollo(value.getDataColloS())
|
||||
.setNumCollo(value.getNumCollo())
|
||||
.setGestione(value.getGestione())
|
||||
.setSerCollo(value.getSerCollo())
|
||||
.setRiga(value.getMtbColr().get(0).getRiga())
|
||||
.setUntMis(item.getUntMis())
|
||||
.setMtbAart(item);
|
||||
|
||||
|
||||
mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr().add(mtbColr);
|
||||
|
||||
//Chiamato removeListFilter perché cosi mi cancella tutti i dati di pick temporanei
|
||||
removeListFilter();
|
||||
|
||||
|
||||
FBToast.successToast(mActivity,mActivity.getResources().getString(R.string.data_saved) ,FBToast.LENGTH_SHORT);
|
||||
|
||||
progress.dismiss();
|
||||
|
||||
if(closeUL) onColloClosed(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailed(Exception ex) {
|
||||
UtilityExceptions.defaultException(mActivity, ex, progress);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -19,6 +19,7 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
|
||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
@ -36,14 +37,14 @@ public class DialogScanArt {
|
||||
private Context mContext;
|
||||
private Dialog mDialog;
|
||||
|
||||
private RunnableArgss<DialogConsts.Results, MtbAart> mOnItemChoosed;
|
||||
private RunnableArgsss<DialogConsts.Results, MtbAart, Ean128Model> mOnItemChoosed;
|
||||
|
||||
public static Dialog make(final Context context, RunnableArgss<DialogConsts.Results, MtbAart> onItemChoosed) {
|
||||
public static Dialog make(final Context context, RunnableArgsss<DialogConsts.Results, MtbAart, Ean128Model> onItemChoosed) {
|
||||
return new DialogScanArt(context, onItemChoosed).mDialog;
|
||||
}
|
||||
|
||||
|
||||
private DialogScanArt(Context context, RunnableArgss<DialogConsts.Results, MtbAart> onItemChoosed) {
|
||||
private DialogScanArt(Context context, RunnableArgsss<DialogConsts.Results, MtbAart, Ean128Model> onItemChoosed) {
|
||||
mContext = context;
|
||||
mOnItemChoosed = onItemChoosed;
|
||||
|
||||
@ -59,7 +60,7 @@ public class DialogScanArt {
|
||||
|
||||
|
||||
bindings.buttonNo.setOnClickListener(v -> {
|
||||
mOnItemChoosed.run(DialogConsts.Results.ABORT, null);
|
||||
mOnItemChoosed.run(DialogConsts.Results.ABORT, null, null);
|
||||
mDialog.dismiss();
|
||||
});
|
||||
|
||||
@ -155,7 +156,7 @@ public class DialogScanArt {
|
||||
BarcodeManager.enable();
|
||||
progressDialog.dismiss();
|
||||
|
||||
mOnItemChoosed.run(DialogConsts.Results.YES, mtbAartList.get(0));
|
||||
mOnItemChoosed.run(DialogConsts.Results.YES, mtbAartList.get(0), ean128Model);
|
||||
mDialog.dismiss();
|
||||
|
||||
|
||||
|
||||
@ -30,6 +30,7 @@
|
||||
<string name="permission_request_message">Questi permessi sono necessari al funzionamento dell\'app</string>
|
||||
<string name="picking_not_available">Picking non disponibile</string>
|
||||
<string name="scan_item">Scansiona il codice a barre di un <b>articolo</b></string>
|
||||
<string name="please_open_lu">Prima di procedere apri una <b>nuova UL</b></string>
|
||||
<string name="extra_item">Articolo extra</string>
|
||||
|
||||
|
||||
|
||||
@ -150,6 +150,7 @@
|
||||
|
||||
<string name="already_used_anonymous_barcode">The scanned label has already been used</string>
|
||||
<string name="no_result_from_barcode">The scanned barcode did not produce any results</string>
|
||||
<string name="please_open_lu">Before continuing open new LU</string>
|
||||
<string name="multiple_results_from_barcode">The scanned barcode produced multiple results</string>
|
||||
|
||||
<string name="filtered_arts_in_list">Item filter applied</string>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user