H
harveyspecter author
Hello, I have a wierd situation.. I have exactly same 3 data in same table. When I select one by one and use the code below with custom button its fine. Its working great.
global $dal;
while ( $data = $button->getNextSelectedRecord() ) {
$muvekkil = $data["alacak_yaralanma_muvekkil"];
$data2 = array();
$data2["muvekkil_isim"] = "$muvekkil";
$rs = DB::Select("muvekkil", $data2);
while( $record = $rs->fetchAssoc() )
{
$dogumtarihi = $record["muvekkil_dogumtarihi"];
$today = date("Y-m-d");
$diff = date_diff(date_create($dogumtarihi), date_create($today));
$yas = $diff->format('%y');
$muvekkilkazatarihigelir = $record["muvekkil_gelir"];
$muvekkilsonbilinengelir = $record["muvekkil_songelir"];
$muvekkilcinsiyet = $record["muvekkil_cinsiyet"];
}
$data3 = array();
$data3["yas"] = "$yas";
if ($muvekkilcinsiyet == 'Erkek'){
$rs2 = DB::Select("aktuer_erkek_mortalite", $data3);
}else if ($muvekkilcinsiyet == 'Kadın'){
$rs2 = DB::Select("aktuer_kadin_mortalite", $data3);
}
while( $record2 = $rs2->fetchAssoc() )
{
$n_degeri = $record2["n_degeri"];
$d_degeri = $record2["d_degeri"];
if ($muvekkilcinsiyet == 'Erkek'){
$n_60 = '438781,571612949';
}else if ($muvekkilcinsiyet == 'Kadın'){
$n_60 = '552856,718396499';
}
$yasamsuresi = $record2["yasam_suresi"];
$toplamyasamsuresi = ($yas + $yasamsuresi);
$roundyasamsuresi = round($toplamyasamsuresi);
}
$rs3 = DB::Select("aktuer_asgari_ucret", "CURRENT_DATE BETWEEN baslangic_tarihi AND bitis_tarihi");
while( $record3 = $rs3->fetchAssoc() )
{
$agiliucret = $record3["asgari_ucret_agili"];
$agisizucret = $record3["asgari_ucret_agisiz"];
}
//Aktif Dönem
$aktif_irat_katsayisi = (($n_degeri - $n_60) / $d_degeri);
if ($muvekkilsonbilinengelir == '0'){
$aktuer_aktif = (($aktif_irat_katsayisi * $agiliucret * 12 * $data["alacak_yaralanma_maluliyet"] * $data["alacak_yaralanma_kusur"]) / 10000);
}else{
$aktuer_aktif = (($aktif_irat_katsayisi * $muvekkilsonbilinengelir * 12 * $data["alacak_yaralanma_maluliyet"] * $data["alacak_yaralanma_kusur"]) / 10000);
}
// Pasif Dönem
$data4 = array();
$data4["yas"] = "$roundyasamsuresi";
if ($muvekkilcinsiyet == 'Erkek'){
$rs4 = DB::Select("aktuer_erkek_mortalite", $data4);
}else if ($muvekkilcinsiyet == 'Kadın'){
$rs4 = DB::Select("aktuer_kadin_mortalite", $data4);
}
while( $record4 = $rs4->fetchAssoc() )
{
$n_degeri_pasif = $record4["n_degeri"];
}
$pasif_irat_katsayisi = (($n_60 - $n_degeri_pasif) / $d_degeri);
$aktuer_pasif = (($pasif_irat_katsayisi * $agisizucret * 12 * $data["alacak_yaralanma_maluliyet"] * $data["alacak_yaralanma_kusur"]) / 10000); //Aktüer Pasif + Aktif
$aktuer_bilinmeyen_donem = ($aktuer_aktif + $aktuer_pasif); //Bilinen Dönem
$data5 = array();
$data5["dosya_no"] = $data["alacak_yaralanma_dosyano"];
$rs5 = DB::Select("dosyalar_all", $data5);
while( $record5 = $rs5->fetchAssoc() )
{
$kazatarihi = $record5["kaza_tarihi"];
} $start = new DateTime($kazatarihi);
$start->modify($data["alacak_yaralanma_gecici"] . ' Day');
$start2 = new DateTime($kazatarihi);
$bugun = date('d.m.Y');
$end = new DateTime($bugun);
$end->modify('+1 day');
$end2 = new DateTime($kazatarihi);
$end2->modify($data["alacak_yaralanma_bakici"] . ' Day');
$interval = DateInterval::createFromDateString('1 day');
$period = new DatePeriod($start, $interval, $end);
$period2 = new DatePeriod($start2, $interval, $start);
$period3 = new DatePeriod($start2, $interval, $end2);
//Bakıcı Gideri Tazminatı
foreach ($period3 as $dt3) {
$hesapgunubakici = $dt3->format("Y-m-d");
$rs8 = DB::Select("aktuer_asgari_ucret", "'$hesapgunubakici' BETWEEN baslangic_tarihi AND bitis_tarihi");
while( $record8 = $rs8->fetchAssoc() )
{
$agisizucretbakici = $record8["asgari_ucret_agisiz"];
}
$agisizucretbakicihesabi = (($data["alacak_yaralanma_kusur"] * $agisizucretbakici) / 3000);
$agisizucretbakicitoplam += $agisizucretbakicihesabi;
} //Gecici iş göremezlik süresi boyunca bilinen
foreach ($period2 as $dt2) {
$hesapgunugecici = $dt2->format("Y-m-d");
$rs7 = DB::Select("aktuer_asgari_ucret", "'$hesapgunugecici' BETWEEN baslangic_tarihi AND bitis_tarihi");
while( $record7 = $rs7->fetchAssoc() )
{
$agiliucretbilinengecici = $record7["asgari_ucret_agili"];
}
if ($muvekkilkazatarihigelir == '0'){
$agiliucretbilinengunlukgecici = (($data["alacak_yaralanma_kusur"] * $agiliucretbilinengecici) / 3000);
}else{
$agiliucretbilinengunlukgecici = (($data["alacak_yaralanma_kusur"] * $muvekkilkazatarihigelir) / 3000);
}
$agiliucretbilinengunlukgecicitoplam += $agiliucretbilinengunlukgecici;
} //Gecici sonrası bilinen dönem
foreach ($period as $dt) {
$hesapgunukalici = $dt->format("Y-m-d");
$rs6 = DB::Select("aktuer_asgari_ucret", "'$hesapgunukalici' BETWEEN baslangic_tarihi AND bitis_tarihi");
while( $record6 = $rs6->fetchAssoc() )
{
$agiliucretbilinenkalici = $record6["asgari_ucret_agili"];
}
if ($muvekkilkazatarihigelir == '0'){
$agiliucretbilinengunlukkalici = ($data["alacak_yaralanma_maluliyet"] * $data["alacak_yaralanma_kusur"] * ($agiliucretbilinenkalici / 30) / 10000);
}else{
$agiliucretbilinengunlukkalici = ($data["alacak_yaralanma_maluliyet"] * $data["alacak_yaralanma_kusur"] * ($muvekkilkazatarihigelir / 30) / 10000);
}
$agiliucretbilinengunlukkalicitoplam += $agiliucretbilinengunlukkalici;
}
$aktuer_bilinen_donem = ($agiliucretbilinengunlukgecicitoplam + $agiliucretbilinengunlukkalicitoplam); $butunaktuertoplam = ($aktuer_bilinmeyen_donem + $aktuer_bilinen_donem); $geciciduzeltilmis = round($agiliucretbilinengunlukgecicitoplam, 2);
$bilinendonemduzeltilmis = round($agiliucretbilinengunlukkalicitoplam, 2);
$bilinmeyenaktifduzeltilmis = round($aktuer_aktif, 2);
$bilinmeyenpasifduzeltilmis = round($aktuer_pasif, 2);
$butunaktuertoplamduzeltilmis = round($butunaktuertoplam, 2);
$agisizucretbakicitoplamduzeltimis = round($agisizucretbakicitoplam, 2);
$bilinenbilinmeyentoplam = round(($aktuer_pasif + $aktuer_aktif + $agiliucretbilinengunlukkalicitoplam), 2); $sql = "UPDATE alacak_yaralanma SET alacak_yaralanma_aktuer= 'Bilinen Dönem Hesabı : $bilinendonemduzeltilmis TL
Bilinmeyen Aktif Dönem : $bilinmeyenaktifduzeltilmis TL
Bilinmeyen Pasif Dönem : $bilinmeyenpasifduzeltilmis TL
Sürekli Sakatlık Toplam : $bilinenbilinmeyentoplam TL
Geçiçi İş Göremezlik : $geciciduzeltilmis TL
Bakıcı Gideri Tazminatı : $agisizucretbakicitoplamduzeltimis TL
Bütün Aktüer Toplamı : $butunaktuertoplamduzeltilmis TL' where ID=".$data["ID"];
CustomQuery($sql);
}
But when i select 3 of them. Its giving first data correct, second data (multiply) with 2, and third data (multiply) with 3. So i get a result like this: for example: $geciciduzeltilmis is like this:

As you can see its multiplying. But when i select one by one. Works fine.. Wierd for me.. Do you know why??
|
|