Creata gestione fabbisogni linea di produzione
This commit is contained in:
parent
278f13ca6d
commit
14035b4c92
@ -13,8 +13,10 @@ import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoComponent;
|
|||||||
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoModule;
|
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoModule;
|
||||||
import it.integry.integrywmsnative.gest.picking_resi.PickingResiComponent;
|
import it.integry.integrywmsnative.gest.picking_resi.PickingResiComponent;
|
||||||
import it.integry.integrywmsnative.gest.picking_resi.PickingResiModule;
|
import it.integry.integrywmsnative.gest.picking_resi.PickingResiModule;
|
||||||
import it.integry.integrywmsnative.gest.prod_posizionamento_da_ord.ProdPosizionamentoDaOrdComponent;
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisognoLineeProdComponent;
|
||||||
import it.integry.integrywmsnative.gest.prod_posizionamento_da_ord.ProdPosizionamentoDaOrdModule;
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisognoLineeProdModule;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita.DialogAskMagazzinoProssimitaComponent;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita.DialogAskMagazzinoProssimitaModule;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditComponent;
|
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditComponent;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditModule;
|
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditModule;
|
||||||
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdineAcquistoGrigliaComponent;
|
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdineAcquistoGrigliaComponent;
|
||||||
@ -41,10 +43,11 @@ import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtModule;
|
|||||||
SpedizioneModule.class,
|
SpedizioneModule.class,
|
||||||
AccettazionePickingModule.class,
|
AccettazionePickingModule.class,
|
||||||
PickingResiModule.class,
|
PickingResiModule.class,
|
||||||
ProdPosizionamentoDaOrdModule.class,
|
|
||||||
OrdiniUscitaElencoModule.class,
|
OrdiniUscitaElencoModule.class,
|
||||||
DialogInputQuantityV2Module.class,
|
DialogInputQuantityV2Module.class,
|
||||||
DialogScanArtModule.class})
|
DialogScanArtModule.class,
|
||||||
|
ProdFabbisognoLineeProdModule.class,
|
||||||
|
DialogAskMagazzinoProssimitaModule.class})
|
||||||
public interface MainApplicationComponent {
|
public interface MainApplicationComponent {
|
||||||
|
|
||||||
MainActivityComponent.Factory mainActivityComponent();
|
MainActivityComponent.Factory mainActivityComponent();
|
||||||
@ -55,11 +58,11 @@ public interface MainApplicationComponent {
|
|||||||
SpedizioneComponent.Factory spedizioneComponent();
|
SpedizioneComponent.Factory spedizioneComponent();
|
||||||
AccettazionePickingComponent.Factory accettazionePickingComponent();
|
AccettazionePickingComponent.Factory accettazionePickingComponent();
|
||||||
PickingResiComponent.Factory pickingResiComponent();
|
PickingResiComponent.Factory pickingResiComponent();
|
||||||
ProdPosizionamentoDaOrdComponent.Factory prodPosizionamentoDaOrdComponent();
|
|
||||||
OrdiniUscitaElencoComponent.Factory prodOrdineLavorazioneElencoComponent();
|
OrdiniUscitaElencoComponent.Factory prodOrdineLavorazioneElencoComponent();
|
||||||
DialogInputQuantityV2Component.Factory dialogInputQuantityV2Component();
|
DialogInputQuantityV2Component.Factory dialogInputQuantityV2Component();
|
||||||
DialogScanArtComponent.Factory dialogScanArtComponent();
|
DialogScanArtComponent.Factory dialogScanArtComponent();
|
||||||
|
ProdFabbisognoLineeProdComponent.Factory prodFabbisognoLineeProdComponent();
|
||||||
|
DialogAskMagazzinoProssimitaComponent.Factory dialogAskMagazzinoProssimitaComponent();
|
||||||
|
|
||||||
|
|
||||||
void inject(AppContext appContext);
|
void inject(AppContext appContext);
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneFragment;
|
|||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoFragment;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoFragment;
|
||||||
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment;
|
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment;
|
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisognoLineeProdFragment;
|
||||||
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeFragment;
|
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeFragment;
|
||||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment;
|
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment;
|
||||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment;
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment;
|
||||||
@ -92,7 +93,7 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
|||||||
.setTitleText(it.integry.integrywmsnative.R.string.versamento_merce_fragment_title)
|
.setTitleText(it.integry.integrywmsnative.R.string.versamento_merce_fragment_title)
|
||||||
.setTitleIcon(R.drawable.ic_dashboard_prod_versamento_merce)
|
.setTitleIcon(R.drawable.ic_dashboard_prod_versamento_merce)
|
||||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_load_shelf)
|
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_load_shelf)
|
||||||
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, 1)))
|
.setFragmentFactory(ProdFabbisognoLineeProdFragment::newInstance))
|
||||||
|
|
||||||
.addItem(new MenuItem()
|
.addItem(new MenuItem()
|
||||||
.setID(R.id.nav_prod_versamento_materiale)
|
.setID(R.id.nav_prod_versamento_materiale)
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import android.view.KeyEvent;
|
|||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
import it.integry.integrywmsnative.core.exception.MyExceptionHandler;
|
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
|
|
||||||
public class BaseActivity extends AppCompatActivity {
|
public class BaseActivity extends AppCompatActivity {
|
||||||
@ -15,7 +14,7 @@ public class BaseActivity extends AppCompatActivity {
|
|||||||
protected Dialog mCurrentProgress;
|
protected Dialog mCurrentProgress;
|
||||||
|
|
||||||
public BaseActivity() {
|
public BaseActivity() {
|
||||||
Thread.setDefaultUncaughtExceptionHandler(new MyExceptionHandler(this, BaseActivity.class));
|
//Thread.setDefaultUncaughtExceptionHandler(new MyExceptionHandler(this, BaseActivity.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -1,14 +1,17 @@
|
|||||||
package it.integry.integrywmsnative.core.expansion;
|
package it.integry.integrywmsnative.core.expansion;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
|
|
||||||
import androidx.fragment.app.DialogFragment;
|
import androidx.fragment.app.DialogFragment;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
|
|
||||||
public class BaseDialogFragment extends DialogFragment {
|
public class BaseDialogFragment extends DialogFragment {
|
||||||
|
|
||||||
private boolean mBarcodeListener = false;
|
private boolean mBarcodeListener = false;
|
||||||
|
private Dialog mCurrentProgress;
|
||||||
|
|
||||||
public BaseDialogFragment() {
|
public BaseDialogFragment() {
|
||||||
super();
|
super();
|
||||||
@ -34,4 +37,17 @@ public class BaseDialogFragment extends DialogFragment {
|
|||||||
public void setBarcodeListener(boolean listen) {
|
public void setBarcodeListener(boolean listen) {
|
||||||
this.mBarcodeListener = listen;
|
this.mBarcodeListener = listen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void openProgress() {
|
||||||
|
if (this.mCurrentProgress == null) {
|
||||||
|
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(getActivity());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void closeProgress() {
|
||||||
|
if (mCurrentProgress != null) {
|
||||||
|
mCurrentProgress.dismiss();
|
||||||
|
mCurrentProgress = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,26 @@
|
|||||||
|
package it.integry.integrywmsnative.core.expansion;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
|
|
||||||
|
import androidx.fragment.app.Fragment;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
|
|
||||||
|
public class BaseFragment extends Fragment {
|
||||||
|
|
||||||
|
protected Dialog mCurrentProgress;
|
||||||
|
|
||||||
|
|
||||||
|
protected void openProgress() {
|
||||||
|
if (this.mCurrentProgress == null) {
|
||||||
|
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(getActivity());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void closeProgress() {
|
||||||
|
if (mCurrentProgress != null) {
|
||||||
|
mCurrentProgress.dismiss();
|
||||||
|
mCurrentProgress = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -3,7 +3,7 @@ package it.integry.integrywmsnative.core.model;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
public class GtbAnag {
|
public class GtbAnag extends EntityBase {
|
||||||
|
|
||||||
private String codAnag;
|
private String codAnag;
|
||||||
private String ragSoc;
|
private String ragSoc;
|
||||||
@ -45,6 +45,10 @@ public class GtbAnag {
|
|||||||
private String precode;
|
private String precode;
|
||||||
private Boolean insDestinatario;
|
private Boolean insDestinatario;
|
||||||
|
|
||||||
|
public GtbAnag() {
|
||||||
|
this.type = "gtb_anag";
|
||||||
|
}
|
||||||
|
|
||||||
public String getCodAnag() {
|
public String getCodAnag() {
|
||||||
return codAnag;
|
return codAnag;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,180 @@
|
|||||||
|
package it.integry.integrywmsnative.core.model;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
public class JtbFasi extends EntityBase {
|
||||||
|
|
||||||
|
private String codJfas;
|
||||||
|
private String codJfasParent;
|
||||||
|
private String descrizione;
|
||||||
|
private String descrizEstesa;
|
||||||
|
private String codMfas;
|
||||||
|
private String pathIcona;
|
||||||
|
private String umAllocazione;
|
||||||
|
private BigDecimal maxAllocazione;
|
||||||
|
private String codJCal;
|
||||||
|
private String idJfas;
|
||||||
|
private String flagAttivo;
|
||||||
|
private String flagCheck;
|
||||||
|
private String umProd;
|
||||||
|
private BigDecimal prodStd;
|
||||||
|
private String codMdepLav;
|
||||||
|
private String tipoProd;
|
||||||
|
|
||||||
|
public JtbFasi() {
|
||||||
|
this.type = "jtb_fasi";
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodJfas() {
|
||||||
|
return codJfas;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setCodJfas(String codJfas) {
|
||||||
|
this.codJfas = codJfas;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodJfasParent() {
|
||||||
|
return codJfasParent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setCodJfasParent(String codJfasParent) {
|
||||||
|
this.codJfasParent = codJfasParent;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescrizione() {
|
||||||
|
return descrizione;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setDescrizione(String descrizione) {
|
||||||
|
this.descrizione = descrizione;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescrizEstesa() {
|
||||||
|
return descrizEstesa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setDescrizEstesa(String descrizEstesa) {
|
||||||
|
this.descrizEstesa = descrizEstesa;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodMfas() {
|
||||||
|
return codMfas;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setCodMfas(String codMfas) {
|
||||||
|
this.codMfas = codMfas;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPathIcona() {
|
||||||
|
return pathIcona;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setPathIcona(String pathIcona) {
|
||||||
|
this.pathIcona = pathIcona;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUmAllocazione() {
|
||||||
|
return umAllocazione;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setUmAllocazione(String umAllocazione) {
|
||||||
|
this.umAllocazione = umAllocazione;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getMaxAllocazione() {
|
||||||
|
return maxAllocazione;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setMaxAllocazione(BigDecimal maxAllocazione) {
|
||||||
|
this.maxAllocazione = maxAllocazione;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodJCal() {
|
||||||
|
return codJCal;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setCodJCal(String codJCal) {
|
||||||
|
this.codJCal = codJCal;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIdJfas() {
|
||||||
|
return idJfas;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setIdJfas(String idJfas) {
|
||||||
|
this.idJfas = idJfas;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFlagAttivo() {
|
||||||
|
return flagAttivo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setFlagAttivo(String flagAttivo) {
|
||||||
|
this.flagAttivo = flagAttivo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFlagCheck() {
|
||||||
|
return flagCheck;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setFlagCheck(String flagCheck) {
|
||||||
|
this.flagCheck = flagCheck;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUmProd() {
|
||||||
|
return umProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setUmProd(String umProd) {
|
||||||
|
this.umProd = umProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getProdStd() {
|
||||||
|
return prodStd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setProdStd(BigDecimal prodStd) {
|
||||||
|
this.prodStd = prodStd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodMdepLav() {
|
||||||
|
return codMdepLav;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setCodMdepLav(String codMdepLav) {
|
||||||
|
this.codMdepLav = codMdepLav;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTipoProd() {
|
||||||
|
return tipoProd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JtbFasi setTipoProd(String tipoProd) {
|
||||||
|
this.tipoProd = tipoProd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return String.format("%s - %s", getCodJfas(), getDescrizione());
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -9,7 +9,7 @@ import it.integry.integrywmsnative.core.utility.UtilityString;
|
|||||||
* Created by GiuseppeS on 06/03/2018.
|
* Created by GiuseppeS on 06/03/2018.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class MtbAart extends EntityBase{
|
public class MtbAart extends EntityBase {
|
||||||
|
|
||||||
private String codMart;
|
private String codMart;
|
||||||
private String descrizione;
|
private String descrizione;
|
||||||
|
|||||||
@ -135,16 +135,10 @@ public class OrdiniRESTConsumer extends _BaseRESTConsumer {
|
|||||||
baseSql += "(" + UtilityQuery.concatFieldListInWhereCond(whereCondMapList) + ")";
|
baseSql += "(" + UtilityQuery.concatFieldListInWhereCond(whereCondMapList) + ")";
|
||||||
|
|
||||||
Type typeOfObjectsList = new TypeToken<ArrayList<MtbColt>>() {}.getType();
|
Type typeOfObjectsList = new TypeToken<ArrayList<MtbColt>>() {}.getType();
|
||||||
this.mSystemRESTConsumer.processSql(baseSql, typeOfObjectsList, new ISimpleOperationCallback<List<MtbColt>>() {
|
this.mSystemRESTConsumer.<List<MtbColt>>processSql(baseSql, typeOfObjectsList, value -> {
|
||||||
@Override
|
|
||||||
public void onSuccess(List<MtbColt> value) {
|
|
||||||
if(onComplete != null) onComplete.run(value);
|
if(onComplete != null) onComplete.run(value);
|
||||||
}
|
}, ex -> {
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailed(Exception ex) {
|
|
||||||
if(onFailed != null) onFailed.run(ex);
|
if(onFailed != null) onFailed.run(ex);
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -60,7 +60,7 @@ public class SystemRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailed(Exception ex) {
|
public void onFailed(Exception ex) {
|
||||||
onFailed.run(ex);
|
if(onFailed != null) onFailed.run(ex);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -81,12 +81,8 @@ public class SystemRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> void processSql(String nativeSql, final Type clazz, final ISimpleOperationCallback<T> callback) {
|
public <T> void processSql(String nativeSql, final Type clazz, final RunnableArgs<T> onComplete, final RunnableArgs<Exception> onFailed) {
|
||||||
|
processSqlStatic(nativeSql, clazz, onComplete, onFailed);
|
||||||
processSqlStatic(nativeSql, clazz, data -> {
|
|
||||||
callback.onSuccess((T) data);
|
|
||||||
}, callback::onFailed);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -27,17 +27,17 @@ public class UpdatesManager {
|
|||||||
public static void init(Activity context) {
|
public static void init(Activity context) {
|
||||||
String suffix;
|
String suffix;
|
||||||
ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
|
ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
|
||||||
try{
|
try {
|
||||||
suffix = customConfiguration.getConfig(BaseCustomConfiguration.Keys.CUSTOM_DYNAMIC_VERSION_PATH);
|
suffix = customConfiguration.getConfig(BaseCustomConfiguration.Keys.CUSTOM_DYNAMIC_VERSION_PATH);
|
||||||
if (suffix == null){
|
if (suffix == null) {
|
||||||
suffix = "";
|
suffix = "";
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
} catch (Exception e) {
|
||||||
suffix = "";
|
suffix = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
String currentVersionUrl = "http://" + SettingsManager.i().getServer().getHost() + ":" + SettingsManager.i().getServer().getPort() + "/ems-api/wms/currentVersion";
|
String currentVersionUrl = "http://" + SettingsManager.i().getServer().getHost() + ":" + SettingsManager.i().getServer().getPort() + "/ems-api/wms/currentVersion";
|
||||||
String currentDownloadUrl = "http://" + SettingsManager.i().getServer().getHost() + ":" + SettingsManager.i().getServer().getPort() + "/ems-api/wms/android-release"+suffix+".apk";
|
String currentDownloadUrl = "http://" + SettingsManager.i().getServer().getHost() + ":" + SettingsManager.i().getServer().getPort() + "/ems-api/wms/android-release" + suffix + ".apk";
|
||||||
|
|
||||||
|
|
||||||
AppUpdater appUpdater = new AppUpdater(context)
|
AppUpdater appUpdater = new AppUpdater(context)
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package it.integry.integrywmsnative.core.utility;
|
package it.integry.integrywmsnative.core.utility;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
|
|
||||||
public class UtilityBigDecimal {
|
public class UtilityBigDecimal {
|
||||||
|
|
||||||
@ -50,23 +51,28 @@ public class UtilityBigDecimal {
|
|||||||
|
|
||||||
|
|
||||||
public static BigDecimal divide(BigDecimal input1, BigDecimal divisor) {
|
public static BigDecimal divide(BigDecimal input1, BigDecimal divisor) {
|
||||||
if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null;
|
return divide(input1, divisor, RoundingMode.HALF_EVEN);
|
||||||
|
}
|
||||||
|
|
||||||
return input1.divide(divisor, 3, BigDecimal.ROUND_HALF_EVEN);
|
public static BigDecimal divide(BigDecimal input1, BigDecimal divisor, RoundingMode roundingMode) {
|
||||||
|
if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null;
|
||||||
|
return input1.divide(divisor, 3, roundingMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static BigDecimal divideToInteger(BigDecimal input1, BigDecimal divisor) {
|
public static BigDecimal divideToInteger(BigDecimal input1, BigDecimal divisor) {
|
||||||
if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null;
|
if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null;
|
||||||
|
|
||||||
return new BigDecimal(input1.divide(divisor,3, BigDecimal.ROUND_HALF_EVEN).intValue());
|
return new BigDecimal(input1.divide(divisor,3, BigDecimal.ROUND_HALF_EVEN).intValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static BigDecimal divideAndRoundToInteger(BigDecimal input1, BigDecimal divisor) {
|
public static BigDecimal divideAndRoundToInteger(BigDecimal input1, BigDecimal divisor) {
|
||||||
if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null;
|
return divideAndRoundToInteger(input1, divisor, RoundingMode.HALF_EVEN);
|
||||||
|
}
|
||||||
|
|
||||||
return new BigDecimal(input1.divide(divisor,0, BigDecimal.ROUND_HALF_EVEN).intValue());
|
public static BigDecimal divideAndRoundToInteger(BigDecimal input1, BigDecimal divisor, RoundingMode roundingMode) {
|
||||||
|
if(divisor == null || equalsTo(divisor, BigDecimal.ZERO)) return null;
|
||||||
|
return new BigDecimal(input1.divide(divisor,0, roundingMode).intValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static BigDecimal multiply(BigDecimal input1, BigDecimal multiplier) {
|
public static BigDecimal multiply(BigDecimal input1, BigDecimal multiplier) {
|
||||||
|
|||||||
@ -59,7 +59,7 @@ import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
|||||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView;
|
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentView;
|
||||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||||
import it.integry.integrywmsnative.view.dialogs.note_aggiuntive_lu.NoteAggiuntiveLUDialog;
|
import it.integry.integrywmsnative.view.dialogs.note_aggiuntive_lu.NoteAggiuntiveLUDialog;
|
||||||
|
|
||||||
@ -554,7 +554,7 @@ public class AccettazionePickingActivity extends BaseActivity implements Accetta
|
|||||||
.setCanLUBeClosed(true)
|
.setCanLUBeClosed(true)
|
||||||
.setCanOverflowOrderQuantity(canOverflowQuantity);
|
.setCanOverflowOrderQuantity(canOverflowQuantity);
|
||||||
|
|
||||||
DialogInputQuantityV2
|
DialogInputQuantityV2View
|
||||||
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
||||||
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
||||||
.setNumCnf(resultDTO.getNumCnf())
|
.setNumCnf(resultDTO.getNumCnf())
|
||||||
|
|||||||
@ -12,7 +12,6 @@ import javax.inject.Inject;
|
|||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
|
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||||
@ -134,17 +133,9 @@ public class AccettazionePickingRESTConsumer {
|
|||||||
|
|
||||||
Type typeOfObjectsList = new TypeToken<ArrayList<RecoverMtbColt>>() {
|
Type typeOfObjectsList = new TypeToken<ArrayList<RecoverMtbColt>>() {
|
||||||
}.getType();
|
}.getType();
|
||||||
mSystemRestConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<RecoverMtbColt>>() {
|
mSystemRestConsumer.<ArrayList<RecoverMtbColt>>processSql(sql, typeOfObjectsList, value -> {
|
||||||
@Override
|
|
||||||
public void onSuccess(ArrayList<RecoverMtbColt> value) {
|
|
||||||
if (onComplete != null) onComplete.run(value);
|
if (onComplete != null) onComplete.run(value);
|
||||||
}
|
}, onFailed);
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailed(Exception ex) {
|
|
||||||
if (onFailed != null) onFailed.run(ex);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -33,6 +33,7 @@ import it.integry.integrywmsnative.core.interfaces.ILifecycleFragment;
|
|||||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment;
|
import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
||||||
@ -298,7 +299,7 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
+ "<br />" +
|
+ "<br />" +
|
||||||
"<b>" + alreadyRegisteredUL + "</b> " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)),
|
"<b>" + alreadyRegisteredUL + "</b> " + getActivity().getResources().getQuantityString(R.plurals.already_registered_lu, alreadyRegisteredUL)),
|
||||||
null,
|
null,
|
||||||
() -> SpedizioneActivity.startActivity(getActivity(), sitArts, orders, alreadyRegisteredMtbColts, mCurrentGestioneCol, mCurrentSegnoCol)
|
() -> SpedizioneActivity.startActivity(getActivity(), sitArts, orders, alreadyRegisteredMtbColts, mCurrentGestioneCol, mCurrentSegnoCol, MtbColr.Causale.DEFAULT)
|
||||||
).show();
|
).show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -58,7 +58,7 @@ import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
|||||||
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskCliente;
|
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskCliente;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||||
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts;
|
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -373,7 +373,7 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment,
|
|||||||
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
||||||
.setCanLUBeClosed(canLUBeClosed);
|
.setCanLUBeClosed(canLUBeClosed);
|
||||||
|
|
||||||
DialogInputQuantityV2
|
DialogInputQuantityV2View
|
||||||
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
||||||
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
||||||
.setNumCnf(resultDTO.getNumCnf())
|
.setNumCnf(resultDTO.getNumCnf())
|
||||||
|
|||||||
@ -50,7 +50,7 @@ import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFrag
|
|||||||
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
import it.integry.integrywmsnative.view.bottom_sheet__lu_content.BottomSheetFragmentLUContentViewModel;
|
||||||
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
|
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||||
import it.integry.integrywmsnative.view.dialogs.note_aggiuntive_lu.NoteAggiuntiveLUDialog;
|
import it.integry.integrywmsnative.view.dialogs.note_aggiuntive_lu.NoteAggiuntiveLUDialog;
|
||||||
|
|
||||||
@ -309,7 +309,7 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
|
|||||||
.setCanLUBeClosed(false)
|
.setCanLUBeClosed(false)
|
||||||
.setCanPartitaMagBeChanged(false);
|
.setCanPartitaMagBeChanged(false);
|
||||||
|
|
||||||
DialogInputQuantityV2
|
DialogInputQuantityV2View
|
||||||
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
||||||
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
||||||
.setNumCnf(resultDTO.getNumCnf())
|
.setNumCnf(resultDTO.getNumCnf())
|
||||||
|
|||||||
@ -15,7 +15,6 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
|||||||
import it.integry.integrywmsnative.core.model.DtbDocr;
|
import it.integry.integrywmsnative.core.model.DtbDocr;
|
||||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
|
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
|
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityQuery;
|
import it.integry.integrywmsnative.core.utility.UtilityQuery;
|
||||||
@ -55,9 +54,7 @@ public class PickingResiRESTConsumer {
|
|||||||
|
|
||||||
|
|
||||||
Type typeOfObjectsList = new TypeToken<ArrayList<WithdrawableDtbDocr>>() {}.getType();
|
Type typeOfObjectsList = new TypeToken<ArrayList<WithdrawableDtbDocr>>() {}.getType();
|
||||||
this.mSystemRestConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<WithdrawableDtbDocr>>() {
|
this.mSystemRestConsumer.<ArrayList<WithdrawableDtbDocr>>processSql(sql, typeOfObjectsList, values -> {
|
||||||
@Override
|
|
||||||
public void onSuccess(ArrayList<WithdrawableDtbDocr> values) {
|
|
||||||
|
|
||||||
if(values != null && values.size() > 0){
|
if(values != null && values.size() > 0){
|
||||||
List<String> codMarts = Stream.of(values)
|
List<String> codMarts = Stream.of(values)
|
||||||
@ -92,13 +89,7 @@ public class PickingResiRESTConsumer {
|
|||||||
} else {
|
} else {
|
||||||
if(onComplete != null) onComplete.run(values);
|
if(onComplete != null) onComplete.run(values);
|
||||||
}
|
}
|
||||||
}
|
}, onFailed);
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailed(Exception ex) {
|
|
||||||
if(onFailed != null) onFailed.run(ex);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,14 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod;
|
||||||
|
|
||||||
|
import dagger.Subcomponent;
|
||||||
|
|
||||||
|
@Subcomponent
|
||||||
|
public interface ProdFabbisognoLineeProdComponent {
|
||||||
|
|
||||||
|
@Subcomponent.Factory
|
||||||
|
interface Factory {
|
||||||
|
ProdFabbisognoLineeProdComponent create();
|
||||||
|
}
|
||||||
|
|
||||||
|
void inject(ProdFabbisognoLineeProdFragment prodFabbisognoLineeProdFragment);
|
||||||
|
}
|
||||||
@ -0,0 +1,154 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
|
import androidx.appcompat.widget.AppCompatTextView;
|
||||||
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
import androidx.fragment.app.Fragment;
|
||||||
|
|
||||||
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.MainApplication;
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.BaseFragment;
|
||||||
|
import it.integry.integrywmsnative.core.interfaces.ILifecycleFragment;
|
||||||
|
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
|
||||||
|
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
||||||
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
|
import it.integry.integrywmsnative.databinding.FragmentProdFabbisognoLineeProdBinding;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita.DialogAskMagazzinoProssimitaView;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO;
|
||||||
|
import it.integry.integrywmsnative.gest.spedizione.SpedizioneActivity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A simple {@link Fragment} subclass.
|
||||||
|
* Use the {@link ProdFabbisognoLineeProdFragment#newInstance} factory method to
|
||||||
|
* create an instance of this fragment.
|
||||||
|
*/
|
||||||
|
public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITitledFragment, ILifecycleFragment, ProdFabbisognoLineeProdViewModel.Listener {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
ProdFabbisognoLineeProdViewModel mViewModel;
|
||||||
|
|
||||||
|
private ArrayList<Runnable> mOnPreDestroyList = new ArrayList<>();
|
||||||
|
|
||||||
|
private FragmentProdFabbisognoLineeProdBinding mBindings;
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeProdFragment() {
|
||||||
|
// Required empty public constructor
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ProdFabbisognoLineeProdFragment newInstance() {
|
||||||
|
ProdFabbisognoLineeProdFragment fragment = new ProdFabbisognoLineeProdFragment();
|
||||||
|
return fragment;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
|
Bundle savedInstanceState) {
|
||||||
|
mBindings = DataBindingUtil.inflate(inflater, R.layout.fragment_prod_fabbisogno_linee_prod, container, false);
|
||||||
|
|
||||||
|
mBindings.setLifecycleOwner(this);
|
||||||
|
|
||||||
|
MainApplication.appComponent
|
||||||
|
.prodFabbisognoLineeProdComponent()
|
||||||
|
.create()
|
||||||
|
.inject(this);
|
||||||
|
|
||||||
|
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
|
|
||||||
|
DialogAskMagazzinoProssimitaView
|
||||||
|
.newInstance((jtbFase, startDate, endDate) -> {
|
||||||
|
if (jtbFase == null) {
|
||||||
|
((IPoppableActivity) getActivity()).pop();
|
||||||
|
} else {
|
||||||
|
//Load fabbisogno
|
||||||
|
this.mViewModel.loadFabbisogno(startDate, endDate, jtbFase.getCodJfas(), codMdep, fabbisognoList -> {
|
||||||
|
startPickingActivity(fabbisognoList);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.show(getActivity().getSupportFragmentManager(), "tag");
|
||||||
|
|
||||||
|
return mBindings.getRoot();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPreDestroy(Runnable onPreDestroy) {
|
||||||
|
this.mOnPreDestroyList.add(onPreDestroy);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroy() {
|
||||||
|
for (Runnable onPreDestroy : mOnPreDestroyList) {
|
||||||
|
onPreDestroy.run();
|
||||||
|
}
|
||||||
|
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
|
||||||
|
titleText.setText(context.getText(R.string.prod_fabbisogno_linee_prod_title).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onActionBarPreDestroy(Runnable onActionBarPreDestroy) {
|
||||||
|
this.mOnPreDestroyList.add(onActionBarPreDestroy);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Exception ex) {
|
||||||
|
this.closeProgress();
|
||||||
|
UtilityExceptions.defaultException(getActivity(), ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoadingStarted() {
|
||||||
|
this.openProgress();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoadingEnded() {
|
||||||
|
this.closeProgress();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void startPickingActivity(List<ProdFabbisognoLineeProdDTO> fabbisognoList) {
|
||||||
|
List<SitArtOrdDTO> sitArtOrdDTOS = Stream.of(fabbisognoList)
|
||||||
|
.map(x -> new SitArtOrdDTO()
|
||||||
|
.setCodMart(x.getCodMart())
|
||||||
|
.setQtaOrd(x.getQtaFabbisogno())
|
||||||
|
.setNumCnfOrd(x.getNumCnfFabbisogno())
|
||||||
|
.setFlagEnablePickManuale(false))
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
SpedizioneActivity.startActivity(getActivity(),
|
||||||
|
sitArtOrdDTOS,
|
||||||
|
null,
|
||||||
|
new ArrayList<>(),
|
||||||
|
GestioneEnum.LAVORAZIONE,
|
||||||
|
+1,
|
||||||
|
MtbColr.Causale.VERSAMENTO);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod;
|
||||||
|
|
||||||
|
import dagger.Module;
|
||||||
|
import dagger.Provides;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||||
|
|
||||||
|
@Module(subcomponents = ProdFabbisognoLineeProdComponent.class)
|
||||||
|
public class ProdFabbisognoLineeProdModule {
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
ProdFabbisognoLineeProdViewModel providesProdFabbisognoLineeProdViewModel(SystemRESTConsumer systemRESTConsumer) {
|
||||||
|
return new ProdFabbisognoLineeProdViewModel(systemRESTConsumer);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,120 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod;
|
||||||
|
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto.ProdFabbisognoLineeProdDTO;
|
||||||
|
|
||||||
|
public class ProdFabbisognoLineeProdViewModel {
|
||||||
|
|
||||||
|
private final SystemRESTConsumer mSystemRESTConsumer;
|
||||||
|
|
||||||
|
private Listener mListener;
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeProdViewModel(SystemRESTConsumer systemRESTConsumer) {
|
||||||
|
this.mSystemRESTConsumer = systemRESTConsumer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void init() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public void loadFabbisogno(Date startDate, Date endDate, String lineaProd, String codMdep, RunnableArgs<List<ProdFabbisognoLineeProdDTO>> onComplete) {
|
||||||
|
this.sendOnLoadingStarted();
|
||||||
|
|
||||||
|
String sql = "WITH input_values AS ( " +
|
||||||
|
" SELECT " + UtilityDB.valueToString(startDate) + " AS data_inizio, " +
|
||||||
|
" " + UtilityDB.valueToString(endDate) + " AS data_fine, " +
|
||||||
|
" " + UtilityDB.valueToString(lineaProd) + " AS linea_prod, " +
|
||||||
|
" " + UtilityDB.valueToString(codMdep) + " AS cod_mdep " +
|
||||||
|
"), " +
|
||||||
|
" custom_mtb_colr AS ( " +
|
||||||
|
" SELECT cod_mart, " +
|
||||||
|
" sum(qta_col) AS qta_col, " +
|
||||||
|
" sum(num_cnf) AS num_cnf, " +
|
||||||
|
" sum(qta_col) / sum(num_cnf) AS qta_cnf, " +
|
||||||
|
" posizione " +
|
||||||
|
" FROM mvw_sitart_udc_det_inventario " +
|
||||||
|
" GROUP BY cod_mart, posizione " +
|
||||||
|
" ), " +
|
||||||
|
" tmp_ord AS ( " +
|
||||||
|
" SELECT dtb_ordr.cod_mart, " +
|
||||||
|
" CONVERT(NUMERIC(15, 5), SUM(dtb_ordr.qta_ord * dtb_ordr.rap_conv) - " +
|
||||||
|
" SUM(dtb_ordr.qta_evasa * dtb_ordr.rap_conv)) AS qta_ord, " +
|
||||||
|
" SUM(dtb_ordr.num_cnf - dtb_ordr.num_cnf_evasa) AS num_cnf_ord, " +
|
||||||
|
" mtb_aart.unt_mis, " +
|
||||||
|
" SUM(ISNULL(custom_mtb_colr.qta_col, 0)) AS qta_col_versata, " +
|
||||||
|
" SUM(ISNULL(custom_mtb_colr.qta_cnf, 0)) AS qta_cnf_versata, " +
|
||||||
|
" SUM(ISNULL(custom_mtb_colr.num_cnf, 0)) AS num_cnf_versata" +
|
||||||
|
" FROM dtb_ordr " +
|
||||||
|
" INNER JOIN dtb_ordt " +
|
||||||
|
" on dtb_ordr.gestione = dtb_ordt.gestione AND dtb_ordr.data_ord = dtb_ordt.data_ord AND " +
|
||||||
|
" dtb_ordr.num_ord = dtb_ordt.num_ord " +
|
||||||
|
" INNER JOIN jrl_fase_posizioni ON dtb_ordt.cod_jfas = jrl_fase_posizioni.cod_jfas " +
|
||||||
|
" LEFT OUTER JOIN custom_mtb_colr ON custom_mtb_colr.posizione = jrl_fase_posizioni.posizione AND " +
|
||||||
|
" dtb_ordr.cod_mart = custom_mtb_colr.cod_mart " +
|
||||||
|
" INNER JOIN mtb_aart ON dtb_ordr.cod_mart = mtb_aart.cod_mart " +
|
||||||
|
" CROSS APPLY input_values " +
|
||||||
|
" WHERE dtb_ordt.gestione = 'L' " +
|
||||||
|
" AND dtb_ordt.cod_mdep = input_values.cod_mdep " +
|
||||||
|
" AND jrl_fase_posizioni.posizione = input_values.linea_prod " +
|
||||||
|
" AND flag_evaso = 'I' " +
|
||||||
|
" AND dtb_ordr.flag_evaso_forzato = 'N' " +
|
||||||
|
" AND flag_annulla = 'N' " +
|
||||||
|
" AND dtb_ordt.data_ord BETWEEN input_values.data_inizio AND input_values.data_fine " +
|
||||||
|
" GROUP BY dtb_ordr.cod_mart, " +
|
||||||
|
" mtb_aart.unt_mis " +
|
||||||
|
" ) " +
|
||||||
|
"SELECT cod_mart, " +
|
||||||
|
" qta_ord, " +
|
||||||
|
" num_cnf_ord, " +
|
||||||
|
" unt_mis, " +
|
||||||
|
" qta_col_versata, " +
|
||||||
|
" num_cnf_versata, " +
|
||||||
|
" CASE WHEN qta_ord - qta_col_versata < 0 THEN 0 ELSE qta_ord - qta_col_versata END AS qta_fabbisogno, " +
|
||||||
|
" CASE WHEN num_cnf_ord - num_cnf_versata < 0 THEN 0 ELSE num_cnf_ord - num_cnf_versata END AS num_cnf_fabbisogno " +
|
||||||
|
"FROM tmp_ord " +
|
||||||
|
"ORDER BY cod_mart";
|
||||||
|
|
||||||
|
Type typeOfObjectsList = new TypeToken<ArrayList<ProdFabbisognoLineeProdDTO>>() {}.getType();
|
||||||
|
this.mSystemRESTConsumer.<List<ProdFabbisognoLineeProdDTO>>processSql(sql, typeOfObjectsList, jtbFasi -> {
|
||||||
|
onComplete.run(jtbFasi);
|
||||||
|
|
||||||
|
this.sendOnLoadingEnded();
|
||||||
|
}, this::sendError);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void sendOnLoadingStarted() {
|
||||||
|
if (this.mListener != null) mListener.onLoadingStarted();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendOnLoadingEnded() {
|
||||||
|
if (this.mListener != null) mListener.onLoadingEnded();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendError(Exception ex) {
|
||||||
|
if (this.mListener != null) mListener.onError(ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setListener(Listener listener) {
|
||||||
|
this.mListener = listener;
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface Listener extends ILoadingListener {
|
||||||
|
|
||||||
|
void onError(Exception ex);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,114 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
import android.widget.Filter;
|
||||||
|
import android.widget.Filterable;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.appcompat.widget.AppCompatTextView;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.model.JtbFasi;
|
||||||
|
|
||||||
|
public class DialogAskMagazzinoProssimitaAdapter extends ArrayAdapter<JtbFasi> implements Filterable {
|
||||||
|
|
||||||
|
private final Context mContext;
|
||||||
|
private final List<JtbFasi> mDataset;
|
||||||
|
private List<JtbFasi> mDatasetAllItems;
|
||||||
|
|
||||||
|
private final ListFilter listFilter = new ListFilter();
|
||||||
|
|
||||||
|
public DialogAskMagazzinoProssimitaAdapter(@NonNull Context context, @NonNull List<JtbFasi> list) {
|
||||||
|
super(context, 0, list);
|
||||||
|
mContext = context;
|
||||||
|
mDataset = list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
||||||
|
View listItem = convertView;
|
||||||
|
if (listItem == null) {
|
||||||
|
listItem = LayoutInflater.from(mContext).inflate(R.layout.dropdown_simple_item, parent, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (position < mDataset.size()) {
|
||||||
|
AppCompatTextView textView = listItem.findViewById(R.id.text);
|
||||||
|
textView.setText(mDataset.get(position).toString());
|
||||||
|
return listItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public Filter getFilter() {
|
||||||
|
return listFilter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ListFilter extends Filter {
|
||||||
|
private Object lock = new Object();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected FilterResults performFiltering(CharSequence prefix) {
|
||||||
|
FilterResults results = new FilterResults();
|
||||||
|
if (mDatasetAllItems == null) {
|
||||||
|
synchronized (lock) {
|
||||||
|
mDatasetAllItems = new ArrayList<>(mDataset);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (prefix == null || prefix.length() == 0) {
|
||||||
|
synchronized (lock) {
|
||||||
|
results.values = mDatasetAllItems;
|
||||||
|
results.count = mDatasetAllItems.size();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
final String searchStrLowerCase = prefix.toString().toLowerCase();
|
||||||
|
|
||||||
|
ArrayList<JtbFasi> matchValues = new ArrayList<>();
|
||||||
|
|
||||||
|
for (JtbFasi dataItem : mDatasetAllItems) {
|
||||||
|
if (dataItem.getCodJfas().toLowerCase().startsWith(searchStrLowerCase) ||
|
||||||
|
dataItem.getDescrizione().toLowerCase().startsWith(searchStrLowerCase)) {
|
||||||
|
matchValues.add(dataItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
results.values = matchValues;
|
||||||
|
results.count = matchValues.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
return results;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void publishResults(CharSequence constraint, FilterResults results) {
|
||||||
|
if (results.values != null) {
|
||||||
|
mDataset.clear();
|
||||||
|
mDataset.addAll((ArrayList<JtbFasi>) results.values);
|
||||||
|
} else {
|
||||||
|
mDataset.clear();
|
||||||
|
}
|
||||||
|
if (results.count > 0) {
|
||||||
|
notifyDataSetChanged();
|
||||||
|
} else {
|
||||||
|
notifyDataSetInvalidated();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita;
|
||||||
|
|
||||||
|
import dagger.Subcomponent;
|
||||||
|
|
||||||
|
@Subcomponent
|
||||||
|
public interface DialogAskMagazzinoProssimitaComponent {
|
||||||
|
|
||||||
|
@Subcomponent.Factory
|
||||||
|
interface Factory {
|
||||||
|
DialogAskMagazzinoProssimitaComponent create();
|
||||||
|
}
|
||||||
|
|
||||||
|
void inject(DialogAskMagazzinoProssimitaView dialogAskMagazzinoProssimitaView);
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita;
|
||||||
|
|
||||||
|
import dagger.Module;
|
||||||
|
import dagger.Provides;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||||
|
|
||||||
|
@Module
|
||||||
|
public class DialogAskMagazzinoProssimitaModule {
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
DialogAskMagazzinoProssimitaViewModel providesDialogAskMagazzinoProssimitaViewModel(SystemRESTConsumer systemRESTConsumer) {
|
||||||
|
return new DialogAskMagazzinoProssimitaViewModel(systemRESTConsumer);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,202 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita;
|
||||||
|
|
||||||
|
import android.app.DatePickerDialog;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.graphics.Color;
|
||||||
|
import android.graphics.drawable.ColorDrawable;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.AutoCompleteTextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.databinding.DataBindingUtil;
|
||||||
|
|
||||||
|
import com.tfb.fbtoast.FBToast;
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.GregorianCalendar;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.MainApplication;
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.OnSingleClickListener;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
|
||||||
|
import it.integry.integrywmsnative.core.model.JtbFasi;
|
||||||
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
|
import it.integry.integrywmsnative.databinding.DialogAskMagazzinoProssimitaBinding;
|
||||||
|
|
||||||
|
public class DialogAskMagazzinoProssimitaView extends BaseDialogFragment implements DialogAskMagazzinoProssimitaViewModel.Listener {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
DialogAskMagazzinoProssimitaViewModel mViewModel;
|
||||||
|
|
||||||
|
private final RunnableArgsss<JtbFasi, Date, Date> mOnItemSelected;
|
||||||
|
|
||||||
|
private Context mContext;
|
||||||
|
private DialogAskMagazzinoProssimitaBinding mBindings;
|
||||||
|
|
||||||
|
private JtbFasi mSelectedItem;
|
||||||
|
|
||||||
|
public static DialogAskMagazzinoProssimitaView newInstance(RunnableArgsss<JtbFasi, Date, Date> onItemSelected) {
|
||||||
|
return new DialogAskMagazzinoProssimitaView(onItemSelected);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private DialogAskMagazzinoProssimitaView(RunnableArgsss<JtbFasi, Date, Date> onItemSelected) {
|
||||||
|
super();
|
||||||
|
|
||||||
|
this.mOnItemSelected = onItemSelected;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
this.mContext = getActivity();
|
||||||
|
|
||||||
|
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_ask_magazzino_prossimita, container, false);
|
||||||
|
|
||||||
|
MainApplication.appComponent
|
||||||
|
.dialogAskMagazzinoProssimitaComponent()
|
||||||
|
.create()
|
||||||
|
.inject(this);
|
||||||
|
|
||||||
|
mBindings.setView(this);
|
||||||
|
mBindings.setViewmodel(this.mViewModel);
|
||||||
|
|
||||||
|
getDialog().setCanceledOnTouchOutside(false);
|
||||||
|
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||||
|
|
||||||
|
|
||||||
|
mBindings.buttonConfirm.setOnClickListener(new OnSingleClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onSingleClick(View v) {
|
||||||
|
if(mSelectedItem != null) {
|
||||||
|
getDialog().dismiss();
|
||||||
|
} else {
|
||||||
|
FBToast.warningToast(mContext, getResources().getString(R.string.please_select_an_item), Toast.LENGTH_LONG);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
mBindings.buttonAbort.setOnClickListener(new OnSingleClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onSingleClick(View v) {
|
||||||
|
getDialog().dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
mBindings.filledExposedDropdownStartDate.setOnClickListener(onStartDateClickListener);
|
||||||
|
mBindings.filledExposedDropdownEndDate.setOnClickListener(onEndDateClickListener);
|
||||||
|
|
||||||
|
return mBindings.getRoot();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onStart() {
|
||||||
|
super.onStart();
|
||||||
|
|
||||||
|
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
|
||||||
|
|
||||||
|
this.mViewModel.setListener(this);
|
||||||
|
this.mViewModel.init(codMdep);
|
||||||
|
|
||||||
|
this.mViewModel.getJtbFasi().observe(getViewLifecycleOwner(), this::onPosizioniLoaded);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDismiss(@NonNull DialogInterface dialog) {
|
||||||
|
super.onDismiss(dialog);
|
||||||
|
mOnItemSelected.run(mSelectedItem, mViewModel.startDate, mViewModel.endDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
private final View.OnClickListener onStartDateClickListener = new OnSingleClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onSingleClick(View v) {
|
||||||
|
Calendar c = UtilityDate.getCalendarInstance();
|
||||||
|
|
||||||
|
|
||||||
|
if(mViewModel.startDateBindable != null) {
|
||||||
|
c.setTime(mViewModel.startDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
int mYear = c.get(Calendar.YEAR);
|
||||||
|
int mMonth = c.get(Calendar.MONTH);
|
||||||
|
int mDay = c.get(Calendar.DAY_OF_MONTH);
|
||||||
|
|
||||||
|
DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(),
|
||||||
|
(view2, year, month, day) -> {
|
||||||
|
|
||||||
|
mViewModel.startDate = new GregorianCalendar(year, month, day).getTime();
|
||||||
|
mViewModel.startDateBindable.set(UtilityDate.formatDate(mViewModel.startDate, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
||||||
|
|
||||||
|
}, mYear, mMonth, mDay);
|
||||||
|
datePickerDialog.show();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
private final View.OnClickListener onEndDateClickListener = new OnSingleClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onSingleClick(View v) {
|
||||||
|
Calendar c = UtilityDate.getCalendarInstance();
|
||||||
|
|
||||||
|
if(mViewModel.endDateBindable != null) {
|
||||||
|
c.setTime(mViewModel.endDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
int mYear = c.get(Calendar.YEAR);
|
||||||
|
int mMonth = c.get(Calendar.MONTH);
|
||||||
|
int mDay = c.get(Calendar.DAY_OF_MONTH);
|
||||||
|
|
||||||
|
DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(),
|
||||||
|
(view2, year, month, day) -> {
|
||||||
|
|
||||||
|
mViewModel.endDate = new GregorianCalendar(year, month, day).getTime();
|
||||||
|
mViewModel.endDateBindable.set(UtilityDate.formatDate(mViewModel.endDate, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
||||||
|
|
||||||
|
}, mYear, mMonth, mDay);
|
||||||
|
datePickerDialog.show();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
private void onPosizioniLoaded(List<JtbFasi> items) {
|
||||||
|
DialogAskMagazzinoProssimitaAdapter adapter = new DialogAskMagazzinoProssimitaAdapter(mContext, items);
|
||||||
|
|
||||||
|
AutoCompleteTextView editTextDropdownCliente = mBindings.dropdownLineaProd;
|
||||||
|
editTextDropdownCliente.setThreshold(0);
|
||||||
|
editTextDropdownCliente.setAdapter(adapter);
|
||||||
|
editTextDropdownCliente.setOnItemClickListener((parent, view, position, id) -> {
|
||||||
|
mSelectedItem = items.get(position);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Exception ex) {
|
||||||
|
this.closeProgress();
|
||||||
|
UtilityExceptions.defaultException(mContext, ex);
|
||||||
|
BarcodeManager.enable();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoadingStarted() {
|
||||||
|
this.openProgress();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onLoadingEnded() {
|
||||||
|
this.closeProgress();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,99 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita;
|
||||||
|
|
||||||
|
import androidx.lifecycle.MutableLiveData;
|
||||||
|
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.di.BindableString;
|
||||||
|
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
|
||||||
|
import it.integry.integrywmsnative.core.model.JtbFasi;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
|
|
||||||
|
public class DialogAskMagazzinoProssimitaViewModel {
|
||||||
|
|
||||||
|
public BindableString startDateBindable = new BindableString();
|
||||||
|
public BindableString endDateBindable = new BindableString();
|
||||||
|
|
||||||
|
public Date startDate = new Date();
|
||||||
|
public Date endDate = new Date();
|
||||||
|
|
||||||
|
private Listener mListener;
|
||||||
|
|
||||||
|
private final MutableLiveData<List<JtbFasi>> mJtbFasi = new MutableLiveData<>();
|
||||||
|
|
||||||
|
private final SystemRESTConsumer mSystemRESTConsumer;
|
||||||
|
|
||||||
|
public DialogAskMagazzinoProssimitaViewModel(SystemRESTConsumer systemRESTConsumer) {
|
||||||
|
this.mSystemRESTConsumer = systemRESTConsumer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void init(String codMdep) {
|
||||||
|
this.sendOnLoadingStarted();
|
||||||
|
|
||||||
|
Calendar c = UtilityDate.getCalendarInstance();
|
||||||
|
c.set(Calendar.DAY_OF_WEEK, c.getActualMinimum(Calendar.DAY_OF_WEEK));
|
||||||
|
c.add(Calendar.DAY_OF_MONTH, -7);
|
||||||
|
startDate = c.getTime();
|
||||||
|
startDateBindable.set(UtilityDate.formatDate(startDate, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
||||||
|
|
||||||
|
c.add(Calendar.DAY_OF_MONTH, 7);
|
||||||
|
endDate = c.getTime();
|
||||||
|
endDateBindable.set(UtilityDate.formatDate(endDate, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN));
|
||||||
|
|
||||||
|
String sql = "SELECT DISTINCT jrl_fase_posizioni.posizione as cod_jfas, " +
|
||||||
|
" descrizione, " +
|
||||||
|
" jrl_fase_posizioni.cod_mdep " +
|
||||||
|
"FROM jrl_fase_posizioni " +
|
||||||
|
" INNER JOIN mtb_depo_posizioni mdp ON jrl_fase_posizioni.cod_mdep = mdp.cod_mdep AND " +
|
||||||
|
" jrl_fase_posizioni.posizione = mdp.posizione " +
|
||||||
|
"WHERE cod_jfas IN (SELECT cod_jfas FROM jtb_fasi WHERE um_prod IS NOT NULL) " +
|
||||||
|
" AND jrl_fase_posizioni.cod_mdep = " + UtilityDB.valueToString(codMdep) + " " +
|
||||||
|
"ORDER BY jrl_fase_posizioni.posizione";
|
||||||
|
|
||||||
|
|
||||||
|
Type typeOfObjectsList = new TypeToken<ArrayList<JtbFasi>>() {}.getType();
|
||||||
|
this.mSystemRESTConsumer.<List<JtbFasi>>processSql(sql, typeOfObjectsList, jtbFasi -> {
|
||||||
|
this.mJtbFasi.postValue(jtbFasi);
|
||||||
|
|
||||||
|
this.sendOnLoadingEnded();
|
||||||
|
}, this::sendError);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public MutableLiveData<List<JtbFasi>> getJtbFasi() {
|
||||||
|
return mJtbFasi;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void sendOnLoadingStarted() {
|
||||||
|
if (this.mListener != null) mListener.onLoadingStarted();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendOnLoadingEnded() {
|
||||||
|
if (this.mListener != null) mListener.onLoadingEnded();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendError(Exception ex) {
|
||||||
|
if (this.mListener != null) mListener.onError(ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setListener(Listener listener) {
|
||||||
|
this.mListener = listener;
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface Listener extends ILoadingListener {
|
||||||
|
|
||||||
|
void onError(Exception ex);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,87 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dto;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
public class ProdFabbisognoLineeProdDTO {
|
||||||
|
|
||||||
|
private String codMart;
|
||||||
|
private BigDecimal qtaOrd;
|
||||||
|
private BigDecimal numCnfOrd;
|
||||||
|
private String untMis;
|
||||||
|
private BigDecimal qtaColVersata;
|
||||||
|
private BigDecimal numCnfVersata;
|
||||||
|
private BigDecimal qtaFabbisogno;
|
||||||
|
private BigDecimal numCnfFabbisogno;
|
||||||
|
|
||||||
|
public String getCodMart() {
|
||||||
|
return codMart;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeProdDTO setCodMart(String codMart) {
|
||||||
|
this.codMart = codMart;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaOrd() {
|
||||||
|
return qtaOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeProdDTO setQtaOrd(BigDecimal qtaOrd) {
|
||||||
|
this.qtaOrd = qtaOrd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getNumCnfOrd() {
|
||||||
|
return numCnfOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeProdDTO setNumCnfOrd(BigDecimal numCnfOrd) {
|
||||||
|
this.numCnfOrd = numCnfOrd;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUntMis() {
|
||||||
|
return untMis;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeProdDTO setUntMis(String untMis) {
|
||||||
|
this.untMis = untMis;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaColVersata() {
|
||||||
|
return qtaColVersata;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeProdDTO setQtaColVersata(BigDecimal qtaColVersata) {
|
||||||
|
this.qtaColVersata = qtaColVersata;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getNumCnfVersata() {
|
||||||
|
return numCnfVersata;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeProdDTO setNumCnfVersata(BigDecimal numCnfVersata) {
|
||||||
|
this.numCnfVersata = numCnfVersata;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getQtaFabbisogno() {
|
||||||
|
return qtaFabbisogno;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeProdDTO setQtaFabbisogno(BigDecimal qtaFabbisogno) {
|
||||||
|
this.qtaFabbisogno = qtaFabbisogno;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getNumCnfFabbisogno() {
|
||||||
|
return numCnfFabbisogno;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProdFabbisognoLineeProdDTO setNumCnfFabbisogno(BigDecimal numCnfFabbisogno) {
|
||||||
|
this.numCnfFabbisogno = numCnfFabbisogno;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,15 +0,0 @@
|
|||||||
package it.integry.integrywmsnative.gest.prod_posizionamento_da_ord;
|
|
||||||
|
|
||||||
import dagger.Subcomponent;
|
|
||||||
|
|
||||||
@Subcomponent
|
|
||||||
public interface ProdPosizionamentoDaOrdComponent {
|
|
||||||
|
|
||||||
@Subcomponent.Factory
|
|
||||||
interface Factory {
|
|
||||||
|
|
||||||
ProdPosizionamentoDaOrdComponent create();
|
|
||||||
}
|
|
||||||
|
|
||||||
void inject(ProdPosizionamentoDaOrdFragment prodPosizionamentoDaOrdFragment);
|
|
||||||
}
|
|
||||||
@ -1,63 +0,0 @@
|
|||||||
package it.integry.integrywmsnative.gest.prod_posizionamento_da_ord;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
|
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
import it.integry.integrywmsnative.MainApplication;
|
|
||||||
import it.integry.integrywmsnative.R;
|
|
||||||
import it.integry.integrywmsnative.databinding.FragmentProdPosizionamentoDaOrdBinding;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A simple {@link Fragment} subclass.
|
|
||||||
* Use the {@link ProdPosizionamentoDaOrdFragment#newInstance} factory method to
|
|
||||||
* create an instance of this fragment.
|
|
||||||
*/
|
|
||||||
public class ProdPosizionamentoDaOrdFragment extends Fragment {
|
|
||||||
|
|
||||||
private FragmentProdPosizionamentoDaOrdBinding mBinding = null;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
ProdPosizionamentoDaOrdViewModel mViewModel;
|
|
||||||
|
|
||||||
public ProdPosizionamentoDaOrdFragment() {
|
|
||||||
// Required empty public constructor
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static ProdPosizionamentoDaOrdFragment newInstance() {
|
|
||||||
ProdPosizionamentoDaOrdFragment fragment = new ProdPosizionamentoDaOrdFragment();
|
|
||||||
return fragment;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
|
||||||
Bundle savedInstanceState) {
|
|
||||||
// Inflate the layout for this fragment
|
|
||||||
mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_prod_posizionamento_da_ord, container,false);
|
|
||||||
|
|
||||||
MainApplication.appComponent
|
|
||||||
.prodPosizionamentoDaOrdComponent()
|
|
||||||
.create()
|
|
||||||
.inject(this);
|
|
||||||
|
|
||||||
// mViewModel.setListener(this);
|
|
||||||
|
|
||||||
mBinding.setLifecycleOwner(this);
|
|
||||||
mBinding.setView(this);
|
|
||||||
mBinding.setViewmodel(mViewModel);
|
|
||||||
|
|
||||||
return mBinding.getRoot();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,20 +0,0 @@
|
|||||||
package it.integry.integrywmsnative.gest.prod_posizionamento_da_ord;
|
|
||||||
|
|
||||||
import javax.inject.Singleton;
|
|
||||||
|
|
||||||
import dagger.Module;
|
|
||||||
import dagger.Provides;
|
|
||||||
|
|
||||||
@Module(subcomponents = ProdPosizionamentoDaOrdComponent.class)
|
|
||||||
public class ProdPosizionamentoDaOrdModule {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Provides
|
|
||||||
@Singleton
|
|
||||||
ProdPosizionamentoDaOrdViewModel providesProdPosizionamentoDaOrdViewModel() {
|
|
||||||
return new ProdPosizionamentoDaOrdViewModel();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
package it.integry.integrywmsnative.gest.prod_posizionamento_da_ord;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
public class ProdPosizionamentoDaOrdViewModel {
|
|
||||||
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public ProdPosizionamentoDaOrdViewModel() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -43,8 +43,8 @@ import it.integry.integrywmsnative.gest.prod_recupero_materiale.dto.HistoryVersa
|
|||||||
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
|
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
|
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||||
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
|
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
|
||||||
|
|
||||||
public class ProdRecuperoMaterialeViewModel {
|
public class ProdRecuperoMaterialeViewModel {
|
||||||
@ -82,6 +82,7 @@ public class ProdRecuperoMaterialeViewModel {
|
|||||||
|
|
||||||
|
|
||||||
private void initBarcode() {
|
private void initBarcode() {
|
||||||
|
BarcodeManager.enable();
|
||||||
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||||
.setOnScanSuccessfull(onScanSuccessful)
|
.setOnScanSuccessfull(onScanSuccessful)
|
||||||
.setOnScanFailed(ex -> UtilityExceptions.defaultException(mContext, ex, false)));
|
.setOnScanFailed(ex -> UtilityExceptions.defaultException(mContext, ex, false)));
|
||||||
@ -204,7 +205,7 @@ public class ProdRecuperoMaterialeViewModel {
|
|||||||
.setCanOverflowOrderQuantity(false)
|
.setCanOverflowOrderQuantity(false)
|
||||||
.setCanLUBeClosed(false);
|
.setCanLUBeClosed(false);
|
||||||
|
|
||||||
DialogInputQuantityV2
|
DialogInputQuantityV2View
|
||||||
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
||||||
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
||||||
.setNumCnf(resultDTO.getNumCnf())
|
.setNumCnf(resultDTO.getNumCnf())
|
||||||
@ -213,14 +214,15 @@ public class ProdRecuperoMaterialeViewModel {
|
|||||||
.setPartitaMag(resultDTO.getPartitaMag())
|
.setPartitaMag(resultDTO.getPartitaMag())
|
||||||
.setDataScad(resultDTO.getDataScad());
|
.setDataScad(resultDTO.getDataScad());
|
||||||
|
|
||||||
onItemDispatched(item, resultDTO.getQtaTot(), sourceMtbColt, dialogProgress);
|
onItemDispatched(item, resultDTO.getQtaTot(), resultDTO.getNumCnf(), resultDTO.getQtaCnf(), sourceMtbColt, dialogProgress);
|
||||||
}, () -> {
|
}, () -> {
|
||||||
if (dialogProgress != null) dialogProgress.dismiss();
|
if (dialogProgress != null) dialogProgress.dismiss();
|
||||||
|
BarcodeManager.enable();
|
||||||
})
|
})
|
||||||
.show(mContext.getSupportFragmentManager(), "tag");
|
.show(mContext.getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onItemDispatched(HistoryVersamentoProdULDTO item, BigDecimal quantity, MtbColt sourceMtbColt, Dialog progress) {
|
private void onItemDispatched(HistoryVersamentoProdULDTO item, BigDecimal inputQtaTot, BigDecimal inputNumCnf, BigDecimal inputQtaCnf, MtbColt sourceMtbColt, Dialog progress) {
|
||||||
|
|
||||||
if (progress == null) {
|
if (progress == null) {
|
||||||
progress = UtilityProgress.createDefaultProgressDialog(mContext);
|
progress = UtilityProgress.createDefaultProgressDialog(mContext);
|
||||||
@ -234,14 +236,37 @@ public class ProdRecuperoMaterialeViewModel {
|
|||||||
.setGestione(item.getGestione())
|
.setGestione(item.getGestione())
|
||||||
.setMtbColr(new ObservableArrayList<>());
|
.setMtbColr(new ObservableArrayList<>());
|
||||||
|
|
||||||
|
|
||||||
|
BigDecimal totalSumOfQtaCol = BigDecimal.ZERO;
|
||||||
|
BigDecimal totalSumOfNumCnf = BigDecimal.ZERO;
|
||||||
|
|
||||||
for (HistoryVersamentoProdULDTO.OrdineDto ordine : item.getOrdini()) {
|
for (HistoryVersamentoProdULDTO.OrdineDto ordine : item.getOrdini()) {
|
||||||
BigDecimal qtaCol = quantity.multiply(new BigDecimal(-1).multiply(new BigDecimal(ordine.getPercentageHr()))).divide(new BigDecimal(100), 3, RoundingMode.HALF_EVEN);
|
|
||||||
|
BigDecimal qtaColToSave;
|
||||||
|
BigDecimal numCnfToSave;
|
||||||
|
|
||||||
|
if (SettingsManager.iDB().isFlagForceAllToColli() || (item.getMtbAart() != null && !item.getMtbAart().isFlagQtaCnfFissaBoolean()) ){
|
||||||
|
numCnfToSave = UtilityBigDecimal.divideAndRoundToInteger(inputNumCnf.multiply(BigDecimal.valueOf(ordine.getPercentageHr())), BigDecimal.valueOf(100), RoundingMode.FLOOR);
|
||||||
|
qtaColToSave = numCnfToSave.multiply(inputQtaCnf).setScale(0, BigDecimal.ROUND_FLOOR);
|
||||||
|
} else {
|
||||||
|
qtaColToSave = UtilityBigDecimal.divideAndRoundToInteger(inputQtaTot.multiply(BigDecimal.valueOf(ordine.getPercentageHr())), BigDecimal.valueOf(100), RoundingMode.FLOOR);
|
||||||
|
numCnfToSave = UtilityBigDecimal.divide(qtaColToSave, item.getQtaCnf(), RoundingMode.FLOOR);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
totalSumOfQtaCol = totalSumOfQtaCol.add(qtaColToSave);
|
||||||
|
totalSumOfNumCnf = totalSumOfNumCnf.add(numCnfToSave);
|
||||||
|
|
||||||
|
numCnfToSave = numCnfToSave.multiply(BigDecimal.valueOf(-1));
|
||||||
|
qtaColToSave = qtaColToSave.multiply(BigDecimal.valueOf(-1));
|
||||||
|
|
||||||
|
|
||||||
final MtbColr mtbColrScarico = new MtbColr()
|
final MtbColr mtbColrScarico = new MtbColr()
|
||||||
.setCodMart(item.getCodMart())
|
.setCodMart(item.getCodMart())
|
||||||
.setPartitaMag(UtilityString.empty2null(item.getPartitaMag()))
|
.setPartitaMag(UtilityString.empty2null(item.getPartitaMag()))
|
||||||
.setQtaCol(qtaCol)
|
.setQtaCol(qtaColToSave)
|
||||||
.setQtaCnf(ordine.getQtaCnf())
|
.setQtaCnf(inputQtaCnf)
|
||||||
|
.setNumCnf(numCnfToSave)
|
||||||
.setDescrizione(UtilityString.isNullOrEmpty(item.getMtbAart().getDescrizioneEstesa()) ? item.getMtbAart().getDescrizione() : item.getMtbAart().getDescrizioneEstesa())
|
.setDescrizione(UtilityString.isNullOrEmpty(item.getMtbAart().getDescrizioneEstesa()) ? item.getMtbAart().getDescrizione() : item.getMtbAart().getDescrizioneEstesa())
|
||||||
.setDatetimeRow(UtilityDate.getDateInstance())
|
.setDatetimeRow(UtilityDate.getDateInstance())
|
||||||
.setNumColloRif(item.getNumColloRif())
|
.setNumColloRif(item.getNumColloRif())
|
||||||
@ -256,6 +281,24 @@ public class ProdRecuperoMaterialeViewModel {
|
|||||||
mtbColtScarico.getMtbColr().add(mtbColrScarico);
|
mtbColtScarico.getMtbColr().add(mtbColrScarico);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean updateQtaCnfFirstRow = false;
|
||||||
|
|
||||||
|
if(UtilityBigDecimal.lowerThan(totalSumOfNumCnf, inputNumCnf)) {
|
||||||
|
BigDecimal diff = inputNumCnf.subtract(totalSumOfNumCnf).multiply(BigDecimal.valueOf(-1));
|
||||||
|
mtbColtScarico.getMtbColr().get(0).setNumCnf(mtbColtScarico.getMtbColr().get(0).getNumCnf().add(diff));
|
||||||
|
updateQtaCnfFirstRow = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(UtilityBigDecimal.lowerThan(totalSumOfQtaCol, inputQtaTot)) {
|
||||||
|
BigDecimal diff = inputQtaTot.subtract(totalSumOfQtaCol).multiply(BigDecimal.valueOf(-1));
|
||||||
|
mtbColtScarico.getMtbColr().get(0).setQtaCol(mtbColtScarico.getMtbColr().get(0).getQtaCol().add(diff));
|
||||||
|
updateQtaCnfFirstRow = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(updateQtaCnfFirstRow) {
|
||||||
|
mtbColtScarico.getMtbColr().get(0).setQtaCnf(
|
||||||
|
UtilityBigDecimal.divide(mtbColtScarico.getMtbColr().get(0).getQtaCol(), mtbColtScarico.getMtbColr().get(0).getNumCnf()));
|
||||||
|
}
|
||||||
|
|
||||||
mtbColtScarico.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
mtbColtScarico.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
||||||
|
|
||||||
@ -280,7 +323,9 @@ public class ProdRecuperoMaterialeViewModel {
|
|||||||
final MtbColr mtbColrCarico = new MtbColr()
|
final MtbColr mtbColrCarico = new MtbColr()
|
||||||
.setCodMart(item.getCodMart())
|
.setCodMart(item.getCodMart())
|
||||||
.setPartitaMag(UtilityString.empty2null(item.getPartitaMag()))
|
.setPartitaMag(UtilityString.empty2null(item.getPartitaMag()))
|
||||||
.setQtaCol(quantity)
|
.setQtaCol(inputQtaTot)
|
||||||
|
.setNumCnf(inputNumCnf)
|
||||||
|
.setQtaCnf(inputQtaCnf)
|
||||||
.setDescrizione(UtilityString.isNullOrEmpty(item.getMtbAart().getDescrizioneEstesa()) ? item.getMtbAart().getDescrizione() : item.getMtbAart().getDescrizioneEstesa())
|
.setDescrizione(UtilityString.isNullOrEmpty(item.getMtbAart().getDescrizioneEstesa()) ? item.getMtbAart().getDescrizione() : item.getMtbAart().getDescrizioneEstesa())
|
||||||
.setDatetimeRow(UtilityDate.getDateInstance())
|
.setDatetimeRow(UtilityDate.getDateInstance())
|
||||||
.setNumColloRif(item.getNumColloRif())
|
.setNumColloRif(item.getNumColloRif())
|
||||||
|
|||||||
@ -13,18 +13,19 @@ import androidx.recyclerview.widget.RecyclerView;
|
|||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
|
||||||
import it.integry.integrywmsnative.core.exception.DateNotRecognizedException;
|
import it.integry.integrywmsnative.core.exception.DateNotRecognizedException;
|
||||||
import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
|
import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
|
||||||
import it.integry.integrywmsnative.core.model.CheckableOrdineLavoro;
|
import it.integry.integrywmsnative.core.model.CheckableOrdineLavoro;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||||
@ -76,38 +77,52 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
|
|||||||
MtbColr mtbColr = mMtbColr;
|
MtbColr mtbColr = mMtbColr;
|
||||||
BigDecimal residuoCol = mtbColr.getQtaCol();
|
BigDecimal residuoCol = mtbColr.getQtaCol();
|
||||||
BigDecimal residuoCnf = mtbColr.getNumCnf();
|
BigDecimal residuoCnf = mtbColr.getNumCnf();
|
||||||
BigDecimal offsetCol = BigDecimal.ZERO.add(residuoCol);
|
|
||||||
BigDecimal offsetCnf = BigDecimal.ZERO.add(residuoCnf);
|
BigDecimal offsetCol = BigDecimal.ZERO.add(residuoCol); //Forced clone
|
||||||
mtbColr.setQtaCnf(mtbColr.getQtaCol().divide(mtbColr.getNumCnf(),5,BigDecimal.ROUND_HALF_UP));
|
BigDecimal offsetCnf = BigDecimal.ZERO.add(residuoCnf); //Forced clone
|
||||||
|
|
||||||
|
mtbColr.setQtaCnf(UtilityBigDecimal.divide(mtbColr.getQtaCol(), mtbColr.getNumCnf()));
|
||||||
|
|
||||||
List<CheckableOrdineLavoro> ordiniSelezionati = getSelectedData();
|
List<CheckableOrdineLavoro> ordiniSelezionati = getSelectedData();
|
||||||
int totalHr = Stream.of(ordiniSelezionati).mapToInt(x -> x.getItem().getOrdineLav().getHrNum()).sum();
|
int totalHr = Stream.of(ordiniSelezionati)
|
||||||
|
.mapToInt(x -> x.getItem().getOrdineLav().getHrNum())
|
||||||
|
.sum();
|
||||||
|
|
||||||
for (CheckableOrdineLavoro c : ordiniSelezionati) {
|
for (CheckableOrdineLavoro c : ordiniSelezionati) {
|
||||||
BigDecimal usedCol, usedCnf;
|
BigDecimal usedCol, usedCnf;
|
||||||
float perc = (c.getItem().getOrdineLav().getHrNum() * 100) / totalHr;
|
int perc = (c.getItem().getOrdineLav().getHrNum() * 100) / totalHr;
|
||||||
|
|
||||||
if (SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean()) ){
|
if (SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean()) ){
|
||||||
usedCnf = residuoCnf.multiply(BigDecimal.valueOf(perc)).divide(BigDecimal.valueOf(100)).setScale(0, BigDecimal.ROUND_FLOOR);
|
usedCnf = UtilityBigDecimal.divideAndRoundToInteger(residuoCnf.multiply(BigDecimal.valueOf(perc)), BigDecimal.valueOf(100), RoundingMode.FLOOR);
|
||||||
if (usedCnf.compareTo(BigDecimal.ZERO) <= 0 && offsetCnf.compareTo(BigDecimal.ZERO) > 0){
|
|
||||||
|
if(UtilityBigDecimal.equalsOrLowerThan(usedCnf, BigDecimal.ZERO) && UtilityBigDecimal.greaterThan(offsetCnf, BigDecimal.ZERO)) {
|
||||||
usedCnf = BigDecimal.ONE;
|
usedCnf = BigDecimal.ONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
usedCol = usedCnf.multiply(mtbColr.getQtaCnf()).setScale(0,BigDecimal.ROUND_FLOOR);
|
usedCol = usedCnf.multiply(mtbColr.getQtaCnf()).setScale(0,BigDecimal.ROUND_FLOOR);
|
||||||
} else {
|
} else {
|
||||||
usedCol = residuoCol.multiply(BigDecimal.valueOf(perc)).divide(BigDecimal.valueOf(100)).setScale(0, BigDecimal.ROUND_FLOOR);
|
usedCol = UtilityBigDecimal.divideAndRoundToInteger(residuoCol.multiply(BigDecimal.valueOf(perc)), BigDecimal.valueOf(100), RoundingMode.FLOOR);
|
||||||
if (usedCol.compareTo(BigDecimal.ZERO) <= 0 && offsetCol.compareTo(BigDecimal.ZERO) > 0){
|
|
||||||
|
if (UtilityBigDecimal.equalsOrLowerThan(usedCol, BigDecimal.ZERO) && UtilityBigDecimal.greaterThan(offsetCol, BigDecimal.ZERO)){
|
||||||
usedCol = BigDecimal.ONE;
|
usedCol = BigDecimal.ONE;
|
||||||
}
|
}
|
||||||
usedCnf = usedCol.divide(mtbColr.getQtaCnf()).setScale(3, BigDecimal.ROUND_FLOOR);
|
|
||||||
|
usedCnf = UtilityBigDecimal.divide(usedCol, mtbColr.getQtaCnf(), RoundingMode.FLOOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
offsetCol = offsetCol.subtract(usedCol);
|
offsetCol = offsetCol.subtract(usedCol);
|
||||||
offsetCnf = offsetCnf.subtract(usedCnf);
|
offsetCnf = offsetCnf.subtract(usedCnf);
|
||||||
|
|
||||||
c.setQtaCol(usedCol.floatValue());
|
c.setQtaCol(usedCol.floatValue());
|
||||||
c.setNumCnf(usedCnf.floatValue());
|
c.setNumCnf(usedCnf.floatValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ordiniSelezionati.size() > 0) {
|
if (ordiniSelezionati.size() > 0) {
|
||||||
CheckableOrdineLavoro majorOrder = Stream.of(ordiniSelezionati).max((o1, o2) -> Integer.compare(o1.getItem().getOrdineLav().getHrNum(), o2.getItem().getOrdineLav().getHrNum())).get();
|
CheckableOrdineLavoro majorOrder = Stream.of(ordiniSelezionati).max((o1, o2) -> Integer.compare(o1.getItem().getOrdineLav().getHrNum(), o2.getItem().getOrdineLav().getHrNum())).get();
|
||||||
if (majorOrder == null) {
|
if (majorOrder == null) {
|
||||||
majorOrder = ordiniSelezionati.get(0);
|
majorOrder = ordiniSelezionati.get(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (offsetCnf.floatValue() != 0 || offsetCol.floatValue() != 0){
|
if (offsetCnf.floatValue() != 0 || offsetCol.floatValue() != 0){
|
||||||
if ( SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
if ( SettingsManager.iDB().isFlagForceAllToColli() || (mtbColr.getMtbAart() != null && !mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())) {
|
||||||
majorOrder.setNumCnf(majorOrder.getNumCnf().get() + offsetCnf.floatValue());
|
majorOrder.setNumCnf(majorOrder.getNumCnf().get() + offsetCnf.floatValue());
|
||||||
@ -116,8 +131,6 @@ public class ChooseOrdsLavFromListAdapter extends RecyclerView.Adapter<ChooseOrd
|
|||||||
majorOrder.setQtaCol(majorOrder.getQtaCol().get() + offsetCol.floatValue());
|
majorOrder.setQtaCol(majorOrder.getQtaCol().get() + offsetCol.floatValue());
|
||||||
majorOrder.setNumCnf(majorOrder.getQtaCol().get() / mtbColr.getQtaCnf().floatValue());
|
majorOrder.setNumCnf(majorOrder.getQtaCol().get() / mtbColr.getQtaCnf().floatValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -61,7 +61,7 @@ import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
|||||||
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLU;
|
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLU;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||||
import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArts;
|
import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArts;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||||
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
|
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
|
||||||
import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo;
|
import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo;
|
||||||
@ -416,7 +416,7 @@ public class RettificaGiacenzeFragment extends Fragment implements ITitledFragme
|
|||||||
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
.setCanPartitaMagBeChanged(canPartitaMagBeChanged)
|
||||||
.setCanLUBeClosed(canLUBeClosed);
|
.setCanLUBeClosed(canLUBeClosed);
|
||||||
|
|
||||||
DialogInputQuantityV2
|
DialogInputQuantityV2View
|
||||||
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
||||||
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
||||||
.setNumCnf(resultDTO.getNumCnf())
|
.setNumCnf(resultDTO.getNumCnf())
|
||||||
|
|||||||
@ -10,11 +10,9 @@ import javax.inject.Singleton;
|
|||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
import it.integry.integrywmsnative.core.model.MtbAartWithFornitore;
|
import it.integry.integrywmsnative.core.model.MtbAartWithFornitore;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
|
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
import it.integry.integrywmsnative.core.utility.UtilityDB;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
|
||||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.FornitoreDTO;
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.dto.FornitoreDTO;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
@ -29,19 +27,12 @@ public class RettificaGiacenzeRESTConsumer extends _BaseRESTConsumer {
|
|||||||
public void loadListaFornitori(RunnableArgs<ArrayList<FornitoreDTO>> onComplete, RunnableArgs<Exception> onFailed) {
|
public void loadListaFornitori(RunnableArgs<ArrayList<FornitoreDTO>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
String sql = "SELECT cod_alis as 'codAlis', descrizione FROM atb_list WHERE flag_attivo = 'S'";
|
String sql = "SELECT cod_alis as 'codAlis', descrizione FROM atb_list WHERE flag_attivo = 'S'";
|
||||||
|
|
||||||
Type typeOfObjectsList = new TypeToken<ArrayList<FornitoreDTO>>() {}.getType();
|
Type typeOfObjectsList = new TypeToken<ArrayList<FornitoreDTO>>() {
|
||||||
|
}.getType();
|
||||||
|
|
||||||
mSystemRestConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<FornitoreDTO>>() {
|
mSystemRestConsumer.<ArrayList<FornitoreDTO>>processSql(sql, typeOfObjectsList, value -> {
|
||||||
@Override
|
if (onComplete != null) onComplete.run(value);
|
||||||
public void onSuccess(ArrayList<FornitoreDTO> value) {
|
}, onFailed);
|
||||||
if(onComplete != null) onComplete.run(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailed(Exception ex) {
|
|
||||||
onFailed.run(ex);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -55,18 +46,11 @@ public class RettificaGiacenzeRESTConsumer extends _BaseRESTConsumer {
|
|||||||
" ORDER BY ABS(mtb_part.qta_esistente) DESC, mtb_aart.descrizione_estesa";
|
" ORDER BY ABS(mtb_part.qta_esistente) DESC, mtb_aart.descrizione_estesa";
|
||||||
|
|
||||||
|
|
||||||
Type typeOfObjectsList = new TypeToken<ArrayList<MtbAartWithFornitore>>() {}.getType();
|
Type typeOfObjectsList = new TypeToken<ArrayList<MtbAartWithFornitore>>() {
|
||||||
mSystemRestConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<MtbAartWithFornitore>>() {
|
}.getType();
|
||||||
@Override
|
mSystemRestConsumer.<ArrayList<MtbAartWithFornitore>>processSql(sql, typeOfObjectsList, value -> {
|
||||||
public void onSuccess(ArrayList<MtbAartWithFornitore> value) {
|
if (onComplete != null) onComplete.run(value);
|
||||||
if(onComplete != null) onComplete.run(value);
|
}, onFailed);
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailed(Exception ex) {
|
|
||||||
if(onFailed != null) onFailed.run(ex);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -84,18 +68,11 @@ public class RettificaGiacenzeRESTConsumer extends _BaseRESTConsumer {
|
|||||||
"OR mtb_aart.cod_mart = '" + codMartOrBarcodeOrDescr + "' " +
|
"OR mtb_aart.cod_mart = '" + codMartOrBarcodeOrDescr + "' " +
|
||||||
"OR mtb_aart.descrizione_estesa LIKE '%" + codMartOrBarcodeOrDescr + "%'";
|
"OR mtb_aart.descrizione_estesa LIKE '%" + codMartOrBarcodeOrDescr + "%'";
|
||||||
|
|
||||||
Type typeOfObjectsList = new TypeToken<ArrayList<MtbAart>>() {}.getType();
|
Type typeOfObjectsList = new TypeToken<ArrayList<MtbAart>>() {
|
||||||
mSystemRestConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<MtbAart>>() {
|
}.getType();
|
||||||
@Override
|
mSystemRestConsumer.<ArrayList<MtbAart>>processSql(sql, typeOfObjectsList, value -> {
|
||||||
public void onSuccess(ArrayList<MtbAart> value) {
|
if (onComplete != null) onComplete.run(value);
|
||||||
if(onComplete != null) onComplete.run(value);
|
}, onFailed);
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailed(Exception ex) {
|
|
||||||
if(onFailed != null) onFailed.run(ex);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -67,9 +67,9 @@ import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
|
|||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||||
import it.integry.integrywmsnative.view.dialogs.camera_barcode_reader.DialogCameraBarcodeReader;
|
import it.integry.integrywmsnative.view.dialogs.camera_barcode_reader.DialogCameraBarcodeReader;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPeso;
|
import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPeso;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||||
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArt;
|
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtView;
|
||||||
import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo;
|
import it.integry.integrywmsnative.view.dialogs.yes_no.DialogYesNo;
|
||||||
|
|
||||||
public class SpedizioneActivity extends BaseActivity implements SpedizioneViewModel.Listener, BottomSheetFragmentLUContentViewModel.Listener, BottomSheetFragmentLUContentView.Listener {
|
public class SpedizioneActivity extends BaseActivity implements SpedizioneViewModel.Listener, BottomSheetFragmentLUContentViewModel.Listener, BottomSheetFragmentLUContentView.Listener {
|
||||||
@ -100,12 +100,13 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
private ArrayList<MtbColt> mColliRegistrati;
|
private ArrayList<MtbColt> mColliRegistrati;
|
||||||
private GestioneEnum mGestioneCol;
|
private GestioneEnum mGestioneCol;
|
||||||
private int mSegnoCol;
|
private int mSegnoCol;
|
||||||
|
private Integer mDefaultCausaleUL;
|
||||||
|
|
||||||
private boolean mShouldCloseActivity;
|
private boolean mShouldCloseActivity;
|
||||||
|
|
||||||
private final int PICK_UL_REQUEST = 1;
|
private final int PICK_UL_REQUEST = 1;
|
||||||
|
|
||||||
public static void startActivity(Context context, List<SitArtOrdDTO> ordini, List<OrdineUscitaInevasoDTO> selectedOrders, List<MtbColt> mtbColtList, GestioneEnum gestioneCol, int segnoCol) {
|
public static void startActivity(Context context, List<SitArtOrdDTO> ordini, List<OrdineUscitaInevasoDTO> selectedOrders, List<MtbColt> mtbColtList, GestioneEnum gestioneCol, int segnoCol, Integer defaultCausaleUL) {
|
||||||
Intent myIntent = new Intent(context, SpedizioneActivity.class);
|
Intent myIntent = new Intent(context, SpedizioneActivity.class);
|
||||||
|
|
||||||
String keyPickingList = DataCache.addItem(ordini);
|
String keyPickingList = DataCache.addItem(ordini);
|
||||||
@ -123,6 +124,9 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
String keySegnoCol = DataCache.addItem(segnoCol);
|
String keySegnoCol = DataCache.addItem(segnoCol);
|
||||||
myIntent.putExtra("keySegnoCol", keySegnoCol);
|
myIntent.putExtra("keySegnoCol", keySegnoCol);
|
||||||
|
|
||||||
|
String keyDefaultCausaleUL = DataCache.addItem(defaultCausaleUL);
|
||||||
|
myIntent.putExtra("keyDefaultCausaleCol", keyDefaultCausaleUL);
|
||||||
|
|
||||||
context.startActivity(myIntent);
|
context.startActivity(myIntent);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,6 +139,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
mColliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati"));
|
mColliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati"));
|
||||||
mGestioneCol = DataCache.retrieveItem(getIntent().getStringExtra("keyGestioneCol"));
|
mGestioneCol = DataCache.retrieveItem(getIntent().getStringExtra("keyGestioneCol"));
|
||||||
mSegnoCol = DataCache.retrieveItem(getIntent().getStringExtra("keySegnoCol"));
|
mSegnoCol = DataCache.retrieveItem(getIntent().getStringExtra("keySegnoCol"));
|
||||||
|
mDefaultCausaleUL = DataCache.retrieveItem(getIntent().getStringExtra("keyDefaultCausaleCol"));
|
||||||
|
|
||||||
mBindings = DataBindingUtil.setContentView(this, R.layout.activity_spedizione);
|
mBindings = DataBindingUtil.setContentView(this, R.layout.activity_spedizione);
|
||||||
|
|
||||||
@ -186,7 +191,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
mTestateOrdini,
|
mTestateOrdini,
|
||||||
mColliRegistrati,
|
mColliRegistrati,
|
||||||
reportNameSpedizioneChiudiOrdine,
|
reportNameSpedizioneChiudiOrdine,
|
||||||
mGestioneCol, mSegnoCol);
|
mGestioneCol, mSegnoCol, mDefaultCausaleUL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -586,7 +591,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
};
|
};
|
||||||
|
|
||||||
public void addExtraItem() {
|
public void addExtraItem() {
|
||||||
DialogScanArt
|
DialogScanArtView
|
||||||
.newInstance((status, mtbAart, ean128Model, mtbColr) -> {
|
.newInstance((status, mtbAart, ean128Model, mtbColr) -> {
|
||||||
if(status == DialogConsts.Results.YES) {
|
if(status == DialogConsts.Results.YES) {
|
||||||
this.mViewmodel.dispatchExtraItem(mtbAart, ean128Model, mtbColr);
|
this.mViewmodel.dispatchExtraItem(mtbAart, ean128Model, mtbColr);
|
||||||
@ -779,7 +784,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
.setCanOverflowOrderQuantity(canOverflowOrderQuantity)
|
.setCanOverflowOrderQuantity(canOverflowOrderQuantity)
|
||||||
.setCanLUBeClosed(true);
|
.setCanLUBeClosed(true);
|
||||||
|
|
||||||
DialogInputQuantityV2
|
DialogInputQuantityV2View
|
||||||
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
||||||
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
||||||
.setNumCnf(resultDTO.getNumCnf())
|
.setNumCnf(resultDTO.getNumCnf())
|
||||||
|
|||||||
@ -63,7 +63,6 @@ import it.integry.integrywmsnative.core.utility.UtilityPosizione;
|
|||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.CurrentMonoLUPositionIsNotCorrectException;
|
import it.integry.integrywmsnative.gest.spedizione.exceptions.CurrentMonoLUPositionIsNotCorrectException;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
|
import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.NoOrdersSelectedException;
|
|
||||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.NotCurrentYearLUException;
|
import it.integry.integrywmsnative.gest.spedizione.exceptions.NotCurrentYearLUException;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.exceptions.OrdersLoadException;
|
import it.integry.integrywmsnative.gest.spedizione.exceptions.OrdersLoadException;
|
||||||
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
import it.integry.integrywmsnative.gest.spedizione.model.PickedQuantityDTO;
|
||||||
@ -87,6 +86,7 @@ public class SpedizioneViewModel {
|
|||||||
private Integer mDefaultNumOrdOfUL = null;
|
private Integer mDefaultNumOrdOfUL = null;
|
||||||
private Date mDefaultDataOrdOfUL = null;
|
private Date mDefaultDataOrdOfUL = null;
|
||||||
private String mDefaultCodJFasOfUL = null;
|
private String mDefaultCodJFasOfUL = null;
|
||||||
|
private Integer mDefaultCausaleOfUL = null;
|
||||||
|
|
||||||
private boolean mEnableGiacenza;
|
private boolean mEnableGiacenza;
|
||||||
private boolean mEnableCheckPartitaMag;
|
private boolean mEnableCheckPartitaMag;
|
||||||
@ -133,7 +133,8 @@ public class SpedizioneViewModel {
|
|||||||
List<MtbColt> colliRegistrati,
|
List<MtbColt> colliRegistrati,
|
||||||
String reportNameSpedizioneChiudiOrdine,
|
String reportNameSpedizioneChiudiOrdine,
|
||||||
GestioneEnum gestioneCol,
|
GestioneEnum gestioneCol,
|
||||||
int segnoCol) {
|
int segnoCol,
|
||||||
|
Integer defaultCausaleUL) {
|
||||||
this.sendOnLoadingStarted();
|
this.sendOnLoadingStarted();
|
||||||
|
|
||||||
this.mDefaultCodMdep = codMdep;
|
this.mDefaultCodMdep = codMdep;
|
||||||
@ -144,6 +145,7 @@ public class SpedizioneViewModel {
|
|||||||
this.mCanOverflowOrderQuantity = canOverflowOrderQuantity;
|
this.mCanOverflowOrderQuantity = canOverflowOrderQuantity;
|
||||||
this.mShouldAskPesoLU = shouldAskPesoLU;
|
this.mShouldAskPesoLU = shouldAskPesoLU;
|
||||||
this.mReportNameSpedizioneChiudiOrdine = reportNameSpedizioneChiudiOrdine;
|
this.mReportNameSpedizioneChiudiOrdine = reportNameSpedizioneChiudiOrdine;
|
||||||
|
this.mDefaultCausaleOfUL = defaultCausaleUL;
|
||||||
|
|
||||||
if (enableGiacenza) {
|
if (enableGiacenza) {
|
||||||
mOrdiniRestConsumerService.getSuggestedPickingList(this.mDefaultCodMdep, pickingList, pickingObjectList -> {
|
mOrdiniRestConsumerService.getSuggestedPickingList(this.mDefaultCodMdep, pickingList, pickingObjectList -> {
|
||||||
@ -192,10 +194,7 @@ public class SpedizioneViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initDefaultVars() {
|
private void initDefaultVars() {
|
||||||
if (this.mTestateOrdini == null || this.mTestateOrdini.size() == 0) {
|
if (this.mTestateOrdini != null && this.mTestateOrdini.size() > 0) {
|
||||||
sendError(new NoOrdersSelectedException());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mDefaultGestioneOfUL == null) {
|
if (mDefaultGestioneOfUL == null) {
|
||||||
//Definizione della gestione collo di default
|
//Definizione della gestione collo di default
|
||||||
@ -294,6 +293,7 @@ public class SpedizioneViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void sendOnLoadingStarted() {
|
private void sendOnLoadingStarted() {
|
||||||
if (this.mListener != null) mListener.onLoadingStarted();
|
if (this.mListener != null) mListener.onLoadingStarted();
|
||||||
@ -1249,6 +1249,7 @@ public class SpedizioneViewModel {
|
|||||||
this.sendOnLoadingStarted();
|
this.sendOnLoadingStarted();
|
||||||
|
|
||||||
final MtbColr mtbColr = new MtbColr()
|
final MtbColr mtbColr = new MtbColr()
|
||||||
|
.setCausale(mDefaultCausaleOfUL)
|
||||||
.setCodMart(pickingObjectDTO.getMtbAart().getCodMart())
|
.setCodMart(pickingObjectDTO.getMtbAart().getCodMart())
|
||||||
.setPartitaMag(partitaMag)
|
.setPartitaMag(partitaMag)
|
||||||
.setDataScadPartita(dataScad)
|
.setDataScadPartita(dataScad)
|
||||||
|
|||||||
@ -1,4 +1,12 @@
|
|||||||
package it.integry.integrywmsnative.gest.spedizione.exceptions;
|
package it.integry.integrywmsnative.gest.spedizione.exceptions;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||||
|
|
||||||
public final class NoOrdersSelectedException extends Exception {
|
public final class NoOrdersSelectedException extends Exception {
|
||||||
|
|
||||||
|
public NoOrdersSelectedException() {
|
||||||
|
super(UtilityResources.getString(R.string.no_one_order_selected));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,7 +42,7 @@ import it.integry.integrywmsnative.view.dialogs.DialogAskLivelloPosizione;
|
|||||||
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
|
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||||
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts;
|
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArts;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO;
|
||||||
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
|
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLU;
|
||||||
|
|
||||||
@ -379,7 +379,7 @@ public class VersamentoMerceViewModel {
|
|||||||
.setCanPartitaMagBeChanged(false)
|
.setCanPartitaMagBeChanged(false)
|
||||||
.setCanLUBeClosed(false);
|
.setCanLUBeClosed(false);
|
||||||
|
|
||||||
DialogInputQuantityV2
|
DialogInputQuantityV2View
|
||||||
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
.newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> {
|
||||||
// PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
// PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
|
||||||
// .setNumCnf(resultDTO.getNumCnf())
|
// .setNumCnf(resultDTO.getNumCnf())
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public class DialogAskCliente_Page1_Cliente_ArrayAdapter extends ArrayAdapter<Di
|
|||||||
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
||||||
View listItem = convertView;
|
View listItem = convertView;
|
||||||
if(listItem == null) {
|
if(listItem == null) {
|
||||||
listItem = LayoutInflater.from(mContext).inflate(R.layout.dialog_ask_cliente__dropdown_item, parent, false);
|
listItem = LayoutInflater.from(mContext).inflate(R.layout.dropdown_simple_item, parent, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(position < mDataset.size()) {
|
if(position < mDataset.size()) {
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public class DialogAskCliente_Page1_Commessa_ArrayAdapter extends ArrayAdapter<S
|
|||||||
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
||||||
View listItem = convertView;
|
View listItem = convertView;
|
||||||
if(listItem == null) {
|
if(listItem == null) {
|
||||||
listItem = LayoutInflater.from(mContext).inflate(R.layout.dialog_ask_cliente__dropdown_item, parent, false);
|
listItem = LayoutInflater.from(mContext).inflate(R.layout.dropdown_simple_item, parent, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(position < getCount()) {
|
if(position < getCount()) {
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
package it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_mtb_colr.choose_art_from_lista_arts;
|
package it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_mtb_colr;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@ -19,8 +19,8 @@ public class DialogChooseArtFromListaMtbColrAdapter extends RecyclerView.Adapter
|
|||||||
|
|
||||||
protected Context mContext;
|
protected Context mContext;
|
||||||
|
|
||||||
private List<MtbColr> mDataset;
|
private final List<MtbColr> mDataset;
|
||||||
private IRecyclerItemClicked<MtbColr> mOnItemClickListener;
|
private final IRecyclerItemClicked<MtbColr> mOnItemClickListener;
|
||||||
|
|
||||||
public static class ViewHolder extends RecyclerView.ViewHolder {
|
public static class ViewHolder extends RecyclerView.ViewHolder {
|
||||||
protected DialogChooseArtFromListaArtItemModelBinding mViewDataBinding;
|
protected DialogChooseArtFromListaArtItemModelBinding mViewDataBinding;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_mtb_colr.choose_art_from_lista_arts;
|
package it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_mtb_colr;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@ -20,7 +20,7 @@ import it.integry.integrywmsnative.core.model.MtbColr;
|
|||||||
import it.integry.integrywmsnative.core.utility.UtilityDialog;
|
import it.integry.integrywmsnative.core.utility.UtilityDialog;
|
||||||
import it.integry.integrywmsnative.databinding.DialogChooseArtFromListaArtBinding;
|
import it.integry.integrywmsnative.databinding.DialogChooseArtFromListaArtBinding;
|
||||||
|
|
||||||
public class DialogChooseArtFromListaMtbColr {
|
public class DialogChooseArtFromListaMtbColrView {
|
||||||
|
|
||||||
|
|
||||||
private Context currentContext;
|
private Context currentContext;
|
||||||
@ -31,11 +31,11 @@ public class DialogChooseArtFromListaMtbColr {
|
|||||||
private RunnableArgs<MtbColr> mOnItemChoosed;
|
private RunnableArgs<MtbColr> mOnItemChoosed;
|
||||||
|
|
||||||
public static Dialog make(final Context context, List<MtbColr> mtbColrList, RunnableArgs<MtbColr> onItemChoosed) {
|
public static Dialog make(final Context context, List<MtbColr> mtbColrList, RunnableArgs<MtbColr> onItemChoosed) {
|
||||||
return new DialogChooseArtFromListaMtbColr(context, mtbColrList, onItemChoosed).mDialog;
|
return new DialogChooseArtFromListaMtbColrView(context, mtbColrList, onItemChoosed).mDialog;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private DialogChooseArtFromListaMtbColr(Context context, List<MtbColr> mtbColrList, RunnableArgs<MtbColr> onItemChoosed) {
|
private DialogChooseArtFromListaMtbColrView(Context context, List<MtbColr> mtbColrList, RunnableArgs<MtbColr> onItemChoosed) {
|
||||||
currentContext = context;
|
currentContext = context;
|
||||||
mOnItemChoosed = onItemChoosed;
|
mOnItemChoosed = onItemChoosed;
|
||||||
|
|
||||||
@ -10,5 +10,5 @@ public interface DialogInputQuantityV2Component {
|
|||||||
DialogInputQuantityV2Component create();
|
DialogInputQuantityV2Component create();
|
||||||
}
|
}
|
||||||
|
|
||||||
void inject(DialogInputQuantityV2 dialogInputQuantityV2);
|
void inject(DialogInputQuantityV2View dialogInputQuantityV2);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
|
package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;
|
||||||
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.res.ColorStateList;
|
import android.content.res.ColorStateList;
|
||||||
@ -41,11 +40,10 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
|||||||
import it.integry.integrywmsnative.core.model.MtbUntMis;
|
import it.integry.integrywmsnative.core.model.MtbUntMis;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityObservable;
|
import it.integry.integrywmsnative.core.utility.UtilityObservable;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
|
||||||
import it.integry.integrywmsnative.databinding.DialogInputQuantityV2Binding;
|
import it.integry.integrywmsnative.databinding.DialogInputQuantityV2Binding;
|
||||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
|
||||||
|
|
||||||
public class DialogInputQuantityV2 extends BaseDialogFragment implements DialogInputQuantityV2ViewModel.Listener {
|
public class DialogInputQuantityV2View extends BaseDialogFragment implements DialogInputQuantityV2ViewModel.Listener {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
DialogInputQuantityV2ViewModel mViewModel;
|
DialogInputQuantityV2ViewModel mViewModel;
|
||||||
@ -74,13 +72,12 @@ public class DialogInputQuantityV2 extends BaseDialogFragment implements DialogI
|
|||||||
private boolean mEnableDataCallback = true;
|
private boolean mEnableDataCallback = true;
|
||||||
|
|
||||||
private int mBarcodeScannerIstanceID;
|
private int mBarcodeScannerIstanceID;
|
||||||
private Dialog mCurrentProgress;
|
|
||||||
|
|
||||||
public static DialogInputQuantityV2 newInstance(@NotNull DialogInputQuantityV2DTO dialogInputQuantityV2DTO, @NotNull RunnableArgss<DialogInputQuantityV2ResultDTO, Boolean> onComplete, @NotNull Runnable onAbort) {
|
public static DialogInputQuantityV2View newInstance(@NotNull DialogInputQuantityV2DTO dialogInputQuantityV2DTO, @NotNull RunnableArgss<DialogInputQuantityV2ResultDTO, Boolean> onComplete, @NotNull Runnable onAbort) {
|
||||||
return new DialogInputQuantityV2(dialogInputQuantityV2DTO, onComplete, onAbort);
|
return new DialogInputQuantityV2View(dialogInputQuantityV2DTO, onComplete, onAbort);
|
||||||
}
|
}
|
||||||
|
|
||||||
private DialogInputQuantityV2(@NotNull DialogInputQuantityV2DTO dialogInputQuantityV2DTO, @NotNull RunnableArgss<DialogInputQuantityV2ResultDTO, Boolean> onComplete, @NotNull Runnable onAbort) {
|
private DialogInputQuantityV2View(@NotNull DialogInputQuantityV2DTO dialogInputQuantityV2DTO, @NotNull RunnableArgss<DialogInputQuantityV2ResultDTO, Boolean> onComplete, @NotNull Runnable onAbort) {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
this.mDialogInputQuantityV2DTO = dialogInputQuantityV2DTO;
|
this.mDialogInputQuantityV2DTO = dialogInputQuantityV2DTO;
|
||||||
@ -156,19 +153,6 @@ public class DialogInputQuantityV2 extends BaseDialogFragment implements DialogI
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
private void openProgress() {
|
|
||||||
if (this.mCurrentProgress == null) {
|
|
||||||
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(this.context);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void closeProgress() {
|
|
||||||
if (mCurrentProgress != null) {
|
|
||||||
mCurrentProgress.dismiss();
|
|
||||||
mCurrentProgress = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void save() {
|
public void save() {
|
||||||
if (this.mViewModel.validate()) {
|
if (this.mViewModel.validate()) {
|
||||||
this.mOnComplete.run(this.mViewModel.getResult(), false);
|
this.mOnComplete.run(this.mViewModel.getResult(), false);
|
||||||
@ -10,6 +10,6 @@ public interface DialogScanArtComponent {
|
|||||||
DialogScanArtComponent create();
|
DialogScanArtComponent create();
|
||||||
}
|
}
|
||||||
|
|
||||||
void inject(DialogScanArt dialogScanArt);
|
void inject(DialogScanArtView dialogScanArtView);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package it.integry.integrywmsnative.view.dialogs.scan_art;
|
package it.integry.integrywmsnative.view.dialogs.scan_art;
|
||||||
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
@ -29,12 +28,11 @@ import it.integry.integrywmsnative.core.model.MtbAart;
|
|||||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
|
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
|
||||||
import it.integry.integrywmsnative.databinding.DialogScanArtBinding;
|
import it.integry.integrywmsnative.databinding.DialogScanArtBinding;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||||
import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_mtb_colr.choose_art_from_lista_arts.DialogChooseArtFromListaMtbColr;
|
import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_mtb_colr.DialogChooseArtFromListaMtbColrView;
|
||||||
|
|
||||||
public class DialogScanArt extends BaseDialogFragment implements DialogScanArtViewModel.Listener {
|
public class DialogScanArtView extends BaseDialogFragment implements DialogScanArtViewModel.Listener {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
DialogScanArtViewModel mViewModel;
|
DialogScanArtViewModel mViewModel;
|
||||||
@ -44,16 +42,15 @@ public class DialogScanArt extends BaseDialogFragment implements DialogScanArtVi
|
|||||||
private DialogScanArtBinding mBindings;
|
private DialogScanArtBinding mBindings;
|
||||||
|
|
||||||
private int mBarcodeScannerIstanceID;
|
private int mBarcodeScannerIstanceID;
|
||||||
private Dialog mCurrentProgress;
|
|
||||||
|
|
||||||
private RunnableArgssss<DialogConsts.Results, MtbAart, Ean128Model, MtbColr> mOnItemChoosed = null;
|
private RunnableArgssss<DialogConsts.Results, MtbAart, Ean128Model, MtbColr> mOnItemChoosed = null;
|
||||||
|
|
||||||
|
|
||||||
public static DialogScanArt newInstance(@NotNull RunnableArgssss<DialogConsts.Results, MtbAart, Ean128Model, MtbColr> onComplete) {
|
public static DialogScanArtView newInstance(@NotNull RunnableArgssss<DialogConsts.Results, MtbAart, Ean128Model, MtbColr> onComplete) {
|
||||||
return new DialogScanArt(onComplete);
|
return new DialogScanArtView(onComplete);
|
||||||
}
|
}
|
||||||
|
|
||||||
private DialogScanArt(RunnableArgssss<DialogConsts.Results, MtbAart, Ean128Model, MtbColr> onItemChoosed) {
|
private DialogScanArtView(RunnableArgssss<DialogConsts.Results, MtbAart, Ean128Model, MtbColr> onItemChoosed) {
|
||||||
super();
|
super();
|
||||||
mOnItemChoosed = onItemChoosed;
|
mOnItemChoosed = onItemChoosed;
|
||||||
}
|
}
|
||||||
@ -114,7 +111,7 @@ public class DialogScanArt extends BaseDialogFragment implements DialogScanArtVi
|
|||||||
|
|
||||||
this.mViewModel.processBarcodeDTO(data, (status, mtbAart, ean128Model, mtbColrList) -> {
|
this.mViewModel.processBarcodeDTO(data, (status, mtbAart, ean128Model, mtbColrList) -> {
|
||||||
if(mtbColrList != null && mtbColrList.size() > 0) {
|
if(mtbColrList != null && mtbColrList.size() > 0) {
|
||||||
DialogChooseArtFromListaMtbColr.make(mContext, mtbColrList, mtbColrChose -> {
|
DialogChooseArtFromListaMtbColrView.make(mContext, mtbColrList, mtbColrChose -> {
|
||||||
mOnItemChoosed.run(status, mtbAart, ean128Model, mtbColrChose);
|
mOnItemChoosed.run(status, mtbAart, ean128Model, mtbColrChose);
|
||||||
}).show();
|
}).show();
|
||||||
} else {
|
} else {
|
||||||
@ -132,21 +129,7 @@ public class DialogScanArt extends BaseDialogFragment implements DialogScanArtVi
|
|||||||
@Override
|
@Override
|
||||||
public void onError(Exception ex) {
|
public void onError(Exception ex) {
|
||||||
this.closeProgress();
|
this.closeProgress();
|
||||||
UtilityExceptions.defaultException(mContext, ex, mCurrentProgress);
|
UtilityExceptions.defaultException(mContext, ex);
|
||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected void openProgress() {
|
|
||||||
if (this.mCurrentProgress == null) {
|
|
||||||
this.mCurrentProgress = UtilityProgress.createDefaultProgressDialog(mContext);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void closeProgress() {
|
|
||||||
if (mCurrentProgress != null) {
|
|
||||||
mCurrentProgress.dismiss();
|
|
||||||
mCurrentProgress = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@ -130,7 +130,6 @@ public class DialogScanArtViewModel {
|
|||||||
if (this.mListener != null) mListener.onError(ex);
|
if (this.mListener != null) mListener.onError(ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void setListener(Listener listener) {
|
public void setListener(Listener listener) {
|
||||||
this.mListener = listener;
|
this.mListener = listener;
|
||||||
}
|
}
|
||||||
|
|||||||
189
app/src/main/res/layout/dialog_ask_magazzino_prossimita.xml
Normal file
189
app/src/main/res/layout/dialog_ask_magazzino_prossimita.xml
Normal file
@ -0,0 +1,189 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
|
<data>
|
||||||
|
|
||||||
|
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
|
||||||
|
|
||||||
|
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
|
||||||
|
|
||||||
|
<import type="it.integry.integrywmsnative.core.utility.UtilityBigDecimal" />
|
||||||
|
|
||||||
|
<import type="android.view.View" />
|
||||||
|
|
||||||
|
<variable
|
||||||
|
name="viewmodel"
|
||||||
|
type="it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita.DialogAskMagazzinoProssimitaViewModel" />
|
||||||
|
|
||||||
|
<variable
|
||||||
|
name="view"
|
||||||
|
type="it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita.DialogAskMagazzinoProssimitaView" />
|
||||||
|
</data>
|
||||||
|
|
||||||
|
<androidx.cardview.widget.CardView
|
||||||
|
android:orientation="vertical" android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
app:cardCornerRadius="12dp"
|
||||||
|
app:cardElevation="0dp">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/light_blue_300"
|
||||||
|
android:gravity="center_horizontal">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:src="@drawable/ic_error_white_24dp"
|
||||||
|
android:layout_margin="24dp"/>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingTop="24dp"
|
||||||
|
android:paddingLeft="24dp"
|
||||||
|
android:paddingRight="24dp">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/title_text"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/TextViewMaterial.DialogTitle"
|
||||||
|
android:text="@string/production_line"
|
||||||
|
android:gravity="center_horizontal"/>
|
||||||
|
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
|
android:id="@+id/input_linea_prod"
|
||||||
|
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:hint="@string/production_line">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatAutoCompleteTextView
|
||||||
|
android:id="@+id/dropdown_linea_prod"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:ellipsize="end"/>
|
||||||
|
|
||||||
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:weightSum="2"
|
||||||
|
android:layout_marginTop="8dp">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
|
android:id="@+id/input_start_date"
|
||||||
|
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:hint="@string/start_date"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:paddingEnd="4dp">
|
||||||
|
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
|
android:id="@+id/filled_exposed_dropdown_start_date"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:inputType="textNoSuggestions"
|
||||||
|
android:focusable="false"
|
||||||
|
android:singleLine="true"
|
||||||
|
app:binding="@{viewmodel.startDateBindable}"/>
|
||||||
|
|
||||||
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
|
android:id="@+id/input_end_date"
|
||||||
|
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:hint="@string/end_date"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:paddingStart="4dp">
|
||||||
|
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
|
android:id="@+id/filled_exposed_dropdown_end_date"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:inputType="textNoSuggestions"
|
||||||
|
android:focusable="false"
|
||||||
|
android:singleLine="true"
|
||||||
|
app:binding="@{viewmodel.endDateBindable}"/>
|
||||||
|
|
||||||
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
|
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:paddingTop="8dp"
|
||||||
|
android:paddingBottom="8dp"
|
||||||
|
android:gravity="bottom|center_horizontal">
|
||||||
|
|
||||||
|
|
||||||
|
<com.google.android.material.button.MaterialButton
|
||||||
|
android:id="@+id/button_abort"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/Button.PrimaryOutline"
|
||||||
|
app:icon="@drawable/ic_clear_24dp"
|
||||||
|
app:strokeColor="@color/colorPrimary"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
android:text="@string/abort"/>
|
||||||
|
|
||||||
|
|
||||||
|
<com.google.android.material.button.MaterialButton
|
||||||
|
android:id="@+id/button_confirm"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
style="@style/Button.PrimaryFull"
|
||||||
|
app:icon="@drawable/ic_save_24dp"
|
||||||
|
android:text="@string/confirm"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</androidx.cardview.widget.CardView>
|
||||||
|
|
||||||
|
</layout>
|
||||||
@ -43,7 +43,7 @@
|
|||||||
app:icon="@drawable/ic_clear_24dp"
|
app:icon="@drawable/ic_clear_24dp"
|
||||||
app:strokeColor="@color/colorPrimary"
|
app:strokeColor="@color/colorPrimary"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:text="Annulla"/>
|
android:text="@string/abort"/>
|
||||||
|
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
@ -52,7 +52,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
style="@style/Button.PrimaryFull"
|
style="@style/Button.PrimaryFull"
|
||||||
app:icon="@drawable/ic_save_24dp"
|
app:icon="@drawable/ic_save_24dp"
|
||||||
android:text="Salva"/>
|
android:text="@string/confirm"/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
<variable
|
<variable
|
||||||
name="view"
|
name="view"
|
||||||
type="it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2" />
|
type="it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View" />
|
||||||
</data>
|
</data>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
|||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<layout xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
tools:context=".gest.prod_fabbisogno_linee_prod.ProdFabbisognoLineeProdFragment">
|
||||||
|
</FrameLayout>
|
||||||
|
</layout>
|
||||||
@ -1,33 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<layout xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
xmlns:fab="http://schemas.android.com/apk/res-auto">
|
|
||||||
|
|
||||||
<data>
|
|
||||||
<import type="androidx.databinding.ObservableList" />
|
|
||||||
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
|
|
||||||
<import type="android.view.View" />
|
|
||||||
|
|
||||||
<variable
|
|
||||||
name="view"
|
|
||||||
type="it.integry.integrywmsnative.gest.prod_posizionamento_da_ord.ProdPosizionamentoDaOrdFragment" />
|
|
||||||
|
|
||||||
<variable
|
|
||||||
name="viewmodel"
|
|
||||||
type="it.integry.integrywmsnative.gest.prod_posizionamento_da_ord.ProdPosizionamentoDaOrdViewModel" />
|
|
||||||
</data>
|
|
||||||
<FrameLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
tools:context=".gest.prod_posizionamento_da_ord.ProdPosizionamentoDaOrdFragment">
|
|
||||||
|
|
||||||
<!-- TODO: Update blank fragment layout -->
|
|
||||||
<TextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:text="@string/hello_blank_fragment" />
|
|
||||||
|
|
||||||
</FrameLayout>
|
|
||||||
|
|
||||||
</layout>
|
|
||||||
@ -19,6 +19,7 @@
|
|||||||
<string name="accettazione_ordine_inevaso_title_multiple_order">Ordini di accettazione</string>
|
<string name="accettazione_ordine_inevaso_title_multiple_order">Ordini di accettazione</string>
|
||||||
<string name="vendita_title_fragment">Spedizione</string>
|
<string name="vendita_title_fragment">Spedizione</string>
|
||||||
<string name="rettifica_giacenze_fragment_title">Rettifica giacenze</string>
|
<string name="rettifica_giacenze_fragment_title">Rettifica giacenze</string>
|
||||||
|
<string name="prod_fabbisogno_linee_prod_title">Fabbisogno linee prod.</string>
|
||||||
<string name="versamento_merce_fragment_title">Posizionamento merce</string>
|
<string name="versamento_merce_fragment_title">Posizionamento merce</string>
|
||||||
<string name="error">Errore</string>
|
<string name="error">Errore</string>
|
||||||
<string name="ops">Ops</string>
|
<string name="ops">Ops</string>
|
||||||
@ -203,6 +204,8 @@
|
|||||||
<string name="job">Commessa</string>
|
<string name="job">Commessa</string>
|
||||||
<string name="recipient">Destinatario</string>
|
<string name="recipient">Destinatario</string>
|
||||||
<string name="ship_date">Data consegna</string>
|
<string name="ship_date">Data consegna</string>
|
||||||
|
<string name="start_date">Data inizio</string>
|
||||||
|
<string name="end_date">Data fine</string>
|
||||||
<string name="document_date">Data documento</string>
|
<string name="document_date">Data documento</string>
|
||||||
<string name="terms_of_delivery">Termini di consegna</string>
|
<string name="terms_of_delivery">Termini di consegna</string>
|
||||||
<string name="vehicle">Automezzo</string>
|
<string name="vehicle">Automezzo</string>
|
||||||
@ -215,6 +218,7 @@
|
|||||||
<string name="no_items_found_message">Nessun articolo trovato</string>
|
<string name="no_items_found_message">Nessun articolo trovato</string>
|
||||||
<string name="no_lu_found_message">Nessuna UL trovata</string>
|
<string name="no_lu_found_message">Nessuna UL trovata</string>
|
||||||
<string name="no_orders_found_message">Non sono stati trovati ordini</string>
|
<string name="no_orders_found_message">Non sono stati trovati ordini</string>
|
||||||
|
<string name="no_one_order_selected">Non è stato selezionato alcun ordine</string>
|
||||||
<string name="gestione_A_L_only_accepted_message">Sono ammesse solo UL di <b>Acquisto</b> o <b>Lavorazione</b> qui</string>
|
<string name="gestione_A_L_only_accepted_message">Sono ammesse solo UL di <b>Acquisto</b> o <b>Lavorazione</b> qui</string>
|
||||||
<string name="gestione_A_V_not_accepted_message"><![CDATA[Le UL di tipo <b>Acquisto</b> o <b>Vendita</b> non sono ammesse qui]]></string>
|
<string name="gestione_A_V_not_accepted_message"><![CDATA[Le UL di tipo <b>Acquisto</b> o <b>Vendita</b> non sono ammesse qui]]></string>
|
||||||
<string name="gestione_V_not_accepted_message"><![CDATA[Le UL di tipo <b>Vendita</b> non sono ammesse qui]]></string>
|
<string name="gestione_V_not_accepted_message"><![CDATA[Le UL di tipo <b>Vendita</b> non sono ammesse qui]]></string>
|
||||||
@ -268,11 +272,13 @@
|
|||||||
<string name="checkout">Vendita</string>
|
<string name="checkout">Vendita</string>
|
||||||
<string name="manufacture">Lav. terzi / Trasf. interni</string>
|
<string name="manufacture">Lav. terzi / Trasf. interni</string>
|
||||||
<string name="production">Produzione</string>
|
<string name="production">Produzione</string>
|
||||||
|
<string name="production_line">Linea di produzione</string>
|
||||||
<string name="internal_handling">Movimentazione interna</string>
|
<string name="internal_handling">Movimentazione interna</string>
|
||||||
<string name="prod_ordine_produzione_title_fragment">Accettazione da ordine</string>
|
<string name="prod_ordine_produzione_title_fragment">Accettazione da ordine</string>
|
||||||
<string name="prod_ordine_lavorazione_title_fragment">Picking da ordine</string>
|
<string name="prod_ordine_lavorazione_title_fragment">Picking da ordine</string>
|
||||||
<string name="prod_versamento_materiale_title_fragment">Versamento materiale</string>
|
<string name="prod_versamento_materiale_title_fragment">Versamento materiale</string>
|
||||||
<string name="prod_recupero_materiale_title_fragment">Recupero materiale</string>
|
<string name="prod_recupero_materiale_title_fragment">Recupero materiale</string>
|
||||||
|
<string name="please_select_an_item">Seleziona un elemento per continuare</string>
|
||||||
|
|
||||||
<string name="select_a_customer_message">Prima di procedere seleziona un <b>cliente</b></string>
|
<string name="select_a_customer_message">Prima di procedere seleziona un <b>cliente</b></string>
|
||||||
<string name="select_a_recipient_message">Prima di procedere seleziona un <b>destinatario</b></string>
|
<string name="select_a_recipient_message">Prima di procedere seleziona un <b>destinatario</b></string>
|
||||||
|
|||||||
@ -57,6 +57,7 @@
|
|||||||
<string name="accettazione_ordine_inevaso_title_multiple_order">Multiple acceptance orders</string>
|
<string name="accettazione_ordine_inevaso_title_multiple_order">Multiple acceptance orders</string>
|
||||||
<string name="vendita_title_fragment">Check out</string>
|
<string name="vendita_title_fragment">Check out</string>
|
||||||
<string name="rettifica_giacenze_fragment_title">Inventory</string>
|
<string name="rettifica_giacenze_fragment_title">Inventory</string>
|
||||||
|
<string name="prod_fabbisogno_linee_prod_title">Production line requirements</string>
|
||||||
<string name="versamento_merce_fragment_title">Items placement</string>
|
<string name="versamento_merce_fragment_title">Items placement</string>
|
||||||
<string name="free_picking_title_fragment">Free picking</string>
|
<string name="free_picking_title_fragment">Free picking</string>
|
||||||
<string name="error">Error</string>
|
<string name="error">Error</string>
|
||||||
@ -206,6 +207,8 @@
|
|||||||
<string name="job">Job</string>
|
<string name="job">Job</string>
|
||||||
<string name="recipient">Recipient</string>
|
<string name="recipient">Recipient</string>
|
||||||
<string name="ship_date">Ship date</string>
|
<string name="ship_date">Ship date</string>
|
||||||
|
<string name="start_date">Start date</string>
|
||||||
|
<string name="end_date">End date</string>
|
||||||
<string name="document_date">Document date</string>
|
<string name="document_date">Document date</string>
|
||||||
<string name="terms_of_delivery">Terms of delivery</string>
|
<string name="terms_of_delivery">Terms of delivery</string>
|
||||||
<string name="vehicle">Vehicle</string>
|
<string name="vehicle">Vehicle</string>
|
||||||
@ -218,6 +221,7 @@
|
|||||||
<string name="no_items_found_message">No items found</string>
|
<string name="no_items_found_message">No items found</string>
|
||||||
<string name="no_lu_found_message">No LU found</string>
|
<string name="no_lu_found_message">No LU found</string>
|
||||||
<string name="no_orders_found_message">No orders found</string>
|
<string name="no_orders_found_message">No orders found</string>
|
||||||
|
<string name="no_one_order_selected">No one order is selected</string>
|
||||||
<string name="gestione_A_L_only_accepted_message">Only <b>Purchase</b> or <b>Production\'s</b> LU are accepted here</string>
|
<string name="gestione_A_L_only_accepted_message">Only <b>Purchase</b> or <b>Production\'s</b> LU are accepted here</string>
|
||||||
<string name="gestione_A_V_not_accepted_message">The LU of type Purchase or Sale is not accepted here</string>
|
<string name="gestione_A_V_not_accepted_message">The LU of type Purchase or Sale is not accepted here</string>
|
||||||
<string name="gestione_V_not_accepted_message">The LU of type Sale is not accepted here</string>
|
<string name="gestione_V_not_accepted_message">The LU of type Sale is not accepted here</string>
|
||||||
@ -273,11 +277,13 @@
|
|||||||
<string name="checkout">Check out</string>
|
<string name="checkout">Check out</string>
|
||||||
<string name="manufacture">Manufacture / Internal movement</string>
|
<string name="manufacture">Manufacture / Internal movement</string>
|
||||||
<string name="production">Production</string>
|
<string name="production">Production</string>
|
||||||
|
<string name="production_line">Production line</string>
|
||||||
<string name="internal_handling">Internal handling</string>
|
<string name="internal_handling">Internal handling</string>
|
||||||
<string name="prod_ordine_produzione_title_fragment">Production picking</string>
|
<string name="prod_ordine_produzione_title_fragment">Production picking</string>
|
||||||
<string name="prod_ordine_lavorazione_title_fragment">Manufacture picking</string>
|
<string name="prod_ordine_lavorazione_title_fragment">Manufacture picking</string>
|
||||||
<string name="prod_versamento_materiale_title_fragment">Deposit raw material</string>
|
<string name="prod_versamento_materiale_title_fragment">Deposit raw material</string>
|
||||||
<string name="prod_recupero_materiale_title_fragment">Recover raw material</string>
|
<string name="prod_recupero_materiale_title_fragment">Recover raw material</string>
|
||||||
|
<string name="please_select_an_item">Please select an item before proceed</string>
|
||||||
|
|
||||||
|
|
||||||
<string name="select_a_customer_message">Please, select a <b>customer</b> before proceeding</string>
|
<string name="select_a_customer_message">Please, select a <b>customer</b> before proceeding</string>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user