工作流任务的超时计算

来源:互联网 发布:交大医学院网络英语 编辑:程序博客网 时间:2024/06/10 04:19

一、

计算工作流任务的超时时间,即,当任务已分派后,最迟要在某个时间之前处理完,这个最迟时间为超时时间,或称为有效时间。

在计算超时时间时,节假日或非工作时间,如上班前、下班后,都不能计算在内。

二、

startTime:任务的分派时间,即任务的生成时间;

finishTime:任务的超时时间;

duration:超时时长,如8 hour;

onWorkTime:上班时间,如09:00:00;

offWorkTime:下班时间,如17:00:00;

workDure:工作时长,即从上班到下班期间;

leftDure:当天可用的时长;


三、


if  startTime >= 下班时间  then {    finishTime = 第二天的上班时间;}else if startTime < 上班时间 then {   finishTime = 当天的上班时间;}else  {  finishTime = startTime;}while duration > 0 then {         if  finish  is 节假日  then{             finish = 第二天的上班时间;             continue;       }else{               leftDure  = 下班时间 - finishTime;               if  leftDure >= duration then{                      finishTime =  finishTime + duration;                      duration  =  duration - leftDure;               }else{                       finishTime = 第二天的上班时间;                       duration  =  duration - leftDure;               }          }}


....


0 0
原创粉丝点击