Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A azeero.group
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 40
    • Issues 40
    • List
    • Boards
    • Service Desk
    • Milestones
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Infrastructure Registry
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Oliver
  • azeero.group
  • Issues
  • #37

Closed
Open
Created Oct 18, 2018 by Oliver@ohonigMaintainer

Aktionskalender

Doku: https://source.azeero.at/Joniras/azeero.group/wikis/n-m-verteilpunkt

  • Es soll einen Aktionskalender geben, bitte dazu eine Oberfläche (bzw. gibts sowas in angular vlt. schon??)
CREATE TABLE action_calender (
  seq_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  fperson_contact_seq_id INT(11) NOT NULL,
  actiontype VARCHAR(100) NOT NULL, -- 'CollectiveOrderMail'
  actionparams VARCHAR(2000), -- 'CollectiveOrderMail:{'key':collective_distribution.seq_id}'
  last_actioninfo VARCHAR(2000),
  last_actiontime TIMESTAMP,
  FOREIGN KEY (fperson_contact_seq_id) REFERENCES person(seq_id)
);  
/* action_type z.B.
 https://source.azeero.at/Joniras/azeero.group/wikis/n-m-verteilpunkt "Bestellschluss am 17.10"
 'CollectiveOrderMail'  wichtig: Verteilpunkt angeben {'key':collective_distribution.seq_id}
 'CollectiveDeliveryMail' wichtig: Verteilpunkt angeben {'key':collective_distribution.seq_id} und Abholinfo z.B. Tag darauf am Hauptverteilpunkt
 weitere folgen wie:
 'DistributionFee' Monatliche Einbuchung der Kosten beim Subverteilpunktbetreiber https://source.azeero.at/Joniras/azeero.group/issues/40/
 regelmäßige Infos über Neuigkeiten, etc.
 Subfunktionen in https://source.azeero.at/Joniras/azeero.communication/blob/master/mail_senderV1.0/spooler.js
 schedule.scheduleJob -> wie sendAllMails() -> searchActionType()
*/

-- einmalige Zeiten
CREATE TABLE action_calender_times (
  seq_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  fperson_contact_seq_id INT(11) NOT NULL,
  faction_calender_seq_id INT(11) NOT NULL,
  actiontime TIMESTAMP,
  FOREIGN KEY (fperson_contact_seq_id) REFERENCES person(seq_id),
  FOREIGN KEY (faction_calender_seq_id) REFERENCES action_calender(seq_id)
);
-- action_calender_times, können beliebig viele sein!
  
// wiederholte Zeiten
CREATE TABLE action_calender_days (
  seq_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  fperson_contact_seq_id INT(11) NOT NULL,
  faction_calender_seq_id INT(11) NOT NULL,
  calendertype VARCHAR(10),
  calendervalue1 INT(11),
  calendervalue2 INT(11),
  FOREIGN KEY (fperson_contact_seq_id) REFERENCES person(seq_id),
  FOREIGN KEY (faction_calender_seq_id) REFERENCES action_calender(seq_id)
);
// action_calender_days, können beliebig viele sein!
// calendertype
//AD..calendervalue1 Tage nach letztem Aufruf
//MD..jedes Monat am calendervalue1 ten Tag (1..31) - wird implementiert
//WD..jede Woche am calendervalue1 ten Tag (1 Montag.. 7 Sonntag)
//MWD..jedes Monat in der calendervalue1 ten Woche (1..5) am calendervalue2 ten Tag 
	
// ausfalls und ersatz tage - feiertage
CREATE TABLE action_calender_days_excpetion (
  seq_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  fperson_contact_seq_id INT(11) NOT NULL,
  faction_calender_seq_id INT(11) NOT NULL,
  actiontime_exception DATE,
  actiontime_replacement DATE,
  FOREIGN KEY (fperson_contact_seq_id) REFERENCES person(seq_id),
  FOREIGN KEY (faction_calender_seq_id) REFERENCES action_calender(seq_id)
);
// actiontime_replacement optional, sonst fällt der Tag aus
  • Wie beim Mailing gibt es einen Hintergrundtask (ich werde den Mailtask dazu adaptieren) der periodisch diese Tabellen durchgeht und entsprechende Aktionen auslöst - eben auch die Mails ..)
Assignee
Assign to
Time tracking