Project

General

Profile

Požadavek #1142

Tiketovací systém

Added by Jakub Juračka 7 months ago. Updated 6 months ago.

Status:
Odeslaný
Priority:
Normální
Category:
-
Target version:
Start date:
01/07/2020
Due date:
% Done:

100%

Estimated time:

Description

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

#1

Updated by Ondřej Fibich 7 months ago

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

#2

Updated by Jakub Juračka 7 months ago

  • % Done changed from 0 to 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.

#3

Updated by Jakub Juračka 6 months ago

  • % Done changed from 30 to 90
#4

Updated by Jakub Juračka 6 months ago

  • Status changed from Nový to Odeslaný
  • % Done changed from 90 to 100
#5

Updated by Jakub Juračka 6 months ago

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

Also available in: Atom PDF