Finish v1.46.15(503)

This commit is contained in:
Marco Elefante 2025-05-27 17:48:12 +02:00
commit 5a0b45c6f9
29 changed files with 312 additions and 137 deletions

View File

@ -1,5 +1,40 @@
<component name="ProjectCodeStyleConfiguration"> <component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173"> <code_scheme name="Project" version="173">
<JavaCodeStyleSettings>
<option name="IMPORT_LAYOUT_TABLE">
<value>
<package name="" withSubpackages="true" static="false" module="true" />
<package name="android" withSubpackages="true" static="true" />
<package name="androidx" withSubpackages="true" static="true" />
<package name="com" withSubpackages="true" static="true" />
<package name="junit" withSubpackages="true" static="true" />
<package name="net" withSubpackages="true" static="true" />
<package name="org" withSubpackages="true" static="true" />
<package name="java" withSubpackages="true" static="true" />
<package name="javax" withSubpackages="true" static="true" />
<package name="" withSubpackages="true" static="true" />
<emptyLine />
<package name="android" withSubpackages="true" static="false" />
<emptyLine />
<package name="androidx" withSubpackages="true" static="false" />
<emptyLine />
<package name="com" withSubpackages="true" static="false" />
<emptyLine />
<package name="junit" withSubpackages="true" static="false" />
<emptyLine />
<package name="net" withSubpackages="true" static="false" />
<emptyLine />
<package name="org" withSubpackages="true" static="false" />
<emptyLine />
<package name="java" withSubpackages="true" static="false" />
<emptyLine />
<package name="javax" withSubpackages="true" static="false" />
<emptyLine />
<package name="" withSubpackages="true" static="false" />
<emptyLine />
</value>
</option>
</JavaCodeStyleSettings>
<JetCodeStyleSettings> <JetCodeStyleSettings>
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" /> <option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</JetCodeStyleSettings> </JetCodeStyleSettings>

View File

@ -4,10 +4,10 @@
<selectionStates> <selectionStates>
<SelectionState runConfigName="app"> <SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" /> <option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2025-03-17T09:16:48.549771200Z"> <DropdownSelection timestamp="2025-05-14T09:45:15.341614500Z">
<Target type="DEFAULT_BOOT"> <Target type="DEFAULT_BOOT">
<handle> <handle>
<DeviceId pluginId="PhysicalDevice" identifier="serial=21088B8EFD" /> <DeviceId pluginId="PhysicalDevice" identifier="serial=23324B682F" />
</handle> </handle>
</Target> </Target>
</DropdownSelection> </DropdownSelection>

View File

@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
android { android {
def appVersionCode = 499 def appVersionCode = 503
def appVersionName = '1.46.11' def appVersionName = '1.46.15'
signingConfigs { signingConfigs {
release { release {
@ -101,7 +101,7 @@ configurations {
} }
dependencies { dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.4' coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'
implementation fileTree(include: ['*.jar'], dir: 'libs') implementation fileTree(include: ['*.jar'], dir: 'libs')
// androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1', { // androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1', {
// exclude group: 'com.android.support', module: 'support-annotations' // exclude group: 'com.android.support', module: 'support-annotations'
@ -112,11 +112,11 @@ dependencies {
//Firebase //Firebase
// Import the Firebase BoM // Import the Firebase BoM
implementation platform('com.google.firebase:firebase-bom:33.9.0') implementation platform('com.google.firebase:firebase-bom:33.13.0')
implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-crashlytics' implementation 'com.google.firebase:firebase-crashlytics'
implementation 'com.google.firebase:firebase-perf' implementation 'com.google.firebase:firebase-perf'
implementation 'com.google.android.gms:play-services-basement:18.5.0' implementation 'com.google.android.gms:play-services-basement:18.7.0'
//JJWT //JJWT
implementation 'io.jsonwebtoken:jjwt-api:0.11.5' implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
@ -128,7 +128,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.7.0' implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.12.0' implementation 'com.google.android.material:material:1.12.0'
implementation 'androidx.constraintlayout:constraintlayout:2.2.0' implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.4.0' implementation 'androidx.recyclerview:recyclerview:1.4.0'
@ -142,7 +142,7 @@ dependencies {
implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.annimon:stream:1.2.2' implementation 'com.annimon:stream:1.2.2'
implementation 'androidx.lifecycle:lifecycle-runtime:2.8.7' implementation 'androidx.lifecycle:lifecycle-runtime:2.9.0'
implementation 'org.apache.commons:commons-text:1.9' implementation 'org.apache.commons:commons-text:1.9'
//MVVM //MVVM
@ -162,7 +162,7 @@ dependencies {
implementation 'com.github.pedromassango:doubleClick:3.0' implementation 'com.github.pedromassango:doubleClick:3.0'
//SQLite ROOM //SQLite ROOM
def room_version = "2.6.1" def room_version = "2.7.1"
implementation "androidx.room:room-runtime:$room_version" implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version"

View File

@ -97,6 +97,8 @@ public class MtbAart extends EntityBase {
private List<MtbUntMis> mtbUntMis; private List<MtbUntMis> mtbUntMis;
private List<MtbAartBarCode> mtbAartBarCode;
public enum UntMisRifPesoEnum { public enum UntMisRifPesoEnum {
C, C,
@ -965,6 +967,13 @@ public class MtbAart extends EntityBase {
return getMtbUntMis() != null && !getMtbUntMis().isEmpty() ? getMtbUntMis().get(0) : null; return getMtbUntMis() != null && !getMtbUntMis().isEmpty() ? getMtbUntMis().get(0) : null;
} }
public List<MtbAartBarCode> getMtbAartBarCode() {
return mtbAartBarCode;
}
public void setMtbAartBarCode(List<MtbAartBarCode> mtbAartBarCode) {
this.mtbAartBarCode = mtbAartBarCode;
}
@Override @Override
public boolean equals(Object o) { public boolean equals(Object o) {

View File

@ -0,0 +1,55 @@
package it.integry.integrywmsnative.core.model;
import java.math.BigDecimal;
public class MtbAartBarCode extends EntityBase {
private String codBarre;
private String codMart;
private BigDecimal qtaCnf;
private String flagPrimario;
private String tipoCodBarre;
public MtbAartBarCode() {
this.type = "mtb_aart_bar_code";
}
public String getCodBarre() {
return codBarre;
}
public void setCodBarre(String codBarre) {
this.codBarre = codBarre;
}
public String getCodMart() {
return codMart;
}
public void setCodMart(String codMart) {
this.codMart = codMart;
}
public BigDecimal getQtaCnf() {
return qtaCnf;
}
public void setQtaCnf(BigDecimal qtaCnf) {
this.qtaCnf = qtaCnf;
}
public String getFlagPrimario() {
return flagPrimario;
}
public void setFlagPrimario(String flagPrimario) {
this.flagPrimario = flagPrimario;
}
public String getTipoCodBarre() {
return tipoCodBarre;
}
public void setTipoCodBarre(String tipoCodBarre) {
this.tipoCodBarre = tipoCodBarre;
}
}

View File

@ -3,7 +3,7 @@ package it.integry.integrywmsnative.core.model.dto;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
public class AlreadyRegisteredUDCDTO { public class AlreadyRegisteredUlDTO {
private MtbColt mtbColt; private MtbColt mtbColt;
@ -13,7 +13,7 @@ public class AlreadyRegisteredUDCDTO {
return mtbColt; return mtbColt;
} }
public AlreadyRegisteredUDCDTO setMtbColt(MtbColt mtbColt) { public AlreadyRegisteredUlDTO setMtbColt(MtbColt mtbColt) {
this.mtbColt = mtbColt; this.mtbColt = mtbColt;
return this; return this;
} }
@ -22,7 +22,7 @@ public class AlreadyRegisteredUDCDTO {
return canBeRecovered; return canBeRecovered;
} }
public AlreadyRegisteredUDCDTO setCanBeRecovered(boolean canBeRecovered) { public AlreadyRegisteredUlDTO setCanBeRecovered(boolean canBeRecovered) {
this.canBeRecovered = canBeRecovered; this.canBeRecovered = canBeRecovered;
return this; return this;
} }

View File

@ -42,7 +42,9 @@ public class DocumentRESTConsumer extends _BaseRESTConsumer {
public void createDocFromColli(LoadColliDTO loadColliDTO, RunnableArgs<DtbDoct> onComplete, RunnableArgs<Exception> onFailed) { public void createDocFromColli(LoadColliDTO loadColliDTO, RunnableArgs<DtbDoct> onComplete, RunnableArgs<Exception> onFailed) {
DocumentiRESTConsumerService documentiRESTConsumerService = restBuilder.getService(DocumentiRESTConsumerService.class); DocumentiRESTConsumerService documentiRESTConsumerService = restBuilder.getService(DocumentiRESTConsumerService.class);
documentiRESTConsumerService.createDocFromColli(loadColliDTO).enqueue(new ManagedErrorCallback<>() { documentiRESTConsumerService
.createDocFromColli(loadColliDTO)
.enqueue(new ManagedErrorCallback<>() {
@Override @Override
public void onResponse(Call<ServiceRESTResponse<DtbDoct>> call, Response<ServiceRESTResponse<DtbDoct>> response) { public void onResponse(Call<ServiceRESTResponse<DtbDoct>> call, Response<ServiceRESTResponse<DtbDoct>> response) {
analyzeAnswer(response, "createDocFromColli", onComplete, onFailed); analyzeAnswer(response, "createDocFromColli", onComplete, onFailed);

View File

@ -4,11 +4,8 @@ import androidx.annotation.NonNull;
import com.annimon.stream.Optional; import com.annimon.stream.Optional;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
@ -21,6 +18,7 @@ import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbPartitaMag; import it.integry.integrywmsnative.core.model.MtbPartitaMag;
import it.integry.integrywmsnative.core.model.OrdineInevasoDTO; import it.integry.integrywmsnative.core.model.OrdineInevasoDTO;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.handler.ManagedErrorCallback; import it.integry.integrywmsnative.core.rest.handler.ManagedErrorCallback;
@ -28,8 +26,7 @@ import it.integry.integrywmsnative.core.rest.model.GetPickingListDTO;
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO; import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO; import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
import it.integry.integrywmsnative.core.utility.UtilityDB; import it.integry.integrywmsnative.core.rest.model.uds.RetrieveAlreadyRegisteredUdsRequestDTO;
import it.integry.integrywmsnative.core.utility.UtilityQuery;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO; import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
import retrofit2.Call; import retrofit2.Call;
@ -180,44 +177,27 @@ public class OrdiniRESTConsumer extends _BaseRESTConsumer {
}); });
} }
public void getBancaliGiaRegistrati(List<OrdineInevasoDTO> orders, GestioneEnum gestione, int segno, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed) { public List<AlreadyRegisteredUlDTO> getBancaliGiaRegistratiSynchronized(List<? extends OrdineInevasoDTO> orders, int segno) throws Exception {
String whereCondGestione = ""; OrdiniRESTConsumerService service = restBuilder.getService(OrdiniRESTConsumerService.class);
if (gestione != null) { var request = new RetrieveAlreadyRegisteredUdsRequestDTO()
whereCondGestione = "mtb_colt.gestione = " + UtilityDB.valueToString(gestione.getText()) + " "; .setOrdini(orders)
} else { .setSegno(segno);
whereCondGestione = "(mtb_colt.gestione = 'V' OR mtb_colt.gestione = 'L') ";
}
String baseSql = "SELECT DISTINCT mtb_colt.* " + var response = service.retrieveAlreadyRegisteredUDS(request)
"FROM mtb_colt " + .execute();
" INNER JOIN mtb_colr ON " + var data = analyzeAnswer(response, "getBancaliGiaRegistrati");
" mtb_colt.gestione = mtb_colr.gestione " + return data == null || data.getUdsList() == null ? new ArrayList<>() : data.getUdsList();
" AND mtb_colt.ser_collo = mtb_colr.ser_collo " + }
" AND mtb_colt.data_collo = mtb_colr.data_collo " +
" AND mtb_colt.num_collo = mtb_colr.num_collo " +
" WHERE " + whereCondGestione +
" AND mtb_colt.segno = " + UtilityDB.valueToString(segno) + " " +
" AND mtb_colt.data_doc IS NULL AND ";
List<HashMap<String, Object>> whereCondMapList = new ArrayList<>(); public void getBancaliGiaRegistrati(List<OrdineInevasoDTO> orders, int segno, RunnableArgs<List<AlreadyRegisteredUlDTO>> onComplete, RunnableArgs<Exception> onFailed) {
for (OrdineInevasoDTO ordineInevaso : orders) { executorService.execute(() -> {
HashMap<String, Object> whereCondMap = new HashMap<>(); try {
whereCondMap.put("mtb_colr.data_ord", ordineInevaso.getDataOrdD()); var result = getBancaliGiaRegistratiSynchronized(orders, segno);
whereCondMap.put("mtb_colr.num_ord", ordineInevaso.getNumOrd()); if (onComplete != null) onComplete.run(result);
whereCondMap.put("mtb_colr.gestione", ordineInevaso.getGestione()); } catch (Exception ex) {
if (onFailed != null) onFailed.run(ex);
whereCondMapList.add(whereCondMap); }
}
baseSql += "(" + UtilityQuery.concatFieldListInWhereCond(whereCondMapList) + ")";
Type typeOfObjectsList = new TypeToken<ArrayList<MtbColt>>() {
}.getType();
this.mSystemRESTConsumer.<List<MtbColt>>processSql(baseSql, typeOfObjectsList, value -> {
if (onComplete != null) onComplete.run(value);
}, ex -> {
if (onFailed != null) onFailed.run(ex);
}); });
} }

View File

@ -5,6 +5,8 @@ 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.rest.model.SitArtOrdDTO; import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO; import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
import it.integry.integrywmsnative.core.rest.model.uds.RetrieveAlreadyRegisteredUdsRequestDTO;
import it.integry.integrywmsnative.core.rest.model.uds.RetrieveAlreadyRegisteredUdsResponseDTO;
import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO; import it.integry.integrywmsnative.gest.spedizione.model.PickingObjectDTO;
import it.integry.integrywmsnative.core.rest.model.GetPickingListDTO; import it.integry.integrywmsnative.core.rest.model.GetPickingListDTO;
import retrofit2.Call; import retrofit2.Call;
@ -23,4 +25,7 @@ public interface OrdiniRESTConsumerService {
@GET("SM2GetOrdiniVenditaInevasi") @GET("SM2GetOrdiniVenditaInevasi")
Call<ServiceRESTResponse<List<OrdineUscitaInevasoDTO>>> getOrdiniInevasi(@Query("codMdep") String codMdep, @Query("gestione") String gestione); Call<ServiceRESTResponse<List<OrdineUscitaInevasoDTO>>> getOrdiniInevasi(@Query("codMdep") String codMdep, @Query("gestione") String gestione);
@POST("wms/spedizione/retrieveAlreadyRegisteredUDS")
Call<ServiceRESTResponse<RetrieveAlreadyRegisteredUdsResponseDTO>> retrieveAlreadyRegisteredUDS(@Body RetrieveAlreadyRegisteredUdsRequestDTO request);
} }

View File

@ -0,0 +1,29 @@
package it.integry.integrywmsnative.core.rest.model.uds;
import java.util.List;
import it.integry.integrywmsnative.core.model.OrdineInevasoDTO;
public class RetrieveAlreadyRegisteredUdsRequestDTO {
private List<? extends OrdineInevasoDTO> ordini;
private int segno;
public List<? extends OrdineInevasoDTO> getOrdini() {
return ordini;
}
public RetrieveAlreadyRegisteredUdsRequestDTO setOrdini(List<? extends OrdineInevasoDTO> ordini) {
this.ordini = ordini;
return this;
}
public int getSegno() {
return segno;
}
public RetrieveAlreadyRegisteredUdsRequestDTO setSegno(int segno) {
this.segno = segno;
return this;
}
}

View File

@ -0,0 +1,19 @@
package it.integry.integrywmsnative.core.rest.model.uds;
import java.util.List;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
public class RetrieveAlreadyRegisteredUdsResponseDTO {
private List<AlreadyRegisteredUlDTO> udsList;
public List<AlreadyRegisteredUlDTO> getUdsList() {
return udsList;
}
public RetrieveAlreadyRegisteredUdsResponseDTO setUdsList(List<AlreadyRegisteredUlDTO> udsList) {
this.udsList = udsList;
return this;
}
}

View File

@ -42,7 +42,7 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.report.ReportManager; import it.integry.integrywmsnative.core.report.ReportManager;
@ -452,12 +452,12 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac
dialog.show(); dialog.show();
} }
public void startListaBancaliRegistratiActivity(List<AlreadyRegisteredUDCDTO> mtbColts) { public void startListaBancaliRegistratiActivity(List<AlreadyRegisteredUlDTO> mtbColts) {
Intent myIntent = ListaBancaliActivity.createIntent(this, Intent myIntent = ListaBancaliActivity.createIntent(this,
Stream.of(mtbColts) Stream.of(mtbColts)
.map(AlreadyRegisteredUDCDTO::getMtbColt) .map(AlreadyRegisteredUlDTO::getMtbColt)
.toList(), .toList(),
input -> Stream.of(mtbColts) input -> Stream.of(mtbColts)

View File

@ -30,7 +30,7 @@ import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingL
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
@ -160,7 +160,7 @@ public class AccettazioneBollaPickingViewModel {
} }
public void retrieveExistentLU(RunnableArgs<List<AlreadyRegisteredUDCDTO>> onComplete) { public void retrieveExistentLU(RunnableArgs<List<AlreadyRegisteredUlDTO>> onComplete) {
this.sendOnLoadingStarted(); this.sendOnLoadingStarted();
this.mAccettazioneBollaPickingRESTConsumer.retrieveAlreadyRegisteredUDC(this.mBolle, mtbColtList -> { this.mAccettazioneBollaPickingRESTConsumer.retrieveAlreadyRegisteredUDC(this.mBolle, mtbColtList -> {

View File

@ -2,17 +2,17 @@ package it.integry.integrywmsnative.gest.accettazione_bolla_picking.dto;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
public class RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO { public class RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO {
private List<AlreadyRegisteredUDCDTO> udcList; private List<AlreadyRegisteredUlDTO> udcList;
public List<AlreadyRegisteredUDCDTO> getUdcList() { public List<AlreadyRegisteredUlDTO> getUdcList() {
return udcList; return udcList;
} }
public RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO setUdcList(List<AlreadyRegisteredUDCDTO> udcList) { public RetrieveAlreadyRegisteredULAccettazioneBollaResponseDTO setUdcList(List<AlreadyRegisteredUlDTO> udcList) {
this.udcList = udcList; this.udcList = udcList;
return this; return this;
} }

View File

@ -9,7 +9,7 @@ import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
import it.integry.integrywmsnative.core.rest.handler.ManagedErrorCallback; import it.integry.integrywmsnative.core.rest.handler.ManagedErrorCallback;
@ -32,7 +32,7 @@ public class AccettazioneBollaPickingRESTConsumer extends _BaseRESTConsumer {
} }
public void retrieveAlreadyRegisteredUDC(List<TestataBollaAccettazioneDTO> bolle, RunnableArgs<List<AlreadyRegisteredUDCDTO>> onComplete, RunnableArgs<Exception> onFailed) { public void retrieveAlreadyRegisteredUDC(List<TestataBollaAccettazioneDTO> bolle, RunnableArgs<List<AlreadyRegisteredUlDTO>> onComplete, RunnableArgs<Exception> onFailed) {
AccettazioneBollaPickingRESTConsumerService service = restBuilder.getService(AccettazioneBollaPickingRESTConsumerService.class); AccettazioneBollaPickingRESTConsumerService service = restBuilder.getService(AccettazioneBollaPickingRESTConsumerService.class);
var request = new RetrieveAlreadyRegisteredULAccettazioneBollaRequestDTO() var request = new RetrieveAlreadyRegisteredULAccettazioneBollaRequestDTO()

View File

@ -45,7 +45,7 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgss;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.report.ReportManager; import it.integry.integrywmsnative.core.report.ReportManager;
@ -690,11 +690,11 @@ public class AccettazioneOrdiniPickingActivity extends BaseActivity implements A
dialog.show(); dialog.show();
} }
public void startListaBancaliRegistratiActivity(List<AlreadyRegisteredUDCDTO> mtbColts) { public void startListaBancaliRegistratiActivity(List<AlreadyRegisteredUlDTO> mtbColts) {
Intent myIntent = ListaBancaliActivity.createIntent(this, Intent myIntent = ListaBancaliActivity.createIntent(this,
Stream.of(mtbColts).map(AlreadyRegisteredUDCDTO::getMtbColt).toList(), Stream.of(mtbColts).map(AlreadyRegisteredUlDTO::getMtbColt).toList(),
input -> Stream.of(mtbColts).filter(x -> x.getMtbColt() == input).findFirstOrElse(null).isCanBeRecovered(), input -> Stream.of(mtbColts).filter(x -> x.getMtbColt() == input).findFirstOrElse(null).isCanBeRecovered(),

View File

@ -32,7 +32,7 @@ import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingL
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
@ -198,7 +198,7 @@ public class AccettazioneOrdiniPickingViewModel {
return mPickingList; return mPickingList;
} }
public void retrieveExistentLU(RunnableArgs<List<AlreadyRegisteredUDCDTO>> onComplete) { public void retrieveExistentLU(RunnableArgs<List<AlreadyRegisteredUlDTO>> onComplete) {
this.sendOnLoadingStarted(); this.sendOnLoadingStarted();
this.mAccettazioneOrdiniPickingRESTConsumer.getBancaliGiaRegistrati(this.mOrders, mtbColtList -> { this.mAccettazioneOrdiniPickingRESTConsumer.getBancaliGiaRegistrati(this.mOrders, mtbColtList -> {

View File

@ -2,17 +2,17 @@ package it.integry.integrywmsnative.gest.accettazione_ordini_picking.dto;
import java.util.List; import java.util.List;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
public class RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO { public class RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO {
private List<AlreadyRegisteredUDCDTO> udcList; private List<AlreadyRegisteredUlDTO> udcList;
public List<AlreadyRegisteredUDCDTO> getUdcList() { public List<AlreadyRegisteredUlDTO> getUdcList() {
return udcList; return udcList;
} }
public RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO setUdcList(List<AlreadyRegisteredUDCDTO> udcList) { public RetrieveAlreadyRegisteredULAccettazioneOrdineResponseDTO setUdcList(List<AlreadyRegisteredUlDTO> udcList) {
this.udcList = udcList; this.udcList = udcList;
return this; return this;
} }

View File

@ -9,7 +9,7 @@ import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUDCDTO; import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.RESTBuilder;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
@ -33,7 +33,7 @@ public class AccettazioneOrdiniPickingRESTConsumer extends _BaseRESTConsumer {
this.systemRestConsumer = systemRESTConsumer; this.systemRestConsumer = systemRESTConsumer;
} }
public void getBancaliGiaRegistrati(List<OrdineAccettazioneInevasoDTO> ordiniToShow, RunnableArgs<List<AlreadyRegisteredUDCDTO>> onComplete, RunnableArgs<Exception> onFailed) { public void getBancaliGiaRegistrati(List<OrdineAccettazioneInevasoDTO> ordiniToShow, RunnableArgs<List<AlreadyRegisteredUlDTO>> onComplete, RunnableArgs<Exception> onFailed) {
AccettazioneOrdiniPickingRESTConsumerService service = restBuilder.getService(AccettazioneOrdiniPickingRESTConsumerService.class); AccettazioneOrdiniPickingRESTConsumerService service = restBuilder.getService(AccettazioneOrdiniPickingRESTConsumerService.class);
var request = new RetrieveAlreadyRegisteredULAccettazioneOrdineRequestDTO() var request = new RetrieveAlreadyRegisteredULAccettazioneOrdineRequestDTO()

View File

@ -50,7 +50,7 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB
public final ObservableField<MtbColt> mtbColt = new ObservableField<>(); public final ObservableField<MtbColt> mtbColt = new ObservableField<>();
public final ObservableField<String> descrizioneDepo = new ObservableField<>(); public final ObservableField<String> descrizioneDepo = new ObservableField<>();
public ObservableField<Boolean> fabVisible = new ObservableField<>(true); public ObservableField<Boolean> fabVisible = new ObservableField<>(true);
public ObservableField<Boolean> recoverFabMenuVisible = new ObservableField<>(false); public Boolean recoverFabMenuVisible = false;
private PopupMenu fabPopupMenu; private PopupMenu fabPopupMenu;
private String mReportName; private String mReportName;
@ -80,7 +80,7 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
boolean canRecoverUL = DataCache.retrieveItem(getIntent().getStringExtra(Key.CanRecoverUL)); recoverFabMenuVisible = DataCache.retrieveItem(getIntent().getStringExtra(Key.CanRecoverUL));
mtbColt.set(DataCache.retrieveItem(getIntent().getStringExtra(Key.MtbColtKey))); mtbColt.set(DataCache.retrieveItem(getIntent().getStringExtra(Key.MtbColtKey)));
mReportName = DataCache.retrieveItem(getIntent().getStringExtra(Key.ReportName)); mReportName = DataCache.retrieveItem(getIntent().getStringExtra(Key.ReportName));
@ -102,8 +102,6 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB
mViewModel.setListener(this); mViewModel.setListener(this);
mViewModel.init(mtbColt.get(), mReportName); mViewModel.init(mtbColt.get(), mReportName);
recoverFabMenuVisible.set(canRecoverUL);
this.initRecyclerView(); this.initRecyclerView();
this.initColloInfo(); this.initColloInfo();
this.initFab(); this.initFab();
@ -144,6 +142,10 @@ public class ContenutoBancaleActivity extends BaseActivity implements ContenutoB
fabPopupMenu.getMenu().removeItem(R.id.delete_ul); fabPopupMenu.getMenu().removeItem(R.id.delete_ul);
} }
if(!recoverFabMenuVisible) {
fabPopupMenu.getMenu().removeItem(R.id.recover_ul);
}
fabPopupMenu.setOnMenuItemClickListener(item -> { fabPopupMenu.setOnMenuItemClickListener(item -> {
int itemId = item.getItemId(); int itemId = item.getItemId();

View File

@ -43,10 +43,10 @@ import it.integry.integrywmsnative.core.interfaces.ISelectAllFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment; import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.model.JtbComt; import it.integry.integrywmsnative.core.model.JtbComt;
import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepo; import it.integry.integrywmsnative.core.model.MtbDepo;
import it.integry.integrywmsnative.core.model.MtbGrup; import it.integry.integrywmsnative.core.model.MtbGrup;
import it.integry.integrywmsnative.core.model.OrdineInevasoDTO; import it.integry.integrywmsnative.core.model.OrdineInevasoDTO;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.CommessaRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.CommessaRESTConsumer;
@ -842,7 +842,7 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
} }
@Override @Override
public void onOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<MtbColt> alreadyRegisteredMtbColts) { public void onOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<AlreadyRegisteredUlDTO> alreadyRegisteredMtbColts) {
List<String> codMarts = Stream.of(sitArts) List<String> codMarts = Stream.of(sitArts)
.distinctBy(SitArtOrdDTO::getCodMart) .distinctBy(SitArtOrdDTO::getCodMart)
.map(SitArtOrdDTO::getCodMart) .map(SitArtOrdDTO::getCodMart)
@ -862,7 +862,6 @@ public class OrdiniUscitaElencoFragment extends BaseFragment implements ITitledF
() -> SpedizioneActivity.startActivity(getActivity(), () -> SpedizioneActivity.startActivity(getActivity(),
sitArts, sitArts,
orders, orders,
alreadyRegisteredMtbColts,
mCurrentGestioneCol, mCurrentGestioneCol,
mCurrentSegnoCol, mCurrentSegnoCol,
MtbColr.Causale.DEFAULT, MtbColr.Causale.DEFAULT,

View File

@ -23,9 +23,9 @@ import it.integry.integrywmsnative.core.exception.NoOrderFoundException;
import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
import it.integry.integrywmsnative.core.model.DtbOrdt; import it.integry.integrywmsnative.core.model.DtbOrdt;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbGrup; import it.integry.integrywmsnative.core.model.MtbGrup;
import it.integry.integrywmsnative.core.model.OrdineInevasoDTO; import it.integry.integrywmsnative.core.model.OrdineInevasoDTO;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
@ -146,8 +146,7 @@ public class OrdiniUscitaElencoViewModel {
List<SitArtOrdDTO> finalSitArts = sitArts; List<SitArtOrdDTO> finalSitArts = sitArts;
this.mOrdiniRESTConsumer.getBancaliGiaRegistrati( this.mOrdiniRESTConsumer.getBancaliGiaRegistrati(
Stream.of(selectedOrdersBase).map(x -> (OrdineInevasoDTO) x).toList(), selectedOrdersBase.stream().map(x -> (OrdineInevasoDTO) x).collect(Collectors.toList()),
mCurrentGestioneCol,
mCurrentSegnoCol, mCurrentSegnoCol,
mtbColtList -> { mtbColtList -> {
this.sendOnOrdersDispatched(selectedOrdersBase, finalSitArts, mtbColtList); this.sendOnOrdersDispatched(selectedOrdersBase, finalSitArts, mtbColtList);
@ -303,7 +302,7 @@ public class OrdiniUscitaElencoViewModel {
if (this.mListener != null) mListener.onOrderFiltered(filteredOrders); if (this.mListener != null) mListener.onOrderFiltered(filteredOrders);
} }
private void sendOnOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<MtbColt> alreadyRegisteredMtbColts) { private void sendOnOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<AlreadyRegisteredUlDTO> alreadyRegisteredMtbColts) {
if (this.mListener != null) if (this.mListener != null)
mListener.onOrdersDispatched(orders, sitArts, alreadyRegisteredMtbColts); mListener.onOrdersDispatched(orders, sitArts, alreadyRegisteredMtbColts);
} }
@ -316,7 +315,7 @@ public class OrdiniUscitaElencoViewModel {
void onOrderFiltered(List<OrdiniUscitaElencoDTO> filteredOrders); void onOrderFiltered(List<OrdiniUscitaElencoDTO> filteredOrders);
void onOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<MtbColt> alreadyRegisteredMtbColts); void onOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<AlreadyRegisteredUlDTO> alreadyRegisteredMtbColts);
} }
} }

View File

@ -446,7 +446,6 @@ public class ProdFabbisognoLineeProdFragment extends BaseFragment implements ITi
SpedizioneActivity.startActivity(getActivity(), SpedizioneActivity.startActivity(getActivity(),
sitArtOrdDTOS, sitArtOrdDTOS,
new ArrayList<>(), new ArrayList<>(),
new ArrayList<>(),
GestioneEnum.LAVORAZIONE, GestioneEnum.LAVORAZIONE,
+1, +1,
MtbColr.Causale.VERSAMENTO, MtbColr.Causale.VERSAMENTO,

View File

@ -282,6 +282,7 @@ public class VerificaGiacenzeFragment extends BaseFragment implements ITitledFra
.setPartitaMag(partitaMag) .setPartitaMag(partitaMag)
.setDataScad(dataScad) .setDataScad(dataScad)
.setCanInputZeroQuantity(true) .setCanInputZeroQuantity(true)
.setCanOverflowOrderQuantity(true)
.setCanLUBeClosed(false); .setCanLUBeClosed(false);
if (!dialogInputQuantityV2View.isVisible()) if (!dialogInputQuantityV2View.isVisible())

View File

@ -11,6 +11,7 @@ import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -24,6 +25,7 @@ import it.integry.integrywmsnative.core.data_store.db.respository_new.VerificaGi
import it.integry.integrywmsnative.core.exception.NoArtsFoundException; import it.integry.integrywmsnative.core.exception.NoArtsFoundException;
import it.integry.integrywmsnative.core.mapper.VerificaGiacenzeMapper; import it.integry.integrywmsnative.core.mapper.VerificaGiacenzeMapper;
import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbAartBarCode;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.GiacenzaPvRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.GiacenzaPvRESTConsumer;
import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel; import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel;
@ -116,7 +118,7 @@ public class VerificaGiacenzeViewModel {
public void randomizeElements(int elementsCount) { public void randomizeElements(int elementsCount) {
for(int i = 0; i < elementsCount; i++) { for (int i = 0; i < elementsCount; i++) {
var randomIndex = (int) (Math.random() * currentLoadedAnagrafiche.size()); var randomIndex = (int) (Math.random() * currentLoadedAnagrafiche.size());
var randomAnagrafica = currentLoadedAnagrafiche.get(randomIndex); var randomAnagrafica = currentLoadedAnagrafiche.get(randomIndex);
@ -168,7 +170,7 @@ public class VerificaGiacenzeViewModel {
public void save() throws Exception { public void save() throws Exception {
if(currentVerificaRows.getValue().isEmpty()) { if (currentVerificaRows.getValue().isEmpty()) {
delete(); delete();
return; return;
} }
@ -280,10 +282,21 @@ public class VerificaGiacenzeViewModel {
} }
public MtbAart searchAnagraficaByBarcode(String barcode) { public MtbAart searchAnagraficaByBarcode(String barcode) {
return currentLoadedAnagrafiche.parallelStream() MtbAart mtbAart = currentLoadedAnagrafiche.parallelStream()
.filter(mtbAart -> barcode.equals(mtbAart.getBarCode())) .filter(x -> barcode.equals(x.getBarCode()))
.findFirst() .findFirst()
.orElse(null); .orElse(null);
if (mtbAart == null) {
mtbAart = currentLoadedAnagrafiche.parallelStream()
.filter(x -> x.getMtbAartBarCode() != null &&
x.getMtbAartBarCode().stream()
.anyMatch(y -> barcode.equals(y.getCodBarre())))
.findFirst()
.orElse(null);
}
return mtbAart;
} }
public void insertRow(VerificaGiacenzeRowEntity rowEntity) { public void insertRow(VerificaGiacenzeRowEntity rowEntity) {

View File

@ -28,6 +28,7 @@ import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.CountDownLatch; import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
import javax.inject.Inject; import javax.inject.Inject;
@ -50,8 +51,10 @@ import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.model.MtbPartitaMag; import it.integry.integrywmsnative.core.model.MtbPartitaMag;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.report.ReportManager;
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO; import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO; import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.settings.SettingsManager;
@ -120,7 +123,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
private ArrayList<SitArtOrdDTO> mSitArtOrd; private ArrayList<SitArtOrdDTO> mSitArtOrd;
private ArrayList<OrdineUscitaInevasoDTO> mTestateOrdini; private ArrayList<OrdineUscitaInevasoDTO> mTestateOrdini;
private ArrayList<MtbColt> mColliRegistrati; private ArrayList<AlreadyRegisteredUlDTO> mColliRegistrati;
private GestioneEnum mGestioneCol; private GestioneEnum mGestioneCol;
private int mSegnoCol; private int mSegnoCol;
private Integer mDefaultCausaleUL; private Integer mDefaultCausaleUL;
@ -135,7 +138,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
public static void startActivity(Context context, public static void startActivity(Context context,
List<SitArtOrdDTO> ordini, List<SitArtOrdDTO> ordini,
List<OrdineUscitaInevasoDTO> selectedOrders, List<OrdineUscitaInevasoDTO> selectedOrders,
List<MtbColt> mtbColtList,
GestioneEnum gestioneCol, GestioneEnum gestioneCol,
int segnoCol, int segnoCol,
Integer defaultCausaleUL, Integer defaultCausaleUL,
@ -149,9 +151,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
String keyTestateOrdini = DataCache.addItem(selectedOrders); String keyTestateOrdini = DataCache.addItem(selectedOrders);
myIntent.putExtra("keyTestateOrdini", keyTestateOrdini); myIntent.putExtra("keyTestateOrdini", keyTestateOrdini);
String keyColliRegistrati = DataCache.addItem(mtbColtList);
myIntent.putExtra("keyColliRegistrati", keyColliRegistrati);
String keyGestioneCol = DataCache.addItem(gestioneCol); String keyGestioneCol = DataCache.addItem(gestioneCol);
myIntent.putExtra("keyGestioneCol", keyGestioneCol); myIntent.putExtra("keyGestioneCol", keyGestioneCol);
@ -176,7 +175,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
mSitArtOrd = DataCache.retrieveItem(getIntent().getStringExtra("keyPickingList")); mSitArtOrd = DataCache.retrieveItem(getIntent().getStringExtra("keyPickingList"));
mTestateOrdini = DataCache.retrieveItem(getIntent().getStringExtra("keyTestateOrdini")); mTestateOrdini = DataCache.retrieveItem(getIntent().getStringExtra("keyTestateOrdini"));
mColliRegistrati = DataCache.retrieveItem(getIntent().getStringExtra("keyColliRegistrati"));
mGestioneCol = DataCache.retrieveItem(getIntent().getStringExtra("keyGestioneCol")); mGestioneCol = DataCache.retrieveItem(getIntent().getStringExtra("keyGestioneCol"));
mSegnoCol = DataCache.retrieveItem(getIntent().getStringExtra("keySegnoCol")); mSegnoCol = DataCache.retrieveItem(getIntent().getStringExtra("keySegnoCol"));
mDefaultCausaleUL = DataCache.retrieveItem(getIntent().getStringExtra("keyDefaultCausaleCol")); mDefaultCausaleUL = DataCache.retrieveItem(getIntent().getStringExtra("keyDefaultCausaleCol"));
@ -229,7 +227,6 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
canOverflowOrderQuantity, canOverflowOrderQuantity,
mSitArtOrd, mSitArtOrd,
mTestateOrdini, mTestateOrdini,
mColliRegistrati,
mGestioneCol, mSegnoCol, mDefaultCausaleUL, mGestioneCol, mSegnoCol, mDefaultCausaleUL,
mEnableQuantityReset, mEnableQuantityReset,
useQtaOrd, useQtaOrd,
@ -822,13 +819,35 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
} }
public void showCreatedUL() { public void showCreatedUL() {
handler.post(() -> { this.fabPopupMenu.dismiss();
this.fabPopupMenu.dismiss();
ArrayList<MtbColt> createdMtbColts = this.mViewmodel.getCreatedMtbColts(); executorService.execute(() -> {
try {
ArrayList<AlreadyRegisteredUlDTO> createdMtbColts = this.mViewmodel.getCreatedMtbColts();
Intent myIntent = ListaBancaliActivity.createIntent(this, createdMtbColts, true, false); handler.post(() -> {
this.startActivityForResult(myIntent, PICK_UL_REQUEST); Intent myIntent = ListaBancaliActivity.createIntent(this,
createdMtbColts.stream()
.map(AlreadyRegisteredUlDTO::getMtbColt)
.collect(Collectors.toList()),
input -> createdMtbColts.stream()
.filter(x -> x.getMtbColt().equals(input))
.findFirst()
.map(AlreadyRegisteredUlDTO::isCanBeRecovered)
.orElse(false),
false,
ReportManager.getReportNameLUFromGestione(GestioneEnum.ACQUISTO));
this.startActivityForResult(myIntent, PICK_UL_REQUEST);
});
} catch (Exception e) {
onError(e);
}
}); });
} }

View File

@ -50,6 +50,7 @@ import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione; import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.model.MtbPartitaMag; import it.integry.integrywmsnative.core.model.MtbPartitaMag;
import it.integry.integrywmsnative.core.model.VtbVett; import it.integry.integrywmsnative.core.model.VtbVett;
import it.integry.integrywmsnative.core.model.dto.AlreadyRegisteredUlDTO;
import it.integry.integrywmsnative.core.model.dto.PickDataDTO; import it.integry.integrywmsnative.core.model.dto.PickDataDTO;
import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO; import it.integry.integrywmsnative.core.model.dto.StatoArticoloDTO;
import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol; import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol;
@ -107,7 +108,6 @@ public class SpedizioneViewModel {
private List<OrdineUscitaInevasoDTO> mTestateOrdini; private List<OrdineUscitaInevasoDTO> mTestateOrdini;
private MutableLiveData<List<PickingObjectDTO>> mPickingList = new MutableLiveData<>(); private MutableLiveData<List<PickingObjectDTO>> mPickingList = new MutableLiveData<>();
private List<MtbColt> mColliRegistrati = new ArrayList<>();
private List<MtbPartitaMag> mPartitaMagList = new ArrayList<>(); private List<MtbPartitaMag> mPartitaMagList = new ArrayList<>();
private Listener mListener; private Listener mListener;
@ -187,12 +187,11 @@ public class SpedizioneViewModel {
} }
public void init(String codMdep, boolean enableGiacenza, boolean enableCheckPartitaMag, boolean shouldAskPesoLU, boolean canOverflowOrderQuantity, List<SitArtOrdDTO> pickingList, List<OrdineUscitaInevasoDTO> testateOrdini, List<MtbColt> colliRegistrati, GestioneEnum gestioneCol, int segnoCol, Integer defaultCausaleUL, boolean enableQuantityReset, boolean useQtaOrd, boolean useColliPedana) { public void init(String codMdep, boolean enableGiacenza, boolean enableCheckPartitaMag, boolean shouldAskPesoLU, boolean canOverflowOrderQuantity, List<SitArtOrdDTO> pickingList, List<OrdineUscitaInevasoDTO> testateOrdini, GestioneEnum gestioneCol, int segnoCol, Integer defaultCausaleUL, boolean enableQuantityReset, boolean useQtaOrd, boolean useColliPedana) {
this.sendOnLoadingStarted(); this.sendOnLoadingStarted();
this.mDefaultCodMdep = codMdep; this.mDefaultCodMdep = codMdep;
this.mTestateOrdini = testateOrdini; this.mTestateOrdini = testateOrdini;
this.mColliRegistrati = colliRegistrati;
this.mEnableGiacenza = enableGiacenza; this.mEnableGiacenza = enableGiacenza;
this.mEnableCheckPartitaMag = enableCheckPartitaMag; this.mEnableCheckPartitaMag = enableCheckPartitaMag;
this.mCanOverflowOrderQuantity = canOverflowOrderQuantity; this.mCanOverflowOrderQuantity = canOverflowOrderQuantity;
@ -1745,13 +1744,8 @@ public class SpedizioneViewModel {
var positionedMtbColts = this.askPositionChange(filledMtbColts); var positionedMtbColts = this.askPositionChange(filledMtbColts);
this.askPrint((shouldPrint && SettingsManager.iDB().isFlagPrintEtichetteOnLUClose()), positionedMtbColts); this.askPrint((shouldPrint && SettingsManager.iDB().isFlagPrintEtichetteOnLUClose()), positionedMtbColts);
positionedMtbColts.stream()
.filter(x -> !this.mColliRegistrati.contains(x))
.forEach(x -> this.mColliRegistrati.add(x));
postCloseOperations(positionedMtbColts); postCloseOperations(positionedMtbColts);
this.mIsNewLU = false; this.mIsNewLU = false;
@ -2192,8 +2186,8 @@ public class SpedizioneViewModel {
return mPartitaMagList; return mPartitaMagList;
} }
public ArrayList<MtbColt> getCreatedMtbColts() { public ArrayList<AlreadyRegisteredUlDTO> getCreatedMtbColts() throws Exception {
return (ArrayList<MtbColt>) this.mColliRegistrati; return (ArrayList<AlreadyRegisteredUlDTO>) this.mOrdiniRestConsumerService.getBancaliGiaRegistratiSynchronized(mTestateOrdini, mDefaultSegnoCol);
} }
public VtbVett getDefaultVettore() { public VtbVett getDefaultVettore() {
@ -2201,30 +2195,45 @@ public class SpedizioneViewModel {
} }
void createDocs() { void createDocs() {
var loadCollidto = new LoadColliDTO(); executorService.execute(() -> {
List<MtbColt> registeredUds = null;
var codAnag = mTestateOrdini.stream() try {
.map(OrdineUscitaInevasoDTO::getCodAnagOrd) var alreadyCreatedUds = getCreatedMtbColts();
.filter(Objects::nonNull) registeredUds = alreadyCreatedUds.stream()
.distinct() .map(AlreadyRegisteredUlDTO::getMtbColt)
.findFirst() .collect(Collectors.toList());
.get(); } catch (Exception e) {
sendError(e);
return;
}
var codVdes = mTestateOrdini.stream().map(OrdineUscitaInevasoDTO::getCodVdes) var loadCollidto = new LoadColliDTO();
.filter(Objects::nonNull)
.distinct()
.findFirst()
.get();
loadCollidto.setColli(getCreatedMtbColts()); var codAnag = mTestateOrdini.stream()
loadCollidto.setCodDtip(SettingsManager.iDB().getCodDtipOrdTrasfV()); .map(OrdineUscitaInevasoDTO::getCodAnagOrd)
loadCollidto.setCodMdep(mDefaultCodMdep); .filter(Objects::nonNull)
loadCollidto.setCodAnag(codAnag); .distinct()
loadCollidto.setCodVdes(codVdes); .findFirst()
loadCollidto.setSaveDoc(true); .get();
loadCollidto.setGestione("L");
this.mDocumentRESTConsumer.createDocFromColli(loadCollidto, doc -> this.sendOnOrderClosed(), this::sendError); var codVdes = mTestateOrdini.stream()
.map(OrdineUscitaInevasoDTO::getCodVdes)
.filter(Objects::nonNull)
.distinct()
.findFirst()
.get();
loadCollidto.setColli(registeredUds);
loadCollidto.setCodDtip(SettingsManager.iDB().getCodDtipOrdTrasfV());
loadCollidto.setCodMdep(mDefaultCodMdep);
loadCollidto.setCodAnag(codAnag);
loadCollidto.setCodVdes(codVdes);
loadCollidto.setSaveDoc(true);
loadCollidto.setGestione("L");
this.mDocumentRESTConsumer.createDocFromColli(loadCollidto, doc -> this.sendOnOrderClosed(), this::sendError);
});
} }
private Integer sendInputDuplicate() { private Integer sendInputDuplicate() {

View File

@ -3,7 +3,7 @@
buildscript { buildscript {
ext { ext {
kotlin_version = '2.1.0' kotlin_version = '2.1.0'
agp_version = '8.8.0' agp_version = '8.10.0'
} }
repositories { repositories {

View File

@ -1,6 +1,6 @@
#Mon Feb 13 15:14:43 CET 2023 #Mon Feb 13 15:14:43 CET 2023
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME