起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 222|回复: 11

人员调岗后Messenger的任务和平台的任务取的不一致

[复制链接]
发表于 2007-7-5 12:07:19 | 显示全部楼层 |阅读模式
Messenger的取法:
select FSTATE, FGUID, FPRIORITY, FSPERSONNAME, FSUBJECT, FCREATETIME, FLASTCHANGETIME, FLIMITTIME, FTYPENAME
from TTASK where TTASK.FCLIENTACCOUNT = 'KYERP'
and  TTASK.FGUID in
(select TTASKMESSAGE.FTASKGUID  from TTASKMESSAGE
where TTASKMESSAGE.FCLIENTACCOUNT = 'KYERP'
and  TTASKMESSAGE.FSTATE in ('tmsSend', 'tmsReceived', 'tmsProcessing')
and ( [B]TTASKMESSAGE.FRPERSON = '0201' [/B]  
or  TTASKMESSAGE.FRORGURL in ('\ROOT\NJKY.OGN',
'\ROOT\NJKY.OGN\GSLD.DPT',
'\ROOT\NJKY.OGN\GSLD.DPT\XSZJ.PTM',
'\ROOT\NJKY.OGN\GSLD.DPT\XSZJ.PTM\0201.psm') )   )
order by FCREATETIME desc

平台的取法:
SELECT TASK.* FROM TTASK TASK  
WHERE (TASK.FCLIENTACCOUNT = 'KYERP')
AND (TASK.FGROUPGUID IN('-1'))
AND (TASK.FSTARTTIME >= '1899-12-31 00:00:00'
AND TASK.FSTARTTIME <= '3001-01-01 00:00:00')
AND TASK.FGUID IN
(SELECT DISTINCT(TMS.FTASKGUID) FROM TTASKMESSAGE TMS
WHERE (TMS.FSTATE IN ('tmsSend','tmsReceived','tmsProcessing'))
AND ((TMS.FRORGURL) IN ('\ROOT\NJKY.OGN\GSLD.DPT\XSZJ.PTM\0201.PSM' ,
'\ROOT\NJKY.OGN\GSLD.DPT\XSZJ.PTM' , '\POSITION\XSZJ.PTN' , '\ROOT\NJKY.OGN\GSLD.DPT' , '\ROOT\NJKY.OGN'))
AND (TMS.FCLIENTACCOUNT = 'KYERP') )

主要区别在于Messenger 多了句 TTASKMESSAGE.FRPERSON = '0201'
当人员调岗后,Messenger会把以把调岗前的任务也取过来(应该这样的),但平台却没有取,感觉平台的取应该把TTASKMESSAGE.FRPERSON = '0201' 这句加上。
回复

使用道具 举报

发表于 2007-7-5 15:49:22 | 显示全部楼层
楼主,是2800吗?
如果是,请以人员登录系统(在选择岗位时选择“自动”)。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-5 16:07:05 | 显示全部楼层
是的,但发送的SQL还是上面的,我们用的是老的功能“工作任务”。
procedure TMainForm.GetActiveTasks(ATasks: TTasks);
var
  lLoadTaskParam: TLoadTaskParam;
begin
  lLoadTaskParam := CreateLoadTaskParam;
  try
    lLoadTaskParam.GroupGUIDs.Add(JSConst.cRootID);
    [B]lLoadTaskParam.Receivers.Assign(TaskReceivers);[/B]     
    lLoadTaskParam.IncludeTaskMessage := True;
    lLoadTaskParam.IncludeSenderDisplayName := True;
    lLoadTaskParam.TaskMessageStates := Task.SActiveTaskMessageStates;
    lLoadTaskParam.StartDateTimeRange.FromDateTime := FCurparams.DateRange.BeginDate;
    lLoadTaskParam.StartDateTimeRange.ToDateTime := FCurparams.DateRange.EndDate;
    Flow.FlowEngine.GetTasks(lLoadTaskParam, ATasks);
  finally
    lLoadTaskParam.Free;
  end;
end;

TLoadTaskParam这个被你们封装了,我改不了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-6 10:23:11 | 显示全部楼层
?
回复 支持 反对

使用道具 举报

发表于 2007-7-6 11:29:40 | 显示全部楼层
楼主,“工作任务”是一个比较旧的功能,对很多新的特性都不支持。现在推荐客户使用任务中心来替代。

对“工作任务”中的一些不足,现在已经不再做改进了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-6 11:34:59 | 显示全部楼层
千万不要这样呀,几家客户在用,都习惯了,我们不能换呀。
TLoadTaskParam,能把这个定义的源码发给我们吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-6 11:37:35 | 显示全部楼层
好像也不是TLoadTaskParam的问题,
应该在这里
Flow.FlowEngine.GetTasks(lLoadTaskParam, ATasks);
回复 支持 反对

使用道具 举报

发表于 2007-7-6 13:18:21 | 显示全部楼层
lLoadTaskParam.Receivers.Assign(TaskReceivers);   

这里传入的TaskReceivers值是什么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-6 14:01:39 | 显示全部楼层
TaskReceivers为TOrgURLs,里面添加了当前人员成员、岗位成员、部门、机构的URL。
回复 支持 反对

使用道具 举报

发表于 2007-7-6 18:23:41 | 显示全部楼层
楼主,现在没有其他办法了,只能用任务中心去查看已经删除人员成员的任务。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-12 15:55 , Processed in 0.040294 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表