Finish v1_6_0(61)

This commit is contained in:
Giuseppe Scorrano 2019-06-13 19:35:13 +02:00
commit 715c25b99f
9 changed files with 174 additions and 15 deletions

Binary file not shown.

View File

@ -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 {

View File

@ -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;
}
}

View File

@ -195,7 +195,14 @@ public class SettingsManager {
GestSetupRESTConsumer.getBooleanValue("PICKING", "SPEDIZIONE", "FLAG_CAN_ADD_EXTRA_ITEMS", valueCanAddExtraItemSpedizione -> {
dbSettingsModelIstance.setFlagCanAddExtraItemSpedizione(valueCanAddExtraItemSpedizione);
if(onComplete != null) onComplete.run();
GestSetupRESTConsumer.getBooleanValue("PICKING", "ACCETTAZIONE", "FLAG_AUTO_OPEN_NEW_UL", valueCanAutoOpenNewUL -> {
dbSettingsModelIstance.setFlagCanAutoOpenNewULAccettazione(valueCanAutoOpenNewUL);
if(onComplete != null) onComplete.run();
}, ex -> {
if(onFailed != null) onFailed.run(ex);
});
}, ex -> {
if(onFailed != null) onFailed.run(ex);

View File

@ -328,10 +328,17 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
if(!thereIsAnOpenedUL()){
this.createNewUL(null, null, progressDialog, false, () -> {
if(SettingsManager.iDB().isFlagCanAutoOpenNewULAccettazione()) {
this.createNewUL(null, null, progressDialog, false, () -> {
BarcodeManager.enable();
this.searchArtInList(mtbAartList.get(0), ean128Model);
});
} else {
BarcodeManager.enable();
this.searchArtInList(mtbAartList.get(0), ean128Model);
});
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)

View File

@ -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);
}
});
}
}

View File

@ -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();

View File

@ -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>

View File

@ -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>