Sistemata query che controlla se una UL di Vendita può essere eliminata o no.

This commit is contained in:
Giuseppe Scorrano 2020-01-27 10:11:11 +01:00
parent dc190acc7c
commit b7382888b6
3 changed files with 40 additions and 14 deletions

View File

@ -606,23 +606,50 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
}
public static void doesColloContainsAnyRow(MtbColt mtbColt, RunnableArgs<Boolean> onComplete, RunnableArgs<Exception> onFailed) {
public static void canLUBeDeleted(MtbColt mtbColt, RunnableArgs<Boolean> onComplete, RunnableArgs<Exception> onFailed) {
HashMap<String, Object> params = new HashMap<>();
params.put("gestione", mtbColt.getGestione());
params.put("ser_collo", mtbColt.getSerCollo());
params.put("num_collo", mtbColt.getNumCollo());
params.put("data_collo", mtbColt.getDataColloD());
params.put("mtb_colt.gestione", mtbColt.getGestione());
params.put("mtb_colt.ser_collo", mtbColt.getSerCollo());
params.put("mtb_colt.num_collo", mtbColt.getNumCollo());
params.put("mtb_colt.data_collo", mtbColt.getDataColloD());
String whereCond = UtilityQuery.concatFieldsInWhereCond(params);
String query = "SELECT COUNT(*) as value FROM mtb_colr " +
"WHERE " + whereCond;
Type typeOfObjectsList = new TypeToken<ArrayList<SingleValueDTO<Integer>>>() {
String query = "SELECT mtb_colt.* " +
"FROM mtb_colt " +
"LEFT OUTER JOIN " +
" (SELECT gestione, " +
" data_collo, " +
" num_collo, " +
" ser_collo, " +
" cod_mart, " +
" cod_col, " +
" cod_tagl, " +
" partita_mag, " +
" SUM(qta_col) sum_qta_col " +
" FROM mtb_colr " +
" GROUP BY gestione, " +
" data_collo, " +
" num_collo, " +
" ser_collo, " +
" cod_mart, " +
" cod_col, " +
" cod_tagl, " +
" partita_mag) sum_mtb_colr ON mtb_colt.gestione = sum_mtb_colr.gestione " +
"AND mtb_colt.num_collo = sum_mtb_colr.num_collo " +
"AND mtb_colt.data_collo = sum_mtb_colr.data_collo " +
"AND mtb_colt.ser_collo = sum_mtb_colr.ser_collo " +
"AND sum_mtb_colr.sum_qta_col > 0 " +
"WHERE sum_mtb_colr.num_collo IS NULL " +
" AND " + whereCond;
Type typeOfObjectsList = new TypeToken<ArrayList<MtbColt>>() {
}.getType();
SystemRESTConsumer.<ArrayList<SingleValueDTO<Integer>>>processSql(query, typeOfObjectsList, data -> {
onComplete.run(data.get(0).getValue() > 0);
SystemRESTConsumer.<ArrayList<MtbColt>>processSql(query, typeOfObjectsList, data -> {
onComplete.run(data != null && data.size() > 0);
}, onFailed);
}

View File

@ -115,7 +115,7 @@ public class SystemRESTConsumer extends _BaseRESTConsumer {
public void onFailure(Call<ServiceRESTResponse<List<AvailableCodMdepsDTO>>> call, final Throwable t) {
Log.e("CodMdepsAvailable", t.toString());
callback.onFailed(new Exception(t));
UtilityLogger.errorMe(new Exception(t));
// UtilityLogger.errorMe(new Exception(t));
}
});
}

View File

@ -13,7 +13,6 @@ import com.tfb.fbtoast.FBToast;
import org.jetbrains.annotations.NotNull;
import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Date;
@ -866,9 +865,9 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
final MtbColt currentMtbColt = mArticoliInColloBottomSheetViewModel.mtbColt.get();
ColliMagazzinoRESTConsumer.doesColloContainsAnyRow(currentMtbColt, containRows -> {
ColliMagazzinoRESTConsumer.canLUBeDeleted(currentMtbColt, canBeDeleted -> {
if(containRows) {
if(!canBeDeleted) {
Runnable saveAction = () -> {
ColliMagazzinoRESTConsumer.updateDataFine(
mActivity,