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(ů).
100%
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
- 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(ů)
- 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.