Beispiel #1
0
bool XYZ_AYARLAR_STRUCTINI_DOLDUR ()
{
    SQL_QUERY query ( DB );

    query.PREPARE_SELECT("xyz_ayarlar",
                         "mali_yil_baslangic_tarihi"
                         ",mali_yil_bitis_tarihi",
                         "ayarlar_id = :ayarlar_id");

    query.SET_VALUE( ":ayarlar_id", 1 );

    if ( query.SELECT() > 0 ) {
        query.NEXT();

        XYZ_AYARLAR.mali_yil_baslangic_tarihi = QDate::fromString ( query.VALUE(0).toString(), "yyyy.MM.dd" );
        XYZ_AYARLAR.mali_yil_bitis_tarihi    = QDate::fromString ( query.VALUE(1).toString(), "yyyy.MM.dd" );

        return true;
    }

    DB->START_TRANSACTION();
    query.PREPARE_INSERT ("xyz_ayarlar",
                          "ayarlar_id",
                          "mali_yil_baslangic_tarihi"
                          ",mali_yil_bitis_tarihi");
    query.SET_VALUE( ":mali_yil_baslangic_tarihi", QString::number(QDate::currentDate().year())+ ".01.01");
    query.SET_VALUE( ":mali_yil_bitis_tarihi"    , QString::number(QDate::currentDate().year())+ ".12.31");
    int id = query.INSERT();
    DB->COMMIT_TRANSACTION();
    if (id > 1) {
        return false; // Id 1 silindiyse sonsuz döngüde kalıyor.
    }
    return XYZ_AYARLAR_STRUCTINI_DOLDUR();
}
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 MUH_HESAP_EKLEME_FISI::CHECK_FIS_FORM_VAR ( QObject * object )
{
    if ( object EQ m_ui->line_edit_hesap_kodu ) {
        QString tam_hesap_kodu = m_ui->line_edit_hesap_kodu->text();
        QRegExp non_digit ( " ( \\D+ )" );
        if ( m_ui->line_edit_hesap_kodu->text().contains(non_digit) EQ true ) {
            MSG_WARNING( tr ( "Hesap kodu sadece numerik karakterlerden oluşabilir" ), m_ui-> line_edit_hesap_kodu );

            m_ui->line_edit_hesap_kodu->undo();
            return ADAK_FAIL;
        }
        SQL_QUERY query ( DB );

        query.PREPARE_SELECT ( "muh_hesaplar","hesap_id","tam_hesap_kodu = :tam_hesap_kodu" );

        query.SET_VALUE      ( ":tam_hesap_kodu", tam_hesap_kodu );

        if (query.SELECT() > 0 ) {
            MSG_WARNING( tr ( "Aynı hesap koduyla kayıtlı başka bir muhasebe hesabı sistemde mevcuttur."
                                                     "Lütfen hesap kodunuzu değiştiriniz.." ), m_ui->line_edit_hesap_kodu );

            m_ui->line_edit_hesap_kodu->undo();
            return ADAK_FAIL;
        }
    }

    return ADAK_OK;
}
QList<int> GRP_GRUBA_EKLI_KAYITLARI_BUL (int program_id, int module_id, QList<int> gruplar)
{
    if ( gruplar.size() EQ 0 ) {
        return QList<int>();
    }

    QList<int> alt_grup_idleri;

    GRP_GRUBUN_ALT_GRUPLARINI_BUL(gruplar,&alt_grup_idleri);

    gruplar = alt_grup_idleri;

    SQL_QUERY query    ( DB );
    QList<int>         record_ids;

    QString where_str = " (";

    for ( int i = 0 ; i < gruplar.size() ; i++ ) {
        if (i NE 0) {
            where_str.append(" OR");
        }

        //PostgreSQL de bytea de ilike olmadigindan cast etmemiz gerekli.
        if ( DB->GET_SQL_DRIVER_ENUM() EQ PSQL ) {
            where_str.append(QString(" convert_from(gruplar , 'UTF8') like '%\011%1\011%'").arg(gruplar.at(i)));
        }
        else if (DB->GET_SQL_DRIVER_ENUM() EQ ORACLE ) {
            //Oracle da ise db fonksiyonlari kullanilmali.
            where_str.append(QString("(dbms_lob.instr(gruplar, utl_raw.CAST_TO_RAW('%\t%1\t%')) > 0)").arg(gruplar.at(i)));
        }
        else {
            where_str.append(QString(" gruplar like '%\t%1\t%'").arg(gruplar.at(i)));
        }
    }
    where_str.append(QString(") AND (program_id=%1 AND module_id = %2)").arg(QVariant(program_id).toString())
                                                                        .arg(QVariant(module_id ).toString()));

    query.PREPARE_SELECT("adak_kaydin_gruplari","record_id",where_str,"");

    if ( query.SELECT() EQ 0 ) {
        return QList<int>();
    }

    while(query.NEXT() EQ true) {
        record_ids << query.VALUE(0).toInt();
    }

    return record_ids;
}
void GRP_KAYDIN_GRUPLARINI_SIL ( int program_id , int module_id ,int record_id )
{
    //Kaydi silmeden once tum gruplardan dusurulmesi lazim.
    GRP_KAYDI_GRUPLARA_EKLE(program_id,module_id,record_id,new QList<int>());

    SQL_QUERY query (DB);

    query.PREPARE_DELETE("adak_kaydin_gruplari", "record_id=:record_id AND program_id = :program_id AND module_id = :module_id");

    query.SET_VALUE(":record_id" ,  record_id   );
    query.SET_VALUE(":program_id",  program_id  );
    query.SET_VALUE(":module_id" ,  module_id   );

    query.DELETE();
}
bool GRP_GRUP_EKLENDIMI(int program_id, int module_id)
{
    SQL_QUERY query ( DB );

    query.PREPARE_SELECT("adak_gruplar","grup_id","program_id = :program_id AND modul_id = :module_id ","");

    query.SET_VALUE(":program_id" , program_id);
    query.SET_VALUE(":module_id"  , module_id );

    if (query.SELECT() EQ 0) {
        return false;
    }

    return true;
}
QList<int> GRP_KAYDIN_GRUP_IDLERINI_BUL ( int program_id , int module_id ,int record_id )
{
    SQL_QUERY query    ( DB );

    query.PREPARE_SELECT ( "adak_kaydin_gruplari","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() EQ 0 ) {
        return QList<int>();
    }

    query.NEXT();

    QStringList grup_idleri_str = query.VALUE(0).toString().split("\t");

    if (grup_idleri_str.size() EQ 0) {
        return QList<int>();
    }

    QList<int> grup_idleri;

    for (int i = 0 ; i < grup_idleri_str.size() ; i++ ) {
        grup_idleri << grup_idleri_str.at(i).toInt();
    }

    return grup_idleri;
}
QString GRP_KAYDIN_GRUPLARINI_BUL ( int program_id , int module_id ,int record_id ,
                                QList<int> * grup_idleri , QStringList * grup_adlari , QStringList * grup_kodlari)
{
    SQL_QUERY query    ( DB );

    query.PREPARE_SELECT ( "adak_kaydin_gruplari","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() EQ 0 ) {
        return "";
    }

    query.NEXT();

    QStringList grup_idleri_str = query.VALUE(0).toString().split("\t",QString::SkipEmptyParts);

    if (grup_idleri_str.size() EQ 0) {
        return "";
    }

    for (int i = 0 ; i < grup_idleri_str.size() ; i++ ) {
        *grup_idleri << grup_idleri_str.at(i).toInt();
    }

    return GRP_GRUP_ADLARINI_BUL(grup_idleri , grup_adlari , grup_kodlari);
}
QString GRP_GRUP_ADLARINI_BUL ( QList<int> * grup_idleri , QStringList * grup_adlari , QStringList * grup_kodlari)
{
    SQL_QUERY query    ( DB );

    QString kaydin_gruplari;

    if (grup_idleri->size() EQ 0) {
        return "";
    }

    QString where_str = " ";

    for ( int i = 0 ; i < grup_idleri->size() ; i++ ) {
        if (i NE 0) {
            where_str.append(" OR");
        }
        where_str.append(QString(" grup_id=%1").arg(grup_idleri->at(i)));
    }

    query.PREPARE_SELECT("adak_gruplar","grup_adi,tam_grup_kodu",where_str,"");

    if ( query.SELECT() EQ 0 ) {
        return "";
    }

    while(query.NEXT() EQ true) {
        if (grup_kodlari NE NULL) {
            *grup_kodlari   << query.VALUE(1).toString();
	}
        *grup_adlari    << query.VALUE(0).toString();
        kaydin_gruplari.append(QString(query.VALUE(0).toString() + "\n"));
    }

    return kaydin_gruplari;
}
Beispiel #10
0
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 MUH_FIS_KOPYALAMA_BATCH::SEARCH_EDIT_CLICKED ( QWidget * widget, QLineEdit * lineEdit  )
{
    Q_UNUSED ( widget );

    int fis_id = OPEN_MUH_FIS_ARAMA ( 0, MUHASEBE_MODULU, -1, ENUM_MUHASEBE_FISI, this );

    if ( fis_id < 1 ) {
        return;
    }

    SQL_QUERY query ( DB );

    query.PREPARE_SELECT("muh_fisler" , "fis_no" , "fis_id = :fis_id");

    query.SET_VALUE      ( ":fis_id" , fis_id );
    if ( query.SELECT() EQ 0 ) {
        MSG_WARNING( tr ( "Fiş bulunamadı"), NULL );
        SET_FOCUS( m_ui->lineEdit_yeni_fis_no );
        return;
    }

    query.NEXT();
    lineEdit->setText ( query.VALUE(0).toString() );
    m_fis_id = fis_id;
}
Beispiel #12
0
bool HEADER_ICIN_INDEX_YAPISI_OLUSTUR (int index_sayisi, int tablo_id )
{
    int INDEXLER_ARRAY[INDEXLER_ARRAY_SIZE] = {0};

    SQL_QUERY query (DB);

    query.PREPARE_SELECT("sql_tablolar","indexler_array","tablo_id=:tablo_id");
    query.SET_VALUE     (":tablo_id",tablo_id);

    if ( query.SELECT() EQ 0 ) {
        return false;
    }

    query.NEXT();

    UNPACK_INT_ARRAY(query.VALUE(0).toString(),INDEXLER_ARRAY,INDEXLER_ARRAY_SIZE);

    for (int i = 0; i < INDEXLER_ARRAY_SIZE; i += 4 ) {
        if ( INDEXLER_ARRAY[i] EQ 0 ) {
            continue;
        }
        if ( i EQ 0 ) {
            QString alan_adi = GET_ALAN_ADI( tablo_id, INDEXLER_ARRAY[i]);
            file_content += tab (4, "{ ");
            file_content += QString("PRIMARY , 1, {") + "\"" + alan_adi  + "\"" + "}";
            file_content += " }";
            index_sayisi--;
            if (index_sayisi > 0 ) {
                file_content += ",";
            }
            file_content += "\n";
        }
        else {
            int indexteki_kolon_sayisi = 0;
            for ( int j = i; j < i + 4; j++ ) {
                if ( INDEXLER_ARRAY[j] NE 0 ) {
                    indexteki_kolon_sayisi++;
                }
            }
            file_content += tab (4, "{ ");
            file_content += "INDEX , " + QVariant(indexteki_kolon_sayisi).toString() + ", { ";
            for (int j = 0; j < indexteki_kolon_sayisi; j++ ) {
                QString alan_adi = GET_ALAN_ADI( tablo_id, INDEXLER_ARRAY[i+j]);
                file_content += "\"" + alan_adi  + "\"" ;
                if (j NE indexteki_kolon_sayisi -1 ) {
                    file_content += ",";
                }

            }
            file_content += " } }";
            index_sayisi--;
            if (index_sayisi > 0 ) {
                file_content += ",";
            }
            file_content += "\n";
        }

    }
    return true;
}
Beispiel #13
0
int SMM_SIRADAKI_MAKBUZ_NO_AL(QString p_makbuz_tarihi, ADAK_SQL *P_DB)
{
    ADAK_SQL * USE_DB;

    if ( P_DB EQ NULL ) {
        USE_DB = DB;
    }
    else {
        USE_DB = P_DB;
    }

    SQL_QUERY query ( USE_DB );

    query.PREPARE_SELECT ( "smm_makbuzlar",
                           "makbuz_no",
                           "makbuz_tarihi = :makbuz_tarihi" );
    query.SET_VALUE    ( ":makbuz_tarihi", p_makbuz_tarihi );

    if ( query.SELECT( "makbuz_no DESC", 0, 1 ) EQ 0 ) {
        return 1;
    }

    query.NEXT();

    return query.VALUE(0).toInt() + 1;
}
void SQL_INDEX_BATCH::READ_INDEXES()
{
    SQL_QUERY query (DB);

    query.PREPARE_SELECT("sql_tablolar","indexler_array","tablo_id=:tablo_id");
    query.SET_VALUE     (":tablo_id",p_tablo_id);

    if ( query.SELECT() EQ 0 ) {
        return;
    }

    query.NEXT();

    UNPACK_INT_ARRAY(query.VALUE(0).toString(),INDEXLER_ARRAY,INDEXLER_ARRAY_SIZE);

    int line_number = 1;
    for ( int i = 4; i < INDEXLER_ARRAY_SIZE; i++ ) {
        if ( INDEXLER_ARRAY[i] EQ 0 ) {
            if ( i+1 MOD 4 EQ 0 ) {
                line_number++;
            }
            continue;
        }
        COMBOBOX_ARRAY[line_number-1][i-(4*line_number)]->setCurrentIndex
                (COMBOBOX_ARRAY[line_number][i-(4*line_number)]->findText(GET_ALAN_ADI(p_tablo_id,INDEXLER_ARRAY[i])));

        if ( i+1 MOD 4 EQ 0 ) {
            line_number++;
        }
    }
}
int MUH_HESAP_EKLEME_FISI::FIND_NEXT_FIS_RECORD()
{
    SQL_QUERY  query ( DB );

    QStringList alt_hesap_kodu_list = m_ui->line_edit_hesap_kodu->text().split( m_delimeter );

    query.PREPARE_SELECT ( "muh_hesaplar", "hesap_id","hesap_kodu > :hesap_kodu ");
    query.SET_VALUE      ( ":hesap_kodu"   , alt_hesap_kodu_list.at( alt_hesap_kodu_list.size() -1 ) );

    query.AND_EKLE       ( "hesap_seviyesi = :hesap_seviyesi");
    query.SET_VALUE      ( ":hesap_seviyesi", m_ana_hesap_seviyesi );

    if ( query.SELECT("hesap_kodu ASC", 0, 1 ) EQ 0 ) {
        return 0;
    }
    query.NEXT();

    return query.VALUE(0).toInt();
}
int MUH_HESAP_EKLEME_FISI::FIND_LAST_FIS_RECORD()
{
    SQL_QUERY query ( DB );

    query.PREPARE_SELECT ( "muh_hesaplar", "hesap_id","hesap_seviyesi = :hesap_seviyesi ");
    query.SET_VALUE      ( ":hesap_seviyesi" ,  m_ana_hesap_seviyesi );

    if ( query.SELECT("hesap_kodu DESC", 0, 1 ) EQ 0 ) {
        return 0;
    }

    query.NEXT();

    return query.VALUE(0).toInt();
}
Beispiel #17
0
void DVZ_FILL_COMBOBOX ( QComboBox * combo_box, bool doviz_adi_ekle  )
{
    //DOVIZLER_STRUCT_DOLDUR();

    // FIXME : Bu yapi kod duplication yerine struct ile cozulebilir gibi duruyor ?

    SQL_QUERY query ( DB );

//    query.PREPARE_LIMIT_SELECT ( "SELECT kur_id FROM dvz_kurlar",0,1,"kur_id" );

//    if ( query.SELECT() EQ 0 ) {
//        DOVIZLERI_GUNCELLE();
//    }

    query.PREPARE_SELECT("dvz_dovizler" , "doviz_id,doviz_adi,doviz_kodu" , "dovizi_kullan = :dovizi_kullan");
    query.SET_VALUE(":dovizi_kullan" , 1);

    if ( query.SELECT() EQ 0 ) {
        return;
    }

    int added_item = 0;
    QStringList dovizler_list;
    while ( query.NEXT() EQ true ) {
        QString doviz_str = query.VALUE( 2 ).toString();
        if ( doviz_adi_ekle EQ true ) {
              doviz_str.append ( QString ( " %1" ).arg ( query.VALUE( 1 ).toString() ) );
        }
        dovizler_list << doviz_str;
        added_item++;
    }

    combo_box->addItems ( dovizler_list );
    combo_box->setEditable ( false );

    if ( added_item EQ 1 ) {
        combo_box->setCurrentIndex(0);
    }
}
Beispiel #18
0
void BNK_MAKRO_SECIMI::FILL_TABLE()
{
    QTableWidget * table_widget = GET_TABLE_WIDGET();

    SQL_QUERY query ( DB );

    query.PREPARE_SELECT ( "bnk_makrolar","makro_id,makro_adi" );

    if ( query.SELECT() EQ 0 ) {
        return;
    }

    int current_row = 0;

    while ( query.NEXT () ) {
        current_row = ADD_NEW_ROW();

        table_widget->item ( current_row,0 )->setText ( query.VALUE ( "makro_id" ).toString() );
        table_widget->item ( current_row,1 )->setText ( query.VALUE ( "makro_adi" ).toString() );
    }
}
int MUH_HESAP_EKLEME_FISI::CHECK_ADD_LINE ( int fis_id, int row_number )
{
    Q_UNUSED ( fis_id );
    Q_UNUSED ( row_number );

    SQL_QUERY query ( DB );

    query.PREPARE_SELECT("muh_hesaplar" , "alt_hesap_sayisi" , "hesap_id = :hesap_id");

    query.SET_VALUE(":hesap_id" , m_ana_hesap_id );

    int alt_hesap_sayisi = 0;

    if ( query.SELECT() NE 0 ) {
        query.NEXT();
        alt_hesap_sayisi = query.VALUE(0).toInt();
    }
    if ( alt_hesap_sayisi EQ 0 ) {
        m_ana_hesap_aktarilmalimi = true;
    }

    return ADAK_OK;
}
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();
}
Beispiel #21
0
void SUBE_CREATE_DEFAULT_SUBE_DEPO_UNITE_ENT_HESAPLARI()
{
    SQL_QUERY query ( DB );

    query.PREPARE_SELECT ( "sub_subeler","sube_id" );
    if ( query.SELECT() > 0 ) {
        return;
    }

    query.PREPARE_INSERT   (   " sub_subeler","sube_id","sube_kodu, sube_adi,sube_port_cekler_hsp_id, "
                               " sube_tah_cekler_hsp_id,           sube_tem_cekler_hsp_id,           sube_kar_cekler_hsp_id, "
                               " sube_port_snt_hsp_id,             sube_tah_snt_hsp_id,              sube_tem_snt_hsp_id, "
                               " sube_pro_snt_hsp_id,              sube_port_snt_ileri_trh_hsp_id,   sube_tah_snt_ileri_trh_hsp_id, "
                               " sube_tem_snt_ileri_trh_hsp_id,    sube_borc_snt_hsp_id,             sube_borc_snt_ileri_trh_hsp_id, "
                               " sube_sup_alacaklar_hsp_id,        sube_tah_edlmyn_cekler_hsp_id,    sube_tah_edlmyn_snt_hsp_id, "
                               " sube_yurtici_satis_hsp_id,        sube_hizmet_urt_maliyet_hsp_id, "
                               " sube_prs_gdrlr_hsp_id         , sube_sarf_malzemeleri_hsp_id ,"
                               " sube_imalattan_giris_hsp_id    , "
                               " kasa_ent_hesap_id              ,                                    "
                               " cari_alici_ent_hesap_id        , cari_satici_ent_hesap_id ,         "
                               " banka_ent_hesap_id             , ver_cek_ent_hesap_id             , "
                               " odeme_emirleri_ent_hesap_id    ,                                    "
                               " pos_ent_hesap_id               ,                                    "
                               " kk_ent_hesap_id                , prk_gider_ent_hesap_id           , "
                               " urunler_ent_hesap_id           ,                                    "
                               " hizmetler_ent_hesap_id         , demirbaslar_ent_hesap_id,          "
                               " pos_kom_gideri_ent_hesap_id    ,                                    "
                               " prs_avanslari_ent_hesap_id     , personel_borclari_ent_hesap_id   , "
                               " prs_damga_vergisi_ent_hesap_id , personel_vergi_ent_hesap_id      , "
                               " prk_gelir_ent_hesap_id         ,                                    "
                               " prs_ssk_isci_payi_hesap_id     ,                                    "
                               " prs_ssk_isveren_payi_hesap_id  ,                                    "
                               " prs_issizlik_sgk_isci_hsp_id   ,                                    "
                               " prs_issizlik_sgk_isv_hsp_id    ,                                    "
                               " asg_gecim_ind_hesap_id         ,                                    "
                               " isveren_payi_giderleri_hps_id  ,                                    "
                               " bir_amortismanlar_hsp_id       ,                                    "
                               " amor_giderleri_hsp_id          ,                                    "
                               " sgdp_prim_yuzde_isc_hsp_id     , sgdp_prim_yuzde_isv_hsp_id        ,"
                               " kidem_tazminati_hesap_id       , ihbar_tazminati_hesap_id          ,"
                               " dmr_satis_kar_ent_hesap_id     , dmr_satis_zarar_ent_hesap_id      ,"
                               " sendika_odeme_hesap_id         , smmm_alinan_hizmet_hesap_id       ,"
                               " smmm_gelir_vergisi_hesap_id    , smmm_satilan_hizmet_hesap_id      ,"
                               " isy_5510_nolu_kanun_hesap_id   , satistan_iade_hesap_id            ,"
                               " ortaklara_borclar_hesap_id   ");

    query.SET_VALUE ( ":sube_kodu"                          , "MRK"                   );
    query.SET_VALUE ( ":sube_adi"                           , "MERKEZ"                );
    query.SET_VALUE ( ":sube_port_cekler_hsp_id"            , MUH_GET_HESAP_ID("101") );
    query.SET_VALUE ( ":sube_tah_cekler_hsp_id"             , MUH_GET_HESAP_ID("101") );
    query.SET_VALUE ( ":sube_tem_cekler_hsp_id"             , MUH_GET_HESAP_ID("101") );
    query.SET_VALUE ( ":sube_kar_cekler_hsp_id"             , MUH_GET_HESAP_ID("101") );
    query.SET_VALUE ( ":sube_port_snt_hsp_id"               , MUH_GET_HESAP_ID("121") );
    query.SET_VALUE ( ":sube_tah_snt_hsp_id"                , MUH_GET_HESAP_ID("121") );
    query.SET_VALUE ( ":sube_tem_snt_hsp_id"                , MUH_GET_HESAP_ID("121") );
    query.SET_VALUE ( ":sube_pro_snt_hsp_id"                , MUH_GET_HESAP_ID("121") );
    query.SET_VALUE ( ":sube_port_snt_ileri_trh_hsp_id"     , MUH_GET_HESAP_ID("221") );
    query.SET_VALUE ( ":sube_tah_snt_ileri_trh_hsp_id"      , MUH_GET_HESAP_ID("221") );
    query.SET_VALUE ( ":sube_tem_snt_ileri_trh_hsp_id"      , MUH_GET_HESAP_ID("221") );
    query.SET_VALUE ( ":sube_borc_snt_hsp_id"               , MUH_GET_HESAP_ID("321") );
    query.SET_VALUE ( ":sube_borc_snt_ileri_trh_hsp_id"     , MUH_GET_HESAP_ID("421") );
    query.SET_VALUE ( ":sube_sup_alacaklar_hsp_id"          , MUH_GET_HESAP_ID("128") );
    query.SET_VALUE ( ":sube_tah_edlmyn_cekler_hsp_id"      , MUH_GET_HESAP_ID("101") );
    query.SET_VALUE ( ":sube_tah_edlmyn_snt_hsp_id"         , MUH_GET_HESAP_ID("121") );
    query.SET_VALUE ( ":sube_yurtici_satis_hsp_id"          , MUH_GET_HESAP_ID("600") );
    query.SET_VALUE ( ":sube_hizmet_urt_maliyet_hsp_id"     , MUH_GET_HESAP_ID("740") );
    query.SET_VALUE ( ":sube_prs_gdrlr_hsp_id"              , MUH_GET_HESAP_ID("770") );
    query.SET_VALUE ( ":sube_sarf_malzemeleri_hsp_id"       , MUH_GET_HESAP_ID("710") );
    query.SET_VALUE ( ":sube_imalattan_giris_hsp_id"        , MUH_GET_HESAP_ID("152") );
    query.SET_VALUE ( ":kasa_ent_hesap_id"                  , MUH_GET_HESAP_ID("100") );
    query.SET_VALUE ( ":cari_alici_ent_hesap_id"            , MUH_GET_HESAP_ID("120") );
    query.SET_VALUE ( ":cari_satici_ent_hesap_id"           , MUH_GET_HESAP_ID("320") );
    query.SET_VALUE ( ":banka_ent_hesap_id"                 , MUH_GET_HESAP_ID("102") );
    query.SET_VALUE ( ":ver_cek_ent_hesap_id"               , MUH_GET_HESAP_ID("103") );
    query.SET_VALUE ( ":odeme_emirleri_ent_hesap_id"        , MUH_GET_HESAP_ID("103") );
    query.SET_VALUE ( ":pos_ent_hesap_id"                   , MUH_GET_HESAP_ID("108") );
    query.SET_VALUE ( ":kk_ent_hesap_id"                    , MUH_GET_HESAP_ID("300") );
    query.SET_VALUE ( ":prk_gider_ent_hesap_id"             , MUH_GET_HESAP_ID("770") );
    query.SET_VALUE ( ":urunler_ent_hesap_id"               , MUH_GET_HESAP_ID("153") );
    query.SET_VALUE ( ":hizmetler_ent_hesap_id"             , MUH_GET_HESAP_ID("770") );
    query.SET_VALUE ( ":demirbaslar_ent_hesap_id"           , MUH_GET_HESAP_ID("255") );
    query.SET_VALUE ( ":pos_kom_gideri_ent_hesap_id"        , MUH_GET_HESAP_ID("780") );
    query.SET_VALUE ( ":prs_avanslari_ent_hesap_id"         , MUH_GET_HESAP_ID("196") );
    query.SET_VALUE ( ":personel_borclari_ent_hesap_id"     , MUH_GET_HESAP_ID("335") );
    query.SET_VALUE ( ":prs_damga_vergisi_ent_hesap_id"     , MUH_GET_HESAP_ID("360") );
    query.SET_VALUE ( ":personel_vergi_ent_hesap_id"        , MUH_GET_HESAP_ID("360") );
    query.SET_VALUE ( ":prk_gelir_ent_hesap_id"             , MUH_GET_HESAP_ID("600") );
    query.SET_VALUE ( ":prs_ssk_isci_payi_hesap_id"         , MUH_GET_HESAP_ID("361") );
    query.SET_VALUE ( ":prs_ssk_isveren_payi_hesap_id"      , MUH_GET_HESAP_ID("361") );
    query.SET_VALUE ( ":prs_issizlik_sgk_isci_hsp_id"       , MUH_GET_HESAP_ID("361") );
    query.SET_VALUE ( ":prs_issizlik_sgk_isv_hsp_id"        , MUH_GET_HESAP_ID("361") );
    query.SET_VALUE ( ":asg_gecim_ind_hesap_id"             , MUH_GET_HESAP_ID("360") );
    query.SET_VALUE ( ":isveren_payi_giderleri_hps_id"      , MUH_GET_HESAP_ID("770") );
    query.SET_VALUE ( ":bir_amortismanlar_hsp_id"           , MUH_GET_HESAP_ID("257") );
    query.SET_VALUE ( ":amor_giderleri_hsp_id"              , MUH_GET_HESAP_ID("770") );
    query.SET_VALUE ( ":sgdp_prim_yuzde_isc_hsp_id"         , MUH_GET_HESAP_ID("361") );
    query.SET_VALUE ( ":sgdp_prim_yuzde_isv_hsp_id"         , MUH_GET_HESAP_ID("361") );
    query.SET_VALUE ( ":kidem_tazminati_hesap_id"           , MUH_GET_HESAP_ID("770") );
    query.SET_VALUE ( ":ihbar_tazminati_hesap_id"           , MUH_GET_HESAP_ID("770") );
    query.SET_VALUE ( ":dmr_satis_kar_ent_hesap_id"         , MUH_GET_HESAP_ID("679") );
    query.SET_VALUE ( ":dmr_satis_zarar_ent_hesap_id"       , MUH_GET_HESAP_ID("689") );
    query.SET_VALUE ( ":sendika_odeme_hesap_id"             , MUH_GET_HESAP_ID("770") );
    query.SET_VALUE ( ":smmm_alinan_hizmet_hesap_id"        , MUH_GET_HESAP_ID("770") );
    query.SET_VALUE ( ":smmm_gelir_vergisi_hesap_id"        , MUH_GET_HESAP_ID("360") );
    query.SET_VALUE ( ":smmm_satilan_hizmet_hesap_id"       , MUH_GET_HESAP_ID("600") );
    query.SET_VALUE ( ":isy_5510_nolu_kanun_hesap_id"       , MUH_GET_HESAP_ID("602") );
    query.SET_VALUE ( ":satistan_iade_hesap_id"             , MUH_GET_HESAP_ID("610") );
    query.SET_VALUE ( ":ortaklara_borclar_hesap_id"         , MUH_GET_HESAP_ID("331") );

    int sube_id = query.INSERT();

    query.PREPARE_INSERT ( "sub_depolar ","depo_id", "depo_kodu, depo_adi, sube_id ");

    query.SET_VALUE      ( ":sube_id", sube_id );
    query.SET_VALUE      (":depo_kodu","001");
    query.SET_VALUE      (":depo_adi","MERKEZ DEPO");

    int depo_id = query.INSERT();


    query.PREPARE_INSERT ( "sub_uniteler ","unite_id", "sube_id, unite_adi, order_number, "
                             "bilgisayar_id, depo_id, irsaliye_belge_seri, fatura_belge_seri, "
                             "tahsilat_makbuzu_belge_seri, odeme_makbuzu_belge_seri, "
                             "irsaliye_belge_numarasi, fatura_belge_numarasi, "
                             "tahsilat_makbuzu_belge_num, odeme_makbuzu_belge_num , "
                             "muh_kasa_hesap_id, irsaliyeli_fat_belge_seri , "
                             "irsaliyeli_fat_belge_numarasi ");

    query.SET_VALUE      ( ":unite_adi"                     , "MERKEZ KASA");
    query.SET_VALUE      ( ":order_number"                  , 1024);
    query.SET_VALUE      ( ":irsaliyeli_fat_belge_seri"     , "A");
    query.SET_VALUE      ( ":irsaliye_belge_seri"           , "A");
    query.SET_VALUE      ( ":fatura_belge_seri"             , "A");
    query.SET_VALUE      ( ":tahsilat_makbuzu_belge_seri"   , "A");
    query.SET_VALUE      ( ":odeme_makbuzu_belge_seri"      , "A");
    query.SET_VALUE      ( ":irsaliyeli_fat_belge_numarasi" , QVariant ( 1 ).toString() );
    query.SET_VALUE      ( ":irsaliye_belge_numarasi"       , QVariant ( 1 ).toString() );
    query.SET_VALUE      ( ":fatura_belge_numarasi"         , QVariant ( 1 ).toString() );
    query.SET_VALUE      ( ":tahsilat_makbuzu_belge_num"    , QVariant ( 1 ).toString());
    query.SET_VALUE      ( ":odeme_makbuzu_belge_num"       , QVariant ( 1 ).toString() );
    query.SET_VALUE      ( ":sube_id"                       , sube_id );
    query.SET_VALUE      ( ":bilgisayar_id"                 , BILGISAYAR_ID() );
    query.SET_VALUE      ( ":depo_id"                       , depo_id );
    query.SET_VALUE      ( ":muh_kasa_hesap_id"             , MUH_GET_HESAP_ID("100"));

    query.INSERT();
}
void GRP_GRUBUN_ALT_GRUPLARINI_BUL ( QList<int> gruplar, QList<int> * alt_grup_idleri )
{
    if (gruplar.isEmpty() EQ true) {
        return;
    }

    QString where_str = "";

    for ( int i = 0 ; i < gruplar.size() ; i++) {
        if ( i NE 0 ) {
            where_str.append("OR ");
        }
        where_str.append(QString("grup_id = %1 ").arg(gruplar.at(i)));
    }

    SQL_QUERY query (DB);

    query.PREPARE_SELECT("adak_gruplar","grup_id , grup_adi , alt_grup_sayisi",where_str,"");

    if ( query.SELECT() EQ 0 ) {
        return;
    }

    QList<int> parent_gruplar;

    while ( query.NEXT() EQ true ) {
        if (query.VALUE(2).toInt() EQ 0) {
            if ( alt_grup_idleri->contains(query.VALUE(0).toInt()) EQ false ) {
                *alt_grup_idleri << query.VALUE(0).toInt();
            }
            continue;
        }
        parent_gruplar << query.VALUE(0).toInt();
    }

    if (parent_gruplar.isEmpty() EQ true) {
        return;
    }

    where_str = "";

    for ( int i = 0 ; i < parent_gruplar.size() ; i++) {
        if ( i NE 0 ) {
            where_str.append("OR ");
        }
        where_str.append(QString("grup_parent_id = %1 ").arg(parent_gruplar.at(i)));
    }

    query.PREPARE_SELECT("adak_gruplar","grup_id , grup_adi , alt_grup_sayisi",where_str,"");

    if ( query.SELECT() EQ 0 ) {
        return;
    }

    gruplar.clear();

    while ( query.NEXT() EQ true ) {
        gruplar << query.VALUE(0).toInt();
    }

    GRP_GRUBUN_ALT_GRUPLARINI_BUL(gruplar,alt_grup_idleri);
}
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();
}
int MUH_HESAP_EKLEME_FISI::GET_FIS_RECORD ( int p_fis_id )
{
    SQL_QUERY query ( DB );

    query.PREPARE_SELECT("muh_hesaplar" , "tam_hesap_kodu, hesap_ismi, hesap_seviyesi, hesap_kodu" ,
                         "hesap_id = :hesap_id");
    query.SET_VALUE      (":hesap_id", p_fis_id );

    if ( query.SELECT() EQ 0 ) {
        return ADAK_FAIL;
    }

    query.NEXT();

    m_ui->line_edit_hesap_kodu->setText( query.VALUE(0).toString() );
    m_ui->lineEdit_hesap_ismi->setText( query.VALUE(1).toString() );

    m_ana_hesap_seviyesi = query.VALUE(2).toInt();
    m_ana_hesap_kodu     = query.VALUE(3).toString();


    m_ui->line_edit_hesap_kodu->setEnabled( false );
    m_ui->lineEdit_hesap_ismi->setEnabled( false );

    if ( m_ana_hesap_seviyesi EQ 1 ) {
        m_ui->line_edit_hesap_kodu->setEnabled( true );
        m_ui->lineEdit_hesap_ismi->setEnabled ( true );
    }

    query.PREPARE_SELECT("muh_hesaplar" , "hesap_id, hesap_kodu, hesap_ismi" ,
                         "parent_id = :parent_id");
    query.SET_VALUE  ( ":parent_id", p_fis_id );

    if ( query.SELECT("hesap_kodu") EQ 0 ) {
        return ADAK_OK;
    }

    int current_row = 0;

    while ( query.NEXT() EQ true ) {

        current_row        = ADD_NEW_LINE();

        QLineEdit * lineEdit_hesap_kodu     =  ( QLineEdit * ) m_ui->tablewidget_alt_hesaplar->cellWidget ( current_row, HESAP_KODU_COLUMN      );
        QLineEdit * lineEdit_hesap_ismi     =  ( QLineEdit * ) m_ui->tablewidget_alt_hesaplar->cellWidget ( current_row, HESAP_ISMI_COLUMN      );
        QLineEdit * lineEdit_gruplar        =  ( QLineEdit * ) m_ui->tablewidget_alt_hesaplar->cellWidget ( current_row, HESAP_GRUPLAR          );
        QLineEdit * lineEdit_tam_hesap_kodu =  ( QLineEdit * ) m_ui->tablewidget_alt_hesaplar->cellWidget ( current_row, TAM_HESAP_KODU_COLUMN  );

        QTableWidgetItem * new_item;

        new_item = new QTableWidgetItem         ( query.VALUE(0).toString() );
        m_ui->tablewidget_alt_hesaplar->setItem (  current_row, ROW_ID_COLUMN, new_item );

        new_item = new QTableWidgetItem         ( QVariant ( p_fis_id ).toString() );
        m_ui->tablewidget_alt_hesaplar->setItem ( current_row, ANA_HESAP_ID_COLUMN, new_item );

        lineEdit_hesap_kodu->setText        ( query.VALUE(1).toString() );
        lineEdit_hesap_ismi->setText        ( query.VALUE(2).toString() );
        lineEdit_tam_hesap_kodu->setText    ( m_ui->line_edit_hesap_kodu->text() + m_delimeter + query.VALUE(1).toString() );

        QList<int> grup_idleri;

        lineEdit_gruplar->setText(GRP_KAYDIN_GRUPLARINI_BUL(E9_PROGRAMI,MUHASEBE_MODULU,query.VALUE(0).toInt(),&grup_idleri,new QStringList(), new QStringList()));

        QString    grup_id_str = "";

        for ( int i = 0 ; i < grup_idleri.size() ; i++ ) {
            if ( grup_id_str.isEmpty() EQ false ) {
                grup_id_str.append("\t");
            }
            grup_id_str .append( QVariant(grup_idleri.at(i)).toString());
        }

        m_ui->tablewidget_alt_hesaplar->setItem(current_row,GRUP_IDLERI,new QTableWidgetItem(grup_id_str));
    }

    return ADAK_OK;
}
void DMR_AMORTISMAN_AYIRMA_BATCH::RUN_BATCH()
{
    SQL_QUERY query ( DB ) ;

    QList<int> gruplara_kayitli_demirbaslar_id_list;

    gruplara_kayitli_demirbaslar_id_list = GRP_GRUBA_EKLI_KAYITLARI_BUL(E9_PROGRAMI,DEMIRBAS_GRUP_MODULU,m_grup_idleri);

    QString where_str;

    for ( int i = 0 ; i < gruplara_kayitli_demirbaslar_id_list.size() ; i++ ) {

        where_str = "demirbas_id = :demirbas_id ";

        if (m_sube_id > 0) {
            where_str.append(" AND sube_id = :sube_id");
        }
        where_str.append(" AND amortisman_ayrilacak_mi = :amortisman_ayrilacak_mi");

        query.PREPARE_SELECT ( "dmr_demirbaslar","demirbas_id,yeniden_degerleme_yapilacak_mi,"
                               "yeniden_degerleme_yapildi, alis_tarihi , yillik_ayrilan_amor_yuzdesi",
                                where_str);
        query.SET_VALUE      ( ":demirbas_id" , QVariant ( gruplara_kayitli_demirbaslar_id_list.at(i)).toInt() );

        if ( m_sube_id > 0) {
            query.SET_VALUE(":sube_id" , m_sube_id);
        }
        query.SET_VALUE(":amortisman_ayrilacak_mi" , 1);

        if ( query.SELECT() EQ 0 ) {
            continue;
        }

        while ( query.NEXT() ) {
            int yeniden_degerleme_yapilacak_mi = query.VALUE(1).toInt();
            int yeniden_degerleme_yapildi      = query.VALUE(2).toInt();
            QDate demirbas_alis_tarihi         = QDate::fromString(query.VALUE(3).toString(),"yyyy.MM.dd");

            if ( demirbas_alis_tarihi.year() EQ m_ui->adakDate_fis_tarihi->QDATE().year() ) {
                if ( demirbas_alis_tarihi.month() > m_ui->adakDate_fis_tarihi->QDATE().month()) {
                    gruplara_kayitli_demirbaslar_id_list.removeAt(i);
                    continue;
                }

                double ayrilacak_amor_orani = DMR_GET_AYRILACAK_AMORTISMAN_ORANI(demirbas_alis_tarihi.month());

                if ( ayrilacak_amor_orani NE m_ui->commaEdit_dusulecek_amortisman_yuzdesi->GET_DOUBLE()) {
                    gruplara_kayitli_demirbaslar_id_list.removeAt(i);
                    continue;
                }
            }

            if ( yeniden_degerleme_yapilacak_mi EQ 1 ) {
                if ( yeniden_degerleme_yapildi EQ 0 ) {
                    //Demirbasin alis tarihine bakilir.Islem yili ile demirbas ayni yil alinmissa,
                    //demirbas yeniden degerlemeye tabi degildir


                    int demirbas_alim_yili = demirbas_alis_tarihi.year();
                    int current_year       = m_ui->adakDate_fis_tarihi->QDATE().year();

                    if ( demirbas_alim_yili NE current_year ) {
                        gruplara_kayitli_demirbaslar_id_list.removeAt(i);
                        continue;
                    }
                }
            }

            double yillik_ayrilan_amortisman_yuzdesi = query.VALUE("yillik_ayrilan_amor_yuzdesi").toDouble();

            if ( yillik_ayrilan_amortisman_yuzdesi EQ 100 ) {
                //Demirbasin yillik amortismani ayrilmis demektir
                gruplara_kayitli_demirbaslar_id_list.removeAt(i);
                continue;
            }

            yillik_ayrilan_amortisman_yuzdesi += m_ui->commaEdit_dusulecek_amortisman_yuzdesi->GET_DOUBLE();

            if ( yillik_ayrilan_amortisman_yuzdesi > 100 ) {
                gruplara_kayitli_demirbaslar_id_list.removeAt(i);
                continue;
            }


        }

    }

    if ( gruplara_kayitli_demirbaslar_id_list.size() EQ 0 ) {
        m_ui->textEdit_aciklama->setHidden ( false );
        m_ui->textEdit_aciklama->setPlainText ( "Gruba Kayıtlı,Amortismanı Ayrılacak Demirbaş Bulunmamaktadır.Amortisman Ayırma İşlemi Gerçekleşmedi!..");

        return;
    }

    DB->START_TRANSACTION();

    DMR_FIS_STRUCT * DMR_FISI = new DMR_FIS_STRUCT;

    DMR_CLEAR_FIS_STRUCT(DMR_FISI);

    DMR_FISI->program_id             = E9_PROGRAMI;
    DMR_FISI->modul_id               = DEMIRBAS_MODULU;
    DMR_FISI->fis_tarihi             = m_ui->adakDate_fis_tarihi->DATE();
    DMR_FISI->aciklama               = QObject::tr("Toplu Amortisman Ayırma Fişi" );
    DMR_FISI->fis_turu               = AMORTISMAN_AYIRMA_FISI;
    DMR_FISI->dusulecek_amor_yuzdesi = m_ui->commaEdit_dusulecek_amortisman_yuzdesi->GET_DOUBLE();

    int fis_id = DMR_FIS_EKLE(DMR_FISI);


    DMR_FIS_SATIRI_STRUCT * DMR_FIS_SATIRI = new DMR_FIS_SATIRI_STRUCT;



    for ( int i = 0 ; i < gruplara_kayitli_demirbaslar_id_list.size() ; i++ ) {

        int demirbas_id = QVariant(gruplara_kayitli_demirbaslar_id_list.at(i)).toInt();

        DMR_CLEAR_FIS_SATIRI_STRUCT(DMR_FIS_SATIRI);

        DMR_FIS_SATIRI->demirbas_id        = demirbas_id;
        DMR_FIS_SATIRI->satir_tutari       = 0.0;
        //Ayrilacak amortisman tutari fonksiyonda hesaplanacak
        DMR_FIS_SATIRI->fis_id             = fis_id;
        DMR_FIS_SATIRI->modul_id           = DMR_FISI->modul_id;
        DMR_FIS_SATIRI->program_id         = DMR_FISI->program_id;

        DMR_FIS_SATIRI_EKLE(DMR_FISI , DMR_FIS_SATIRI);

    }


    m_ui->textEdit_aciklama->setHidden ( false );

    query.PREPARE_SELECT ( "dmr_fis_satirlari","fis_satiri_id","fis_id = :fis_id" );
    query.SET_VALUE      ( ":fis_id" , fis_id );

    if ( query.SELECT() EQ 0 ) {
        //Olusturulan amortisman fisinin hic satiri yoksa,fisin kendiside silinmeli

        query.PREPARE_DELETE ( "dmr_fisler","fis_id = :fis_id" );
        query.SET_VALUE      ( ":fis_id" , fis_id );
        query.DELETE();

        m_ui->textEdit_aciklama->setPlainText ( "Ayrılacak amortisman yüzdesine uygun demirbaş,seçilen grupta bulunamadı.Fiş oluşturulamadı!..");
    }
    else {
        m_ui->textEdit_aciklama->setPlainText ( QString ( "'%1' nolu Amortisman Fişi Oluşturuldu." ).arg ( QVariant(DMR_FISI->fis_no).toString()));
    }



    QString log_detaylari = QObject::tr ( "Toplu Amortisman Ayırma , " );
    log_detaylari.append ( "Gruplar : " + m_ui->textEdit_gruplar->toPlainText() + "  " + "\n");
    log_detaylari.append ( "Düşülecek Amortisman Yüzdesi : % "  +
                         m_ui->commaEdit_dusulecek_amortisman_yuzdesi->GET_TEXT() );

    E9_LOG_KAYDI_EKLE ( DEMIRBAS_MODULU,LOG_DMR_AMORTISMAN_AYIRMA,LOG_ISLEM_ADD,log_detaylari );


    DB->COMMIT_TRANSACTION();


}
int PRS_PERSONEL_ODENEK_EKLEME_FISI::GET_FIS_RECORD ( int record_id )
{
    SQL_QUERY   sql_query(DB);
    SQL_QUERY   query    (DB);

    sql_query.PREPARE_SELECT( "prs_personeller ",
                              "sicil_no, cari_hesap_id",
                              "personel_id = :personel_id" );
    sql_query.SET_VALUE( ":personel_id", record_id );

    if ( sql_query.SELECT() EQ 0 ) {
        return ADAK_FAIL;
    }

    sql_query.NEXT();

    line_edit_personel_sicil_no->setText ( sql_query.VALUE(0).toString() );

    int cari_hesap_id   = sql_query.VALUE( 1 ).toInt();

    CARI_HESAP_STRUCT hesap_bilgileri;
    CARI_SET_HESAP_STRUCT_DEFAULTS(&hesap_bilgileri);

    CARI_KART_BILGILERINI_OKU( cari_hesap_id, &hesap_bilgileri  );

    line_edit_personel_adi_soyadi->setText( hesap_bilgileri.cari_hesap_ismi );


    query.PREPARE_SELECT ( "prs_ek_kesintiler_odenekler",
                           "kesinti_odenek_id, personel_id, order_number,  "
                           "odenek_kesinti_adi, bordro_donemi_ay, bordro_donemi_yil, ssk_kesintisi_iceriyor_mu, "
                           "gelir_vergisi_iceriyor_mu, damga_vergisi_iceriyor_mu, "
                           "yuzde_mi, yuzde_orani, tutar, aciklama, bordro_id ",
                           "personel_id = :personel_id "
                           "AND kesinti_odenek_turu = :kesinti_odenek_turu ");


    query.SET_VALUE      ( ":personel_id",          record_id );
    query.SET_VALUE      ( ":kesinti_odenek_turu"  , ENUM_PRS_ODENEK);

    query.SELECT("order_number ASC" );

    while ( query.NEXT() EQ true ) {

        int p_current_row;

        p_current_row = ADD_NEW_LINE ();

        QWidget     *  cell_widget = table_widget_odenek_satirlari->cellWidget( p_current_row, BORDRO_DONEMI_AY_COLUMN );
        QLineEdit   *   line_edit_odenek_adi                        = ( QLineEdit  * ) table_widget_odenek_satirlari->cellWidget( p_current_row, ODENEK_ADI_COLUMN );
        QComboBox   *   combo_box_bordro_donemi_ay                  = ( QComboBox  * ) table_widget_odenek_satirlari->cellWidget( p_current_row, BORDRO_DONEMI_AY_COLUMN );
        QComboBox   *   combo_box_bordro_donemi_yil                 = ( QComboBox  * ) table_widget_odenek_satirlari->cellWidget( p_current_row, BORDRO_DONEMI_YIL_COLUMN );
        QCheckBox   *   check_box_odenek_ssk_kesintisi_iceriyor_mu  = ( QCheckBox  * ) table_widget_odenek_satirlari->cellWidget( p_current_row, ODENEK_SSK_KESINTISI_ICERIYOR_MU_COLUMN );
        QCheckBox   *   check_box_odenek_gelir_vergisi_iceriyor_mu  = ( QCheckBox  * ) table_widget_odenek_satirlari->cellWidget( p_current_row, ODENEK_GELIR_VERGISI_ICERIYOR_MU_COLUMN );
        QCheckBox   *   check_box_odenek_damga_vergisi_iceriyor_mu  = ( QCheckBox  * ) table_widget_odenek_satirlari->cellWidget( p_current_row, ODENEK_DAMGA_VERGISI_ICERIYOR_MU_COLUMN );
        QComboBox   *   combo_box_odenek_yuzde_mi                   = ( QComboBox  * ) table_widget_odenek_satirlari->cellWidget( p_current_row, ODENEK_YUZDE_MI_COLUMN );
        QCommaEdit  *   comma_edit_yuzde_orani                      = ( QCommaEdit * ) table_widget_odenek_satirlari->cellWidget( p_current_row, YUZDE_COLUMN );
        QCommaEdit  *   comma_edit_tutar                            = ( QCommaEdit * ) table_widget_odenek_satirlari->cellWidget( p_current_row, TUTAR_COLUMN );

        line_edit_odenek_adi->setText( query.VALUE("odenek_kesinti_adi").toString() );
        combo_box_bordro_donemi_ay->setCurrentIndex( query.VALUE("bordro_donemi_ay").toInt() );
        combo_box_bordro_donemi_yil->setCurrentIndex( combo_box_bordro_donemi_yil->findText( query.VALUE("bordro_donemi_yil").toString()) );
        check_box_odenek_ssk_kesintisi_iceriyor_mu->setChecked( query.VALUE("ssk_kesintisi_iceriyor_mu").toInt() );
        check_box_odenek_gelir_vergisi_iceriyor_mu->setChecked( query.VALUE("gelir_vergisi_iceriyor_mu").toInt() );
        check_box_odenek_damga_vergisi_iceriyor_mu->setChecked( query.VALUE("damga_vergisi_iceriyor_mu").toInt() );
        combo_box_odenek_yuzde_mi->setCurrentIndex( query.VALUE("yuzde_mi").toInt() );
        comma_edit_yuzde_orani->SET_DOUBLE ( query.VALUE("yuzde_orani").toDouble() );
        comma_edit_tutar->SET_DOUBLE ( query.VALUE("tutar").toDouble() );

        if ( combo_box_odenek_yuzde_mi->currentText() EQ tr("TUTAR") ) {
            comma_edit_tutar->setEnabled( true );
        }
        else {
            comma_edit_yuzde_orani->setEnabled( true );
        }

        cell_widget = table_widget_odenek_satirlari->cellWidget( p_current_row, ACIKLAMA_COLUMN );
        QLineEdit  *   line_edit_aciklama    = static_cast < QLineEdit * > ( cell_widget );
        line_edit_aciklama->setText( query.VALUE("aciklama").toString() );


        QString id                                  = query.VALUE("kesinti_odenek_id").toString();
        QString personel_id                         = query.VALUE("personel_id").toString();
        QString order_number                        = query.VALUE("order_number").toString();

        QTableWidgetItem * new_item;

        new_item = new QTableWidgetItem(tr("%1").arg(id));
        table_widget_odenek_satirlari->setItem(p_current_row, ROW_ID_COLUMN, new_item);

        new_item = new QTableWidgetItem(tr("%1").arg(personel_id));
        table_widget_odenek_satirlari->setItem(p_current_row, RECORD_ID_COLUMN, new_item);

        new_item = new QTableWidgetItem(tr("%1").arg(order_number));
        table_widget_odenek_satirlari->setItem(p_current_row, ORDER_COLUMN, new_item);

    }
    return ADAK_OK;
}
Beispiel #28
0
int MUH_CHECK_MUHASEBE_ALARMLARI ( QString tam_hesap_kodu,double eklenecek_borc,double eklenecek_alacak )
{
    if ( K9_MUHASEBE_ALARMLARI_KAPALIMI() EQ true ) {
        return ADAK_OK;
    }

    if ( tam_hesap_kodu.isEmpty() EQ true ) {
        return ADAK_FAIL;
    }

    SQL_QUERY query (DB);

    query.PREPARE_SELECT("muh_hesaplar" , "tali_hesap , hesap_ismi , hesap_id, toplam_borc_array , toplam_alacak_array, "
                         "ent_borc_array , ent_alacak_array , ent_olmayan_borc_array,"
                         "ent_olmayan_alacak_array" , "tam_hesap_kodu = :tam_hesap_kodu");

    query.SET_VALUE(":tam_hesap_kodu" , tam_hesap_kodu );

    if ( query.SELECT() EQ 0 ) {
        return ADAK_FAIL;
    }
    query.NEXT();

    int tali_hesap_mi = query.VALUE(0).toInt();

    if ( tali_hesap_mi EQ 0 ) {
        return ADAK_FAIL;
    }

    double * HESABIN_BORC_BAKIYESI   = new double [ K9_ARRAY_SIZE ];
    double * HESABIN_ALACAK_BAKIYESI = new double [ K9_ARRAY_SIZE ];

    if ( K9_KULLANICININ_CALISTIGI_SIRKET() EQ 1 ) {
        UNPACK_DOUBLE_ARRAY ( query.VALUE("ent_borc_array").toString()  ,HESABIN_BORC_BAKIYESI     ,K9_ARRAY_SIZE );
        UNPACK_DOUBLE_ARRAY ( query.VALUE("ent_alacak_array").toString(),HESABIN_ALACAK_BAKIYESI   ,K9_ARRAY_SIZE );
    }
    else {
        UNPACK_DOUBLE_ARRAY ( query.VALUE("toplam_borc_array").toString()  ,HESABIN_BORC_BAKIYESI     ,K9_ARRAY_SIZE );
        UNPACK_DOUBLE_ARRAY ( query.VALUE("toplam_alacak_array").toString(),HESABIN_ALACAK_BAKIYESI   ,K9_ARRAY_SIZE );
    }

    double hesap_toplam_borc   = HESABIN_BORC_BAKIYESI   [ K9_SON_BAKIYE ];
    double hesap_toplam_alacak = HESABIN_ALACAK_BAKIYESI [ K9_SON_BAKIYE ];

    delete [] HESABIN_BORC_BAKIYESI;
    delete [] HESABIN_ALACAK_BAKIYESI;

    if ( tam_hesap_kodu.at(0) EQ '1' OR tam_hesap_kodu.at(0) EQ '2') {

        if ( hesap_toplam_alacak >= hesap_toplam_borc ) {
            return ADAK_OK;
        }

        if ( hesap_toplam_alacak + eklenecek_alacak > hesap_toplam_borc + eklenecek_borc ) {
            ADAK_MSG_ENUM msg_enum = ADAK_YES_NO(QString("%1 %2 alacak bakiye veriyor. Yine de devam etmek istermisiniz ?")
                                                 .arg(tam_hesap_kodu)
                                                 .arg(query.VALUE(1).toString()),NULL,NULL);
            if ( msg_enum NE ADAK_YES ) {
                return ADAK_FAIL;
            }
        }
    }
    else if ( tam_hesap_kodu.at(0) EQ '3' OR tam_hesap_kodu.at(0) EQ '4' OR tam_hesap_kodu.at(0) EQ '5') {

        if ( hesap_toplam_alacak < hesap_toplam_borc ) {
            return ADAK_OK;
        }

        if ( hesap_toplam_alacak + eklenecek_alacak < hesap_toplam_borc + eklenecek_borc ) {
            ADAK_MSG_ENUM msg_enum = ADAK_YES_NO(QString("%1 %2 borc bakiye veriyor. Yine de devam etmek istermisiniz ?")
                                                 .arg(tam_hesap_kodu)
                                                 .arg(query.VALUE(1).toString()),NULL,NULL);
            if ( msg_enum NE ADAK_YES ) {
                return ADAK_FAIL;
            }
        }
    }

    return ADAK_OK;
}
int ADRES_RAPOR_FILTRESI_BATCH::CHECK_VAR ( QObject * p_object )
{

    SQL_QUERY sql_query ( DB );

    if ( p_object EQ m_ui->radioButton_firmalar ) {
        if ( m_ui->radioButton_firmalar->isChecked() EQ true ) {
            m_adres_kayit_turu = FIRMA_KAYDI;
        }
    }
    else if ( p_object EQ m_ui->radioButton_sahislar ) {
        if ( m_ui->radioButton_sahislar->isChecked() EQ true ) {
            m_adres_kayit_turu = SAHIS_KAYDI;
        }
    }
    else if ( p_object EQ m_ui->radioButton_firma_sahis ) {
        if ( m_ui->radioButton_firma_sahis->isChecked() EQ true ) {
            m_adres_kayit_turu = SAHIS_ARTI_FIRMA;
        }
    }
    else if ( p_object EQ m_ui->checkBox_grup_secimi ) {
        if ( m_ui->checkBox_grup_secimi->isChecked() EQ true ) {
            m_ui->frame_gruplar->setEnabled ( true );
            SET_FOCUS( m_ui->button_grup_ekle );
        }
        else {
            m_ui->frame_gruplar->setEnabled ( false );
            m_ui->textEdit_gruplar->clear();
        }
    }
    else if ( p_object EQ m_ui->checkBox_adres_kaydi_secimi ) {
        if ( m_ui->checkBox_adres_kaydi_secimi->isChecked() EQ true ) {
            m_ui->frame_adres_kayitlari->setEnabled ( true );
            SET_FOCUS( m_ui->button_adres_kaydi_ekle );
        }
        else {
            m_ui->frame_adres_kayitlari->setEnabled ( false );
        }
    }
    else if ( p_object EQ m_ui->button_grup_ekle ) {


        if ( OPEN_GRUP_SECIM( E9_PROGRAMI,ADRES_MODULU , &m_grup_idleri , DB , this , true) EQ true ) {
            m_ui->textEdit_gruplar->setText ( GRP_GRUP_ADLARINI_BUL(&m_grup_idleri , new QStringList() , new QStringList()) );
        }

    }

    else if ( p_object EQ m_ui->button_adres_kaydi_ekle ) {

        QList<int> adres_id = OPEN_ADRES_ARAMA_LIST( m_adres_kayit_turu,true, this );

        if ( adres_id.size() EQ 0 ) {
            return ADAK_OK;
        }

        QString adres_id_str = "";

        for ( int i = 0 ; i < adres_id.size() ; i++ ) {
            if ( adres_id_str.isEmpty() EQ false ) {
                adres_id_str.append(" OR ");
            }

            adres_id_str.append(QString(" adres_id=" + QVariant(adres_id.at(i)).toString()));
        }

        sql_query.PREPARE_SELECT ( "adr_adresler","firma_sahis_adi,email,adres_id",adres_id_str );

        if ( sql_query.SELECT() EQ 0 ) {
            ADAK_WARNING( tr ( "Seçili kayıt bulunamadı"), NULL, this );
            return ADAK_FAIL;
        }

        bool email_bulundu           = false;
        bool table_widget_temizlendi = false;

        while ( sql_query.NEXT() EQ true ) {
            if ( m_adres_rapor_turu EQ TOPLU_MAIL_GONDERIMI ) {
                if (sql_query.VALUE(1).toString().isEmpty() EQ true ) {
                    SQL_QUERY query (DB);
                    query.PREPARE_SELECT("adr_emailler","email_adresi","gizli_kayit=:gizli_kayit AND adres_kayit_id=:adres_kayit_id");
                    query.SET_VALUE(":gizli_kayit"   ,0 );
                    query.SET_VALUE(":adres_kayit_id",sql_query.VALUE(2).toInt());
                    if ( query.SELECT() EQ 0 ) {
                        continue;
                    }
                }
                email_bulundu = true;
            }

            QString firma_sahis_adi = sql_query.VALUE(0).toString();

            if ( table_widget_temizlendi EQ false ) {
                for ( int i = m_ui->tableWidget_adres_kayitlari->rowCount() ; i > 0 ; i-- ) {
                    m_ui->tableWidget_adres_kayitlari->removeRow(i-1);
                }

                table_widget_temizlendi = true;
            }

            m_ui->tableWidget_adres_kayitlari->insertRow ( m_ui->tableWidget_adres_kayitlari->rowCount() );
            m_ui->tableWidget_adres_kayitlari->setItem   ( m_ui->tableWidget_adres_kayitlari->rowCount() -1, 0, new QTableWidgetItem ( QVariant( sql_query.VALUE(2) ).toString()));
            m_ui->tableWidget_adres_kayitlari->setItem   ( m_ui->tableWidget_adres_kayitlari->rowCount() -1, 1, new QTableWidgetItem ( firma_sahis_adi ));
        }

        if ( m_adres_rapor_turu EQ TOPLU_MAIL_GONDERIMI ) {
            if (email_bulundu EQ false ) {
                ADAK_WARNING( tr ( "Seçili kayıtta email adresi bulunamadı."), NULL, this );
                return ADAK_FAIL;
            }
        }
    }
    else if ( p_object EQ m_ui->tableWidget_adres_kayitlari ) {
        if ( p_object->objectName() EQ "ITEM_DOUBLE_CLICKED" ) {
            int clicked_row = m_ui->tableWidget_adres_kayitlari->currentRow();
            m_ui->tableWidget_adres_kayitlari->removeRow ( clicked_row );
        }
    }

    return ADAK_OK;
}
int PRS_PERSONEL_AILE_FISI::GET_FIS_RECORD ( int record_id )
{
    SQL_QUERY   sql_query_personel (DB);
    SQL_QUERY   query              (DB);


    int cari_hesap_id =  0 ;
    sql_query_personel.PREPARE_SELECT( "prs_personeller ","sicil_no, cari_hesap_id","personel_id = :personel_id" );

    sql_query_personel.SET_VALUE(":personel_id", record_id);

    if ( sql_query_personel.SELECT() NE 0 ) {

        sql_query_personel.NEXT();

        line_edit_personel_sicil_no->setText ( sql_query_personel.VALUE(0).toString() );
        cari_hesap_id     =   sql_query_personel.VALUE( 1 ).toInt();
    }

    CARI_HESAP_STRUCT hesap_bilgileri;
    CARI_SET_HESAP_STRUCT_DEFAULTS(&hesap_bilgileri);

    CARI_KART_BILGILERINI_OKU( cari_hesap_id, &hesap_bilgileri  );

    line_edit_personel_adi->setText         ( hesap_bilgileri.cari_hesap_ismi);

    query.PREPARE_SELECT ( "prs_personel_aile_uyeleri ",
                           "aile_bilgi_id , personel_id, order_number, aciklama, "
                           "adi_soyadi,  tc_kimlik_no,akrabalik_derecesi,dogum_tarihi, "
                           "ogrenim_durumu, calisma_durumu,"
                           "cinsiyet, asgari_gecim_ind_durumu ",
                           "personel_id = :personel_id ");

    query.SET_VALUE      ( ":personel_id",  record_id );

    if ( query.SELECT("order_number ASC" ) NE 0 ) {

        while ( query.NEXT() EQ true ) {

            int p_current_row;

            p_current_row = ADD_NEW_LINE ();

            QWidget    *   cell_widget = table_widget_aile_satirlari->cellWidget( p_current_row, AD_SOYAD_COLUMN );
            QLineEdit  *   line_edit_ad_soyad    = static_cast < QLineEdit * > ( cell_widget );
            line_edit_ad_soyad->setText( query.VALUE("adi_soyadi").toString() );

            cell_widget = table_widget_aile_satirlari->cellWidget( p_current_row, TC_KIMLIK_NO_COLUMN );
            QLineEdit  *   line_edit_tc_kimlik_no    = static_cast < QLineEdit * > ( cell_widget );
            line_edit_tc_kimlik_no->setText( query.VALUE("tc_kimlik_no").toString() );

            cell_widget = table_widget_aile_satirlari->cellWidget( p_current_row, AKRABALIK_DERECESI_COLUMN );
            QComboBox  *   combo_box_akrabalik_derecesi    = static_cast < QComboBox * > ( cell_widget );

            FIND_AND_SET_COMBOBOX_TEXT(combo_box_akrabalik_derecesi ,
                                       PRS_GET_AKRABALIK_DERECESI_STRING(query.VALUE("akrabalik_derecesi").toInt()));

            cell_widget = table_widget_aile_satirlari->cellWidget( p_current_row, CALISMA_DURUMU_COLUMN );
            QComboBox  *   combo_box_calisma_durumu    = static_cast < QComboBox * > ( cell_widget );

            FIND_AND_SET_COMBOBOX_TEXT(combo_box_calisma_durumu , PRS_GET_CALISMA_DURUMU_STRING(query.VALUE("calisma_durumu").toInt()));

            cell_widget = table_widget_aile_satirlari->cellWidget( p_current_row, DOGUM_TARIHI_COLUMN);
            QAdakDate * adakDate_dogum_tarihi = static_cast<QAdakDate*> (cell_widget);
            adakDate_dogum_tarihi->SET_DATE( query.VALUE("dogum_tarihi").toString());

            cell_widget = table_widget_aile_satirlari->cellWidget( p_current_row, EGITIM_DURUMU_COLUMN );
            QComboBox  *   combo_box_egitim_durumu    = static_cast < QComboBox * > ( cell_widget );

            FIND_AND_SET_COMBOBOX_TEXT(combo_box_egitim_durumu , query.VALUE("ogrenim_durumu").toString());

            cell_widget = table_widget_aile_satirlari->cellWidget( p_current_row, CINSIYET_COLUMN );
            QComboBox  *   combo_box_cinsiyet    = static_cast < QComboBox * > ( cell_widget );

            FIND_AND_SET_COMBOBOX_TEXT(combo_box_cinsiyet , query.VALUE("cinsiyet").toString());

            cell_widget = table_widget_aile_satirlari->cellWidget( p_current_row, ACIKLAMA_COLUMN );
            QLineEdit  *   line_edit_aciklama    = static_cast < QLineEdit * > ( cell_widget );
            line_edit_aciklama->setText( query.VALUE("aciklama").toString() );

            cell_widget = table_widget_aile_satirlari->cellWidget( p_current_row, ASGARI_GECIM_IND_DURUMU_COLUMN );
            QComboBox  *   combo_box_asagari_gecim_ind_durumu  = static_cast < QComboBox * > ( cell_widget );

            int asgari_gecim_ind_durumu = query.VALUE( "asgari_gecim_ind_durumu" ).toInt();

            FIND_AND_SET_COMBOBOX_TEXT( combo_box_asagari_gecim_ind_durumu , PRS_GET_EVET_HAYIR_DURUMU_STRING(asgari_gecim_ind_durumu));


            QString id                      = query.VALUE("aile_bilgi_id").toString();
            QString personel_id             = query.VALUE("personel_id").toString();
            QString order_number            = query.VALUE("order_number").toString();


            QTableWidgetItem * new_item;

            table_widget_aile_satirlari->setHorizontalHeaderLabels(QStringList()<<"id"<<"record_id"<<"satir_order"
                                                                    <<tr("Ad Soyad")<<tr("TC Kimlik No")<<tr("Akrabalık Derecesi")<<("Çalışma Durumu")
                                                                    <<tr("Doğum Tarihi")<<tr("Eğitim Düzeyi")
                                                                    <<tr("Cinsiyet")<< tr("Asgari Geçim \n İndirimi") << tr("Açıklama")<<tr("")<<tr("") );

            new_item = new QTableWidgetItem(tr("%1").arg(id));
            table_widget_aile_satirlari->setItem(p_current_row, ROW_ID_COLUMN, new_item);

            new_item = new QTableWidgetItem(tr("%1").arg(personel_id));
            table_widget_aile_satirlari->setItem(p_current_row, RECORD_ID_COLUMN, new_item);

            new_item = new QTableWidgetItem(tr("%1").arg(order_number));
            table_widget_aile_satirlari->setItem(p_current_row, ORDER_COLUMN, new_item);

        }
    }
    return ADAK_OK;
}