public static void kesiFiyatHesapla(List<Karar> islemKararListesi, List<Kesi> kesiListesi) {
int sayac = 0;
BigDecimal kullanilacakTutar = BigDecimal.ZERO;
BigDecimal ilkKesiIslemiFiyati = BigDecimal.ZERO;
Boolean ilkKesiIslemiMi = true;
if (GenelUtil.listeKontrolu(kesiListesi)) {
try {
Collections.sort(islemKararListesi, new Comparator<Karar>() {
public int compare(Karar karar, Karar kararKucukFiyat) {
return kararKucukFiyat.getIslem().getIslemTalepTutar().compareTo(karar.getIslem().getIslemTalepTutar());
}
});
} catch (Exception e) {
// TODO: handle exception
}
try {
for (Karar karar : islemKararListesi) {
if (karar.getIslem().getKucukMudahaleMi()) {
for (BREIslem breIslem : karar.getIslem().getAsIslemGrupKoduListesi()) {
if (breIslem.getAsIslemGrup().compareTo(kesiKuralinaTabiIslemler) == 0
&& karar.getKarar().compareTo(KararEnum.RET) != 0) {
if (karar.getIslem().getKurumdanGelenFiyat() != null
&& karar.getIslem().getKurumdanGelenFiyat().compareTo(karar.getIslem().getIslemTalepTutar()) < 0) {
kullanilacakTutar = karar.getIslem().getKurumdanGelenFiyat();
} else {
kullanilacakTutar = karar.getIslem().getIslemTalepTutar();
}
if(ilkKesiIslemiMi) {
ilkKesiIslemiMi = false;
ilkKesiIslemiFiyati = kullanilacakTutar;
}else if(ilkKesiIslemiFiyati.compareTo(kullanilacakTutar) == 0) {
karar.getIslem().setIslemTalepTutar((kullanilacakTutar.multiply(new BigDecimal(kesiListesi.get(sayac).getKesiOrani()))
.divide(new BigDecimal(100), RoundingMode.HALF_UP)).setScale(3));
}else {
karar.getIslem().setIslemTalepTutar(kullanilacakTutar);
}
sayac++;
}
}
}
}
} catch (Exception e) {
// TODO: handle exception
}
}
}