[其他] 工作流问题

148
1

5720 数据小白Lv1

发表于2025-12-10 14:58

悬赏30

未解决

楼主
本帖最后由 5720 于 2025-12-10 14:58 编辑

审批工作流配置问题
客户需求:当有人申请数据资产时——>审批人判断资产是否有密级(如果有无密级的资产点击通过,用户可以直接拥有权限;如果有密级点击一个选项或者点击通过后流程会转到领导------>领导审批--->保密部门审批———>通过)

测试遇到问题:
工作流审批活动节点有5个操作类型(转办,审批通过,退回重审,数据退回,层层退回),当资产申请到达该节点后判断该资产是否是有密级没有密级可以直接通过,如果有密级会通过到下一个级别的领导。这块感觉需要加字段去判断这个问题。目前我想的办法有2个1.比如在单一网关条件那边写2个条件(i_flowto=1 and 字段=“密级” ,i_flowto=1 and 字段=“无密级”  )的判断通过密级有不同的路线,但是这个字段需要在资产上面的属性上面加字段在工作流引用这个字段,添加不上。
2.就是增加一个操作类型,审批的时候让他必须填写办理说明填写密级,密级的直接点击另一个操作类型转给领导直接走到下一级,(目前的转办功能测试只是始终在当时一直循环不是走到下一阶段不符合)


最近看过此主题的会员

huxiaojie

esen_5RU24VTBAH

esen_4XL2IVJCG8

esen_5R9CAELBNO

admin

fanting719

1个回答

只看楼主

huxiaojie 初学数据Lv2

发表于2026-1-26 11:58

只看该作者

取消 关注该作者的回复

沙发

方案1:该方案可行,但需要定制化处理,建立联系项目售后团队

方案2:检查一下后置脚本是否配正确,中间审批节点和末端审批节点的后置脚本不是一致的。

中间节点审批:
import com.esen.edataasset.api.service.assetservice.ServiceApplyApiService;
import com.esen.eworkflow.api.service.EWorkFlowApiService;
import com.esen.eutil.spring.SpringContextHolder;
ServiceApplyApiService service = SpringContextHolder.getBean(ServiceApplyApiService.class);
EWorkFlowApiService apiService = SpringContextHolder.getBean(EWorkFlowApiService.class);
int count = apiService.getTaskCountByInsIdAndTaskDefId(_INSTANCE_ID, _TID);
if ("2".equals(I_FLOWTO)){
  service.doResetApply(CATALOGID, APPID, delegateTask.getAssignee(), delegateTask.getId(), delegateTask.getProcessInstanceId());
}

末端审批节点:
import com.esen.edataasset.api.service.assetservice.ServiceApplyApiService;
import com.esen.eworkflow.api.service.EWorkFlowApiService;
import com.esen.eutil.spring.SpringContextHolder;
ServiceApplyApiService service = SpringContextHolder.getBean(ServiceApplyApiService.class);
EWorkFlowApiService apiService = SpringContextHolder.getBean(EWorkFlowApiService.class);
int count = apiService.getTaskCountByInsIdAndTaskDefId(_INSTANCE_ID, _TID);
if ("1".equals(I_FLOWTO) && count == 1) {
  service.doPassApply(CATALOGID, APPID, delegateTask.getAssignee(), delegateTask.getId(), delegateTask.getProcessInstanceId());
} else if ("2".equals(I_FLOWTO)){
  service.doResetApply(CATALOGID, APPID, delegateTask.getAssignee(), delegateTask.getId(), delegateTask.getProcessInstanceId());
}

登录后可回答问题,请登录注册

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号