Merge branch 'develop' into feature/GestioneDocumentiLavorazione
# Conflicts: # app/src/main/java/it/integry/integrywmsnative/MainApplicationComponent.java # app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java # app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumerService.java # app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java
4
.idea/deploymentTargetSelector.xml
generated
@ -4,10 +4,10 @@
|
||||
<selectionStates>
|
||||
<SelectionState runConfigName="app">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
<DropdownSelection timestamp="2024-09-13T09:26:42.884931500Z">
|
||||
<DropdownSelection timestamp="2025-01-09T09:29:04.931795900Z">
|
||||
<Target type="DEFAULT_BOOT">
|
||||
<handle>
|
||||
<DeviceId pluginId="PhysicalDevice" identifier="serial=R52T60AZ93A" />
|
||||
<DeviceId pluginId="PhysicalDevice" identifier="serial=21088B8EFD" />
|
||||
</handle>
|
||||
</Target>
|
||||
</DropdownSelection>
|
||||
|
||||
@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
|
||||
|
||||
android {
|
||||
|
||||
def appVersionCode = 461
|
||||
def appVersionName = '1.42.01'
|
||||
def appVersionCode = 463
|
||||
def appVersionName = '1.42.03'
|
||||
|
||||
signingConfigs {
|
||||
release {
|
||||
|
||||
@ -24,8 +24,8 @@
|
||||
android:allowBackup="true"
|
||||
android:hardwareAccelerated="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:label="@string/app_name"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme"
|
||||
android:usesCleartextTraffic="true"
|
||||
|
||||
BIN
app/src/main/ic_launcher-playstore.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
@ -145,6 +145,8 @@ import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.switch_user_depo.DialogSwitchUserDepoComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.switch_user_depo.DialogSwitchUserDepoModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiModule;
|
||||
|
||||
@ -223,7 +225,8 @@ import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracc
|
||||
DialogTracciamentoImballiModule.class,
|
||||
DialogAskVettoreModule.class,
|
||||
DialogAskVettoreModule.class,
|
||||
DialogCreateNewArtModule.class
|
||||
DialogCreateNewArtModule.class,
|
||||
DialogSwitchUserDepoModule.class
|
||||
})
|
||||
public interface MainApplicationComponent {
|
||||
|
||||
@ -374,6 +377,7 @@ public interface MainApplicationComponent {
|
||||
|
||||
DialogCreateNewArtComponent.Factory dialogCreateNewArtComponent();
|
||||
|
||||
DialogSwitchUserDepoComponent.Factory dialogSwitchUserDepoComponent();
|
||||
|
||||
void inject(MainApplication mainApplication);
|
||||
|
||||
|
||||
@ -53,16 +53,16 @@ public class BaseActivity extends AppCompatActivity {
|
||||
|
||||
private void openProgress() {
|
||||
BarcodeManager.disable();
|
||||
//executorService.execute(() -> {
|
||||
// executorService.execute(() -> {
|
||||
this.mCurrentProgress.show(getSupportFragmentManager());
|
||||
//});
|
||||
// });
|
||||
}
|
||||
|
||||
private void closeProgress() {
|
||||
BarcodeManager.enable();
|
||||
//executorService.execute(() -> {
|
||||
// executorService.execute(() -> {
|
||||
mCurrentProgress.dismiss();
|
||||
//});
|
||||
// });
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -2,6 +2,7 @@ package it.integry.integrywmsnative.core.mapper;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.InventarioRowRoomDTO;
|
||||
import it.integry.integrywmsnative.core.model.MtbInvenr;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
|
||||
public class InventarioRowMapper extends BaseMapper<MtbInvenr, InventarioRowRoomDTO> {
|
||||
|
||||
@ -32,6 +33,7 @@ public class InventarioRowMapper extends BaseMapper<MtbInvenr, InventarioRowRoom
|
||||
data.setDataOraInv(inputData.getDataOraInv());
|
||||
data.setScanCodBarre(inputData.getScanCodBarre());
|
||||
data.setZona(inputData.getZona());
|
||||
data.setIdDisp(SettingsManager.i().getUserSession().getDeviceId());
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
import java.lang.reflect.Type;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
@ -32,6 +33,8 @@ import it.integry.integrywmsnative.core.rest.model.RettificaULDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.core.rest.model.SpostaArtsTraULRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.SpostaArtsTraULResponseDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.SpostaULRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.UpdateTipoULRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.CanULBeDeletedRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.DeleteULRequestDTO;
|
||||
@ -405,11 +408,7 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
||||
});
|
||||
}
|
||||
|
||||
public void changePosizione(MtbColt mtbColtToMove, MtbDepoPosizione posizione, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||
|
||||
String codMdep = posizione.getCodMdep();
|
||||
String posizioneString = posizione.getPosizione();
|
||||
|
||||
public void spostaUL(MtbColt mtbColtToMove, String codMdep, String posizione, boolean createDocAutomatically, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||
MtbColt mtbColtToMoveClone = (MtbColt) mtbColtToMove.clone();
|
||||
|
||||
for (int i = 0; i < mtbColtToMoveClone.getMtbColr().size(); i++) {
|
||||
@ -418,26 +417,66 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
||||
.setMtbPartitaMag(null);
|
||||
}
|
||||
|
||||
SpostaULRequestDTO spostaUlRequestDTO = new SpostaULRequestDTO()
|
||||
.setCodMdep(codMdep)
|
||||
.setPosizione(posizione)
|
||||
.setMtbColtsToMove(Collections.singletonList(mtbColtToMoveClone))
|
||||
.setCreateDocAutomatically(createDocAutomatically);
|
||||
|
||||
ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class);
|
||||
colliMagazzinoRESTConsumerService
|
||||
.spostaULInPosizione(codMdep,
|
||||
posizioneString,
|
||||
mtbColtToMoveClone)
|
||||
.spostaUL(spostaUlRequestDTO)
|
||||
.enqueue(new Callback<>() {
|
||||
@Override
|
||||
public void onResponse(Call<ServiceRESTResponse<Object>> call, Response<ServiceRESTResponse<Object>> response) {
|
||||
analyzeAnswer(response, "changePosizione", mtbColts -> {
|
||||
public void onResponse(Call<ServiceRESTResponse<Void>> call, Response<ServiceRESTResponse<Void>> response) {
|
||||
analyzeAnswer(response, "spostaUL", mtbColts -> {
|
||||
onComplete.run();
|
||||
}, onFailed);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<ServiceRESTResponse<Object>> call, Throwable t) {
|
||||
public void onFailure(Call<ServiceRESTResponse<Void>> call, Throwable t) {
|
||||
if (onFailed != null) onFailed.run(new Exception(t));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void spostaUL(MtbColt mtbColtToMove, MtbDepoPosizione posizione, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||
|
||||
String codMdep = posizione.getCodMdep();
|
||||
String posizioneString = posizione.getPosizione();
|
||||
|
||||
spostaUL(mtbColtToMove, codMdep, posizioneString, true, onComplete, onFailed);
|
||||
}
|
||||
|
||||
public void updateTipoUL(MtbColt mtbColt, String codTcol, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||
|
||||
MtbColt mtbColtClone = (MtbColt) mtbColt.clone();
|
||||
mtbColtClone.setMtbColr(new ObservableArrayList<>());
|
||||
|
||||
UpdateTipoULRequestDTO updateTipoULRequest = new UpdateTipoULRequestDTO()
|
||||
.setMtbColt(mtbColtClone)
|
||||
.setCodTcol(codTcol);
|
||||
|
||||
ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class);
|
||||
colliMagazzinoRESTConsumerService
|
||||
.updateTipoUL(updateTipoULRequest)
|
||||
.enqueue(new Callback<>() {
|
||||
@Override
|
||||
public void onResponse(Call<ServiceRESTResponse<Void>> call, Response<ServiceRESTResponse<Void>> response) {
|
||||
analyzeAnswer(response, "updateTipoUL", mtbColts -> {
|
||||
onComplete.run();
|
||||
}, onFailed);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<ServiceRESTResponse<Void>> call, Throwable t) {
|
||||
if (onFailed != null) onFailed.run(new Exception(t));
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void updateDataFine(MtbColt mtbColt, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||
|
||||
MtbColt cloneMtbColt = (MtbColt) mtbColt.clone();
|
||||
@ -499,36 +538,38 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
||||
}
|
||||
|
||||
public void spostaArtsTraUL(MtbColt sourceMtbColt, MtbColt destMtbColt, boolean flagForceUseRefs, RunnableArgs<List<MtbColr>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||
MtbColt mtbColtToMoveClone = (MtbColt) sourceMtbColt.clone();
|
||||
MtbColt mtbColtDestClone = (MtbColt) destMtbColt.clone();
|
||||
new Thread(() -> {
|
||||
MtbColt mtbColtToMoveClone = (MtbColt) sourceMtbColt.clone();
|
||||
MtbColt mtbColtDestClone = (MtbColt) destMtbColt.clone();
|
||||
|
||||
for (int i = 0; i < mtbColtToMoveClone.getMtbColr().size(); i++) {
|
||||
mtbColtToMoveClone.getMtbColr().get(i)
|
||||
.setMtbAart(null)
|
||||
.setMtbPartitaMag(null);
|
||||
}
|
||||
|
||||
mtbColtDestClone.setMtbColr(null);
|
||||
|
||||
SpostaArtsTraULRequestDTO spostaArtsTraULRequestDTO = new SpostaArtsTraULRequestDTO()
|
||||
.setSourceMtbColt(mtbColtToMoveClone)
|
||||
.setDestinationMtbColt(mtbColtDestClone)
|
||||
.setFlagForceUseRefs(flagForceUseRefs);
|
||||
|
||||
ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class);
|
||||
colliMagazzinoRESTConsumerService.spostaArtsTraUL(spostaArtsTraULRequestDTO).enqueue(new Callback<>() {
|
||||
@Override
|
||||
public void onResponse(Call<ServiceRESTResponse<SpostaArtsTraULResponseDTO>> call, Response<ServiceRESTResponse<SpostaArtsTraULResponseDTO>> response) {
|
||||
analyzeAnswer(response, "spostaArtsTraUL", data -> {
|
||||
onComplete.run(data.getGeneratedMtbColr());
|
||||
}, onFailed);
|
||||
for (int i = 0; i < mtbColtToMoveClone.getMtbColr().size(); i++) {
|
||||
mtbColtToMoveClone.getMtbColr().get(i)
|
||||
.setMtbAart(null)
|
||||
.setMtbPartitaMag(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<ServiceRESTResponse<SpostaArtsTraULResponseDTO>> call, Throwable t) {
|
||||
if (onFailed != null) onFailed.run(new Exception(t));
|
||||
}
|
||||
});
|
||||
mtbColtDestClone.setMtbColr(null);
|
||||
|
||||
SpostaArtsTraULRequestDTO spostaArtsTraULRequestDTO = new SpostaArtsTraULRequestDTO()
|
||||
.setSourceMtbColt(mtbColtToMoveClone)
|
||||
.setDestinationMtbColt(mtbColtDestClone)
|
||||
.setFlagForceUseRefs(flagForceUseRefs);
|
||||
|
||||
ColliMagazzinoRESTConsumerService colliMagazzinoRESTConsumerService = RESTBuilder.getService(ColliMagazzinoRESTConsumerService.class);
|
||||
colliMagazzinoRESTConsumerService.spostaArtsTraUL(spostaArtsTraULRequestDTO).enqueue(new Callback<>() {
|
||||
@Override
|
||||
public void onResponse(Call<ServiceRESTResponse<SpostaArtsTraULResponseDTO>> call, Response<ServiceRESTResponse<SpostaArtsTraULResponseDTO>> response) {
|
||||
analyzeAnswer(response, "spostaArtsTraUL", data -> {
|
||||
onComplete.run(data.getGeneratedMtbColr());
|
||||
}, onFailed);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<ServiceRESTResponse<SpostaArtsTraULResponseDTO>> call, Throwable t) {
|
||||
if (onFailed != null) onFailed.run(new Exception(t));
|
||||
}
|
||||
});
|
||||
}).start();
|
||||
}
|
||||
|
||||
public void assegnaLottoSuColloScarico(MtbColt sourceMtbColt, Runnable onComplete, RunnableArgs<Exception> onFailed) {
|
||||
|
||||
@ -8,6 +8,8 @@ import it.integry.integrywmsnative.core.rest.model.RettificaULDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||
import it.integry.integrywmsnative.core.rest.model.SpostaArtsTraULRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.SpostaArtsTraULResponseDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.SpostaULRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.UpdateTipoULRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.VersamentoAutomaticoULResponseDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.CanULBeDeletedRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.DeleteULRequestDTO;
|
||||
@ -32,8 +34,11 @@ public interface ColliMagazzinoRESTConsumerService {
|
||||
@POST("creaRettificaCollo")
|
||||
Call<ServiceRESTResponse<MtbColr>> creaRettificaCollo(@Query("codMdep") String codMdep, @Body RettificaULDTO rettificaULDTO);
|
||||
|
||||
@POST("wms/spostaULInPosizione")
|
||||
Call<ServiceRESTResponse<Object>> spostaULInPosizione(@Query("codMdep") String codMdep, @Query("posizione") String posizione, @Body MtbColt mtbColtToMove);
|
||||
@POST("wms/updateTipoUL")
|
||||
Call<ServiceRESTResponse<Void>> updateTipoUL(@Body UpdateTipoULRequestDTO requestDto);
|
||||
|
||||
@POST("wms/spostaUL")
|
||||
Call<ServiceRESTResponse<Void>> spostaUL(@Body SpostaULRequestDTO requestDto);
|
||||
|
||||
@POST("wms/spostaArtsTraUL")
|
||||
Call<ServiceRESTResponse<SpostaArtsTraULResponseDTO>> spostaArtsTraUL(@Body SpostaArtsTraULRequestDTO spostaArtsTraULRequestDTO);
|
||||
|
||||
@ -0,0 +1,61 @@
|
||||
package it.integry.integrywmsnative.core.rest.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
|
||||
public class SpostaULRequestDTO {
|
||||
|
||||
private String codMdep;
|
||||
private String posizione;
|
||||
private String annotazioni;
|
||||
private boolean createDocAutomatically = true;
|
||||
private List<MtbColt> mtbColtsToMove = new ArrayList<>();
|
||||
|
||||
|
||||
public String getCodMdep() {
|
||||
return codMdep;
|
||||
}
|
||||
|
||||
public SpostaULRequestDTO setCodMdep(String codMdep) {
|
||||
this.codMdep = codMdep;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getPosizione() {
|
||||
return posizione;
|
||||
}
|
||||
|
||||
public SpostaULRequestDTO setPosizione(String posizione) {
|
||||
this.posizione = posizione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getAnnotazioni() {
|
||||
return annotazioni;
|
||||
}
|
||||
|
||||
public SpostaULRequestDTO setAnnotazioni(String annotazioni) {
|
||||
this.annotazioni = annotazioni;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isCreateDocAutomatically() {
|
||||
return createDocAutomatically;
|
||||
}
|
||||
|
||||
public SpostaULRequestDTO setCreateDocAutomatically(boolean createDocAutomatically) {
|
||||
this.createDocAutomatically = createDocAutomatically;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<MtbColt> getMtbColtsToMove() {
|
||||
return mtbColtsToMove;
|
||||
}
|
||||
|
||||
public SpostaULRequestDTO setMtbColtsToMove(List<MtbColt> mtbColtsToMove) {
|
||||
this.mtbColtsToMove = mtbColtsToMove;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package it.integry.integrywmsnative.core.rest.model;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
|
||||
public class UpdateTipoULRequestDTO {
|
||||
|
||||
private MtbColt mtbColt;
|
||||
private String codTcol;
|
||||
|
||||
public MtbColt getMtbColt() {
|
||||
return mtbColt;
|
||||
}
|
||||
|
||||
public UpdateTipoULRequestDTO setMtbColt(MtbColt mtbColt) {
|
||||
this.mtbColt = mtbColt;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodTcol() {
|
||||
return codTcol;
|
||||
}
|
||||
|
||||
public UpdateTipoULRequestDTO setCodTcol(String codTcol) {
|
||||
this.codTcol = codTcol;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@ -90,6 +90,7 @@ public class DBSettingsModel {
|
||||
private boolean produzioneGeneraDocScar;
|
||||
private boolean flagEnableArtCreation;
|
||||
private List<String> allowedCodMgrpForArtCreation;
|
||||
private boolean flagAccettazioneGroupListForn = false;
|
||||
|
||||
public boolean isFlagSpedizioneEnableFakeGiacenza() {
|
||||
return flagSpedizioneEnableFakeGiacenza;
|
||||
@ -783,4 +784,12 @@ public class DBSettingsModel {
|
||||
this.flagPositionChangeRequest = flagPositionChangeRequest;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isFlagAccettazioneGroupListForn() {
|
||||
return flagAccettazioneGroupListForn;
|
||||
}
|
||||
|
||||
public void setFlagAccettazioneGroupListForn(boolean flagAccettazioneGroupListForn) {
|
||||
this.flagAccettazioneGroupListForn = flagAccettazioneGroupListForn;
|
||||
}
|
||||
}
|
||||
|
||||
@ -248,6 +248,11 @@ public class SettingsManager {
|
||||
.setSection("ACCETTAZIONE")
|
||||
.setKeySection("FLAG_AUTO_OPEN_NEW_UL")
|
||||
.setSetter(dbSettingsModelIstance::setFlagCanAutoOpenNewULAccettazione));
|
||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||
.setGestName("PICKING")
|
||||
.setSection("ACCETTAZIONE")
|
||||
.setKeySection("FLAG_GROUP_LIST_FORN")
|
||||
.setSetter(dbSettingsModelIstance::setFlagAccettazioneGroupListForn));
|
||||
stbGestSetupReaderList.add(new StbGestSetupReader<>(Boolean.class)
|
||||
.setGestName("PICKING")
|
||||
.setSection("ACCETTAZIONE")
|
||||
|
||||
@ -25,6 +25,7 @@ import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBollaBinding;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.rest.dto.SitBollaAccettazioneDTO;
|
||||
@ -166,7 +167,7 @@ public class MainAccettazioneBollaElencoFragment extends BaseFragment implements
|
||||
|
||||
this.mBolleInevaseMutableData.clear();
|
||||
|
||||
if(tmpList != null)
|
||||
if (tmpList != null)
|
||||
this.mBolleInevaseMutableData.addAll(convertDataModelToListModel(tmpList));
|
||||
}
|
||||
|
||||
@ -182,33 +183,44 @@ public class MainAccettazioneBollaElencoFragment extends BaseFragment implements
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private List<MainAccettazioneBolleElencoListModel> convertDataModelToListModel(List<TestataBollaAccettazioneDTO> dataList) {
|
||||
if(dataList == null)
|
||||
return null;
|
||||
boolean group = !SettingsManager.iDB().isFlagAccettazioneGroupListForn();
|
||||
if (dataList == null) return null;
|
||||
|
||||
final Comparator<TestataBollaAccettazioneDTO> comparer = Comparator.comparing(TestataBollaAccettazioneDTO::getListino)
|
||||
.thenComparing(TestataBollaAccettazioneDTO::getRagSoc)
|
||||
.thenComparing(TestataBollaAccettazioneDTO::getNumDoc);
|
||||
Stream<TestataBollaAccettazioneDTO> stream = Stream.of(dataList);
|
||||
|
||||
return Stream.of(dataList)
|
||||
.sorted(comparer)
|
||||
.map(x -> {
|
||||
MainAccettazioneBolleElencoListModel listModel = new MainAccettazioneBolleElencoListModel();
|
||||
if (group) {
|
||||
final Comparator<TestataBollaAccettazioneDTO> comparer = Comparator.comparing(TestataBollaAccettazioneDTO::getListino)
|
||||
.thenComparing(TestataBollaAccettazioneDTO::getRagSoc)
|
||||
.thenComparing(TestataBollaAccettazioneDTO::getNumDoc);
|
||||
stream = stream.sorted(comparer);
|
||||
} else {
|
||||
stream = stream.sortBy(x -> x.getRagSoc() + UtilityDate.formatDate(x.getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH));
|
||||
}
|
||||
|
||||
listModel.setOriginalModel(x);
|
||||
listModel.setGroupTitle(x.getListino() + " - " + x.getRagSoc());
|
||||
listModel.setDescription(String.format(getString(R.string.ord_acq_testata), x.getNumDoc(), UtilityDate.formatDate(x.getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)));
|
||||
return stream.map(x -> {
|
||||
MainAccettazioneBolleElencoListModel listModel = new MainAccettazioneBolleElencoListModel();
|
||||
listModel.setOriginalModel(x);
|
||||
|
||||
listModel.setSubDescription(x.getDescrizioneListino());
|
||||
listModel.setRightDescription(x.getCodAnag());
|
||||
listModel.setRightSubDescription(x.getCodJcom());
|
||||
if (group)
|
||||
listModel.setGroupTitle(x.getListino() + " - " + x.getRagSoc());
|
||||
else
|
||||
listModel.setGroupTitle(x.getRagSoc());
|
||||
|
||||
return listModel;
|
||||
})
|
||||
.toList();
|
||||
listModel.setDescription(String.format(getString(R.string.ord_acq_testata),
|
||||
x.getNumDoc(),
|
||||
UtilityDate.formatDate(x.getDataDoc(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)));
|
||||
|
||||
if (group)
|
||||
listModel.setSubDescription(x.getDescrizioneListino());
|
||||
else
|
||||
listModel.setSubDescription(x.getListino() + " - " + x.getDescrizioneListino());
|
||||
|
||||
listModel.setRightDescription(x.getCodAnag());
|
||||
listModel.setRightSubDescription(x.getCodJcom());
|
||||
|
||||
return listModel;
|
||||
}).toList();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -464,6 +464,8 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac
|
||||
.findFirstOrElse(null)
|
||||
.isCanBeRecovered(),
|
||||
|
||||
false,
|
||||
|
||||
ReportManager.getReportNameLUFromGestione(GestioneEnum.ACQUISTO));
|
||||
|
||||
this.startActivityForResult(myIntent, PICK_UL_REQUEST);
|
||||
|
||||
@ -488,10 +488,6 @@ public class AccettazioneBollaPickingViewModel {
|
||||
initialQtaCnf = qtaCnfDaPrelevare;
|
||||
initialQtaTot = qtaColDaPrelevare;
|
||||
|
||||
} else if (totalQtaDoc != null) {
|
||||
initialNumCnf = totalNumCnfDoc;
|
||||
initialQtaCnf = qtaCnfDoc;
|
||||
initialQtaTot = totalQtaDoc;
|
||||
} else {
|
||||
initialNumCnf = BigDecimal.ONE;
|
||||
initialQtaCnf = mtbAart.getQtaCnf();
|
||||
|
||||
@ -2,10 +2,12 @@ package it.integry.integrywmsnative.gest.accettazione_bolla_picking.ui;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.os.Build;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.content.res.ResourcesCompat;
|
||||
import androidx.databinding.ObservableArrayList;
|
||||
@ -15,7 +17,11 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.expansion.OnListGeneralChangedCallback;
|
||||
@ -62,10 +68,29 @@ public class AccettazioneBollaPickingListAdapter extends SectionedRecyclerViewAd
|
||||
this.mShowSecondaryUntMis = showSecondaryUntMis;
|
||||
|
||||
mutableDataSet.addOnListChangedCallback(new OnListGeneralChangedCallback() {
|
||||
@RequiresApi(api = Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
|
||||
@Override
|
||||
public void onChanged(ObservableList sender) {
|
||||
List<AccettazioneBollaPickingListModel> listaOrdinata = new ArrayList<>();
|
||||
if (!sender.isEmpty()) {
|
||||
listaOrdinata = new ArrayList<>(sender);
|
||||
|
||||
Collections.sort(listaOrdinata, (a, b) -> {
|
||||
|
||||
boolean condA = a.getQtaEvasa().subtract(a.getQtaTot()).floatValue() == 0;
|
||||
boolean condB = b.getQtaEvasa().subtract(b.getQtaTot()).floatValue() == 0;
|
||||
|
||||
if (condA && !condB) {
|
||||
return -1;
|
||||
} else if (!condA && condB) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
|
||||
mDataset.clear();
|
||||
mDataset.addAll(sender);
|
||||
mDataset.addAll(listaOrdinata);
|
||||
notifyDataSetChanged();
|
||||
notifyDataChanged();
|
||||
}
|
||||
|
||||
@ -88,6 +88,7 @@ public class ListaBancaliActivity extends BaseActivity implements ListaBancaliVi
|
||||
.create()
|
||||
.inject(this);
|
||||
|
||||
mViewModel.setListener(this);
|
||||
|
||||
mCanRecoverUl = DataCache.retrieveItem(getIntent().getStringExtra(Key.CanRecoverUL));
|
||||
mReportName = DataCache.retrieveItem(getIntent().getStringExtra(Key.ReportName));
|
||||
|
||||
@ -41,6 +41,7 @@ import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliSpedizioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSRequestDTO;
|
||||
import it.integry.integrywmsnative.core.rest.model.uds.CloseUDSResponseDTO;
|
||||
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
|
||||
@ -51,6 +52,7 @@ import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainBinding;
|
||||
import it.integry.integrywmsnative.databinding.FragmentMainMenuGroupLayoutBinding;
|
||||
import it.integry.integrywmsnative.ui.ElevatedToolbar;
|
||||
import it.integry.integrywmsnative.view.dialogs.switch_user_depo.DialogSwitchUserDepoView;
|
||||
|
||||
/**
|
||||
* A simple {@link Fragment} subclass.
|
||||
@ -153,6 +155,8 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
||||
initSessionData();
|
||||
|
||||
initRecuperoCollo();
|
||||
|
||||
mBindings.switchDepoButton.setVisibility(SettingsManager.iDB().getAvailableCodMdep().size() > 1 ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
|
||||
private void initSessionData() {
|
||||
@ -278,8 +282,8 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
||||
|
||||
private void initGestMenu() {
|
||||
int menuSpanCount = 2;
|
||||
if (UtilityDimension.getDisplayInchs(this.getActivity()) > 8) menuSpanCount = 4;
|
||||
else if (UtilityDimension.getDisplayInchs(this.getActivity()) > 6.5) menuSpanCount = 3;
|
||||
if (UtilityDimension.getDisplayInchs(this.requireActivity()) > 8) menuSpanCount = 4;
|
||||
else if (UtilityDimension.getDisplayInchs(this.requireActivity()) > 6.5) menuSpanCount = 3;
|
||||
|
||||
MenuConfiguration baseMenuConfiguration = new MenuConfiguration();
|
||||
List<MenuConfiguration.MenuGroup> menuGroups = baseMenuConfiguration.getGroups();
|
||||
@ -319,7 +323,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
||||
|
||||
|
||||
} catch (Exception exception) {
|
||||
exception.printStackTrace();
|
||||
UtilityExceptions.defaultException(requireActivity(), exception);
|
||||
}
|
||||
}
|
||||
|
||||
@ -421,4 +425,14 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
||||
colorFadeTitleTextColor.setDuration(animationTimeMillis);
|
||||
colorFadeTitleTextColor.start();
|
||||
}
|
||||
|
||||
public void changeUserDepo() {
|
||||
DialogSwitchUserDepoView.newInstance(SettingsManager.iDB().getAvailableCodMdep(), this::onUserDepoChanged)
|
||||
.show(getParentFragmentManager(), "switch-user-depo");
|
||||
}
|
||||
|
||||
private void onUserDepoChanged(AvailableCodMdepsDTO newDepo) {
|
||||
SettingsManager.i().getUserSession().setDepo(newDepo);
|
||||
initSessionData();
|
||||
}
|
||||
}
|
||||
|
||||
@ -50,11 +50,12 @@ import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGExcep
|
||||
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.BottomSheetFragmentLUContentViewModel;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
|
||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||
import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.DialogInfoAggiuntiveLUView;
|
||||
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.yes_no.DialogYesNoView;
|
||||
|
||||
public class PickingResiActivity extends BaseActivity implements BottomSheetFragmentLUContentView.Listener, BottomSheetFragmentLUContentViewModel.Listener, PickingResiViewModel.Listener {
|
||||
|
||||
@ -392,18 +393,22 @@ public class PickingResiActivity extends BaseActivity implements BottomSheetFrag
|
||||
|
||||
@Override
|
||||
public void onLUPrintRequest(RunnableArgs<Boolean> onComplete) {
|
||||
DialogAskShouldPrint.make(this, "Packing List", onComplete).show();
|
||||
DialogYesNoView.newInstance(getString(R.string.action_print),
|
||||
String.format(getString(R.string.message_print_packing_list), "Packing List"),
|
||||
result -> {
|
||||
onComplete.run(result == DialogConsts.Results.YES);
|
||||
})
|
||||
.show(getSupportFragmentManager(), "dialog-print");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLUPrintError(Exception ex, Runnable onComplete) {
|
||||
this.onLoadingEnded();
|
||||
DialogSimpleMessageView.makeErrorDialog(
|
||||
new SpannableString(ex.getMessage()),
|
||||
null,
|
||||
null,
|
||||
R.string.button_ignore_print,
|
||||
onComplete)
|
||||
DialogSimpleMessageView.makeErrorDialog(new SpannableString(ex.getMessage()),
|
||||
null,
|
||||
null,
|
||||
R.string.button_ignore_print,
|
||||
onComplete)
|
||||
.show(getSupportFragmentManager(), "tag");
|
||||
}
|
||||
}
|
||||
|
||||
@ -143,7 +143,7 @@ public class ProdRiposizionamentoDaProdViewModel {
|
||||
this.sendError(new ScannedPositionNotExistException());
|
||||
} else {
|
||||
if (mtbColt != null) {
|
||||
mColliMagazzinoRESTConsumer.changePosizione(mtbColt, mtbDepoPosizione, () -> {
|
||||
mColliMagazzinoRESTConsumer.spostaUL(mtbColt, mtbDepoPosizione, () -> {
|
||||
List<MvwSitArtUdcDetInventario> mvwSitArtUdcDetInventarioList = mMvwSitArtUdcDetInventarioLiveData.getValue();
|
||||
|
||||
if (mvwSitArtUdcDetInventarioList != null) {
|
||||
|
||||
@ -73,7 +73,6 @@ 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.dialogs.DialogConsts;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUView;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_vettore.DialogAskVettoreView;
|
||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleInputHelper;
|
||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||
@ -823,7 +822,12 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
||||
|
||||
@Override
|
||||
public void onLUPrintRequest(RunnableArgs<Boolean> onComplete) {
|
||||
DialogAskShouldPrint.make(this, "Packing List", onComplete).show();
|
||||
DialogYesNoView.newInstance(getString(R.string.action_print),
|
||||
String.format(getString(R.string.message_print_packing_list), "Packing List"),
|
||||
result -> {
|
||||
onComplete.run(result == DialogConsts.Results.YES);
|
||||
})
|
||||
.show(getSupportFragmentManager(), "dialog-print");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -909,9 +909,6 @@ public class SpedizioneViewModel {
|
||||
|
||||
public void dispatchOrdineRow(final PickingObjectDTO pickingObjectDTO, MtbColt refMtbColt, MtbColr refMtbColr, boolean canPartitaMagBeChanged, boolean executeImmediately) {
|
||||
|
||||
//TODO: Al posto di prelevare la prima riga bisognerebbe controllare se c'è ne una che corrisponde con la partita richiesta
|
||||
// MtbColr refMtbColr = refMtbColt != null ? refMtbColt.getMtbColr().get(0) : null;
|
||||
|
||||
|
||||
if (pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getSourceMtbColt() != null && pickingObjectDTO.getTempPickData().getSourceMtbColt().getMtbColr() != null) {
|
||||
|
||||
@ -1117,6 +1114,8 @@ public class SpedizioneViewModel {
|
||||
this.onItemDispatched(pickingObjectDTO, pickingObjectDTO.getMtbAart(), initialNumCnf, initialQtaCnf, initialQtaTot, qtaDaEvadere, numCnfDaEvadere, qtaCnfDaEvadere, qtaColDaPrelevare, numCnfDaPrelevare, qtaCnfDaPrelevare, totalQtaAvailable, totalNumCnfAvailable, qtaCnfAvailable, partitaMag, dataScad, mCanOverflowOrderQuantity, canPartitaMagBeChanged, (pickedQuantityDTO, shouldCloseLU) -> {
|
||||
this.saveNewRow(pickingObjectDTO, finalRefMtbColt, pickedQuantityDTO.getNumCnf(), pickedQuantityDTO.getQtaCnf(), pickedQuantityDTO.getQtaTot(), pickedQuantityDTO.getPartitaMag(), pickedQuantityDTO.getDataScad(), shouldCloseLU, true);
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -1445,54 +1444,84 @@ public class SpedizioneViewModel {
|
||||
insertUDSRowRequestDto
|
||||
.setDataScad(dataScad);
|
||||
|
||||
this.mColliScaricoRESTConsumer.insertUDSRow(insertUDSRowRequestDto, createdMtbColr -> {
|
||||
pickingObjectDTO.getWithdrawMtbColrs().add(createdMtbColr);
|
||||
this.mCurrentMtbColt.getMtbColr().add(createdMtbColr);
|
||||
executeDepositChangeIfNeeded(refMtbColt,
|
||||
() -> executeTipoUlChangeIfNeeded(refMtbColt,
|
||||
() -> this.mColliScaricoRESTConsumer.insertUDSRow(insertUDSRowRequestDto, createdMtbColr -> {
|
||||
pickingObjectDTO.getWithdrawMtbColrs().add(createdMtbColr);
|
||||
this.mCurrentMtbColt.getMtbColr().add(createdMtbColr);
|
||||
|
||||
createdMtbColr
|
||||
.setUntMis(pickingObjectDTO.getMtbAart().getUntMis())
|
||||
.setMtbAart(pickingObjectDTO.getMtbAart());
|
||||
createdMtbColr
|
||||
.setUntMis(pickingObjectDTO.getMtbAart().getUntMis())
|
||||
.setMtbAart(pickingObjectDTO.getMtbAart());
|
||||
|
||||
|
||||
if (mEnableGiacenza) {
|
||||
MtbColr refMtbColr = new MtbColr()
|
||||
.setCodMart(createdMtbColr.getCodMart())
|
||||
.setPartitaMag(createdMtbColr.getPartitaMag())
|
||||
.setCodTagl(createdMtbColr.getCodTagl())
|
||||
.setCodCol(createdMtbColr.getCodCol());
|
||||
if (mEnableGiacenza) {
|
||||
MtbColr refMtbColr = new MtbColr()
|
||||
.setCodMart(createdMtbColr.getCodMart())
|
||||
.setPartitaMag(createdMtbColr.getPartitaMag())
|
||||
.setCodTagl(createdMtbColr.getCodTagl())
|
||||
.setCodCol(createdMtbColr.getCodCol());
|
||||
|
||||
if (refMtbColt != null) {
|
||||
if (refMtbColt != null) {
|
||||
|
||||
MtbColr originalRefMtbColr = refMtbColt.getMtbColr() != null && !refMtbColt.getMtbColr().isEmpty() ? refMtbColt.getMtbColr().get(0) : null;
|
||||
MtbColr originalRefMtbColr = refMtbColt.getMtbColr() != null && !refMtbColt.getMtbColr().isEmpty() ? refMtbColt.getMtbColr().get(0) : null;
|
||||
|
||||
if (originalRefMtbColr != null) {
|
||||
refMtbColr.setId(originalRefMtbColr.getId());
|
||||
}
|
||||
if (originalRefMtbColr != null) {
|
||||
refMtbColr.setId(originalRefMtbColr.getId());
|
||||
}
|
||||
|
||||
refMtbColr.setNumCollo(refMtbColt.getNumCollo())
|
||||
.setDataCollo(refMtbColt.getDataColloS())
|
||||
.setSerCollo(refMtbColt.getSerCollo())
|
||||
.setGestione(refMtbColt.getGestione());
|
||||
}
|
||||
createdMtbColr.setRefMtbColr(refMtbColr);
|
||||
}
|
||||
refMtbColr.setNumCollo(refMtbColt.getNumCollo())
|
||||
.setDataCollo(refMtbColt.getDataColloS())
|
||||
.setSerCollo(refMtbColt.getSerCollo())
|
||||
.setGestione(refMtbColt.getGestione());
|
||||
}
|
||||
createdMtbColr.setRefMtbColr(refMtbColr);
|
||||
}
|
||||
|
||||
//Chiamato removeListFilter perché cosi mi cancella tutti i dati di pick temporanei
|
||||
if (removeFilters)
|
||||
//Chiamato removeListFilter perché cosi mi cancella tutti i dati di pick temporanei
|
||||
if (removeFilters)
|
||||
resetMatchedRows();
|
||||
else
|
||||
//Refresh della lista forzato
|
||||
this.mPickingList.postValue(this.mPickingList.getValue());
|
||||
|
||||
this.sendOnRowSaved();
|
||||
this.sendOnLoadingEnded();
|
||||
this.sendOnRowSaved();
|
||||
this.sendOnLoadingEnded();
|
||||
|
||||
if (shouldCloseLU) requestCloseLU(shouldPrint);
|
||||
if (shouldCloseLU) requestCloseLU(shouldPrint);
|
||||
|
||||
}, this::sendError);
|
||||
}, this::sendError)));
|
||||
|
||||
}
|
||||
|
||||
private void executeDepositChangeIfNeeded(MtbColt refMtbColt, Runnable onComplete) {
|
||||
//Considero solo la prima UDC scansionata
|
||||
boolean shouldChangeCodMdep = refMtbColt != null && !refMtbColt.getCodMdep().equalsIgnoreCase(mCurrentMtbColt.getCodMdep()) &&
|
||||
mCurrentMtbColt.getMtbColr().isEmpty();
|
||||
String newCodMdep = shouldChangeCodMdep ? refMtbColt.getCodMdep() : null;
|
||||
|
||||
if (shouldChangeCodMdep) {
|
||||
mColliMagazzinoRESTConsumer.spostaUL(mCurrentMtbColt, newCodMdep, null, false, () -> {
|
||||
mCurrentMtbColt.setCodMdep(newCodMdep);
|
||||
onComplete.run();
|
||||
}, this::sendError);
|
||||
} else onComplete.run();
|
||||
}
|
||||
|
||||
private void executeTipoUlChangeIfNeeded(MtbColt refMtbColt, Runnable onComplete) {
|
||||
boolean shouldChangeCodTcol = refMtbColt != null && refMtbColt.getCodTcol() != null &&
|
||||
!refMtbColt.getCodTcol().equalsIgnoreCase(mCurrentMtbColt.getCodTcol()) &&
|
||||
mCurrentMtbColt.getMtbColr().isEmpty();
|
||||
String newTipoUL = shouldChangeCodTcol ? refMtbColt.getCodTcol() : null;
|
||||
|
||||
if (shouldChangeCodTcol) {
|
||||
mColliMagazzinoRESTConsumer.updateTipoUL(mCurrentMtbColt, newTipoUL, () -> {
|
||||
mCurrentMtbColt.setCodTcol(newTipoUL);
|
||||
onComplete.run();
|
||||
}, this::sendError);
|
||||
} else onComplete.run();
|
||||
}
|
||||
|
||||
private void saveEditedRow(MtbColr mtbColrToUpdate, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, LocalDate dataScad, boolean shouldCloseLU) {
|
||||
|
||||
this.sendOnLoadingStarted();
|
||||
@ -1768,7 +1797,7 @@ public class SpedizioneViewModel {
|
||||
}
|
||||
|
||||
private void askInfoAggiuntive(Runnable onComplete) {
|
||||
if (mDefaultSegnoCol != -1 || !SettingsManager.iDB().isFlagAskInfoAggiuntiveSpedizione()) {
|
||||
if (!SettingsManager.iDB().isFlagAskInfoAggiuntiveSpedizione()) {
|
||||
onComplete.run();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -303,7 +303,7 @@ public class VersamentoMerceViewModel {
|
||||
|
||||
public void updatePosizione(MtbDepoPosizione mtbDepoPosizione) {
|
||||
this.sendOnLoadingStarted();
|
||||
mColliMagazzinoRESTConsumer.changePosizione(mCurrentMtbColt.getValue(), mtbDepoPosizione, () -> {
|
||||
mColliMagazzinoRESTConsumer.spostaUL(mCurrentMtbColt.getValue(), mtbDepoPosizione, () -> {
|
||||
this.sendOnLoadingEnded();
|
||||
this.sendOnDataSaved();
|
||||
}, this::sendError);
|
||||
|
||||
@ -1,47 +0,0 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.ask_should_print;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.view.LayoutInflater;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.databinding.DialogAskShouldPrintBinding;
|
||||
|
||||
public class DialogAskShouldPrint {
|
||||
|
||||
private Dialog currentDialog;
|
||||
|
||||
public static Dialog make(final Context context, final String nomeEtichettaEN, RunnableArgs<Boolean> onDialogDismiss) {
|
||||
return new DialogAskShouldPrint(context, nomeEtichettaEN, onDialogDismiss).currentDialog;
|
||||
}
|
||||
|
||||
private DialogAskShouldPrint(Context context, String nomeEtichettaEN, RunnableArgs<Boolean> onDialogDismiss) {
|
||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
|
||||
DialogAskShouldPrintBinding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_ask_should_print, null, false);
|
||||
|
||||
currentDialog = new Dialog(context);
|
||||
currentDialog.setContentView(bindings.getRoot());
|
||||
|
||||
currentDialog.setCanceledOnTouchOutside(false);
|
||||
currentDialog.setCancelable(false);
|
||||
currentDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||
|
||||
bindings.descriptionText.setText(String.format(context.getResources().getString(R.string.message_print_packing_list), nomeEtichettaEN));
|
||||
|
||||
bindings.buttonConfirm.setOnClickListener(v -> {
|
||||
currentDialog.dismiss();
|
||||
onDialogDismiss.run(true);
|
||||
});
|
||||
|
||||
bindings.buttonAbort.setOnClickListener(v -> {
|
||||
currentDialog.dismiss();
|
||||
onDialogDismiss.run(false);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -136,31 +136,26 @@ public class DialogSimpleMessageView extends BaseDialogFragment {
|
||||
|
||||
private void initContent() {
|
||||
int colorBackgroundTitle = -1;
|
||||
Drawable titleIconRes = null;
|
||||
|
||||
switch (mType) {
|
||||
case INFO:
|
||||
Drawable titleIconRes = switch (mType) {
|
||||
case INFO -> {
|
||||
colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.colorPrimary);
|
||||
titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_info_78dp, null);
|
||||
break;
|
||||
|
||||
case SUCCESS:
|
||||
yield ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_info_78dp, null);
|
||||
}
|
||||
case SUCCESS -> {
|
||||
colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.green_300);
|
||||
titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_done_white_24dp, null);
|
||||
break;
|
||||
|
||||
case WARNING:
|
||||
yield ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_done_white_24dp, null);
|
||||
}
|
||||
case WARNING -> {
|
||||
colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.yellow_600);
|
||||
titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_warning_white_24dp, null);
|
||||
break;
|
||||
|
||||
case ERROR:
|
||||
yield ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_warning_white_24dp, null);
|
||||
}
|
||||
case ERROR -> {
|
||||
colorBackgroundTitle = ContextCompat.getColor(requireContext(), R.color.red_300);
|
||||
titleIconRes = ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_mood_bad_24dp, null);
|
||||
break;
|
||||
}
|
||||
yield ResourcesCompat.getDrawable(requireContext().getResources(), R.drawable.ic_mood_bad_24dp, null);
|
||||
}
|
||||
};
|
||||
|
||||
this.positiveButtonText = requireContext().getText(R.string.ok).toString();
|
||||
this.positiveButtonText = requireContext().getText(mOnNegativeClick != null ? R.string.yes : R.string.ok).toString();
|
||||
this.negativeButtonText = requireContext().getText(R.string.no).toString();
|
||||
|
||||
//Title VIEW
|
||||
|
||||
@ -0,0 +1,14 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.switch_user_depo;
|
||||
|
||||
import dagger.Subcomponent;
|
||||
|
||||
@Subcomponent
|
||||
public interface DialogSwitchUserDepoComponent {
|
||||
|
||||
@Subcomponent.Factory
|
||||
interface Factory {
|
||||
DialogSwitchUserDepoComponent create();
|
||||
}
|
||||
|
||||
void inject(DialogSwitchUserDepoView dialogSwitchUserDepoView);
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.switch_user_depo;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
@Module(subcomponents = DialogSwitchUserDepoComponent.class)
|
||||
public class DialogSwitchUserDepoModule {
|
||||
|
||||
@Provides
|
||||
DialogSwitchUserDepoViewModel providesDialogSwitchUserDepoViewModel() {
|
||||
return new DialogSwitchUserDepoViewModel();
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,93 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.switch_user_depo;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.BR;
|
||||
import it.integry.integrywmsnative.MainApplication;
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.di.binders.recyclerview.BindingRecyclerViewAdapter;
|
||||
import it.integry.integrywmsnative.core.di.binders.recyclerview.ItemBinder;
|
||||
import it.integry.integrywmsnative.core.di.binders.recyclerview.ItemBinderBase;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
|
||||
import it.integry.integrywmsnative.databinding.DialogSwitchUserDepoBinding;
|
||||
|
||||
public class DialogSwitchUserDepoView extends BaseDialogFragment {
|
||||
|
||||
@Inject
|
||||
DialogSwitchUserDepoViewModel mViewModel;
|
||||
|
||||
private DialogSwitchUserDepoBinding mBindings;
|
||||
private Context mContext;
|
||||
|
||||
private final List<AvailableCodMdepsDTO> availableCodMdeps;
|
||||
private final RunnableArgs<AvailableCodMdepsDTO> onComplete;
|
||||
|
||||
//Pass here all external parameters
|
||||
public static DialogSwitchUserDepoView newInstance(List<AvailableCodMdepsDTO> availableCodMdeps, RunnableArgs<AvailableCodMdepsDTO> onComplete) {
|
||||
return new DialogSwitchUserDepoView(availableCodMdeps, onComplete);
|
||||
}
|
||||
|
||||
private DialogSwitchUserDepoView(List<AvailableCodMdepsDTO> availableCodMdeps, RunnableArgs<AvailableCodMdepsDTO> onComplete) {
|
||||
super();
|
||||
|
||||
this.availableCodMdeps = availableCodMdeps;
|
||||
this.onComplete = onComplete;
|
||||
|
||||
MainApplication.appComponent
|
||||
.dialogSwitchUserDepoComponent()
|
||||
.create()
|
||||
.inject(this);
|
||||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
this.mContext = requireContext();
|
||||
|
||||
mBindings = DialogSwitchUserDepoBinding.inflate(LayoutInflater.from(this.mContext), null, false);
|
||||
mBindings.setLifecycleOwner(this);
|
||||
|
||||
setCancelable(true);
|
||||
|
||||
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
|
||||
.setView(mBindings.getRoot())
|
||||
.setCancelable(isCancelable())
|
||||
.create();
|
||||
|
||||
alertDialog.setCanceledOnTouchOutside(isCancelable());
|
||||
alertDialog.setOnShowListener(this);
|
||||
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInit(DialogInterface dialogInterface) {
|
||||
super.onInit(dialogInterface);
|
||||
|
||||
ItemBinder<AvailableCodMdepsDTO> itemBinder = new ItemBinderBase<>(BR.item, R.layout.dialog_switch_user_depo__list_item);
|
||||
|
||||
BindingRecyclerViewAdapter<AvailableCodMdepsDTO> adapter = new BindingRecyclerViewAdapter<>(itemBinder, availableCodMdeps);
|
||||
adapter.setClickHandler(data -> {
|
||||
onComplete.run(data);
|
||||
dismiss();
|
||||
});
|
||||
|
||||
mBindings.availableDepoList.setAdapter(adapter);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,5 @@
|
||||
package it.integry.integrywmsnative.view.dialogs.switch_user_depo;
|
||||
|
||||
public class DialogSwitchUserDepoViewModel {
|
||||
|
||||
}
|
||||
@ -11,6 +11,7 @@ import androidx.fragment.app.DialogFragment;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||
import it.integry.integrywmsnative.databinding.DialogYesNoBinding;
|
||||
@ -56,10 +57,10 @@ public class DialogYesNoView extends DialogFragment {
|
||||
var alertDialog = new MaterialAlertDialogBuilder(requireContext())
|
||||
.setView(binding.getRoot())
|
||||
.setCancelable(false)
|
||||
.setPositiveButton("Ok", (dialog, which) -> {
|
||||
.setPositiveButton(R.string.yes, (dialog, which) -> {
|
||||
if (onDialogDismiss != null) onDialogDismiss.run(DialogConsts.Results.YES);
|
||||
})
|
||||
.setNegativeButton("Annulla", (dialog, which) -> {
|
||||
.setNegativeButton(R.string.no, (dialog, which) -> {
|
||||
if (onDialogDismiss != null) onDialogDismiss.run(DialogConsts.Results.NO);
|
||||
})
|
||||
.create();
|
||||
|
||||
@ -1,37 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="128dp"
|
||||
android:height="128dp"
|
||||
android:viewportWidth="512"
|
||||
android:viewportHeight="512">
|
||||
|
||||
<path
|
||||
android:fillColor="#FFFFFF"
|
||||
android:pathData="M256,485.5c-61.3,0-118.9-23.9-162.3-67.2c-43.3-43.3-67.2-101-67.2-162.3S50.4,137.1,93.7,93.7 c43.3-43.3,101-67.2,162.3-67.2s118.9,23.9,162.3,67.2c43.3,43.3,67.2,101,67.2,162.3s-23.9,118.9-67.2,162.3 C374.9,461.6,317.3,485.5,256,485.5z" />
|
||||
<path
|
||||
android:fillColor="#CCCCCC"
|
||||
android:pathData="M256,27c30.9,0,60.9,6.1,89.1,18c27.3,11.5,51.8,28,72.8,49.1c21,21,37.5,45.5,49.1,72.8 c11.9,28.2,18,58.2,18,89.1s-6.1,60.9-18,89.1c-11.5,27.3-28,51.8-49.1,72.8c-21,21-45.5,37.5-72.8,49.1 c-28.2,11.9-58.2,18-89.1,18s-60.9-6.1-89.1-18c-27.3-11.5-51.8-28-72.8-49.1c-21-21-37.5-45.5-49.1-72.8 c-11.9-28.2-18-58.2-18-89.1s6.1-60.9,18-89.1c11.5-27.3,28-51.8,49.1-72.8c21-21,45.5-37.5,72.8-49.1C195.1,33.1,225.1,27,256,27 M256,26C129,26,26,129,26,256s103,230,230,230s230-103,230-230S383,26,256,26L256,26z" />
|
||||
<path
|
||||
android:fillColor="#FF9900"
|
||||
android:pathData="M443.6,222.4C427.8,132.9,349.7,65,255.8,65c-23.9,0-46.7,4.4-67.8,12.4l14.3,36.4c16-5.8,33.4-9,51.4-9 c74.1,0,135.8,53.4,148.5,123.9L443.6,222.4z" />
|
||||
<path
|
||||
android:fillColor="#EC0200"
|
||||
android:pathData="M250.9,446.5c1.6,0,3.2,0.1,4.9,0.1c105.4,0,190.8-85.4,190.8-190.8c0-3.3-0.1-6.6-0.3-9.9l-41.8,1.4 c0.2,2.8,0.2,5.6,0.2,8.5c0,83.4-69.5,150.9-152.9,150.9L250.9,446.5" />
|
||||
<path
|
||||
android:fillColor="#349933"
|
||||
android:pathData="M126.1,395.7c26,24.1,58.8,41,95.1,47.7l6.6-38.9c-28.8-5-55.3-18.7-76.1-37.5L126.1,395.7" />
|
||||
<path
|
||||
android:fillColor="#0199CB"
|
||||
android:pathData="M160.6,90.4C103.5,123.3,65,185,65,255.8c0,45.3,15.8,86.9,42.1,119.6l29.7-24c-21.3-26-34.1-59.3-34.1-95.6 c0-56.4,30.9-105.5,76.7-131.5L160.6,90.4" />
|
||||
<path
|
||||
android:pathData="M 113.4 205 H 471.3 V 346.3 H 113.4 V 205 Z" />
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M168,250.1l-13.8,45.3h-19.4l-23.2-66.4h18.4l14.6,46.5l14.5-46.5h18.6l14.8,46.5l14.6-46.5h18l-22.5,66.4h-20.2L168,250.1 z" />
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M225.2,229.1h67.3c9.8,0,16.8,1.9,21.1,5.7s6.5,10,6.5,18.6v42.1h-17.7v-39.8c0-4.9-0.7-8.1-2.2-9.7 c-1.5-1.6-4.5-2.3-9.1-2.3h-9.8v51.8h-17.9v-51.8h-20.5v51.8h-17.7V229.1z" />
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M328.8,281.6h37c3.3,0,5.7-0.5,7.2-1.5c1.5-1,2.2-2.7,2.2-4.9c0-2.3-0.8-3.9-2.3-5c-1.5-1-3.9-1.6-7.1-1.6h-15.1 c-9,0-15.1-1.4-18.2-4.1c-3.2-2.7-4.7-7.6-4.7-14.6c0-7.1,1.9-12.4,5.7-15.8c3.8-3.4,9.7-5,17.7-5h37.7v13.8h-30.9 c-5,0-8.3,0.4-9.8,1.3c-1.5,0.9-2.3,2.5-2.3,4.7c0,2.1,0.7,3.6,2,4.5c1.3,1,3.4,1.4,6.3,1.4h15.9c7.3,0,12.8,1.7,16.6,5.1 c3.8,3.4,5.7,8.3,5.7,14.7c0,6.2-1.7,11.2-5.1,15c-3.4,3.9-7.7,5.8-13.1,5.8h-45.3V281.6z" />
|
||||
android:width="222.9dp"
|
||||
android:height="222.9dp"
|
||||
android:viewportWidth="222.9"
|
||||
android:viewportHeight="222.9">
|
||||
<path
|
||||
android:pathData="M190.62,137.94c-0.67,0 -1.34,-0.06 -2.02,-0.18 -6.2,-1.11 -10.33,-7.04 -9.22,-13.24 0.72,-4 1.08,-8.11 1.08,-12.21 0,-8.6 -1.56,-16.98 -4.64,-24.91 -2.28,-5.88 0.63,-12.49 6.51,-14.77 5.88,-2.28 12.49,0.64 14.77,6.51 4.1,10.58 6.18,21.73 6.18,33.17 0,5.45 -0.48,10.91 -1.43,16.23 -0.99,5.52 -5.8,9.4 -11.22,9.4Z"
|
||||
android:fillColor="#269c38"/>
|
||||
<path
|
||||
android:pathData="M167.26,65.87c-2.85,0 -5.7,-1.06 -7.91,-3.19 -12.9,-12.42 -29.87,-19.27 -47.78,-19.27 -4.06,0 -8.12,0.35 -12.07,1.05 -6.2,1.09 -12.13,-3.05 -13.22,-9.25 -1.1,-6.21 3.05,-12.13 9.25,-13.22 5.26,-0.93 10.66,-1.4 16.04,-1.4 23.85,0 46.44,9.11 63.62,25.65 4.54,4.37 4.67,11.6 0.3,16.13 -2.24,2.33 -5.23,3.5 -8.22,3.5Z"
|
||||
android:fillColor="#e62400"/>
|
||||
<path
|
||||
android:pathData="M111.45,111.45m-111.45,0a111.45,111.45 0,1 1,222.9 0a111.45,111.45 0,1 1,-222.9 0"
|
||||
android:fillColor="#fff"/>
|
||||
<path
|
||||
android:pathData="M35.21,149.37c-4.78,0 -9.23,-3.02 -10.83,-7.79 -3.16,-9.41 -4.76,-19.26 -4.76,-29.27 0,-29.92 14.63,-58.06 39.14,-75.28 5.17,-3.63 12.29,-2.38 15.92,2.78 3.63,5.16 2.38,12.29 -2.78,15.92 -18.43,12.94 -29.43,34.1 -29.43,56.58 0,7.54 1.2,14.94 3.57,22 2.01,5.98 -1.21,12.46 -7.2,14.47 -1.21,0.4 -2.43,0.6 -3.64,0.6Z"
|
||||
android:fillColor="#f39200"/>
|
||||
<path
|
||||
android:pathData="M111.56,204.25c-24.94,0 -48.28,-9.82 -65.72,-27.64 -4.41,-4.51 -4.33,-11.74 0.17,-16.16s11.74,-4.33 16.16,0.18c13.11,13.4 30.65,20.77 49.39,20.77 22.28,0 43.32,-10.84 56.28,-29 3.67,-5.14 10.8,-6.33 15.94,-2.66 5.14,3.67 6.33,10.8 2.66,15.94 -17.24,24.16 -45.24,38.58 -74.88,38.58Z"
|
||||
android:fillColor="#00a0de"/>
|
||||
<path
|
||||
android:pathData="M190.62,137.94c-0.67,0 -1.34,-0.06 -2.02,-0.18 -6.2,-1.11 -10.33,-7.04 -9.22,-13.24 0.72,-4 1.08,-8.11 1.08,-12.21 0,-8.6 -1.56,-16.98 -4.64,-24.91 -2.28,-5.88 0.63,-12.49 6.51,-14.77 5.88,-2.28 12.49,0.64 14.77,6.51 4.1,10.58 6.18,21.73 6.18,33.17 0,5.45 -0.48,10.91 -1.43,16.23 -0.99,5.52 -5.8,9.4 -11.22,9.4Z"
|
||||
android:fillColor="#269c38"/>
|
||||
<path
|
||||
android:pathData="M167.26,65.87c-2.85,0 -5.7,-1.06 -7.91,-3.19 -12.9,-12.42 -29.87,-19.27 -47.78,-19.27 -4.06,0 -8.12,0.35 -12.07,1.05 -6.2,1.09 -12.13,-3.05 -13.22,-9.25 -1.1,-6.21 3.05,-12.13 9.25,-13.22 5.26,-0.93 10.66,-1.4 16.04,-1.4 23.85,0 46.44,9.11 63.62,25.65 4.54,4.37 4.67,11.6 0.3,16.13 -2.24,2.33 -5.23,3.5 -8.22,3.5Z"
|
||||
android:fillColor="#e62400"/>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M144.99,151.22c-2.08,0 -4.13,-0.28 -6.15,-0.83 -2.03,-0.56 -3.89,-1.33 -5.58,-2.32 -1.69,-0.99 -3.16,-2.14 -4.42,-3.44l6.37,-6.37c1.21,1.26 2.59,2.23 4.16,2.93 1.57,0.7 3.32,1.05 5.25,1.05 1.21,0 2.16,-0.19 2.86,-0.58 0.7,-0.39 1.05,-0.94 1.05,-1.67 0,-0.87 -0.41,-1.51 -1.23,-1.92 -0.82,-0.41 -1.9,-0.8 -3.22,-1.16 -1.33,-0.36 -2.71,-0.77 -4.16,-1.23 -1.45,-0.46 -2.82,-1.07 -4.13,-1.85 -1.3,-0.77 -2.37,-1.83 -3.19,-3.18 -0.82,-1.35 -1.23,-3.11 -1.23,-5.29s0.58,-4.24 1.74,-5.9c1.16,-1.67 2.8,-2.98 4.92,-3.95s4.66,-1.45 7.6,-1.45 5.7,0.52 8.26,1.56c2.56,1.04 4.61,2.57 6.15,4.6l-6.3,6.45c-1.11,-1.3 -2.35,-2.23 -3.73,-2.79 -1.38,-0.55 -2.71,-0.83 -4.02,-0.83s-2.2,0.19 -2.82,0.58c-0.63,0.39 -0.94,0.89 -0.94,1.52 0,0.72 0.42,1.3 1.27,1.74 0.84,0.43 1.91,0.82 3.19,1.16 1.28,0.34 2.64,0.74 4.09,1.2 1.45,0.46 2.82,1.11 4.13,1.95 1.3,0.84 2.36,1.95 3.19,3.33 0.82,1.37 1.23,3.17 1.23,5.39 0,3.43 -1.29,6.17 -3.87,8.22 -2.58,2.05 -6.07,3.08 -10.46,3.08Z"/>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M129.58,69.43l-6.28,20.92l-6.8,-20.92l-9.41,0l-6.76,20.99l-6.24,-20.99l-11.28,0l12.55,36.31l9.41,0l7.09,-20.88l6.96,20.88l9.41,0l12.63,-36.31l-11.28,0z"/>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M119.23,120.88c-1.21,-2.08 -2.87,-3.68 -5,-4.82 -2.13,-1.13 -4.51,-1.7 -7.17,-1.7s-5.24,0.58 -7.46,1.74c-1.5,0.78 -2.76,1.81 -3.84,3.05 -1.01,-1.27 -2.23,-2.31 -3.65,-3.12 -1.96,-1.11 -4.14,-1.67 -6.55,-1.67 -2.66,0 -5.01,0.54 -7.06,1.63 -0.93,0.49 -1.77,1.1 -2.53,1.78l0.04,-2.68h-11.15l-0.2,14.83h11.35s0,-0.2 0,-0.2c0,-1.16 0.25,-2.15 0.76,-2.97 0.51,-0.82 1.2,-1.46 2.06,-1.92 0.87,-0.46 1.86,-0.69 2.97,-0.69 1.59,0 2.93,0.5 4.02,1.48 1.09,0.99 1.63,2.35 1.63,4.09v20.56h11.15v-20.56c0,-1.16 0.24,-2.15 0.72,-2.97 0.48,-0.82 1.17,-1.46 2.06,-1.92 0.89,-0.46 1.87,-0.69 2.93,-0.69 1.54,0 2.86,0.5 3.95,1.48 1.09,0.99 1.63,2.35 1.63,4.09v20.56h11.15v-21.87c0,-2.94 -0.6,-5.45 -1.81,-7.53Z"/>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M70.36,142.69m-7.58,0a7.58,7.58 0,1 1,15.16 0a7.58,7.58 0,1 1,-15.16 0"/>
|
||||
</vector>
|
||||
41
app/src/main/res/drawable/ic_launcher_foreground.xml
Normal file
@ -0,0 +1,41 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="222.9"
|
||||
android:viewportHeight="222.9">
|
||||
<group android:scaleX="0.72"
|
||||
android:scaleY="0.72"
|
||||
android:translateX="31.206"
|
||||
android:translateY="31.206">
|
||||
<path
|
||||
android:pathData="M190.6,137.9c-0.7,0 -1.3,0 -2,-0.2 -6.2,-1.1 -10.3,-7 -9.2,-13.2 0.7,-4 1.1,-8.1 1.1,-12.2 0,-8.6 -1.6,-17 -4.6,-24.9 -2.3,-5.9 0.6,-12.5 6.5,-14.8 5.9,-2.3 12.5,0.6 14.8,6.5 4.1,10.6 6.2,21.7 6.2,33.2s-0.5,10.9 -1.4,16.2c-1,5.5 -5.8,9.4 -11.2,9.4h0Z"
|
||||
android:fillColor="#269c38"/>
|
||||
<path
|
||||
android:pathData="M167.3,65.9c-2.9,0 -5.7,-1.1 -7.9,-3.2 -12.9,-12.4 -29.9,-19.3 -47.8,-19.3s-8.1,0.3 -12.1,1c-6.2,1.1 -12.1,-3 -13.2,-9.2 -1.1,-6.2 3.1,-12.1 9.2,-13.2 5.3,-0.9 10.7,-1.4 16,-1.4 23.9,0 46.4,9.1 63.6,25.6 4.5,4.4 4.7,11.6 0.3,16.1 -2.2,2.3 -5.2,3.5 -8.2,3.5h0Z"
|
||||
android:fillColor="#e62400"/>
|
||||
<path
|
||||
android:pathData="M35.2,149.4c-4.8,0 -9.2,-3 -10.8,-7.8 -3.2,-9.4 -4.8,-19.3 -4.8,-29.3 0,-29.9 14.6,-58.1 39.1,-75.3 5.2,-3.6 12.3,-2.4 15.9,2.8 3.6,5.2 2.4,12.3 -2.8,15.9 -18.4,12.9 -29.4,34.1 -29.4,56.6s1.2,14.9 3.6,22c2,6 -1.2,12.5 -7.2,14.5 -1.2,0.4 -2.4,0.6 -3.6,0.6h0Z"
|
||||
android:fillColor="#f39200"/>
|
||||
<path
|
||||
android:pathData="M111.6,204.3c-24.9,0 -48.3,-9.8 -65.7,-27.6 -4.4,-4.5 -4.3,-11.7 0.2,-16.2s11.7,-4.3 16.2,0.2c13.1,13.4 30.6,20.8 49.4,20.8s43.3,-10.8 56.3,-29c3.7,-5.1 10.8,-6.3 15.9,-2.7s6.3,10.8 2.7,15.9c-17.2,24.2 -45.2,38.6 -74.9,38.6h0Z"
|
||||
android:fillColor="#00a0de"/>
|
||||
<path
|
||||
android:pathData="M190.6,137.9c-0.7,0 -1.3,0 -2,-0.2 -6.2,-1.1 -10.3,-7 -9.2,-13.2 0.7,-4 1.1,-8.1 1.1,-12.2 0,-8.6 -1.6,-17 -4.6,-24.9 -2.3,-5.9 0.6,-12.5 6.5,-14.8 5.9,-2.3 12.5,0.6 14.8,6.5 4.1,10.6 6.2,21.7 6.2,33.2s-0.5,10.9 -1.4,16.2c-1,5.5 -5.8,9.4 -11.2,9.4h0Z"
|
||||
android:fillColor="#269c38"/>
|
||||
<path
|
||||
android:pathData="M167.3,65.9c-2.9,0 -5.7,-1.1 -7.9,-3.2 -12.9,-12.4 -29.9,-19.3 -47.8,-19.3s-8.1,0.3 -12.1,1c-6.2,1.1 -12.1,-3 -13.2,-9.2 -1.1,-6.2 3.1,-12.1 9.2,-13.2 5.3,-0.9 10.7,-1.4 16,-1.4 23.9,0 46.4,9.1 63.6,25.6 4.5,4.4 4.7,11.6 0.3,16.1 -2.2,2.3 -5.2,3.5 -8.2,3.5h0Z"
|
||||
android:fillColor="#e62400"/>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M145,151.2c-2.1,0 -4.1,-0.3 -6.1,-0.8 -2,-0.6 -3.9,-1.3 -5.6,-2.3s-3.2,-2.1 -4.4,-3.4l6.4,-6.4c1.2,1.3 2.6,2.2 4.2,2.9s3.3,1.1 5.2,1.1 2.2,-0.2 2.9,-0.6 1.1,-0.9 1.1,-1.7 -0.4,-1.5 -1.2,-1.9c-0.8,-0.4 -1.9,-0.8 -3.2,-1.2 -1.3,-0.4 -2.7,-0.8 -4.2,-1.2 -1.4,-0.5 -2.8,-1.1 -4.1,-1.9 -1.3,-0.8 -2.4,-1.8 -3.2,-3.2 -0.8,-1.4 -1.2,-3.1 -1.2,-5.3s0.6,-4.2 1.7,-5.9c1.2,-1.7 2.8,-3 4.9,-3.9s4.7,-1.4 7.6,-1.4 5.7,0.5 8.3,1.6 4.6,2.6 6.1,4.6l-6.3,6.4c-1.1,-1.3 -2.4,-2.2 -3.7,-2.8 -1.4,-0.6 -2.7,-0.8 -4,-0.8s-2.2,0.2 -2.8,0.6c-0.6,0.4 -0.9,0.9 -0.9,1.5s0.4,1.3 1.3,1.7c0.8,0.4 1.9,0.8 3.2,1.2 1.3,0.3 2.6,0.7 4.1,1.2 1.4,0.5 2.8,1.1 4.1,1.9 1.3,0.8 2.4,1.9 3.2,3.3 0.8,1.4 1.2,3.2 1.2,5.4 0,3.4 -1.3,6.2 -3.9,8.2s-6.1,3.1 -10.5,3.1h0Z"/>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M129.6,69.4l-6.3,20.9l-6.8,-20.9l-9.4,0l-6.8,21l-6.2,-21l-11.3,0l12.6,36.3l9.4,0l7.1,-20.8l6.9,20.8l9.4,0l12.7,-36.3l-11.3,0z"/>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M119.2,120.9c-1.2,-2.1 -2.9,-3.7 -5,-4.8 -2.1,-1.1 -4.5,-1.7 -7.2,-1.7s-5.2,0.6 -7.5,1.7c-1.5,0.8 -2.8,1.8 -3.8,3.1 -1,-1.3 -2.2,-2.3 -3.7,-3.1 -2,-1.1 -4.1,-1.7 -6.6,-1.7s-5,0.5 -7.1,1.6c-0.9,0.5 -1.8,1.1 -2.5,1.8v-2.7s-11.1,0 -11.1,0l-0.2,14.8h11.3v-0.2c0,-1.2 0.2,-2.2 0.8,-3s1.2,-1.5 2.1,-1.9c0.9,-0.5 1.9,-0.7 3,-0.7 1.6,0 2.9,0.5 4,1.5 1.1,1 1.6,2.3 1.6,4.1v20.6h11.2v-20.6c0,-1.2 0.2,-2.2 0.7,-3s1.2,-1.5 2.1,-1.9 1.9,-0.7 2.9,-0.7c1.5,0 2.9,0.5 3.9,1.5 1.1,1 1.6,2.3 1.6,4.1v20.6h11.2v-21.9c0,-2.9 -0.6,-5.4 -1.8,-7.5h0Z"/>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M70.4,142.7m-7.6,0a7.6,7.6 0,1 1,15.2 0a7.6,7.6 0,1 1,-15.2 0"/>
|
||||
</group>
|
||||
</vector>
|
||||
@ -0,0 +1,5 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M483,619Q454,620 427.5,609.5Q401,599 381,579Q361,559 350.5,534Q340,509 340,481Q340,471 341,461.5Q342,452 345,443Q349,431 344.5,419Q340,407 329,402Q317,397 305.5,402Q294,407 290,419Q285,434 282.5,449Q280,464 280,480Q280,520 295.5,556.5Q311,593 339,621Q366,649 402.5,664Q439,679 478,680L461,697Q452,706 452,718Q452,730 461,739Q470,748 482,748Q494,748 503,739L567,675Q579,663 579,647Q579,631 567,619L503,555Q494,546 482,546Q470,546 461,555Q452,564 452,576Q452,588 461,597L483,619ZM476,340Q505,340 532,350.5Q559,361 579,381Q599,401 609.5,426Q620,451 620,479Q620,489 619,498.5Q618,508 615,517Q611,529 615.5,541.5Q620,554 631,559Q643,564 654.5,559Q666,554 670,542Q675,527 677.5,511.5Q680,496 680,480Q680,440 665.5,403.5Q651,367 622,338Q594,310 557.5,295.5Q521,281 482,281L500,263Q508,254 508,242Q508,230 499,221Q490,212 478,212Q466,212 457,221L393,285Q381,297 381,313Q381,329 393,341L457,405Q466,414 478,414Q490,414 499,405Q508,396 508,384Q508,372 499,363L476,340ZM480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Z"/>
|
||||
|
||||
</vector>
|
||||
@ -33,12 +33,10 @@
|
||||
android:layout_gravity="center">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:src="@drawable/app_round_icon"
|
||||
android:adjustViewBounds="true"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:layout_gravity="center"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
|
||||
@ -25,7 +25,10 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8dp">
|
||||
android:padding="8dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:background="?attr/selectableItemBackground">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/art_detail"
|
||||
|
||||
54
app/src/main/res/layout/dialog_switch_user_depo.xml
Normal file
@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical" android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="0dp">
|
||||
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:paddingVertical="16dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:src="@drawable/ic_error_white_24dp"
|
||||
app:tint="?colorPrimary" />
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/title_text"
|
||||
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:text="@string/switch_depo_title" />
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/description_text"
|
||||
style="@style/TextAppearance.Material3.BodyMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/switch_depo_description" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/available_depo_list"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"/>
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
</androidx.cardview.widget.CardView>
|
||||
</layout>
|
||||
@ -0,0 +1,50 @@
|
||||
<?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>
|
||||
<variable
|
||||
name="item"
|
||||
type="it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO" />
|
||||
</data>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:padding="8dp"
|
||||
android:gravity="center_vertical"
|
||||
android:focusable="true"
|
||||
android:clickable="true"
|
||||
android:background="?attr/selectableItemBackground">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/description"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toStartOf="@id/code"
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
android:layout_marginEnd="4dp"
|
||||
style="@style/TextAppearance.AppCompat.Medium"
|
||||
android:text="@{item.descrizione}"
|
||||
tools:text="Deposito centrale" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/code"
|
||||
style="@style/TextAppearance.AppCompat.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:textColor="?colorOnPrimaryContainer"
|
||||
android:background="@drawable/bg_checked_layout"
|
||||
android:backgroundTint="?colorPrimaryContainer"
|
||||
android:paddingHorizontal="6dp"
|
||||
android:paddingVertical="2dp"
|
||||
android:text="@{item.codMdep}"
|
||||
tools:text="01" />
|
||||
|
||||
|
||||
</RelativeLayout>
|
||||
</layout>
|
||||
@ -79,7 +79,7 @@
|
||||
android:padding="16dp">
|
||||
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
@ -87,9 +87,11 @@
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/user_icon"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:adjustViewBounds="true"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
@ -98,9 +100,13 @@
|
||||
android:tint="@android:color/white" />
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:id="@+id/user_detail_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
android:orientation="vertical"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_toEndOf="@id/user_icon"
|
||||
android:layout_toStartOf="@id/switch_depo_button">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/current_user_name"
|
||||
@ -108,7 +114,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@android:color/white"
|
||||
tools:text="Android Studio" />
|
||||
tools:text="MARIO ROSSI" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/current_deposito"
|
||||
@ -116,11 +122,26 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
tools:text="android.studio@android.com" />
|
||||
tools:text="Deposito: 01 - Centrale" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/switch_depo_button"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:adjustViewBounds="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:onClick="@{() -> view.changeUserDepo()}"
|
||||
android:src="@drawable/ic_rounded_change_circle_24"
|
||||
android:tint="@android:color/white" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
<net.cachapa.expandablelayout.ExpandableLayout
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/ic_launcher_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
||||
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/ic_launcher_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
||||
|
Before Width: | Height: | Size: 3.3 KiB |
BIN
app/src/main/res/mipmap-hdpi/ic_launcher.webp
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 5.3 KiB |
BIN
app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 2.3 KiB |
BIN
app/src/main/res/mipmap-mdpi/ic_launcher.webp
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
BIN
app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 4.5 KiB |
BIN
app/src/main/res/mipmap-xhdpi/ic_launcher.webp
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 7.4 KiB |
BIN
app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 16 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
Normal file
|
After Width: | Height: | Size: 11 KiB |
@ -313,7 +313,7 @@
|
||||
<string name="no">No</string>
|
||||
|
||||
<string name="placement">Posizionamento</string>
|
||||
<string name="message_print_packing_list">Vuoi procedere con la stampa di una %s</string>
|
||||
<string name="message_print_packing_list">Vuoi procedere con la stampa di una %s?</string>
|
||||
<string name="message_print_packing_list_on_close_order">Vuoi stampare le packing list degli ordini chiusi?</string>
|
||||
<string name="message_print_SSCC_list_on_close_order">Vuoi stampare le etichette SSCC degli ordini chiusi?</string>
|
||||
<string name="action_print_SSCC_only_remaining">Stampa solo le nuove etichette</string>
|
||||
@ -482,4 +482,7 @@
|
||||
<string name="expired_list_session"><![CDATA[La lista di prodotti è stata caricata troppo tempo fa!]]></string>
|
||||
<string name="grid_details">Griglie disponibili</string>
|
||||
<string name="searchbar_hint">Cerca</string>
|
||||
|
||||
<string name="switch_depo_title">Cambia deposito</string>
|
||||
<string name="switch_depo_description">Cambia il deposito principale su cui stai lavorando tra quelli a te disponibili</string>
|
||||
</resources>
|
||||
@ -489,4 +489,7 @@
|
||||
<string name="expired_list_session"><![CDATA[The product list was loaded too much time ago!]]></string>
|
||||
<string name="grid_details">Available grids</string>
|
||||
<string name="searchbar_hint">Search</string>
|
||||
|
||||
<string name="switch_depo_title">Change deposit</string>
|
||||
<string name="switch_depo_description">Change the main deposit you are working on among those available to you</string>
|
||||
</resources>
|
||||
|
||||