Projekt

Obecné

Profil

Požadavek #1142

otevřený

Tiketovací systém

Přidáno uživatelem Jakub Juračka před více než 4 roky(ů). Aktualizováno před asi 4 roky(ů).

Stav:
Odeslaný
Priorita:
Normální
Přiřazeno:
Kategorie:
-
Cílová verze:
Začátek:
2020-01-07
Uzavřít do:
% Hotovo:

100%

Odhadovaná doba:

Popis

Systém pro evidenci stavu a plánování oprav, přípojek a poruch.

Aktualizováno uživatelem Ondřej Fibich před více než 4 roky(ů)

Před implementací prosím provést podrobnou analýzu a přiložit hrubý návrh řešení.

Aktualizováno uživatelem Jakub Juračka před více než 4 roky(ů)

  • % Hotovo změněn z 0 na 30

Má se jednat o systém pro správu různých interakcí s členy - práce techniků, logovat pokud člověk volal/osobně se stavil a něco se s ním řešilo apod.

Co jsme se bavili tak tikety by měli mít asi následující formu:
  • Typ tiketu - předdefinované obecné typy, které urychlí přidávání tiketu a umožní lepší třídění. př: Montáž nového zařízení/*Problém s fakturací*/...
  • Komentář - Pro podrobnější doplnění popisu tiketu
  • Kontaktní informace - možnost přímo zvolit člena a tím kontakt načíst (možnost dále editovat), případně vypsat vlastní kontaktní informace k tiketu (jméno, adresa, telefon, email)
  • Stav tiketu - Nový/Plánovaný/Vyřízený. U nového tiketu se bude vyplňovat Odhadovaná doba trvání práce, Do kdy by se měla práce dokončit a Priorita. U Plánovaného bude navíc ještě Plánovaný čas. U vyřízeného se doplní datum a čas dokončení (defaultně předvyplněný aktuální date()) a doba trvání práce.
  • V posledním kroku se budou přiřazovat "technici" k danému Tiketu - Přidá se defaultně záznam do AXO tabulky s přístupem k novému ticket_system controlleru a k němu se vytvoří nové přístupové pravidlo - tím by se vyselektovali skupiny uživatel s přístupem k tiketům a ti co do těchto skupin patří, tak se v seznamu zobrazí. (snad to je trochu pochopitelné :))

Co se týče implementace tak zatím je to asi v takové fázi:

---DB----
tabulka tickets, která bude obsahovat sloupce:
  • id
  • user_id (kdo tiket přidal)
  • member_id (přiřazený člen)
  • address_point_id
  • type_id (předdefinované typy v tabulce enum_types s novým typem "ticket types")
  • name
  • phone
  • email
  • comment
  • priority (3 typy v modelu - Low, medium, high)
  • duration
  • create_date (kdy byl záznam vytvořen)
  • upper_limit_date (do kdy dodělat)
  • planned_date (na kdy plánováno)
  • done_date (kdy dokončeno)

- druhá tabulka tickets_users pro přiřazení "techniků" k práci

Pak už jen standardně vytvořený controller ticket_system, který bude obstarávat jednotlivé funkce.

V druhé fázi by se měly dát jednoduše tikety přidávat ze stránky detailu člena (pokud například zrovna volá) - to by obstarávala stejná funkce ticket_system/add pouze s parametrem member_id, který by zajistil doplnění informací. + samozřejmě v detailu mít možnost si zobrazit jednotlivé tikety přiřazené k danému členovi.

Třetí fáze je v plánu vymyslet kalendář, kde by se jednoduše a přehledně zobrazovali tikety, které jsou už nějak naplánované apod. Zatím se nejreálněji jeví řešení, že využijeme google kalendář. Ze začátku bych využil jejich možnosti vložit na web <iframe>, který dokáže vizuální stránku vyřešit za nás. Tím pádem bychom museli už vyřešit jen synchronizaci freenetisu s google kalendářem a to díky jejich REST API není velký problém. Výhoda bude, že jak jsou všichni zvyklí mít v telefonu aktuální kalendář, tak by byl zároveň synchronizovaný s Freenetisem.

Tolik k tomu, co zatím máme. Připomínky a návrhy jsou vítány.

Aktualizováno uživatelem Jakub Juračka před asi 4 roky(ů)

  • % Hotovo změněn z 30 na 90

Aktualizováno uživatelem Jakub Juračka před asi 4 roky(ů)

  • Stav změněn z Nový na Odeslaný
  • % Hotovo změněn z 90 na 100

Aktualizováno uživatelem Jakub Juračka před asi 4 roky(ů)

Pozn.
Jsou hotovy 2 fáze.
Třetí fázi bude uvedena jako nová issue.

Také k dispozici: Atom PDF