To jest stara wersja strony!


Opis aplikacji

Aplikacja będzie miała za zadanie katalogować i zarządzać szkoleniami BHP, a ponadto móc generować raporty z bieżącego szkolenia jak i ze szkoleń w historii. Docelowym użytkownikiem aplikacji będzie pojedynczy, zewnętrzny szkoleniowiec, prowadzący szkolenia w pewnych zakładach pracy i mający pod opieką pewną grupę pracowników dla których konieczne są szkolenia, zarówno jednorazowe jak i okresowe.

Opis funkcjonalny

Pracownicy

Katalogowanie pracowników będzie polegać na ich grupowaniu względem zakładu pracy w którym pracują oraz wyświetlaniu wszystkich informacji powiązanych z danym pracownikiem. Jednocześnie będą dostępne zbiorcze zestawienia pracowników w celu przeglądu z możliwością sortowania względem wybranych informacji. Kolejnym elementem będzie rozbudowany filtr, umożliwiający przeszukiwanie bazy względem wielu kryteriów dotyczących pracowników i informacji z nimi związanych.

Z każdym pracownikiem będą związane następujące informacje:

  • dane teleadresowe
  • informacje o zakładzie pracy w którym pracuje
  • informacje o aktualnie ważnym badaniu lekarskim
  • informacje o aktualnie ważnym szkoleniu
  • pełna historia odbytych szkoleń

Zakłady pracy

Pracownicy będą katalogowani względem zakładów pracy w których pracują. Dodatkowo będzie zaimplementowana złożona wyszukiwarka tychże zakładów.

Z każdym zakładem pracy będą związane następujące informacje:

  • dane teleadresowe
  • lista pracowników

Kategorie szkoleń

Kategorie szkoleń będą tworzyły reprezentację różnych rodzajów szkoleń jakie są charakterystyczne dla poszczególnych grup pracowników, np. pracownicy fizyczni lub pracujący w szczególnych warunkach zdrowotnych. Kategorie szkoleń będą również kolejną metodą grupowania pracowników, gdyż każdy z pracowników, po odbyciu szkolenia będzie klasyfikowany do pewnej grupy zawodowej. Dla kategorii będzie również zaimplementowana złożona wyszukiwarka.

Dla kategorii szkoleń będą charakterystyczne następujące informacje:

  • nazwa, opis kategorii
  • okres ważności wskazujący po jakim czasie pracownik powinien być przeszkolony ponownie
  • liczba przeprowadzonych szkoleń
  • plik szablonu raportu, wskazujący szablon który powinien zostać użyty przy generowaniu raportu dla danego szkolenia

Szkolenia

Na wcześniej wybranej grupie pracowników, użytkownik będzie mógł przeprowadzić szkolenie zadanej kategorii. Informacja o szkoleniu zostanie dodana do historii szkoleń, a wszystkie inne informacje w bazie zostaną odpowiednio uaktualnione. Dodatkowo zostanie wygenerowany odpowiedni dla danej kategorii plik raportu, zawierające informacje na temat przeprowadzonego szkolenia a przeznaczony do wydruku. Plik wygenerowanego raportu również zostanie zapisany w historii. Dodatkowo będzie zaimplementowana rozbudowana wyszukiwarka.

Dla poszczególnych szkoleń będą dostępne następujące informacje:

  • charakterystyczny numer identyfikujący poszczególne szkolenia
  • kategoria, opis
  • data szkolenia
  • data ważności
  • plik szablonu raportu, który został użyty

Historia szkoleń

Wszystkie przeprowadzone szkolenia będą zapisywane. Będzie można przeglądać pełną historię przeprowadzonych szkoleń jak i historię szkoleń dla każdego pracownika z osobna. Dodatkowo będzie zaimplementowana rozbudowana wyszukiwarka.

Raporty

Raporty będą generowane po przeprowadzeniu szkolenia na podstawie wcześniej zdefiniowanych plików szablonów. Pliki szablonów będą reprezentowane przez dokumenty typu OpenXML, zawierające strukturę raportu ze zdefiniowanymi polami-argumentami, które będą uzupełniane informacjami charakterystycznymi dla przeprowadzonego szkolenia. Raporty automatycznie będą drukowane, z możliwością ponownego ich odtworzenia z historii szkoleń.

Technologie

Środowisko implementacji

  • MS Visual Studio 2010
  • .NET Framework 4.0
  • MS SQL Server 2008 R2
  • MS Word 2007
  • Open XML SDK 2.0

Elementy do wdrożenia testowego

  • Użycie bazy danych SQLExpress, przechowującej dane w pojedynczym pliku dołączanym do właściwej aplikacji. Rozwiązanie zapewnia niemal pełną funkcjonalność standardowej bazy danych bez konieczności instalowania bazy w silniku serwera. Wydaje się to być ciekawym rozwiązaniem dla aplikacji mającej stosunkowo niewielki narzut danych.
  • Użycie funkcji CLR (implementowanych przy użyciu C# i .NET Framework) wewnątrz bazy danych. Funkcje mogłyby zapewnić integralność informacji o plikach, przechowywanych w bazie z ich fizyczną reprezentacją na dysku na poziomie mechanizmów samej bazy.
  • Użycie biblioteki Open XML SDK 2.0 dającej możliwość manipulacją plikami formatu OpenXML w celu generowania elastycznych raportów na podstawie wcześniej przygotowywanych, standardowych i łatwych w tworzeniu dokumentów pakietu MS Office 2007 lub OpenOffice.


Projekt bazy danych

Baza danych będzie implementowana jako darmowa baza SQLExpress, która jest oparta na komercyjnym SZBD MS SQL Server 2008 R2.

Tabele

Widoki

Dla sprawniejszego posługiwania się danymi w bazie zostały utworzone odpowiednie widoki.

Widok zakładu pracy

Diagram

Skrypt

CREATE VIEW [dbo].[TrainingCategoryView]
AS
SELECT        dbo.TrainingCategory.Id, dbo.TrainingCategory.Name, dbo.TrainingCategory.ExpiryTime, dbo.TrainingCategory.Description, dbo.TrainingCategory.LastNumber, 
                         ProtocolTemplate.Name AS ProtocolName, CertificateTemplate.Name AS CertificateName, ProtocolTemplate.Id AS ProtocolId, 
                         CertificateTemplate.Id AS CertificateId
FROM            dbo.Template AS CertificateTemplate RIGHT OUTER JOIN
                         dbo.TrainingCategory ON CertificateTemplate.Id = dbo.TrainingCategory.CertificateTemplateId LEFT OUTER JOIN
                         dbo.Template AS ProtocolTemplate ON dbo.TrainingCategory.ProtocolTemplateId = ProtocolTemplate.Id

Widok pracownika

Diagram

Skrypt

CREATE VIEW [dbo].[EmployeeDetailsView]
AS
SELECT        dbo.Employee.Surname, dbo.Employee.Forename, dbo.Employee.Street, dbo.Employee.BuildingNumber, dbo.Employee.FlatNumber, dbo.Employee.City, 
                         dbo.Employee.PostalCode, dbo.Employee.Post, dbo.Employee.Phone, dbo.Employee.Email, dbo.Employee.BirthDate, dbo.Employee.BirthPlace, 
                         dbo.Employee.Position, dbo.Employee.CheckupExpiryDate, dbo.Employee.Id, dbo.Company.Name, dbo.Employee.CompanyId, dbo.Training.Number, 
                         dbo.Training.TrainingDate, dbo.Training.ExpiryDate, dbo.TrainingCategory.Name AS CategoryName
FROM            dbo.TrainingCategory RIGHT OUTER JOIN
                         dbo.Training ON dbo.TrainingCategory.Id = dbo.Training.TrainingCategoryId RIGHT OUTER JOIN
                         dbo.Company INNER JOIN
                         dbo.Employee ON dbo.Company.Id = dbo.Employee.CompanyId ON dbo.Training.Id = dbo.Employee.CurrentTrainingId

Widok kategorii szkoleń

Diagram

Skrypt

CREATE VIEW [dbo].[TrainingCategoryView]
AS
SELECT        dbo.TrainingCategory.Id, dbo.TrainingCategory.Name, dbo.TrainingCategory.ExpiryTime, dbo.TrainingCategory.Description, dbo.TrainingCategory.LastNumber, 
                         ProtocolTemplate.Name AS ProtocolName, CertificateTemplate.Name AS CertificateName, ProtocolTemplate.Id AS ProtocolId, 
                         CertificateTemplate.Id AS CertificateId
FROM            dbo.Template AS CertificateTemplate RIGHT OUTER JOIN
                         dbo.TrainingCategory ON CertificateTemplate.Id = dbo.TrainingCategory.CertificateTemplateId LEFT OUTER JOIN
                         dbo.Template AS ProtocolTemplate ON dbo.TrainingCategory.ProtocolTemplateId = ProtocolTemplate.Id

Widok historii szkoleń

Diagram

Skrypt

CREATE VIEW [dbo].[TrainingHistoryView]
AS
SELECT        dbo.Training.Id, dbo.Training.Number, dbo.Training.TrainingDate, dbo.Training.ExpiryDate, dbo.Training.Description, dbo.TrainingCategory.Name AS CategoryName, 
                         ProtocolTemplate.Name AS ProtocolName, CertificateTemplate.Name AS CertificateName, ProtocolTemplate.Id AS ProtocolId, CertificateTemplate.Id AS CertificateId, 
                         ProtocolTemplate.FileName AS ProtocolFileName, CertificateTemplate.FileName AS CertificateFileName
FROM            dbo.Template AS ProtocolTemplate RIGHT OUTER JOIN
                         dbo.Training ON ProtocolTemplate.Id = dbo.Training.ProtocolTemplateId LEFT OUTER JOIN
                         dbo.TrainingCategory ON dbo.Training.TrainingCategoryId = dbo.TrainingCategory.Id LEFT OUTER JOIN
                         dbo.Template AS CertificateTemplate ON dbo.Training.CertificateTemplateId = CertificateTemplate.Id
pl/dydaktyka/ztb/2010/projekty/menadzer_szkolen/start.1276193772.txt.gz · ostatnio zmienione: 2019/06/27 15:56 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0