
Biografia
Sono un giovane programmatore italiano. 🙃
/* Io che scrivo del codice illegibile sapendo che i miei colleghi non capiranno una sega muhahahaha */ final List<MyRecord> tableRows = ctx.select().from(My.MY).where(My.ID.eq(id)).and(My.A.eq(a)).and(My.B.ne(BigDecimal.ZERO).or(My.C.ne(BigDecimal.ZERO)).or(My.D)).fetchInto(MyRecord.class).stream().collect(Collectors.groupingBy(rec -> new ArrayList<>(Arrays.asList(rec.getE(), rec.getF(), rec.getG(), rec.getH(), rec.getI(), rec.getL(), rec.getM(), rec.getN(), rec.getO(), rec.getP(), rec.getQ(), rec.getR(), rec.getS(), rec.getT(), rec.getU(), rec.getV(), rec.getZ(), rec.getAA(), rec.getAB(), rec.getAC(), rec.getAD())))).entrySet().stream().map(val -> { final List<MyRecord> groupedList = val.getValue(); final MyRecord finalRec = groupedList.get(0); finalRec.setD(groupedList.stream().map(MyRecord::getD).reduce(false, Boolean::logicalOr)); final boolean d = finalRec.getResetting(); if (d) { finalRec.setAE(BigDecimal.ZERO); finalRec.setB(BigDecimal.ZERO); finalRec.setC(BigDecimal.ZERO); } else { finalRec.setRecognisedQuantity(groupedList.stream().map(MyRecord::getAE).reduce(BigDecimal.ZERO, BigDecimal::add)); finalRec.setB(groupedList.stream().map(MyRecord::getB).reduce(BigDecimal.ZERO, BigDecimal::add)); finalRec.setC(groupedList.stream().map(MyRecord::getC).reduce(BigDecimal.ZERO, BigDecimal::add)); } return finalRec; }).collect(Collectors.toList());