void DMR_DEMIRBAS_KARTI::UPDATE_RECORD ( int record_id )
{
    SQL_QUERY update_query( DB );

    SQL_QUERY query(DB);

    int personel_id = PRS_GET_CARI_PERSONEL_ID( m_cari_hesap_id );

    query.PREPARE_SELECT("dmr_demirbaslar" , "fatura_id,yeni_brkms_amortisman_tutari" , "demirbas_id = :demirbas_id");
    query.SET_VALUE(":demirbas_id" , record_id);

    int old_fatura_id = 0;
    double old_birikmis_amortisman_tutari = 0;

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

        old_fatura_id = query.VALUE(0).toInt();
        old_birikmis_amortisman_tutari = query.VALUE(1).toDouble();
    }

    if ( old_birikmis_amortisman_tutari > 0 ) {
        DMR_AMORTISMAN_TUTARINI_AZALT(record_id , 0,old_birikmis_amortisman_tutari);
    }

    if ( old_fatura_id NE m_fatura_id ) {
        if ( old_fatura_id > 0 ) {
            DMR_ENTEGRASYON_FISI_OLUSTUR(old_fatura_id , 0);
        }
    }


    update_query.PREPARE_UPDATE    ( "dmr_demirbaslar","demirbas_id","demirbas_kodu  , demirbas_adi ,"
                                     "muh_hesap_id ,alis_tarihi,alis_bedeli ,"
                                     "uretici_firma ,marka ,model ,seri_numarasi ,"
                                     "garanti_suresi ,amortisman_orani ,"
                                     "amortisman_suresi ,yeniden_degerleme_yapilacak_mi ,"
                                     "kist_amortisman ,demirbasin_degeri,"
                                     "demirbasin_yeni_degeri ,amortisman_yontemi,grup_id,"
                                     "personel_id,fatura_id ,amor_gider_hesap_id ,"
                                     "bir_amor_hesap_id , sube_id , dmr_satis_kar_hesap_id,"
                                     "yeni_brkms_amortisman_tutari,dmr_satis_zarar_hesap_id",
                                     "demirbas_id = :demirbas_id" );

    update_query.SET_VALUE ( ":demirbas_kodu"     , m_ui->lineedit_demirbas_kodu->text() );
    update_query.SET_VALUE ( ":demirbas_adi"      , m_ui->lineedit_demirbas_adi->text() );
    update_query.SET_VALUE ( ":muh_hesap_id"      , m_muh_hesap_id);
    update_query.SET_VALUE ( ":alis_tarihi"       , m_ui->adakDate_alis_tarihi->DATE());
    update_query.SET_VALUE ( ":alis_bedeli"       , m_ui->commaEdit_alis_fiyati->GET_DOUBLE());
    update_query.SET_VALUE ( ":uretici_firma"     , m_ui->lineEdit_uretici_firma->text());
    update_query.SET_VALUE ( ":marka"             , m_ui->lineEdit_marka->text());
    update_query.SET_VALUE ( ":model"             , m_ui->lineEdit_model->text());
    update_query.SET_VALUE ( ":seri_numarasi"     , m_ui->lineEdit_seri_no->text());
    update_query.SET_VALUE ( ":garanti_suresi"    , m_ui->lineedit_garanti_suresi->text().toInt());
    update_query.SET_VALUE ( ":amortisman_orani"  , m_ui->commaEdit_amortisman_orani->GET_DOUBLE());
    update_query.SET_VALUE ( ":amortisman_suresi" , m_ui->lineedit_amortisman_suresi->text().toInt());
    update_query.SET_VALUE ( ":yeniden_degerleme_yapilacak_mi" , QVariant(m_ui->checkBox_yeniden_degerleme->isChecked()).toInt());
    update_query.SET_VALUE ( ":kist_amortisman"   , QVariant(m_ui->checkBox_kist_amortisman->isChecked()).toInt());
    update_query.SET_VALUE ( ":demirbasin_degeri" , m_ui->commaEdit_alis_fiyati->GET_DOUBLE());
    update_query.SET_VALUE ( ":demirbasin_yeni_degeri" , m_ui->commaEdit_alis_fiyati->GET_DOUBLE());
    update_query.SET_VALUE ( ":amortisman_yontemi" , DMR_GET_AMORTISMAN_SEKLI_ENUM ( m_ui->comboBox_amortisman_yontemi->currentText()));
    update_query.SET_VALUE ( ":grup_id"            , m_grup_id);
    update_query.SET_VALUE ( ":personel_id"        , personel_id);
    update_query.SET_VALUE ( ":fatura_id"          , m_fatura_id);
    update_query.SET_VALUE ( ":amor_gider_hesap_id", m_amor_gider_hesap_id);
    update_query.SET_VALUE ( ":bir_amor_hesap_id"  , m_bir_amor_hesap_id);
    update_query.SET_VALUE ( ":sube_id"            , m_sube_id);
    update_query.SET_VALUE ( ":dmr_satis_kar_hesap_id" , m_dmr_satis_kar_hesap_id);
    update_query.SET_VALUE ( ":yeni_brkms_amortisman_tutari" , m_ui->commaEdit_birikmis_amortisman->GET_DOUBLE());
    update_query.SET_VALUE ( ":dmr_satis_zarar_hesap_id" , m_dmr_satis_zarar_hesap_id);;
    update_query.SET_VALUE ( ":demirbas_id"        , record_id );

    update_query.UPDATE();

    DMR_AMORTISMAN_TUTARINI_ARTTIR(record_id , 0 , m_ui->commaEdit_birikmis_amortisman->GET_DOUBLE());

    GRP_KAYDI_GRUPLARA_EKLE(E9_PROGRAMI,DEMIRBAS_GRUP_MODULU, record_id , &m_rpr_isl_grubu_idler);

    if ( m_grup_id > 0 ) {
        QList<int> grup_id_list ;
        grup_id_list << m_grup_id;

        GRP_KAYDI_GRUPLARA_EKLE(E9_PROGRAMI , DEMIRBAS_MODULU , record_id , &grup_id_list);
    }



    QString log_detaylari = QObject::tr ( "Demirbaş Kodu / Adı : " );
    log_detaylari.append ( m_ui->lineedit_demirbas_kodu->text() + "  " + m_ui->lineedit_demirbas_adi->text());

    E9_LOG_KAYDI_EKLE ( DEMIRBAS_MODULU , LOG_DMR_DEMIRBASLAR , LOG_ISLEM_UPDATE , log_detaylari );

    if ( m_fatura_id > 0 ) {
        DMR_ENTEGRASYON_FISI_OLUSTUR(m_fatura_id , record_id);
    }



}
Exemple #2
0
void DMR_FIS_SATIRI_GUNCELLE(DMR_FIS_STRUCT *P_FIS, DMR_FIS_SATIRI_STRUCT *P_FIS_SATIRI, int p_fis_satiri_id)
{
    SQL_QUERY query(DB);

    query.PREPARE_SELECT("dmr_fis_satirlari,dmr_fisler" , "demirbas_id,satir_tutari,toplam_tutar,"
                         "toplam_birikmis_amor_tutari,birikmis_amortisman_tutari,fis_tarihi",
                         "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    demirbas_id                 = query.VALUE(0).toInt();
    double satir_tutari                = query.VALUE(1).toDouble();
    double toplam_tutar                = query.VALUE(2).toDouble();
    double toplam_birikmis_amor_tutari = query.VALUE(3).toDouble();
    double birikmis_amortisman_tutari  = query.VALUE(4).toDouble();
    QDate  fis_tarihi                  = QDate::fromString(query.VALUE(5).toString() , "yyyy.MM.dd");

    if ( demirbas_id NE P_FIS_SATIRI->demirbas_id ) {
        //Eski demirbas bilgileri guncellenecek

        query.PREPARE_SELECT("dmr_demirbaslar" , "yillik_ayrilan_amor_yuzdesi , toplamda_ayrilan_amor_yuzdesi,"
                             "amortisman_orani , demirbasin_yeni_degeri ,"
                             "yeni_brkms_amortisman_tutari ,yeniden_degerleme_yapildi,"
                             "amortisman_ayrilabilir_mi",
                             "demirbas_id = :demirbas_id");
        query.SET_VALUE(":demirbas_id" , demirbas_id);

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


        query.NEXT();

        double yillik_ayrilan_amor_yuzdesi   = query.VALUE(0).toDouble();
        double toplamda_ayrilan_amor_yuzdesi = query.VALUE(1).toDouble();
        double amortisman_orani              = query.VALUE(2).toDouble();
        double demirbasin_yeni_degeri        = query.VALUE(3).toDouble();
        double yeni_brkms_amortisman_tutari  = query.VALUE(4).toDouble();
        int    yeniden_degerleme_yapildi     = query.VALUE(5).toInt();
        int    amortisman_ayrilabilir_mi     = query.VALUE(6).toInt();



        if ( P_FIS->fis_turu EQ YENIDEN_DEGERLEME_FISI ) {
            demirbasin_yeni_degeri       = 0;
            yeni_brkms_amortisman_tutari = 0;
            yeniden_degerleme_yapildi    = 0;
        }
        else {
            yillik_ayrilan_amor_yuzdesi   -= P_FIS->dusulecek_amor_yuzdesi;
            toplamda_ayrilan_amor_yuzdesi -= amortisman_orani;

            if ( toplamda_ayrilan_amor_yuzdesi < 100 ) {
                amortisman_ayrilabilir_mi = 1;
            }

        }

        query.PREPARE_UPDATE("dmr_demirbaslar" , "demirbas_id" , "yillik_ayrilan_amor_yuzdesi,"
                             "toplamda_ayrilan_amor_yuzdesi , amortisman_ayrilabilir_mi,"
                             "demirbasin_yeni_degeri,"
                             "yeni_brkms_amortisman_tutari , yeniden_degerleme_yapildi",
                             "demirbas_id = :demirbas_id");

        query.SET_VALUE(":yillik_ayrilan_amor_yuzdesi"   , yillik_ayrilan_amor_yuzdesi);
        query.SET_VALUE(":toplamda_ayrilan_amor_yuzdesi" , toplamda_ayrilan_amor_yuzdesi);
        query.SET_VALUE(":amortisman_ayrilabilir_mi"     , amortisman_ayrilabilir_mi);
        query.SET_VALUE(":demirbasin_yeni_degeri"        , demirbasin_yeni_degeri);
        query.SET_VALUE(":yeni_brkms_amortisman_tutari"  , yeni_brkms_amortisman_tutari);
        query.SET_VALUE(":yeniden_degerleme_yapildi"     , yeniden_degerleme_yapildi);
        query.SET_VALUE(":demirbas_id"                   , demirbas_id);

        query.UPDATE();

        int gun_no = MALI_YIL_ARRAY_INDIS(fis_tarihi);

        if ( P_FIS->fis_turu EQ AMORTISMAN_AYIRMA_FISI ) {

            DMR_AMORTISMAN_TUTARINI_AZALT ( demirbas_id,gun_no,satir_tutari );
        }

        toplam_tutar                -= satir_tutari;
        toplam_birikmis_amor_tutari -= birikmis_amortisman_tutari;

        //Eski demirbas bilgileri guncellendi


        query.PREPARE_SELECT("dmr_demirbaslar" , "yillik_ayrilan_amor_yuzdesi , toplamda_ayrilan_amor_yuzdesi,"
                             "amortisman_orani , amortisman_ayrilabilir_mi ,"
                             "demirbasin_yeni_degeri,"
                             "yeniden_degerleme_yapildi , yeni_brkms_amortisman_tutari",
                             "demirbas_id = :demirbas_id");

        query.SET_VALUE(":demirbas_id" , P_FIS_SATIRI->demirbas_id);


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

        query.NEXT();

        yillik_ayrilan_amor_yuzdesi      = query.VALUE(0).toDouble();
        toplamda_ayrilan_amor_yuzdesi    = query.VALUE(1).toDouble();
        amortisman_orani                 = query.VALUE(2).toDouble();
        amortisman_ayrilabilir_mi        = query.VALUE(3).toInt();
        demirbasin_yeni_degeri           = query.VALUE(4).toDouble();
        yeniden_degerleme_yapildi        = query.VALUE(5).toInt();
        yeni_brkms_amortisman_tutari     = query.VALUE(6).toDouble();



        if ( P_FIS->fis_turu EQ AMORTISMAN_AYIRMA_FISI ) {

            yillik_ayrilan_amor_yuzdesi += P_FIS->dusulecek_amor_yuzdesi;

            if ( yillik_ayrilan_amor_yuzdesi EQ 100 ) {

                toplamda_ayrilan_amor_yuzdesi += amortisman_orani;

                if ( toplamda_ayrilan_amor_yuzdesi EQ 100 ) {
                    amortisman_ayrilabilir_mi = 0;
                }
            }


            DMR_AMORTISMAN_TUTARINI_ARTTIR ( P_FIS_SATIRI->demirbas_id,gun_no,P_FIS_SATIRI->satir_tutari);
        }
        else {

            demirbasin_yeni_degeri       = P_FIS_SATIRI->satir_tutari;
            yeniden_degerleme_yapildi    = 1;
            yeni_brkms_amortisman_tutari = P_FIS_SATIRI->yeni_birikmis_amor_tutari;
        }


        query.PREPARE_UPDATE("dmr_demirbaslar" , "demirbas_id" , "yillik_ayrilan_amor_yuzdesi,"
                             "toplamda_ayrilan_amor_yuzdesi , amortisman_ayrilabilir_mi,"
                             "demirbasin_yeni_degeri,"
                             "yeniden_degerleme_yapildi , yeni_brkms_amortisman_tutari",
                             "demirbas_id = :demirbas_id");

        query.SET_VALUE(":yillik_ayrilan_amor_yuzdesi"   , yillik_ayrilan_amor_yuzdesi);
        query.SET_VALUE(":toplamda_ayrilan_amor_yuzdesi" , toplamda_ayrilan_amor_yuzdesi);
        query.SET_VALUE(":amortisman_ayrilabilir_mi"     , amortisman_ayrilabilir_mi);
        query.SET_VALUE(":demirbasin_yeni_degeri"        , demirbasin_yeni_degeri);
        query.SET_VALUE(":yeniden_degerleme_yapildi"     , yeniden_degerleme_yapildi);
        query.SET_VALUE(":yeni_brkms_amortisman_tutari"  , yeni_brkms_amortisman_tutari);
        query.SET_VALUE(":demirbas_id"                   , P_FIS_SATIRI->demirbas_id );

        query.UPDATE();

        toplam_tutar                += P_FIS_SATIRI->satir_tutari;
        toplam_birikmis_amor_tutari += P_FIS_SATIRI->birikmis_amor_tutari;
    }


    query.PREPARE_UPDATE("dmr_fis_satirlari" , "fis_satiri_id" , "demirbas_id , aciklama,"
                         "satir_tutari , birikmis_amortisman_tutari ",
                         "fis_satiri_id = :fis_satiri_id");
    query.SET_VALUE(":demirbas_id"                , P_FIS_SATIRI->demirbas_id);
    query.SET_VALUE(":aciklama"                   , P_FIS_SATIRI->aciklama   );
    query.SET_VALUE(":satir_tutari"               , P_FIS_SATIRI->satir_tutari);
    query.SET_VALUE(":birikmis_amortisman_tutari" , P_FIS_SATIRI->birikmis_amor_tutari);
    query.SET_VALUE(":fis_satiri_id"              , p_fis_satiri_id);

    query.UPDATE();

    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"                      , P_FIS_SATIRI->fis_id );
    query.UPDATE();



    if ( P_FIS_SATIRI->base_record_id EQ 0 ) {
        P_FIS_SATIRI->base_record_id = p_fis_satiri_id;
    }

    if ( P_FIS->base_fis_id EQ 0 ) {
        P_FIS->base_fis_id = P_FIS_SATIRI->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);

        ISL_FIS_SATIRI_STRUCT * ISL_FIS_SATIRI = new ISL_FIS_SATIRI_STRUCT;

        ISL_CLEAR_FIS_SATIRI_STRUCT(ISL_FIS_SATIRI);

        int isl_satir_id = ISL_GET_ENT_FIS_SATIRI_ID(P_FIS->modul_id , P_FIS->program_id , P_FIS_SATIRI->base_record_id);

        ISL_FIS_SATIRI_BILGILERINI_OKU(ISL_FIS_SATIRI ,isl_satir_id);

        ISL_FIS_SATIRI->aciklama = P_FIS_SATIRI->aciklama;
        ISL_FIS_SATIRI->satir_kdv_dahil_tutar = P_FIS_SATIRI->satir_tutari;
        ISL_FIS_SATIRI->satir_kdv_haric_tutar = P_FIS_SATIRI->satir_tutari;

        if ( isl_satir_id > 0 ) {
            ISL_FIS_SATIRI_GUNCELLE(ISL_FISI , ISL_FIS_SATIRI , isl_satir_id);
        }

        delete ISL_FISI;
        delete ISL_FIS_SATIRI;
    }


    //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);

    MUH_FIS_SATIRI_STRUCT * MUH_FIS_SATIRI = new MUH_FIS_SATIRI_STRUCT;


    QStringList MUH_ROW_ID_LIST = MUH_GET_ENT_ROW_ID_LIST(P_FIS->program_id,P_FIS->modul_id ,
                                                          P_FIS_SATIRI->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_CLEAR_FIS_SATIRI_STRUCT(MUH_FIS_SATIRI);

        MUH_FIS_SATIRINI_OKU(MUH_FIS_SATIRI , muh_fis_satiri_id );

        MUH_FIS_SATIRI->aciklama                = P_FIS_SATIRI->aciklama;

        if ( MUH_FIS_SATIRI->borc_tutari > 0 ) {
            MUH_FIS_SATIRI->borc_tutari   = P_FIS_SATIRI->satir_tutari;
            MUH_FIS_SATIRI->alacak_tutari = 0;
        }
        else {
            MUH_FIS_SATIRI->borc_tutari   = 0 ;
            MUH_FIS_SATIRI->alacak_tutari = P_FIS_SATIRI->satir_tutari;
        }

        MUH_FIS_SATIRINI_GUNCELLE ( MUHASEBE_FISI, MUH_FIS_SATIRI, muh_fis_satiri_id );
    }

    delete MUHASEBE_FISI;
    delete MUH_FIS_SATIRI;

}
Exemple #3
0
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;

}
Exemple #4
0
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;

}