Finish ResiCliente

# Conflicts:
#	.idea/caches/build_file_checksums.ser
This commit is contained in:
Giuseppe Scorrano 2019-08-06 11:44:49 +02:00
commit 0eda2cd3fe
141 changed files with 3560 additions and 827 deletions

View File

@ -84,10 +84,6 @@ android {
}
dynamicFeatures = [":dynamic__base",":dynamic_vgalimenti",":dynamic_ime"]
}
dependencies {
@ -97,17 +93,17 @@ dependencies {
})
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.orhanobut:logger:2.2.0'
implementation 'com.google.firebase:firebase-core:17.0.0'
implementation 'com.google.firebase:firebase-core:17.0.1'
implementation 'com.google.firebase:firebase-crash:16.2.1'
implementation 'com.google.firebase:firebase-perf:18.0.1'
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.1.0-alpha07'
implementation 'com.google.android.material:material:1.1.0-alpha09'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0-alpha06'
implementation 'androidx.preference:preference:1.1.0-beta01'
implementation 'androidx.recyclerview:recyclerview:1.1.0-beta01'
implementation 'androidx.preference:preference:1.1.0-rc01'
implementation 'com.squareup.okhttp3:okhttp:3.12.1'
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'com.squareup.retrofit2:converter-gson:2.5.0'

View File

@ -16,14 +16,18 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:usesCleartextTraffic="true"
android:theme="@style/AppTheme">
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
<activity
android:name=".gest.picking_resi.PickingResiActivity"
android:label="@string/activity_ultime_consegne_title"
android:screenOrientation="portrait"
android:theme="@style/Light" />
<activity
android:name=".MainActivity"
android:screenOrientation="portrait"
android:theme="@style/Light"
android:windowSoftInputMode="adjustPan">
<intent-filter>
<action android:name="android.intent.action.CLIENTBARCODEACTIVITY" />
@ -82,7 +86,6 @@
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
</application>
</manifest>

View File

@ -22,7 +22,7 @@ import android.view.View;
import androidx.fragment.app.FragmentTransaction;
import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
@ -44,6 +44,7 @@ import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamento
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment;
import it.integry.integrywmsnative.gest.settings.MainSettingsFragment;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteFragment;
import it.integry.integrywmsnative.gest.ultime_consegne_fornitore.UltimeConsegneFornitoreFragment;
import it.integry.integrywmsnative.gest.vendita.MainVenditaFragment;
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceFragment;
@ -165,6 +166,11 @@ public class MainActivity extends AppCompatActivity
this.adaptViewToFragment(fragment);
break;
case R.id.nav_resi_fornitore:
fragment = UltimeConsegneFornitoreFragment.newInstance();
this.adaptViewToFragment(fragment);
break;
case R.id.nav_resi_cliente:
fragment = UltimeConsegneClienteFragment.newInstance();
this.adaptViewToFragment(fragment);

View File

@ -1,19 +0,0 @@
package it.integry.integrywmsnative.core.REST.consumers;
import com.google.gson.JsonObject;
import it.integry.integrywmsnative.core.REST.model.DistribuzioneColloDTO;
import it.integry.integrywmsnative.core.REST.model.Ean128Model;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
public interface BarcodeRESTConsumerService {
@GET("decodeEan128")
Call<ServiceRESTResponse<Ean128Model>> decodeEan128(@Query("ean128") String ean128);
}

View File

@ -1,4 +0,0 @@
package it.integry.integrywmsnative.core.REST.model;
public class SlackMessageDTO {
}

View File

@ -11,28 +11,26 @@ public class MenuConfiguration extends BaseMenuConfiguration {
this
.addGroup(
new MenuGroup()
.setGroupText(R.string.general)
.setGroupText(R.string.purchase)
.addItem(new MenuItem()
.setID(R.id.nav_accettazione)
.setTitleText(R.string.accettazione_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_accettazione))
.addItem(new MenuItem()
.setID(R.id.nav_resi_fornitore)
.setTitleText(R.string.fragment_ultime_consegne_fornitore_title)
.setTitleIcon(R.drawable.ic_latest_delivery))
).addGroup(
new MenuGroup()
.setGroupText(R.string.checkout)
.addItem(new MenuItem()
.setID(R.id.nav_spedizione)
.setTitleText(R.string.vendita_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_spedizione))
.addItem(new MenuItem()
.setID(R.id.nav_rettifica_giacenze)
.setTitleText(R.string.rettifica_giacenze_fragment_title)
.setTitleIcon(R.drawable.ic_dashboard_rettifica_giacenze))
.addItem(new MenuItem()
.setID(R.id.nav_versamento_merce)
.setTitleText(R.string.versamento_merce_fragment_title)
.setTitleIcon(R.drawable.ic_dashboard_versamento_merce))
.addItem(new MenuItem()
.setID(R.id.nav_free_picking)
.setTitleText(R.string.free_picking)
@ -42,10 +40,8 @@ public class MenuConfiguration extends BaseMenuConfiguration {
.setID(R.id.nav_resi_cliente)
.setTitleText(R.string.fragment_ultime_consegne_cliente_title)
.setTitleIcon(R.drawable.ic_latest_delivery))
)
.addGroup(
new MenuGroup()
.setGroupText(R.string.production)
).addGroup(new MenuGroup()
.setGroupText(R.string.manufacture)
.addItem(new MenuItem()
.setID(R.id.nav_prod_ordine_produzione)
@ -66,6 +62,22 @@ public class MenuConfiguration extends BaseMenuConfiguration {
.setID(R.id.nav_prod_recupero_materiale)
.setTitleText(R.string.prod_recupero_materiale_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_prod_recupero_materiale))
)
.addGroup(
new MenuGroup()
.setGroupText(R.string.internal_handling)
.addItem(new MenuItem()
.setID(R.id.nav_versamento_merce)
.setTitleText(R.string.versamento_merce_fragment_title)
.setTitleIcon(R.drawable.ic_dashboard_versamento_merce))
.addItem(new MenuItem()
.setID(R.id.nav_rettifica_giacenze)
.setTitleText(R.string.rettifica_giacenze_fragment_title)
.setTitleIcon(R.drawable.ic_dashboard_rettifica_giacenze))
);
}

View File

@ -6,12 +6,8 @@ import com.crashlytics.android.Crashlytics;
import com.orhanobut.logger.AndroidLogAdapter;
import com.orhanobut.logger.Logger;
import java.io.IOException;
import io.fabric.sdk.android.Fabric;
import it.integry.integrywmsnative.BuildConfig;
import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.settings.Stash;

View File

@ -7,7 +7,7 @@ import java.lang.reflect.Method;
import androidx.appcompat.app.AppCompatActivity;
import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.class_router.ClassRouter;
import it.integry.integrywmsnative.core.settings.SettingsManager;

View File

@ -0,0 +1,763 @@
package it.integry.integrywmsnative.core.model;
import java.math.BigDecimal;
import java.util.Date;
import it.integry.integrywmsnative.core.utility.UtilityDate;
public class DtbDocr {
private String codAnag;
private String codDtip;
private String dataDoc;
private Integer idRiga;
private Integer numDoc;
private String serDoc;
private String codAliq;
private String codAnagComp;
private String codArtFor;
private String codCol;
private String codDtipComp;
private String codJcom;
private String codMart;
private String codMdep;
private String codPromo;
private String codTagl;
private BigDecimal costoUnt;
private String dataDocComp;
private String dataOrd;
private String descrizione;
private String descrizioneEstesa;
private String flagEvasoForzato;
private BigDecimal importoRiga;
private BigDecimal numCnf;
private Integer numDocComp;
private Integer numOrd;
private String partitaMag;
private BigDecimal percGest;
private BigDecimal percIspe;
private BigDecimal percOneri;
private BigDecimal percPromo;
private BigDecimal percProv;
private BigDecimal percProv2;
private BigDecimal pesoLordo;
private String posizione;
private BigDecimal qtaCnf;
private BigDecimal qtaDoc;
private BigDecimal qtaDoc2;
private BigDecimal qtaDoc3;
private BigDecimal rapConv;
private Integer rigaOrd;
private BigDecimal sconto5;
private BigDecimal sconto6;
private BigDecimal sconto7;
private BigDecimal sconto8;
private String serDocComp;
private String untDoc;
private String untDoc2;
private String untDoc3;
private BigDecimal valGest;
private BigDecimal valIspe;
private BigDecimal valOneri;
private BigDecimal valPromo;
private BigDecimal valProv;
private BigDecimal valProv2;
private BigDecimal valUnt;
private BigDecimal valUntIva;
private String codMtip;
private String matricola;
private String dataInizComp;
private String dataFineComp;
private String codKit;
private String codAlis;
private String dataInsRow;
private String note;
private int rigaKit;
private MtbAart mtbAart;
public String getCodAnag() {
return codAnag;
}
public DtbDocr setCodAnag(String codAnag) {
this.codAnag = codAnag;
return this;
}
public String getCodDtip() {
return codDtip;
}
public DtbDocr setCodDtip(String codDtip) {
this.codDtip = codDtip;
return this;
}
public String getDataDocS() {
return dataDoc;
}
public Date getDataDocD() {
return UtilityDate.recognizeDateWithExceptionHandler(getDataDocS());
}
public DtbDocr setDataDoc(String dataDoc) {
this.dataDoc = dataDoc;
return this;
}
public Integer getIdRiga() {
return idRiga;
}
public DtbDocr setIdRiga(Integer idRiga) {
this.idRiga = idRiga;
return this;
}
public Integer getNumDoc() {
return numDoc;
}
public DtbDocr setNumDoc(Integer numDoc) {
this.numDoc = numDoc;
return this;
}
public String getSerDoc() {
return serDoc;
}
public DtbDocr setSerDoc(String serDoc) {
this.serDoc = serDoc;
return this;
}
public String getCodAliq() {
return codAliq;
}
public DtbDocr setCodAliq(String codAliq) {
this.codAliq = codAliq;
return this;
}
public String getCodAnagComp() {
return codAnagComp;
}
public DtbDocr setCodAnagComp(String codAnagComp) {
this.codAnagComp = codAnagComp;
return this;
}
public String getCodArtFor() {
return codArtFor;
}
public DtbDocr setCodArtFor(String codArtFor) {
this.codArtFor = codArtFor;
return this;
}
public String getCodCol() {
return codCol;
}
public DtbDocr setCodCol(String codCol) {
this.codCol = codCol;
return this;
}
public String getCodDtipComp() {
return codDtipComp;
}
public DtbDocr setCodDtipComp(String codDtipComp) {
this.codDtipComp = codDtipComp;
return this;
}
public String getCodJcom() {
return codJcom;
}
public DtbDocr setCodJcom(String codJcom) {
this.codJcom = codJcom;
return this;
}
public String getCodMart() {
return codMart;
}
public DtbDocr setCodMart(String codMart) {
this.codMart = codMart;
return this;
}
public String getCodMdep() {
return codMdep;
}
public DtbDocr setCodMdep(String codMdep) {
this.codMdep = codMdep;
return this;
}
public String getCodPromo() {
return codPromo;
}
public DtbDocr setCodPromo(String codPromo) {
this.codPromo = codPromo;
return this;
}
public String getCodTagl() {
return codTagl;
}
public DtbDocr setCodTagl(String codTagl) {
this.codTagl = codTagl;
return this;
}
public BigDecimal getCostoUnt() {
return costoUnt;
}
public DtbDocr setCostoUnt(BigDecimal costoUnt) {
this.costoUnt = costoUnt;
return this;
}
public String getDataDocComp() {
return dataDocComp;
}
public DtbDocr setDataDocComp(String dataDocComp) {
this.dataDocComp = dataDocComp;
return this;
}
public String getDataOrd() {
return dataOrd;
}
public DtbDocr setDataOrd(String dataOrd) {
this.dataOrd = dataOrd;
return this;
}
public String getDescrizione() {
return descrizione;
}
public DtbDocr setDescrizione(String descrizione) {
this.descrizione = descrizione;
return this;
}
public String getDescrizioneEstesa() {
return descrizioneEstesa;
}
public DtbDocr setDescrizioneEstesa(String descrizioneEstesa) {
this.descrizioneEstesa = descrizioneEstesa;
return this;
}
public String getFlagEvasoForzato() {
return flagEvasoForzato;
}
public DtbDocr setFlagEvasoForzato(String flagEvasoForzato) {
this.flagEvasoForzato = flagEvasoForzato;
return this;
}
public BigDecimal getImportoRiga() {
return importoRiga;
}
public DtbDocr setImportoRiga(BigDecimal importoRiga) {
this.importoRiga = importoRiga;
return this;
}
public BigDecimal getNumCnf() {
return numCnf;
}
public DtbDocr setNumCnf(BigDecimal numCnf) {
this.numCnf = numCnf;
return this;
}
public Integer getNumDocComp() {
return numDocComp;
}
public DtbDocr setNumDocComp(Integer numDocComp) {
this.numDocComp = numDocComp;
return this;
}
public Integer getNumOrd() {
return numOrd;
}
public DtbDocr setNumOrd(Integer numOrd) {
this.numOrd = numOrd;
return this;
}
public String getPartitaMag() {
return partitaMag;
}
public DtbDocr setPartitaMag(String partitaMag) {
this.partitaMag = partitaMag;
return this;
}
public BigDecimal getPercGest() {
return percGest;
}
public DtbDocr setPercGest(BigDecimal percGest) {
this.percGest = percGest;
return this;
}
public BigDecimal getPercIspe() {
return percIspe;
}
public DtbDocr setPercIspe(BigDecimal percIspe) {
this.percIspe = percIspe;
return this;
}
public BigDecimal getPercOneri() {
return percOneri;
}
public DtbDocr setPercOneri(BigDecimal percOneri) {
this.percOneri = percOneri;
return this;
}
public BigDecimal getPercPromo() {
return percPromo;
}
public DtbDocr setPercPromo(BigDecimal percPromo) {
this.percPromo = percPromo;
return this;
}
public BigDecimal getPercProv() {
return percProv;
}
public DtbDocr setPercProv(BigDecimal percProv) {
this.percProv = percProv;
return this;
}
public BigDecimal getPercProv2() {
return percProv2;
}
public DtbDocr setPercProv2(BigDecimal percProv2) {
this.percProv2 = percProv2;
return this;
}
public BigDecimal getPesoLordo() {
return pesoLordo;
}
public DtbDocr setPesoLordo(BigDecimal pesoLordo) {
this.pesoLordo = pesoLordo;
return this;
}
public String getPosizione() {
return posizione;
}
public DtbDocr setPosizione(String posizione) {
this.posizione = posizione;
return this;
}
public BigDecimal getQtaCnf() {
return qtaCnf;
}
public DtbDocr setQtaCnf(BigDecimal qtaCnf) {
this.qtaCnf = qtaCnf;
return this;
}
public BigDecimal getQtaDoc() {
return qtaDoc;
}
public DtbDocr setQtaDoc(BigDecimal qtaDoc) {
this.qtaDoc = qtaDoc;
return this;
}
public BigDecimal getQtaDoc2() {
return qtaDoc2;
}
public DtbDocr setQtaDoc2(BigDecimal qtaDoc2) {
this.qtaDoc2 = qtaDoc2;
return this;
}
public BigDecimal getQtaDoc3() {
return qtaDoc3;
}
public DtbDocr setQtaDoc3(BigDecimal qtaDoc3) {
this.qtaDoc3 = qtaDoc3;
return this;
}
public BigDecimal getRapConv() {
return rapConv;
}
public DtbDocr setRapConv(BigDecimal rapConv) {
this.rapConv = rapConv;
return this;
}
public Integer getRigaOrd() {
return rigaOrd;
}
public DtbDocr setRigaOrd(Integer rigaOrd) {
this.rigaOrd = rigaOrd;
return this;
}
public BigDecimal getSconto5() {
return sconto5;
}
public DtbDocr setSconto5(BigDecimal sconto5) {
this.sconto5 = sconto5;
return this;
}
public BigDecimal getSconto6() {
return sconto6;
}
public DtbDocr setSconto6(BigDecimal sconto6) {
this.sconto6 = sconto6;
return this;
}
public BigDecimal getSconto7() {
return sconto7;
}
public DtbDocr setSconto7(BigDecimal sconto7) {
this.sconto7 = sconto7;
return this;
}
public BigDecimal getSconto8() {
return sconto8;
}
public DtbDocr setSconto8(BigDecimal sconto8) {
this.sconto8 = sconto8;
return this;
}
public String getSerDocComp() {
return serDocComp;
}
public DtbDocr setSerDocComp(String serDocComp) {
this.serDocComp = serDocComp;
return this;
}
public String getUntDoc() {
return untDoc;
}
public DtbDocr setUntDoc(String untDoc) {
this.untDoc = untDoc;
return this;
}
public String getUntDoc2() {
return untDoc2;
}
public DtbDocr setUntDoc2(String untDoc2) {
this.untDoc2 = untDoc2;
return this;
}
public String getUntDoc3() {
return untDoc3;
}
public DtbDocr setUntDoc3(String untDoc3) {
this.untDoc3 = untDoc3;
return this;
}
public BigDecimal getValGest() {
return valGest;
}
public DtbDocr setValGest(BigDecimal valGest) {
this.valGest = valGest;
return this;
}
public BigDecimal getValIspe() {
return valIspe;
}
public DtbDocr setValIspe(BigDecimal valIspe) {
this.valIspe = valIspe;
return this;
}
public BigDecimal getValOneri() {
return valOneri;
}
public DtbDocr setValOneri(BigDecimal valOneri) {
this.valOneri = valOneri;
return this;
}
public BigDecimal getValPromo() {
return valPromo;
}
public DtbDocr setValPromo(BigDecimal valPromo) {
this.valPromo = valPromo;
return this;
}
public BigDecimal getValProv() {
return valProv;
}
public DtbDocr setValProv(BigDecimal valProv) {
this.valProv = valProv;
return this;
}
public BigDecimal getValProv2() {
return valProv2;
}
public DtbDocr setValProv2(BigDecimal valProv2) {
this.valProv2 = valProv2;
return this;
}
public BigDecimal getValUnt() {
return valUnt;
}
public DtbDocr setValUnt(BigDecimal valUnt) {
this.valUnt = valUnt;
return this;
}
public BigDecimal getValUntIva() {
return valUntIva;
}
public DtbDocr setValUntIva(BigDecimal valUntIva) {
this.valUntIva = valUntIva;
return this;
}
public String getCodMtip() {
return codMtip;
}
public DtbDocr setCodMtip(String codMtip) {
this.codMtip = codMtip;
return this;
}
public String getMatricola() {
return matricola;
}
public DtbDocr setMatricola(String matricola) {
this.matricola = matricola;
return this;
}
public String getDataInizComp() {
return dataInizComp;
}
public DtbDocr setDataInizComp(String dataInizComp) {
this.dataInizComp = dataInizComp;
return this;
}
public String getDataFineComp() {
return dataFineComp;
}
public DtbDocr setDataFineComp(String dataFineComp) {
this.dataFineComp = dataFineComp;
return this;
}
public String getCodKit() {
return codKit;
}
public DtbDocr setCodKit(String codKit) {
this.codKit = codKit;
return this;
}
public String getCodAlis() {
return codAlis;
}
public DtbDocr setCodAlis(String codAlis) {
this.codAlis = codAlis;
return this;
}
public String getDataInsRow() {
return dataInsRow;
}
public DtbDocr setDataInsRow(String dataInsRow) {
this.dataInsRow = dataInsRow;
return this;
}
public String getNote() {
return note;
}
public DtbDocr setNote(String note) {
this.note = note;
return this;
}
public int getRigaKit() {
return rigaKit;
}
public DtbDocr setRigaKit(int rigaKit) {
this.rigaKit = rigaKit;
return this;
}
public MtbAart getMtbAart() {
return mtbAart;
}
public DtbDocr setMtbAart(MtbAart mtbAart) {
this.mtbAart = mtbAart;
return this;
}
public String getStringKeyIdentifier() {
String separator = "|";
return
this.getCodAnag() + separator +
this.getCodDtip() + separator +
this.getSerDoc() + separator +
UtilityDate.formatDate(this.getDataDocD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH) + separator +
this.getNumDoc() + separator +
this.getIdRiga();
}
}

View File

@ -4,6 +4,8 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import it.integry.integrywmsnative.core.utility.UtilityDate;
public class FiltroOrdineDTO {
private String gestioneOrd;
@ -24,9 +26,8 @@ public class FiltroOrdineDTO {
return dataOrd;
}
public Date getDataOrdD() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return sdf.parse(getDataOrdS());
public Date getDataOrdD() {
return UtilityDate.recognizeDateWithExceptionHandler(getDataOrdS());
}
public FiltroOrdineDTO setDataOrd(String dataOrd) {
@ -35,8 +36,7 @@ public class FiltroOrdineDTO {
}
public FiltroOrdineDTO setDataOrd(Date dataOrd) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
this.dataOrd = sdf.format(dataOrd);
this.dataOrd = UtilityDate.formatDate(dataOrd, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
return this;
}
@ -44,13 +44,8 @@ public class FiltroOrdineDTO {
return dataCons;
}
public Date getDataConsD() throws ParseException {
try {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return sdf.parse(getDataConsS());
} catch (Exception ex) {
return null;
}
public Date getDataConsD() {
return UtilityDate.recognizeDateWithExceptionHandler(getDataConsS());
}
public FiltroOrdineDTO setDataCons(String dataCons) {
@ -60,8 +55,7 @@ public class FiltroOrdineDTO {
public FiltroOrdineDTO setDataCons(Date dataCons) {
if(dataCons != null) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
this.dataCons = sdf.format(dataCons);
this.dataCons = UtilityDate.formatDate(dataCons, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
}
return this;
}

View File

@ -9,6 +9,7 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.core.utility.UtilityString;
@ -266,13 +267,7 @@ public class MtbColr extends EntityBase implements Parcelable {
}
public Date getDataColloD() {
try{
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return sdf.parse(getDataColloS());
} catch (ParseException pex){
UtilityLogger.errorMe(pex);
return null;
}
return UtilityDate.recognizeDateWithExceptionHandler(getDataColloS());
}
public MtbColr setDataCollo(String dataCollo) {
@ -376,13 +371,7 @@ public class MtbColr extends EntityBase implements Parcelable {
}
public Date getDataOrdD() {
try{
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return sdf.parse(getDataOrdS());
} catch (ParseException pex){
UtilityLogger.errorMe(pex);
return null;
}
return UtilityDate.recognizeDateWithExceptionHandler(getDataOrdS());
}
public MtbColr setDataOrd(String dataOrd) {
@ -391,8 +380,7 @@ public class MtbColr extends EntityBase implements Parcelable {
}
public MtbColr setDataOrd(Date dataOrd) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
this.dataOrd = sdf.format(dataOrd);
this.dataOrd = UtilityDate.formatDate(dataOrd, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
return this;
}
@ -401,13 +389,7 @@ public class MtbColr extends EntityBase implements Parcelable {
}
public Date getDataColloRifD() {
try{
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return sdf.parse(getDataColloRifS());
} catch (ParseException pex){
UtilityLogger.errorMe(pex);
return null;
}
return UtilityDate.recognizeDateWithExceptionHandler(getDataColloRifS());
}
public MtbColr setDataColloRif(String dataColloRif) {
@ -416,8 +398,7 @@ public class MtbColr extends EntityBase implements Parcelable {
}
public MtbColr setDataColloRif(Date dataColloRif) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
this.dataColloRif = sdf.format(dataColloRif);
this.dataColloRif = UtilityDate.formatDate(dataColloRif, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
return this;
}
@ -473,9 +454,8 @@ public class MtbColr extends EntityBase implements Parcelable {
return datetimeRow;
}
public Date getDatetimeRowD() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return sdf.parse(getDatetimeRowS());
public Date getDatetimeRowD() {
return UtilityDate.recognizeDateWithExceptionHandler(getDatetimeRowS());
}
public MtbColr setDatetimeRow(String datetimeRow) {
@ -484,8 +464,7 @@ public class MtbColr extends EntityBase implements Parcelable {
}
public MtbColr setDatetimeRow(Date datetimeRow) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
this.datetimeRow = sdf.format(datetimeRow);
this.datetimeRow = UtilityDate.formatDate(datetimeRow, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
return this;
}
@ -542,15 +521,7 @@ public class MtbColr extends EntityBase implements Parcelable {
}
public Date getDataScadPartitaD() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
try {
if(!UtilityString.isNullOrEmpty(getDataScadPartitaS()))
return sdf.parse(getDataScadPartitaS());
else return null;
} catch (Exception ex) {
UtilityLogger.errorMe(ex);
return null;
}
return UtilityDate.recognizeDateWithExceptionHandler(getDataScadPartitaS());
}
public MtbColr setDataScadPartita(String dataScadPartita) {
@ -559,10 +530,7 @@ public class MtbColr extends EntityBase implements Parcelable {
}
public MtbColr setDataScadPartita(Date dataScadPartita) {
if(dataScadPartita != null) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
this.dataScadPartita = sdf.format(dataScadPartita);
} else this.dataScadPartita = null;
this.dataScadPartita = UtilityDate.formatDate(dataScadPartita, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
return this;
}

View File

@ -4,6 +4,7 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityDate;
public class MtbCols extends EntityBase {
@ -22,7 +23,7 @@ public class MtbCols extends EntityBase {
type = "mtb_cols";
setCodMdep(SettingsManager.i().userSession.depo.getCodMdep());
setModificatoDa(SettingsManager.i().user.fullname);
setDataMove(new Date());
setDataMove(UtilityDate.getDateInstance());
}
public String getDataCollo() {
@ -89,8 +90,7 @@ public class MtbCols extends EntityBase {
}
public MtbCols setDataMove(Date dataMove) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
this.dataMove = sdf.format(dataMove);
this.dataMove = UtilityDate.formatDate(dataMove, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
return this;
}

View File

@ -76,8 +76,7 @@ public class MtbColt extends EntityBase {
Date dateOrd = UtilityDate.recognizeDate(this.dataOrd);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String dateYMD = sdf.format(dateOrd);
String dateYMD = UtilityDate.formatDate(dateOrd, UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH);
this.filtroOrdini = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><ROOT><FILTER><DTB_ORDT><GESTIONE type=\"V\">" + this.gestione + "</GESTIONE><DATA_ORD type=\"D\">" + dateYMD + "</DATA_ORD><NUM_ORD type=\"N\">" + this.numOrd + "</NUM_ORD></DTB_ORDT></FILTER></ROOT>";
}
@ -97,14 +96,14 @@ public class MtbColt extends EntityBase {
public MtbColt(){
type = "mtb_colt";
setDataCollo(new Date());
setDataCollo(UtilityDate.getDateInstance());
setSerCollo("/");
}
public void initDefaultFields() {
setCodMdep(SettingsManager.i().userSession.depo.getCodMdep());
setPreparatoDa(SettingsManager.i().user.fullname);
setOraInizPrep(new Date());
setOraInizPrep(UtilityDate.getDateInstance());
setCodAnag(SettingsManager.iDB().getDefaultCodAnag());
}
@ -145,13 +144,7 @@ public class MtbColt extends EntityBase {
}
public Date getDataColloD() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
try {
return sdf.parse(getDataColloS());
} catch (ParseException e) {
UtilityLogger.errorMe(e);
return null;
}
return UtilityDate.recognizeDateWithExceptionHandler(getDataColloS());
}
public MtbColt setDataCollo(String dataCollo) {
@ -160,8 +153,7 @@ public class MtbColt extends EntityBase {
}
public MtbColt setDataCollo(Date dataCollo) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
this.dataCollo = sdf.format(dataCollo);
this.dataCollo = UtilityDate.formatDate(dataCollo, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
return this;
}
@ -328,10 +320,7 @@ public class MtbColt extends EntityBase {
}
public MtbColt setDataOrdD(Date dataOrd) {
if(dataOrd != null) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
this.dataOrd = sdf.format(dataOrd);
} else this.dataOrd = null;
this.dataOrd = UtilityDate.formatDate(dataOrd, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
return this;
}
@ -354,8 +343,7 @@ public class MtbColt extends EntityBase {
}
public MtbColt setOraInizPrep(Date oraInizPrep) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
this.oraInizPrep = sdf.format(oraInizPrep);
this.oraInizPrep = UtilityDate.formatDate(oraInizPrep, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
return this;
}
@ -369,8 +357,7 @@ public class MtbColt extends EntityBase {
}
public MtbColt setOraFinePrep(Date oraFinePrep) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
this.oraFinePrep = sdf.format(oraFinePrep);
this.oraFinePrep = UtilityDate.formatDate(oraFinePrep, UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH);
return this;
}

View File

@ -34,4 +34,24 @@ public class ReportManager {
}
public static String getRightReportNameByGestione(GestioneEnum gestione) {
if(gestione != null){
switch (gestione) {
case ACQUISTO:
case PRODUZIONE:
return "EtichettaBancale";
case LAVORAZIONE:
return "EtichettaInventario";
case VENDITA:
return "EtichettaSpedizione";
}
}
return null;
}
}

View File

@ -1,18 +1,10 @@
package it.integry.integrywmsnative.core.REST;
import android.util.Log;
package it.integry.integrywmsnative.core.rest;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import java.util.HashMap;
import java.util.List;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.model.EsitoType;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.exception.printer.PrinterNotFoundException;
import it.integry.integrywmsnative.core.utility.UtilityString;
import retrofit2.Response;
/**
* Created by GiuseppeS on 22/03/2018.

View File

@ -1,11 +1,10 @@
package it.integry.integrywmsnative.core.REST;
package it.integry.integrywmsnative.core.rest;
import android.util.Base64;
import java.io.IOException;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityString;
import okhttp3.HttpUrl;
import okhttp3.Interceptor;
import okhttp3.Request;

View File

@ -1,7 +1,12 @@
package it.integry.integrywmsnative.core.REST;
package it.integry.integrywmsnative.core.rest;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.sql.Date;
import java.util.concurrent.TimeUnit;
import it.integry.integrywmsnative.core.rest.deserializer.DateDeserializer;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
@ -47,10 +52,16 @@ public class RESTBuilder {
String endpoint = "http://" + host + ":" + port + "/" + (addEmsApi ? "ems-api/" : "");
Gson gson = new GsonBuilder()
.registerTypeAdapter(Date.class, new DateDeserializer())
.create();
Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create(gson))
.baseUrl(endpoint)
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();

View File

@ -1,15 +1,14 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import com.annimon.stream.Collectors;
import com.annimon.stream.Stream;
import java.util.List;
import it.integry.integrywmsnative.core.REST.RESTBuilder;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.utility.UtilityDB;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

View File

@ -1,8 +1,6 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import java.util.List;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.model.MtbAart;
import retrofit2.Call;
import retrofit2.http.GET;

View File

@ -1,10 +1,8 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import com.google.gson.JsonObject;
import it.integry.integrywmsnative.core.REST.RESTBuilder;
import it.integry.integrywmsnative.core.REST.model.Ean128Model;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
import retrofit2.Call;

View File

@ -0,0 +1,14 @@
package it.integry.integrywmsnative.core.rest.consumers;
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface BarcodeRESTConsumerService {
@GET("decodeEan128")
Call<ServiceRESTResponse<Ean128Model>> decodeEan128(@Query("ean128") String ean128);
}

View File

@ -1,4 +1,7 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import android.app.ProgressDialog;
import android.content.Context;
import com.annimon.stream.Stream;
import com.google.gson.Gson;
@ -8,14 +11,13 @@ import org.jetbrains.annotations.NotNull;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.REST.RESTBuilder;
import it.integry.integrywmsnative.core.REST.model.DistribuzioneColloDTO;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.DistribuzioneColloDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.CommonModelConsts;
import it.integry.integrywmsnative.core.model.MtbAart;
@ -23,8 +25,9 @@ import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
import retrofit2.Call;
@ -453,5 +456,23 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer{
public static void updateDataFine(Context context, ProgressDialog progress, MtbColt mtbColt, Runnable onComplete) {
MtbColt cloneMtbColt = (MtbColt) mtbColt.clone();
cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE);
cloneMtbColt.setOraFinePrep(UtilityDate.getDateInstance());
ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, value -> {
onComplete.run();
}, ex -> {
UtilityExceptions.defaultException(context, ex, progress);
});
}
}

View File

@ -1,17 +1,12 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import com.google.gson.JsonObject;
import java.util.List;
import it.integry.integrywmsnative.core.REST.model.DistribuzioneColloDTO;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.rest.model.DistribuzioneColloDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import java.util.List;

View File

@ -1,9 +1,8 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import android.util.Log;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
@ -11,11 +10,10 @@ import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.core.REST.RESTBuilder;
import it.integry.integrywmsnative.core.REST.model.EsitoType;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.EsitoType;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.model.EntityBase;
import it.integry.integrywmsnative.core.model.MtbColt;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

View File

@ -1,12 +1,11 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import com.google.gson.JsonObject;
import java.util.List;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.model.EntityBase;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.POST;

View File

@ -1,10 +1,10 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import android.util.Log;
import it.integry.integrywmsnative.core.REST.RESTBuilder;
import it.integry.integrywmsnative.core.REST.model.GestSetupDTO;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.GestSetupDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
import retrofit2.Call;

View File

@ -1,10 +1,7 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import java.util.List;
import it.integry.integrywmsnative.core.REST.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.REST.model.GestSetupDTO;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.GestSetupDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
public interface ISimpleOperationCallback<T> {

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import com.google.gson.reflect.TypeToken;
@ -6,8 +6,8 @@ import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.core.REST.RESTBuilder;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;

View File

@ -1,8 +1,8 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import java.util.List;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import retrofit2.Call;
import retrofit2.http.GET;

View File

@ -1,16 +1,15 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import android.util.Log;
import java.util.List;
import it.integry.integrywmsnative.core.REST.RESTBuilder;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.exception.printer.PrinterNotFoundException;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.core.utility.UtilityServer;
import it.integry.integrywmsnative.core.utility.UtilityString;
import retrofit2.Call;
import retrofit2.Callback;
@ -71,7 +70,7 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer {
}
public static void getAvailablePrinters(String codMdep, Type printerType, final ISimpleOperationCallback<List<String>> callback) {
public static void getAvailablePrinters(String codMdep, Type printerType, RunnableArgs<List<String>> onComplete, RunnableArgs<Exception> onFailed) {
String printerTypeStr = printerType != null ? printerType.toString() : null;
@ -79,14 +78,14 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer {
printerService.getAvailablePrinters(codMdep, printerTypeStr).enqueue(new Callback<ServiceRESTResponse<List<String>>>() {
@Override
public void onResponse(Call<ServiceRESTResponse<List<String>>> call, Response<ServiceRESTResponse<List<String>>> response) {
analyzeAnswer(response, "GetAvailablePrinters", callback);
analyzeAnswer(response, "GetAvailablePrinters", onComplete, onFailed);
}
@Override
public void onFailure(Call<ServiceRESTResponse<List<String>>> call, Throwable t) {
Log.e("GetAvailablePrinters", t.toString());
UtilityLogger.errorMe(new Exception(t));
callback.onFailed(new Exception(t));
onFailed.run(new Exception(t));
}
});
}

View File

@ -1,13 +1,11 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import java.util.List;
import it.integry.integrywmsnative.core.REST.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import android.text.TextUtils;
import android.util.Log;
@ -16,14 +16,13 @@ import java.util.List;
import it.integry.integrywmsnative.BuildConfig;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.REST.RESTBuilder;
import it.integry.integrywmsnative.core.REST.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.REST.model.MailRequestDTO;
import it.integry.integrywmsnative.core.REST.model.NativeSqlRequestDTO;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.rest.model.MailRequestDTO;
import it.integry.integrywmsnative.core.rest.model.NativeSqlRequestDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.Azienda;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.core.utility.UtilityString;

View File

@ -1,11 +1,11 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import java.util.List;
import it.integry.integrywmsnative.core.REST.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.REST.model.MailRequestDTO;
import it.integry.integrywmsnative.core.REST.model.NativeSqlRequestDTO;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.rest.model.MailRequestDTO;
import it.integry.integrywmsnative.core.rest.model.NativeSqlRequestDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;

View File

@ -1,12 +1,12 @@
package it.integry.integrywmsnative.core.REST.consumers;
package it.integry.integrywmsnative.core.rest.consumers;
import android.util.Log;
import java.util.List;
import it.integry.integrywmsnative.core.REST.CommonRESTException;
import it.integry.integrywmsnative.core.REST.model.EsitoType;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.CommonRESTException;
import it.integry.integrywmsnative.core.rest.model.EsitoType;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.utility.UtilityString;
import retrofit2.Response;

View File

@ -0,0 +1,21 @@
package it.integry.integrywmsnative.core.rest.deserializer;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import java.lang.reflect.Type;
import java.util.Date;
import it.integry.integrywmsnative.core.utility.UtilityDate;
public class DateDeserializer implements JsonDeserializer<Date> {
@Override
public Date deserialize(JsonElement element, Type arg1, JsonDeserializationContext arg2) throws JsonParseException {
String date = element.getAsString();
return UtilityDate.recognizeDateWithExceptionHandler(date);
}
}

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.REST.model;
package it.integry.integrywmsnative.core.rest.model;
public class AvailableCodMdepsDTO {

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.REST.model;
package it.integry.integrywmsnative.core.rest.model;
public class DistribuzioneColloDTO {

View File

@ -1,15 +1,11 @@
package it.integry.integrywmsnative.gest.vendita.rest.model;
package it.integry.integrywmsnative.core.rest.model;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import it.integry.integrywmsnative.core.exception.DateNotRecognizedException;
import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
public class ConsegnaClienteDTO {
public class DocumentoResoDTO {
private String codAnag;
private int counterConsegna;
@ -23,13 +19,24 @@ public class ConsegnaClienteDTO {
private String compilatoDa;
private String rifOrd;
private String dataOrd;
private Integer numOrd;
private String dataInizTrasp;
private String gestione;
private String codMdep;
public BindableBoolean selected;
public DocumentoResoDTO() {
this.selected = new BindableBoolean(false);
}
public String getCodAnag() {
return codAnag;
}
public ConsegnaClienteDTO setCodAnag(String codAnag) {
public DocumentoResoDTO setCodAnag(String codAnag) {
this.codAnag = codAnag;
return this;
}
@ -38,7 +45,7 @@ public class ConsegnaClienteDTO {
return counterConsegna;
}
public ConsegnaClienteDTO setCounterConsegna(int counterConsegna) {
public DocumentoResoDTO setCounterConsegna(int counterConsegna) {
this.counterConsegna = counterConsegna;
return this;
}
@ -47,7 +54,7 @@ public class ConsegnaClienteDTO {
return codDtip;
}
public ConsegnaClienteDTO setCodDtip(String codDtip) {
public DocumentoResoDTO setCodDtip(String codDtip) {
this.codDtip = codDtip;
return this;
}
@ -60,7 +67,7 @@ public class ConsegnaClienteDTO {
return UtilityDate.recognizeDateWithExceptionHandler(getDataDocS());
}
public ConsegnaClienteDTO setDataDoc(String dataDoc) {
public DocumentoResoDTO setDataDoc(String dataDoc) {
this.dataDoc = dataDoc;
return this;
}
@ -69,7 +76,7 @@ public class ConsegnaClienteDTO {
return serDoc;
}
public ConsegnaClienteDTO setSerDoc(String serDoc) {
public DocumentoResoDTO setSerDoc(String serDoc) {
this.serDoc = serDoc;
return this;
}
@ -78,7 +85,7 @@ public class ConsegnaClienteDTO {
return numDoc;
}
public ConsegnaClienteDTO setNumDoc(int numDoc) {
public DocumentoResoDTO setNumDoc(int numDoc) {
this.numDoc = numDoc;
return this;
}
@ -87,7 +94,7 @@ public class ConsegnaClienteDTO {
return destinatario;
}
public ConsegnaClienteDTO setDestinatario(String destinatario) {
public DocumentoResoDTO setDestinatario(String destinatario) {
this.destinatario = destinatario;
return this;
}
@ -96,7 +103,7 @@ public class ConsegnaClienteDTO {
return indirizzo;
}
public ConsegnaClienteDTO setIndirizzo(String indirizzo) {
public DocumentoResoDTO setIndirizzo(String indirizzo) {
this.indirizzo = indirizzo;
return this;
}
@ -105,7 +112,7 @@ public class ConsegnaClienteDTO {
return ragSoc;
}
public ConsegnaClienteDTO setRagSoc(String ragSoc) {
public DocumentoResoDTO setRagSoc(String ragSoc) {
this.ragSoc = ragSoc;
return this;
}
@ -114,7 +121,7 @@ public class ConsegnaClienteDTO {
return compilatoDa;
}
public ConsegnaClienteDTO setCompilatoDa(String compilatoDa) {
public DocumentoResoDTO setCompilatoDa(String compilatoDa) {
this.compilatoDa = compilatoDa;
return this;
}
@ -123,7 +130,7 @@ public class ConsegnaClienteDTO {
return rifOrd;
}
public ConsegnaClienteDTO setRifOrd(String rifOrd) {
public DocumentoResoDTO setRifOrd(String rifOrd) {
this.rifOrd = rifOrd;
return this;
}
@ -137,11 +144,20 @@ public class ConsegnaClienteDTO {
}
public ConsegnaClienteDTO setDataOrd(String dataOrd) {
public DocumentoResoDTO setDataOrd(String dataOrd) {
this.dataOrd = dataOrd;
return this;
}
public Integer getNumOrd() {
return numOrd;
}
public DocumentoResoDTO setNumOrd(Integer numOrd) {
this.numOrd = numOrd;
return this;
}
public String getDataInizTraspS() {
return dataInizTrasp;
}
@ -150,8 +166,39 @@ public class ConsegnaClienteDTO {
return UtilityDate.recognizeDateWithExceptionHandler(getDataInizTraspS());
}
public ConsegnaClienteDTO setDataInizTrasp(String dataInizTrasp) {
public DocumentoResoDTO setDataInizTrasp(String dataInizTrasp) {
this.dataInizTrasp = dataInizTrasp;
return this;
}
public BindableBoolean getSelected() {
return this.selected;
}
public boolean isSelected() {
return this.selected.get();
}
public DocumentoResoDTO setSelected(boolean selected) {
this.selected.set(selected);
return this;
}
public String getGestione() {
return gestione;
}
public DocumentoResoDTO setGestione(String gestione) {
this.gestione = gestione;
return this;
}
public String getCodMdep() {
return codMdep;
}
public DocumentoResoDTO setCodMdep(String codMdep) {
this.codMdep = codMdep;
return this;
}
}

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.REST.model;
package it.integry.integrywmsnative.core.rest.model;
public class Ean128Model {

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.REST.model;
package it.integry.integrywmsnative.core.rest.model;
public class Ean13PesoModel {

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.REST.model;
package it.integry.integrywmsnative.core.rest.model;
/**
* Created by GiuseppeS on 06/03/2018.

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.REST.model;
package it.integry.integrywmsnative.core.rest.model;
public class GestSetupDTO {

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.REST.model;
package it.integry.integrywmsnative.core.rest.model;
public class MailRequestDTO {

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.REST.model;
package it.integry.integrywmsnative.core.rest.model;
public class NativeSqlRequestDTO {

View File

@ -1,10 +1,10 @@
package it.integry.integrywmsnative.core.REST.model;
package it.integry.integrywmsnative.core.rest.model;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import it.integry.integrywmsnative.core.utility.UtilityDate;
/**
* Created by GiuseppeS on 06/03/2018.
*/
@ -25,12 +25,7 @@ public class ServiceRESTResponse<T> {
}
public Date getExecDate() {
try {
return new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(execDate);
} catch (Exception e) {
e.printStackTrace();
}
return null;
return UtilityDate.recognizeDateWithExceptionHandler(execDate);
}
public String getProfileDB() {

View File

@ -0,0 +1,4 @@
package it.integry.integrywmsnative.core.rest.model;
public class SlackMessageDTO {
}

View File

@ -1,4 +1,4 @@
package it.integry.integrywmsnative.core.REST.watcher;
package it.integry.integrywmsnative.core.rest.watcher;
import android.os.Handler;

View File

@ -2,10 +2,9 @@ package it.integry.integrywmsnative.core.settings;
import java.util.List;
import it.integry.integrywmsnative.core.REST.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.REST.model.DistribuzioneColloDTO;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.rest.model.DistribuzioneColloDTO;
import it.integry.integrywmsnative.core.model.Azienda;
import it.integry.integrywmsnative.core.model.MtbDepo;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
public class DBSettingsModel {

View File

@ -8,12 +8,11 @@ import java.net.SocketTimeoutException;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.GestSetupRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.PosizioniRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.REST.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.utility.UtilityFirebase;

View File

@ -1,6 +1,6 @@
package it.integry.integrywmsnative.core.settings;
import it.integry.integrywmsnative.core.REST.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
public class SettingsModel {

View File

@ -16,7 +16,7 @@ public class UtilityBarcode {
}
public static boolean isEtichettaAnonimaOfCurrentYear(String barcode) {
Calendar calendar = Calendar.getInstance();
Calendar calendar = UtilityDate.getCalendarInstance();
int currentYear = calendar.get(Calendar.YEAR);
String fullYear = "20" + UtilityBarcode.getAnnoColloFromULAnonima(barcode);

View File

@ -7,7 +7,6 @@ public class UtilityDB {
public static String valueToString(Object value) {
String valueString;
SimpleDateFormat dateFormatFile = new SimpleDateFormat("yyyy-MM-dd");
if (value == null) {
valueString = "NULL";
@ -22,7 +21,8 @@ public class UtilityDB {
valueString = "'" + valueString.replaceAll("'","''") + "'";
}
} else if (value instanceof Date){
valueString = "'" + dateFormatFile.format(value) + "'";
valueString = "'" + UtilityDate.formatDate((Date) value, UtilityDate.COMMONS_DATE_FORMATS.YMD_DASH) + "'";
} else if (value instanceof Integer) {
} else {

View File

@ -2,7 +2,10 @@ package it.integry.integrywmsnative.core.utility;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.ZoneId;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
import it.integry.integrywmsnative.core.exception.DateNotRecognizedException;
import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException;
@ -16,8 +19,9 @@ public class UtilityDate {
public static class COMMONS_DATE_FORMATS {
public static final String DMY_SLASH = "dd/MM/yyyy";
public static final String YMD_SLASH = "yyyy/MM/dd";
public static final String DMY_TIME_SLASH = DMY_SLASH + " hh:mm";
public static final String YMD_TIME_SLASH = YMD_SLASH + " hh:mm";
public static final String YMD_DASH = "yyyy-MM-dd";
public static final String DMY_TIME_SLASH = DMY_SLASH + " hh:mm:ss";
public static final String YMD_TIME_SLASH = YMD_SLASH + " hh:mm:ss";
public static final String DM_HUMAN = "dd MMM";
@ -74,11 +78,27 @@ public class UtilityDate {
format = new SimpleDateFormat(dateFormatString);
}
format.setTimeZone(TimeZone.getTimeZone("Europe/Rome"));
return format.parse(dateString);
}
public static String formatDate(Date dateToFormat, String format) {
return new SimpleDateFormat(format).format(dateToFormat);
if(dateToFormat != null) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
sdf.setTimeZone(TimeZone.getTimeZone("Europe/Rome"));
return sdf.format(dateToFormat);
}
else return null;
}
public static Date getDateInstance() {
return getCalendarInstance().getTime();
}
public static Calendar getCalendarInstance() {
return Calendar.getInstance(TimeZone.getTimeZone("Europe/Rome"));
}
}

View File

@ -8,7 +8,7 @@ import com.crashlytics.android.Crashlytics;
import com.orhanobut.logger.Logger;
import it.integry.integrywmsnative.BuildConfig;
import it.integry.integrywmsnative.core.REST.CommonRESTException;
import it.integry.integrywmsnative.core.rest.CommonRESTException;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
public class UtilityExceptions {

View File

@ -5,11 +5,9 @@ import com.orhanobut.logger.Logger;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.net.SocketTimeoutException;
import java.text.SimpleDateFormat;
import java.util.Date;
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.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.settings.SettingsManager;
@ -55,8 +53,7 @@ public class UtilityLogger {
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()));
message = message.replace("#current_date#", UtilityDate.formatDate(UtilityDate.getDateInstance(), UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH));
SystemRESTConsumer.sendErrorLogMail(message, onComplete, onFailed);
}

View File

@ -1,5 +1,7 @@
package it.integry.integrywmsnative.core.utility;
import com.google.android.gms.common.internal.service.Common;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
@ -13,12 +15,12 @@ public class UtilityNumber {
public static String decimalToString(Float bigDecimal){
if(bigDecimal == null) return "0";
return decimalToString(bigDecimal, 3);
return decimalToString(bigDecimal, CommonConst.Config.NUMBER_OF_DECIMAL_DIGITS);
}
public static String decimalToString(BigDecimal bigDecimal){
if(bigDecimal == null) return "0";
return decimalToString(bigDecimal, 3);
return decimalToString(bigDecimal, CommonConst.Config.NUMBER_OF_DECIMAL_DIGITS);
}
public static String decimalToString(BigDecimal bigDecimal, int decimal){
@ -67,4 +69,20 @@ public class UtilityNumber {
return numberString.replaceAll(",", ".");
}
public static Float decimalToFloat(BigDecimal bigDecimalValue) {
float multiplier = (float) Math.pow(10, CommonConst.Config.NUMBER_OF_DECIMAL_DIGITS);
Float floatValue = null;
if(bigDecimalValue != null) {
int intValue = (int) (bigDecimalValue.floatValue() * multiplier);
floatValue = Float.valueOf(intValue / multiplier);
}
return floatValue;
}
}

View File

@ -25,7 +25,7 @@ import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.CommonRESTException;
import it.integry.integrywmsnative.core.rest.CommonRESTException;
import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.interfaces.ISearcableFragment;

View File

@ -9,9 +9,9 @@ import com.annimon.stream.Stream;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.core.REST.RESTBuilder;
import it.integry.integrywmsnative.core.REST.model.EsitoType;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.EsitoType;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityLogger;

View File

@ -13,6 +13,7 @@ import java.util.List;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.utility.UtilityDate;
/**
* Created by GiuseppeS on 06/03/2018.
@ -138,17 +139,12 @@ public class OrdineAccettazioneDTO implements Parcelable {
return dataCons;
}
public Date getDataOrd() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date dataOrd = null;
try{
dataOrd = sdf.parse(this.dataOrd);
} catch (Exception ex) {
Log.e("Parsing date", ex.getMessage());
public String getDataOrdS() {
return this.dataOrd;
}
return dataOrd;
public Date getDataOrdD() {
return UtilityDate.recognizeDateWithExceptionHandler(getDataOrdS());
}

View File

@ -2,12 +2,11 @@ package it.integry.integrywmsnative.gest.accettazione.rest;
import java.util.List;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
/**

View File

@ -11,11 +11,13 @@ import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.report.ReportManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.databinding.ActivityAccettazioneOrdineInevasoBinding;
import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetBinding;
@ -110,7 +112,7 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity {
public void startListaBancaliRegistratiActivity(ArrayList<MtbColt> mtbColts){
Intent myIntent = ListaBancaliActivity.createIntent(this, mtbColts, false, PrinterRESTConsumer.Type.SECONDARIA);
Intent myIntent = ListaBancaliActivity.createIntent(this, mtbColts, false, PrinterRESTConsumer.Type.SECONDARIA, ReportManager.getRightReportNameByGestione(GestioneEnum.ACQUISTO));
this.startActivityForResult(myIntent, PICK_UL_REQUEST);
}

View File

@ -15,6 +15,7 @@ import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.dto.AccettazioneOrdineInevasoListViewModel;
@ -299,8 +300,6 @@ public class AccettazioneOrdineInevasoHelper {
BigDecimal currentQtaEvasa = item.getQtaRiservate().add(item.getQtaEvasa());
if(mtbColrs != null) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
List<MtbColr> filteredMtbColrs = Stream.of(mtbColrs)
.filter(x -> x.getNumOrd() != null)
.filter(
@ -308,7 +307,7 @@ public class AccettazioneOrdineInevasoHelper {
(x.getCodJcom() != null && x.getCodJcom().equalsIgnoreCase(item.codJcom)) &&
x.getRigaOrd() == item.rigaOrd &&
x.getNumOrd() == item.numOrd &&
x.getDataOrdS().equals(sdf.format(item.getDataOrd()))).toList();
x.getDataOrdS().equals(UtilityDate.formatDate(item.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_TIME_SLASH))).toList();
for (MtbColr mtbColr : filteredMtbColrs) {

View File

@ -1,6 +1,6 @@
package it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.core;
import it.integry.integrywmsnative.core.REST.model.Ean128Model;
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
public interface IOnOrdineAccettazioneRowDispatchCallback {

View File

@ -1,7 +1,5 @@
package it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.rest;
import android.text.TextUtils;
import com.annimon.stream.Stream;
import com.google.gson.reflect.TypeToken;
@ -10,8 +8,8 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.utility.UtilityDate;

View File

@ -12,20 +12,19 @@ import com.tfb.fbtoast.FBToast;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.REST.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.GestSetupRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.REST.model.Ean128Model;
import it.integry.integrywmsnative.core.REST.model.Ean13PesoModel;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.CommonModelConsts;
@ -203,7 +202,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
List<OrdineAccettazioneDTO.Riga> foundRows = Stream.of(groupedOrdini)
.filter(x -> x.getNumOrd() == currentMtbColr.getNumOrd() &&
x.getRigaOrd() == currentMtbColr.getRigaOrd()&&
x.getDataOrd().equals(currentMtbColr.getDataOrdD()))
x.getDataOrdD().equals(currentMtbColr.getDataOrdD()))
.toList();
*/
@ -657,7 +656,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
MtbColt cloneMtbColt = (MtbColt) getColloRef().clone();
cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE);
cloneMtbColt.setOraFinePrep(new Date());
cloneMtbColt.setOraFinePrep(UtilityDate.getDateInstance());
ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, new ISimpleOperationCallback<MtbColt>() {
@ -683,9 +682,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
return;
}
PrinterRESTConsumer.getAvailablePrinters(SettingsManager.i().userSession.depo.getCodMdep(), PrinterRESTConsumer.Type.SECONDARIA, new ISimpleOperationCallback<List<String>>() {
@Override
public void onSuccess(List<String> value) {
PrinterRESTConsumer.getAvailablePrinters(SettingsManager.i().userSession.depo.getCodMdep(), PrinterRESTConsumer.Type.SECONDARIA, value -> {
if(value.size() > 0) {
try{
@ -727,12 +724,8 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
String errorMessage = "Nessuna stampante configurata";
DialogSimpleMessageHelper.makeWarningDialog(mActivity, new SpannableString(errorMessage), null, null).show();
}
}
@Override
public void onFailed(Exception ex) {
}, ex -> {
UtilityExceptions.defaultException(mActivity, ex, progress);
}
});
}
@ -792,7 +785,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
x.getMtbAart().getCodMart().equalsIgnoreCase(currentRow.getCodMart()) &&
x.getCodJcom().equalsIgnoreCase(currentRow.getCodJcom()) &&
x.getRigaOrd() == currentRow.getRigaOrd() &&
x.getDataOrd().equals(currentRow.getDataOrdD()) &&
x.getDataOrdD().equals(currentRow.getDataOrdD()) &&
x.getNumOrd() == currentRow.getNumOrd()
)
.forEach(x -> x.setQtaRiservate(x.getQtaRiservate().add(currentRow.getQtaCol())));
@ -912,7 +905,7 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC
.setQtaCol(quantityDTO.qtaTot.getBigDecimal())
.setDescrizione(item.getDescrizioneEstesa())
.setNumOrd(item.getNumOrd())
.setDataOrd(item.getDataOrd())
.setDataOrd(item.getDataOrdD())
.setGestioneRif(gestioneRif)
.setCodJcom(item.getCodJcom())
.setRigaOrd(item.getRigaOrd());

View File

@ -8,12 +8,11 @@ import android.content.Intent;
import android.os.Bundle;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.databinding.ActivityContenutoBancaleBinding;
import it.integry.integrywmsnative.gest.contenuto_bancale.viewmodel.ContenutoBancaleViewModel;
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliActivity;
public class ContenutoBancaleActivity extends AppCompatActivity {
@ -25,9 +24,10 @@ public class ContenutoBancaleActivity extends AppCompatActivity {
private static final String MtbColtKey = "mtbColtKey";
private static final String CanRecoverUL = "canRecoverUL";
private static final String PrinterType = "printerType";
private static final String ReportName = "reportName";
}
public static Intent createIntent(Context context, MtbColt item, boolean canRecoverUl, PrinterRESTConsumer.Type printerType) {
public static Intent createIntent(Context context, MtbColt item, boolean canRecoverUl, PrinterRESTConsumer.Type printerType, String reportName) {
Intent myIntent = new Intent(context, ContenutoBancaleActivity.class);
String keyMtbColt = DataCache.addItem(item);
@ -39,9 +39,8 @@ public class ContenutoBancaleActivity extends AppCompatActivity {
String keyPrinterType = DataCache.addItem(printerType);
myIntent.putExtra(Key.PrinterType, keyPrinterType);
// myIntent.putExtra(Key.MtbColtKey, item);
// myIntent.putExtra(Key.CanRecoverUL, canRecoverUl);
// myIntent.putExtra(Key.PrinterType, printerType);
String keyReportName = DataCache.addItem(reportName);
myIntent.putExtra(Key.ReportName, keyReportName);
return myIntent;
}
@ -54,13 +53,11 @@ public class ContenutoBancaleActivity extends AppCompatActivity {
boolean canRecoverUL = DataCache.retrieveItem(getIntent().getStringExtra(Key.CanRecoverUL));
MtbColt mtbColt = DataCache.retrieveItem(getIntent().getStringExtra(Key.MtbColtKey));
String reportName = DataCache.retrieveItem(getIntent().getStringExtra(Key.ReportName));
PrinterRESTConsumer.Type mPrinterType = DataCache.retrieveItem(getIntent().getStringExtra(Key.PrinterType));
// if(getIntent().hasExtra(Key.PrinterType)) {
// mPrinterType = (PrinterRESTConsumer.Type) getIntent().getSerializableExtra(Key.PrinterType);
// } else mPrinterType = null;
mViewModel = new ContenutoBancaleViewModel(this, mtbColt, canRecoverUL, mPrinterType);
mViewModel = new ContenutoBancaleViewModel(this, mtbColt, canRecoverUL, mPrinterType, reportName);
bindings.elevatedToolbar.setNestedScrollView(bindings.scrollView);

View File

@ -9,12 +9,9 @@ import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.text.SpannableString;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.DepositoRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.DepositoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.di.BindableString;
import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked;
@ -42,13 +39,15 @@ public class ContenutoBancaleViewModel implements IRecyclerItemClicked<MtbColr>
private ContenutoBancaleListAdapter mAdapter;
private PrinterRESTConsumer.Type mPrinterType;
private String mReportName;
public ContenutoBancaleViewModel(ContenutoBancaleActivity context, MtbColt mtbColt, boolean canRecoverUL, PrinterRESTConsumer.Type printerType){
public ContenutoBancaleViewModel(ContenutoBancaleActivity context, MtbColt mtbColt, boolean canRecoverUL, PrinterRESTConsumer.Type printerType, String defaultReportName){
mContext = context;
this.mtbColt = new ObservableField<>(mtbColt);
this.isFabVisible.set(true);
this.isRecoverFabMenuVisible.set(canRecoverUL);
this.mPrinterType = printerType;
this.mReportName = defaultReportName;
mContext.bindings.setViewModel(this);
@ -102,15 +101,15 @@ public class ContenutoBancaleViewModel implements IRecyclerItemClicked<MtbColr>
final ProgressDialog progress = ProgressDialog.show(mContext, mContext.getText(R.string.waiting),
mContext.getText(R.string.loading) + " ...", true);
PrinterRESTConsumer.getAvailablePrinters(SettingsManager.i().userSession.depo.getCodMdep(), mPrinterType, new ISimpleOperationCallback<List<String>>() {
@Override
public void onSuccess(List<String> value) {
PrinterRESTConsumer.getAvailablePrinters(SettingsManager.i().userSession.depo.getCodMdep(), mPrinterType, value -> {
if(value.size() > 0) {
try {
ReportManager.getRightReportNameByGestione(mtbColt.get().getGestioneEnum(), reportName -> {
reportName = mReportName != null ? mReportName : reportName;
PrinterRESTConsumer.printCollo(value.get(0),
mtbColt.get(),
1,
@ -134,12 +133,8 @@ public class ContenutoBancaleViewModel implements IRecyclerItemClicked<MtbColr>
String errorMessage = "Nessuna stampante configurata";
DialogSimpleMessageHelper.makeWarningDialog(mContext, new SpannableString(errorMessage), null, null).show();
}
}
@Override
public void onFailed(Exception ex) {
}, ex -> {
UtilityExceptions.defaultException(mContext, ex, progress);
}
});
}

View File

@ -10,7 +10,7 @@ import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.databinding.ActivityListaBancaliBinding;
@ -23,6 +23,7 @@ public class ListaBancaliActivity extends AppCompatActivity {
private static final String MtbColtsKey = "mtbColtsKey";
private static final String CanRecoverUL = "canRecoverUL";
private static final String PrinterType = "printerType";
private static final String ReportName = "reportName";
}
public ActivityListaBancaliBinding bindings;
@ -31,11 +32,30 @@ public class ListaBancaliActivity extends AppCompatActivity {
private boolean mCanRecoverUl;
private PrinterRESTConsumer.Type mPrinterType;
private String mReportName;
private static final int PICK_UL_REQUEST = 1; // The request code
public static Intent createIntent(Context context, ArrayList<MtbColt> items, boolean canRecoverUl, PrinterRESTConsumer.Type printerType, String reportName) {
Intent myIntent = new Intent(context, ListaBancaliActivity.class);
String mtbColtsKey = DataCache.addItem(items);
myIntent.putExtra(Key.MtbColtsKey, mtbColtsKey);
String canRecoverULKey = DataCache.addItem(canRecoverUl);
myIntent.putExtra(Key.CanRecoverUL, canRecoverULKey);
String printerTypeKey = DataCache.addItem(printerType);
myIntent.putExtra(Key.PrinterType, printerTypeKey);
String reportNameKey = DataCache.addItem(reportName);
myIntent.putExtra(Key.ReportName, reportNameKey);
return myIntent;
}
public static Intent createIntent(Context context, ArrayList<MtbColt> items, boolean canRecoverUl, PrinterRESTConsumer.Type printerType) {
Intent myIntent = new Intent(context, ListaBancaliActivity.class);
@ -58,11 +78,8 @@ public class ListaBancaliActivity extends AppCompatActivity {
mCanRecoverUl = DataCache.retrieveItem(getIntent().getStringExtra(Key.CanRecoverUL));
mPrinterType = DataCache.retrieveItem(getIntent().getStringExtra(Key.PrinterType));
// if(getIntent().hasExtra(Key.PrinterType)) {
// mPrinterType = (PrinterRESTConsumer.Type) getIntent().getSerializableExtra(Key.PrinterType);
// } else mPrinterType = null;
mReportName = DataCache.retrieveItem(getIntent().getStringExtra(Key.ReportName));
List<MtbColt> mtbColts = DataCache.retrieveItem(getIntent().getStringExtra(Key.MtbColtsKey));
mViewModel = new ListaBancaliViewModel(this, mtbColts);
@ -81,7 +98,7 @@ public class ListaBancaliActivity extends AppCompatActivity {
}
public void startContenutoBancaleActivity(MtbColt item){
Intent myIntent = ContenutoBancaleActivity.createIntent(this, item, mCanRecoverUl, mPrinterType);
Intent myIntent = ContenutoBancaleActivity.createIntent(this, item, mCanRecoverUl, mPrinterType, mReportName);
startActivityForResult(myIntent, PICK_UL_REQUEST);
}

View File

@ -10,7 +10,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.interfaces.IRecyclerItemClicked;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;

View File

@ -4,10 +4,10 @@ import android.content.Context;
import android.util.Log;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.REST.RESTBuilder;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.model.EsitoType;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.rest.model.EsitoType;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.gest.login.dto.LoginAziendaDTO;
import it.integry.integrywmsnative.gest.login.dto.LoginDTO;
import it.integry.integrywmsnative.gest.login.rest.LoginRESTConsumerService;

View File

@ -1,7 +1,7 @@
package it.integry.integrywmsnative.gest.login.rest;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.gest.login.dto.LoginAziendaDTO;
import it.integry.integrywmsnative.gest.login.dto.LoginDTO;
import retrofit2.Call;

View File

@ -13,9 +13,9 @@ import java.util.List;
import it.integry.integrywmsnative.MainActivity;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.REST.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.context.MainContext;
import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.core.di.BindableString;

View File

@ -4,22 +4,14 @@ package it.integry.integrywmsnative.gest.main;
import android.content.Context;
import android.os.Bundle;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.databinding.DataBindingUtil;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.GridLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import net.cachapa.expandablelayout.ExpandableLayout;
import java.util.ArrayList;
import java.util.Iterator;
@ -27,9 +19,8 @@ import java.util.List;
import it.integry.integrywmsnative.MainActivity;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.REST.model.DistribuzioneColloDTO;
import it.integry.integrywmsnative.core.REST.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration;
import it.integry.integrywmsnative.core.class_router.ClassRouter;
import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration;
@ -46,7 +37,6 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.FragmentMainBinding;
import it.integry.integrywmsnative.databinding.FragmentMainMenuGroupLayoutBinding;
import it.integry.integrywmsnative.databinding.FragmentMainMenuItemLayoutBinding;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
/**

View File

@ -11,7 +11,6 @@ import com.tfb.fbtoast.FBToast;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
@ -25,12 +24,12 @@ import androidx.databinding.ObservableList;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.model.Ean128Model;
import it.integry.integrywmsnative.core.REST.model.Ean13PesoModel;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
@ -52,7 +51,6 @@ import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.FragmentPickingLiberoBinding;
import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoHelper;
import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoListAdapter;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
import it.integry.integrywmsnative.view.dialogs.DialogConsts;
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskCliente;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
@ -545,7 +543,7 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked<MtbColr> {
.setQtaCol(quantityDTO.qtaTot.getBigDecimal())
.setQtaCnf(quantityDTO.qtaCnf.getBigDecimal())
.setNumCnf(quantityDTO.numCnf.getBigDecimal())
.setDatetimeRow(new Date());
.setDatetimeRow(UtilityDate.getDateInstance());
onComplete.run(mtbColr);
}, onAbort).show();
@ -688,7 +686,7 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked<MtbColr> {
MtbColt cloneMtbColt = (MtbColt) this.mtbColt.get().clone();
cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE);
cloneMtbColt.setOraFinePrep(new Date());
cloneMtbColt.setOraFinePrep(UtilityDate.getDateInstance());
ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, new ISimpleOperationCallback<MtbColt>() {
@ -741,7 +739,7 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked<MtbColr> {
mtbColrToDeleteClone
.setRiga(null)
.setDatetimeRow(new Date())
.setDatetimeRow(UtilityDate.getDateInstance())
.setQtaCol(mtbColrToDeleteClone.getQtaCol().multiply(new BigDecimal(-1)))
.setOperation(CommonModelConsts.OPERATION.DELETE);

View File

@ -0,0 +1,580 @@
package it.integry.integrywmsnative.gest.picking_resi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableArrayList;
import androidx.databinding.ObservableField;
import androidx.databinding.ObservableList;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.SpannableString;
import com.annimon.stream.Stream;
import com.tfb.fbtoast.FBToast;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.CommonModelConsts;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.report.ReportManager;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.ActivityPickingResiBinding;
import it.integry.integrywmsnative.gest.picking_resi.dto.WithdrawableDtbDocr;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.rest.UltimeConsegneClienteRESTConsumer;
import it.integry.integrywmsnative.gest.picking_resi.core.PickingResiListAdapter;
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
import it.integry.integrywmsnative.view.bottomsheet.interfaces.IOnColloClosedCallback;
import it.integry.integrywmsnative.view.bottomsheet.viewmodel.ArticoliInColloBottomSheetViewModel;
import it.integry.integrywmsnative.view.dialogs.ask_should_print.DialogAskShouldPrint;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity;
import it.integry.integrywmsnative.view.dialogs.input_quantity.QuantityDTO;
import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO;
public class PickingResiActivity extends AppCompatActivity implements IOnColloClosedCallback {
private List<DocumentoResoDTO> mDocumentiResiList;
public ObservableList<WithdrawableDtbDocr> mDtbDocrList;
private final List<MtbColt> mColliRegistrati = new ArrayList<>();
private ActivityPickingResiBinding mBinding;
private ArticoliInColloBottomSheetViewModel mArticoliInColloBottomSheetViewModel;
public ObservableField<MtbColt> currentMtbColt = new ObservableField<>();
private PickingResiListAdapter mAdapter;
private int barcodeScannerIstanceID = -1;
private String mDefaultGestioneOfUL;
private String mDefaultCodAnagOfUL;
private String mDefaultCodMDepOfUL;
private Integer mDefaultSegnoOfUL;
public static void startActivity(Context context, List<DocumentoResoDTO> documentoResoDTOList, Integer segno) {
String consegneCacheKey = DataCache.addItem(documentoResoDTOList);
Intent intent = new Intent(context, PickingResiActivity.class);
intent.putExtra("key", consegneCacheKey);
intent.putExtra("segno", segno);
context.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_picking_resi);
mBinding.setViewmodel(this);
this.mDtbDocrList = new ObservableArrayList<>();
mArticoliInColloBottomSheetViewModel = new ArticoliInColloBottomSheetViewModel(this, this.mBinding.bottomSheetInclude);
mArticoliInColloBottomSheetViewModel.setOnCloseColloCallbackListener(this);
mArticoliInColloBottomSheetViewModel.setOnItemEditedCallback(this::onItemEdited);
mArticoliInColloBottomSheetViewModel.setOnItemDeletedCallback(this::onItemDeleted);
mDocumentiResiList = DataCache.retrieveItem(getIntent().getStringExtra("key"));
mDefaultSegnoOfUL = getIntent().getIntExtra("segno", +1);
this.initView();
}
@Override
public boolean onSupportNavigateUp() {
onBackPressed();
return true;
}
@Override
public void onBackPressed() {
if(mArticoliInColloBottomSheetViewModel.isExpanded()){
mArticoliInColloBottomSheetViewModel.collapse();
}
else if(thereIsAnOpenedUL()) {
mArticoliInColloBottomSheetViewModel.closeCurrentUL(() -> {
BarcodeManager.removeCallback(barcodeScannerIstanceID);
super.onBackPressed();
});
}
else {
BarcodeManager.removeCallback(barcodeScannerIstanceID);
super.onBackPressed();
}
}
private void initView() {
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
.setOnScanSuccessfull(this::onScanSuccessful)
.setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false)));
setSupportActionBar(this.mBinding.toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
this.mBinding.elevatedToolbar.setRecyclerView(this.mBinding.mainList);
ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(this);
UltimeConsegneClienteRESTConsumer.loadDocRowFromConsegna(mDocumentiResiList, dtbDocrToPick -> {
progressDialog.dismiss();
this.mDtbDocrList.addAll(dtbDocrToPick);
try {
this.initDatiPicking();
} catch (Exception ex) {
DialogSimpleMessageHelper.showSimpleErrorDialog(this, ex.getMessage());
}
this.initList();
}, ex -> {
UtilityExceptions.defaultException(this, ex, progressDialog);
});
}
private void initList() {
mAdapter = new PickingResiListAdapter(this, this.mDtbDocrList);
mAdapter.setOnItemClicked(this::onOrdineRowDispatch);
this.mBinding.mainList.setLayoutManager(new LinearLayoutManager(this));
this.mBinding.mainList.setAdapter(mAdapter);
}
private void initDatiPicking() throws Exception {
List<String> foundGestioni = Stream.of(this.mDocumentiResiList)
.map(DocumentoResoDTO::getGestione)
.distinct()
.toList();
if(foundGestioni.size() > 1) {
throw new Exception("Sono stati caricati documenti con diverse gestioni");
} else mDefaultGestioneOfUL = foundGestioni.get(0);
List<String> foundCodAnags = Stream.of(this.mDocumentiResiList)
.map(DocumentoResoDTO::getCodAnag)
.distinct()
.toList();
if(foundCodAnags.size() > 1) {
throw new Exception("Sono stati caricati documenti con diversi codici anagrafici");
} else mDefaultCodAnagOfUL = foundCodAnags.get(0);
List<String> foundCodMdeps = Stream.of(this.mDocumentiResiList)
.map(DocumentoResoDTO::getCodMdep)
.distinct()
.toList();
if(foundCodMdeps.size() > 1) {
throw new Exception("Sono stati caricati documenti con diversi codici deposito");
} else mDefaultCodMDepOfUL = foundCodMdeps.get(0);
}
private void onScanSuccessful(BarcodeScanDTO data) {
}
public void createNewUL() {
this.createNewUL(null, null, null, false, true, null);
}
public void createNewUL(Integer customNumCollo, String customSerCollo, ProgressDialog progress, boolean disablePrint, boolean closeProgress, Runnable onComplete) {
this.mBinding.mainFab.close(true);
if (progress == null){
progress = UtilityProgress.createDefaultProgressDialog(this);
}
MtbColt mtbColt = new MtbColt();
mtbColt.initDefaultFields();
mtbColt .setGestione(mDefaultGestioneOfUL)
.setSegno(mDefaultSegnoOfUL)
.setCodAnag(mDefaultCodAnagOfUL)
.setCodMdep(mDefaultCodMDepOfUL)
.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
if(customNumCollo != null) {
mtbColt.setNumCollo(customNumCollo);
}
if(!UtilityString.isNullOrEmpty(customSerCollo)) {
mtbColt.setSerCollo(customSerCollo);
}
ProgressDialog finalProgress = progress;
ColliMagazzinoRESTConsumer.saveCollo(mtbColt, value -> {
value.setDisablePrint(disablePrint);
setULToCurrentContext(value);
if(closeProgress) finalProgress.dismiss();
FBToast.successToast(this, getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
if(onComplete != null) onComplete.run();
}, ex -> {
UtilityExceptions.defaultException(this, ex, finalProgress);
});
}
private void setULToCurrentContext(MtbColt mtbColt){
if(mtbColt != null && mtbColt.getMtbColr() == null) {
mtbColt.setMtbColr(new ObservableArrayList<>());
}
this.currentMtbColt.set(mtbColt);
mArticoliInColloBottomSheetViewModel.mtbColt.set(mtbColt);
}
public void onOrdineRowDispatch(final WithdrawableDtbDocr item) {
if(currentMtbColt.get() != null){
List<MtbColr> currentMtbColrs = item.getWithdrawRows();
BigDecimal qtaEvasaTotaleInMtbColr = BigDecimal.ZERO;
for (MtbColr mtbColr : currentMtbColrs) {
qtaEvasaTotaleInMtbColr.add(mtbColr.getQtaCol());
}
BigDecimal qtaDaEvadere = item.getQtaDoc().subtract(qtaEvasaTotaleInMtbColr);
if(qtaDaEvadere.floatValue() < 0) qtaDaEvadere = BigDecimal.ZERO;
DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO()
.setBatchLot(item.getPartitaMag())
.setCodArtFor(item.getCodArtFor())
.setMtbAart(item.getMtbAart())
.setQtaDisponibile(qtaDaEvadere)
.setQtaTot(qtaDaEvadere)
.setQtaEvasa(qtaEvasaTotaleInMtbColr)
.setCanPartitaMagBeChanged(false)
.setMaxQta(qtaDaEvadere);
// if(item.getTempPickData() != null) {
// PickingObjectDTO.PickData tmpPickData = item.getTempPickData();
//
// if(!UtilityString.isNullOrEmpty(tmpPickData.getBatchLot())) {
// dto.setBatchLot(tmpPickData.getBatchLot());
// }
//
// if(tmpPickData.getDataScad() != null){
// dto.setDataScad(tmpPickData.getDataScad());
// dto.setShouldAskDataScad(true);
// }
//
// boolean useQtaDaEvadere;
//
// if(tmpPickData.getQtaTot() != null) {
// useQtaDaEvadere = qtaDaEvadere.floatValue() < tmpPickData.getQtaTot().floatValue() && item.getMtbAart().isFlagQtaCnfFissa();
// if(useQtaDaEvadere){
// dto.setQtaTot(qtaDaEvadere);
// dto.setMaxQta(qtaDaEvadere);
// } else {
// dto.setQtaTot(tmpPickData.getQtaTot());
// dto.setMaxQta(tmpPickData.getQtaTot());
// dto.setQtaCnf(tmpPickData.getQtaTot());
// }
//
//
// if (tmpPickData.getQtaCnf() != null && useQtaDaEvadere) {
// dto.setQtaCnf(tmpPickData.getQtaCnf());
// }
// }
//
//
// if(dto.getQtaTot() != null && dto.getQtaTot().floatValue() > 0 && dto.getQtaCnf() != null && dto.getQtaCnf().floatValue() > 0) {
// dto.setNumCnf(dto.getQtaTot().divide(dto.getQtaCnf()).intValue());
// }
//
//
// dto.setCanPartitaMagBeChanged(false);
// dto.setCanDataScadBeChanged(false);
//
// }
DialogInputQuantity.makeBase(this, dto, false, (quantityDTO, closeUL) -> {
onOrdineRowDispatched(item, quantityDTO, closeUL);
}, null).show();
}
}
private void onOrdineRowDispatched(WithdrawableDtbDocr item, QuantityDTO quantityDTO, boolean closeUL){
final ProgressDialog progress = UtilityProgress.createDefaultProgressDialog(this);
final MtbColr mtbColr = new MtbColr()
.setCodMart(item.getCodMart())
.setPartitaMag(UtilityString.empty2null(quantityDTO.batchLot.get()))
.setQtaCol(quantityDTO.qtaTot.getBigDecimal())
.setQtaCnf(quantityDTO.qtaCnf.getBigDecimal())
.setNumCnf(quantityDTO.numCnf.getBigDecimal())
.setDescrizione(item.getDescrizioneEstesa())
.setDatetimeRow(UtilityDate.getDateInstance())
.setNote(item.getStringKeyIdentifier());
mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
MtbColt cloneMtbColt = (MtbColt) currentMtbColt.get().clone();
cloneMtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP);
cloneMtbColt.setMtbColr(new ObservableArrayList());
cloneMtbColt.getMtbColr().add(mtbColr);
ColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, value -> {
mtbColr
.setDataCollo(value.getDataColloS())
.setNumCollo(value.getNumCollo())
.setGestione(value.getGestione())
.setSerCollo(value.getSerCollo())
.setRiga(value.getMtbColr().get(0).getRiga())
.setUntMis(item.getMtbAart().getUntMis())
.setMtbAart(item.getMtbAart());
item.getWithdrawRows().add(mtbColr);
this.refreshDtbDocrItem(item);
currentMtbColt.get().getMtbColr().add(mtbColr);
//Chiamato removeListFilter perché cosi mi cancella tutti i dati di pick temporanei
removeListFilter();
FBToast.successToast(this, this.getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT);
progress.dismiss();
// if(closeUL) onColloClosed(null);
}, ex -> {
UtilityExceptions.defaultException(this, ex, progress);
});
}
@Override
public void onColloClosed(Runnable onComplete) {
if(thereIsAnOpenedUL()) {
final ProgressDialog progress = UtilityProgress.createDefaultProgressDialog(this);
progress.show();
if(thereIsAnyRowInUL()) {
ColliMagazzinoRESTConsumer.updateDataFine(
this,
progress,
currentMtbColt.get(),
() -> printCollo(progress, currentMtbColt.get(), onComplete));
} else {
deleteCollo(progress, onComplete);
}
} else {
if(onComplete != null) onComplete.run();
}
}
private void onItemEdited(MtbColr mtbColrOriginal, MtbColr mtbColrEdited) {
for(int i = 0; i < mDtbDocrList.size(); i++) {
int foundIndex = mDtbDocrList.get(i).getWithdrawRows().indexOf(mtbColrOriginal);
if(foundIndex >= 0){
mDtbDocrList.get(i).getWithdrawRows().remove(foundIndex);
mDtbDocrList.get(i).getWithdrawRows().add(foundIndex, mtbColrEdited);
refreshDtbDocrItem(this.mDtbDocrList.get(i));
break;
}
}
}
private void onItemDeleted(MtbColr mtbColrDeleted) {
for(int i = 0; i < mDtbDocrList.size(); i++) {
int foundIndex = mDtbDocrList.get(i).getWithdrawRows().indexOf(mtbColrDeleted);
if(foundIndex >= 0){
mDtbDocrList.get(i).getWithdrawRows().remove(foundIndex);
refreshDtbDocrItem(this.mDtbDocrList.get(i));
break;
}
}
}
private void printCollo(ProgressDialog progress, MtbColt mtbColtToPrint, Runnable onComplete) {
DialogAskShouldPrint.make(this, "Packing List", shouldPrint -> {
if(shouldPrint) {
PrinterRESTConsumer.getAvailablePrinters(SettingsManager.i().userSession.depo.getCodMdep(), PrinterRESTConsumer.Type.PRIMARIA, printerList -> {
if (printerList.size() > 0) {
try {
singlePrint(mtbColtToPrint, printerList.get(0), () -> {
postCloseOperations(mtbColtToPrint, onComplete);
progress.dismiss();
}, ex -> {
progress.dismiss();
String errorMessage = ex.getMessage();
DialogSimpleMessageHelper.makeErrorDialog(
this,
new SpannableString(errorMessage),
null,
null,
R.string.button_ignore_print,
() -> postCloseOperations(mtbColtToPrint, onComplete)).show();
});
} catch (Exception ex) {
UtilityExceptions.defaultException(this, ex, progress);
postCloseOperations(mtbColtToPrint, onComplete);
}
} else {
progress.dismiss();
String errorMessage = "Nessuna stampante configurata";
DialogSimpleMessageHelper.makeWarningDialog(this, new SpannableString(errorMessage), null, () -> postCloseOperations(mtbColtToPrint, onComplete)).show();
}
}, ex -> {
UtilityExceptions.defaultException(this, ex, progress);
});
} else {
postCloseOperations(mtbColtToPrint, onComplete);
progress.dismiss();
}
}).show();
}
private void singlePrint(MtbColt mtbColtToPrint, String printerName, Runnable onComplete, RunnableArgs<Exception> onAbort) {
ReportManager.getRightReportNameByGestione(mtbColtToPrint.getGestioneEnum(), reportName -> {
PrinterRESTConsumer.printCollo(
printerName,
mtbColtToPrint,
1,
reportName, onComplete, onAbort);
}, onAbort);
}
private void postCloseOperations(MtbColt generatedMtbColt, Runnable onComplete) {
this.mColliRegistrati.add(generatedMtbColt);
setULToCurrentContext(null);
for(int i = 0; i < this.mDtbDocrList.size(); i++) {
WithdrawableDtbDocr dtbDocr = this.mDtbDocrList.get(i);
List<MtbColr> withdraws = dtbDocr.getWithdrawRows();
for(int k = 0; k < withdraws.size(); k++) {
MtbColr withdrawRow = withdraws.get(k);
dtbDocr.setQtaDoc(dtbDocr.getQtaDoc().subtract(withdrawRow.getQtaCol()));
}
dtbDocr.getWithdrawRows().clear();
if(UtilityNumber.decimalToFloat(dtbDocr.getQtaDoc()) <= 0) {
this.mDtbDocrList.remove(dtbDocr);
i--;
} else this.refreshDtbDocrItem(dtbDocr);
}
removeListFilter();
if(onComplete != null) onComplete.run();
}
private void deleteCollo(ProgressDialog progress, Runnable onComplete) {
ColliMagazzinoRESTConsumer.deleteCollo(currentMtbColt.get(), () -> {
setULToCurrentContext(null);
progress.dismiss();
if(onComplete != null) onComplete.run();
}, ex -> UtilityExceptions.defaultException(this, ex, progress)
);
}
public boolean thereIsAnOpenedUL() {
return currentMtbColt.get() != null;
}
public boolean thereIsAnyRowInUL() {
return currentMtbColt.get() != null &&
currentMtbColt.get().getMtbColr() != null &&
currentMtbColt.get().getMtbColr().size() > 0;
}
private void refreshDtbDocrItem(WithdrawableDtbDocr dtbDocr) {
int index = this.mDtbDocrList.indexOf(dtbDocr);
this.mDtbDocrList.remove(dtbDocr);
this.mDtbDocrList.add(index, dtbDocr);
}
public void applyFilter(String descriptionText) {
// this.mBindings.filteredArtsInListExpandableLayout.expand(true);
//
// this.mBindings.descriptionFilterText.setText(descriptionText);
}
public void removeListFilter() {
// for(int i = 0; i < mPickingList.size(); i++) {
// mPickingList.get(i).setTempHidden(false);
// mPickingList.get(i).setTempPickData(null);
// }
//
// refreshOrderBy(false);
// this.mBindings.filteredArtsInListExpandableLayout.collapse(true);
}
}

View File

@ -0,0 +1,184 @@
package it.integry.integrywmsnative.gest.picking_resi.core;
import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableList;
import androidx.recyclerview.widget.RecyclerView;
import com.annimon.stream.Stream;
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.DtbDocr;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.UltimeConsegneMainListItemBinding;
import it.integry.integrywmsnative.databinding.UltimeConsegneMainListItemHeaderBinding;
import it.integry.integrywmsnative.gest.picking_resi.dto.WithdrawableDtbDocr;
public class PickingResiListAdapter extends SectionedRecyclerViewAdapter<PickingResiListAdapter.SubheaderHolder, PickingResiListAdapter.SingleItemViewHolder> {
private Context mContext;
private List<WithdrawableDtbDocr> mDataset;
private RunnableArgs<WithdrawableDtbDocr> mOnItemClicked;
static class SubheaderHolder extends RecyclerView.ViewHolder {
UltimeConsegneMainListItemHeaderBinding mBinding;
SubheaderHolder(UltimeConsegneMainListItemHeaderBinding binding) {
super(binding.getRoot());
this.mBinding = binding;
}
}
static class SingleItemViewHolder extends RecyclerView.ViewHolder {
UltimeConsegneMainListItemBinding mBinding;
SingleItemViewHolder(UltimeConsegneMainListItemBinding binding) {
super(binding.getRoot());
this.mBinding = binding;
}
}
public PickingResiListAdapter(Context context, ObservableList<WithdrawableDtbDocr> data) {
this.mContext = context;
this.mDataset = new ArrayList<>();
refreshData(data);
data.addOnListChangedCallback(new ObservableList.OnListChangedCallback<ObservableList<WithdrawableDtbDocr>>() {
@Override
public void onChanged(ObservableList<WithdrawableDtbDocr> sender) {
refreshData(sender);
}
@Override
public void onItemRangeChanged(ObservableList<WithdrawableDtbDocr> sender, int positionStart, int itemCount) {
refreshData(sender);
}
@Override
public void onItemRangeInserted(ObservableList<WithdrawableDtbDocr> sender, int positionStart, int itemCount) {
refreshData(sender);
}
@Override
public void onItemRangeMoved(ObservableList<WithdrawableDtbDocr> sender, int fromPosition, int toPosition, int itemCount) {
refreshData(sender);
}
@Override
public void onItemRangeRemoved(ObservableList<WithdrawableDtbDocr> sender, int positionStart, int itemCount) {
refreshData(sender);
}
});
}
private void refreshData(List<WithdrawableDtbDocr> data) {
this.mDataset.clear();
this.mDataset.addAll(Stream.of(data)
.sortBy(x -> x.getNumDoc() + " " + x.getDataDocS() + " " + x.getCodDtip() + " " + x.getSerDoc() + " " + x.getCodAnag() + " " + x.getIdRiga())
.toList());
this.notifyDataChanged();
}
public void setOnItemClicked(RunnableArgs<WithdrawableDtbDocr> onItemClicked) {
this.mOnItemClicked = onItemClicked;
}
@Override
public SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) {
UltimeConsegneMainListItemBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.ultime_consegne_main_list__item, parent, false);
return new SingleItemViewHolder(binding);
}
@Override
public SubheaderHolder onCreateSubheaderViewHolder(ViewGroup parent, int viewType) {
UltimeConsegneMainListItemHeaderBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.ultime_consegne_main_list__item_header, parent, false);
return new SubheaderHolder(binding);
}
@Override
public void onBindItemViewHolder(final SingleItemViewHolder holder, final int position) {
final WithdrawableDtbDocr dtbDocr = this.mDataset.get(position);
BigDecimal qtaEvasa = BigDecimal.ZERO;
for(MtbColr mtbColr : dtbDocr.getWithdrawRows()) {
qtaEvasa = qtaEvasa.add(mtbColr.getQtaCol());
}
Float qtaDaEvadere = UtilityNumber.decimalToFloat(dtbDocr.getQtaDoc().subtract(qtaEvasa));
holder.mBinding.badge1.setText(dtbDocr.getCodMart());
holder.mBinding.qtaEvasa.setText(UtilityNumber.decimalToString(qtaEvasa));
holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(dtbDocr.getQtaDoc()));
holder.mBinding.descrizione.setText(UtilityString.isNullOrEmpty(dtbDocr.getDescrizioneEstesa()) ? dtbDocr.getDescrizioneEstesa() : dtbDocr.getDescrizione());
if (qtaDaEvadere <= 0 ) {
holder.mBinding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.green_500_with_alpha));
} else if (qtaDaEvadere > 0 && qtaEvasa.floatValue() > 0) {
holder.mBinding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.orange_600_with_alpha));
} else {
holder.mBinding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.full_white));
}
holder.mBinding.getRoot().setOnClickListener(v -> {
if(this.mOnItemClicked != null) this.mOnItemClicked.run(dtbDocr);
});
}
@Override
public void onBindSubheaderViewHolder(SubheaderHolder subheaderHolder, int nextItemPosition) {
DtbDocr nextDtbDocr = this.mDataset.get(nextItemPosition);
subheaderHolder.mBinding.descrizione.setText(nextDtbDocr.getCodDtip() + " - N° " + nextDtbDocr.getNumDoc() + " del " + UtilityDate.formatDate(nextDtbDocr.getDataDocD(), UtilityDate.COMMONS_DATE_FORMATS.DM_HUMAN));
}
@Override
public boolean onPlaceSubheaderBetweenItems(int position) {
DtbDocr compare1 = this.mDataset.get(position);
DtbDocr compare2 = this.mDataset.get(position + 1);
if( !compare1.getDataDocS().equalsIgnoreCase(compare2.getDataDocS()) ||
!compare1.getSerDoc().equalsIgnoreCase(compare2.getSerDoc()) ||
!compare1.getNumDoc().equals(compare2.getNumDoc()) ||
!compare1.getCodAnag().equalsIgnoreCase(compare2.getCodAnag()) ||
!compare1.getCodDtip().equalsIgnoreCase(compare2.getCodDtip())) {
return true;
}
return false;
}
@Override
public int getItemSize() {
return this.mDataset.size();
}
}

View File

@ -0,0 +1,25 @@
package it.integry.integrywmsnative.gest.picking_resi.dto;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.core.model.DtbDocr;
import it.integry.integrywmsnative.core.model.MtbColr;
public class WithdrawableDtbDocr extends DtbDocr {
private List<MtbColr> withdrawRows = new ArrayList<>();
public WithdrawableDtbDocr() {
super();
}
public List<MtbColr> getWithdrawRows() {
return withdrawRows;
}
public WithdrawableDtbDocr setWithdrawRows(List<MtbColr> withdrawRows) {
this.withdrawRows = withdrawRows;
return this;
}
}

View File

@ -23,7 +23,7 @@ import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.CommonRESTException;
import it.integry.integrywmsnative.core.rest.CommonRESTException;
import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
@ -36,7 +36,6 @@ import it.integry.integrywmsnative.core.utility.UtilityToast;
import it.integry.integrywmsnative.databinding.FragmentProdOrdineLavorazioneElencoBinding;
import it.integry.integrywmsnative.gest.prod_ord_lavorazione.core.ProdOrdineLavorazioneHelper;
import it.integry.integrywmsnative.gest.prod_ord_lavorazione.core.ProdOrdineLavorazioneListAdapter;
import it.integry.integrywmsnative.gest.vendita.core.MainListVenditaAdapter;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.VenditaOrdineInevasoActivity;

View File

@ -12,11 +12,11 @@ import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.core.REST.RESTBuilder;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.REST.model.EsitoType;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.EsitoType;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.settings.SettingsManager;
@ -24,7 +24,6 @@ import it.integry.integrywmsnative.core.utility.UtilityDB;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityFirebase;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.gest.vendita.core.VenditaHelper;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita.rest.OrdiniVenditaRESTConsumerService;

View File

@ -25,12 +25,11 @@ import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.CommonRESTException;
import it.integry.integrywmsnative.core.rest.CommonRESTException;
import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
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.databinding.FragmentProdOrdineProduzioneElencoBinding;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;

View File

@ -8,9 +8,9 @@ import com.annimon.stream.Stream;
import java.util.List;
import it.integry.integrywmsnative.core.REST.RESTBuilder;
import it.integry.integrywmsnative.core.REST.model.EsitoType;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.model.EsitoType;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityLogger;

View File

@ -8,10 +8,9 @@ import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.gest.prod_recupero_materiale.dto.HistoryVersamentoProdUL;
public class ProdRecuperoMaterialeHelper {

View File

@ -7,10 +7,8 @@ import android.text.SpannableString;
import androidx.databinding.ObservableField;
import java.util.Objects;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
import it.integry.integrywmsnative.core.model.MtbColt;

View File

@ -2,15 +2,14 @@ package it.integry.integrywmsnative.gest.rettifica_giacenze.core;
import android.app.ProgressDialog;
import android.content.Context;
import androidx.databinding.ObservableArrayList;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.ArrayList;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbAartWithFornitore;

View File

@ -20,18 +20,17 @@ import com.tfb.fbtoast.FBToast;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.CommonRESTException;
import it.integry.integrywmsnative.core.REST.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.REST.model.Ean128Model;
import it.integry.integrywmsnative.core.rest.CommonRESTException;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
@ -623,7 +622,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
mtbColrToEditClone
.setRiga(null)
.setDatetimeRow(new Date())
.setDatetimeRow(UtilityDate.getDateInstance())
.setQtaCol(value.qtaTot.getBigDecimal().subtract(mtbColrToEditClone.getQtaCol()))
.setOperation(CommonModelConsts.OPERATION.INSERT);
@ -658,7 +657,7 @@ public class RettificaGiacenzeViewModel implements IRecyclerItemClicked<MtbColr>
mtbColrToDeleteClone
.setRiga(null)
.setDatetimeRow(new Date())
.setDatetimeRow(UtilityDate.getDateInstance())
.setQtaCol(mtbColrToDeleteClone.getQtaCol().multiply(new BigDecimal(-1)))
.setOperation(CommonModelConsts.OPERATION.INSERT);

View File

@ -3,7 +3,6 @@ package it.integry.integrywmsnative.gest.settings;
import android.content.Context;
import android.os.Bundle;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.preference.CheckBoxPreference;
import androidx.preference.EditTextPreference;
@ -17,8 +16,8 @@ import android.util.TypedValue;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.settings.SharedPrefKeys;
import it.integry.integrywmsnative.core.utility.UtilityArray;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;

View File

@ -1,48 +0,0 @@
package it.integry.integrywmsnative.gest.ultime_consegne_cliente.dto;
import androidx.databinding.Observable;
import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.gest.vendita.rest.model.ConsegnaClienteDTO;
public class CheckableConsegnaClienteDTO {
private ConsegnaClienteDTO mItem;
private BindableBoolean checked = new BindableBoolean(false);
public CheckableConsegnaClienteDTO(ConsegnaClienteDTO item) {
this.mItem = item;
}
public ConsegnaClienteDTO getItem() {
return mItem;
}
public CheckableConsegnaClienteDTO setItem(ConsegnaClienteDTO item) {
this.mItem = item;
return this;
}
public BindableBoolean getChecked() {
return checked;
}
public boolean isChecked() {
return checked.get();
}
public CheckableConsegnaClienteDTO setChecked(BindableBoolean checked) {
this.checked = checked;
return this;
}
public CheckableConsegnaClienteDTO setCheckedValue(boolean value) {
this.checked.set(value);
return this;
}
public void toggleCheck() {
this.checked.set(!this.checked.get());
}
}

View File

@ -1,21 +1,26 @@
package it.integry.integrywmsnative.gest.ultime_consegne_cliente.rest;
import com.annimon.stream.Stream;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.DtbDocr;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.utility.UtilityDB;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.vendita.rest.model.ConsegnaClienteDTO;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.gest.picking_resi.dto.WithdrawableDtbDocr;
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
public class UltimeConsegneClienteRESTConsumer {
public static void getUltimeConsegneClienti(String codMdep, String codAnag, String codMart, RunnableArgs<ArrayList<ConsegnaClienteDTO>> onComplete, RunnableArgs<Exception> onFailed) {
public static void getUltimeConsegneClienti(String codMdep, String codAnag, String codMart, RunnableArgs<ArrayList<DocumentoResoDTO>> onComplete, RunnableArgs<Exception> onFailed) {
int numberOfConsegnePerCli = 10;
int numberOfDayToAnalyze = 90;
@ -33,10 +38,10 @@ public class UltimeConsegneClienteRESTConsumer {
" counter_consegna ";
Type typeOfObjectsList = new TypeToken<ArrayList<ConsegnaClienteDTO>>() {}.getType();
SystemRESTConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<ConsegnaClienteDTO>>() {
Type typeOfObjectsList = new TypeToken<ArrayList<DocumentoResoDTO>>() {}.getType();
SystemRESTConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<DocumentoResoDTO>>() {
@Override
public void onSuccess(ArrayList<ConsegnaClienteDTO> value) {
public void onSuccess(ArrayList<DocumentoResoDTO> value) {
if(onComplete != null) onComplete.run(value);
}
@ -48,4 +53,146 @@ public class UltimeConsegneClienteRESTConsumer {
}
public static void loadDocRowFromConsegna(List<DocumentoResoDTO> consegne, RunnableArgs<ArrayList<WithdrawableDtbDocr>> onComplete, RunnableArgs<Exception> onFailed) {
StringBuilder sbWhereCond = new StringBuilder();
for(int i = 0; i < consegne.size(); i++) {
sbWhereCond.append(String.format("(data_doc = '%s' AND num_doc = %d AND ser_doc = '%s' AND cod_anag = '%s' AND cod_dtip = '%s')",
UtilityDate.formatDate(consegne.get(i).getDataDocD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH),
consegne.get(i).getNumDoc(),
consegne.get(i).getSerDoc(),
consegne.get(i).getCodAnag(),
consegne.get(i).getCodDtip()));
if(i < consegne.size()-1) sbWhereCond.append(" OR ");
}
String sql = "SELECT dtb_docr.[cod_anag]" +
" ,dtb_docr.[cod_dtip]" +
" ,dtb_docr.[data_doc]" +
" ,dtb_docr.[ser_doc]" +
" ,dtb_docr.[num_doc]" +
" ,dtb_docr.[id_riga]" +
" ,dtb_docr.[cod_mart]" +
" ,dtb_docr.[descrizione]" +
" ,dtb_docr.[unt_doc]" +
" ,dtb_docr.[rap_conv]" +
" ,dtb_docr.[qta_doc] - ISNULL(mtb_colr.qta_col, 0) as qta_doc" +
" ,dtb_docr.[val_unt]" +
" ,dtb_docr.[sconto5]" +
" ,dtb_docr.[sconto6]" +
" ,dtb_docr.[sconto7]" +
" ,dtb_docr.[sconto8]" +
" ,dtb_docr.[cod_aliq]" +
" ,dtb_docr.[perc_prov]" +
" ,dtb_docr.[val_prov]" +
" ,dtb_docr.[data_ord]" +
" ,dtb_docr.[num_ord]" +
" ,dtb_docr.[riga_ord]" +
" ,dtb_docr.[importo_riga]" +
" ,dtb_docr.[cod_col]" +
" ,dtb_docr.[cod_tagl]" +
" ,dtb_docr.[cod_jcom]" +
" ,dtb_docr.[cod_mdep]" +
" ,dtb_docr.[perc_gest]" +
" ,dtb_docr.[val_gest]" +
" ,dtb_docr.[partita_mag]" +
" ,dtb_docr.[val_unt_iva]" +
" ,dtb_docr.[qta_cnf]" +
" ,dtb_docr.[descrizione_estesa]" +
" ,dtb_docr.[costo_unt]" +
" ,dtb_docr.[perc_ispe]" +
" ,dtb_docr.[val_ispe]" +
" ,dtb_docr.[perc_promo]" +
" ,dtb_docr.[val_promo]" +
" ,dtb_docr.[perc_oneri]" +
" ,dtb_docr.[val_oneri]" +
" ,dtb_docr.[flag_evaso_forzato]" +
" ,dtb_docr.[cod_dtip_comp]" +
" ,dtb_docr.[data_doc_comp]" +
" ,dtb_docr.[ser_doc_comp]" +
" ,dtb_docr.[num_doc_comp]" +
" ,dtb_docr.[cod_promo]" +
" ,dtb_docr.[perc_prov2]" +
" ,dtb_docr.[val_prov2]" +
" ,dtb_docr.[cod_art_for]" +
" ,dtb_docr.[unt_doc2]" +
" ,dtb_docr.[qta_doc2]" +
" ,dtb_docr.[unt_doc3]" +
" ,dtb_docr.[qta_doc3]" +
" ,dtb_docr.[num_cnf]" +
" ,dtb_docr.[peso_lordo]" +
" ,dtb_docr.[posizione]" +
" ,dtb_docr.[cod_anag_comp]" +
" ,dtb_docr.[cod_mtip]" +
" ,dtb_docr.[matricola]" +
" ,dtb_docr.[data_iniz_comp]" +
" ,dtb_docr.[data_fine_comp]" +
" ,dtb_docr.[cod_kit]" +
" ,dtb_docr.[cod_alis]" +
" ,dtb_docr.[data_ins_row]" +
" ,dtb_docr.[note] " +
"FROM dtb_docr " +
"INNER JOIN mtb_aart ON dtb_docr.cod_mart = mtb_aart.cod_mart " +
"LEFT OUTER JOIN ctb_cont ON mtb_aart.cod_ccon_ricavi = ctb_cont.cod_ccon " +
"LEFT OUTER JOIN ctb_grup ON ctb_cont.cod_cgrp = ctb_grup.cod_cgrp " +
"LEFT OUTER JOIN mtb_colr ON " +
" dtb_docr.cod_anag + '|' + dtb_docr.cod_dtip + '|' + dtb_docr.ser_doc + '|' + CONVERT(varchar(10), dtb_docr.data_doc , 111) + '|' + CONVERT(varchar(20), dtb_docr.num_doc) + '|' + CONVERT(varchar(20), dtb_docr.id_riga) = mtb_colr.note " +
"WHERE " +
" (ctb_grup.sezione <> 1 OR ctb_grup.sezione IS NULL) AND " +
" dtb_docr.[qta_doc] - ISNULL(mtb_colr.qta_col, 0) > 0 AND" +
" ( " +
sbWhereCond.toString() +
" ) " +
"ORDER BY cod_mart";
Type typeOfObjectsList = new TypeToken<ArrayList<WithdrawableDtbDocr>>() {}.getType();
SystemRESTConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<WithdrawableDtbDocr>>() {
@Override
public void onSuccess(ArrayList<WithdrawableDtbDocr> values) {
if(values != null && values.size() > 0){
List<String> codMarts = Stream.of(values)
.map(DtbDocr::getCodMart)
.withoutNulls()
.distinct()
.toList();
ArticoloRESTConsumer.getByCodMart(codMarts, arts -> {
if(arts != null && arts.size() > 0) {
for (DtbDocr value : values) {
MtbAart foundMtbAart = null;
List<MtbAart> mtbAartStream = Stream.of(arts)
.filter(x -> x.getCodMart().equalsIgnoreCase(value.getCodMart())).toList();
if(mtbAartStream != null && mtbAartStream.size() > 0){
foundMtbAart = mtbAartStream.get(0);
}
value.setMtbAart(foundMtbAart);
}
if(onComplete != null) onComplete.run(values);
}
}, onFailed);
} else {
if(onComplete != null) onComplete.run(values);
}
}
@Override
public void onFailed(Exception ex) {
if(onFailed != null) onFailed.run(ex);
}
});
}
}

View File

@ -2,11 +2,11 @@ package it.integry.integrywmsnative.gest.ultime_consegne_cliente.viewmodel;
import android.app.ProgressDialog;
import android.content.Context;
import android.widget.Toast;
import androidx.databinding.ObservableArrayList;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.annimon.stream.Stream;
import java.util.ArrayList;
import java.util.List;
@ -15,18 +15,26 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteBinding;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.rest.UltimeConsegneClienteRESTConsumer;
import it.integry.integrywmsnative.gest.vendita.rest.model.ConsegnaClienteDTO;
import it.integry.integrywmsnative.gest.picking_resi.PickingResiActivity;
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
public class UltimeConsegneClienteViewModel {
private Context mContext;
private FragmentMainUltimeConsegneClienteBinding mBinding;
private List<DocumentoResoDTO> mItems;
public UltimeConsegneClienteViewModel(Context context, FragmentMainUltimeConsegneClienteBinding binding) {
this.mContext = context;
this.mBinding = binding;
this.initList();
this.mBinding.mainFab.hide();
this.mBinding.mainFab.setOnClickListener(v -> {
dispatchConsegne();
});
}
@ -39,6 +47,7 @@ public class UltimeConsegneClienteViewModel {
null,
null,
consegne -> {
this.mItems = consegne;
this.initDataAdapter(consegne);
progressDialog.dismiss();
@ -47,21 +56,47 @@ public class UltimeConsegneClienteViewModel {
});
}
private void initDataAdapter(ArrayList<ConsegnaClienteDTO> dataset) {
private void initDataAdapter(ArrayList<DocumentoResoDTO> dataset) {
UltimeConsegneMainListAdapter adapter = new UltimeConsegneMainListAdapter(mContext, dataset);
adapter.setOnItemClickListener(consegna -> {
Toast.makeText(mContext, String.format("Selezionato doc n° %d del %s", consegna.getNumDoc(), consegna.getDataDocS()), Toast.LENGTH_SHORT).show();
});
adapter.setOnSelectionChanged(this::onSingleSelectionChanged);
mBinding.recyclerView.setHasFixedSize(true);
mBinding.recyclerView.setLayoutManager(new LinearLayoutManager(mContext));
mBinding.recyclerView.setAdapter(adapter);
mBinding.fastscroll.setRecyclerView(mBinding.recyclerView);
}
private void onSingleSelectionChanged(DocumentoResoDTO dto) {
List<DocumentoResoDTO> selectedOrders = getSelectedItems();
if(dto.isSelected()) {
Stream.of(selectedOrders)
.filter(x -> !x.getRagSoc().equalsIgnoreCase(dto.getRagSoc()))
.forEach(x -> x.setSelected(false));
}
if(selectedOrders != null && selectedOrders.size() > 0) {
mBinding.mainFab.show();
}
else {
mBinding.mainFab.hide();
}
}
private List<DocumentoResoDTO> getSelectedItems() {
return Stream.of(this.mItems)
.filter(DocumentoResoDTO::isSelected)
.toList();
}
private void dispatchConsegne() {
List<DocumentoResoDTO> selectedConsegne = getSelectedItems();
PickingResiActivity.startActivity(mContext, selectedConsegne, +1);
}
}

View File

@ -16,27 +16,25 @@ import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.TimeZone;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteListHeaderBinding;
import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteListSingleItemBinding;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.dto.CheckableConsegnaClienteDTO;
import it.integry.integrywmsnative.gest.vendita.rest.model.ConsegnaClienteDTO;
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
import it.integry.integrywmsnative.ui.fastscroll.SectionTitleProvider;
public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter<UltimeConsegneMainListAdapter.SubheaderHolder, UltimeConsegneMainListAdapter.SingleItemViewHolder> implements SectionTitleProvider {
private Context mContext;
private List<ConsegnaClienteDTO> mDataset;
private List<DocumentoResoDTO> mDataset;
private ArrayList<String> mSectionTitleItems;
private OnItemClickListener onItemClickListener;
private RunnableArgs<DocumentoResoDTO> mOnSelectionChanged;
private TextDrawable.IShapeBuilder smallIconBuilder;
private TextDrawable.IShapeBuilder mediumIconBuilder;
@ -48,11 +46,6 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter<
}
public interface OnItemClickListener {
void onItemClicked(ConsegnaClienteDTO consegna);
}
static class SubheaderHolder extends RecyclerView.ViewHolder {
FragmentMainUltimeConsegneClienteListHeaderBinding mBinding;
@ -77,19 +70,19 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter<
public UltimeConsegneMainListAdapter(Context context, ArrayList<ConsegnaClienteDTO> dataset) {
public UltimeConsegneMainListAdapter(Context context, ArrayList<DocumentoResoDTO> dataset) {
super();
this.mContext = context;
this.mDataset = new ArrayList<>();
this.mSectionTitleItems = new ArrayList<>();
this.mDataset = Stream.of(dataset)
.sortBy(ConsegnaClienteDTO::getRagSoc)
.sortBy(DocumentoResoDTO::getRagSoc)
.toList();
Stream.of(mDataset)
.map(ConsegnaClienteDTO::getRagSoc)
.map(DocumentoResoDTO::getRagSoc)
.distinct()
.forEach(x -> {
this.mSectionTitleItems.add(String.valueOf(x.charAt(0)));
@ -148,7 +141,9 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter<
@Override
public void onBindItemViewHolder(final SingleItemViewHolder holder, final int position) {
final ConsegnaClienteDTO consegna = this.mDataset.get(position);
final DocumentoResoDTO consegna = this.mDataset.get(position);
holder.mBinding.setConsegna(consegna);
holder.mBinding.descriptionMain.setText(UtilityString.isNullOrEmpty(consegna.getIndirizzo()) ? "" : consegna.getIndirizzo());
@ -167,8 +162,8 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter<
}
try {
Calendar calendarNow = Calendar.getInstance(TimeZone.getDefault());
Calendar calendarDataDoc = Calendar.getInstance(TimeZone.getDefault());
Calendar calendarNow = UtilityDate.getCalendarInstance();
Calendar calendarDataDoc = UtilityDate.getCalendarInstance();
calendarDataDoc.setTime(consegna.getDataDocD());
String dataDocString = "";
@ -188,9 +183,13 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter<
UtilityExceptions.defaultException(mContext, ex);
}
holder.mBinding.getRoot().setOnClickListener(l -> {
if(onItemClickListener != null) onItemClickListener.onItemClicked(consegna);
holder.mBinding.getRoot().setOnClickListener(v -> {
consegna.setSelected(!consegna.isSelected());
if(this.mOnSelectionChanged != null) mOnSelectionChanged.run(consegna);
});
}
@Override
@ -214,8 +213,8 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter<
}
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
this.onItemClickListener = onItemClickListener;
public void setOnSelectionChanged(RunnableArgs<DocumentoResoDTO> mSelectionChanged) {
this.mOnSelectionChanged = mSelectionChanged;
}
}

View File

@ -0,0 +1,169 @@
package it.integry.integrywmsnative.gest.ultime_consegne_fornitore;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.Bundle;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.databinding.DataBindingUtil;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.annimon.stream.Stream;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
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.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.databinding.FragmentUltimeConsegneFornitoreBinding;
import it.integry.integrywmsnative.gest.picking_resi.PickingResiActivity;
import it.integry.integrywmsnative.gest.ultime_consegne_fornitore.core.UltimeConsegneFornitoreListAdapter;
import it.integry.integrywmsnative.gest.ultime_consegne_fornitore.rest.UltimeConsegneFornitoreRESTConsumer;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
/**
* A simple {@link Fragment} subclass.
*/
public class UltimeConsegneFornitoreFragment extends Fragment implements ITitledFragment, IScrollableFragment {
private Runnable mOnPreDestroy;
private ElevatedToolbar mToolbar;
private FragmentUltimeConsegneFornitoreBinding mBinding;
private List<DocumentoResoDTO> mItems;
public UltimeConsegneFornitoreFragment() {
// Required empty public constructor
}
public static UltimeConsegneFornitoreFragment newInstance() {
UltimeConsegneFornitoreFragment fragment = new UltimeConsegneFornitoreFragment();
Bundle args = new Bundle();
fragment.setArguments(args);
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
mBinding = DataBindingUtil.inflate(LayoutInflater.from(getActivity()), R.layout.fragment_ultime_consegne_fornitore, container, false);
mBinding.setViewmodel(this);
mToolbar.setRecyclerView(mBinding.recyclerView);
this.initView();
// Inflate the layout for this fragment
return mBinding.getRoot();
}
@Override
public void onDestroy() {
if(mOnPreDestroy != null) mOnPreDestroy.run();
super.onDestroy();
}
@Override
public void onCreateActionBar(AppCompatTextView titleText, Context context) {
titleText.setText(context.getText(R.string.fragment_ultime_consegne_fornitore_title).toString());
}
@Override
public void setScrollToolbar(ElevatedToolbar toolbar) {
mToolbar = toolbar;
}
@Override
public void setOnPreDestroy(Runnable onPreDestroy) {
mOnPreDestroy = onPreDestroy;
}
private void initView() {
this.initList();
this.mBinding.mainFab.hide();
this.mBinding.mainFab.setOnClickListener(v -> {
dispatchConsegne();
});
}
private void initList() {
ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(getActivity());
UltimeConsegneFornitoreRESTConsumer.getUltimeConsegneFornitori(
SettingsManager.i().userSession.depo.getCodMdep(),
null,
null,
consegne -> {
this.mItems = consegne;
this.initDataAdapter(consegne);
progressDialog.dismiss();
}, ex -> {
UtilityExceptions.defaultException(getActivity(), ex, progressDialog);
});
}
private void initDataAdapter(ArrayList<DocumentoResoDTO> dataset) {
UltimeConsegneFornitoreListAdapter adapter = new UltimeConsegneFornitoreListAdapter(getActivity(), dataset);
adapter.setOnSelectionChanged(this::onSingleSelectionChanged);
mBinding.recyclerView.setHasFixedSize(true);
mBinding.recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
mBinding.recyclerView.setAdapter(adapter);
mBinding.fastscroll.setRecyclerView(mBinding.recyclerView);
}
private void onSingleSelectionChanged(DocumentoResoDTO dto) {
List<DocumentoResoDTO> selectedOrders = getSelectedItems();
if(dto.isSelected()) {
Stream.of(selectedOrders)
.filter(x -> !x.getRagSoc().equalsIgnoreCase(dto.getRagSoc()))
.forEach(x -> x.setSelected(false));
}
if(selectedOrders != null && selectedOrders.size() > 0) {
mBinding.mainFab.show();
}
else {
mBinding.mainFab.hide();
}
}
private List<DocumentoResoDTO> getSelectedItems() {
return Stream.of(this.mItems)
.filter(DocumentoResoDTO::isSelected)
.toList();
}
private void dispatchConsegne() {
List<DocumentoResoDTO> selectedConsegne = getSelectedItems();
PickingResiActivity.startActivity(getActivity(), selectedConsegne, -1);
}
}

View File

@ -0,0 +1,182 @@
package it.integry.integrywmsnative.gest.ultime_consegne_fornitore.core;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.core.content.ContextCompat;
import androidx.core.content.res.ResourcesCompat;
import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.RecyclerView;
import com.amulyakhare.textdrawable.TextDrawable;
import com.annimon.stream.Stream;
import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.FragmentUltimeConsegneFornitoreListHeaderBinding;
import it.integry.integrywmsnative.databinding.FragmentUltimeConsegneFornitoreListSingleItemBinding;
import it.integry.integrywmsnative.ui.fastscroll.SectionTitleProvider;
public class UltimeConsegneFornitoreListAdapter extends SectionedRecyclerViewAdapter<UltimeConsegneFornitoreListAdapter.SubheaderHolder, UltimeConsegneFornitoreListAdapter.SingleItemViewHolder> implements SectionTitleProvider {
private Context mContext;
private List<DocumentoResoDTO> mDataset;
private ArrayList<String> mSectionTitleItems;
private RunnableArgs<DocumentoResoDTO> mOnSelectionChanged;
@Override
public String getSectionTitle(int position) {
return mSectionTitleItems.get(position);
}
static class SubheaderHolder extends RecyclerView.ViewHolder {
FragmentUltimeConsegneFornitoreListHeaderBinding mBinding;
SubheaderHolder(FragmentUltimeConsegneFornitoreListHeaderBinding binding) {
super(binding.getRoot());
this.mBinding = binding;
}
}
static class SingleItemViewHolder extends RecyclerView.ViewHolder {
FragmentUltimeConsegneFornitoreListSingleItemBinding mBinding;
SingleItemViewHolder(FragmentUltimeConsegneFornitoreListSingleItemBinding binding) {
super(binding.getRoot());
this.mBinding = binding;
}
}
public UltimeConsegneFornitoreListAdapter(Context context, ArrayList<DocumentoResoDTO> dataset) {
super();
this.mContext = context;
this.mDataset = new ArrayList<>();
this.mSectionTitleItems = new ArrayList<>();
this.mDataset = Stream.of(dataset)
.sortBy(DocumentoResoDTO::getRagSoc)
.toList();
Stream.of(mDataset)
.map(DocumentoResoDTO::getRagSoc)
.distinct()
.forEach(x -> {
this.mSectionTitleItems.add(String.valueOf(x.charAt(0)));
long count = Stream.of(dataset)
.filter(y -> y.getRagSoc().equalsIgnoreCase(x))
.count();
for(int i = 0; i < count; i++) this.mSectionTitleItems.add(String.valueOf(x.charAt(0)));
});
long count = Stream.of(dataset)
.filter(x -> UtilityString.isNullOrEmpty(x.getRagSoc()))
.count();
}
@Override
public SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) {
FragmentUltimeConsegneFornitoreListSingleItemBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.fragment_ultime_consegne_fornitore__list_single_item, parent, false);
return new SingleItemViewHolder(binding);
}
@Override
public SubheaderHolder onCreateSubheaderViewHolder(ViewGroup parent, int viewType) {
FragmentUltimeConsegneFornitoreListHeaderBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.fragment_ultime_consegne_fornitore__list_header, parent, false);
return new SubheaderHolder(binding);
}
@Override
public void onBindItemViewHolder(final SingleItemViewHolder holder, final int position) {
final DocumentoResoDTO consegna = this.mDataset.get(position);
holder.mBinding.setConsegna(consegna);
holder.mBinding.descriptionMain.setText(UtilityString.isNullOrEmpty(consegna.getRifOrd()) ? "" : consegna.getRifOrd());
String numDoc = "" + consegna.getNumDoc();
holder.mBinding.badge1.setText(numDoc);
try {
Calendar calendarNow = UtilityDate.getCalendarInstance();
Calendar calendarDataDoc = UtilityDate.getCalendarInstance();
calendarDataDoc.setTime(consegna.getDataDocD());
String dataDocString = "";
if(calendarDataDoc.get(Calendar.YEAR) == calendarNow.get(Calendar.YEAR)) {
dataDocString = UtilityDate.formatDate(consegna.getDataDocD(), UtilityDate.COMMONS_DATE_FORMATS.DM_HUMAN);
} else {
dataDocString = UtilityDate.formatDate(consegna.getDataDocD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN);
}
holder.mBinding.date.setText(dataDocString);
holder.mBinding.compilatoDa.setText(consegna.getCompilatoDa());
holder.mBinding.compilatoDa.setVisibility(UtilityString.isNullOrEmpty(consegna.getCompilatoDa()) ? View.GONE : View.VISIBLE);
} catch (Exception ex) {
UtilityExceptions.defaultException(mContext, ex);
}
holder.mBinding.getRoot().setOnClickListener(v -> {
consegna.setSelected(!consegna.isSelected());
if(this.mOnSelectionChanged != null) mOnSelectionChanged.run(consegna);
});
}
@Override
public void onBindSubheaderViewHolder(SubheaderHolder subheaderHolder, int nextItemPosition) {
subheaderHolder.mBinding.title.setText(this.mDataset.get(nextItemPosition).getRagSoc());
}
@Override
public boolean onPlaceSubheaderBetweenItems(int position) {
if(!this.mDataset.get(position).getCodAnag().equalsIgnoreCase(this.mDataset.get(position+1).getCodAnag())) {
return true;
}
return false;
}
@Override
public int getItemSize() {
return this.mDataset.size();
}
public void setOnSelectionChanged(RunnableArgs<DocumentoResoDTO> mSelectionChanged) {
this.mOnSelectionChanged = mSelectionChanged;
}
}

View File

@ -0,0 +1,49 @@
package it.integry.integrywmsnative.gest.ultime_consegne_fornitore.rest;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.ArrayList;
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.utility.UtilityDB;
import it.integry.integrywmsnative.core.rest.model.DocumentoResoDTO;
public class UltimeConsegneFornitoreRESTConsumer {
public static void getUltimeConsegneFornitori(String codMdep, String codAnag, String codMart, RunnableArgs<ArrayList<DocumentoResoDTO>> onComplete, RunnableArgs<Exception> onFailed) {
int numberOfConsegnePerCli = 10;
int numberOfDayToAnalyze = 90;
String sql = "SELECT consegne.*, " +
" rag_soc " +
"FROM WMS_GetUltimeConsegneFornitori(" +
UtilityDB.valueToString(numberOfConsegnePerCli) + ", " +
UtilityDB.valueToString(codAnag) + ", " +
UtilityDB.valueToString(codMart) + ", " +
UtilityDB.valueToString(codMdep) + ", " +
UtilityDB.valueToString(numberOfDayToAnalyze) + ") consegne " +
"LEFT OUTER JOIN gtb_anag ON consegne.cod_anag = gtb_anag.cod_anag " +
"ORDER BY rag_soc, " +
" counter_consegna ";
Type typeOfObjectsList = new TypeToken<ArrayList<DocumentoResoDTO>>() {}.getType();
SystemRESTConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback<ArrayList<DocumentoResoDTO>>() {
@Override
public void onSuccess(ArrayList<DocumentoResoDTO> value) {
if(onComplete != null) onComplete.run(value);
}
@Override
public void onFailed(Exception ex) {
if(onFailed != null) onFailed.run(ex);
}
});
}
}

View File

@ -14,7 +14,6 @@ import android.text.SpannableString;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
@ -24,7 +23,7 @@ import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.REST.CommonRESTException;
import it.integry.integrywmsnative.core.rest.CommonRESTException;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.data_cache.DataCache;

View File

@ -12,11 +12,11 @@ import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.core.REST.RESTBuilder;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.REST.model.EsitoType;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.EsitoType;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.DtbOrdt;
import it.integry.integrywmsnative.core.model.MtbColt;

View File

@ -134,7 +134,7 @@ public class DialogVenditaFiltroAvanzato {
IFiltroOrdiniVendita filtroOrdiniVendita = ClassRouter.getIstance(ClassRouter.PATH.FILTRO_ORDINI_VENDITA);
bindings.filledExposedDropdownDataCons.setOnClickListener(view -> {
Calendar c = Calendar.getInstance();
Calendar c = UtilityDate.getCalendarInstance();
if(viewModel.dataConsegnaDate != null) {
c.setTime(viewModel.dataConsegnaDate);

View File

@ -10,6 +10,7 @@ import java.util.Date;
import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.utility.UtilityDate;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
public class OrdineVenditaInevasoDTO implements Parcelable {
@ -194,13 +195,7 @@ public class OrdineVenditaInevasoDTO implements Parcelable {
}
public Date getDataOrdD() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
try {
return sdf.parse(getDataOrdS());
} catch (ParseException e) {
UtilityLogger.errorMe(e);
return null;
}
return UtilityDate.recognizeDateWithExceptionHandler(getDataOrdS());
}
public OrdineVenditaInevasoDTO setData(String data) {
@ -308,8 +303,7 @@ public class OrdineVenditaInevasoDTO implements Parcelable {
}
public Date getDataInizTraspD() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return sdf.parse(getDataInizTraspS());
return UtilityDate.recognizeDateWithExceptionHandler(getDataInizTraspS());
}
public OrdineVenditaInevasoDTO setDataInizTrasp(String dataInizTrasp) {
@ -448,13 +442,7 @@ public class OrdineVenditaInevasoDTO implements Parcelable {
}
public Date getDataConsD() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
try {
return sdf.parse(getDataConsS());
} catch (ParseException e) {
UtilityLogger.errorMe(e);
return null;
}
return UtilityDate.recognizeDateWithExceptionHandler(getDataConsS());
}
public OrdineVenditaInevasoDTO setDataCons(String dataCons) {

View File

@ -4,13 +4,10 @@ import android.os.Parcel;
import android.os.Parcelable;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import it.integry.integrywmsnative.core.REST.model.Ean128Model;
import it.integry.integrywmsnative.core.rest.model.Ean128Model;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
@ -288,13 +285,7 @@ public class PickingObjectDTO implements Parcelable {
}
public Date getDataColloD() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
try {
return sdf.parse(getDataColloS());
} catch (ParseException e) {
UtilityLogger.errorMe(e);
return null;
}
return UtilityDate.recognizeDateWithExceptionHandler(getDataColloS());
}
public String getDataColloHuman() {
@ -346,9 +337,8 @@ public class PickingObjectDTO implements Parcelable {
return dataScad;
}
public Date getDataScadD() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
return sdf.parse(getDataScadS());
public Date getDataScadD() {
return UtilityDate.recognizeDateWithExceptionHandler(getDataScadS());
}
public PickingObjectDTO setDataScad(String dataScad) {

Some files were not shown because too many files have changed in this diff Show More