Finish v1.32.02(342)

This commit is contained in:
Giuseppe Scorrano 2023-03-07 18:16:22 +01:00
commit 3c4fdea0ec
12 changed files with 89 additions and 50 deletions

View File

@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
android { android {
def appVersionCode = 341 def appVersionCode = 342
def appVersionName = '1.32.01' def appVersionName = '1.32.02'
signingConfigs { signingConfigs {
release { release {

View File

@ -61,6 +61,7 @@ public class InventarioRESTConsumer extends _BaseRESTConsumer {
.execute(); .execute();
var data = analyzeAnswer(response, "retrieveInventario"); var data = analyzeAnswer(response, "retrieveInventario");
if (data == null) return null;
return data.getInventories(); return data.getInventories();
} }
@ -71,18 +72,18 @@ public class InventarioRESTConsumer extends _BaseRESTConsumer {
var inventarioRESTConsumerService = RESTBuilder.getService(InventarioRESTConsumerService.class, 120); var inventarioRESTConsumerService = RESTBuilder.getService(InventarioRESTConsumerService.class, 120);
inventarioRESTConsumerService inventarioRESTConsumerService
.insert(inventarioToInsert.getIdInventario(), request) .insert(inventarioToInsert.getIdInventario(), request)
.enqueue(new Callback<>() { .enqueue(new Callback<>() {
@Override @Override
public void onResponse(Call<ServiceRESTResponse<Void>> call, Response<ServiceRESTResponse<Void>> response) { public void onResponse(Call<ServiceRESTResponse<Void>> call, Response<ServiceRESTResponse<Void>> response) {
analyzeAnswer(response, "insertInventario", ignored -> onComplete.run(), onFailed); analyzeAnswer(response, "insertInventario", ignored -> onComplete.run(), onFailed);
} }
@Override @Override
public void onFailure(Call<ServiceRESTResponse<Void>> call, Throwable t) { public void onFailure(Call<ServiceRESTResponse<Void>> call, Throwable t) {
onFailed.run(new Exception(t)); onFailed.run(new Exception(t));
} }
}); });
} }

View File

@ -4,8 +4,6 @@ import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.core.model.MtbAart;
public class DocumentoArtDTO { public class DocumentoArtDTO {
private String codMart; private String codMart;
@ -18,6 +16,7 @@ public class DocumentoArtDTO {
private BigDecimal giacenza; private BigDecimal giacenza;
private boolean plu; private boolean plu;
private BigDecimal przVendIva; private BigDecimal przVendIva;
private boolean untMisDigitale;
public String getCodMart() { public String getCodMart() {
return codMart; return codMart;
@ -109,16 +108,12 @@ public class DocumentoArtDTO {
return this; return this;
} }
public MtbAart toMtbAart() { public boolean isUntMisDigitale() {
return new MtbAart() return untMisDigitale;
.setCodMart(getCodMart()) }
.setDescrizione(getDescrizione())
.setDescrizioneEstesa(getDescrizione()) public DocumentoArtDTO setUntMisDigitale(boolean untMisDigitale) {
.setBarCode(!getBarcode().isEmpty() ? getBarcode().get(0) : null) this.untMisDigitale = untMisDigitale;
.setUntMis(getUntMis()) return this;
.setQtaCnf(getQtaCnf())
.setPlu(isPlu() ? "S" : "N")
.setFlagTracciabilita(isFlagTracciabilita() ? "S" : "N")
.setFlagQtaCnfFissa(isFlagQtaCnfFissa() ? "S" : "N");
} }
} }

View File

@ -2,9 +2,11 @@ package it.integry.integrywmsnative.core.rest.model.inventario;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbUntMis;
public class InventarioArtDTO { public class InventarioArtDTO {
@ -18,6 +20,7 @@ public class InventarioArtDTO {
private BigDecimal giacenza; private BigDecimal giacenza;
private boolean plu; private boolean plu;
private BigDecimal przVendIva; private BigDecimal przVendIva;
private boolean untMisDigitale;
public String getCodMart() { public String getCodMart() {
return codMart; return codMart;
@ -109,7 +112,21 @@ public class InventarioArtDTO {
return this; return this;
} }
public boolean isUntMisDigitale() {
return untMisDigitale;
}
public InventarioArtDTO setUntMisDigitale(boolean untMisDigitale) {
this.untMisDigitale = untMisDigitale;
return this;
}
public MtbAart toMtbAart() { public MtbAart toMtbAart() {
MtbUntMis mtbUntMis = new MtbUntMis()
.setUntMis(getUntMis())
.setFlagDig(isUntMisDigitale() ? "S" : "N");
List<MtbUntMis> mtbUntMisList = Collections.singletonList(mtbUntMis);
return new MtbAart() return new MtbAart()
.setCodMart(getCodMart()) .setCodMart(getCodMart())
.setDescrizione(getDescrizione()) .setDescrizione(getDescrizione())
@ -119,6 +136,7 @@ public class InventarioArtDTO {
.setQtaCnf(getQtaCnf()) .setQtaCnf(getQtaCnf())
.setPlu(isPlu() ? "S" : "N") .setPlu(isPlu() ? "S" : "N")
.setFlagTracciabilita(isFlagTracciabilita() ? "S" : "N") .setFlagTracciabilita(isFlagTracciabilita() ? "S" : "N")
.setFlagQtaCnfFissa(isFlagQtaCnfFissa() ? "S" : "N"); .setFlagQtaCnfFissa(isFlagQtaCnfFissa() ? "S" : "N")
.setMtbUntMis(mtbUntMisList);
} }
} }

View File

@ -53,6 +53,7 @@ public class DBSettingsModel {
private boolean groupShippingByCommodityGroup = true; private boolean groupShippingByCommodityGroup = true;
private boolean showCodFornSpedizione = true; private boolean showCodFornSpedizione = true;
private boolean flagCanCreateInventario = true;
public boolean isFlagSpedizioneEnableFakeGiacenza() { public boolean isFlagSpedizioneEnableFakeGiacenza() {
return flagSpedizioneEnableFakeGiacenza; return flagSpedizioneEnableFakeGiacenza;
@ -396,4 +397,13 @@ public class DBSettingsModel {
this.showCodFornSpedizione = showCodFornSpedizione; this.showCodFornSpedizione = showCodFornSpedizione;
return this; return this;
} }
public boolean isFlagCanCreateInventario() {
return flagCanCreateInventario;
}
public DBSettingsModel setFlagCanCreateInventario(boolean flagCanCreateInventario) {
this.flagCanCreateInventario = flagCanCreateInventario;
return this;
}
} }

View File

@ -349,6 +349,10 @@ public class SettingsManager {
.setGestName("PICKING") .setGestName("PICKING")
.setSection("SPEDIZIONE") .setSection("SPEDIZIONE")
.setKeySection("FLAG_GROUP_BY_GRP_MERC")); .setKeySection("FLAG_GROUP_BY_GRP_MERC"));
stbGestSetupList.add(new StbGestSetup()
.setGestName("PICKING")
.setSection("INVENTARIO")
.setKeySection("FLAG_CAN_CREATE_INVENTARIO"));
String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep();
mGestSetupRESTConsumer.getValues(codMdep, stbGestSetupList, list -> { mGestSetupRESTConsumer.getValues(codMdep, stbGestSetupList, list -> {
@ -381,6 +385,7 @@ public class SettingsManager {
dbSettingsModelIstance.setNotifyLotStatus(getValueFromList(list, "SPEDIZIONE", "FLAG_NOTIFICA_STATO_PARTITA", Boolean.class)); dbSettingsModelIstance.setNotifyLotStatus(getValueFromList(list, "SPEDIZIONE", "FLAG_NOTIFICA_STATO_PARTITA", Boolean.class));
dbSettingsModelIstance.setShowCodFornSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_SHOW_COD_FORN", Boolean.class, Boolean.TRUE)); dbSettingsModelIstance.setShowCodFornSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_SHOW_COD_FORN", Boolean.class, Boolean.TRUE));
dbSettingsModelIstance.setGroupShippingByCommodityGroup(getValueFromList(list, "SPEDIZIONE", "FLAG_GROUP_BY_GRP_MERC", Boolean.class, Boolean.FALSE)); dbSettingsModelIstance.setGroupShippingByCommodityGroup(getValueFromList(list, "SPEDIZIONE", "FLAG_GROUP_BY_GRP_MERC", Boolean.class, Boolean.FALSE));
dbSettingsModelIstance.setFlagCanCreateInventario(getValueFromList(list, "SPEDIZIONE", "FLAG_CAN_CREATE_INVENTARIO", Boolean.class, Boolean.TRUE));
String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class); String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class);
if (notePerdita != null) if (notePerdita != null)

View File

@ -15,6 +15,7 @@ import com.annimon.stream.Stream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -35,6 +36,7 @@ import it.integry.integrywmsnative.core.expansion.BaseActivity;
import it.integry.integrywmsnative.core.model.MtbAart; 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.model.MtbPartitaMag; import it.integry.integrywmsnative.core.model.MtbPartitaMag;
import it.integry.integrywmsnative.core.model.MtbUntMis;
import it.integry.integrywmsnative.core.rest.model.documento.DocumentoArtDTO; import it.integry.integrywmsnative.core.rest.model.documento.DocumentoArtDTO;
import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.databinding.ActivityContabDocInterniEditBinding; import it.integry.integrywmsnative.databinding.ActivityContabDocInterniEditBinding;
@ -220,7 +222,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
} }
@Override @Override
public void onEditRowRequest(SqlMtbColr row, boolean flagTracciabilita) { public void onEditRowRequest(SqlMtbColr row, boolean flagTracciabilita, boolean isUntMisDig) {
this.onLoadingStarted(); this.onLoadingStarted();
MtbAart mtbAart = new MtbAart(); MtbAart mtbAart = new MtbAart();
mtbAart.setBarCode(row.getCodBarre()); mtbAart.setBarCode(row.getCodBarre());
@ -233,6 +235,11 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
mtbAart.setFlagTracciabilita(flagTracciabilita ? "S" : "N"); mtbAart.setFlagTracciabilita(flagTracciabilita ? "S" : "N");
mtbAart.setUntMis(row.getUntMis()); mtbAart.setUntMis(row.getUntMis());
MtbUntMis mtbUntMis = new MtbUntMis()
.setUntMis(row.getUntMis())
.setFlagDig(isUntMisDig ? "S" : "N");
mtbAart.setMtbUntMis(Collections.singletonList(mtbUntMis));
DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO() DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO()
.setMtbAart(mtbAart) .setMtbAart(mtbAart)
.setInitialNumCnf(BigDecimal.valueOf(row.getNumCnf())) .setInitialNumCnf(BigDecimal.valueOf(row.getNumCnf()))
@ -289,7 +296,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
@Override @Override
public void onMtbColrEdit(MtbColr mtbColr) { public void onMtbColrEdit(MtbColr mtbColr) {
DocumentoArtDTO articolo = viewModel.getArticoloByCodMart(mtbColr.getCodMart()); DocumentoArtDTO articolo = viewModel.getArticoloByCodMart(mtbColr.getCodMart());
this.viewModel.dispatchRowEdit(entityToSql(mtbColr), articolo.isFlagTracciabilita()); this.viewModel.dispatchRowEdit(entityToSql(mtbColr), articolo.isFlagTracciabilita(), articolo.isUntMisDigitale());
} }
@Override @Override
@ -302,7 +309,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter
DialogSelectDocRowsView.newInstance(rows, (row) -> { DialogSelectDocRowsView.newInstance(rows, (row) -> {
this.onLoadingEnded(); this.onLoadingEnded();
if (row != null) { if (row != null) {
this.viewModel.dispatchRowEdit(row, (articolo.isFlagTracciabilita())); this.viewModel.dispatchRowEdit(row, articolo.isFlagTracciabilita(), articolo.isUntMisDigitale());
} }
} }
).show(this.getSupportFragmentManager(), "dialogSelectDocRows"); ).show(this.getSupportFragmentManager(), "dialogSelectDocRows");

View File

@ -89,8 +89,8 @@ public class DocInterniEditFormViewModel {
} }
public void dispatchRowEdit(SqlMtbColr row, boolean flagTracciabilita) { public void dispatchRowEdit(SqlMtbColr row, boolean flagTracciabilita, boolean isUntMisDig) {
this.listener.onEditRowRequest(row, flagTracciabilita && this.isCheckPartitaMag); this.listener.onEditRowRequest(row, flagTracciabilita && this.isCheckPartitaMag,isUntMisDig);
} }
private Integer getNextIdRiga() { private Integer getNextIdRiga() {
@ -157,7 +157,7 @@ public class DocInterniEditFormViewModel {
if (rows.size() > 1) { if (rows.size() > 1) {
this.listener.onMultipleRowsFound(rows, matchedArt); this.listener.onMultipleRowsFound(rows, matchedArt);
} else { } else {
this.dispatchRowEdit(rows.get(0), matchedArt.isFlagTracciabilita()); this.dispatchRowEdit(rows.get(0), matchedArt.isFlagTracciabilita(), matchedArt.isUntMisDigitale());
} }
@ -335,7 +335,7 @@ public class DocInterniEditFormViewModel {
void onRowsChanged(List<SqlMtbColr> rows); void onRowsChanged(List<SqlMtbColr> rows);
void onEditRowRequest(SqlMtbColr row, boolean flagTracciabilita); void onEditRowRequest(SqlMtbColr row, boolean flagTracciabilita, boolean isUntMisDig);
void onMultipleRowsFound(List<SqlMtbColr> rows, DocumentoArtDTO art); void onMultipleRowsFound(List<SqlMtbColr> rows, DocumentoArtDTO art);

View File

@ -8,6 +8,7 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.appcompat.widget.AppCompatTextView; import androidx.appcompat.widget.AppCompatTextView;
import androidx.databinding.ObservableField;
import com.ravikoradiya.liveadapter.LiveAdapter; import com.ravikoradiya.liveadapter.LiveAdapter;
import com.ravikoradiya.liveadapter.Type; import com.ravikoradiya.liveadapter.Type;
@ -25,6 +26,7 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.interfaces.ILifecycleFragment; import it.integry.integrywmsnative.core.interfaces.ILifecycleFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment; import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.rest.model.inventario.InventarioArtDTO; import it.integry.integrywmsnative.core.rest.model.inventario.InventarioArtDTO;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.databinding.FragmentElencoInventarioBinding; import it.integry.integrywmsnative.databinding.FragmentElencoInventarioBinding;
import it.integry.integrywmsnative.databinding.FragmentElencoInventarioListSingleItemBinding; import it.integry.integrywmsnative.databinding.FragmentElencoInventarioListSingleItemBinding;
import it.integry.integrywmsnative.gest.inventario.bottom_sheet__inventario_actions.BottomSheetInventarioActionsView; import it.integry.integrywmsnative.gest.inventario.bottom_sheet__inventario_actions.BottomSheetInventarioActionsView;
@ -39,6 +41,8 @@ public class ElencoInventariFragment extends BaseFragment implements ITitledFrag
@Inject @Inject
ElencoInventariViewModel mViewModel; ElencoInventariViewModel mViewModel;
public ObservableField<Boolean> canCreateInventario = new ObservableField<>(false);
private int barcodeScannerIstanceID = -1; private int barcodeScannerIstanceID = -1;
public ElencoInventariFragment() { public ElencoInventariFragment() {
@ -69,8 +73,11 @@ public class ElencoInventariFragment extends BaseFragment implements ITitledFrag
mBinding = FragmentElencoInventarioBinding.inflate(inflater, container, false); mBinding = FragmentElencoInventarioBinding.inflate(inflater, container, false);
mBinding.setLifecycleOwner(this); mBinding.setLifecycleOwner(this);
mBinding.setView(this);
mBinding.setViewmodel(mViewModel); mBinding.setViewmodel(mViewModel);
canCreateInventario.set(SettingsManager.iDB().isFlagCanCreateInventario());
mBinding.swiperefresh.setRefreshing(true); mBinding.swiperefresh.setRefreshing(true);
mBinding.swiperefresh.setOnRefreshListener(() -> { mBinding.swiperefresh.setOnRefreshListener(() -> {
mViewModel.loadData(); mViewModel.loadData();

View File

@ -112,6 +112,12 @@ public class PickingInventarioActivity extends BaseActivity implements PickingIn
return true; return true;
} }
@Override
public void onBackPressed() {
BarcodeManager.removeCallback(barcodeScannerIstanceID);
super.onBackPressed();
}
private void initToolbar() { private void initToolbar() {
setSupportActionBar(mBindings.toolbar); setSupportActionBar(mBindings.toolbar);

View File

@ -332,28 +332,13 @@ public class ProdOrdineProduzioneElencoFragment extends BaseFragment implements
public void dispatchOrders() { public void dispatchOrders() {
List<OrdineAccettazioneInevasoDTO> selectedOrders = Stream.of(this.mOrdiniInevasiMutableData) List<OrdineAccettazioneInevasoDTO> selectedOrders = Stream.of(this.mOrdiniInevasiMutableData)
.filter(x -> x.getSelectedObservable().get()) .filter(x -> x.getSelectedObservable().get())
.map(MainListProdOrdineProduzioneElencoListModel::getOriginalModel) .flatMap(y -> Stream.of(y.getClientiListModel()).map(MainListProdOrdineProduzioneElencoClienteListModel::getOriginalModel))
.toList(); .toList();
this.mViewModel.loadPicking(selectedOrders); this.mViewModel.loadPicking(selectedOrders);
} }
// @Override
// public void onFilterClick() {
// DialogOrdineProduzioneFiltroAvanzatoView.make(
// getActivity(),
// this.mViewModel.getOrderList().getValue(),
// mAppliedFilterViewModel,
//
// filter -> {
//
// mAppliedFilterViewModel = filter;
// refreshList(null);
//
// }).show();
// }
@Override @Override
public void onOrdersDispatched(List<OrdineAccettazioneInevasoDTO> orders, List<SitArtOrdDTO> sitArts) { public void onOrdersDispatched(List<OrdineAccettazioneInevasoDTO> orders, List<SitArtOrdDTO> sitArts) {

View File

@ -5,6 +5,10 @@
<import type="android.view.View" /> <import type="android.view.View" />
<variable
name="view"
type="it.integry.integrywmsnative.gest.inventario.ElencoInventariFragment" />
<variable <variable
name="viewmodel" name="viewmodel"
type="it.integry.integrywmsnative.gest.inventario.ElencoInventariViewModel" /> type="it.integry.integrywmsnative.gest.inventario.ElencoInventariViewModel" />
@ -96,6 +100,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom|end" android:layout_gravity="bottom|end"
android:layout_margin="16dp" android:layout_margin="16dp"
app:visibility="@{view.canCreateInventario}"
app:singleClick="@{() -> viewmodel.openInventario()}" app:singleClick="@{() -> viewmodel.openInventario()}"
app:srcCompat="@drawable/ic_add_24dp" /> app:srcCompat="@drawable/ic_add_24dp" />