Finish v1_10_2(105)
This commit is contained in:
commit
deaa6c6839
@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services'
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
def appVersionCode = 103
|
def appVersionCode = 105
|
||||||
def appVersionName = '1.10.0'
|
def appVersionName = '1.10.2'
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
|
|||||||
@ -167,6 +167,9 @@ public class MainActivity extends BaseActivity
|
|||||||
Menu menu = mBinding.navView.getMenu();
|
Menu menu = mBinding.navView.getMenu();
|
||||||
|
|
||||||
ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
|
ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
|
||||||
|
|
||||||
|
if(customConfiguration == null) return;
|
||||||
|
|
||||||
BaseMenuConfiguration menuConfiguration = customConfiguration.getConfig(BaseCustomConfiguration.Keys.MENU_CONFIGURATION);
|
BaseMenuConfiguration menuConfiguration = customConfiguration.getConfig(BaseCustomConfiguration.Keys.MENU_CONFIGURATION);
|
||||||
List<MenuConfiguration.MenuGroup> menuGroups = menuConfiguration.getGroups();
|
List<MenuConfiguration.MenuGroup> menuGroups = menuConfiguration.getGroups();
|
||||||
|
|
||||||
|
|||||||
@ -1,10 +1,12 @@
|
|||||||
package it.integry.integrywmsnative.core.data_store.db.dao;
|
package it.integry.integrywmsnative.core.data_store.db.dao;
|
||||||
|
|
||||||
import androidx.room.Dao;
|
import androidx.room.Dao;
|
||||||
|
import androidx.room.Delete;
|
||||||
import androidx.room.Insert;
|
import androidx.room.Insert;
|
||||||
import androidx.room.Query;
|
import androidx.room.Query;
|
||||||
import androidx.room.Update;
|
import androidx.room.Update;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
||||||
@ -13,6 +15,7 @@ import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
|||||||
public interface ArticoloGrigliaDao {
|
public interface ArticoloGrigliaDao {
|
||||||
@Query("SELECT * from articoli_griglia")
|
@Query("SELECT * from articoli_griglia")
|
||||||
List<ArticoloGriglia> getAll();
|
List<ArticoloGriglia> getAll();
|
||||||
|
|
||||||
@Query("SELECT articolo_griglia_id FROM articoli_griglia WHERE cod_mart = :codMart AND id_griglia = :idGriglia")
|
@Query("SELECT articolo_griglia_id FROM articoli_griglia WHERE cod_mart = :codMart AND id_griglia = :idGriglia")
|
||||||
Integer getIdArticoloByGrigliaAndCodMart(int idGriglia, String codMart);
|
Integer getIdArticoloByGrigliaAndCodMart(int idGriglia, String codMart);
|
||||||
|
|
||||||
@ -25,6 +28,9 @@ public interface ArticoloGrigliaDao {
|
|||||||
@Update
|
@Update
|
||||||
void update(ArticoloGriglia articolo);
|
void update(ArticoloGriglia articolo);
|
||||||
|
|
||||||
|
@Delete
|
||||||
|
void deleteList(List<ArticoloGriglia> toDelete);
|
||||||
|
|
||||||
@Query("SELECT * FROM articoli_griglia WHERE bar_code = :barcode AND id_griglia = :idGriglia LIMIT 1")
|
@Query("SELECT * FROM articoli_griglia WHERE bar_code = :barcode AND id_griglia = :idGriglia LIMIT 1")
|
||||||
ArticoloGriglia findArticoloByBarcodeAndGriglia(String barcode, int idGriglia);
|
ArticoloGriglia findArticoloByBarcodeAndGriglia(String barcode, int idGriglia);
|
||||||
|
|
||||||
@ -36,4 +42,7 @@ public interface ArticoloGrigliaDao {
|
|||||||
|
|
||||||
@Query("SELECT articolo_griglia_id FROM articoli_griglia WHERE (cod_mart = :codMart AND bar_code =:barCode )AND id_griglia = :idGriglia LIMIT 1")
|
@Query("SELECT articolo_griglia_id FROM articoli_griglia WHERE (cod_mart = :codMart AND bar_code =:barCode )AND id_griglia = :idGriglia LIMIT 1")
|
||||||
Integer getIdArticoloByGrigliaAndBarcodeAndCodMart(int idGriglia, String barCode, String codMart);
|
Integer getIdArticoloByGrigliaAndBarcodeAndCodMart(int idGriglia, String barCode, String codMart);
|
||||||
|
|
||||||
|
@Query("SELECT * FROM articoli_griglia WHERE id_griglia = :grigliaId")
|
||||||
|
List<ArticoloGriglia> getArticoliFromGriglia(int grigliaId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
package it.integry.integrywmsnative.core.data_store.db.repository;
|
package it.integry.integrywmsnative.core.data_store.db.repository;
|
||||||
|
|
||||||
|
import com.annimon.stream.Collectors;
|
||||||
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -8,6 +11,7 @@ import java.util.List;
|
|||||||
import it.integry.integrywmsnative.MainApplication;
|
import it.integry.integrywmsnative.MainApplication;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao;
|
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao;
|
||||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
||||||
|
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
|
||||||
public class ArticoliGrigliaRepository extends Repository{
|
public class ArticoliGrigliaRepository extends Repository{
|
||||||
@ -18,13 +22,15 @@ public class ArticoliGrigliaRepository extends Repository{
|
|||||||
this.mRepository = MainApplication.getArticoliGrigliaRepository();
|
this.mRepository = MainApplication.getArticoliGrigliaRepository();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveArticoliToGriglia(List<ArticoloGriglia> articoli, Runnable onSuccess, RunnableArgs<Exception> onFail) {
|
public void saveArticoliToGriglia(List<ArticoloGriglia> articoli, Griglia griglia, Runnable onSuccess, RunnableArgs<Exception> onFail) {
|
||||||
execute(()->{
|
execute(()->{
|
||||||
try{
|
try{
|
||||||
List<ArticoloGriglia> toUpdate = new ArrayList<>();
|
List<ArticoloGriglia> toUpdate = new ArrayList<>();
|
||||||
List<ArticoloGriglia> toInsert = new ArrayList<>();
|
List<ArticoloGriglia> toInsert = new ArrayList<>();
|
||||||
|
List<String> codMarts = new ArrayList<>();
|
||||||
for (ArticoloGriglia art : articoli){
|
for (ArticoloGriglia art : articoli){
|
||||||
Integer id = mRepository.getIdArticoloByGrigliaAndBarcodeAndCodMart(art.getIdGriglia(),art.getBarCode(),art.getCodMart());
|
Integer id = mRepository.getIdArticoloByGrigliaAndBarcodeAndCodMart(griglia.getGrigliaId(),art.getBarCode(),art.getCodMart());
|
||||||
|
codMarts.add(art.getCodMart());
|
||||||
if (id != null){
|
if (id != null){
|
||||||
art.setArticoloGrigliaId(id);
|
art.setArticoloGrigliaId(id);
|
||||||
toUpdate.add(art);
|
toUpdate.add(art);
|
||||||
@ -34,6 +40,9 @@ public class ArticoliGrigliaRepository extends Repository{
|
|||||||
}
|
}
|
||||||
mRepository.insertAll(toInsert);
|
mRepository.insertAll(toInsert);
|
||||||
mRepository.updateAll(toUpdate);
|
mRepository.updateAll(toUpdate);
|
||||||
|
List<ArticoloGriglia> articoliGriglia = mRepository.getArticoliFromGriglia(griglia.getGrigliaId());
|
||||||
|
List<ArticoloGriglia> toDelete =Stream.of(articoliGriglia).filter(articolo-> !codMarts.contains(articolo.getCodMart())).toList();
|
||||||
|
mRepository.deleteList(toDelete);
|
||||||
onSuccess.run();
|
onSuccess.run();
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
onFail.run(e);
|
onFail.run(e);
|
||||||
|
|||||||
@ -12,10 +12,20 @@ public class BaseActivity extends AppCompatActivity {
|
|||||||
@Override
|
@Override
|
||||||
public boolean dispatchKeyEvent(KeyEvent event) {
|
public boolean dispatchKeyEvent(KeyEvent event) {
|
||||||
if (BarcodeManager.isEnabled() && BarcodeManager.isKeyboardEmulator()) {
|
if (BarcodeManager.isEnabled() && BarcodeManager.isKeyboardEmulator()) {
|
||||||
if (event.getAction() == KeyEvent.ACTION_DOWN || event.getAction() == KeyEvent.ACTION_MULTIPLE) {
|
if (event.getAction() == KeyEvent.ACTION_DOWN || event.getAction() == KeyEvent.ACTION_MULTIPLE && !isControlKey(event)) {
|
||||||
return BarcodeManager.onKeyDown(event.getKeyCode(), event);
|
return BarcodeManager.onKeyDown(event.getKeyCode(), event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return super.dispatchKeyEvent(event);
|
return super.dispatchKeyEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isControlKey(KeyEvent keyEvent) {
|
||||||
|
int keyCode = keyEvent.getKeyCode();
|
||||||
|
return (
|
||||||
|
keyCode == KeyEvent.KEYCODE_BACK ||
|
||||||
|
keyCode == KeyEvent.KEYCODE_SHIFT_LEFT ||
|
||||||
|
keyCode == KeyEvent.KEYCODE_DEL
|
||||||
|
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,7 +18,7 @@ public class BaseDialog extends Dialog {
|
|||||||
|
|
||||||
public BaseDialog(@NonNull Context context) {
|
public BaseDialog(@NonNull Context context) {
|
||||||
super(context);
|
super(context);
|
||||||
if (BarcodeManager.isEnabled() && BarcodeManager.isKeyboardEmulator()){
|
if (BarcodeManager.isEnabled() && BarcodeManager.isKeyboardEmulator()) {
|
||||||
setOnKeyListener((dialog, keyCode, event) -> {
|
setOnKeyListener((dialog, keyCode, event) -> {
|
||||||
if (mBarcodeListener && (event.getAction() == KeyEvent.ACTION_DOWN || event.getAction() == KeyEvent.ACTION_MULTIPLE) && !isControlKey(event)) {
|
if (mBarcodeListener && (event.getAction() == KeyEvent.ACTION_DOWN || event.getAction() == KeyEvent.ACTION_MULTIPLE) && !isControlKey(event)) {
|
||||||
return BarcodeManager.onKeyDown(event.getKeyCode(), event);
|
return BarcodeManager.onKeyDown(event.getKeyCode(), event);
|
||||||
@ -32,8 +32,8 @@ public class BaseDialog extends Dialog {
|
|||||||
int keyCode = keyEvent.getKeyCode();
|
int keyCode = keyEvent.getKeyCode();
|
||||||
return (
|
return (
|
||||||
keyCode == KeyEvent.KEYCODE_BACK ||
|
keyCode == KeyEvent.KEYCODE_BACK ||
|
||||||
keyCode == KeyEvent.KEYCODE_SHIFT_LEFT
|
keyCode == KeyEvent.KEYCODE_SHIFT_LEFT ||
|
||||||
|
keyCode == KeyEvent.KEYCODE_DEL
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,11 +8,14 @@ import androidx.databinding.ObservableArrayList;
|
|||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.lang.reflect.Type;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -28,10 +31,13 @@ import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
|||||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||||
import it.integry.integrywmsnative.core.rest.model.DistribuzioneColloDTO;
|
import it.integry.integrywmsnative.core.rest.model.DistribuzioneColloDTO;
|
||||||
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.SingleValueDTO;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityQuery;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityString;
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.ask_cliente.dto.DialogAskClienteClienteDTO;
|
||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.Callback;
|
import retrofit2.Callback;
|
||||||
import retrofit2.Response;
|
import retrofit2.Response;
|
||||||
@ -106,6 +112,9 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer{
|
|||||||
|
|
||||||
public static void saveRigaCollo(MtbColr mtbColrToSave, RunnableArgs<MtbColr> onComplete, RunnableArgs<Exception> onFailed){
|
public static void saveRigaCollo(MtbColr mtbColrToSave, RunnableArgs<MtbColr> onComplete, RunnableArgs<Exception> onFailed){
|
||||||
|
|
||||||
|
mtbColrToSave.setMtbAart(null);
|
||||||
|
mtbColrToSave.setRifPartitaMag(null);
|
||||||
|
|
||||||
EntityRESTConsumer.processEntity(mtbColrToSave, new ISimpleOperationCallback<MtbColr>() {
|
EntityRESTConsumer.processEntity(mtbColrToSave, new ISimpleOperationCallback<MtbColr>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(MtbColr value) {
|
public void onSuccess(MtbColr value) {
|
||||||
@ -507,6 +516,25 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer{
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static void doesColloContainsAnyRow(MtbColt mtbColt, RunnableArgs<Boolean> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
|
||||||
|
HashMap<String, Object> params = new HashMap<>();
|
||||||
|
params.put("gestione", mtbColt.getGestione());
|
||||||
|
params.put("ser_collo", mtbColt.getSerCollo());
|
||||||
|
params.put("num_collo", mtbColt.getNumCollo());
|
||||||
|
params.put("data_collo", mtbColt.getDataColloD());
|
||||||
|
|
||||||
|
String whereCond = UtilityQuery.concatFieldsInWhereCond(params);
|
||||||
|
|
||||||
|
String query = "SELECT COUNT(*) as value FROM mtb_colr " +
|
||||||
|
"WHERE " + whereCond;
|
||||||
|
|
||||||
|
Type typeOfObjectsList = new TypeToken<ArrayList<SingleValueDTO<Integer>>>() {}.getType();
|
||||||
|
SystemRESTConsumer.<ArrayList<SingleValueDTO<Integer>>>processSql(query, typeOfObjectsList, data -> {
|
||||||
|
onComplete.run(data.get(0).getValue() > 0);
|
||||||
|
}, onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,7 +32,7 @@ import retrofit2.Response;
|
|||||||
|
|
||||||
public class SystemRESTConsumer extends _BaseRESTConsumer {
|
public class SystemRESTConsumer extends _BaseRESTConsumer {
|
||||||
|
|
||||||
public static <T> void processSql(String nativeSql, final Type clazz, final ISimpleOperationCallback<T> callback) {
|
public static <T> void processSql(String nativeSql, final Type clazz, RunnableArgs<T> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
|
||||||
NativeSqlRequestDTO nativeSqlDTO = new NativeSqlRequestDTO();
|
NativeSqlRequestDTO nativeSqlDTO = new NativeSqlRequestDTO();
|
||||||
nativeSqlDTO.nativeSql = nativeSql;
|
nativeSqlDTO.nativeSql = nativeSql;
|
||||||
@ -51,12 +51,12 @@ public class SystemRESTConsumer extends _BaseRESTConsumer {
|
|||||||
Reader reader = new InputStreamReader(ims);
|
Reader reader = new InputStreamReader(ims);
|
||||||
T gsonObj = gson.fromJson(reader, clazz);
|
T gsonObj = gson.fromJson(reader, clazz);
|
||||||
|
|
||||||
callback.onSuccess(gsonObj);
|
onComplete.run(gsonObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailed(Exception ex) {
|
public void onFailed(Exception ex) {
|
||||||
callback.onFailed(ex);
|
onFailed.run(ex);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -64,12 +64,18 @@ public class SystemRESTConsumer extends _BaseRESTConsumer {
|
|||||||
@Override
|
@Override
|
||||||
public void onFailure(Call<ServiceRESTResponse<Object>> call, Throwable t) {
|
public void onFailure(Call<ServiceRESTResponse<Object>> call, Throwable t) {
|
||||||
Log.e("ProcessSql", t.toString());
|
Log.e("ProcessSql", t.toString());
|
||||||
callback.onFailed(new Exception(t));
|
onFailed.run(new Exception(t));
|
||||||
// UtilityLogger.errorMe(new Exception(t), nativeSql);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
public static <T> void processSql(String nativeSql, final Type clazz, final ISimpleOperationCallback<T> callback) {
|
||||||
|
|
||||||
|
processSql(nativeSql, clazz, data -> {
|
||||||
|
callback.onSuccess((T) data);
|
||||||
|
}, callback::onFailed);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void getAvailableProfiles(final ISimpleOperationCallback<List<String>> callback){
|
public static void getAvailableProfiles(final ISimpleOperationCallback<List<String>> callback){
|
||||||
|
|||||||
@ -0,0 +1,15 @@
|
|||||||
|
package it.integry.integrywmsnative.core.rest.model;
|
||||||
|
|
||||||
|
public class SingleValueDTO<T> {
|
||||||
|
|
||||||
|
private T value;
|
||||||
|
|
||||||
|
public T getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SingleValueDTO<T> setValue(T value) {
|
||||||
|
this.value = value;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,4 +0,0 @@
|
|||||||
package it.integry.integrywmsnative.core.rest.model;
|
|
||||||
|
|
||||||
public class SlackMessageDTO {
|
|
||||||
}
|
|
||||||
@ -25,6 +25,7 @@ public class DBSettingsModel {
|
|||||||
private boolean flagCanAddExtraItemSpedizione;
|
private boolean flagCanAddExtraItemSpedizione;
|
||||||
private boolean flagCanAutoOpenNewULAccettazione;
|
private boolean flagCanAutoOpenNewULAccettazione;
|
||||||
private boolean flagCanAddExtraQuantitySpedizione;
|
private boolean flagCanAddExtraQuantitySpedizione;
|
||||||
|
private boolean flagEnableCheckDepositoSpedizione;
|
||||||
|
|
||||||
public List<String> getAvailableProfiles() {
|
public List<String> getAvailableProfiles() {
|
||||||
return availableProfiles;
|
return availableProfiles;
|
||||||
@ -139,4 +140,14 @@ public class DBSettingsModel {
|
|||||||
this.flagCanAddExtraQuantitySpedizione = flagCanAddExtraQuantitySpedizione;
|
this.flagCanAddExtraQuantitySpedizione = flagCanAddExtraQuantitySpedizione;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public boolean isFlagEnableCheckDepositoSpedizione() {
|
||||||
|
return flagEnableCheckDepositoSpedizione;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DBSettingsModel setFlagEnableCheckDepositoSpedizione(boolean flagEnableCheckDepositoSpedizione) {
|
||||||
|
this.flagEnableCheckDepositoSpedizione = flagEnableCheckDepositoSpedizione;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -214,6 +214,10 @@ public class SettingsManager {
|
|||||||
.setGestName("PICKING")
|
.setGestName("PICKING")
|
||||||
.setSection("SPEDIZIONE")
|
.setSection("SPEDIZIONE")
|
||||||
.setKeySection("FLAG_CAN_ADD_EXTRA_QUANTITY"));
|
.setKeySection("FLAG_CAN_ADD_EXTRA_QUANTITY"));
|
||||||
|
stbGestSetupList.add(new StbGestSetup()
|
||||||
|
.setGestName("PICKING")
|
||||||
|
.setSection("SPEDIZIONE")
|
||||||
|
.setKeySection("ENABLE_CHECK_DEPOSITO"));
|
||||||
|
|
||||||
|
|
||||||
GestSetupRESTConsumer.getValues(stbGestSetupList, list -> {
|
GestSetupRESTConsumer.getValues(stbGestSetupList, list -> {
|
||||||
@ -226,6 +230,7 @@ public class SettingsManager {
|
|||||||
dbSettingsModelIstance.setFlagCanAddExtraItemSpedizione(getValueFromList(list, "FLAG_CAN_ADD_EXTRA_ITEMS", Boolean.class));
|
dbSettingsModelIstance.setFlagCanAddExtraItemSpedizione(getValueFromList(list, "FLAG_CAN_ADD_EXTRA_ITEMS", Boolean.class));
|
||||||
dbSettingsModelIstance.setFlagCanAutoOpenNewULAccettazione(getValueFromList(list, "FLAG_AUTO_OPEN_NEW_UL", Boolean.class));
|
dbSettingsModelIstance.setFlagCanAutoOpenNewULAccettazione(getValueFromList(list, "FLAG_AUTO_OPEN_NEW_UL", Boolean.class));
|
||||||
dbSettingsModelIstance.setFlagCanAddExtraQuantitySpedizione(getValueFromList(list, "FLAG_CAN_ADD_EXTRA_QUANTITY", Boolean.class));
|
dbSettingsModelIstance.setFlagCanAddExtraQuantitySpedizione(getValueFromList(list, "FLAG_CAN_ADD_EXTRA_QUANTITY", Boolean.class));
|
||||||
|
dbSettingsModelIstance.setFlagEnableCheckDepositoSpedizione(getValueFromList(list, "ENABLE_CHECK_DEPOSITO", Boolean.class));
|
||||||
|
|
||||||
if(onComplete != null) onComplete.run();
|
if(onComplete != null) onComplete.run();
|
||||||
}, onFailed);
|
}, onFailed);
|
||||||
|
|||||||
@ -11,6 +11,11 @@ import it.integry.integrywmsnative.core.settings.SettingsManager;
|
|||||||
|
|
||||||
public class UtilityBarcode {
|
public class UtilityBarcode {
|
||||||
|
|
||||||
|
|
||||||
|
public static boolean isBarcodeOrdineV(BarcodeScanDTO barcodeScanDTO) {
|
||||||
|
return (isEan13(barcodeScanDTO) || isEtichetta128(barcodeScanDTO)) && barcodeScanDTO.getStringValue().startsWith("3");
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean isEtichettaAnonima(BarcodeScanDTO barcodeScanDTO){
|
public static boolean isEtichettaAnonima(BarcodeScanDTO barcodeScanDTO){
|
||||||
return barcodeScanDTO != null && barcodeScanDTO.getType() == BarcodeType.CODE128 && barcodeScanDTO.getStringValue().startsWith("U");
|
return barcodeScanDTO != null && barcodeScanDTO.getType() == BarcodeType.CODE128 && barcodeScanDTO.getStringValue().startsWith("U");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,31 @@
|
|||||||
|
package it.integry.integrywmsnative.core.utility;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
public class UtilityQuery {
|
||||||
|
|
||||||
|
public static String concatFieldsInWhereCond(HashMap<String, Object> inputData) {
|
||||||
|
|
||||||
|
StringBuilder sbWhereCond = new StringBuilder();
|
||||||
|
|
||||||
|
HashMap<String, Object> singleInputData = inputData;
|
||||||
|
Object[] keys = singleInputData.keySet().toArray();
|
||||||
|
|
||||||
|
sbWhereCond.append("(");
|
||||||
|
|
||||||
|
for(int k = 0; k < keys.length; k++) {
|
||||||
|
Object value = singleInputData.get(keys[k]);
|
||||||
|
|
||||||
|
sbWhereCond.append(keys[k] + (value == null ? " IS NULL" : " = " + UtilityDB.valueToString(value)));
|
||||||
|
|
||||||
|
if(k < keys.length - 1) sbWhereCond.append(" AND ");
|
||||||
|
}
|
||||||
|
|
||||||
|
sbWhereCond.append(")");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return sbWhereCond.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -40,4 +40,22 @@ public class UtilityString {
|
|||||||
|
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String mid(String string, Integer start) {
|
||||||
|
return mid(string, start, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String mid(String string, Integer start, Integer length){
|
||||||
|
String value = "";
|
||||||
|
if(start <= string.length()) {
|
||||||
|
if(length == 0){
|
||||||
|
length = string.length() - start + 1;
|
||||||
|
} else if (length > string.length() - start){
|
||||||
|
length = string.length() - start + 1;
|
||||||
|
}
|
||||||
|
value = string.substring(start - 1, start + length - 1).trim();
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -107,14 +107,12 @@ public class ListaBancaliActivity extends BaseActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
// Check which request we're responding to
|
// Check which request we're responding to
|
||||||
if (requestCode == PICK_UL_REQUEST) {
|
if (requestCode == PICK_UL_REQUEST) {
|
||||||
// Make sure the request was successful
|
// Make sure the request was successful
|
||||||
if (resultCode == RESULT_OK) {
|
if (resultCode == RESULT_OK) {
|
||||||
|
|
||||||
// MtbColt recoveredMtbColt = data.getParcelableExtra("key");
|
|
||||||
|
|
||||||
|
|
||||||
this.setResult(RESULT_OK, data);
|
this.setResult(RESULT_OK, data);
|
||||||
this.finish();
|
this.finish();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -50,9 +50,7 @@ public class OrdineAcquistoPvHelper {
|
|||||||
griglia.setDescrLisa(dto.getDescrLisa());
|
griglia.setDescrLisa(dto.getDescrLisa());
|
||||||
griglia.setDescrDepo(dto.getDescrDepo());
|
griglia.setDescrDepo(dto.getDescrDepo());
|
||||||
griglia.setCountArticoli(dto.getGrigliaAcquistiChild().size());
|
griglia.setCountArticoli(dto.getGrigliaAcquistiChild().size());
|
||||||
mGrigliaRepository.saveGriglia(griglia, id -> {
|
mGrigliaRepository.saveGriglia(griglia, id -> saveLisAToGriglia(dto.getGrigliaAcquistiChild(), griglia, onSave, onFail), onFail);
|
||||||
saveLisAToGriglia(dto.getGrigliaAcquistiChild(), griglia, onSave, onFail);
|
|
||||||
}, onFail);
|
|
||||||
|
|
||||||
}, onFail);
|
}, onFail);
|
||||||
}
|
}
|
||||||
@ -64,7 +62,7 @@ public class OrdineAcquistoPvHelper {
|
|||||||
toSave.setIdGriglia(griglia.getGrigliaId());
|
toSave.setIdGriglia(griglia.getGrigliaId());
|
||||||
articoliGriglia.add(toSave);
|
articoliGriglia.add(toSave);
|
||||||
}
|
}
|
||||||
mArticoliGrigliaRepository.saveArticoliToGriglia(articoliGriglia, () -> onSave.run(griglia), onFail);
|
mArticoliGrigliaRepository.saveArticoliToGriglia(articoliGriglia,griglia, () -> onSave.run(griglia), onFail);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void createNewOrder(Griglia griglia, RunnableArgs<Ordine> onSuccess, RunnableArgs<Exception> onError) {
|
public void createNewOrder(Griglia griglia, RunnableArgs<Ordine> onSuccess, RunnableArgs<Exception> onError) {
|
||||||
|
|||||||
@ -97,6 +97,8 @@ public class VenditaHelper {
|
|||||||
Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_load_pick_v");
|
Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("db_load_pick_v");
|
||||||
perfTrace.start();
|
perfTrace.start();
|
||||||
|
|
||||||
|
codMdep = SettingsManager.iDB().isFlagEnableCheckDepositoSpedizione() ? codMdep : null;
|
||||||
|
|
||||||
service.getPickingList(codMdep, dateCons, joinedBarcodes).enqueue(new Callback<ServiceRESTResponse<List<PickingObjectDTO>>>() {
|
service.getPickingList(codMdep, dateCons, joinedBarcodes).enqueue(new Callback<ServiceRESTResponse<List<PickingObjectDTO>>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(Call<ServiceRESTResponse<List<PickingObjectDTO>>> call, Response<ServiceRESTResponse<List<PickingObjectDTO>>> response) {
|
public void onResponse(Call<ServiceRESTResponse<List<PickingObjectDTO>>> call, Response<ServiceRESTResponse<List<PickingObjectDTO>>> response) {
|
||||||
|
|||||||
@ -8,7 +8,10 @@ import android.text.SpannableString;
|
|||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
@ -57,7 +60,9 @@ public class VenditaViewModel {
|
|||||||
BarcodeManager.disable();
|
BarcodeManager.disable();
|
||||||
final Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
|
final Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext);
|
||||||
|
|
||||||
if(UtilityBarcode.isEtichettaAnonima(data)) {
|
if(UtilityBarcode.isBarcodeOrdineV(data)) {
|
||||||
|
this.executeEtichettaOrdineV(data.getStringValue(), progressDialog);
|
||||||
|
} else if(UtilityBarcode.isEtichettaAnonima(data)) {
|
||||||
this.executeEtichettaLU(data.getStringValue(), progressDialog);
|
this.executeEtichettaLU(data.getStringValue(), progressDialog);
|
||||||
} else if(UtilityBarcode.isEtichetta128(data)){
|
} else if(UtilityBarcode.isEtichetta128(data)){
|
||||||
this.executeEtichettaEan128(data, progressDialog);
|
this.executeEtichettaEan128(data, progressDialog);
|
||||||
@ -103,6 +108,46 @@ public class VenditaViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void executeEtichettaOrdineV(String barcode, Dialog progressDialog) {
|
||||||
|
String gestione = "";
|
||||||
|
|
||||||
|
char c = barcode.charAt(0);
|
||||||
|
if (c == '1')
|
||||||
|
gestione = "A";
|
||||||
|
else if (c == '2')
|
||||||
|
gestione = "L";
|
||||||
|
else if (c == '3')
|
||||||
|
gestione = "V";
|
||||||
|
|
||||||
|
int numOrd = Integer.parseInt(UtilityString.mid(barcode, 10));
|
||||||
|
|
||||||
|
Date date = null;
|
||||||
|
try {
|
||||||
|
date = new SimpleDateFormat("ddMMyyyy")
|
||||||
|
.parse(UtilityString.mid(barcode, 2, 8));
|
||||||
|
} catch (ParseException ex) {
|
||||||
|
UtilityExceptions.defaultException(mContext, ex, progressDialog);
|
||||||
|
BarcodeManager.enable();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
final String finalGestione = gestione;
|
||||||
|
final Date finalDate = date;
|
||||||
|
|
||||||
|
List<OrdineVenditaInevasoDTO> filteredOrders = Stream.of(mOrdini)
|
||||||
|
.filter(x -> x.getNumOrd() == numOrd && x.getGestione().equalsIgnoreCase(finalGestione) && x.getDataOrdD().equals(finalDate)).toList();
|
||||||
|
|
||||||
|
mFragment.refreshOrdini(filteredOrders);
|
||||||
|
mFragment.refreshRecyclerView();
|
||||||
|
|
||||||
|
|
||||||
|
progressDialog.dismiss();
|
||||||
|
BarcodeManager.enable();
|
||||||
|
}
|
||||||
|
|
||||||
private void executeEtichettaLU(String SSCC, Dialog progressDialog) {
|
private void executeEtichettaLU(String SSCC, Dialog progressDialog) {
|
||||||
ColliMagazzinoRESTConsumer.getBySSCC(SSCC, true, false, mtbColt -> {
|
ColliMagazzinoRESTConsumer.getBySSCC(SSCC, true, false, mtbColt -> {
|
||||||
|
|
||||||
|
|||||||
@ -305,7 +305,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void refreshOrderBy(boolean forceHiddenCheck){
|
private void refreshOrderBy(boolean forceHiddenCheck){
|
||||||
|
|
||||||
try {
|
try {
|
||||||
List<MtbColr> mtbColrs = mArticoliInColloBottomSheetViewModel.mtbColt.get() != null ? mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr() : null;
|
List<MtbColr> mtbColrs = mArticoliInColloBottomSheetViewModel.mtbColt.get() != null ? mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr() : null;
|
||||||
@ -317,7 +317,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void applyFilter(String descriptionText) {
|
private void applyFilter(String descriptionText) {
|
||||||
|
|
||||||
this.mBindings.filteredArtsInListExpandableLayout.expand(true);
|
this.mBindings.filteredArtsInListExpandableLayout.expand(true);
|
||||||
|
|
||||||
@ -750,20 +750,20 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
if (matchedRows.get(0).getTempPickData() != null &&
|
if (matchedRows.get(0).getTempPickData() != null &&
|
||||||
matchedRows.get(0).getTempPickData().getSourceMtbColt() != null ) {
|
matchedRows.get(0).getTempPickData().getSourceMtbColt() != null ) {
|
||||||
|
|
||||||
MtbColt tempSourceMtbColt = matchedRows.get(0).getTempPickData().getSourceMtbColt();
|
// MtbColt tempSourceMtbColt = matchedRows.get(0).getTempPickData().getSourceMtbColt();
|
||||||
|
|
||||||
if (tempSourceMtbColt.getGestione().equals(matchedRows.get(0).getGestione()) &&
|
// if (tempSourceMtbColt.getGestione().equals(matchedRows.get(0).getGestione()) &&
|
||||||
tempSourceMtbColt.getNumCollo() == matchedRows.get(0).getNumCollo() &&
|
// tempSourceMtbColt.getNumCollo() == matchedRows.get(0).getNumCollo() &&
|
||||||
tempSourceMtbColt.getSerCollo().equals(matchedRows.get(0).getSerCollo()) &&
|
// tempSourceMtbColt.getSerCollo().equals(matchedRows.get(0).getSerCollo()) &&
|
||||||
tempSourceMtbColt.getDataColloS().equals(matchedRows.get(0).getDataColloS())) {
|
// tempSourceMtbColt.getDataColloS().equals(matchedRows.get(0).getDataColloS())) {
|
||||||
|
|
||||||
onOrdineRowDispatch(matchedRows.get(0));
|
onOrdineRowDispatch(matchedRows.get(0));
|
||||||
} else {
|
// } else {
|
||||||
//Se sto pickando da una UL diversa da quella suggerita allora non te la apro in
|
// //Se sto pickando da una UL diversa da quella suggerita allora non te la apro in
|
||||||
//automatico ma ti mostro il filtro
|
// //automatico ma ti mostro il filtro
|
||||||
applyFilter("");
|
// applyFilter("");
|
||||||
refreshOrderBy(false);
|
// refreshOrderBy(false);
|
||||||
}
|
// }
|
||||||
|
|
||||||
} else if(matchedRows.get(0).isDeactivated()) {
|
} else if(matchedRows.get(0).isDeactivated()) {
|
||||||
applyFilter("");
|
applyFilter("");
|
||||||
@ -861,22 +861,31 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
|
|
||||||
final Dialog progress = UtilityProgress.createDefaultProgressDialog(mActivity);
|
final Dialog progress = UtilityProgress.createDefaultProgressDialog(mActivity);
|
||||||
|
|
||||||
if(thereIsAnyRowInUL()) {
|
final MtbColt currentMtbColt = mArticoliInColloBottomSheetViewModel.mtbColt.get();
|
||||||
ColliMagazzinoRESTConsumer.updateDataFine(
|
|
||||||
mActivity,
|
ColliMagazzinoRESTConsumer.doesColloContainsAnyRow(currentMtbColt, containRows -> {
|
||||||
progress,
|
|
||||||
mArticoliInColloBottomSheetViewModel.mtbColt.get(),
|
if(containRows) {
|
||||||
() -> distribuisciCollo(progress, (generatedMtbColts) -> {
|
ColliMagazzinoRESTConsumer.updateDataFine(
|
||||||
if(shouldPrint) printCollo(progress, generatedMtbColts, onComplete);
|
mActivity,
|
||||||
else {
|
progress,
|
||||||
postCloseOperations(generatedMtbColts, onComplete);
|
currentMtbColt,
|
||||||
progress.dismiss();
|
() -> distribuisciCollo(progress, (generatedMtbColts) -> {
|
||||||
}
|
if(shouldPrint) printCollo(progress, generatedMtbColts, onComplete);
|
||||||
}));
|
else {
|
||||||
} else {
|
postCloseOperations(generatedMtbColts, onComplete);
|
||||||
if(mtbColtSessionID != null) ColliDataRecover.closeSession(mtbColtSessionID);
|
progress.dismiss();
|
||||||
deleteCollo(progress, onComplete);
|
}
|
||||||
}
|
}));
|
||||||
|
} else {
|
||||||
|
if(mtbColtSessionID != null) ColliDataRecover.closeSession(mtbColtSessionID);
|
||||||
|
deleteCollo(progress, onComplete);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}, ex -> {
|
||||||
|
UtilityExceptions.defaultException(mActivity, ex, progress);
|
||||||
|
});
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if(onComplete != null) onComplete.run();
|
if(onComplete != null) onComplete.run();
|
||||||
@ -1115,10 +1124,10 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
batchLotEnabled = tmpPickData.getMtbPartitaMag().getFlagStato() == null || tmpPickData.getMtbPartitaMag().getFlagStato().equalsIgnoreCase("A");
|
batchLotEnabled = tmpPickData.getMtbPartitaMag().getFlagStato() == null || tmpPickData.getMtbPartitaMag().getFlagStato().equalsIgnoreCase("A");
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean useQtaDaEvadere;
|
boolean useQtaDaEvadere = false;
|
||||||
|
|
||||||
if(tmpPickData.getQtaTot() != null) {
|
if(tmpPickData.getQtaTot() != null) {
|
||||||
useQtaDaEvadere = qtaDaEvadere.floatValue() < tmpPickData.getQtaTot().floatValue() && item.getMtbAart().isFlagQtaCnfFissa();
|
useQtaDaEvadere = qtaDaEvadere.floatValue() < tmpPickData.getQtaTot().floatValue();// && item.getMtbAart().isFlagQtaCnfFissa();
|
||||||
if (useQtaDaEvadere) {
|
if (useQtaDaEvadere) {
|
||||||
dto.setQtaTot(qtaDaEvadere);
|
dto.setQtaTot(qtaDaEvadere);
|
||||||
dto.setMaxQta(qtaDaEvadere);
|
dto.setMaxQta(qtaDaEvadere);
|
||||||
@ -1141,8 +1150,12 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(dto.getQtaTot() != null && dto.getQtaTot().floatValue() > 0 && dto.getQtaCnf() != null && dto.getQtaCnf().floatValue() > 0) {
|
if(dto.getQtaDaEvadere() != null && dto.getQtaDaEvadere().floatValue() > 0 && dto.getQtaCnf() != null && dto.getQtaCnf().floatValue() > 0) {
|
||||||
dto.setNumCnf(dto.getQtaTot().divide(dto.getQtaCnf()).intValue());
|
if(useQtaDaEvadere && (dto.getQtaDaEvadere() != null && dto.getQtaDaEvadere().floatValue() > 0)) {
|
||||||
|
dto.setNumCnf(dto.getQtaDaEvadere().divide(dto.getQtaCnf()).intValue());
|
||||||
|
} else {
|
||||||
|
dto.setNumCnf((dto.getQtaTot().compareTo(dto.getQtaDaEvadere()) < 0 ? dto.getQtaTot() : dto.getQtaDaEvadere()).divide(dto.getQtaCnf()).intValue());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import android.app.ProgressDialog;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.databinding.Observable;
|
import androidx.databinding.Observable;
|
||||||
|
import androidx.databinding.ObservableArrayList;
|
||||||
import androidx.databinding.ObservableField;
|
import androidx.databinding.ObservableField;
|
||||||
import androidx.databinding.ObservableList;
|
import androidx.databinding.ObservableList;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
@ -22,8 +23,11 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.BaseAdapter;
|
import android.widget.BaseAdapter;
|
||||||
|
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.model.CommonModelConsts;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgss;
|
||||||
@ -32,6 +36,7 @@ import it.integry.integrywmsnative.core.model.MtbColt;
|
|||||||
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
import it.integry.integrywmsnative.core.utility.UtilityNumber;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
import it.integry.integrywmsnative.core.utility.UtilityProgress;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetBinding;
|
import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetBinding;
|
||||||
import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetMtbcolrItemBinding;
|
import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetMtbcolrItemBinding;
|
||||||
import it.integry.integrywmsnative.view.bottomsheet.ArticoliInColloBottomSheetHelper;
|
import it.integry.integrywmsnative.view.bottomsheet.ArticoliInColloBottomSheetHelper;
|
||||||
@ -153,18 +158,27 @@ public class ArticoliInColloBottomSheetViewModel {
|
|||||||
mBindings.bottomSheetActionsTitle.setText(clickedItem.getDescrizione());
|
mBindings.bottomSheetActionsTitle.setText(clickedItem.getDescrizione());
|
||||||
mBindings.bottomSheetActionsSubtitle.setText(clickedItem.getCodMart());
|
mBindings.bottomSheetActionsSubtitle.setText(clickedItem.getCodMart());
|
||||||
|
|
||||||
|
|
||||||
|
//Setting qty with unt_mis
|
||||||
|
if(clickedItem.getMtbAart() != null) {
|
||||||
|
if (clickedItem.getMtbAart().isFlagQtaCnfFissa()) {
|
||||||
|
mBindings.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getQtaCol()) + (!UtilityString.isNullOrEmpty(clickedItem.getMtbAart().getUntMis()) ? ("" + clickedItem.getMtbAart().getUntMis()) : ""));
|
||||||
|
} else {
|
||||||
|
mBindings.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getNumCnf()) + " " + mContext.getString(R.string.unt_mis_col));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
mBindings.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getQtaCol()));
|
||||||
|
}
|
||||||
|
|
||||||
mBindings.bottomSheetActionsEditBtn.setOnClickListener(v -> onItemEdit(position));
|
mBindings.bottomSheetActionsEditBtn.setOnClickListener(v -> onItemEdit(position));
|
||||||
|
|
||||||
mBindings.bottomSheetActionsDeleteBtn.setOnClickListener(v -> onItemDelete(position));
|
mBindings.bottomSheetActionsDeleteBtn.setOnClickListener(v -> onItemDelete(position));
|
||||||
|
|
||||||
mBindings.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getQtaCol()) + " " + clickedItem.getUntMis());
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
private void onItemEdit(int position) {
|
private void onItemEdit(int position) {
|
||||||
|
|
||||||
MtbColr itemToEdit = mtbColt.get().getMtbColr().get(position);
|
MtbColr itemToEdit = mtbColt.get().getMtbColr().get(position);
|
||||||
|
MtbColr cloneItemToEdit = (MtbColr) itemToEdit.clone();
|
||||||
|
|
||||||
MtbColr originalItem = (MtbColr) itemToEdit.clone();
|
MtbColr originalItem = (MtbColr) itemToEdit.clone();
|
||||||
|
|
||||||
@ -184,12 +198,16 @@ public class ArticoliInColloBottomSheetViewModel {
|
|||||||
|
|
||||||
final Dialog progress = UtilityProgress.createDefaultProgressDialog(mContext);
|
final Dialog progress = UtilityProgress.createDefaultProgressDialog(mContext);
|
||||||
|
|
||||||
itemToEdit.setQtaCol(quantityDTO.qtaTot.getBigDecimal());
|
|
||||||
itemToEdit.setNumCnf(quantityDTO.numCnf.getBigDecimal());
|
|
||||||
|
|
||||||
ColliMagazzinoRESTConsumer.updateRiga(itemToEdit, () ->{
|
cloneItemToEdit.setQtaCol(quantityDTO.qtaTot.getBigDecimal());
|
||||||
|
cloneItemToEdit.setNumCnf(quantityDTO.numCnf.getBigDecimal());
|
||||||
|
|
||||||
|
ColliMagazzinoRESTConsumer.updateRiga(cloneItemToEdit, () ->{
|
||||||
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
|
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
|
||||||
|
|
||||||
|
itemToEdit.setQtaCol(quantityDTO.qtaTot.getBigDecimal());
|
||||||
|
itemToEdit.setNumCnf(quantityDTO.numCnf.getBigDecimal());
|
||||||
|
|
||||||
progress.dismiss();
|
progress.dismiss();
|
||||||
mtbColt.get().getMtbColr().set(position, itemToEdit);
|
mtbColt.get().getMtbColr().set(position, itemToEdit);
|
||||||
|
|
||||||
@ -205,19 +223,29 @@ public class ArticoliInColloBottomSheetViewModel {
|
|||||||
|
|
||||||
String text = mContext.getResources().getString(R.string.alert_delete_mtb_colr);
|
String text = mContext.getResources().getString(R.string.alert_delete_mtb_colr);
|
||||||
DialogSimpleMessageHelper.makeWarningDialog(mContext, new SpannableString(text), null, () -> {
|
DialogSimpleMessageHelper.makeWarningDialog(mContext, new SpannableString(text), null, () -> {
|
||||||
MtbColr itemToDelete = mtbColt.get().getMtbColr().get(position);
|
|
||||||
|
|
||||||
final Dialog progress = UtilityProgress.createDefaultProgressDialog(mContext);
|
final Dialog progress = UtilityProgress.createDefaultProgressDialog(mContext);
|
||||||
|
|
||||||
progress.show();
|
MtbColt mtbColtClone = (MtbColt) mtbColt.get().clone();
|
||||||
|
mtbColtClone.setMtbColr(new ObservableArrayList<>());
|
||||||
|
mtbColtClone.setOperation(CommonModelConsts.OPERATION.NO_OP);
|
||||||
|
|
||||||
ColliMagazzinoRESTConsumer.deleteRiga(itemToDelete, () -> {
|
MtbColr itemToDelete = (MtbColr) mtbColt.get().getMtbColr().get(position).clone();
|
||||||
|
itemToDelete.setQtaCol(itemToDelete.getQtaCol().multiply(new BigDecimal(-1)));
|
||||||
|
itemToDelete.setNumCnf(itemToDelete.getNumCnf().multiply(new BigDecimal(-1)));
|
||||||
|
itemToDelete.setRiga(null);
|
||||||
|
itemToDelete.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
||||||
|
|
||||||
|
mtbColtClone.getMtbColr().add(itemToDelete);
|
||||||
|
|
||||||
|
ColliMagazzinoRESTConsumer.saveCollo(mtbColtClone, (newMtbColt) -> {
|
||||||
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
|
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
|
||||||
|
|
||||||
progress.dismiss();
|
MtbColr deletedItem = mtbColt.get().getMtbColr().get(position);
|
||||||
mtbColt.get().getMtbColr().remove(position);
|
mtbColt.get().getMtbColr().remove(deletedItem);
|
||||||
|
|
||||||
if(this.mOnItemDeletedCallback != null) this.mOnItemDeletedCallback.run(itemToDelete);
|
progress.dismiss();
|
||||||
|
|
||||||
|
if(this.mOnItemDeletedCallback != null) this.mOnItemDeletedCallback.run(deletedItem);
|
||||||
}, ex -> UtilityExceptions.defaultException(mContext, ex, progress));
|
}, ex -> UtilityExceptions.defaultException(mContext, ex, progress));
|
||||||
}, null).show();
|
}, null).show();
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user