Mysql,根据优先级和每天工作时间组织任务的日期

时间:2018-01-29 00:48:22

标签: mysql datetime triggers task-management

我想为自己构建一个小应用程序来组织我的任务。

我创建了一个任务表,如下所示:

CREATE TABLE 
TASK(
TASK_ID INT NOT NULL AUTO_INCREMENT,
TASK_NAME VARCHAR(100),
TASK_DESCRIPTION VARCHAR(300),
TASK_ASSIGNEE_ID_PRIMARY VARCHAR(32),
PERCENTAGE_COMPLETED INT3,
PLANNED_DATE_START DATE,
PLANNED_START_TIME TIME,
PLANNED_DATE_END DATE,
PLANNED_END_TIME TIME,
ESTIMATED_DURATION INT,
PRIORITY INT,
DIFFICULTY INT,
TASK_STATUS_ID INT,
USER_ID_CREATED VARCHAR(32),
DATETIME_CREATED DATETIME,
USER_ID_UPDATED VARCHAR(32),
DATETIME_UPDATED DATETIME,
PRIMARY KEY (TASK_ID));

我想创建一个触发器或更新查询(从Python的Flask运行),根据优先级更新日期(PLANNED_DATE_START,PLANNED_START_TIME,PLANNED_DATE_END,PLANNED_END_TIME)。

以下是一个例子:

1)我有以下任务:'学习MySQL(持续时间13h,优先级= 1,最高),'学习网站开发'(持续时间6h,优先级= 2,第二高),'清理我的房间'(持续时间6h) ,priority = 3,最低)。

2)我运行更新或触发触发器,并根据具有最高优先级的当前日期和时间任务获得分配时间,并假设我每天工作8小时。

3)假设今天是2018-01-29 9:00,还有8个小时的工作:

  • '学习MySQl会得到PLANNED_DATE_START ='2018-01-29',PLANNED_START_TIME = '09:00',PLANNED_DATE_END ='2018-01-30',PLANNED_END_TIME = '14:00'因为我平时开始在9岁工作。

  • '学习网络开发'将获得PLANNED_DATE_START ='2018-01-30',PLANNED_START_TIME = '14:00',PLANNED_DATE_END ='2018-01-31',PLANNED_END_TIME = '12:00'

  • '清理我的房间'将获得PLANNED_DATE_START ='2018-01-31',PLANNED_START_TIME = '12:00',PLANNED_DATE_END ='2018-02-01',PLANNED_END_TIME = '10:00'

我真的很感激任何建议。 最好的祝福, Wojciech

0 个答案:

没有答案