天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 3685|回复: 15

怎么样在流程历史中区分哪些是回退回退记录【feature #8685】

[复制链接]
广州市交委 发表于 2013-8-30 10:22:43 | 显示全部楼层 |阅读模式
本帖最后由 sophie 于 2013-9-4 12:26 编辑

1,怎么样在流程历史中区分哪些是回退记录?
2.在当前处理中如何区别不同的节点处理人?如下图:

这里如何知道三个人中哪个是主办哪个是协办

这里如何知道三个人中哪个是主办哪个是协办
这里列出了全部的可处理人,可是怎么样知道哪些是主办人员哪些是协办人员
kimi 发表于 2013-8-30 10:47:48 | 显示全部楼层
您好:关于您的第一点需求:怎么样在流程历史中区分哪些是回退记录?
您实际的需求是想着流程历史中查看当前记录哪个节点进行回退过么?如果是目前只能通过审批人+流程状态的标记去查看

您的第二点不是太明白,在当前处理中如何区别不同的节点处理人。
我们这里当前处理人罗列出来的就是当前节点的处理人,并不是不同节点的处理人。
 楼主| 广州市交委 发表于 2013-8-30 11:48:35 | 显示全部楼层
第一个问题如下图
QQ图片20130830114644.jpg
在流程历史中,如果是回退操作没有明确的提醒,这里需要怎么区分的?
kimi 发表于 2013-8-30 13:13:09 | 显示全部楼层
您好:加上您当前表单对应的流程图为A-B-C上个节点,三个节点对应的审批人为test1,test2,test3,那您查看流程记录时,
1、如果审批人为test2,流程状态为从B-A,那就表示test2这个用户把流程进行了回退操作。
2、如果审批人为test1,流程状态为从B-A,那就表示test1用户把单据进行了回撤
3、如果审批人为test1,流程状态为从A-B,那就表示test1用户把单据正常提交到下一个节点
 楼主| 广州市交委 发表于 2013-9-2 15:04:17 | 显示全部楼层
您好:加上您当前表单对应的流程图为A-B-C上个节点,三个节点对应的审批人为test1,test2,test3,那您查看 ...
kimi 发表于 2013-8-30 13:13

你说我的有点晕,我是想知道有没的办法给予用户明确的标示,这个流程是回退的,不需要用户自己看逻辑自己去判断。目前我们系统在表格中自己写iscript实现了一个历史记录表。代码如下
  1. /**
  2. *审批记录表
  3. */
  4. function getFlowOperationMSG(doc){
  5.          var currDoc = doc || getCurrentDocument();
  6.          var message = "";
  7.          if(!"".equals(currDoc.getStateLabel()) && !"草稿".equals(currDoc.getStateLabel())){
  8.                    var domainid = getDomainid();
  9.                    var hisProcess = new Packages.cn.myapps.core.workflow.storage.runtime.ejb.RelationHISProcessBean(getApplication());
  10.                    var datas = hisProcess.doAllQueryByDocIdAndFlowStateId(currDoc.getId(), currDoc.getStateid());
  11.                    if(datas != null && datas.size() > 0){
  12.                             message = "<table cellSpacing='0' cellPadding='1' width='100%' align='center' style='border:solid #cccccc;border-width:2px 0px 0px 2px;'><tbody><tr style='line-height:22px;'><td width=25%'  style='font-size:larger;font-family: Arial;border:solid #cccccc;border-width:0px 2px 2px 0px;' bgcolor='#dddddd'>办理人[部门]</td><td width='40%' style='font-size:larger;font-family: Arial;border:solid #cccccc;border-width:0px 2px 2px 0px;' bgcolor='#dddddd'>办理意见</td><td width='15%' style='font-size:larger;font-family: Arial;border:solid #cccccc;border-width:0px 2px 2px 0px;' bgcolor='#dddddd'>办理时间</td><td width='25%' style='font-size:larger;font-family: Arial;border:solid #cccccc;border-width:0px 2px 2px 0px;' bgcolor='#dddddd'>办理状态</td></tr>";               
  13.                                      var process = createProcess("cn.myapps.core.department.ejb.DepartmentProcess");//部门业务处理类
  14.                                      for(var it = datas.iterator();it.hasNext();){
  15.                                      var relationhis = it.next();
  16.                                      if(relationhis.getActorhiss().size() > 0){
  17.                                                for(var actit = relationhis.getActorhiss().iterator();actit.hasNext();){
  18.                                                         var actorHis = actit.next();                                                      
  19.                                                         //var userid = relationhis.getItemValueAsString("auditor");
  20.                                                         var userid = actorHis.getActorid();
  21.                                                         var user =  getUserById(userid);
  22.                                                         var username = (actorHis.getAgentname()!=null && actorHis.getAgentname().trim().length()>0) ? (actorHis.getAgentname()+"("+actorHis.getName()+")") : actorHis.getName();
  23.                                                         //var dept=process.doView(user.getDefaultDepartment());//id为部门ID,获取部门对象
  24.                                                         var departmentName ="";

  25.                                                         if(user!= null ){
  26.                                                                  var depart = process.doView(user.defaultDepartment);
  27.                                                                  if(depart != null){
  28.                                                                            departmentName = depart.getName();
  29.                                                                  }
  30.                                                         }
  31.                                                         var attitude = (actorHis.getAttitude() != null && actorHis.getAttitude().length() > 0) ? actorHis.getAttitude() : "";
  32.                                                         var processtime = (actorHis.getProcesstime() != null) ? format(actorHis.getProcesstime(),"yyyy-MM-dd HH:mm:ss") : format(relationhis.getActiontime(),"yyyy-MM-dd HH:mm:ss");
  33.                                                          var state=relationhis.getStartnodename()+"<img src='/obpm/portal/share/icon/16x16_0060/arrow_right.png' />"+relationhis.getEndnodename();
  34.                                                         if(!isNotNull(attitude))
  35.                                                          attitude="&nbsp";
  36.                                                         message += "<tr style='line-height:22px;'><td style='font-size:larger;font-family: Arial;border:solid #cccccc;border-width:0px 2px 2px 0px;'>"+username+"["+departmentName+"]</td><td style='font-size:larger;font-family: Arial;border:solid #cccccc;border-width:0px 2px 2px 0px;'>"+attitude+"</td><td style='font-size:larger;font-family: Arial;border:solid #cccccc;border-width:0px 2px 2px 0px;'>"+processtime+"</td><td style='font-size:larger;font-family: Arial;border:solid #cccccc;border-width:0px 2px 2px 0px;'>"+state+"</td></tbody></tr>";
  37.                                                }
  38.                                      }
  39.                             }
  40.                             message += "</table><br/>";
  41.                    }
  42.          }
  43.          return message;
  44. }
复制代码
现在就是想再加一列标示历史记录是否回退
bobo 发表于 2013-9-2 15:15:53 | 显示全部楼层
回复 5# 广州市交委


    您好,你是不是想要如下图的这种效果?当流程从下一节点回退回来时,出现一个标志?如灯泡这样的标志?
2222.jpg
 楼主| 广州市交委 发表于 2013-9-2 15:25:31 | 显示全部楼层
恩。是的。这个需要怎么实现,数据库哪里有标示还是怎么样
bobo 发表于 2013-9-2 15:28:22 | 显示全部楼层
回复 7# 广州市交委


    您好,具体操作您可以按照下图来操作
1111.jpg
您先尝试,有问题我们再沟通!
 楼主| 广州市交委 发表于 2013-9-2 15:50:07 | 显示全部楼层
可是我现在是在表单里面展示不是视图里面
bobo 发表于 2013-9-2 15:52:40 | 显示全部楼层
回复 9# 广州市交委


    不好意思,目前平台表单内没有该功能,稍候会作为一个新功能提交给研发,给您带来不便,实在是很抱歉!

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-13 02:16

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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