Ejemplo n.º 1
0
int DMR_DEMIRBAS_KARTI::GET_RECORD ( int record_id )
{
    SQL_QUERY select_query ( DB );

    select_query.PREPARE_SELECT ( "dmr_demirbaslar ","demirbas_kodu,demirbas_adi,grup_id,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,amortisman_yontemi,personel_id,"
                                  "grup_id,fatura_id ,bir_amor_hesap_id , "
                                  "amor_gider_hesap_id , dmr_satis_kar_hesap_id ,amortisman_ayrilacak_mi,dmr_satis_zarar_hesap_id",
                                  "demirbas_id = :demirbas_id" );

    select_query.SET_VALUE      ( ":demirbas_id" , record_id );

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

    select_query.NEXT();

    m_ui->lineedit_demirbas_kodu->setText ( select_query.VALUE(0).toString() );
    m_ui->lineedit_demirbas_adi->setText  ( select_query.VALUE(1).toString() );
    m_ui->searchedit_muh_hesap_kodu->SET_TEXT ( MUH_GET_HESAP_KODU(select_query.VALUE(3).toInt() ) );
    m_ui->lineedit_muh_hesap_ismi->setText ( MUH_GET_HESAP_ISMI(select_query.VALUE(3).toInt() ) );
    m_ui->adakDate_alis_tarihi->SET_DATE(select_query.VALUE(4).toString() );
    m_ui->commaEdit_alis_fiyati->SET_DOUBLE ( select_query.VALUE(5).toDouble() );
    m_ui->lineEdit_uretici_firma->setText(select_query.VALUE(6).toString() );
    m_ui->lineEdit_marka->setText(select_query.VALUE(7).toString() );
    m_ui->lineEdit_model->setText(select_query.VALUE(8).toString() );
    m_ui->lineEdit_seri_no->setText(select_query.VALUE(9).toString() );
    m_ui->lineedit_garanti_suresi->setText(select_query.VALUE(10).toString() );
    m_ui->commaEdit_amortisman_orani->SET_DOUBLE(select_query.VALUE(11).toDouble() );
    m_ui->lineedit_amortisman_suresi->setText(select_query.VALUE(12).toString() );
    m_ui->checkBox_yeniden_degerleme->setChecked(select_query.VALUE(13).toBool() );
    m_ui->checkBox_kist_amortisman->setChecked(select_query.VALUE(14).toBool() );
    m_ui->commaEdit_demirbasin_degeri->SET_DOUBLE(select_query.VALUE(15).toDouble() );

    m_ui->checkBox_amortisman_ayrilacak_mi->setChecked(QVariant(select_query.VALUE("amortisman_ayrilacak_mi")).toBool());

    QList<int> m_grup_idleri;

    m_grup_id = select_query.VALUE("grup_id").toInt();

    m_muh_hesap_id = select_query.VALUE(3).toInt();

    m_grup_idleri << select_query.VALUE("grup_id").toInt();

    if (m_grup_idleri.isEmpty() EQ false) {
        m_ui->search_edit_gruplar->SET_TEXT(GRP_GRUP_ADLARINI_BUL(&m_grup_idleri , new QStringList() , new QStringList()));
    }

    m_ui->textEdit_rapor_isl_gruplari->setText ( GRP_KAYDIN_GRUPLARINI_BUL ( E9_PROGRAMI , DEMIRBAS_GRUP_MODULU, record_id, &m_rpr_isl_grubu_idler, new QStringList, new QStringList ) );

    double birikmis_amortisman_tutari = DMR_GET_BIRIKMIS_AMORTISMAN_TUTARI ( record_id, MALI_YIL_ARRAY_INDIS ( QDate::currentDate()));

    double net_deger = select_query.VALUE(15).toDouble() - birikmis_amortisman_tutari;

    m_ui->commaEdit_net_deger->SET_DOUBLE ( net_deger );
    m_ui->commaEdit_birikmis_amortisman->SET_DOUBLE ( birikmis_amortisman_tutari );

    m_ui->comboBox_amortisman_yontemi->setCurrentIndex ( m_ui->comboBox_amortisman_yontemi->findText ( DMR_GET_AMORTISMAN_SEKLI_STRING(select_query.VALUE("amortisman_yontemi").toInt())));

    m_fatura_id = select_query.VALUE("fatura_id").toInt();

    m_ui->lineedit_fatura_bilgileri->setText(DMR_GET_FATURA_BILGILERI(m_fatura_id));

    m_bir_amor_hesap_id      = select_query.VALUE("bir_amor_hesap_id").toInt();
    m_amor_gider_hesap_id    = select_query.VALUE("amor_gider_hesap_id").toInt();
    m_dmr_satis_kar_hesap_id = select_query.VALUE("dmr_satis_kar_hesap_id").toInt();
    m_dmr_satis_zarar_hesap_id = select_query.VALUE("dmr_satis_zarar_hesap_id").toInt();

    int personel_id = select_query.VALUE(17).toInt();

    int cari_hesap_id = PRS_GET_PERSONEL_CARI_HESAP_ID( personel_id );

    QString cari_hesap_kodu, cari_hesap_ismi;

    int result = CARI_GET_HESAP_KODU_ISMI_PARA_BIRIM_ID( cari_hesap_id, &cari_hesap_kodu, &cari_hesap_ismi );

    if ( result NE 0 ) {
        m_ui->searchEdit_personel_adi->SET_TEXT( cari_hesap_kodu );
        m_ui->lineEdit_personel_soyadi->setText( cari_hesap_ismi );

        m_cari_hesap_id = cari_hesap_id;
    }

    QString tam_hesap_kodu,hesap_ismi;

    MUH_GET_HESAP_KODU_HESAP_ISMI(m_amor_gider_hesap_id , tam_hesap_kodu ,hesap_ismi);


    m_ui->searchedit_amor_gdr_hesap_kodu->SET_TEXT(tam_hesap_kodu);
    m_ui->lineEdit_amor_gdr_hesap_ismi->setText(hesap_ismi);


    MUH_GET_HESAP_KODU_HESAP_ISMI(m_bir_amor_hesap_id , tam_hesap_kodu ,hesap_ismi);

    m_ui->searchedit_bir_amortisman_hesap_kodu->SET_TEXT(tam_hesap_kodu);
    m_ui->lineEdit_bir_amortisman_hesap_ismi->setText(hesap_ismi);


    MUH_GET_HESAP_KODU_HESAP_ISMI(m_dmr_satis_kar_hesap_id , tam_hesap_kodu ,hesap_ismi);


    m_ui->searchedit_dmr_satis_kar_hesap_kodu->SET_TEXT(tam_hesap_kodu);
    m_ui->lineEdit_dmr_satis_kar_hesap_ismi->setText(hesap_ismi);


    MUH_GET_HESAP_KODU_HESAP_ISMI(m_dmr_satis_zarar_hesap_id , tam_hesap_kodu ,hesap_ismi);

    m_ui->searchedit_dmr_satis_zarar_hesap_kodu->SET_TEXT(tam_hesap_kodu);
    m_ui->lineEdit_dmr_satis_zarar_hesap_ismi->setText(hesap_ismi);


    return ADAK_OK;
}
Ejemplo n.º 2
0
void DMR_DEMIRBAS_LISTESI::FILL_YAZDIRILACAK_SATIRLAR_LIST()
{

    double amortisman_tutari_array [ K9_ARRAY_SIZE ];



    M_DEMIRBASLAR_ID_LISTESI = GRP_GRUBA_EKLI_KAYITLARI_BUL(K9_PROGRAMI, DEMIRBAS_GRUP_MODULU, M_DMR_RV->grup_id_list );


    SQL_QUERY select_query ( DB );

     select_query.PREPARE_SELECT("dmr_demirbaslar","demirbas_adi,alis_tarihi,demirbasin_degeri,amortisman_orani,"
                                 "demirbasin_yeni_degeri,yeni_brkms_amortisman_tutari,amortisman_yontemi,"
                                 "muh_yili_ayrilacak_amor_tutari,demirbas_id,amortisman_tutari_array,personel_id" , "") ;

     if (M_DEMIRBASLAR_ID_LISTESI.isEmpty() EQ false) {

        select_query.AND_MULTI_EKLE("demirbas_id" ,  select_query.TO_QVARIANT(M_DEMIRBASLAR_ID_LISTESI) , ADAK_OR);;
     }

     if ( M_DMR_RV->sube_id > 0 ) {
         select_query.AND_EKLE("sube_id = :sube_id");
         select_query.SET_VALUE(":sube_id" , M_DMR_RV->sube_id );
     }

     if ( M_DMR_RV->bas_dmr_kodu.isEmpty() EQ false ) {
         select_query.AND_EKLE("demirbas_kodu BETWEEN :bas_dmr_kodu AND :bts_dmr_kodu");
         select_query.SET_VALUE(":bas_dmr_kodu" , M_DMR_RV->bas_dmr_kodu);
         select_query.SET_VALUE(":bts_dmr_kodu" , M_DMR_RV->bts_dmr_kodu);
     }

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

     QStringList YAZDIRILACAK_SATIR;

     while ( select_query.NEXT() EQ true ) {

         int demirbas_id                      = select_query.VALUE(8).toInt();
         int demirbas_giris_yili              = QDate::fromString ( select_query.VALUE(1).toString(),"yyyy.MM.dd").year();

         double demirbasin_degeri             = select_query.VALUE(2).toDouble(); // demirbasin degerleme oncesi degerini gosterir
         m_degerleme_oncesi_demirbas_toplami  += demirbasin_degeri;


         double amortisman_orani                 = select_query.VALUE(3).toDouble();

         double demirbasin_yeni_degeri          = select_query.VALUE(4).toDouble();
         m_degerleme_sonrasi_demirbas_toplami   += demirbasin_yeni_degeri;

         double birikmis_amortisman_yeni_degeri           = select_query.VALUE(5).toDouble();
         m_degerleme_sonrasi_birikmis_amortisman_toplami += birikmis_amortisman_yeni_degeri;

         int amortisman_sekli = select_query.VALUE(6).toInt();

         if ( amortisman_sekli EQ AZALAN_BAKIYE ) {
              amortisman_orani = amortisman_orani * 2;
         }

         int personel_id = select_query.VALUE("personel_id").toInt();

         int cari_hesap_id = PRS_GET_PERSONEL_CARI_HESAP_ID( personel_id );

         QString cari_hesap_kodu, cari_hesap_ismi;

         CARI_GET_HESAP_KODU_ISMI_PARA_BIRIM_ID( cari_hesap_id, &cari_hesap_kodu, &cari_hesap_ismi );

         //Yeniden Degerleme oncesi birikmis amortismanlari,amortisman tutari arrayinin 0.indisinden aliyoruz.

         UNPACK_DOUBLE_ARRAY ( select_query.VALUE("amortisman_tutari_array").toString(),amortisman_tutari_array,K9_ARRAY_SIZE);

         double degerleme_oncesi_birikmis_amortisman = amortisman_tutari_array[0];

         double degerleme_oncesi_net_deger           = demirbasin_degeri - degerleme_oncesi_birikmis_amortisman;
         m_degerleme_oncesi_net_deger_toplami        += degerleme_oncesi_net_deger;


         double degerleme_sonrasi_net_deger          = demirbasin_yeni_degeri - birikmis_amortisman_yeni_degeri;
         m_degerleme_sonrasi_net_deger_toplami       += degerleme_sonrasi_net_deger;


         //Amortisman tutarini,amortisman tutari arrayinin rapor tarihine denk gelen gun indisinden 0.gunu(devir bakiyesini) cikararak buluruz.

         double amortisman_tutari     = amortisman_tutari_array[MALI_YIL_ARRAY_INDIS(QDate::currentDate() ) ] - degerleme_oncesi_birikmis_amortisman;
         m_donem_amortisman_toplami += amortisman_tutari;



         SQL_QUERY sql_query ( DB );
         sql_query.PREPARE_SELECT ( "dmr_fisler,dmr_fis_satirlari","degerleme_orani",
                                    "demirbas_id = :demirbas_id AND dmr_fisler.fis_id = dmr_fis_satirlari.fis_id "
                                    "AND fis_turu = :fis_turu" );
         sql_query.SET_VALUE      ( ":demirbas_id" , demirbas_id );
         sql_query.SET_VALUE      ( ":fis_turu"    , YENIDEN_DEGERLEME_FISI );


         double degerleme_orani = 1.0;
         if ( sql_query.SELECT() NE 0 ) {
              sql_query.NEXT();
             degerleme_orani = sql_query.VALUE(0).toDouble();
         }

         m_sira_no++;



         //Birikmis amortisman tutari ,amortisman tutari arrayinin muhasebe yilinin son gunune denk gelen indisinden alinir.(31 Aralik)

         double birikmis_amortisman_tutari = amortisman_tutari_array [ MALI_YIL_ARRAY_INDIS ( MALI_YIL_FIRST_DATE())];

         m_birikmis_amortisman_toplami += birikmis_amortisman_tutari;
         //Ayrilmamis amortismani gostermek icin muhasebe yili icin ayrilacak toplam amortismandan, ayrilmis amortismani cikaririz.

         double muhasebe_yili_ayrilacak_toplam_amortisman_tutari = select_query.VALUE(7).toDouble();

         double muhasebe_yili_ayrilmamis_amortisman_tutari = muhasebe_yili_ayrilacak_toplam_amortisman_tutari - amortisman_tutari;


         m_ayrilmamis_amortisman_toplami += muhasebe_yili_ayrilmamis_amortisman_tutari;

         YAZDIRILACAK_SATIR.clear();

         YAZDIRILACAK_SATIR.append(QVariant ( m_sira_no ).toString() +
         "\t" + select_query.VALUE(0).toString()+
         "\t" + QVariant ( demirbas_giris_yili).toString() +
         "\t" +VIRGUL_EKLE ( QVariant (demirbasin_degeri ).toString(),2,false )+
         "\t" + VIRGUL_EKLE ( QVariant ( ROUND(degerleme_oncesi_birikmis_amortisman) ).toString(),2,false )+
         "\t" + VIRGUL_EKLE ( QVariant ( ROUND(degerleme_oncesi_net_deger        ) ).toString(),2,false )+
         "\t % " + VIRGUL_EKLE ( QVariant ( ROUND ( amortisman_orani        ) ).toString()) +
         "\t % " + VIRGUL_EKLE ( QVariant ( ROUND(degerleme_orani           ) ).toString() ) +
         "\t" + VIRGUL_EKLE ( QVariant ( ROUND ( demirbasin_yeni_degeri          ) ).toString(),2,false )+
         "\t" + VIRGUL_EKLE ( QVariant ( ROUND ( birikmis_amortisman_yeni_degeri ) ).toString(),2,false )+
         "\t" + VIRGUL_EKLE ( QVariant ( ROUND ( degerleme_sonrasi_net_deger     ) ).toString(),2,false )+
         "\t" + VIRGUL_EKLE ( QVariant ( ROUND ( amortisman_tutari               ) ).toString(),2,false )
         + "\t" + VIRGUL_EKLE ( QVariant ( ROUND ( birikmis_amortisman_tutari   ) ).toString(),2,false)
         + "\t" + VIRGUL_EKLE ( QVariant ( ROUND ( muhasebe_yili_ayrilmamis_amortisman_tutari ) ).toString(),2,false )
         + "\t" + cari_hesap_ismi );

         M_YAZDIRILACAK_SATIRLAR << YAZDIRILACAK_SATIR;

     }

}