起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 161|回复: 7

岗位功能代理出去后还可以操作,什么问题?**

[复制链接]
发表于 2009-7-10 10:47:29 | 显示全部楼层 |阅读模式
岗位代理出去后还可以操作,什么问题?
----------------------------------------------------------------------------------
张三 拥有 三个岗位A,B,C,其中C岗位登陆后 被代理给了李四

张三再次登陆时如果选择 岗位C ,系统显示被代理不可登录
但是采用自动登陆时 ,却仍然可以使用 C岗位的功能
-------------------------------------------------------------------------------------
请我这事怎么回事儿,急等
回复

使用道具 举报

发表于 2009-7-10 10:55:49 | 显示全部楼层
可能没有刷新服务端缓存,参考一下这个帖子中的代码:
http://bbs.justep.com/forum.php?mod=viewthread&tid=28473
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-10 10:58:28 | 显示全部楼层
已经是按照2楼的帖子修改过了,问题依旧,请测试一下
回复 支持 反对

使用道具 举报

发表于 2009-7-10 11:01:54 | 显示全部楼层
确认一下是不是缓存的问题:
你把服务端的缓存删除一下,然后重启一下tomcat重新生成一下,然后在打开客户端看看

上面的代码测试过没有问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-10 11:10:47 | 显示全部楼层
2楼的帖子和我提的问题不是一回事,我已经按照2楼的方法做过了,现在的问题是我的岗位代理给你后,我还能操作代理出去的那个岗位
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-10 11:13:39 | 显示全部楼层
我这里的版本是 3088
回复 支持 反对

使用道具 举报

发表于 2009-7-10 11:24:51 | 显示全部楼层
楼主,问题已经重现了,是个缺陷。正在处理,有结果马上反馈您。
回复 支持 反对

使用道具 举报

发表于 2009-7-10 13:38:24 | 显示全部楼层
楼主,应该是TOrgUtils.IsDeputized这个函数有问题了,没有正确判断岗位是否被代理。
你在“系统空间\系统运行库\系统函数库”里,将这个函数重新实现一下吧:
1、声明单元函数IsDeputized
function IsDeputized(APersonMember: TPersonMember): boolean;
var
  i: integer;
begin
  Result := false;
  for I := 0 to APersonMember.Module.Deputies.Count - 1 do
    if TOrgDeputyItem(APersonMember.Module.Deputies[I]).Enabled then
    begin
      result := true;
      break;
    end;
end;

2、修改TContextUtils.GetAllocatedFuncs
将 lPosDeputized[J] := TOrgUtils.IsDeputized(TOperatorPosition(lPositions[J]));
替换为: lPosDeputized[J] := IsDeputized(TOperatorPosition(lPositions[J]).PersonMember as TPersonMember);
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-19 05:22 , Processed in 0.039689 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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