Uživatelské nástroje

Nástroje pro tento web


projekty:symposion_-_poznamky

Poznámky k projektu Symposion

Sympis je u Lenky na notebooku ulozen ve slozce c:\sympIS. Vsechny jary (knihovny) + jar s aplikaci (c:\sympIS\sympIS-1.1.jar ). Na ploše je zástupce dávky c:\sympIS\sympis.bat, která spouští samotný program (@ start /B sympis-1.1.jar). To je proto, aby se daly číslovat verze a odkaz na ploše pořád fungoval správně.

FIXME Dodělat do mavenu plugin, který automaticky vygeneruje spouštěcí skript (podle aktuálního čísla verze).

Velikost projektu

k 14.7.2008

ProjektLOCLOCommCelkem
AA43751119
-OfficeDoc-1566-476
3452
IS1250590913419
16866

pokud bychom pocitali nejakych 40 radku na stranku, bude mit kod 422 stran!

Projekt# tabulek# sloupcu
AA 5 26
IS 25 393
celkem 30 319

K tomu rozběhání webových stránek (nalezení providera, porozumění struktuře webu), jejích úpravy a aktualizace.

Dále všechny návštěvy ve firmě.

Aktualni problemy

  • do aplikaci pridat i cislo buildu nebo jiny identifikator, ktery urci, jaka verze aplikace to je. To same cislo pak do oznaceni tagu v svn. [je v dialogu O aplikaci (verze assembly)].
  • přidat mazání custom aukčních kategorií (pozor na položky v té kategorii).
- brutalni zpusob prace s okny: Main.java: 50
- pouzit JGoodies Forms layout a Validation
- overit, ze Category.equals() a Category.hashCode() vyhovuji pozadavkum Hibernate
  - extends
  - smazat basic_panel a insert
  - smazat insert z konstrukt. a jeho pouziti
  - zmenit volani super()
  - implementovat metodu setItemProperties() - nazev + zbytek
  - smazat listener
  
  Celkova doba refactoringu na factory: 5.5 hod. -- zkurveny Duffy!!!
  
 
Change request:
    * Pak mám ještě dotaz - dá se přidat k položkám v kategorii knihy kolonka rozměr ? U bibliofilií je to důležitá informace. 
      Přišel na to Matěj.....
      [Az zaplati fakturu!]
    * Smazani kategorie -- nejprve zkontrolovat, jestli jsou v kategorii polozky. Jestli jo, tak bud zakazat nebo je prevest na defaultni kategorii.


---------------------
Aukcni app:
  
  
Sympis:
  - pridat ke kategorii Knihy kolonku rozmer [viz nahore]
  - pridat mazani custom aukcnich kategorii [viz nahore]

Databaze

V Symposionu ma lokalni anonym plna prava a mysql je v PATH. Daji se tedy poustet davky mysql < novy_majetek.sql 2> novy_majetek_chyby.txt.

Vznikaji vyjimky, protoze jsou v DB moc kratke sloupce - je potreba je prodlouzit (popisy, nazvy, poznamky atd. na typ TEXT, kratke popisky na varchar(255)) a v aplikaci hlidat prekroceni delky. [Vetsina sloupcu je nyni prodlouzena na typ TEXT. Hibernate evidentne zadne kontroly delky nedela, aplikace nyni funguje dobre.]

Pouceni: Menit typ u x sloupcu je pruda, proto bud zavest nekolik vlastnich typu (longtext ~ text, shorttext ~ varchar(255)) nebo rovnou pocitat s nejdelsim moznym typem (text). V aplikaci by se mela provadet (automaticka) kontrola delky stringu (v ramci validace vstupu).

FIXME je potreba promitnout zmenu typu vetsiny sloupcu na TEXT v kodu (neni to kriticke, aplikace funguje, ale bylo by vhodne mit typ v DB a v kodu synchronizovany).

Dump databáze: mysqldump sympis > dump.sql

Importované soubory (předávané jako mysql < import.sql) musí být v kódování UTF8.

Aukční aplikace

:!: Pri deinstalaci se vzdy odinstaluje i databaze – to by nemela. A naopak pri nove instalaci by mela byt zachovana stavajici db.

Nove je DB aukcni aplikace FireBird. Je potreba, aby se triggery, ktere zajistuji vkladani novych zaznamu chovaly takto:

AS
BEGIN
    IF(NEW.id IS NULL OR NEW.id <= gen_id(gen_invoices_id,0)) THEN
        NEW.id = gen_id(gen_invoices_id,1);
    ELSE
        NEW.id =  gen_id(gen_invoices_id, NEW.id - gen_id(gen_invoices_id,0));
END

Export katalogu do DB:

Je potřeba ručně nahradit názvy kategorií jejich kódy - vyhledat v tabulce kategorie v DB webu. FIXME Vyřešit v Sympisu - synchronizace kategorií na webu a v systému.

Public Sub ExportCatalogue()
' je potreba doplnit id aukce a zkontrolovat rozsah for cyklu
' pripadne newline v popisech polozek nevadi, naimportuji se spravne
    Dim nFileNum As Long
    Dim sOut As String
    Dim idAukce As String
 
    idAukce = 
 
    nFileNum = FreeFile
    Open "d:\\katalog.sql" For Output As #nFileNum
    For I = 2 To  ' To Rows.Count
            sOut = "insert into katalog (kat_cislo, id_aukce, kategorie, nazev, popis, literatura, poznamka, cena, mena) values ("
            sOut = sOut & Cells(I, 1).Text & ", " 'kat. cislo
            sOut = sOut & idAukce & ", "  'id_aukce
            sOut = sOut & Cells(I, 3).Text & ", " 'kategorie
            sOut = sOut & "'" & Cells(I, 4).Text & "'" & ", " 'nazev
            sOut = sOut & "'" & Cells(I, 5).Text & "'" & ", " 'popis
            sOut = sOut & "'" & Cells(I, 6).Text & "'" & ", " 'liter
            sOut = sOut & "'" & Cells(I, 7).Text & "'" & ", " 'poznamka
            sOut = sOut & Replace(Cells(I, 8).Text, ",-", "") & ", " 'cena
            sOut = sOut & "'" & Cells(I, 9).Text & "'" 'mena
            sOut = sOut & ");"
 
            Print #nFileNum, sOut
       ' End With
    Next I
    Close #nFileNum
End Sub

Export vysledku aukce do DB:

' Pozor na rozsah radku a na cisla sloupcu (cislujou se od 1)
' Potreba spravne vyplnit idAukce
Public Sub ExportResults()
    Dim myRecord As Range
    Dim myField As Range
    Dim nFileNum As Long
    Dim sOut As String
    Dim cena As String
    Dim idAukce As String
 
    idAukce =
 
    nFileNum = FreeFile
    Open "c:\\vysledky.sql" For Output As #nFileNum
    For I = 2 To 361 '1 To Rows.Count
        sOut = "update katalog set finalni_cena=<cena> where id_aukce=<id_aukce> and kat_cislo=<kat_cislo>;"
        cena = Cells(I, 4).Text
        sOut = Replace(sOut, "<cena>", cena)
        sOut = Replace(sOut, "<kat_cislo>", Cells(I, 1).Text)
        sOut = Replace(sOut, "<id_aukce>", idAukce)
 
 
        If (StrComp(cena, "") <> 0) Then
            Print #nFileNum, sOut
        End If
    Next I
    Close #nFileNum
End Sub

SympIS

Při třídění tabulky (klikem na záhlaví) se nepoužije vhodný sorter – neumí češtinu a odděluje velká a malá písmena.

Export dat z excelu do sympisu:

' Pozor na rozsah radku a na cisla sloupcu (cislujou se od 1)
' Potreba spravne vyplnit idAukce
Public Sub CharacterSV()
    Dim myRecord As Range
    Dim myField As Range
    Dim nFileNum As Long
    Dim sOut As String
    Dim sOut2 As String
    Dim cena As String
    Dim idAukce As String
 
 
    nFileNum = FreeFile
    Open "c:\\dokumenty.sql" For Output As #nFileNum
    Print #nFileNum, "SET AUTOCOMMIT=0;"
    Print #nFileNum, "START TRANSACTION;"
    Print #nFileNum, "USE sympis;"
 
 
    kategorie = "2"
    aukcniKategorie = "2"
 
    For I = 2 To 45 '1 To Rows.Count
        sOut = "INSERT INTO basic_items (uuid, nazev, poznamka, top, datum_nabyti, evidencni_cislo, category_id, auction_category_id) VALUES (UUID(), <nazev>, <poznamka>, <top>, <datum_nabyti>, <evidencni_cislo>, <kategorie>, <aukcni_kategorie>);"
        sOut2 = "INSERT INTO category_dokumenty (id, datum, misto, rozmer, pecet, technika, obsah, pocet_stran) VALUES (LAST_INSERT_ID(), <datum>, <misto>, <rozmer>, <pecet>, <technika>, <obsah>, <pocet_stran>);"
        sOut = Replace(sOut, "<nazev>", QuoteString(Cells(I, 1)))
        sOut = Replace(sOut, "<poznamka>", QuoteString(Cells(I, 12)))
        sOut = Replace(sOut, "<top>", QuoteString(Cells(I, 2)))
        sOut = Replace(sOut, "<datum_nabyti>", QuoteString(Format(Cells(I, 3), "yyyy-mm-dd")))
        sOut = Replace(sOut, "<evidencni_cislo>", QuoteString(Cells(I, 4)))
        sOut = Replace(sOut, "<kategorie>", kategorie)
        sOut = Replace(sOut, "<aukcni_kategorie>", aukcniKategorie)
 
        sOut2 = Replace(sOut2, "<datum>", QuoteString(Cells(I, 5)))
        sOut2 = Replace(sOut2, "<misto>", QuoteString(Cells(I, 6)))
        sOut2 = Replace(sOut2, "<rozmer>", QuoteString(Cells(I, 7)))
        sOut2 = Replace(sOut2, "<pecet>", QuoteString(Cells(I, 8)))
        sOut2 = Replace(sOut2, "<technika>", QuoteString(Cells(I, 9)))
        sOut2 = Replace(sOut2, "<obsah>", QuoteString(Cells(I, 10)))
        sOut2 = Replace(sOut2, "<pocet_stran>", QuoteString(Cells(I, 11)))
 
 
        Print #nFileNum, sOut
        Print #nFileNum, sOut2
    Next I
 
    Print #nFileNum, "COMMIT;"
 
    Close #nFileNum
End Sub
 
Public Function QuoteString(s As String) As String
    If (StrComp(s, "") <> 0) Then
        QuoteString = "'" + s + "'"
    Else
        QuoteString = "NULL"
    End If
End Function

Skript na vycisteni databaze (zustanou jen kategorie a aukcni kategorie)

USE sympis;
 
TRUNCATE `auction`;
TRUNCATE `auction_item`;
TRUNCATE `authors`;
TRUNCATE `basic_items`;
TRUNCATE `category_autogramy`;
TRUNCATE `category_dokumenty`;
TRUNCATE `category_fotografie`;
TRUNCATE `category_grafika`;
TRUNCATE `category_hodiny`;
TRUNCATE `category_keramika`;
TRUNCATE `category_knihy`;
TRUNCATE `category_kresba`;
TRUNCATE `category_mapy`;
TRUNCATE `category_nabytek`;
TRUNCATE `category_obrazy`;
TRUNCATE `category_plastika`;
TRUNCATE `category_sklo`;
TRUNCATE `category_sperky`;
TRUNCATE `category_stribro`;
TRUNCATE `category_uzite_predmety`;
TRUNCATE `category_zbrane`;
TRUNCATE `collection`;
TRUNCATE `price_history`;
projekty/symposion_-_poznamky.txt · Poslední úprava: 2010/03/18 17:25 autor: stod