Platesti cat crezi ca valoreaza

3 comentarii

Da! Ati citit bine!

De cate ori ati avut ocazia sa platiti pentru un lucru/serviciu exact cat credeti voi ca merita? Sunt sigur ca nu de multe ori. Nu neaparat pentru ca nu ati vrut, ci pentru ca nu ni s-a dat ocazia.

Firma Extreme Training a venit cu o idee noua. Au o lista de trei traininguri pe care le platesti dupa ce participi exact cat crezi ca merita. Cele trei traininguri sunt:

  • Train The Trainers
  • Persuasiune si Influentare
  • Inspector de resurse umane

Voi daca ati fi manageri ati avea curajul sa oferiti o astfel de….nici nu stiu cum sa ii zic. Sa spunem ca e o strategie. Sa nu uitam totusi ca suntem in Romania. Unii dintre noi nu au aceasta cultura si pe langa aceasta stim ca este in sangele latin: daca nu tragem o teapa cuiva, nu ne simtit bine.
Este pacat ca aceste traininguri au loc doar in Bucuresti. Totusi sa speram ca vor avea succes si ca pe viitor vor putea participa mai multi la aceste traininguri.

Pana atunci, hai sa vedem cum stam cu valorificarea si daca stim sa oferim pretul corect (concursuri am tot avut…slava Domnului).

Anunțuri

Learn english

Lasă un comentariu

Am ajuns intr-un punct in care fara engleza nu mai poti face foarte multe lucruri. In concluzie, pana chineza ii va lua locul, ar cam trebui sa punem mana pe o carte de engleza.

De curand am dat peste un site facut de catre cei de la British Council. Este un site la inceput de drum, dar il consider foarte util. Ofera aproape orice lucru de care ai nevoie pentru a invata engleza mai bine. Ne ofera partea de gramatica, de listen etc. Totul este structurat pe lectii, iar la inceputul fiecarei lectii de tip ascultare exista un test de vocabular, iar la sfarsitul lectiilor de gramatica exista teste specifice.

Este posibil ca printre noi sa existe persoane dornice sa invete limba engleza si poate nu au bani suficienti sa mearga la un curs la BC. Asadar, va recomand cu mare placere noul site.

Legat de viitorul site-ului am auzit doar lucruri frumoase, acesta urmand sa se creasca precum Fat Frumos.

Ar fi foarte  interesant sa vedem si pentru alte limbi site-uri de genul acesta.

 

P.S.: aveti si posibilitatea de download a fisierelor audio.

Trigger: modificarea statusului unei alarme

Lasă un comentariu

Daca in postul anterior am inserat automat o alerta in momentul in care se face o iesire de produse, cand stocul ramas era mai mic decat stocul minim, acum voi exemplifica un trigger basic care in coloana ESTEREZOLVAT va trece DA, in cazul unei aprovizionari ce va crea un stoc mai mare decat cel minim acceptat. Legat de acest trigger, ar trebui sa se mai introduca o regula si anume sa verifice ultima alerta a produsului respectiv.

–obisnuitul trigger care evita problema mutantelor

CREATE OR REPLACE TRIGGER prod_intrari
AFTER INSERT OR UPDATE ON intrari_prod
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
pachet_subiect3.v_idprod:=:NEW.idprod;
END;

–triggerul propriu-zis

CREATE OR REPLACE TRIGGER intrari_produse
AFTER INSERT OR UPDATE ON intrari_prod FOR EACH ROW
DECLARE
idal alerte_stoc.idalerta%TYPE;  –reprezinta id-ul alertei
idp alerte_stoc.idprod%TYPE; –reprezinta id-ul produsului
cantitatenoua NUMBER(10); –reprezinta valoarea stocului dupa aprovizionare
verif NUMBER(10);–reprezinta diferenta dintre stocul curent si stocul minim
BEGIN

–se calculeaza noul stoc, diferenta si se instantiaza id-ul produsului
cantitatenoua:=pachet_subiect3.f_stocc(pachet_subiect3.v_idprod)+:NEW.cantitateintrata;
verif:=cantitatenoua-pachet_subiect3.f_stocm(pachet_subiect3.v_idprod);
idp:=pachet_subiect3.v_idprod;

–se face un update in stocul produsului si apoi se face o verificare daca noul stoc

–este mai mare sau nu decat stocul minim

UPDATE produse SET stoccurent=cantitatenoua where idprod=idp;
IF verif <= 0 THEN
DBMS_OUTPUT.PUT_LINE(‘stocul curent este in continuare mai mic decat stocul minim!’);
ELSE
UPDATE alerte_stoc SET  esterezolvata=’DA’  WHERE idprod=idp;
UPDATE alerte_stoc SET cantitateexistenta=cantitatenoua WHERE idprod=idp;
END IF;
END;

Simple…felicitari

Lasă un comentariu

Vreau sa incep printr-un post frumos, printr-un post prin care vreau sa felicit niste oameni care se numara printre cei care ne fac fericiti ca suntem romani. Am citit azi un articol despre cativa elevi care au fost acceptati, dupa lungi teste si interviuri la unele dintre cele mai buni universitati din Europa, daca nu din lume

Ma pot mandri ca am printre ei o cunostinta, Sergiu Vicol care ne va reprezenta. De asemenea mai cunosc persoane care ne reprezinta cu brio peste hotare (este vorba despre Anca Haraga – London School of Economics). Sunt foarte bucuros pentru acesti copii. NU pot ascunde si faptul ca sunt anumire lucruri care ma intristeaza oarecum.

Este dureros cand vedem ca marile valori se duc dincolo. Este dureros ca nu le putem oferi NOI ceea ce gasesc acolo. Este dureros faptul ca nu stim cati dintre ei se intorc in Romania si isi vor pune in valoare acel know-how (inca nu stim daca vor avea ocazia). Este dureros, si este o durere personala, ca un liceu precum Liceul de Informatica nu are macar un elev care sa ne reprezinte.

Cu toate acestea insa, trebuie sa ne bucuram pentru ei, sa le aratam ca inca mai putem fi uniti si sa le uram multa bafta, sa aiba parte de rezultate excelente si sa ne reprezinte cu mandrie!

Trigger: adaugare alerta

Lasă un comentariu

Enuntul acestui trigger ar fi: la ieşirea sau vânzarea unui produs, dacă în urma ieşirii, stocul curent este mai mic decât stocul mimin (de siguranţă), să se introducă o înregistrare în tabela ALERTE_STOC.

La fel ca la precedentul trigger, nu voi mai posta pachetul cu functii.

– realizam o secventa pentru a crea un ID generat automat pentru tabela alerte_stoc

CREATE SEQUENCE seq_idalerta START WITH 1 INCREMENT BY 1 MINVALUE 1
MAXVALUE 89898 NOCACHE ORDER NOCYCLE ;

–realizam un trigger pentru a evita tabelele mutante

CREATE OR REPLACE TRIGGER noi_prodiesiri
AFTER INSERT OR UPDATE ON prod_alte_iesiri
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
pachet_subiect2.v_idprod:=:NEW.idprod;
END;

-realizam trigger-ul propriu-zis

CREATE OR REPLACE TRIGGER iesire_produse
AFTER INSERT OR UPDATE ON prod_alte_iesiri FOR EACH ROW
DECLARE
idal alerte_stoc.idalerta%TYPE;                    –reprezinta id-ul alertei
datao alerte_stoc.dataoraalerta%TYPE;    –reprezinta data si ora alertei
idp alerte_stoc.idprod%TYPE;             –reprezinta id-ul produsului pentru care se face alerta
cantramasa NUMBER(10);                   –reprezinta cantitatea ramasa in urma iesirii
verif NUMBER(10);                            –reprezinta diferenta dintre cantitatea ramasa si stocul minim acceptat
BEGIN

– se instantiaza valorile necesare pentru  tabela alerte

idal:= seq_idalerta.NextVal;
datao:=CURRENT_TIMESTAMP;

cantramasa:=pachet_subiect2.f_stocc(pachet_subiect2.v_idprod)-:NEW.cantiesita;
verif:=cantramasa-pachet_subiect2.f_stocm(pachet_subiect2.v_idprod);
idp:=pachet_subiect2.v_idprod;

–facem un update cu noua valoare a stocului
UPDATE produse SET stoccurent=cantramasa where idprod=idp;

–se face verificare: daca noul stoc < decat stocul minim si daca este, atunci se insereaza in tabela alerte

IF verif <= 0 THEN
INSERT INTO alerte_stoc VALUES(idal,datao,idp,cantramasa,’nu’);
END IF;
END;

Trigger – imposibilitate inserare facturi

Lasă un comentariu

Acest trigger nu te lasa sa inserezi facturi in baza de date, unor clienti care au o datorie de peste 50000  lei/euro si daca raportul datorie-incasari/datorie este mai mare decat 0,1. Regula se aplica doar clientilor carora li s-au facturat peste 3 facturi

Vreau sa repet, el este un trigger basic, nimic foarte wow. Este o varianta, care poate fi imbunatatita…sunt sigur.

––inainte de trigger, s-a creat un pachet ce contine 2 functii care returneaza totalul facturat unui client si totalul incasat de la un client––

–– se realizeaza un trigger pentru a evita tabelele mutante––

CREATE OR REPLACE TRIGGER noi_facturi_ln
AFTER INSERT OR UPDATE ON facturi
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
pachet_subiect1.v_idclient:=:NEW.idclient;
END;

––realizarea triggerului principal––

CREATE OR REPLACE TRIGGER noi_facturi
AFTER INSERT OR UPDATE ON facturi
REFERENCING NEW AS NEW OLD AS OLD
DECLARE
nrfac NUMBER(5);      –reprezinta numarul facturii
dif NUMBER(10);         –reprezinta diferenta dintre incasat si facturat
rap NUMBER(10,2);   –reprezinta valoarea raportului care trebuie sa fie mai mic de 0,1.
BEGIN

–se face o verificare a numarului de facturi emise clientului caruia urmeaza sa ii emitem

SELECT COUNT(idclient) INTO nrfac FROM facturi WHERE idclient = pachet_subiect1.v_idclient;
IF nrfac > 3 THEN

–se calculeaza diferenta si raportul

dif:= pachet_subiect1.f_totfac(pachet_subiect1.v_idclient)-pachet_subiect1.f_totinc

(pachet_subiect1.v_idclient);
rap:= (dif-pachet_subiect1.f_totinc(pachet_subiect1.v_idclient))/dif;

–daca diferenta e peste 50000 si raportul este peste 0,1 atunci afisam o eroare; aceasta

poate fi dezvoltata oferindu-se si valori

IF dif>50000 AND rap>0.1 THEN
RAISE_APPLICATION_ERROR(-20529, ‘Clientul are datorii prea mari!’);
END IF;
END IF;
END;

The new super power html5

Lasă un comentariu

Dupa cum se stie, in viitorul apropiat, baietii de la W3C vor lansa html5. Cum se poate lansa „CEVA” daca nu i se creaza o identitate, un logo etc? Asadar cei mai sus enuntati, au inceput o campanie de promovare bazat pe logo. Acesta arata cam asa:

Cum vi se pare acest logo? Mie personal mi se pare o copie a semnului de pe pieptul lui Superman. Nu are rost sa insiram acum o lista cu diferentele intre ce este acum si ce va fi dupa, lista caracteristicilor etc. Acestea pot fi gasite usor pe wikipedia. Ne ramane doar sa asteptam si sa vedem.

Pana atunci putem doar sa le dam crezare acestor baieti.

Aaaa…chiar…haideti sa ne punem imaginatia la contributie si sa ne gandim cum va  arata internetul cu html5…sa ne gandim cum vor evolua lucrurile. Ce alt „WOW” va aparea dupa retelele sociale?

Older Entries