判断任务过期时间
create or replace function GetUrgentState(m_TaskID varchar
m_SendTime date
m_flag varchar)
return varchar IS
myDate date;
ExpireTime date;
strsql varchar();
begin
myDate := m_SendTime;
strsql := select max(EXPIRETIME) from t_wf_supervise where TASKID = ||
m_TaskID || ;
execute immediate strsql
into ExpireTime;
没有到期时间 就是正常状态
if ExpireTime is null then
if m_flag = String then
return 正常;
end if;
if m_flag = Img then
return cb_executegif;
end if;
end if;
未发送任务就是判断当前时间
if m_SendTime is null then
myDate := sysdate;
end if;
if ExpireTime < myDate then
if m_flag = String then
return 超期;
end if;
if m_flag = Img then
return cb_limitgif;
end if;
end if;
小于天的任务预警
if ExpireTime myDate < then
if m_flag = String then
return 预警;
end if;
if m_flag = Img then
return cb_warninggif;
end if;
else
if m_flag = String then
return 正常;
end if;
if m_flag = Img then
return cb_executegif;
end if;
end if;
end;
查询其它表数据
create or replace function GetPreNode(m_PreTaskID varchar) return varchar IS
nodename varchar();
strsql varchar();
begin
if m_PreTaskID is null then
return ;
end if;
strsql := select max(nodename) from t_Wf_Tasklist where TaskID = ||
m_PreTaskID|| ;
execute immediate strsql
into nodename;
return nodename;
end;
格式化标题输出
create or replace function FormatTitle(m_title varchar
m_length number
m_FillChar varchar) return varchar IS
begin
if lengthb(m_title) > m_length* then
return substr(m_title m_length) || m_FillChar;
else
return m_title;
end if;
end;