Migliorata gestione stampanti.

Varie implementazioni e bugfix in accettazione.
This commit is contained in:
Giuseppe Scorrano 2018-10-24 13:15:52 +02:00
parent 45acf00660
commit 0e81cc3371
15 changed files with 237 additions and 107 deletions

View File

@ -14,6 +14,10 @@ public class CommonConst {
} }
public static class Config {
public static String COMMESSA_MAG = "MAG";
}
public static class Mail { public static class Mail {

View File

@ -1,5 +1,7 @@
package it.integry.integrywmsnative.core.REST.consumers; package it.integry.integrywmsnative.core.REST.consumers;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.CommonModelConsts;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
public class ColliMagazzinoRESTConsumer { public class ColliMagazzinoRESTConsumer {
@ -11,4 +13,22 @@ public class ColliMagazzinoRESTConsumer {
} }
public static void deleteCollo(MtbColt mtbColtToDelete, Runnable onComplete, RunnableArgs<Exception> onFailed){
mtbColtToDelete.setOperation(CommonModelConsts.OPERATION.DELETE);
saveCollo(mtbColtToDelete, new ISimpleOperationCallback<MtbColt>() {
@Override
public void onSuccess(MtbColt value) {
if(onComplete != null) onComplete.run();
}
@Override
public void onFailed(Exception ex) {
if(onFailed != null) onFailed.run(ex);
}
});
}
} }

View File

@ -16,6 +16,11 @@ import retrofit2.Response;
public class PrinterRESTConsumer extends _BaseRESTConsumer { public class PrinterRESTConsumer extends _BaseRESTConsumer {
public enum Type {
PRIMARY,
SECONDARY
}
public static void getAvailablePrinters(final ISimpleOperationCallback<List<String>> callback) { public static void getAvailablePrinters(final ISimpleOperationCallback<List<String>> callback) {
PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class); PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class);
@ -32,6 +37,40 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer {
}); });
} }
public static void getAvailablePrinters(String codMdep, final ISimpleOperationCallback<List<String>> callback) {
PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class);
printerService.getAvailablePrinters(codMdep).enqueue(new Callback<ServiceRESTResponse<List<String>>>() {
@Override
public void onResponse(Call<ServiceRESTResponse<List<String>>> call, Response<ServiceRESTResponse<List<String>>> response) {
analyzeAnswer(response, "GetAvailablePrinters", callback);
}
@Override
public void onFailure(Call<ServiceRESTResponse<List<String>>> call, Throwable t) {
}
});
}
public static void getAvailablePrinters(String codMdep, Type printerType, final ISimpleOperationCallback<List<String>> callback) {
PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class);
printerService.getAvailablePrinters(codMdep, printerType.toString()).enqueue(new Callback<ServiceRESTResponse<List<String>>>() {
@Override
public void onResponse(Call<ServiceRESTResponse<List<String>>> call, Response<ServiceRESTResponse<List<String>>> response) {
analyzeAnswer(response, "GetAvailablePrinters", callback);
}
@Override
public void onFailure(Call<ServiceRESTResponse<List<String>>> call, Throwable t) {
}
});
}
public static void printCollo(String printerName, MtbColt testataColloToPrint, int quantity, String reportName, final ISimpleOperationCallback<Object> callback) { public static void printCollo(String printerName, MtbColt testataColloToPrint, int quantity, String reportName, final ISimpleOperationCallback<Object> callback) {
PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class); PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class);

View File

@ -14,6 +14,12 @@ public interface PrinterRESTConsumerService {
@POST("getAvailablePrinters") @POST("getAvailablePrinters")
Call<ServiceRESTResponse<List<String>>> getAvailablePrinters(); Call<ServiceRESTResponse<List<String>>> getAvailablePrinters();
@POST("getAvailablePrinters")
Call<ServiceRESTResponse<List<String>>> getAvailablePrinters(@Query("codMdep") String codMdep);
@POST("getAvailablePrinters")
Call<ServiceRESTResponse<List<String>>> getAvailablePrinters(@Query("codMdep") String codMdep, @Query("printerType") String printerType);
@POST("pkgPrintLabel") @POST("pkgPrintLabel")
Call<ServiceRESTResponse<Object>> printCollo( Call<ServiceRESTResponse<Object>> printCollo(

View File

@ -16,6 +16,7 @@ import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityResources; import it.integry.integrywmsnative.core.utility.UtilityResources;
import it.integry.integrywmsnative.core.utility.UtilityString;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
import retrofit2.Response; import retrofit2.Response;
@ -67,12 +68,14 @@ public class SystemRESTConsumer extends _BaseRESTConsumer {
public static void sendErrorLogMail(String message) { public static void sendErrorLogMail(String message) {
String currentAzienda = UtilityString.isNullOrEmpty(SettingsManager.i().userSession.profileDB) ? "" : " [" + SettingsManager.i().userSession.profileDB + "]";
MailDTO mailDTO = new MailDTO() MailDTO mailDTO = new MailDTO()
.setFrom("sender@integry.it") .setFrom("sender@integry.it")
.setFromName("WMS Android") .setFromName("WMS Android")
.setTo(TextUtils.join(";", CommonConst.Mail.forErrors)) .setTo(TextUtils.join(";", CommonConst.Mail.forErrors))
.setSubject("Bug notification") .setSubject("Bug notification" + currentAzienda)
.setMsgText(message) .setMsgText(message)
.setHtml(true); .setHtml(true);

View File

@ -9,6 +9,7 @@ public class CommonModelConsts {
public static String SELECT = "SELECT"; public static String SELECT = "SELECT";
public static String SELECT_OBJECT = "SELECT_OBJECT"; public static String SELECT_OBJECT = "SELECT_OBJECT";
public static String SUBSTITUTE = "SUBSTITUTE"; public static String SUBSTITUTE = "SUBSTITUTE";
public static String DELETE = "DELETE";
public static String NO_OP = "NO_OP"; public static String NO_OP = "NO_OP";
} }

View File

@ -3,9 +3,12 @@ package it.integry.integrywmsnative.core.utility;
import java.io.PrintStream; import java.io.PrintStream;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.StringWriter; import java.io.StringWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer; import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import okhttp3.internal.Util; import okhttp3.internal.Util;
public class UtilityLogger { public class UtilityLogger {
@ -25,6 +28,12 @@ public class UtilityLogger {
ex.printStackTrace(new PrintWriter(sw)); ex.printStackTrace(new PrintWriter(sw));
message = message.replace("#stacktrace#", sw.toString()); message = message.replace("#stacktrace#", sw.toString());
String currentAzienda = UtilityString.isNullOrEmpty(SettingsManager.i().userSession.profileDB) ? "" : SettingsManager.i().userSession.profileDB;
message = message.replace("#azienda_nome#", currentAzienda);
SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy HH:mm:ss");
message = message.replace("#current_date#", sdf.format(new Date()));
SystemRESTConsumer.sendErrorLogMail(message); SystemRESTConsumer.sendErrorLogMail(message);

View File

@ -25,6 +25,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.REST.CommonRESTException; import it.integry.integrywmsnative.core.REST.CommonRESTException;
import it.integry.integrywmsnative.core.coollection.Coollection; import it.integry.integrywmsnative.core.coollection.Coollection;
import it.integry.integrywmsnative.core.interfaces.ICheckBoxCallback; import it.integry.integrywmsnative.core.interfaces.ICheckBoxCallback;
@ -133,8 +134,8 @@ public class MainAccettazioneFragment extends Fragment implements ICheckBoxCallb
String prevCodAnag = ""; String prevCodAnag = "";
for(OrdineAccettazioneInevasoDTO ordine : ordini){ for(OrdineAccettazioneInevasoDTO ordine : ordini){
if(UtilityString.isNullOrEmpty(ordine.codJcom) || ordine.codJcom.equalsIgnoreCase("MAG")){ if(UtilityString.isNullOrEmpty(ordine.codJcom) || ordine.codJcom.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)){
ordine.codJcom = "MAG"; ordine.codJcom = CommonConst.Config.COMMESSA_MAG;
ordine.descrizioneCom = "MAGAZZINO"; ordine.descrizioneCom = "MAGAZZINO";
} }
} }
@ -250,7 +251,7 @@ public class MainAccettazioneFragment extends Fragment implements ICheckBoxCallb
AtomicInteger artsCounter = new AtomicInteger(); AtomicInteger artsCounter = new AtomicInteger();
Stream.of(ordini).forEach(x -> { Stream.of(ordini).forEach(x -> {
artsCounter.addAndGet((int) Stream.of(x.ordini).filter(y -> y.qtaDaEvadere > 0).count()); artsCounter.addAndGet((int) Stream.of(x.ordini).filter(y -> y.getQtaDaEvadere() > 0).count());
}); });
List<String> ordersKeys = new ArrayList<>(); List<String> ordersKeys = new ArrayList<>();

View File

@ -32,10 +32,10 @@ public class OrdineAccettazioneDTO implements Parcelable {
public static class Riga implements Parcelable { public static class Riga implements Parcelable {
public Float qtaOrd; public Float qtaOrd; //QTA ORDINATA (tutta la qta ordiata)
public Float qtaRiservate; public Float qtaRiservate; //QTA COLLI (tutta la qta già accantonata nei colli
public Float qtaEvasa; public Float qtaEvasa; //QTA EVASA ORDINE (qta con documento)
public Float qtaDaEvadere; //public Float qtaDaEvadere; //qta_ord - qta_evasa - qta_colli
public int rigaOrd; public int rigaOrd;
public String codJcom; public String codJcom;
public String ragSocCom; public String ragSocCom;
@ -54,25 +54,21 @@ public class OrdineAccettazioneDTO implements Parcelable {
public String dataCons; public String dataCons;
//public Float getQtaDaEvadere() { public Float getQtaDaEvadere() {
// return this.qtaOrd - this.qtaRiservate; return this.getQtaOrd() - this.getQtaEvasa() - this.getQtaRiservate();
//} }
public Float getQtaOrd() { public Float getQtaOrd() {
return qtaOrd; return qtaOrd != null ? qtaOrd : 0;
} }
public Float getQtaRiservate() { public Float getQtaRiservate() {
return qtaRiservate; return qtaRiservate != null ? qtaRiservate : 0;
} }
public Float getQtaEvasa() { public Float getQtaEvasa() {
return qtaEvasa; return qtaEvasa != null ? qtaEvasa : 0;
}
public Float getQtaDaEvadere() {
return qtaDaEvadere;
} }
public int getRigaOrd() { public int getRigaOrd() {

View File

@ -52,6 +52,8 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
public void onBackPressed() { public void onBackPressed() {
if(mArticoliInColloBottomSheetViewModel.isExpanded()){ if(mArticoliInColloBottomSheetViewModel.isExpanded()){
mArticoliInColloBottomSheetViewModel.collapse(); mArticoliInColloBottomSheetViewModel.collapse();
} else if(mAccettazioneOrdineInevasoViewModel.thereIsAnOpenedUL()) {
mArticoliInColloBottomSheetViewModel.closeCurrentUL();
} else super.onBackPressed(); } else super.onBackPressed();
} }

View File

@ -14,6 +14,7 @@ import java.util.Comparator;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.coollection.Coollection; import it.integry.integrywmsnative.core.coollection.Coollection;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO; import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
@ -66,6 +67,9 @@ public class AccettazioneOrdineInevasoHelper {
if(!codArtForns.contains(mDataset.get(i).codArtFor)){ if(!codArtForns.contains(mDataset.get(i).codArtFor)){
codArtForns.add(mDataset.get(i).codArtFor); codArtForns.add(mDataset.get(i).codArtFor);
} }
if(mDataset.get(i).codJcom == null) mDataset.get(i).codJcom = CommonConst.Config.COMMESSA_MAG;
if(mDataset.get(i).codJcom.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)) mDataset.get(i).descrizioneCommessa = null;
} }
Collections.sort(codArtForns, (str1, str2) -> { Collections.sort(codArtForns, (str1, str2) -> {
@ -77,11 +81,11 @@ public class AccettazioneOrdineInevasoHelper {
List<List<OrdineAccettazioneDTO.Riga>> groupedRighe = new ArrayList<>(); List<List<OrdineAccettazioneDTO.Riga>> groupedRighe = new ArrayList<>();
for (String codArtForn : codArtForns) { for (String codArtForn : codArtForns) {
List<OrdineAccettazioneDTO.Riga> tmpList = Coollection.from(mDataset)
.where("codArtFor", Coollection.eqIgnoreCase(codArtForn)).all(); List<OrdineAccettazioneDTO.Riga> tmpList = Stream.of(mDataset).filter(x -> x.getCodArtFor() != null && x.getCodArtFor().equalsIgnoreCase(codArtForn)).toList();
for(int i = 0; i < tmpList.size(); i++){ for(int i = 0; i < tmpList.size(); i++){
if(tmpList.get(i).qtaRiservate >= tmpList.get(i).qtaOrd){ if(tmpList.get(i).getQtaDaEvadere() <= 0){
tmpList.remove(i); tmpList.remove(i);
i--; i--;
} }
@ -103,21 +107,19 @@ public class AccettazioneOrdineInevasoHelper {
if(!descrArtForns.contains(mDataset.get(i).descrizioneEstesa)){ if(!descrArtForns.contains(mDataset.get(i).descrizioneEstesa)){
descrArtForns.add(mDataset.get(i).descrizioneEstesa); descrArtForns.add(mDataset.get(i).descrizioneEstesa);
} }
if(mDataset.get(i).codJcom == null) mDataset.get(i).codJcom = CommonConst.Config.COMMESSA_MAG;
if(mDataset.get(i).codJcom.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)) mDataset.get(i).descrizioneCommessa = null;
} }
Collections.sort(descrArtForns, new Comparator<String>() { Collections.sort(descrArtForns, (str1, str2) -> str1.compareToIgnoreCase(str2));
public int compare(String str1, String str2) {
return str1.compareToIgnoreCase(str2);
}
});
List<List<OrdineAccettazioneDTO.Riga>> groupedRighe = new ArrayList<>(); List<List<OrdineAccettazioneDTO.Riga>> groupedRighe = new ArrayList<>();
for (String descrArtForn : descrArtForns) { for (String descrArtForn : descrArtForns) {
List<OrdineAccettazioneDTO.Riga> tmpList = Coollection.from(mDataset) List<OrdineAccettazioneDTO.Riga> tmpList = Stream.of(mDataset).filter(x -> x.getDescrizioneEstesa() != null && x.getDescrizioneEstesa().equalsIgnoreCase(descrArtForn)).toList();
.where("descrizioneEstesa", Coollection.eqIgnoreCase(descrArtForn)).all();
for(int i = 0; i < tmpList.size(); i++){ for(int i = 0; i < tmpList.size(); i++){
if(tmpList.get(i).qtaRiservate >= tmpList.get(i).qtaOrd){ if(tmpList.get(i).getQtaDaEvadere() <= 0){
tmpList.remove(i); tmpList.remove(i);
i--; i--;
} }
@ -145,8 +147,8 @@ public class AccettazioneOrdineInevasoHelper {
for(int i = 0; i < mDataset.size(); i++){ for(int i = 0; i < mDataset.size(); i++){
boolean alreadyExists = false; boolean alreadyExists = false;
if(mDataset.get(i).codJcom == null) mDataset.get(i).codJcom = "N/A"; if(mDataset.get(i).codJcom == null) mDataset.get(i).codJcom = CommonConst.Config.COMMESSA_MAG;
if(mDataset.get(i).descrizioneCommessa == null) mDataset.get(i).descrizioneCommessa = mContext.getText(R.string.stock).toString().toUpperCase(); if(mDataset.get(i).codJcom.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)) mDataset.get(i).descrizioneCommessa = mContext.getText(R.string.stock).toString().toUpperCase();
for(int k = 0; k < commessaList.size(); k++){ for(int k = 0; k < commessaList.size(); k++){
@ -164,8 +166,8 @@ public class AccettazioneOrdineInevasoHelper {
} }
Collections.sort(commessaList, (dto1, dto2) -> { Collections.sort(commessaList, (dto1, dto2) -> {
if(dto1.ragSocCom == null || dto2.codJcom.equalsIgnoreCase("MAG")) return -1; if(dto1.ragSocCom == null || dto2.codJcom.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)) return -1;
if(dto2.ragSocCom == null || dto1.codJcom.equalsIgnoreCase("MAG")) return 1; if(dto2.ragSocCom == null || dto1.codJcom.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)) return 1;
return dto1.ragSocCom.compareToIgnoreCase(dto2.ragSocCom); return dto1.ragSocCom.compareToIgnoreCase(dto2.ragSocCom);
}); });
@ -174,11 +176,10 @@ public class AccettazioneOrdineInevasoHelper {
for (RaggruppaPerCommessaUtilDTO dto : commessaList) { for (RaggruppaPerCommessaUtilDTO dto : commessaList) {
List<OrdineAccettazioneDTO.Riga> tmpList = Coollection.from(mDataset) List<OrdineAccettazioneDTO.Riga> tmpList = Stream.of(mDataset).filter(x -> x.getCodJcom().equalsIgnoreCase(dto.codJcom)).toList();
.where("codJcom", Coollection.eqIgnoreCase(dto.codJcom)).all();
for(int i = 0; i < tmpList.size(); i++){ for(int i = 0; i < tmpList.size(); i++){
if(tmpList.get(i).qtaRiservate >= tmpList.get(i).qtaOrd){ if(tmpList.get(i).getQtaDaEvadere() <= 0){
tmpList.remove(i); tmpList.remove(i);
i--; i--;
} }
@ -216,15 +217,14 @@ public class AccettazioneOrdineInevasoHelper {
final OrdineAccettazioneDTO.Riga rowItem = groupedRighe.get(i).get(k); final OrdineAccettazioneDTO.Riga rowItem = groupedRighe.get(i).get(k);
final AccettazioneOrdineInevasoListViewModel.SubItem rowModel = new AccettazioneOrdineInevasoListViewModel.SubItem(); final AccettazioneOrdineInevasoListViewModel.SubItem rowModel = new AccettazioneOrdineInevasoListViewModel.SubItem();
rowModel.badge1 = rowItem.codJcom != null ? rowItem.codJcom : "MAG"; rowModel.badge1 = rowItem.codJcom != null ? rowItem.codJcom : CommonConst.Config.COMMESSA_MAG;
rowModel.badge2 = String.valueOf(rowItem.numOrd); rowModel.badge2 = String.valueOf(rowItem.numOrd);
// rowModel.descrizione = rowItem.ragSocCom; // rowModel.descrizione = rowItem.ragSocCom;
rowModel.descrizione = rowItem.descrizioneCommessa; rowModel.descrizione = rowItem.descrizioneCommessa;
rowModel.qtaRiservata = decimalFormat.format(getRigaQuantityEvasa(rowItem, mtbColrs)); rowModel.qtaRiservata = decimalFormat.format(getRigaQuantityEvasa(rowItem, mtbColrs));
// rowModel.qtaRiservata = decimalFormat.format(rowItem.qtaRiservate); rowModel.qtaOrdinata = decimalFormat.format(rowItem.getQtaOrd());
rowModel.qtaOrdinata = decimalFormat.format(rowItem.qtaOrd);
rowModel.originalModel = rowItem; rowModel.originalModel = rowItem;
@ -244,7 +244,7 @@ public class AccettazioneOrdineInevasoHelper {
for(int i = 0; i < groupedRighe.size(); i++){ for(int i = 0; i < groupedRighe.size(); i++){
AccettazioneOrdineInevasoListViewModel itemModel = new AccettazioneOrdineInevasoListViewModel(); AccettazioneOrdineInevasoListViewModel itemModel = new AccettazioneOrdineInevasoListViewModel();
if(groupedRighe.get(i).get(0).codJcom.equalsIgnoreCase("N/A")){ if(groupedRighe.get(i).get(0).codJcom.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)){
itemModel.descrizioneGroup = mContext.getString(R.string.warehouse).toUpperCase(); itemModel.descrizioneGroup = mContext.getString(R.string.warehouse).toUpperCase();
} else { } else {
itemModel.descrizioneGroup = groupedRighe.get(i).get(0).codJcom; itemModel.descrizioneGroup = groupedRighe.get(i).get(0).codJcom;
@ -267,7 +267,7 @@ public class AccettazioneOrdineInevasoHelper {
rowModel.qtaRiservata = decimalFormat.format(getRigaQuantityEvasa(rowItem, mtbColrs)); rowModel.qtaRiservata = decimalFormat.format(getRigaQuantityEvasa(rowItem, mtbColrs));
// rowModel.qtaRiservata = decimalFormat.format(rowItem.qtaRiservate); // rowModel.qtaRiservata = decimalFormat.format(rowItem.qtaRiservate);
rowModel.qtaOrdinata = decimalFormat.format(rowItem.qtaDaEvadere); rowModel.qtaOrdinata = decimalFormat.format(rowItem.getQtaOrd());
rowModel.originalModel = rowItem; rowModel.originalModel = rowItem;
@ -282,7 +282,7 @@ public class AccettazioneOrdineInevasoHelper {
private float getRigaQuantityEvasa(OrdineAccettazioneDTO.Riga item, List<MtbColr> mtbColrs){ private float getRigaQuantityEvasa(OrdineAccettazioneDTO.Riga item, List<MtbColr> mtbColrs){
float currentQtaEvasa = item.qtaRiservate; float currentQtaEvasa = item.getQtaRiservate() + item.getQtaEvasa();
if(mtbColrs != null) { if(mtbColrs != null) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");

View File

@ -16,6 +16,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.dto.AccettazioneOrdineInevasoListViewModel; import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.dto.AccettazioneOrdineInevasoListViewModel;
/** /**
@ -151,10 +153,10 @@ public class MainListOrdineAccettazioneAdapter extends RecyclerView.Adapter<Main
String descrizioneString = rowItem.descrizione; String descrizioneString = rowItem.descrizione;
int descrizioneColor = Color.BLACK; int descrizioneColor = Color.BLACK;
if(descrizioneString == null || descrizioneString.trim().length() == 0) { if(UtilityString.isNullOrEmpty(descrizioneString)) {
descrizioneString = mContext.getString(R.string.no_description); descrizioneString = mContext.getString(R.string.no_description);
descrizioneColor = Color.GRAY; descrizioneColor = Color.GRAY;
} else if(descrizioneString.equalsIgnoreCase("MAG")){ } else if(descrizioneString.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)){
descrizioneString = mContext.getString(R.string.stock); descrizioneString = mContext.getString(R.string.stock);
} }

View File

@ -233,12 +233,6 @@ public class AccettazioneOnOrdineInevasoViewModel implements IOnColloClosedCallb
.withAlertColor(R.color.mainGreen) .withAlertColor(R.color.mainGreen)
.build(); .build();
/*DialogSimpleMessageHelper.makeInfoDialog(mActivity,
mActivity.getString(R.string.lu_creation),
new SpannableString(mActivity.getString(R.string.data_saved)),
null,
null).show();
*/
} }
@Override @Override
@ -270,15 +264,31 @@ public class AccettazioneOnOrdineInevasoViewModel implements IOnColloClosedCallb
@Override @Override
public void onColloClosed() { public void onColloClosed() {
if(mArticoliInColloBottomSheetViewModel.mtbColt.get() != null) { if(thereIsAnOpenedUL()) {
if(thereIsAnyRowInUL()) {
printCollo();
} else {
deleteCollo();
}
}
}
private void printCollo() {
final ProgressDialog progress = ProgressDialog.show(mActivity, mActivity.getText(R.string.waiting), final ProgressDialog progress = ProgressDialog.show(mActivity, mActivity.getText(R.string.waiting),
mActivity.getText(R.string.loading) + " ...", true); mActivity.getText(R.string.loading) + " ...", true);
progress.show(); progress.show();
PrinterRESTConsumer.getAvailablePrinters(SettingsManager.i().userSession.depo.getCodMdep(), new ISimpleOperationCallback<List<String>>() {
@Override
public void onSuccess(List<String> value) {
if(value.size() > 0) {
PrinterRESTConsumer.printCollo( PrinterRESTConsumer.printCollo(
"Brother MFC-L2700DW series Printer", value.get(0),
mArticoliInColloBottomSheetViewModel.mtbColt.get(), mArticoliInColloBottomSheetViewModel.mtbColt.get(),
1, "EtichettaBancale", new ISimpleOperationCallback<Object>() { 1, "EtichettaBancale", new ISimpleOperationCallback<Object>() {
@Override @Override
@ -301,8 +311,62 @@ public class AccettazioneOnOrdineInevasoViewModel implements IOnColloClosedCallb
} }
}); });
} else {
progress.dismiss();
String errorMessage = "Nessuna stampante configurata";
DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString(errorMessage), null, null).show();
}
} }
@Override
public void onFailed(Exception ex) {
progress.dismiss();
String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex);
if(errorMessage == null) errorMessage = ex.getMessage();
DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString(errorMessage), null, null).show();
UtilityLogger.errorMe(ex);
}
});
}
private void deleteCollo() {
final ProgressDialog progress = ProgressDialog.show(mActivity, mActivity.getText(R.string.waiting),
mActivity.getText(R.string.loading) + " ...", true);
progress.show();
ColliMagazzinoRESTConsumer.deleteCollo(mArticoliInColloBottomSheetViewModel.mtbColt.get(), () -> {
mArticoliInColloBottomSheetViewModel.mtbColt.set(null);
isFabVisible.set(true);
progress.dismiss();
}, ex -> {
progress.dismiss();
String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex);
if(errorMessage == null) errorMessage = ex.getMessage();
DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString(errorMessage), null, null).show();
UtilityLogger.errorMe(ex);
});
}
public boolean thereIsAnOpenedUL() {
return mArticoliInColloBottomSheetViewModel.mtbColt.get() != null;
}
public boolean thereIsAnyRowInUL() {
return mArticoliInColloBottomSheetViewModel.mtbColt.get() != null &&
mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr() != null &&
mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr().size() > 0;
} }
@Override @Override
@ -318,13 +382,6 @@ public class AccettazioneOnOrdineInevasoViewModel implements IOnColloClosedCallb
x.getRigaOrd() == item.rigaOrd x.getRigaOrd() == item.rigaOrd
).toList(); ).toList();
// List<MtbColr> filteredMtbColrs = Coollection.from(currentMtbColrs)
// .where("codMart", Coollection.eqIgnoreCase(item.mtbAart.codMart))
// .and("numOrd", Coollection.eq(item.numOrd))
// .and("codJcom", Coollection.eq(item.codJcom))
// .and("rigaOrd", Coollection.eq(item.rigaOrd))
// .all();
float qtaEvasaInMtbColr = 0; float qtaEvasaInMtbColr = 0;
for (MtbColr mtbColr : filteredMtbColrs) { for (MtbColr mtbColr : filteredMtbColrs) {
qtaEvasaInMtbColr += mtbColr.getQtaCol().floatValue(); qtaEvasaInMtbColr += mtbColr.getQtaCol().floatValue();

View File

@ -1,8 +1,6 @@
package it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.views; package it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.views;
import android.app.ActionBar;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface;
import android.support.design.widget.TextInputEditText; import android.support.design.widget.TextInputEditText;
import android.support.v7.app.AlertDialog; import android.support.v7.app.AlertDialog;
import android.view.ViewGroup; import android.view.ViewGroup;
@ -48,20 +46,12 @@ public class NoteAggiuntiveNuovaULDialog {
.setTitle(mContext.getText(R.string.action_create_ul)) .setTitle(mContext.getText(R.string.action_create_ul))
.setMessage(R.string.dialog_message_additional_notes) .setMessage(R.string.dialog_message_additional_notes)
.setCancelable(false)
.setView(relativeLayout) .setView(relativeLayout)
.setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() { .setPositiveButton(R.string.confirm, (dialog1, which) -> callback.onSuccess(mTextInputEditText.getText().toString()))
@Override .setNegativeButton(R.string.abort, (dialogInterface, i) -> callback.onAbort())
public void onClick(DialogInterface dialog, int which) {
callback.onSuccess(mTextInputEditText.getText().toString());
}
})
.setNegativeButton(R.string.abort, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
callback.onAbort();
}
})
.create(); .create();
dialog.show(); dialog.show();
} }

View File

@ -8,6 +8,7 @@ import android.databinding.DataBindingUtil;
import android.databinding.Observable; import android.databinding.Observable;
import android.databinding.ViewDataBinding; import android.databinding.ViewDataBinding;
import android.graphics.Color; import android.graphics.Color;
import android.os.Handler;
import android.os.SystemClock; import android.os.SystemClock;
import android.support.design.widget.TextInputLayout; import android.support.design.widget.TextInputLayout;
import android.support.v4.content.ContextCompat; import android.support.v4.content.ContextCompat;
@ -69,12 +70,13 @@ public class DialogInputQuantity {
alert.setOnShowListener(dialogInterface -> { alert.setOnShowListener(dialogInterface -> {
final Handler handler = new Handler();
handler.postDelayed(() -> {
txlInputNumDiCnf.getEditText().requestFocus(); txlInputNumDiCnf.getEditText().requestFocus();
//txlInputNumDiCnf.getEditText().dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN , 0, 0, 0));
//txlInputNumDiCnf.getEditText().dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP , 0, 0, 0));
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(txlInputNumDiCnf.getEditText(), InputMethodManager.SHOW_IMPLICIT); imm.showSoftInput(txlInputNumDiCnf.getEditText(), InputMethodManager.SHOW_IMPLICIT);
}, 100);
Button positiveButton = alert.getButton(AlertDialog.BUTTON_POSITIVE); Button positiveButton = alert.getButton(AlertDialog.BUTTON_POSITIVE);
@ -88,8 +90,6 @@ public class DialogInputQuantity {
}); });
}); });
return alert; return alert;
} }