void SQL_INDEX_BATCH::RUN_BATCH() { for ( int i = 0; i < NUMBER_OF_ROWS; i++ ) { for( int k = 0; k < NUMBER_OF_COMBOBOX; k++ ) { if (COMBOBOX_ARRAY[i][k]->currentIndex() EQ 0 ) { INDEXLER_ARRAY[NUMBER_OF_COMBOBOX + k + NUMBER_OF_COMBOBOX*i] = 0; } else { INDEXLER_ARRAY[NUMBER_OF_COMBOBOX + k + NUMBER_OF_COMBOBOX*i] = GET_ALAN_ID(p_tablo_id, COMBOBOX_ARRAY[i][k]->currentText()); } } } QString array_content = PACK_INT_ARRAY(INDEXLER_ARRAY,INDEXLER_ARRAY_SIZE); SQL_QUERY query (DB); query.PREPARE_UPDATE("sql_tablolar","tablo_id","indexler_array","tablo_id=:tablo_id"); query.SET_VALUE (":indexler_array",array_content); query.SET_VALUE (":tablo_id" ,p_tablo_id); query.UPDATE(); DB->COMMIT_TRANSACTION(); }
int GRP_GRUP_EKLE ( ADAK_GRUP_STRUCT * grup ) { int grup_seviyesi = 0; int alt_grup_sayisi = 0; QString tam_grup_kodu = grup->grup_kodu; SQL_QUERY query ( DB ); if (grup->grup_parent_id > 0) { query.PREPARE_SELECT("adak_gruplar","grup_seviyesi, tam_grup_kodu,alt_grup_sayisi","grup_id = :grup_id",""); query.SET_VALUE(":grup_id" , grup->grup_parent_id); if (query.SELECT() NE 0) { query.NEXT(); grup_seviyesi = query.VALUE("grup_seviyesi").toInt() + 1; tam_grup_kodu.prepend(QString (" " + query.VALUE("tam_grup_kodu").toString())); alt_grup_sayisi = query.VALUE("alt_grup_sayisi").toInt(); } query.PREPARE_UPDATE("adak_gruplar","grup_id","grup_son_seviye_mi, alt_grup_sayisi = alt_grup_sayisi + 1","grup_id = :grup_id"); query.SET_VALUE(":grup_son_seviye_mi",0); query.SET_VALUE(":alt_grup_sayisi" ,(alt_grup_sayisi+1)); query.SET_VALUE(":grup_id" ,grup->grup_parent_id); query.UPDATE(); } query.PREPARE_INSERT("adak_gruplar","grup_id","grup_parent_id,grup_seviyesi, " "grup_son_seviye_mi, gruptaki_kayit_sayisi,alt_grup_sayisi,modul_id, " "program_id, grup_kodu,grup_adi,tam_grup_kodu"); query.SET_VALUE(":grup_parent_id" , grup->grup_parent_id); query.SET_VALUE(":grup_seviyesi" , grup_seviyesi); query.SET_VALUE(":grup_son_seviye_mi" , 1); query.SET_VALUE(":gruptaki_kayit_sayisi", 0); query.SET_VALUE(":alt_grup_sayisi" , 0); query.SET_VALUE(":modul_id" , grup->modul_id); query.SET_VALUE(":program_id" , grup->program_id); query.SET_VALUE(":grup_kodu" , grup->grup_kodu); query.SET_VALUE(":grup_adi" , grup->grup_adi); query.SET_VALUE(":tam_grup_kodu" , tam_grup_kodu); return query.INSERT(); }
int SQL_TABLOLAR_FISI::ADD_FIS_RECORD() { SQL_QUERY sql_query ( DB ); sql_query.PREPARE_INSERT ( "sql_tablolar","tablo_id","tablo_adi, aciklama"); sql_query.SET_VALUE (":tablo_adi" , m_ui->lineEdit_tablo_adi->text() ); sql_query.SET_VALUE (":aciklama" , m_ui->limitedTextEdit_aciklama->toPlainText() ); int tablo_id = sql_query.INSERT(); sql_query.PREPARE_INSERT( "sql_alanlar","alan_id", "tablo_id, alan_order_num, alan_adi, veritabanindaki_adi, " "alan_tipi, uzunluk, auto_increment_mi, not_null_mi, dizi_mi, dizi_boyutu, aciklama "); sql_query.SET_VALUE ( ":tablo_id" , tablo_id ); sql_query.SET_VALUE ( ":alan_order_num" , 1 ); sql_query.SET_VALUE ( ":alan_adi" , m_ui->lineEdit_alan_adi->text() ); sql_query.SET_VALUE ( ":veritabanindaki_adi" , m_ui->lineEdit_alan_adi->text() ); sql_query.SET_VALUE ( ":alan_tipi" , "INTEGER" ); sql_query.SET_VALUE ( ":uzunluk" , 0 ); sql_query.SET_VALUE ( ":auto_increment_mi" , 1 ); sql_query.SET_VALUE ( ":not_null_mi" , 1 ); sql_query.SET_VALUE ( ":dizi_mi" , 0 ); sql_query.SET_VALUE ( ":dizi_boyutu" , 1 ); sql_query.SET_VALUE ( ":aciklama" , tr("Column for Table UNIQUE FIELD ID"));//Tablo UNIQUE ALAN ID kolonu int row_id = sql_query.INSERT(); int indexler_array [INDEXLER_ARRAY_SIZE] = {0}; indexler_array[0] = row_id; QString array_content = PACK_INT_ARRAY(indexler_array,INDEXLER_ARRAY_SIZE); SQL_QUERY query (DB); query.PREPARE_UPDATE("sql_tablolar","tablo_id","indexler_array","tablo_id=:tablo_id"); query.SET_VALUE (":indexler_array",array_content); query.SET_VALUE (":tablo_id" ,tablo_id); query.UPDATE(); return tablo_id; }
void GRP_KAYDI_GRUPLARA_EKLE ( int program_id , int module_id ,int record_id , QList<int> * grup_idleri ) { QString gruplar_str = ""; SQL_QUERY query ( DB ); if (grup_idleri->size() NE 0) { for ( int i = 0 ; i < grup_idleri->size() ; i++ ) { gruplar_str.append("\t"); gruplar_str.append(QVariant(grup_idleri->at(i)).toString()); gruplar_str.append("\t"); } } query.PREPARE_SELECT ( "adak_kaydin_gruplari","id,gruplar","record_id = :record_id AND module_id = :module_id AND program_id = :program_id" ,""); query.SET_VALUE ( ":record_id" , record_id ); query.SET_VALUE ( ":module_id" , module_id ); query.SET_VALUE ( ":program_id", program_id ); if ( query.SELECT() NE 0 ) { query.NEXT(); int id = query.VALUE(0).toInt(); QStringList gruplar = query.VALUE(1).toString().split("\t",QString::SkipEmptyParts); query.PREPARE_UPDATE("adak_kaydin_gruplari","id","gruplar","id = :id"); query.SET_VALUE(":gruplar" ,QVariant(gruplar_str).toByteArray()); query.SET_VALUE(":id",id); query.UPDATE(); for ( int i = 0 ; i < grup_idleri->size() ; i++ ) { if (gruplar.contains(QVariant(grup_idleri->at(i)).toString()) EQ true) { gruplar.removeAt(i); continue; } query.PREPARE_SELECT("adak_gruplar","gruptaki_kayit_sayisi","grup_id=:grup_id",""); query.SET_VALUE(":grup_id",grup_idleri->at(i)); if ( query.SELECT() EQ 0 ) { return; } query.NEXT(); int value = query.VALUE(0).toInt(); query.PREPARE_UPDATE("adak_gruplar","grup_id","gruptaki_kayit_sayisi","grup_id=:grup_id"); query.SET_VALUE(":gruptaki_kayit_sayisi",(value+1)); query.SET_VALUE(":grup_id",grup_idleri->at(i)); query.UPDATE(); } for ( int i = 0 ; i < gruplar.size() ; i++ ) { if (gruplar.at(i).toInt() NE 0 ) { query.PREPARE_SELECT("adak_gruplar","gruptaki_kayit_sayisi","grup_id=:grup_id",""); query.SET_VALUE(":grup_id",gruplar.at(i)); if ( query.SELECT() EQ 0 ) { return; } query.NEXT(); int value = query.VALUE(0).toInt(); query.PREPARE_UPDATE("adak_gruplar","grup_id","gruptaki_kayit_sayisi","grup_id=:grup_id AND gruptaki_kayit_sayisi > 0 "); query.SET_VALUE(":gruptaki_kayit_sayisi",(value - 1)); query.SET_VALUE(":grup_id",gruplar.at(i)); query.UPDATE(); } } return; } query.PREPARE_INSERT("adak_kaydin_gruplari","id", "record_id,gruplar,module_id,program_id "); query.SET_VALUE(":record_id", record_id ); query.SET_VALUE(":gruplar", QVariant(gruplar_str).toByteArray() ); query.SET_VALUE(":module_id", module_id ); query.SET_VALUE(":program_id",program_id ); query.INSERT(); for ( int i = 0 ; i < grup_idleri->size() ; i++ ) { query.PREPARE_SELECT("adak_gruplar","gruptaki_kayit_sayisi","grup_id=:grup_id",""); query.SET_VALUE(":grup_id",grup_idleri->at(i)); if ( query.SELECT() EQ 0 ) { return; } query.NEXT(); int value = query.VALUE(0).toInt(); query.PREPARE_UPDATE("adak_gruplar","grup_id","gruptaki_kayit_sayisi","grup_id=:grup_id"); query.SET_VALUE(":gruptaki_kayit_sayisi",(value+1)); query.SET_VALUE(":grup_id",grup_idleri->at(i)); query.UPDATE();; } }
void CHECK_VERSION_UPGRADES (QString program_version_column_name , QString program_version_db_name, void UPGRADE_TO_VERSION_FUNC(QString) ) { SQL_QUERY query ( DB ); query.PREPARE_SELECT(program_version_db_name,program_version_column_name); if ( query.SELECT() EQ 0 ) { return; } query.NEXT(); double program_version_in_db = query.VALUE(0).toDouble(); double new_program_version = ADAK_PROGRAM_VERSION(ADAK_VERITABANI_ID()).toDouble(); if (program_version_in_db EQ new_program_version) { return; } if ( program_version_in_db > new_program_version ) { ADAK_ERROR(QObject::tr("Version of this program is smaller than the version of the database. Update the program, otherwise the data will be corrupted."),NULL,NULL); exit(77);//Bu programın versiyonu , veritabanının versiyonundan daha küçük. Programı güncelleyin , aksi taktirde verileriniz bozulur. } VERITABANLARINI_GUNCELLE(); // QSplashScreen * splash = CREATE_SPLASH_SCREEN(); // splash->show(); // splash->showMessage((QString(QObject::tr("Upgrading Programme. Please wait..."))), Qt::AlignCenter, Qt::white );//Programınızın versiyonu yükseltiliyor. Lütfen Bekleyiniz... double current_program_version = program_version_in_db; DB->START_TRANSACTION(); while ( current_program_version < new_program_version ) { QString version = QVariant(current_program_version).toString(); QStringList info = version.split(".",QString::SkipEmptyParts,Qt::CaseInsensitive); version.clear(); if (info.size() NE 2) { version.append(info.at(0) + ".00"); } else { if (info.at(1).size() NE 2) { version.append(info.at(0) + "." + info.at(1) + "0"); } else { version.append(info.at(0) + "." + info.at(1)); } } UPGRADE_TO_VERSION_FUNC(version); current_program_version = ROUND (current_program_version + 0.01); } query.PREPARE_UPDATE (program_version_db_name , "" , program_version_column_name , ""); query.SET_VALUE ( QString(":%1").arg(program_version_column_name) , ADAK_PROGRAM_VERSION(ADAK_VERITABANI_ID()).toDouble()); query.UPDATE(); // splash->finish(NULL); // ADAK_WARNING(QObject::tr("Version of programme is upgrade.\n")+ // QObject::tr("Please check User Authority for new properties. \n")+ // QObject::tr("You can set User Authorization in the User's Screen.\n\n")+ // QObject::tr("You can use Management Actions -> E9 repair for resolving some errors.") // ,NULL,NULL); DB->COMMIT_TRANSACTION(); }
void FAT_TOPLU_FATURALASTIR_ARAMA::FATURALASTIR( int p_irsaliye_fis_id ) { SQL_QUERY query ( DB ); FATURA_FISI_STRUCT * FATURA_FISI = new FATURA_FISI_STRUCT; FATURA_FIS_SATIRI_STRUCT * FATURA_FIS_SATIRI = new FATURA_FIS_SATIRI_STRUCT; FATURA_FISI->KDV_ORANLARI_ARRAY = new double [KDV_OTV_ORANLARI_SAYISI]; FATURA_FISI->KDV_HESAPLARI_ID_ARRAY = new int [KDV_OTV_ORANLARI_SAYISI]; FATURA_FISI->KDV_ORANINA_GORE_TUTARLAR_ARRAY = new double [KDV_OTV_ORANLARI_SAYISI]; FATURA_FISI->OTV_ORANLARI_ARRAY = new double [KDV_OTV_ORANLARI_SAYISI]; FATURA_FISI->OTV_HESAPLARI_ID_ARRAY = new int [KDV_OTV_ORANLARI_SAYISI]; FATURA_FISI->OTV_ORANINA_GORE_TUTARLAR_ARRAY = new double [KDV_OTV_ORANLARI_SAYISI]; FATURA_FISI->TEVKIFATLI_KDV_HESAPLARI_ID_ARRAY = new int [KDV_OTV_ORANLARI_SAYISI]; FATURA_CLEAR_FIS_STRUCT ( FATURA_FISI ); FATURA_KDV_OTV_DEGISKENLERINE_ILK_DEGERLERINI_YAZ ( FATURA_FISI ); STK_IRS_FIS_STRUCT * STK_FIS = new STK_IRS_FIS_STRUCT; STK_IRS_FIS_SATIR_STRUCT * STK_FIS_SATIRI = new STK_IRS_FIS_SATIR_STRUCT; STK_IRS_CLEAR_FIS_STRUCT( STK_FIS ); STK_IRS_FIS_BILGILERINI_OKU( p_irsaliye_fis_id, STK_FIS ); QString cari_hesap_adresi; cari_hesap_adresi = CARI_GET_ADRES_BILGILERI( STK_FIS->cari_hesap_id ); DB->START_TRANSACTION (); //FATURA KAYDI EKLENECEK SUBE_UNITE_BILGILERI_STRUCT UNITE_BILG; SUBE_UNITE_BILGILERI_OKU( &UNITE_BILG, SUBE_GET_UNITE_ID() ); FATURA_FISI->belge_numarasi = UNITE_BILG.fatura_belge_numarasi; FATURA_FISI->belge_seri = UNITE_BILG.fatura_belge_seri; FATURA_FISI->fis_no = FAT_SIRADAKI_FIS_NO_AL ( m_ui->adakDate_fatura_tarihi->DATE() ); FATURA_FISI->aciklama = tr ( "Fatura, toplu irsaliye faturalaştırma işlemi sonucu üretilmiştir." ); FATURA_FISI->fatura_tarihi = m_ui->adakDate_fatura_tarihi->DATE(); FATURA_FISI->fatura_turu = ENUM_FAT_IRSALIYESIZ_SATIS_FATURASI; FATURA_FISI->fatura_alis_satis_turu = ENUM_SATIS_IRSALIYESI_FATURASI; FATURA_FISI->acik_kapali_fatura = ENUM_ACIK_FATURA; FATURA_FISI->cari_hesap_id = STK_FIS->cari_hesap_id; FATURA_FISI->cari_hesap_ismi = STK_FIS->cari_hesap_ismi; FATURA_FISI->cari_hesap_adresi = cari_hesap_adresi; FATURA_FISI->vergi_dairesi = STK_FIS->vergi_dairesi; FATURA_FISI->vergi_numarasi = STK_FIS->vergi_numarasi; FATURA_FISI->modul_id = FATURA_MODULU; FATURA_FISI->program_id = E9_PROGRAMI; FATURA_FISI->fatura_irsaliyelestirildi_mi = 1; int fatura_fis_id = FATURA_FISI_EKLE ( FATURA_FISI ); //FATURA SATIRLARI EKLENECEK //faturaya referans eden irsaliyeler kaydediliyor. query.PREPARE_INSERT("fat_irs_baglantisi" , "kayit_id" , "fatura_id, irsaliye_id"); query.SET_VALUE ( ":fatura_id" , fatura_fis_id ); query.SET_VALUE ( ":irsaliye_id" , p_irsaliye_fis_id ); query.INSERT (); STK_UPDATE_IRSALIYE_FATURALASTIRILDI_MI( p_irsaliye_fis_id , 1); int order_number = 0; QList<int> irs_str_id_list = STK_GET_FIS_SATIRI_ID_LIST( p_irsaliye_fis_id ); for ( int i = 0 ; i < irs_str_id_list.size() ; i++ ) { STK_IRS_CLEAR_SATIR_STRUCT ( STK_FIS_SATIRI ); STK_IRS_SATIR_BILGILERINI_OKU( irs_str_id_list.at( i ), STK_FIS_SATIRI ); STK_FATURALANAN_MIKTARI_GUNCELLE( irs_str_id_list.at( i ) , STK_FIS_SATIRI->satirdaki_urun_miktari ); order_number += 1024; FATURA_CLEAR_FIS_SATIRI_STRUCT ( FATURA_FIS_SATIRI ); FATURA_FIS_SATIRI->doviz_id = STK_FIS_SATIRI->doviz_id; FATURA_FIS_SATIRI->doviz_kodu = STK_FIS_SATIRI->doviz_kodu; FATURA_FIS_SATIRI->fis_id = fatura_fis_id; if ( STK_FIS_SATIRI->satir_tutari > 0 ) { FATURA_FIS_SATIRI->fiyat_irsaliyeden_alindi = 1; } FATURA_FIS_SATIRI->modul_id = FATURA_FISI->modul_id; FATURA_FIS_SATIRI->program_id = FATURA_FISI->program_id; FATURA_FIS_SATIRI->order_number = order_number; FATURA_FIS_SATIRI->irsaliyelenen_miktar = STK_FIS_SATIRI->satirdaki_urun_miktari; FATURA_FIS_SATIRI->isk_oncesi_urun_birim_fiyati = STK_FIS_SATIRI->isk_oncesi_urun_birim_fiyati; FATURA_FIS_SATIRI->isk_sonrasi_urun_birim_fiyati = STK_FIS_SATIRI->isk_sonrasi_urun_birim_fiyati; FATURA_FIS_SATIRI->kdv_dahil_mi = STK_FIS_SATIRI->kdv_dahil_mi; FATURA_FIS_SATIRI->kdv_orani = STK_FIS_SATIRI->kdv_orani; FATURA_FIS_SATIRI->otv_orani = STK_FIS_SATIRI->otv_orani; FATURA_FIS_SATIRI->satirdaki_urun_miktari = STK_FIS_SATIRI->satirdaki_urun_miktari; FATURA_FIS_SATIRI->satir_iskonto_yuzdesi = STK_FIS_SATIRI->iskonto_yuzdesi; FATURA_FIS_SATIRI->satir_iskonto_tutari = STK_FIS_SATIRI->iskonto_tutari; FATURA_FIS_SATIRI->satir_kdv_dahil_tutar = STK_FIS_SATIRI->satir_kdv_dahil_tutar; FATURA_FIS_SATIRI->satir_kdv_tutari = STK_FIS_SATIRI->satir_kdv_tutari; FATURA_FIS_SATIRI->satir_otv_dahil_tutar = STK_FIS_SATIRI->satir_otv_dahil_tutar; FATURA_FIS_SATIRI->satir_otv_tutari = STK_FIS_SATIRI->satir_otv_tutari; FATURA_FIS_SATIRI->satir_vergi_haric_tutar = STK_FIS_SATIRI->satir_vergi_haric_tutar; FATURA_FIS_SATIRI->satir_tutari = STK_FIS_SATIRI->satir_tutari; FATURA_FIS_SATIRI->temel_birim_katsayisi = STK_FIS_SATIRI->temel_birim_katsayisi; FATURA_FIS_SATIRI->t_is_son_birim_fiyati = STK_FIS_SATIRI->t_is_sonrasi_birim_fiyat; FATURA_FIS_SATIRI->t_is_son_satir_tutari = STK_FIS_SATIRI->t_is_sonrasi_satir_tutari; FATURA_FIS_SATIRI->t_is_son_str_vergi_haric_tutar = STK_FIS_SATIRI->t_is_sonrasi_vergi_haric_tutar; FATURA_FIS_SATIRI->t_is_son_satir_otv_tutari = STK_FIS_SATIRI->t_is_sonrasi_otv_tutari; FATURA_FIS_SATIRI->t_is_son_satir_otv_dahil_tutar = STK_FIS_SATIRI->t_is_sonrasi_otv_dahil_tutar; FATURA_FIS_SATIRI->t_is_son_satir_kdv_tutari = STK_FIS_SATIRI->t_is_sonrasi_kdv_tutari; FATURA_FIS_SATIRI->t_is_son_satir_kdv_dahil_tutar = STK_FIS_SATIRI->t_is_sonrasi_kdv_dahil_tutar; FATURA_FIS_SATIRI->urun_adi = STK_FIS_SATIRI->urun_adi; FATURA_FIS_SATIRI->urun_birimi = STK_FIS_SATIRI->urun_birimi; FATURA_FIS_SATIRI->urun_id = STK_FIS_SATIRI->urun_id; //irsaliye satirinda fiyat varsa ,fatura satirina aynen kaydedilir.Degistirilemez. int fis_satiri_id = FATURA_FIS_SATIRI_EKLE ( FATURA_FISI, FATURA_FIS_SATIRI ); SQL_QUERY insert_query( DB ); insert_query.PREPARE_INSERT("fat_irs_satir_baglantisi" , "kayit_id" , "fatura_satiri_id, irsaliye_satiri_id"); insert_query.SET_VALUE ( ":fatura_satiri_id", fis_satiri_id ); insert_query.SET_VALUE ( ":irsaliye_satiri_id", irs_str_id_list.at( i ) ); insert_query.INSERT (); } int hatali_fatura_mi = 0; query.PREPARE_SELECT ( "fat_fatura_satirlari","satir_tutari" ,"fis_id = :fis_id" ); query.SET_VALUE ( ":fis_id" , fatura_fis_id ); if ( query.SELECT() > 0 ) { while ( query.NEXT() EQ true ) { if ( query.VALUE(0).toDouble() EQ 0 ) { //Fatura satirlarinda tutar bilgisi yoksa fatura hatali kabul edilir. hatali_fatura_mi = 1; break; } } } FATURA_FISI->iskonto_tutari = ROUND ( FATURA_FISI->brut_tutar - FATURA_FISI->ara_toplam ); FATURA_FISI->iskonto_yuzdesi = ROUND ( ( ( FATURA_FISI->iskonto_tutari ) / FATURA_FISI->brut_tutar ) * 100 ); query.PREPARE_UPDATE ( "fat_faturalar ","fis_id", "iskonto_yuzdesi , " "iskonto_tutari, " "hatali_fatura_mi ", "fis_id = :fis_id" ); query.SET_VALUE ( ":iskonto_yuzdesi", FATURA_FISI->iskonto_yuzdesi ); query.SET_VALUE ( ":iskonto_tutari", FATURA_FISI->iskonto_tutari ); query.SET_VALUE ( ":hatali_fatura_mi", hatali_fatura_mi ); query.SET_VALUE ( ":fis_id", fatura_fis_id ); query.UPDATE(); QString cari_hesap_kodu_adi = m_ui->searchEdit_cari_hesap_kodu->GET_TEXT() + " " + m_ui->lineEdit_cari_hesap_ismi->text(); QString fatura_no = "<font color = \"red\">"+ QVariant ( FATURA_FISI->fis_no ).toString() + "</font>"; if ( hatali_fatura_mi EQ 1 ) { QMessageBox::warning ( this, tr("Hatalı Fatura Oluşturldu"), tr("%1 cari hesabına ait, verilen tarih aralığındaki " "irsaliyeler faturalaştırılırken %2 'nolu " "hatalı fatura oluşturuldu.").arg ( cari_hesap_kodu_adi ) .arg ( fatura_no ) ); SET_FOCUS( m_ui->searchEdit_cari_hesap_kodu ); delete FATURA_FISI; delete FATURA_FIS_SATIRI; DB->COMMIT_TRANSACTION(); return; } FAT_FATURA_ENT_FISLERINI_OLUSTUR( FATURA_FISI, fatura_fis_id ); QString log_detaylari = QObject::tr("Toplu İrsaliye Faturalaştırma , Cari Hesap Kodu / Adı : "); log_detaylari.append ( m_ui->searchEdit_cari_hesap_kodu->GET_TEXT() + " " + m_ui->lineEdit_cari_hesap_ismi->text() + " , Fatura Tarihi : " + m_ui->adakDate_fatura_tarihi->QDATE().toString("dd MMMM yyyy") +" \nİrsaliye Tarih Aralığı : " + m_ui->adakDate_irs_baslangic_tarihi->QDATE().toString("dd MMMM yyyy") + " - " + m_ui->adakDate_irs_bitis_tarihi->QDATE().toString("dd MMMM yyyy") + "\nŞube Kodu / Adı : " + m_ui->searchEdit_sube_kodu->GET_TEXT() + " " + m_ui->lineEdit_sube_ismi->text()); E9_LOG_KAYDI_EKLE ( FATURA_MODULU , LOG_FAT_TOPLU_FATURALASTIRMA , -1, log_detaylari ); DB->COMMIT_TRANSACTION(); delete FATURA_FISI; delete FATURA_FIS_SATIRI; delete STK_FIS; delete STK_FIS_SATIRI; accept(); }
void DMR_FIS_SATIRI_SIL(DMR_FIS_STRUCT *P_FIS, int p_fis_satiri_id) { SQL_QUERY query ( DB ); query.PREPARE_SELECT("dmr_fis_satirlari , dmr_fisler" , "dmr_fisler.program_id," "dmr_fisler.modul_id,base_fis_id ,fis_tarihi , " "demirbas_id , toplam_tutar , satir_tutari , " "dmr_fis_satirlari.fis_id , toplam_birikmis_amor_tutari," "birikmis_amortisman_tutari,base_record_id", "dmr_fisler.fis_id = dmr_fis_satirlari.fis_id AND " "fis_satiri_id = :fis_satiri_id"); query.SET_VALUE(":fis_satiri_id" , p_fis_satiri_id); if ( query.SELECT() EQ 0 ) { return; } query.NEXT(); int program_id = query.VALUE(0).toInt(); int modul_id = query.VALUE(1).toInt(); int base_fis_id = query.VALUE(2).toInt(); if ( P_FIS->program_id NE program_id OR P_FIS->modul_id NE modul_id OR P_FIS->base_fis_id NE base_fis_id ) { return; } QDate fis_tarihi = QDate::fromString(query.VALUE(3).toString() , "yyyy.MM.dd"); int demirbas_id = query.VALUE(4).toInt(); double toplam_tutar = query.VALUE(5).toDouble(); double satir_tutari = query.VALUE(6).toDouble(); int fis_id = query.VALUE(7).toInt(); double toplam_birikmis_amor_tutari = query.VALUE(8).toDouble(); double birikmis_amor_tutari = query.VALUE(9).toDouble(); int base_record_id = query.VALUE(10).toInt(); query.PREPARE_SELECT ( "dmr_demirbaslar","yillik_ayrilan_amor_yuzdesi," "toplamda_ayrilan_amor_yuzdesi," "amortisman_orani," "amortisman_ayrilabilir_mi , yeniden_degerleme_yapildi ," "yeni_brkms_amortisman_tutari , demirbasin_yeni_degeri", "demirbas_id = :demirbas_id" ); query.SET_VALUE (":demirbas_id" , demirbas_id); if ( query.SELECT() EQ 0 ) { return; } query.NEXT(); double yillik_ayrilan_amortisman_yuzdesi = query.VALUE(0).toDouble(); double toplamda_ayrilan_amortisman_yuzdesi = query.VALUE(1).toDouble(); double amortisman_orani = query.VALUE(2).toDouble(); int amortisman_ayrilabilir_mi = query.VALUE(3).toInt(); int yeniden_degerleme_yapildi = query.VALUE(4).toInt(); double yeni_birikmis_amortisman_tutari = query.VALUE(5).toDouble(); double demirbasin_yeni_degeri = query.VALUE(6).toDouble(); if ( P_FIS->fis_turu EQ YENIDEN_DEGERLEME_FISI ) { yeniden_degerleme_yapildi = 0; yeni_birikmis_amortisman_tutari = 0; demirbasin_yeni_degeri = 0; } else { if ( yillik_ayrilan_amortisman_yuzdesi EQ 100 ) { toplamda_ayrilan_amortisman_yuzdesi -= amortisman_orani; } yillik_ayrilan_amortisman_yuzdesi -= P_FIS->dusulecek_amor_yuzdesi; if ( toplamda_ayrilan_amortisman_yuzdesi < 100 ) { amortisman_ayrilabilir_mi = 1; } } query.PREPARE_UPDATE ( "dmr_demirbaslar","demirbas_id","yillik_ayrilan_amor_yuzdesi ," "toplamda_ayrilan_amor_yuzdesi , " "amortisman_ayrilabilir_mi ," "yeniden_degerleme_yapildi , yeni_brkms_amortisman_tutari," "demirbasin_yeni_degeri", "demirbas_id = :demirbas_id" ); query.SET_VALUE ( ":yillik_ayrilan_amor_yuzdesi" , yillik_ayrilan_amortisman_yuzdesi ); query.SET_VALUE ( ":toplamda_ayrilan_amor_yuzdesi" , toplamda_ayrilan_amortisman_yuzdesi ); query.SET_VALUE ( ":amortisman_ayrilabilir_mi" , amortisman_ayrilabilir_mi ); query.SET_VALUE ( ":yeniden_degerleme_yapildi" , yeniden_degerleme_yapildi ); query.SET_VALUE ( ":yeni_brkms_amortisman_tutari" , yeni_birikmis_amortisman_tutari); query.SET_VALUE ( ":demirbasin_yeni_degeri" , demirbasin_yeni_degeri); query.SET_VALUE ( ":demirbas_id" , demirbas_id ); query.UPDATE(); toplam_tutar -= satir_tutari; toplam_birikmis_amor_tutari -= birikmis_amor_tutari; P_FIS->toplam_tutar = toplam_tutar; P_FIS->top_birikmis_amor_tutari = toplam_birikmis_amor_tutari; query.PREPARE_UPDATE ( "dmr_fisler","fis_id","toplam_tutar ,toplam_birikmis_amor_tutari", "fis_id = :fis_id"); query.SET_VALUE ( ":toplam_tutar" , P_FIS->toplam_tutar ); query.SET_VALUE ( ":toplam_birikmis_amor_tutari" , P_FIS->top_birikmis_amor_tutari); query.SET_VALUE ( ":fis_id" , fis_id ); query.UPDATE(); query.PREPARE_DELETE ( "dmr_fis_satirlari","fis_satiri_id = :fis_satiri_id" ); query.SET_VALUE ( ":fis_satiri_id" , p_fis_satiri_id); query.DELETE(); if ( P_FIS->fis_turu EQ AMORTISMAN_AYIRMA_FISI ) { DMR_AMORTISMAN_TUTARINI_AZALT ( demirbas_id, MALI_YIL_ARRAY_INDIS ( fis_tarihi),satir_tutari); } if ( base_record_id EQ 0 ) { base_record_id = p_fis_satiri_id; } if ( P_FIS->base_fis_id EQ 0 ) { P_FIS->base_fis_id = fis_id; } //ISLETME_ENTEGRASYONU int isl_fis_id = ISL_GET_ENT_FIS_ID(P_FIS->modul_id , P_FIS->program_id , P_FIS->base_fis_id); if ( isl_fis_id > 0 ) { ISL_FIS_STRUCT * ISL_FISI = new ISL_FIS_STRUCT; ISL_CLEAR_FIS_STRUCT(ISL_FISI); ISL_FIS_BILGILERINI_OKU(ISL_FISI , isl_fis_id); int isl_fis_satiri_id = ISL_GET_ENT_FIS_SATIRI_ID(P_FIS->modul_id , P_FIS->program_id , base_record_id); ISL_FIS_SATIRI_SIL(ISL_FISI , isl_fis_satiri_id); delete ISL_FISI; } //MUHASEBE ENTEGRASYONU MUH_FIS_STRUCT * MUHASEBE_FISI = new MUH_FIS_STRUCT; MUH_CLEAR_FIS_STRUCT(MUHASEBE_FISI); MUH_FIS_BILGILERINI_OKU(MUHASEBE_FISI , P_FIS->muh_fis_id); QStringList MUH_ROW_ID_LIST = MUH_GET_ENT_ROW_ID_LIST(P_FIS->program_id,P_FIS->modul_id , base_record_id); for ( int i = 0 ; i < MUH_ROW_ID_LIST.size() ; i++ ) { int muh_fis_satiri_id = QVariant(MUH_ROW_ID_LIST.at(i)).toInt(); MUH_FIS_SATIRINI_SIL(MUHASEBE_FISI , muh_fis_satiri_id); } delete MUHASEBE_FISI; }
void DMR_FIS_GUNCELLE(DMR_FIS_STRUCT *P_FIS, int p_fis_id) { SQL_QUERY query (DB); query.PREPARE_SELECT("dmr_fisler" , "fis_tarihi , modul_id , program_id , base_fis_id", "fis_id = :fis_id"); query.SET_VALUE(":fis_id" , p_fis_id); if ( query.SELECT() EQ 0 ) { return; } query.NEXT(); QString fis_tarihi = query.VALUE(0).toString(); int modul_id = query.VALUE(1).toInt(); int program_id = query.VALUE(2).toInt(); int base_fis_id = query.VALUE(3).toInt(); if ( P_FIS->modul_id NE modul_id OR P_FIS->program_id NE program_id OR P_FIS->base_fis_id NE base_fis_id ) { return; } if ( P_FIS->fis_turu EQ AMORTISMAN_AYIRMA_FISI ) { if ( fis_tarihi NE P_FIS->fis_tarihi ) { //fis tarihi degistiginde eski tarihten baslayarak amortisman tutari azaltilir\yeni tarihe gore tekrardan arttirilir int old_gun_no = MALI_YIL_ARRAY_INDIS ( QDate::fromString(fis_tarihi , "yyyy.MM.dd") ); int gun_no = MALI_YIL_ARRAY_INDIS ( QDate::fromString(P_FIS->fis_tarihi , "yyyy.MM.dd")); query.PREPARE_SELECT ( "dmr_fisler,dmr_fis_satirlari","demirbas_id,satir_tutari ", "dmr_fisler.fis_id = dmr_fis_satirlari.fis_id AND " "dmr_fisler.fis_id = :fis_id" ); query.SET_VALUE ( ":fis_id" , p_fis_id ); if ( query.SELECT() NE 0 ) { while ( query.NEXT() ) { int demirbas_id = query.VALUE(0).toInt(); double satir_tutari = query.VALUE(1).toDouble(); DMR_AMORTISMAN_TUTARINI_AZALT ( demirbas_id , old_gun_no , satir_tutari ); DMR_AMORTISMAN_TUTARINI_ARTTIR ( demirbas_id , gun_no , satir_tutari ); } } } } query.PREPARE_UPDATE("dmr_fisler" , "fis_id" , "fis_no,aciklama,fis_tarihi," "dusulecek_amortisman_yuzdesi,degerleme_orani" , "fis_id = :fis_id"); query.SET_VALUE(":fis_no" , P_FIS->fis_no ); query.SET_VALUE(":aciklama" , P_FIS->aciklama); query.SET_VALUE(":fis_tarihi" , P_FIS->fis_tarihi); query.SET_VALUE(":dusulecek_amortisman_yuzdesi" , P_FIS->dusulecek_amor_yuzdesi); query.SET_VALUE(":degerleme_orani" , P_FIS->degerleme_orani); query.SET_VALUE(":fis_id" , p_fis_id); query.UPDATE(); if ( P_FIS->base_fis_id EQ 0 ) { P_FIS->base_fis_id = p_fis_id; } //ISLETME ENTEGRASYONU int isl_fis_id = ISL_GET_ENT_FIS_ID(P_FIS->modul_id , P_FIS->program_id , P_FIS->base_fis_id); if ( isl_fis_id > 0 ) { ISL_FIS_STRUCT * ISL_FISI = new ISL_FIS_STRUCT; ISL_CLEAR_FIS_STRUCT(ISL_FISI); ISL_FIS_BILGILERINI_OKU(ISL_FISI , isl_fis_id); QString aciklama = QObject::tr("Fiş SABİT KIYMET modülü tarafından üretilmiştir.Fiş No : %1\n").arg(QVariant(P_FIS->fis_no).toString()); aciklama += P_FIS->aciklama; ISL_FISI->aciklama = aciklama; ISL_FISI->fis_tarihi = P_FIS->fis_tarihi; ISL_FISI_GUNCELLE(ISL_FISI , isl_fis_id); delete ISL_FISI; } //MUHASEBE ENTEGRASYONU MUH_FIS_STRUCT * MUHASEBE_FISI = new MUH_FIS_STRUCT; MUH_CLEAR_FIS_STRUCT(MUHASEBE_FISI); MUH_FIS_BILGILERINI_OKU ( MUHASEBE_FISI , P_FIS->muh_fis_id ); if ( P_FIS->modul_id EQ DEMIRBAS_MODULU ) { QString aciklama = QObject::tr("Fiş SABİT KIYMET modülü tarafından üretilmiştir.Fiş No : %1\n").arg(QVariant(P_FIS->fis_no).toString()); aciklama += P_FIS->aciklama; MUHASEBE_FISI->aciklama = aciklama; } else { MUHASEBE_FISI->aciklama = P_FIS->aciklama; } MUHASEBE_FISI->fis_tarihi = P_FIS->fis_tarihi; MUH_FISI_GUNCELLE ( MUHASEBE_FISI , P_FIS->muh_fis_id ); delete MUHASEBE_FISI; }
int BNK_DEFTER_FIS_SATIRINI_GUNCELLE( BNK_DEFTER_FIS_STRUCT * P_FIS, BNK_DEFTER_FIS_SATIRI_STRUCT * P_FIS_SATIRI, int p_fis_satiri_id , ADAK_SQL * P_GELEN_DB) { ADAK_SQL * USE_DB; if ( P_GELEN_DB EQ NULL ) { USE_DB = DB; } else { USE_DB = P_GELEN_DB; } SQL_QUERY query ( USE_DB ); query.PREPARE_SELECT ( "bnk_defter_fisler","modul_id, program_id, toplam_hesaba_giren, " "toplam_hesaptan_cikan, base_fis_id ", "fis_id = :fis_id " ); query.SET_VALUE ( ":fis_id", P_FIS_SATIRI->fis_id ); if ( query.SELECT() EQ 0 ) { return 0; } query.NEXT(); int modul_id = query.VALUE ( 0 ).toInt(); int program_id = query.VALUE ( 1 ).toInt(); double old_toplam_hesaptan_cikan = query.VALUE ( 2 ).toDouble(); double old_toplam_hesaba_giren = query.VALUE ( 3 ).toDouble(); int base_fis_id = query.VALUE ( 4 ).toInt(); if ( P_FIS->modul_id NE modul_id OR P_FIS->program_id NE program_id OR P_FIS->base_fis_id NE base_fis_id ) { return 0; } query.PREPARE_SELECT ( "bnk_defter_fis_satirlari", "hesaba_giren, hesaptan_cikan, " "hesap_turu, hesap_id, kaydedilecek_sirket", "fis_satiri_id = :fis_satiri_id" ); query.SET_VALUE ( ":fis_satiri_id", p_fis_satiri_id ); if( query.SELECT() EQ 0 ) { return 0; } query.NEXT(); double old_hesaba_giren = query.VALUE ( 0 ).toDouble(); double old_hesaptan_cikan = query.VALUE ( 1 ).toDouble(); int old_hesap_turu = query.VALUE ( 2 ).toInt(); int old_hesap_id = query.VALUE ( 3 ).toInt(); int old_entegre_olsun_mu = query.VALUE ( 4 ).toInt(); int new_satir_id = 0; if ( old_hesaba_giren NE P_FIS_SATIRI->hesaba_giren OR old_hesaptan_cikan NE P_FIS_SATIRI->hesaptan_cikan OR old_hesap_turu NE P_FIS_SATIRI->hesap_turu OR old_hesap_id NE P_FIS_SATIRI->hesap_id OR old_entegre_olsun_mu NE P_FIS_SATIRI->kaydedilecek_sirket ) { BNK_DEFTER_FIS_STRUCT * DEF_FIS = new BNK_DEFTER_FIS_STRUCT; DEF_FIS->program_id = P_FIS->program_id; DEF_FIS->modul_id = P_FIS->modul_id; DEF_FIS->base_fis_id = P_FIS->base_fis_id; DEF_FIS->hesap_no_id = P_FIS->hesap_no_id; DEF_FIS->kaydedilecek_sirket = P_FIS_SATIRI->kaydedilecek_sirket; DEF_FIS->muh_fis_id = P_FIS->muh_fis_id; DEF_FIS->base_fis_turu = P_FIS->base_fis_turu; QStringList def_row_list = GET_BNK_DEFTER_ROW_ID_LIST( P_FIS->program_id, P_FIS->modul_id, P_FIS_SATIRI->base_record_id ,USE_DB); if ( def_row_list.count() > 0 ) { for ( int i =0; i < def_row_list.count(); i++ ) { BNK_DEFTER_FIS_SATIRI_SIL( DEF_FIS, QVariant ( def_row_list.at( i ) ).toInt(), USE_DB ); new_satir_id = BNK_DEFTER_FIS_SATIRI_EKLE( P_FIS, P_FIS_SATIRI ,0,true,USE_DB); } } delete DEF_FIS; // bakiyeler guncelleniyor P_FIS->toplam_hesaba_giren = ROUND ( old_toplam_hesaba_giren + P_FIS_SATIRI->hesaba_giren - old_hesaba_giren ); P_FIS->toplam_hesaptan_cikan = ROUND ( old_toplam_hesaptan_cikan+ P_FIS_SATIRI->hesaptan_cikan - old_hesaptan_cikan ); query.PREPARE_UPDATE ( "bnk_defter_fisler","fis_id","toplam_hesaba_giren , " "toplam_hesaptan_cikan ","fis_id = :fis_id"); query.SET_VALUE ( ":toplam_hesaba_giren" , P_FIS->toplam_hesaba_giren ); query.SET_VALUE ( ":toplam_hesaptan_cikan" , P_FIS->toplam_hesaptan_cikan ); query.SET_VALUE ( ":fis_id" , P_FIS_SATIRI->fis_id ); query.UPDATE(); } else { // sadece aciklama degismis if ( P_FIS->fis_turu NE ENUM_BANKA_ACILIS_FISI ) { int muh_fis_id = MUH_GET_ENT_FIS_ID ( P_FIS->program_id, P_FIS->modul_id, P_FIS->base_fis_id ,USE_DB); if ( muh_fis_id > 0) { MUH_ENTEGRASYON_FIS_SATIRLARINI_GUNCELLE( P_FIS_SATIRI->aciklama, P_FIS->program_id, P_FIS->modul_id, muh_fis_id, P_FIS->base_fis_id, P_FIS_SATIRI->base_record_id ,USE_DB); } } query.PREPARE_UPDATE ( "bnk_defter_fis_satirlari","fis_satiri_id","aciklama","fis_satiri_id = :fis_satiri_id " ); query.SET_VALUE ( ":aciklama" , P_FIS_SATIRI->aciklama ); query.SET_VALUE ( ":fis_satiri_id" , p_fis_satiri_id ); query.UPDATE(); } return new_satir_id; }
int BNK_DEFTER_FIS_SATIRI_EKLE ( BNK_DEFTER_FIS_STRUCT * P_FIS, BNK_DEFTER_FIS_SATIRI_STRUCT * P_FIS_SATIRI, int p_fis_satiri_id , bool base_fis_satiri_eklenecek ,ADAK_SQL * P_GELEN_DB) { ADAK_SQL * USE_DB; if ( P_GELEN_DB EQ NULL ) { USE_DB = DB; } else { USE_DB = P_GELEN_DB; } SQL_QUERY query ( USE_DB ); query.PREPARE_SELECT ( "bnk_defter_fisler ","toplam_hesaba_giren,toplam_hesaptan_cikan, " "fis_tarihi, last_order_number, base_fis_id, " "modul_id, program_id, para_birim_id ", "fis_id = :fis_id " ); query.SET_VALUE ( ":fis_id" , P_FIS_SATIRI->fis_id ); if ( query.SELECT() EQ 0 ) { return 0; } query.NEXT(); double toplam_hesaba_giren = query.VALUE ( 0 ).toDouble(); double toplam_hesaptan_cikan = query.VALUE ( 1 ).toDouble(); QString tarih = query.VALUE ( 2 ).toString(); int last_order_number = query.VALUE ( 3 ).toInt(); int base_fis_id = query.VALUE ( 4 ).toInt(); int modul_id = query.VALUE ( 5 ).toInt(); int program_id = query.VALUE ( 6 ).toInt(); int para_birim_id = query.VALUE ( 7 ).toInt(); int gun_no = MALI_YIL_ARRAY_INDIS ( QDate::fromString( tarih, "yyyy.MM.dd" ) ); if ( P_FIS->modul_id NE modul_id OR P_FIS->program_id NE program_id OR P_FIS->base_fis_id NE base_fis_id ) { return 0; } if ( P_FIS_SATIRI->order_number EQ 0 ) { P_FIS_SATIRI->order_number = last_order_number + 1024; } double hesaba_giren = 0.00; double hesaptan_cikan = 0.00; hesaba_giren = P_FIS_SATIRI->hesaba_giren; hesaptan_cikan = P_FIS_SATIRI->hesaptan_cikan; int satir_id = p_fis_satiri_id; if ( base_fis_satiri_eklenecek EQ true ) { query.PREPARE_INSERT ( "bnk_defter_fis_satirlari","fis_satiri_id" , "fis_id, aciklama, " "hesaba_giren,hesaptan_cikan, " "base_record_id, " "order_number, hesap_turu, hesap_id, " "program_id, modul_id, " "kaydedilecek_sirket "); query.SET_VALUE ( ":fis_id" , P_FIS_SATIRI->fis_id ); query.SET_VALUE ( ":aciklama" , P_FIS_SATIRI->aciklama ); query.SET_VALUE ( ":hesaba_giren" , ROUND( hesaba_giren ) ); query.SET_VALUE ( ":hesaptan_cikan" , ROUND( hesaptan_cikan ) ); query.SET_VALUE ( ":base_record_id" , P_FIS_SATIRI->base_record_id ); query.SET_VALUE ( ":order_number" , P_FIS_SATIRI->order_number ); query.SET_VALUE ( ":hesap_turu" , P_FIS_SATIRI->hesap_turu ); query.SET_VALUE ( ":hesap_id" , P_FIS_SATIRI->hesap_id ); query.SET_VALUE ( ":program_id" , P_FIS_SATIRI->program_id ); query.SET_VALUE ( ":modul_id" , P_FIS_SATIRI->modul_id ); query.SET_VALUE ( ":kaydedilecek_sirket" , P_FIS_SATIRI->kaydedilecek_sirket ); satir_id = query.INSERT(); } if ( P_FIS->modul_id EQ BANKA_MODULU ) { if ( base_fis_id EQ 0 ) { base_fis_id = P_FIS_SATIRI->fis_id; } if ( P_FIS_SATIRI->base_record_id EQ 0 ) { P_FIS_SATIRI->base_record_id = satir_id; } } if ( P_FIS->fis_turu EQ ENUM_BANKA_ACILIS_FISI ) { gun_no = 0; } int hesap_no_id = P_FIS->hesap_no_id; if ( P_FIS->fis_turu EQ ENUM_BANKA_VIRMAN_FISI ) { hesap_no_id = P_FIS_SATIRI->hesap_id; } switch ( P_FIS_SATIRI->hesap_turu ) { case ENUM_BNK_KREDI_KARTI_HESABI: BANKA_HESAP_BAKIYELERINI_ARTTIR ( gun_no, hesap_no_id, hesaba_giren, hesaptan_cikan, ENUM_BNK_KREDI_KARTI_HESABI, P_FIS->kaydedilecek_sirket ,USE_DB); break; case ENUM_BNK_POS_HESABI: BANKA_HESAP_BAKIYELERINI_ARTTIR ( gun_no, hesap_no_id, hesaba_giren, hesaptan_cikan, ENUM_BNK_POS_HESABI, P_FIS->kaydedilecek_sirket ,USE_DB); break; case ENUM_BNK_BANKA_HESABI: BANKA_HESAP_BAKIYELERINI_ARTTIR ( gun_no, hesap_no_id, hesaba_giren, hesaptan_cikan, ENUM_BNK_BANKA_HESABI , P_FIS->kaydedilecek_sirket ,USE_DB); break; default: break; } // Muhasebeye temel para birimi cinsinden gitmesi gerekir... if ( para_birim_id NE DVZ_GET_TEMEL_PARA_BIRIMI_ID() ) { if ( P_FIS_SATIRI->hesaba_giren > 0.00 ) { hesaba_giren = ROUND( P_FIS_SATIRI->hesaba_giren * P_FIS_SATIRI->doviz_kuru ); hesaptan_cikan = 0.00; } else { hesaba_giren = 0.00; hesaptan_cikan = ROUND( P_FIS_SATIRI->hesaptan_cikan * P_FIS_SATIRI->doviz_kuru ); } } else { hesaba_giren = P_FIS_SATIRI->hesaba_giren; hesaptan_cikan = P_FIS_SATIRI->hesaptan_cikan; } if ( P_FIS->fis_turu NE ENUM_BANKA_ACILIS_FISI ) { // muhasebe kodu tespit ediliyor int muh_id = 0; switch ( P_FIS_SATIRI->hesap_turu ) { case ENUM_BNK_BANKA_HESABI : query.PREPARE_SELECT ( "bnk_hesaplar","muh_hesap_id","hesap_no_id = :hesap_no_id"); query.SET_VALUE ( ":hesap_no_id" , P_FIS_SATIRI->hesap_id ); if ( query.SELECT() EQ 0 ) { break; } query.NEXT(); muh_id = query.VALUE(0).toInt(); break; case ENUM_BNK_POS_HESABI : query.PREPARE_SELECT ( "bnk_hesabin_poslari","muh_hesap_id","pos_id = :pos_id AND hesap_no_id = :hesap_no_id"); query.SET_VALUE ( ":pos_id" , P_FIS_SATIRI->hesap_id ); query.SET_VALUE ( ":hesap_no_id" , P_FIS->hesap_no_id ); if ( query.SELECT() EQ 0 ) { break; } query.NEXT(); muh_id = query.VALUE(0).toInt(); break; case ENUM_BNK_KREDI_KARTI_HESABI : query.PREPARE_SELECT ( "bnk_hesabin_kredi_kartlari","muh_hesap_id","kredi_karti_id = :kredi_karti_id AND hesap_no_id = :hesap_no_id "); query.SET_VALUE ( ":kredi_karti_id" , P_FIS_SATIRI->hesap_id ); query.SET_VALUE ( ":hesap_no_id" , P_FIS->hesap_no_id ); if ( query.SELECT() EQ 0 ) { break; } query.NEXT(); muh_id = query.VALUE(0).toInt(); break; case ENUM_BNK_KASA_HESABI: muh_id = SUBE_GET_UNITE_MUH_KASA_HESABI_ID(); break; case ENUM_BNK_MUHASEBE_HESABI: muh_id = P_FIS_SATIRI->hesap_id; break; case ENUM_BNK_POS_KOMISYON_HESABI : query.PREPARE_SELECT ( "bnk_hesabin_poslari ","kom_hesap_id","pos_id = :pos_id AND hesap_no_id = :hesap_no_id"); query.SET_VALUE ( ":pos_id" , P_FIS_SATIRI->hesap_id ); query.SET_VALUE ( ":hesap_no_id" , P_FIS->hesap_no_id ); if ( query.SELECT() EQ 0 ) { break; } query.NEXT(); muh_id = query.VALUE(0).toInt(); break; default : break; } double borc_tutari = 0.00; double alacak_tutari = 0.00; alacak_tutari = hesaptan_cikan; borc_tutari = hesaba_giren; MUH_FIS_STRUCT * MUH_FIS = new MUH_FIS_STRUCT; MUH_FIS_SATIRI_STRUCT * MUH_FIS_SATIRI = new MUH_FIS_SATIRI_STRUCT; // [ 1 ] if ( P_FIS->odm_emr_hesabi_etkilenecek_mi EQ 1 ) { if ( P_FIS_SATIRI->hesap_turu EQ ENUM_BNK_BANKA_HESABI ) { if ( alacak_tutari > 0.00 ) { // bankadan para cikiyor // [ 2 ] Odeme emirleri ne alacak sonra borc SQL_QUERY f_query( DB ); int odeme_emirleri_hesap_id = 0; f_query.PREPARE_SELECT( "bnk_hesaplar","odeme_emirleri_hesap_id","hesap_no_id = :hesap_no_id" ); f_query.SET_VALUE ( ":hesap_no_id", P_FIS->hesap_no_id ); if ( f_query.SELECT() NE 0 ) { f_query.NEXT(); odeme_emirleri_hesap_id = f_query.VALUE( 0 ).toInt(); MUH_CLEAR_FIS_STRUCT ( MUH_FIS ); MUH_CLEAR_FIS_SATIRI_STRUCT ( MUH_FIS_SATIRI ); MUH_FIS_BILGILERINI_OKU ( MUH_FIS, P_FIS->muh_fis_id ,USE_DB); MUH_FIS_SATIRI->aciklama = P_FIS_SATIRI->aciklama; MUH_FIS_SATIRI->borc_tutari = borc_tutari; MUH_FIS_SATIRI->alacak_tutari = alacak_tutari; MUH_FIS_SATIRI->fis_id = P_FIS->muh_fis_id; MUH_FIS_SATIRI->hesap_id = odeme_emirleri_hesap_id; MUH_FIS_SATIRI->base_record_id = P_FIS_SATIRI->base_record_id; MUH_FIS_SATIRI->program_id = P_FIS_SATIRI->program_id; MUH_FIS_SATIRI->modul_id = P_FIS_SATIRI->modul_id; MUH_FIS_SATIRI->kaydedilecek_sirket = P_FIS_SATIRI->kaydedilecek_sirket ; // hesaba giren MUH_FIS_SATIRI_EKLE ( MUH_FIS, MUH_FIS_SATIRI ,USE_DB); MUH_FIS_SATIRI->borc_tutari = alacak_tutari; MUH_FIS_SATIRI->alacak_tutari = borc_tutari; // hesaptan cikan MUH_FIS_SATIRI_EKLE ( MUH_FIS, MUH_FIS_SATIRI ,USE_DB); } // [ 2 ] } } } // [ 1 ] //Muhasebe modulune fis_satiri uretiliyor MUH_CLEAR_FIS_STRUCT ( MUH_FIS ); MUH_CLEAR_FIS_SATIRI_STRUCT ( MUH_FIS_SATIRI ); MUH_FIS_BILGILERINI_OKU ( MUH_FIS, P_FIS->muh_fis_id ,USE_DB); MUH_FIS_SATIRI->aciklama = P_FIS_SATIRI->aciklama; MUH_FIS_SATIRI->borc_tutari = borc_tutari; MUH_FIS_SATIRI->alacak_tutari = alacak_tutari; MUH_FIS_SATIRI->fis_id = P_FIS->muh_fis_id; MUH_FIS_SATIRI->hesap_id = muh_id; MUH_FIS_SATIRI->base_record_id = P_FIS_SATIRI->base_record_id; MUH_FIS_SATIRI->program_id = P_FIS_SATIRI->program_id; MUH_FIS_SATIRI->modul_id = P_FIS_SATIRI->modul_id; MUH_FIS_SATIRI->kaydedilecek_sirket = P_FIS_SATIRI->kaydedilecek_sirket; MUH_FIS_SATIRI_EKLE ( MUH_FIS, MUH_FIS_SATIRI ,USE_DB); delete MUH_FIS; delete MUH_FIS_SATIRI; } if ( base_fis_satiri_eklenecek EQ true ) { toplam_hesaba_giren = ROUND ( toplam_hesaba_giren + P_FIS_SATIRI->hesaba_giren ); toplam_hesaptan_cikan = ROUND ( toplam_hesaptan_cikan + hesaptan_cikan ); // toplam degerler guncelleniyor query.PREPARE_UPDATE ( "bnk_defter_fisler","fis_id","toplam_hesaba_giren, toplam_hesaptan_cikan ", "fis_id = :fis_id" ); query.SET_VALUE( ":toplam_hesaba_giren" , toplam_hesaba_giren ); query.SET_VALUE( ":toplam_hesaptan_cikan" , toplam_hesaptan_cikan ); query.SET_VALUE( ":fis_id" , P_FIS_SATIRI->fis_id ); query.UPDATE (); P_FIS->toplam_hesaba_giren = toplam_hesaba_giren; P_FIS->toplam_hesaptan_cikan = toplam_hesaptan_cikan; } return satir_id; }
void BNK_DEFTER_FISI_GUNCELLE ( BNK_DEFTER_FIS_STRUCT * P_FIS, int p_fis_id ) { SQL_QUERY query ( DB ); query.PREPARE_SELECT ( "bnk_defter_fisler","modul_id, program_id, hesap_no_id, base_fis_id", "fis_id = :fis_id " ); query.SET_VALUE ( ":fis_id", p_fis_id ); if ( query.SELECT() EQ 0 ) { return; } query.NEXT(); int modul_id = query.VALUE( 0 ).toInt(); int program_id = query.VALUE( 1 ).toInt(); int hesap_no_id = query.VALUE( 2 ).toInt(); int base_fis_id = query.VALUE( 3 ).toInt(); int banka_para_birimi_id = 0; QString banka_para_birimi_kodu; if ( P_FIS->modul_id NE modul_id OR P_FIS->program_id NE program_id OR P_FIS->base_fis_id NE base_fis_id ) { return; } query.PREPARE_SELECT ( "bnk_hesaplar","doviz_id","hesap_no_id = :hesap_no_id" ); query.SET_VALUE ( ":hesap_no_id", hesap_no_id ); if ( query.SELECT() > 0 ) { query.NEXT(); banka_para_birimi_id = query.VALUE ( 0 ).toInt(); banka_para_birimi_kodu = DVZ_GET_DOVIZ_KODU ( banka_para_birimi_id ); } query.PREPARE_SELECT( "bnk_defter_fisler","hesap_no_id , kaydedilecek_sirket, fis_tarihi","fis_id = :fis_id" ); query.SET_VALUE ( ":fis_id", p_fis_id ); if ( query.SELECT() EQ 0 ) { return; } query.NEXT(); int old_hesap_no_id = query.VALUE( 0 ).toInt(); int old_entegre_olsun_mu = query.VALUE( 1 ).toInt(); QString old_fis_tarihi = query.VALUE( 2 ).toString(); if ( old_entegre_olsun_mu NE P_FIS->kaydedilecek_sirket OR old_hesap_no_id NE P_FIS->hesap_no_id OR old_fis_tarihi NE P_FIS->fis_tarihi ) { if ( P_FIS->fis_turu NE ENUM_BANKA_ACILIS_FISI ) { BNK_DEFTER_FIS_STRUCT * DEF_FIS = new BNK_DEFTER_FIS_STRUCT; BNK_DEFTER_FIS_SATIRI_STRUCT * DEF_FIS_SATIRI = new BNK_DEFTER_FIS_SATIRI_STRUCT; CLEAR_BNK_DEFTER_FIS_SATIRI_STRUCT( DEF_FIS_SATIRI ); CLEAR_BNK_DEFTER_FIS_STRUCT ( DEF_FIS ); BNK_DEFTER_FIS_BILGILERINI_OKU( DEF_FIS, p_fis_id ); query.PREPARE_UPDATE( "bnk_defter_fisler","fis_id","fis_tarihi," "hesap_no_id, " "kaydedilecek_sirket, odm_emr_hesabi_etkilenecek_mi", "fis_id = :fis_id " ); query.SET_VALUE ( ":fis_tarihi", P_FIS->fis_tarihi ); query.SET_VALUE ( ":hesap_no_id", P_FIS->hesap_no_id ); query.SET_VALUE ( ":kaydedilecek_sirket", P_FIS->kaydedilecek_sirket ); query.SET_VALUE ( ":odm_emr_hesabi_etkilenecek_mi", P_FIS->odm_emr_hesabi_etkilenecek_mi ); query.SET_VALUE ( ":fis_id", p_fis_id ); query.UPDATE(); MUH_FIS_STRUCT * MUH_FIS = new MUH_FIS_STRUCT; MUH_CLEAR_FIS_STRUCT( MUH_FIS ); MUH_FIS_BILGILERINI_OKU( MUH_FIS, P_FIS->muh_fis_id ); MUH_FIS->fis_tarihi = P_FIS->fis_tarihi; MUH_FIS->kaydedilecek_sirket = P_FIS->kaydedilecek_sirket; if ( P_FIS->modul_id EQ BANKA_MODULU ) { MUH_FIS->aciklama = QString ( QObject::tr ( "Fiş BANKA MODÜLÜ ( %2 ) tarafından üretilmiştir. Fiş No = %1\n" ) ).arg( QVariant ( P_FIS->fis_no ).toInt() ) .arg(BNK_GET_FIS_TURLERI_STRING(P_FIS->fis_turu)) + P_FIS->aciklama; } else { MUH_FIS->aciklama = P_FIS->aciklama; } MUH_FISI_GUNCELLE( MUH_FIS, P_FIS->muh_fis_id ); query.PREPARE_SELECT( "bnk_defter_fis_satirlari","fis_satiri_id","fis_id = :fis_id "); query.SET_VALUE ( ":fis_id", p_fis_id ); int def_fis_satir_id = 0; if ( query.SELECT() NE 0 ) { while ( query.NEXT() EQ true ) { def_fis_satir_id = query.VALUE( 0 ).toInt(); BNK_DEFTER_FIS_SATIR_BILGILERINI_OKU( DEF_FIS_SATIRI, def_fis_satir_id ); BNK_DEFTER_FIS_SATIRI_SIL ( DEF_FIS, def_fis_satir_id ); DEF_FIS_SATIRI->kaydedilecek_sirket = P_FIS->kaydedilecek_sirket; if ( DEF_FIS_SATIRI->hesap_turu EQ ENUM_BNK_BANKA_HESABI ) { DEF_FIS_SATIRI->hesap_id = P_FIS->hesap_no_id; } BNK_DEFTER_FIS_SATIRI_EKLE( P_FIS, DEF_FIS_SATIRI ); } } delete DEF_FIS_SATIRI; } else { } query.PREPARE_UPDATE("bnk_defter_fisler","fis_id","aciklama, " "hesap_no_id , " "fis_tarihi , " "kaydedilecek_sirket , " "odm_emr_hesabi_etkilenecek_mi ", "fis_id = :fis_id "); query.SET_VALUE( ":aciklama" , P_FIS->aciklama ); query.SET_VALUE( ":hesap_no_id" , P_FIS->hesap_no_id ); query.SET_VALUE( ":fis_tarihi" , P_FIS->fis_tarihi ); query.SET_VALUE( ":kaydedilecek_sirket" , P_FIS->kaydedilecek_sirket ); query.SET_VALUE( ":odm_emr_hesabi_etkilenecek_mi" , P_FIS->odm_emr_hesabi_etkilenecek_mi); query.SET_VALUE( ":fis_id" , p_fis_id ); query.UPDATE(); } else { // sadece aciklama degismistir query.PREPARE_UPDATE("bnk_defter_fisler","fis_id", "aciklama", "fis_id = :fis_id" ); query.SET_VALUE( ":aciklama" , P_FIS->aciklama ); query.SET_VALUE( ":fis_id" , p_fis_id ); MUH_FIS_STRUCT * MUH_FIS = new MUH_FIS_STRUCT; MUH_FIS_SATIRI_STRUCT * MUH_FIS_SATIRI = new MUH_FIS_SATIRI_STRUCT; MUH_CLEAR_FIS_STRUCT ( MUH_FIS ); MUH_CLEAR_FIS_SATIRI_STRUCT ( MUH_FIS_SATIRI ); MUH_FIS_BILGILERINI_OKU ( MUH_FIS, P_FIS->muh_fis_id ); if ( P_FIS->modul_id EQ BANKA_MODULU ) { MUH_FIS->aciklama = QString ( QObject::tr ( " Fiş BANKA MODÜLÜ ( %2 ) tarafından üretilmiştir. Fiş No = %1\n" ) ).arg( QVariant ( P_FIS->fis_no ).toInt() ).arg(BNK_GET_FIS_TURLERI_STRING(P_FIS->fis_turu)); MUH_FIS->aciklama.append( P_FIS->aciklama ); } else { MUH_FIS->aciklama = P_FIS->aciklama; } MUH_FISI_GUNCELLE( MUH_FIS, P_FIS->muh_fis_id ); if ( P_FIS->aciklama.size() > 512 ) { P_FIS->aciklama.resize(512); } query.PREPARE_UPDATE("bnk_defter_fisler","fis_id","aciklama","fis_id = :fis_id "); query.SET_VALUE( ":aciklama" , P_FIS->aciklama ); query.SET_VALUE( ":fis_id" , p_fis_id ); query.UPDATE(); } }
void BNK_DEFTER_FIS_SATIRI_SIL ( BNK_DEFTER_FIS_STRUCT * P_FIS, int p_fis_satiri_id ,ADAK_SQL * P_GELEN_DB) { ADAK_SQL * USE_DB ; if ( P_GELEN_DB EQ NULL ) { USE_DB = DB; } else { USE_DB = P_GELEN_DB; } SQL_QUERY query ( USE_DB ); query.PREPARE_SELECT ( "bnk_defter_fisler, bnk_defter_fis_satirlari", "bnk_defter_fisler.fis_id, fis_tarihi, hesaba_giren, hesaptan_cikan, " "toplam_hesaba_giren, toplam_hesaptan_cikan, bnk_defter_fis_satirlari.modul_id, " "bnk_defter_fis_satirlari.program_id, hesap_turu, " "base_fis_id , fis_turu , bnk_defter_fis_satirlari.hesap_id,base_record_id", "bnk_defter_fisler.fis_id = bnk_defter_fis_satirlari.fis_id " "AND fis_satiri_id = :fis_satiri_id " ); query.SET_VALUE ( ":fis_satiri_id", p_fis_satiri_id ); if ( query.SELECT() EQ 0 ) { return; } query.NEXT(); int fis_id = query.VALUE( 0 ).toInt(); QString fis_tarihi = query.VALUE( 1 ).toString(); double hesaba_giren = query.VALUE( 2 ).toDouble(); double hesaptan_cikan = query.VALUE( 3 ).toDouble(); double toplam_hesaba_giren = query.VALUE( 4 ).toDouble(); double toplam_hesaptan_cikan = query.VALUE( 5 ).toDouble(); int modul_id = query.VALUE( 6 ).toInt(); int program_id = query.VALUE( 7 ).toInt(); int hesap_turu = query.VALUE( 8 ).toInt(); int base_fis_id = query.VALUE( 9 ).toInt(); int fis_turu = query.VALUE( 10 ).toInt(); int hesap_id = query.VALUE( 11 ).toInt(); int base_record_id = query.VALUE(12).toInt(); if ( modul_id NE P_FIS->modul_id OR program_id NE P_FIS->program_id OR P_FIS->base_fis_id NE base_fis_id) { return; } int gun_no = MALI_YIL_ARRAY_INDIS ( QDate::fromString ( fis_tarihi, "yyyy.MM.dd" ) ); if ( fis_turu EQ ENUM_BANKA_ACILIS_FISI ) { gun_no = 0; } int hesap_no_id = P_FIS->hesap_no_id; if ( P_FIS->fis_turu EQ ENUM_BANKA_VIRMAN_FISI ) { hesap_no_id = hesap_id; } // bakiyeler azaltma islemi yapiliyor switch ( hesap_turu ) { case ENUM_BNK_KREDI_KARTI_HESABI: BANKA_HESAP_BAKIYELERINI_AZALT ( gun_no, hesap_no_id ,hesaba_giren, hesaptan_cikan, ENUM_BNK_KREDI_KARTI_HESABI, P_FIS->kaydedilecek_sirket ,USE_DB); break; case ENUM_BNK_POS_HESABI : BANKA_HESAP_BAKIYELERINI_AZALT ( gun_no, hesap_no_id, hesaba_giren, hesaptan_cikan, ENUM_BNK_POS_HESABI, P_FIS->kaydedilecek_sirket ,USE_DB); break; case ENUM_BNK_BANKA_HESABI: BANKA_HESAP_BAKIYELERINI_AZALT ( gun_no, hesap_no_id, hesaba_giren, hesaptan_cikan, ENUM_BNK_BANKA_HESABI, P_FIS->kaydedilecek_sirket ,USE_DB) ; break; default: break; } if ( fis_turu NE ENUM_BANKA_ACILIS_FISI ) { switch ( hesap_turu ) { case ENUM_BNK_BANKA_HESABI: case ENUM_BNK_KREDI_KARTI_HESABI: case ENUM_BNK_POS_HESABI: { QStringList muh_row_list = MUH_GET_FISE_GORE_ENT_ROW_ID_LIST( P_FIS->program_id, P_FIS->modul_id, base_record_id ,P_FIS->muh_fis_id,USE_DB); if ( muh_row_list.count() > 0 ) { MUH_FIS_STRUCT * MUH_FIS = new MUH_FIS_STRUCT; MUH_FIS->modul_id = P_FIS->modul_id; MUH_FIS->program_id = P_FIS->program_id; MUH_FIS->base_fis_id = P_FIS->base_fis_id; MUH_FIS->kaydedilecek_sirket = P_FIS->kaydedilecek_sirket; for ( int i = 0; i< muh_row_list.count(); i++ ) { MUH_FIS_SATIRINI_SIL( MUH_FIS, QVariant ( muh_row_list.at( i ) ).toInt() ,USE_DB); } delete MUH_FIS; } } break; } } query.PREPARE_DELETE ( "bnk_defter_fis_satirlari","fis_satiri_id = :fis_satiri_id" ); query.SET_VALUE ( ":fis_satiri_id", p_fis_satiri_id ); query.DELETE(); P_FIS->toplam_hesaba_giren = ROUND ( toplam_hesaba_giren - hesaba_giren ); P_FIS->toplam_hesaptan_cikan = ROUND ( toplam_hesaptan_cikan - hesaptan_cikan); query.PREPARE_UPDATE ( "bnk_defter_fisler","fis_id","toplam_hesaba_giren , " "toplam_hesaptan_cikan ", "fis_id = :fis_id"); query.SET_VALUE ( ":toplam_hesaba_giren" , P_FIS->toplam_hesaba_giren ); query.SET_VALUE ( ":toplam_hesaptan_cikan" , P_FIS->toplam_hesaptan_cikan ); query.SET_VALUE ( ":fis_id" , fis_id ); query.UPDATE(); }
void FAT_FATURA_DETAYLARI_BATCH::RUN_BATCH () { int new_tevkifatli_fatura_mi = QVariant ( m_ui->checkBox_tevkifatli_fatura_mi->isChecked() ).toInt(); M_FATURA_DETAYLARI->yurtici_satislar_hesap_id = m_sube_yurtici_satis_hsp_id; M_FATURA_DETAYLARI->hizmet_urt_maliyeti_hesap_id = m_sube_hizmet_urt_maliyet_hsp_id; M_FATURA_DETAYLARI->tevkifatli_fatura_mi = new_tevkifatli_fatura_mi; M_FATURA_DETAYLARI->tevkifat_yuzdesi = m_ui->commaEdit_tevkifat_yuzdesi->GET_DOUBLE(); M_FATURA_DETAYLARI->kdv_muaf_mi = QVariant ( m_ui->checkBox_kdv_muaf_mi->isChecked()).toInt(); M_FATURA_DETAYLARI->otv_muaf_mi = QVariant ( m_ui->checkBox_otv_muaf_mi->isChecked()).toInt(); M_FATURA_DETAYLARI->satistan_iade_hesap_id = m_satistan_iade_hesap_id; bool tevkifatli_fatura_secenegi_degisti = false; bool hic_degisiklik_yapilmadi = true; bool tevkifat_yuzdesi_degisti = false; SQL_QUERY query ( DB ); query.PREPARE_SELECT("fat_faturalar" , "isk_sonrasi_kdv_tutari, fatura_tutari, " "tevkifatli_fatura_mi, tevkifat_yuzdesi, tevkifatli_kdv_tutari, " "yurtici_satislar_hesap_id, hizmet_urt_maliyeti_hesap_id, " "kdv_muaf_mi,otv_muaf_mi ,fatura_tarihi, " "iskonto_yuzdesi, satistan_iade_hesap_id " , "fis_id = :fis_id"); query.SET_VALUE ( ":fis_id", m_fis_id ); if ( query.SELECT() EQ 0 ) { MSG_WARNING( tr ( "Fatura bilgileri okunamadı"), NULL ); return; } query.NEXT(); double kdv_tutari = query.VALUE ( "isk_sonrasi_kdv_tutari" ).toDouble(); double fatura_tutari = query.VALUE ( "fatura_tutari" ).toDouble(); int old_tevkifatli_fatura_mi = query.VALUE ( "tevkifatli_fatura_mi" ).toInt(); double old_tevkifat_yuzdesi = query.VALUE ( "tevkifat_yuzdesi" ).toDouble(); double old_tevkifatli_kdv_tutari = query.VALUE ( "tevkifatli_kdv_tutari" ).toDouble(); int old_yurtici_satislar_hesap_id = query.VALUE ( "yurtici_satislar_hesap_id" ).toInt(); int old_hizmet_urt_maliyeti_hesap_id = query.VALUE ( "hizmet_urt_maliyeti_hesap_id" ).toInt(); int old_satistan_iade_hesap_id = query.VALUE ( "satistan_iade_hesap_id" ).toInt(); int old_kdv_muaf_mi = query.VALUE ( "kdv_muaf_mi" ).toInt(); int old_otv_muaf_mi = query.VALUE ( "otv_muaf_mi").toInt(); QDate fatura_tarihi = QDate::fromString(query.VALUE("fatura_tarihi").toString() , "yyyy.MM.dd"); double iskonto_yuzdesi = query.VALUE("iskonto_yuzdesi").toDouble(); if ( old_tevkifatli_fatura_mi NE new_tevkifatli_fatura_mi ) { tevkifatli_fatura_secenegi_degisti = true; hic_degisiklik_yapilmadi = false; } if ( old_yurtici_satislar_hesap_id NE m_sube_yurtici_satis_hsp_id ) { hic_degisiklik_yapilmadi = false; } if ( old_hizmet_urt_maliyeti_hesap_id NE m_sube_hizmet_urt_maliyet_hsp_id ) { hic_degisiklik_yapilmadi = false; } if ( old_satistan_iade_hesap_id NE m_satistan_iade_hesap_id ) { hic_degisiklik_yapilmadi = false; } if ( old_tevkifat_yuzdesi NE m_ui->commaEdit_tevkifat_yuzdesi->GET_DOUBLE() ) { hic_degisiklik_yapilmadi = false; tevkifat_yuzdesi_degisti = true; } bool kdv_otv_muaf_mi_secenegi_degisti = false; if ( old_kdv_muaf_mi NE QVariant(m_ui->checkBox_kdv_muaf_mi->isChecked()).toInt() OR old_otv_muaf_mi NE QVariant(m_ui->checkBox_otv_muaf_mi->isChecked()).toInt() ) { hic_degisiklik_yapilmadi = false; kdv_otv_muaf_mi_secenegi_degisti = true; } if ( hic_degisiklik_yapilmadi EQ true ) { *m_return_value = false; close (); } DB->START_TRANSACTION(); if ( kdv_otv_muaf_mi_secenegi_degisti EQ true ) { //vergiden muaf ise kdv ve otv oranlari tum satirlarda sifirlanir. SQL_QUERY update_query(DB); double brut_tutar = 0.0; double isk_oncesi_otv_dahil_tutar = 0.0; double isk_oncesi_kdv_dahil_tutar = 0.0; query.PREPARE_SELECT("fat_fatura_satirlari", "satirdaki_urun_miktari,kdv_dahil_mi,doviz_id,fis_satiri_id," "isk_sonrasi_urun_birim_fiyati,kdv_orani,otv_orani," "satir_kdv_tutari,satir_otv_tutari", "fis_id = :fis_id"); query.SET_VALUE(":fis_id" , m_fis_id ); if ( query.SELECT() NE 0 ) { while ( query.NEXT() ) { double satirdaki_urun_miktari = query.VALUE(0).toDouble(); int kdv_dahil_mi = query.VALUE(1).toInt(); int doviz_id = query.VALUE(2).toInt(); int fis_satiri_id = query.VALUE(3).toInt(); double isk_sonrasi_urun_birim_fiyati = query.VALUE(4).toDouble(); double kdv_orani = query.VALUE("kdv_orani").toDouble(); double otv_orani = query.VALUE("otv_orani").toDouble(); double satir_kdv_tutari = query.VALUE("satir_kdv_tutari").toDouble(); double satir_otv_tutari = query.VALUE("satir_otv_tutari").toDouble(); double satir_tutari = satirdaki_urun_miktari * isk_sonrasi_urun_birim_fiyati; if ( m_ui->checkBox_kdv_muaf_mi->isChecked() EQ true ) { kdv_orani = 0; satir_kdv_tutari = 0; kdv_tutari = 0; } if ( m_ui->checkBox_otv_muaf_mi->isChecked() EQ true ) { otv_orani = 0; satir_otv_tutari = 0; } double otv_dahil_tutar = 0.0; double vergi_haric_tutar = 0.0; if ( kdv_dahil_mi EQ 1 ) { otv_dahil_tutar = ROUND ( satir_tutari / ( 1 + ( kdv_orani / 100 ) ) ); vergi_haric_tutar = ROUND ( otv_dahil_tutar / ( 1 + ( otv_orani / 100 ) ) ); } else { vergi_haric_tutar = satir_tutari; otv_dahil_tutar = ROUND ( vergi_haric_tutar * ( 1 + ( otv_orani / 100 ) ) ); } double temel_para_birimi_vergi_haric_tutar = DVZ_PARA_BIRIMLERINI_DONUSTUR ( doviz_id, vergi_haric_tutar, DVZ_GET_TEMEL_PARA_BIRIMI_ID(), fatura_tarihi); double temel_para_birimi_otv_dahil_tutar = ROUND ( temel_para_birimi_vergi_haric_tutar * ( 1 + ( otv_orani / 100 ) ) ); double temel_para_birimi_kdv_tutari = ROUND ( temel_para_birimi_otv_dahil_tutar * ( kdv_orani / 100 ) ); double temel_para_birimi_kdv_dahil_tutar = ROUND ( temel_para_birimi_otv_dahil_tutar + temel_para_birimi_kdv_tutari ); update_query.PREPARE_UPDATE("fat_fatura_satirlari","fis_satiri_id", "kdv_orani," "otv_orani,satir_kdv_tutari , satir_kdv_dahil_tutar ," "satir_vergi_haric_tutar , satir_otv_tutari , satir_otv_dahil_tutar," "satir_tutari ", "fis_satiri_id = :fis_satiri_id"); update_query.SET_VALUE(":kdv_orani" , kdv_orani); update_query.SET_VALUE(":otv_orani" , otv_orani); update_query.SET_VALUE(":satir_kdv_tutari" , satir_kdv_tutari); update_query.SET_VALUE(":satir_kdv_dahil_tutar" , ROUND ( temel_para_birimi_kdv_dahil_tutar)); update_query.SET_VALUE(":satir_vergi_haric_tutar" , ROUND ( temel_para_birimi_vergi_haric_tutar )); update_query.SET_VALUE(":satir_otv_tutari" , satir_otv_tutari); update_query.SET_VALUE(":satir_otv_dahil_tutar" , ROUND ( temel_para_birimi_otv_dahil_tutar )); update_query.SET_VALUE(":satir_tutari" , ROUND ( satir_tutari)); update_query.SET_VALUE(":fis_satiri_id" , fis_satiri_id); update_query.UPDATE(); brut_tutar += temel_para_birimi_vergi_haric_tutar; isk_oncesi_otv_dahil_tutar += temel_para_birimi_otv_dahil_tutar; isk_oncesi_kdv_dahil_tutar += temel_para_birimi_kdv_dahil_tutar; } //Satirlara gore fatura toplamlari ayarlanacak double isk_sonrasi_otv_dahil_tutar = ROUND ( isk_oncesi_otv_dahil_tutar * ( 1 - ( iskonto_yuzdesi / 100 ) ) ); double ara_toplam = ROUND ( brut_tutar * ( 1 - ( iskonto_yuzdesi / 100 ) ) ); fatura_tutari = ROUND ( isk_oncesi_kdv_dahil_tutar * ( 1 - ( iskonto_yuzdesi / 100 ) ) ); double KDV_TUTARLAR_ARRAY[KDV_OTV_ORANLARI_SAYISI]; double OTV_TUTARLAR_ARRAY[KDV_OTV_ORANLARI_SAYISI]; for ( int i = 0 ; i < KDV_OTV_ORANLARI_SAYISI ; i++ ) { KDV_TUTARLAR_ARRAY[i] = 0; } for ( int i = 0 ; i < KDV_OTV_ORANLARI_SAYISI ; i++ ) { OTV_TUTARLAR_ARRAY[i] = 0; } query.PREPARE_SELECT("fat_faturalar" ,"isk_oncesi_kdv_tutari,isk_oncesi_otv_tutari," "isk_sonrasi_otv_tutari,isk_sonrasi_kdv_tutari" ,"fis_id = :fis_id"); query.SET_VALUE(":fis_id" , m_fis_id); double isk_oncesi_kdv_tutari = 0.0; double isk_oncesi_otv_tutari = 0.0; double isk_sonrasi_otv_tutari = 0.0; double isk_sonrasi_kdv_tutari = 0.0; if ( query.SELECT() NE 0 ) { query.NEXT(); isk_oncesi_kdv_tutari = query.VALUE(0).toDouble(); isk_oncesi_otv_tutari = query.VALUE(1).toDouble(); isk_sonrasi_otv_tutari= query.VALUE(2).toDouble(); isk_sonrasi_kdv_tutari= query.VALUE(3).toDouble(); } if ( m_ui->checkBox_kdv_muaf_mi->isChecked() EQ true ) { isk_oncesi_kdv_tutari = 0; isk_sonrasi_kdv_tutari= 0; } if ( m_ui->checkBox_otv_muaf_mi->isChecked() EQ true ) { isk_oncesi_otv_tutari = 0; isk_sonrasi_otv_tutari= 0; } query.PREPARE_UPDATE("fat_faturalar","fis_id", "isk_oncesi_kdv_tutari," "isk_oncesi_otv_tutari ,brut_tutar ," "isk_oncesi_kdv_dahil_tutar ," "isk_oncesi_otv_dahil_tutar , " "isk_sonrasi_otv_tutari, isk_sonrasi_kdv_tutari," "isk_sonrasi_otv_dahil_tutar , " "fatura_tutari , ara_toplam ," "kdv_oran_bilgileri , " "otv_oran_bilgileri , " "kdv_oran_gore_tutarlar_array ," "otv_oran_gore_tutarlar_array ", "fis_id = :fis_id"); query.SET_VALUE(":isk_oncesi_kdv_tutari" , isk_oncesi_kdv_tutari); query.SET_VALUE(":isk_oncesi_otv_tutari" , isk_oncesi_otv_tutari); query.SET_VALUE(":brut_tutar" , ROUND ( brut_tutar )); query.SET_VALUE(":isk_oncesi_kdv_dahil_tutar" , ROUND ( isk_oncesi_kdv_dahil_tutar)); query.SET_VALUE(":isk_oncesi_otv_dahil_tutar" , ROUND ( isk_oncesi_otv_dahil_tutar )); query.SET_VALUE(":isk_sonrasi_otv_tutari" , isk_sonrasi_otv_tutari); query.SET_VALUE(":isk_sonrasi_kdv_tutari" , isk_sonrasi_kdv_tutari); query.SET_VALUE(":isk_sonrasi_otv_dahil_tutar" , ROUND ( isk_sonrasi_otv_dahil_tutar)); query.SET_VALUE(":fatura_tutari" , ROUND ( fatura_tutari )); query.SET_VALUE(":ara_toplam" , ROUND ( ara_toplam)); query.SET_VALUE(":kdv_oran_bilgileri" , ""); query.SET_VALUE(":otv_oran_bilgileri" , ""); query.SET_VALUE(":kdv_oran_gore_tutarlar_array" , PACK_DOUBLE_ARRAY(KDV_TUTARLAR_ARRAY , KDV_OTV_ORANLARI_SAYISI)); query.SET_VALUE(":otv_oran_gore_tutarlar_array" , PACK_DOUBLE_ARRAY(OTV_TUTARLAR_ARRAY , KDV_OTV_ORANLARI_SAYISI)); query.SET_VALUE(":fis_id" , m_fis_id); query.UPDATE(); } } double tevkifatli_kdv_tutari = 0.00; if ( tevkifatli_fatura_secenegi_degisti EQ true ) { if ( old_tevkifatli_fatura_mi EQ 1 ) { kdv_tutari = ROUND ( kdv_tutari + old_tevkifatli_kdv_tutari ); fatura_tutari = ROUND ( fatura_tutari + old_tevkifatli_kdv_tutari ); tevkifatli_kdv_tutari = 0.00; } else { tevkifatli_kdv_tutari = ROUND ( ( kdv_tutari * m_ui->commaEdit_tevkifat_yuzdesi->GET_DOUBLE() ) / 100 ); kdv_tutari = ROUND ( kdv_tutari - tevkifatli_kdv_tutari ); fatura_tutari = ROUND ( fatura_tutari - tevkifatli_kdv_tutari ); } } else if ( tevkifat_yuzdesi_degisti EQ true ) { kdv_tutari = ROUND ( kdv_tutari + old_tevkifatli_kdv_tutari ); fatura_tutari = ROUND ( fatura_tutari - kdv_tutari + old_tevkifatli_kdv_tutari ); tevkifatli_kdv_tutari = ROUND ( ( kdv_tutari * m_ui->commaEdit_tevkifat_yuzdesi->GET_DOUBLE() ) / 100 ); kdv_tutari = ROUND ( kdv_tutari - tevkifatli_kdv_tutari ); fatura_tutari = ROUND ( fatura_tutari + kdv_tutari ); } query.PREPARE_UPDATE ( "fat_faturalar ","fis_id", "yurtici_satislar_hesap_id , " "hizmet_urt_maliyeti_hesap_id , " "tevkifatli_fatura_mi , " "tevkifat_yuzdesi , " "tevkifatli_kdv_tutari , " "isk_sonrasi_kdv_tutari , " "fatura_tutari , " "satistan_iade_hesap_id , " "kdv_muaf_mi , " "otv_muaf_mi ", "fis_id = :fis_id" ); query.SET_VALUE ( ":yurtici_satislar_hesap_id", m_sube_yurtici_satis_hsp_id ); query.SET_VALUE ( ":hizmet_urt_maliyeti_hesap_id", m_sube_hizmet_urt_maliyet_hsp_id ); query.SET_VALUE ( ":tevkifatli_fatura_mi", new_tevkifatli_fatura_mi ); query.SET_VALUE ( ":tevkifat_yuzdesi", m_ui->commaEdit_tevkifat_yuzdesi->GET_DOUBLE() ); query.SET_VALUE ( ":tevkifatli_kdv_tutari", tevkifatli_kdv_tutari ); query.SET_VALUE ( ":isk_sonrasi_kdv_tutari", kdv_tutari ); query.SET_VALUE ( ":fatura_tutari", fatura_tutari ); query.SET_VALUE ( ":satistan_iade_hesap_id", m_satistan_iade_hesap_id ); query.SET_VALUE ( ":kdv_muaf_mi", QVariant(m_ui->checkBox_kdv_muaf_mi->isChecked()).toInt()); query.SET_VALUE ( ":otv_muaf_mi", QVariant(m_ui->checkBox_otv_muaf_mi->isChecked()).toInt()); query.SET_VALUE ( ":fis_id", m_fis_id ); query.UPDATE(); DB->COMMIT_TRANSACTION(); *m_return_value = true; close(); }