int STOK_HIZMET_KARTI_FORMU::ADD_RECORD () { SQL_QUERY insert_query(DB); insert_query.PREPARE_INSERT("stk_urunler" , "urun_id" , "urun_kodu,urun_adi,barkod_numarasi,alis_fiyati,satis_fiyati," "urun_alis_doviz_id,urun_satis_doviz_id,aciklama," "alis_kdv_orani,hizmet_mi,muh_hesap_id,urun_temel_birimi,hizmet_turu, satis_kdv_orani "); insert_query.SET_VALUE(":urun_kodu" , m_ui->lineEdit_hizmet_kodu->text()); insert_query.SET_VALUE(":urun_adi" , m_ui->lineEdit_hizmet_ismi->text()); insert_query.SET_VALUE(":barkod_numarasi" , m_ui->lineEdit_barkod_no->text()); insert_query.SET_VALUE(":alis_fiyati" , m_ui->commaEdit_alis_fiyati->GET_DOUBLE()); insert_query.SET_VALUE(":satis_fiyati" , m_ui->commaEdit_satis_fiyati->GET_DOUBLE()); insert_query.SET_VALUE(":urun_alis_doviz_id" , DVZ_GET_DOVIZ_ID(m_ui->comboBox_alis_doviz_cinsi->currentText())); insert_query.SET_VALUE(":urun_satis_doviz_id" , DVZ_GET_DOVIZ_ID(m_ui->comboBox_satis_doviz_cinsi->currentText())); insert_query.SET_VALUE(":aciklama" , m_ui->limitedTextEdit->toPlainText()); insert_query.SET_VALUE(":alis_kdv_orani" , QVariant(m_ui->comboBox_alis_kdv_orani->currentText()).toDouble()); insert_query.SET_VALUE(":satis_kdv_orani" , QVariant(m_ui->comboBox_satis_kdv_orani->currentText()).toDouble()); insert_query.SET_VALUE(":hizmet_mi" , 1); insert_query.SET_VALUE(":muh_hesap_id" , m_muh_hesap_id); insert_query.SET_VALUE(":urun_temel_birimi" , m_ui->lineEdit_hizmet_birimi->text()); insert_query.SET_VALUE(":hizmet_turu" , STK_GET_HIZMET_TURU_ENUM(m_ui->comboBox_hizmet_turu->currentText())); int urun_id = insert_query.INSERT(); QString log_detaylari = "Hizmet Kodu / Adı : " + m_ui->lineEdit_hizmet_kodu->text() + " " + m_ui->lineEdit_hizmet_ismi->text(); K9_LOG_KAYDI_EKLE ( FATURA_MODULU , LOG_FAT_HIZMETLER , LOG_ISLEM_ADD , log_detaylari); return urun_id; }
int DMR_DEMIRBAS_KARTI::ADD_RECORD () { SQL_QUERY insert_query ( DB ); int personel_id = PRS_GET_CARI_PERSONEL_ID( m_cari_hesap_id ); insert_query.PREPARE_INSERT ( "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,yeniden_degerleme_yapildi, " "amortisman_ayrilabilir_mi,demirbasin_yeni_degeri," "amortisman_yontemi,muh_yili_ayrilacak_amor_tutari," "personel_id,grup_id , fatura_id , bir_amor_hesap_id," "amor_gider_hesap_id , sube_id,demirbas_satildi_mi ," "dmr_satis_kar_hesap_id ,amortisman_ayrilacak_mi," "muh_devir_yili_ayrilacak_amor,yeni_brkms_amortisman_tutari," "dmr_satis_zarar_hesap_id"); insert_query.SET_VALUE ( ":demirbas_kodu" , m_ui->lineedit_demirbas_kodu->text() ); insert_query.SET_VALUE ( ":demirbas_adi" , m_ui->lineedit_demirbas_adi->text() ); insert_query.SET_VALUE ( ":muh_hesap_id" , m_muh_hesap_id ); insert_query.SET_VALUE ( ":alis_tarihi" , m_ui->adakDate_alis_tarihi->DATE()); insert_query.SET_VALUE ( ":alis_bedeli" , m_ui->commaEdit_alis_fiyati->GET_DOUBLE()); insert_query.SET_VALUE ( ":uretici_firma" , m_ui->lineEdit_uretici_firma->text() ); insert_query.SET_VALUE ( ":marka" , m_ui->lineEdit_marka->text() ); insert_query.SET_VALUE ( ":model" , m_ui->lineEdit_model->text() ); insert_query.SET_VALUE ( ":seri_numarasi" , m_ui->lineEdit_seri_no->text() ); insert_query.SET_VALUE ( ":garanti_suresi" , m_ui->lineedit_garanti_suresi->text().toInt() ); insert_query.SET_VALUE ( ":amortisman_orani" , m_ui->commaEdit_amortisman_orani->GET_DOUBLE() ); insert_query.SET_VALUE ( ":amortisman_suresi" , m_ui->lineedit_amortisman_suresi->text().toInt()); insert_query.SET_VALUE ( ":yeniden_degerleme_yapilacak_mi" , QVariant(m_ui->checkBox_yeniden_degerleme->isChecked()).toInt()); insert_query.SET_VALUE ( ":kist_amortisman" , QVariant(m_ui->checkBox_kist_amortisman->isChecked()).toInt()); insert_query.SET_VALUE ( ":demirbasin_degeri" , m_ui->commaEdit_alis_fiyati->GET_DOUBLE()); insert_query.SET_VALUE ( ":demirbasin_yeni_degeri" , m_ui->commaEdit_alis_fiyati->GET_DOUBLE()); //Demirbas alindigi yil yeniden degerlendirilemez.O yuzden demirbasin yeniden degerleme sonrasindaki degeri alis fiyetiyla setliyoruz. insert_query.SET_VALUE ( ":amortisman_yontemi" , DMR_GET_AMORTISMAN_SEKLI_ENUM(m_ui->comboBox_amortisman_yontemi->currentText())); insert_query.SET_VALUE ( ":muh_yili_ayrilacak_amor_tutari" , 0); insert_query.SET_VALUE ( ":yeniden_degerleme_yapildi" , 0); insert_query.SET_VALUE ( ":amortisman_ayrilabilir_mi" , 1 ); insert_query.SET_VALUE ( ":personel_id" , personel_id); insert_query.SET_VALUE ( ":grup_id" , m_grup_id ); insert_query.SET_VALUE ( ":fatura_id" , m_fatura_id); insert_query.SET_VALUE ( ":bir_amor_hesap_id" , m_bir_amor_hesap_id); insert_query.SET_VALUE ( ":amor_gider_hesap_id" , m_amor_gider_hesap_id); insert_query.SET_VALUE ( ":sube_id" , m_sube_id); insert_query.SET_VALUE ( ":demirbas_satildi_mi" , 0); insert_query.SET_VALUE ( ":dmr_satis_kar_hesap_id" , m_dmr_satis_kar_hesap_id); insert_query.SET_VALUE ( ":amortisman_ayrilacak_mi" , QVariant(m_ui->checkBox_amortisman_ayrilacak_mi->isChecked()).toInt()); insert_query.SET_VALUE ( ":muh_devir_yili_ayrilacak_amor" , 0); insert_query.SET_VALUE ( ":yeni_brkms_amortisman_tutari" , m_ui->commaEdit_birikmis_amortisman->GET_DOUBLE()); insert_query.SET_VALUE ( ":dmr_satis_zarar_hesap_id" , m_dmr_satis_zarar_hesap_id); int demirbas_id = insert_query.INSERT(); DMR_AMORTISMAN_TUTARINI_ARTTIR(demirbas_id,0,m_ui->commaEdit_birikmis_amortisman->GET_DOUBLE()); GRP_KAYDI_GRUPLARA_EKLE(E9_PROGRAMI,DEMIRBAS_GRUP_MODULU, demirbas_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 , demirbas_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_ADD , log_detaylari ); if ( m_fatura_id > 0 ) { DMR_ENTEGRASYON_FISI_OLUSTUR(m_fatura_id , demirbas_id); } return demirbas_id; }
int WorkerThread::do_work(void) { // At this point we should randomly select among a specific // set of SQL queries // 1) Insert a new entry to the database // 2) Read (and validate) an entry // 3) Modify an existing entry (need locking or can we use transactions?) // 4) Delete an existing entry (same as above) //Could implement this by using a query_generator class, storing 4 function //pointers and rand() switch(type) { case VALIDATOR: { //Read sequentialy int ret = get_row_count_slow(connection_string); if (ret == CONNECTION_ERROR) { std::cout << "Unable to connect to database!" << std::endl; break; } int db_rows = ret; std::cout << ">Table rows: " << db_rows << std::endl; std::cout << ">Validating.." << std::endl; int validation_errors = 0; for (int i = 1; i < db_rows; ++i){ if(!read_query_sequential(i)){ ++validation_errors; } } std::cout << "============================" << std::endl; std::cout << ">Validated " << db_rows << " tuples." << std::endl; std::cout << ">>Total # of errors: " << validation_errors << std::endl; } break; case GENERATOR: { std::random_device rd; std::default_random_engine rng(rd()); std::uniform_int_distribution<int> dist(0, QUERY_MAX - 1); while(1) { try { int op = dist(rng); switch(op) { case INSERT_QUERY: insert_query(); break; case READ_QUERY: read_query_random(); break; default: break; } boost::this_thread::interruption_point(); } catch (boost::thread_interrupted const&) { break; } } } break; case POPULATOR: { for (int i = 0; i < 100; ++i) { insert_query(); } break; } default: break; } }
int reply_info_encode(struct query_info* qinfo, struct reply_info* rep, uint16_t id, uint16_t flags, sldns_buffer* buffer, time_t timenow, struct regional* region, uint16_t udpsize, int dnssec) { uint16_t ancount=0, nscount=0, arcount=0; struct compress_tree_node* tree = 0; int r; size_t rr_offset; sldns_buffer_clear(buffer); if(udpsize < sldns_buffer_limit(buffer)) sldns_buffer_set_limit(buffer, udpsize); if(sldns_buffer_remaining(buffer) < LDNS_HEADER_SIZE) return 0; sldns_buffer_write(buffer, &id, sizeof(uint16_t)); sldns_buffer_write_u16(buffer, flags); sldns_buffer_write_u16(buffer, rep->qdcount); /* set an, ns, ar counts to zero in case of small packets */ sldns_buffer_write(buffer, "\000\000\000\000\000\000", 6); /* insert query section */ if(rep->qdcount) { if((r=insert_query(qinfo, &tree, buffer, region)) != RETVAL_OK) { if(r == RETVAL_TRUNC) { /* create truncated message */ sldns_buffer_write_u16_at(buffer, 4, 0); LDNS_TC_SET(sldns_buffer_begin(buffer)); sldns_buffer_flip(buffer); return 1; } return 0; } } /* roundrobin offset. using query id for random number. With ntohs * for different roundrobins for sequential id client senders. */ rr_offset = RRSET_ROUNDROBIN?ntohs(id):0; /* "prepend" any local alias records in the answer section if this * response is supposed to be authoritative. Currently it should * be a single CNAME record (sanity-checked in worker_handle_request()) * but it can be extended if and when we support more variations of * aliases. */ if(qinfo->local_alias && (flags & BIT_AA)) { struct reply_info arep; time_t timezero = 0; /* to use the 'authoritative' TTL */ memset(&arep, 0, sizeof(arep)); arep.flags = rep->flags; arep.an_numrrsets = 1; arep.rrset_count = 1; arep.rrsets = &qinfo->local_alias->rrset; if((r=insert_section(&arep, 1, &ancount, buffer, 0, timezero, region, &tree, LDNS_SECTION_ANSWER, qinfo->qtype, dnssec, rr_offset)) != RETVAL_OK) { if(r == RETVAL_TRUNC) { /* create truncated message */ sldns_buffer_write_u16_at(buffer, 6, ancount); LDNS_TC_SET(sldns_buffer_begin(buffer)); sldns_buffer_flip(buffer); return 1; } return 0; } } /* insert answer section */ if((r=insert_section(rep, rep->an_numrrsets, &ancount, buffer, 0, timenow, region, &tree, LDNS_SECTION_ANSWER, qinfo->qtype, dnssec, rr_offset)) != RETVAL_OK) { if(r == RETVAL_TRUNC) { /* create truncated message */ sldns_buffer_write_u16_at(buffer, 6, ancount); LDNS_TC_SET(sldns_buffer_begin(buffer)); sldns_buffer_flip(buffer); return 1; } return 0; } sldns_buffer_write_u16_at(buffer, 6, ancount); /* if response is positive answer, auth/add sections are not required */ if( ! (MINIMAL_RESPONSES && positive_answer(rep, qinfo->qtype)) ) { /* insert auth section */ if((r=insert_section(rep, rep->ns_numrrsets, &nscount, buffer, rep->an_numrrsets, timenow, region, &tree, LDNS_SECTION_AUTHORITY, qinfo->qtype, dnssec, rr_offset)) != RETVAL_OK) { if(r == RETVAL_TRUNC) { /* create truncated message */ sldns_buffer_write_u16_at(buffer, 8, nscount); LDNS_TC_SET(sldns_buffer_begin(buffer)); sldns_buffer_flip(buffer); return 1; } return 0; } sldns_buffer_write_u16_at(buffer, 8, nscount); /* insert add section */ if((r=insert_section(rep, rep->ar_numrrsets, &arcount, buffer, rep->an_numrrsets + rep->ns_numrrsets, timenow, region, &tree, LDNS_SECTION_ADDITIONAL, qinfo->qtype, dnssec, rr_offset)) != RETVAL_OK) { if(r == RETVAL_TRUNC) { /* no need to set TC bit, this is the additional */ sldns_buffer_write_u16_at(buffer, 10, arcount); sldns_buffer_flip(buffer); return 1; } return 0; } sldns_buffer_write_u16_at(buffer, 10, arcount); } sldns_buffer_flip(buffer); return 1; }
int reply_info_encode(struct query_info* qinfo, struct reply_info* rep, uint16_t id, uint16_t flags, ldns_buffer* buffer, uint32_t timenow, struct regional* region, uint16_t udpsize, int dnssec) { uint16_t ancount=0, nscount=0, arcount=0; struct compress_tree_node* tree = 0; int r; size_t rr_offset; ldns_buffer_clear(buffer); if(udpsize < ldns_buffer_limit(buffer)) ldns_buffer_set_limit(buffer, udpsize); if(ldns_buffer_remaining(buffer) < LDNS_HEADER_SIZE) return 0; ldns_buffer_write(buffer, &id, sizeof(uint16_t)); ldns_buffer_write_u16(buffer, flags); ldns_buffer_write_u16(buffer, rep->qdcount); /* set an, ns, ar counts to zero in case of small packets */ ldns_buffer_write(buffer, "\000\000\000\000\000\000", 6); /* insert query section */ if(rep->qdcount) { if((r=insert_query(qinfo, &tree, buffer, region)) != RETVAL_OK) { if(r == RETVAL_TRUNC) { /* create truncated message */ ldns_buffer_write_u16_at(buffer, 4, 0); LDNS_TC_SET(ldns_buffer_begin(buffer)); ldns_buffer_flip(buffer); return 1; } return 0; } } /* roundrobin offset. using query id for random number */ rr_offset = RRSET_ROUNDROBIN?id:0; /* insert answer section */ if((r=insert_section(rep, rep->an_numrrsets, &ancount, buffer, 0, timenow, region, &tree, LDNS_SECTION_ANSWER, qinfo->qtype, dnssec, rr_offset)) != RETVAL_OK) { if(r == RETVAL_TRUNC) { /* create truncated message */ ldns_buffer_write_u16_at(buffer, 6, ancount); LDNS_TC_SET(ldns_buffer_begin(buffer)); ldns_buffer_flip(buffer); return 1; } return 0; } ldns_buffer_write_u16_at(buffer, 6, ancount); /* if response is positive answer, auth/add sections are not required */ if( ! (MINIMAL_RESPONSES && positive_answer(rep, qinfo->qtype)) ) { /* insert auth section */ if((r=insert_section(rep, rep->ns_numrrsets, &nscount, buffer, rep->an_numrrsets, timenow, region, &tree, LDNS_SECTION_AUTHORITY, qinfo->qtype, dnssec, rr_offset)) != RETVAL_OK) { if(r == RETVAL_TRUNC) { /* create truncated message */ ldns_buffer_write_u16_at(buffer, 8, nscount); LDNS_TC_SET(ldns_buffer_begin(buffer)); ldns_buffer_flip(buffer); return 1; } return 0; } ldns_buffer_write_u16_at(buffer, 8, nscount); /* insert add section */ if((r=insert_section(rep, rep->ar_numrrsets, &arcount, buffer, rep->an_numrrsets + rep->ns_numrrsets, timenow, region, &tree, LDNS_SECTION_ADDITIONAL, qinfo->qtype, dnssec, rr_offset)) != RETVAL_OK) { if(r == RETVAL_TRUNC) { /* no need to set TC bit, this is the additional */ ldns_buffer_write_u16_at(buffer, 10, arcount); ldns_buffer_flip(buffer); return 1; } return 0; } ldns_buffer_write_u16_at(buffer, 10, arcount); } else { ldns_buffer_write_u16_at(buffer, 8, nscount); ldns_buffer_write_u16_at(buffer, 10, arcount); } ldns_buffer_flip(buffer); return 1; }
int PRS_PUANTAJLARI_GOR_VE_DUZELT_FISI::GET_FIS_RECORD ( int record_id ) { SQL_QUERY query ( DB ); SQL_QUERY s_query ( DB ); QString bordro_bas_donemi = PRS_GET_BORDRO_DONEMI_BAS_STRING( m_bordro_yili, m_bordro_ayi ); QString bordro_bts_donemi = PRS_GET_BORDRO_DONEMI_BTS_STRING( m_bordro_yili, m_bordro_ayi ); // isten ayrilanlar query.PREPARE_SELECT("prs_personel_nufus_blgler, prs_personeller, prs_personel_kisisel_blgler " , "prs_personel_nufus_blgler.personel_id, " "ucret_sekli, " "net_ucret, " "brut_ucret , " "ise_giris_tarihi, " "cari_hesap_id, " "ise_giris_tarihi, " "calisma_sekli, " "haftalik_calisilan_gun_sayisi," "isten_cikis_tarihi", "prs_personel_nufus_blgler.personel_id = prs_personeller.personel_id " "AND prs_personel_kisisel_blgler.personel_id = prs_personeller.personel_id " "AND sube_id = :sube_id " "AND ise_giris_tarihi <= :ise_giris_tarihi " "AND isten_cikis_tarihi >= :isten_cikis_tarihi " ); query.SET_VALUE(":sube_id" , m_sube_id); query.SET_VALUE(":ise_giris_tarihi" , bordro_bts_donemi ); query.SET_VALUE(":isten_cikis_tarihi" , bordro_bas_donemi ); if ( query.SELECT() EQ 0) { return ADAK_OK; } int current_row = -1; int prs_doviz_id = 0; while ( query.NEXT() NE 0 ) { int personel_id = query.VALUE("personel_id").toInt(); int cari_hesap_id = query.VALUE( "cari_hesap_id").toInt(); QDate ise_giris_tarihi = QDate::fromString( query.VALUE( "ise_giris_tarihi" ).toString(), "yyyy.MM.dd" ); QString isten_cikis_tarihi = query.VALUE( "isten_cikis_tarihi" ).toString(); CARI_HESAP_STRUCT hesap_bilgileri; CARI_SET_HESAP_STRUCT_DEFAULTS(&hesap_bilgileri); CARI_KART_BILGILERINI_OKU( cari_hesap_id, &hesap_bilgileri ); current_row = ADD_NEW_LINE(); QLineEdit * line_edit_adi_soyad = ( QLineEdit * ) m_ui->table_widget_gun_satirlari->cellWidget(current_row ,ADI_COLUMN); line_edit_adi_soyad->setText( hesap_bilgileri.cari_hesap_ismi ); int calisma_sekli = query.VALUE("calisma_sekli").toInt(); prs_doviz_id = CARI_GET_PARA_BIRIM_ID( cari_hesap_id ); int ucret_sekli_enum = query.VALUE( "ucret_sekli" ).toInt(); double net_ucret = query.VALUE( "net_ucret" ).toDouble(); double brut_ucret = query.VALUE( "brut_ucret" ).toDouble(); double haftalik_calisilan_gun_sayisi = query.VALUE( "haftalik_calisilan_gun_sayisi" ).toDouble(); double prs_personel_ucret = net_ucret; if ( ucret_sekli_enum EQ PRS_BRUT ) { prs_personel_ucret = brut_ucret; } QTableWidgetItem * new_item; new_item = new QTableWidgetItem(tr("%1").arg(personel_id)); m_ui->table_widget_gun_satirlari->setItem(current_row ,ROW_ID_COLUMN ,new_item); new_item=new QTableWidgetItem(tr("%1").arg(record_id)); m_ui->table_widget_gun_satirlari->setItem(current_row ,RECORD_ID_COLUMN ,new_item); QLineEdit * line_edit_calisma_sekli = ( QLineEdit * ) m_ui->table_widget_gun_satirlari->cellWidget(current_row, CALISMA_SEKLI); line_edit_calisma_sekli->setText( QVariant ( calisma_sekli ).toString() ); s_query.PREPARE_SELECT ("prs_puantaj","gun_sayisi ", "personel_id = :personel_id " "AND bordro_donemi_yil = :bordro_donemi_yil " "AND bordro_donemi_ay = :bordro_donemi_ay "); s_query.SET_VALUE (":personel_id" , personel_id ); s_query.SET_VALUE (":bordro_donemi_yil" , m_bordro_yili ); s_query.SET_VALUE (":bordro_donemi_ay" , m_bordro_ayi ); QCommaEdit * comma_edit_doviz_kuru = ( QCommaEdit * ) m_ui->table_widget_gun_satirlari->cellWidget( current_row, KUR_COLUMN ); QCommaEdit * comma_edit_aldigi_ucret = ( QCommaEdit * ) m_ui->table_widget_gun_satirlari->cellWidget( current_row, ALDIGI_UCRET ); QCommaEdit * comma_edit_ucret_tutari = ( QCommaEdit * ) m_ui->table_widget_gun_satirlari->cellWidget( current_row, TEMEL_PARABIRIMI_UCRET ); QCommaEdit * comma_edit_gun = ( QCommaEdit * ) m_ui->table_widget_gun_satirlari->cellWidget(current_row,CALISTIGI_GUN_COLUMN); QCommaEdit * comma_edit_ek_odenek = ( QCommaEdit * ) m_ui->table_widget_gun_satirlari->cellWidget(current_row,EK_ODENEK_TUTARI); QCommaEdit * comma_edit_ek_kesinti = ( QCommaEdit * ) m_ui->table_widget_gun_satirlari->cellWidget(current_row,EK_KESINTI_TUTARI); QCommaEdit * comma_edit_gunluk_ucret = ( QCommaEdit * ) m_ui->table_widget_gun_satirlari->cellWidget(current_row,GUNLUK_UCRET ); QCommaEdit * comma_edit_yemek_verilen_gun_sayisi= ( QCommaEdit * ) m_ui->table_widget_gun_satirlari->cellWidget(current_row,YEMEK_VERILEN_GUN_SAYISI ); comma_edit_yemek_verilen_gun_sayisi->SET_DOUBLE( haftalik_calisilan_gun_sayisi * 4 ); double eksik_gun_sayisi = PRS_GET_EKSIK_GUN_SAYISI( personel_id, m_bordro_ayi, m_bordro_yili ); if ( eksik_gun_sayisi > 0.00 ) { if ( isten_cikis_tarihi NE "9999.99.99" ) { comma_edit_gun->SET_DOUBLE( QDate::fromString( isten_cikis_tarihi, "yyyy.MM.dd").daysInMonth() - eksik_gun_sayisi ); } else { comma_edit_gun->SET_DOUBLE( QDate::fromString( bordro_bts_donemi, "yyyy.MM.dd").daysInMonth() - eksik_gun_sayisi ); } } else { if ( isten_cikis_tarihi NE "9999.99.99" ) { QDate isten_cikis_date = QDate::fromString( isten_cikis_tarihi, "yyyy.MM.dd"); comma_edit_gun->SET_DOUBLE( isten_cikis_date.day() ); } else { comma_edit_gun->SET_DOUBLE( 30 ); } } int gun_sayisi = comma_edit_gun->GET_DOUBLE(); if ( ise_giris_tarihi.year() EQ m_bordro_yili ) { QDate bordro_tarihi; if ( ise_giris_tarihi.month() EQ m_bordro_ayi ) { int ise_giris_gunu = ise_giris_tarihi.day(); bordro_tarihi = QDate::fromString( bordro_bts_donemi, "yyyy.MM.dd" ); if ( isten_cikis_tarihi NE "9999.99.99" ) { bordro_tarihi = QDate::fromString( isten_cikis_tarihi, "yyyy.MM.dd" ); gun_sayisi = bordro_tarihi.day(); } else { gun_sayisi = bordro_tarihi.daysInMonth(); } gun_sayisi = gun_sayisi - ise_giris_gunu + 1 ; comma_edit_gun->SET_INTEGER( gun_sayisi ); } comma_edit_yemek_verilen_gun_sayisi->SET_DOUBLE( haftalik_calisilan_gun_sayisi * floor( comma_edit_gun->GET_DOUBLE() / 7.0 ) ); } // GUNLUK UCRET PUANTAJ'DA GUN DEGISTIRILIRSE OTOMATIK CARPILACAK comma_edit_gunluk_ucret->SET_DOUBLE( ROUND( prs_personel_ucret / 30 )); if ( calisma_sekli EQ ENUM_GUNLUK ) { comma_edit_gunluk_ucret->SET_DOUBLE( prs_personel_ucret ); } if ( calisma_sekli EQ ENUM_AYLIK and gun_sayisi > 30 ) { comma_edit_gun->SET_DOUBLE( 30 ); } if ( calisma_sekli EQ ENUM_GUNLUK ) { prs_personel_ucret = ROUND( comma_edit_gun->GET_DOUBLE() * comma_edit_gunluk_ucret->GET_DOUBLE() ); } if ( prs_doviz_id NE DVZ_GET_TEMEL_PARA_BIRIMI_ID() ) { comma_edit_doviz_kuru->setEnabled( true ); } // personel ek odenek bilgileri sorgulaniyor. double toplam_ek_odenek = 0.00; double toplam_ek_kesinti = 0.00; SQL_QUERY t_query( DB ); t_query.PREPARE_SELECT( "prs_ek_kesintiler_odenekler", "yuzde_mi, yuzde_orani, tutar, kesinti_odenek_turu ", "personel_id = :personel_id AND " "bordro_donemi_yil = :bordro_donemi_yil AND " "bordro_donemi_ay = :bordro_donemi_ay "); t_query.SET_VALUE( ":personel_id" , personel_id ); t_query.SET_VALUE( ":bordro_donemi_yil" , m_bordro_yili ); t_query.SET_VALUE( ":bordro_donemi_ay " , m_bordro_ayi ); if ( t_query.SELECT() NE 0 ) { while ( t_query.NEXT() EQ true ) { int yuzde_mi = t_query.VALUE( "yuzde_mi" ).toInt(); int kesinti_odenek_turu = t_query.VALUE( "kesinti_odenek_turu" ).toInt(); double yuzde_orani = t_query.VALUE( "yuzde_orani" ).toDouble(); double tutar = t_query.VALUE( "tutar" ).toDouble(); if ( yuzde_mi EQ 1 ) { if ( kesinti_odenek_turu EQ ENUM_PRS_ODENEK ) { toplam_ek_odenek += ROUND( prs_personel_ucret * yuzde_orani ); } if ( kesinti_odenek_turu EQ ENUM_PRS_KESINTI ) { toplam_ek_kesinti += ROUND( prs_personel_ucret * yuzde_orani ); } } else { if ( kesinti_odenek_turu EQ ENUM_PRS_ODENEK ) { toplam_ek_odenek += tutar; } if ( kesinti_odenek_turu EQ ENUM_PRS_KESINTI ) { toplam_ek_kesinti += tutar; } } } } comma_edit_aldigi_ucret->SET_DOUBLE ( prs_personel_ucret ); comma_edit_ek_odenek->SET_DOUBLE ( toplam_ek_odenek ); comma_edit_ek_kesinti->SET_DOUBLE ( toplam_ek_kesinti ); comma_edit_doviz_kuru->SET_DOUBLE ( DVZ_DOVIZ_KURUNU_AL( prs_doviz_id, QDate::currentDate(), ENUM_SATIS ) ); comma_edit_ucret_tutari->SET_DOUBLE ( ROUND( comma_edit_doviz_kuru->GET_DOUBLE() * prs_personel_ucret ) ); if ( s_query.SELECT() EQ 0 ) { DB->START_TRANSACTION(); QCommaEdit * comma_edit_kur = ( QCommaEdit * ) m_ui->table_widget_gun_satirlari->cellWidget(current_row ,KUR_COLUMN); SQL_QUERY insert_query(DB); insert_query.PREPARE_INSERT("prs_puantaj", "puantaj_id" , "personel_id , gun_sayisi ,doviz_kuru, " "temel_para_birim_tutari , bordro_donemi_yil, bordro_donemi_ay, yemek_verilen_gun_sayisi "); insert_query.SET_VALUE(":personel_id" , personel_id); insert_query.SET_VALUE(":gun_sayisi" , comma_edit_gun->GET_DOUBLE()); insert_query.SET_VALUE(":doviz_kuru" , comma_edit_kur->GET_DOUBLE()); insert_query.SET_VALUE(":temel_para_birim_tutari" , comma_edit_ucret_tutari->GET_DOUBLE() ); insert_query.SET_VALUE(":bordro_donemi_yil" , m_bordro_yili ); insert_query.SET_VALUE(":bordro_donemi_ay" , m_bordro_ayi ); insert_query.SET_VALUE(":yemek_verilen_gun_sayisi" , comma_edit_yemek_verilen_gun_sayisi->GET_DOUBLE() ); insert_query.INSERT(); DB->COMMIT_TRANSACTION(); } } return ADAK_OK; }
void FAT_TOPLU_FATURALASTIR_ARAMA::FATURALASTIR( int p_irsaliye_fis_id ) { SQL_QUERY query ( DB ); FATURA_FISI_STRUCT * FATURA_FISI = new FATURA_FISI_STRUCT; FATURA_FIS_SATIRI_STRUCT * FATURA_FIS_SATIRI = new FATURA_FIS_SATIRI_STRUCT; FATURA_FISI->KDV_ORANLARI_ARRAY = new double [KDV_OTV_ORANLARI_SAYISI]; FATURA_FISI->KDV_HESAPLARI_ID_ARRAY = new int [KDV_OTV_ORANLARI_SAYISI]; FATURA_FISI->KDV_ORANINA_GORE_TUTARLAR_ARRAY = new double [KDV_OTV_ORANLARI_SAYISI]; FATURA_FISI->OTV_ORANLARI_ARRAY = new double [KDV_OTV_ORANLARI_SAYISI]; FATURA_FISI->OTV_HESAPLARI_ID_ARRAY = new int [KDV_OTV_ORANLARI_SAYISI]; FATURA_FISI->OTV_ORANINA_GORE_TUTARLAR_ARRAY = new double [KDV_OTV_ORANLARI_SAYISI]; FATURA_FISI->TEVKIFATLI_KDV_HESAPLARI_ID_ARRAY = new int [KDV_OTV_ORANLARI_SAYISI]; FATURA_CLEAR_FIS_STRUCT ( FATURA_FISI ); FATURA_KDV_OTV_DEGISKENLERINE_ILK_DEGERLERINI_YAZ ( FATURA_FISI ); STK_IRS_FIS_STRUCT * STK_FIS = new STK_IRS_FIS_STRUCT; STK_IRS_FIS_SATIR_STRUCT * STK_FIS_SATIRI = new STK_IRS_FIS_SATIR_STRUCT; STK_IRS_CLEAR_FIS_STRUCT( STK_FIS ); STK_IRS_FIS_BILGILERINI_OKU( p_irsaliye_fis_id, STK_FIS ); QString cari_hesap_adresi; cari_hesap_adresi = CARI_GET_ADRES_BILGILERI( STK_FIS->cari_hesap_id ); DB->START_TRANSACTION (); //FATURA KAYDI EKLENECEK SUBE_UNITE_BILGILERI_STRUCT UNITE_BILG; SUBE_UNITE_BILGILERI_OKU( &UNITE_BILG, SUBE_GET_UNITE_ID() ); FATURA_FISI->belge_numarasi = UNITE_BILG.fatura_belge_numarasi; FATURA_FISI->belge_seri = UNITE_BILG.fatura_belge_seri; FATURA_FISI->fis_no = FAT_SIRADAKI_FIS_NO_AL ( m_ui->adakDate_fatura_tarihi->DATE() ); FATURA_FISI->aciklama = tr ( "Fatura, toplu irsaliye faturalaştırma işlemi sonucu üretilmiştir." ); FATURA_FISI->fatura_tarihi = m_ui->adakDate_fatura_tarihi->DATE(); FATURA_FISI->fatura_turu = ENUM_FAT_IRSALIYESIZ_SATIS_FATURASI; FATURA_FISI->fatura_alis_satis_turu = ENUM_SATIS_IRSALIYESI_FATURASI; FATURA_FISI->acik_kapali_fatura = ENUM_ACIK_FATURA; FATURA_FISI->cari_hesap_id = STK_FIS->cari_hesap_id; FATURA_FISI->cari_hesap_ismi = STK_FIS->cari_hesap_ismi; FATURA_FISI->cari_hesap_adresi = cari_hesap_adresi; FATURA_FISI->vergi_dairesi = STK_FIS->vergi_dairesi; FATURA_FISI->vergi_numarasi = STK_FIS->vergi_numarasi; FATURA_FISI->modul_id = FATURA_MODULU; FATURA_FISI->program_id = E9_PROGRAMI; FATURA_FISI->fatura_irsaliyelestirildi_mi = 1; int fatura_fis_id = FATURA_FISI_EKLE ( FATURA_FISI ); //FATURA SATIRLARI EKLENECEK //faturaya referans eden irsaliyeler kaydediliyor. query.PREPARE_INSERT("fat_irs_baglantisi" , "kayit_id" , "fatura_id, irsaliye_id"); query.SET_VALUE ( ":fatura_id" , fatura_fis_id ); query.SET_VALUE ( ":irsaliye_id" , p_irsaliye_fis_id ); query.INSERT (); STK_UPDATE_IRSALIYE_FATURALASTIRILDI_MI( p_irsaliye_fis_id , 1); int order_number = 0; QList<int> irs_str_id_list = STK_GET_FIS_SATIRI_ID_LIST( p_irsaliye_fis_id ); for ( int i = 0 ; i < irs_str_id_list.size() ; i++ ) { STK_IRS_CLEAR_SATIR_STRUCT ( STK_FIS_SATIRI ); STK_IRS_SATIR_BILGILERINI_OKU( irs_str_id_list.at( i ), STK_FIS_SATIRI ); STK_FATURALANAN_MIKTARI_GUNCELLE( irs_str_id_list.at( i ) , STK_FIS_SATIRI->satirdaki_urun_miktari ); order_number += 1024; FATURA_CLEAR_FIS_SATIRI_STRUCT ( FATURA_FIS_SATIRI ); FATURA_FIS_SATIRI->doviz_id = STK_FIS_SATIRI->doviz_id; FATURA_FIS_SATIRI->doviz_kodu = STK_FIS_SATIRI->doviz_kodu; FATURA_FIS_SATIRI->fis_id = fatura_fis_id; if ( STK_FIS_SATIRI->satir_tutari > 0 ) { FATURA_FIS_SATIRI->fiyat_irsaliyeden_alindi = 1; } FATURA_FIS_SATIRI->modul_id = FATURA_FISI->modul_id; FATURA_FIS_SATIRI->program_id = FATURA_FISI->program_id; FATURA_FIS_SATIRI->order_number = order_number; FATURA_FIS_SATIRI->irsaliyelenen_miktar = STK_FIS_SATIRI->satirdaki_urun_miktari; FATURA_FIS_SATIRI->isk_oncesi_urun_birim_fiyati = STK_FIS_SATIRI->isk_oncesi_urun_birim_fiyati; FATURA_FIS_SATIRI->isk_sonrasi_urun_birim_fiyati = STK_FIS_SATIRI->isk_sonrasi_urun_birim_fiyati; FATURA_FIS_SATIRI->kdv_dahil_mi = STK_FIS_SATIRI->kdv_dahil_mi; FATURA_FIS_SATIRI->kdv_orani = STK_FIS_SATIRI->kdv_orani; FATURA_FIS_SATIRI->otv_orani = STK_FIS_SATIRI->otv_orani; FATURA_FIS_SATIRI->satirdaki_urun_miktari = STK_FIS_SATIRI->satirdaki_urun_miktari; FATURA_FIS_SATIRI->satir_iskonto_yuzdesi = STK_FIS_SATIRI->iskonto_yuzdesi; FATURA_FIS_SATIRI->satir_iskonto_tutari = STK_FIS_SATIRI->iskonto_tutari; FATURA_FIS_SATIRI->satir_kdv_dahil_tutar = STK_FIS_SATIRI->satir_kdv_dahil_tutar; FATURA_FIS_SATIRI->satir_kdv_tutari = STK_FIS_SATIRI->satir_kdv_tutari; FATURA_FIS_SATIRI->satir_otv_dahil_tutar = STK_FIS_SATIRI->satir_otv_dahil_tutar; FATURA_FIS_SATIRI->satir_otv_tutari = STK_FIS_SATIRI->satir_otv_tutari; FATURA_FIS_SATIRI->satir_vergi_haric_tutar = STK_FIS_SATIRI->satir_vergi_haric_tutar; FATURA_FIS_SATIRI->satir_tutari = STK_FIS_SATIRI->satir_tutari; FATURA_FIS_SATIRI->temel_birim_katsayisi = STK_FIS_SATIRI->temel_birim_katsayisi; FATURA_FIS_SATIRI->t_is_son_birim_fiyati = STK_FIS_SATIRI->t_is_sonrasi_birim_fiyat; FATURA_FIS_SATIRI->t_is_son_satir_tutari = STK_FIS_SATIRI->t_is_sonrasi_satir_tutari; FATURA_FIS_SATIRI->t_is_son_str_vergi_haric_tutar = STK_FIS_SATIRI->t_is_sonrasi_vergi_haric_tutar; FATURA_FIS_SATIRI->t_is_son_satir_otv_tutari = STK_FIS_SATIRI->t_is_sonrasi_otv_tutari; FATURA_FIS_SATIRI->t_is_son_satir_otv_dahil_tutar = STK_FIS_SATIRI->t_is_sonrasi_otv_dahil_tutar; FATURA_FIS_SATIRI->t_is_son_satir_kdv_tutari = STK_FIS_SATIRI->t_is_sonrasi_kdv_tutari; FATURA_FIS_SATIRI->t_is_son_satir_kdv_dahil_tutar = STK_FIS_SATIRI->t_is_sonrasi_kdv_dahil_tutar; FATURA_FIS_SATIRI->urun_adi = STK_FIS_SATIRI->urun_adi; FATURA_FIS_SATIRI->urun_birimi = STK_FIS_SATIRI->urun_birimi; FATURA_FIS_SATIRI->urun_id = STK_FIS_SATIRI->urun_id; //irsaliye satirinda fiyat varsa ,fatura satirina aynen kaydedilir.Degistirilemez. int fis_satiri_id = FATURA_FIS_SATIRI_EKLE ( FATURA_FISI, FATURA_FIS_SATIRI ); SQL_QUERY insert_query( DB ); insert_query.PREPARE_INSERT("fat_irs_satir_baglantisi" , "kayit_id" , "fatura_satiri_id, irsaliye_satiri_id"); insert_query.SET_VALUE ( ":fatura_satiri_id", fis_satiri_id ); insert_query.SET_VALUE ( ":irsaliye_satiri_id", irs_str_id_list.at( i ) ); insert_query.INSERT (); } int hatali_fatura_mi = 0; query.PREPARE_SELECT ( "fat_fatura_satirlari","satir_tutari" ,"fis_id = :fis_id" ); query.SET_VALUE ( ":fis_id" , fatura_fis_id ); if ( query.SELECT() > 0 ) { while ( query.NEXT() EQ true ) { if ( query.VALUE(0).toDouble() EQ 0 ) { //Fatura satirlarinda tutar bilgisi yoksa fatura hatali kabul edilir. hatali_fatura_mi = 1; break; } } } FATURA_FISI->iskonto_tutari = ROUND ( FATURA_FISI->brut_tutar - FATURA_FISI->ara_toplam ); FATURA_FISI->iskonto_yuzdesi = ROUND ( ( ( FATURA_FISI->iskonto_tutari ) / FATURA_FISI->brut_tutar ) * 100 ); query.PREPARE_UPDATE ( "fat_faturalar ","fis_id", "iskonto_yuzdesi , " "iskonto_tutari, " "hatali_fatura_mi ", "fis_id = :fis_id" ); query.SET_VALUE ( ":iskonto_yuzdesi", FATURA_FISI->iskonto_yuzdesi ); query.SET_VALUE ( ":iskonto_tutari", FATURA_FISI->iskonto_tutari ); query.SET_VALUE ( ":hatali_fatura_mi", hatali_fatura_mi ); query.SET_VALUE ( ":fis_id", fatura_fis_id ); query.UPDATE(); QString cari_hesap_kodu_adi = m_ui->searchEdit_cari_hesap_kodu->GET_TEXT() + " " + m_ui->lineEdit_cari_hesap_ismi->text(); QString fatura_no = "<font color = \"red\">"+ QVariant ( FATURA_FISI->fis_no ).toString() + "</font>"; if ( hatali_fatura_mi EQ 1 ) { QMessageBox::warning ( this, tr("Hatalı Fatura Oluşturldu"), tr("%1 cari hesabına ait, verilen tarih aralığındaki " "irsaliyeler faturalaştırılırken %2 'nolu " "hatalı fatura oluşturuldu.").arg ( cari_hesap_kodu_adi ) .arg ( fatura_no ) ); SET_FOCUS( m_ui->searchEdit_cari_hesap_kodu ); delete FATURA_FISI; delete FATURA_FIS_SATIRI; DB->COMMIT_TRANSACTION(); return; } FAT_FATURA_ENT_FISLERINI_OLUSTUR( FATURA_FISI, fatura_fis_id ); QString log_detaylari = QObject::tr("Toplu İrsaliye Faturalaştırma , Cari Hesap Kodu / Adı : "); log_detaylari.append ( m_ui->searchEdit_cari_hesap_kodu->GET_TEXT() + " " + m_ui->lineEdit_cari_hesap_ismi->text() + " , Fatura Tarihi : " + m_ui->adakDate_fatura_tarihi->QDATE().toString("dd MMMM yyyy") +" \nİrsaliye Tarih Aralığı : " + m_ui->adakDate_irs_baslangic_tarihi->QDATE().toString("dd MMMM yyyy") + " - " + m_ui->adakDate_irs_bitis_tarihi->QDATE().toString("dd MMMM yyyy") + "\nŞube Kodu / Adı : " + m_ui->searchEdit_sube_kodu->GET_TEXT() + " " + m_ui->lineEdit_sube_ismi->text()); E9_LOG_KAYDI_EKLE ( FATURA_MODULU , LOG_FAT_TOPLU_FATURALASTIRMA , -1, log_detaylari ); DB->COMMIT_TRANSACTION(); delete FATURA_FISI; delete FATURA_FIS_SATIRI; delete STK_FIS; delete STK_FIS_SATIRI; accept(); }
void TASARIM_YENI_TASARIM_BATCH::RUN_BATCH () { int record_id = m_copy_belge_id_list.at( m_ui->comboBox_belgeler->currentIndex() ).toInt(); SQL_QUERY select_query(G_YONETIM_DB); SQL_QUERY insert_query(G_YONETIM_DB); G_YONETIM_DB->START_TRANSACTION(); if ( record_id NE -1 ) { select_query.PREPARE_SELECT("ynt_belge_tasarimlari","belge_id,html_str,belge_width,belge_height,kopya_sayisi,kopya_konumu," "row_count,row_space_mm,row_space_satir, belge_satir_sayisi,belge_toplam_karakter_sayisi,printer_type", "tasarim_id=:tasarim_id",""); select_query.SET_VALUE(":tasarim_id", record_id); if ( select_query.SELECT() EQ 0 ) { G_YONETIM_DB->COMMIT_TRANSACTION(); return; } select_query.NEXT(); insert_query.PREPARE_INSERT("ynt_belge_tasarimlari","tasarim_id","belge_id,tasarim_adi,html_str,belge_width,belge_height,kopya_sayisi,kopya_konumu, " "row_count,row_space_mm,row_space_satir,belge_satir_sayisi,belge_toplam_karakter_sayisi,printer_type,readonly"); insert_query.SET_VALUE(":belge_id" ,select_query.VALUE(0).toString()); insert_query.SET_VALUE(":tasarim_adi" ,m_ui->lineEdit_belge_adi->text()); insert_query.SET_VALUE(":html_str" ,select_query.VALUE(1).toString()); insert_query.SET_VALUE(":belge_width" ,select_query.VALUE(2).toString()); insert_query.SET_VALUE(":belge_height" ,select_query.VALUE(3).toString()); insert_query.SET_VALUE(":kopya_sayisi" ,select_query.VALUE(4).toString()); insert_query.SET_VALUE(":kopya_konumu" ,select_query.VALUE(5).toString()); insert_query.SET_VALUE(":row_count" ,select_query.VALUE(6).toString()); insert_query.SET_VALUE(":row_space_mm" ,select_query.VALUE(7).toString()); insert_query.SET_VALUE(":row_space_satir" ,select_query.VALUE(8).toString()); insert_query.SET_VALUE(":belge_satir_sayisi" ,select_query.VALUE(9).toString()); insert_query.SET_VALUE(":belge_toplam_karakter_sayisi" ,select_query.VALUE(10).toString()); insert_query.SET_VALUE(":printer_type" ,select_query.VALUE(11).toString()); insert_query.SET_VALUE(":readonly" ,0); int yeni_tasarim_id = insert_query.INSERT(); select_query.PREPARE_SELECT("ynt_belge_degiskenleri","degisken_id,font_size,align,pos_x,pos_y,is_visible_variable,grup_enum,size_vertical, " "size_horizontal,pixmap,text, text_size" , "tasarim_id = :tasarim_id",""); select_query.SET_VALUE(":tasarim_id",record_id); if ( select_query.SELECT() EQ 0 ) { G_YONETIM_DB->CANCEL_TRANSACTION(); return; } while (select_query.NEXT() EQ true) { insert_query.PREPARE_INSERT("ynt_belge_degiskenleri","tasarim_id","tasarim_id,degisken_id,font_size,align,pos_x,pos_y, " "is_visible_variable,grup_enum,size_vertical,size_horizontal,pixmap,text, text_size"); insert_query.SET_VALUE(":tasarim_id", yeni_tasarim_id ); insert_query.SET_VALUE(":degisken_id", select_query.VALUE("degisken_id").toString() ); insert_query.SET_VALUE(":font_size", select_query.VALUE("font_size").toString() ); insert_query.SET_VALUE(":align", select_query.VALUE("align").toString() ); insert_query.SET_VALUE(":pos_x", select_query.VALUE("pos_x").toString() ); insert_query.SET_VALUE(":pos_y", select_query.VALUE("pos_y").toString() ); insert_query.SET_VALUE(":is_visible_variable", select_query.VALUE("is_visible_variable").toInt() ); insert_query.SET_VALUE(":grup_enum", select_query.VALUE("grup_enum").toString() ); insert_query.SET_VALUE(":size_vertical", select_query.VALUE("size_vertical").toString() ); insert_query.SET_VALUE(":size_horizontal", select_query.VALUE("size_horizontal").toString() ); insert_query.SET_VALUE(":pixmap", select_query.VALUE("pixmap").toString() ); insert_query.SET_VALUE(":text", select_query.VALUE("text").toString() ); insert_query.SET_VALUE(":text_size", select_query.VALUE("text_size").toString() ); insert_query.INSERT(); } } else { SQL_QUERY query(G_YONETIM_DB); query.PREPARE_INSERT("ynt_belge_tasarimlari", "tasarim_id","tasarim_adi, belge_id, kopya_konumu, readonly, " "printer_type, belge_width, belge_height, kopya_sayisi, row_count, belge_satir_sayisi, belge_toplam_karakter_sayisi, row_space_satir"); query.SET_VALUE(":tasarim_adi" , m_ui->lineEdit_belge_adi->text() ); query.SET_VALUE(":belge_id" , m_belge_id); query.SET_VALUE(":kopya_konumu" , 0); query.SET_VALUE(":readonly" , 0); query.SET_VALUE(":printer_type" , GET_PRINTER_TYPE_ENUM( m_ui->comboBox_yazici_tipi->currentText() )); query.SET_VALUE(":belge_width" , 210.00 ); query.SET_VALUE(":belge_height" , 295.00 ); query.SET_VALUE(":kopya_sayisi" , 1 ); query.SET_VALUE(":row_count" , 5); query.SET_VALUE(":belge_satir_sayisi" , 66); query.SET_VALUE(":belge_toplam_karakter_sayisi" , 80); query.SET_VALUE(":row_space_satir" , 1); query.INSERT(); } G_YONETIM_DB->COMMIT_TRANSACTION(); MSG_INFO( tr( "Created" ), NULL ); close(); }
size_t stumpd::insert::insert_data(std::vector <std::vector <std::string> > data) { fprintf(stdout, "insert_data size %ld\n", data.size()); FILE *fp; size_t document_count; document_count = 0; bool start; start = 1; char *ymd; ymd = (char*)calloc(sizeof(char), 10); char *ymd_old; ymd_old = (char*)calloc(sizeof(char), 10); struct tm *date_buf; date_buf = (struct tm*)calloc(sizeof(struct tm), 1); if(strcmp(DB_TYPE, "mysql") == 0) { std::string insert_query("START TRANSACTION;"); std::vector <std::vector < std::string > > results; if(data.size() > 0) std::sort(data.begin(), data.end(), sort_dates); size_t i; time_t str_to_date; for(i=0;i<data.size();i++) { str_to_date = strtol(data[i][0].c_str(), NULL, 0); localtime_r(&str_to_date, date_buf); strftime(ymd, 10, "%Y%m%d", date_buf); if(strcmp(ymd, ymd_old) != 0) { if(strlen(ymd_old) != 0) { //fprintf(stdout, "ymd_old length is %ld\n", strlen(ymd_old)); insert_query.erase(insert_query.length() - 1); insert_query.append(";"); } else { if(i<data.size()-1&&start == 0) insert_query.append(","); } fprintf(stdout, "Starting new insert query, capping off the last one\n"); start = 1; } if(start == 1) { strncpy(ymd_old, ymd, 10); //insert_query.clear(); insert_query .append("INSERT INTO `documents_") .append( std::string(ymd) .substr(0, 4)) .append("`.`") .append(ymd) .append("` (date, host, input, content) VALUES "); start = !start; } insert_query .append("(FROM_UNIXTIME(") .append(data[i][0]) .append("),'") .append(data[i][1]) .append("','") .append(data[i][2]) .append("','") .append(data[i][3]) .append("')"); if(i<data.size()-1&&start == 0) insert_query.append(","); } insert_query .append(";COMMIT;"); fp = fopen("/tmp/insert.log", "w+"); fprintf(fp, "%s", insert_query.c_str()); fclose(fp); results = mysql_conn->query(insert_query.c_str()); free(ymd); free(ymd_old); if(results.size() == 0) return 1; else return 0; } else if(strcmp(DB_TYPE, "clucene") == 0) { free(ymd); free(ymd_old); fprintf(stderr, "CLucene DB_TYPE is not yet supported\n"); return 0; } free(ymd); free(ymd_old); return document_count; }