-
-
5720 数据小白Lv1
发表于2025-12-10 14:58
悬赏30
未解决
审批工作流配置问题
客户需求:当有人申请数据资产时——>审批人判断资产是否有密级(如果有无密级的资产点击通过,用户可以直接拥有权限;如果有密级点击一个选项或者点击通过后流程会转到领导------>领导审批--->保密部门审批———>通过)
测试遇到问题:
工作流审批活动节点有5个操作类型(转办,审批通过,退回重审,数据退回,层层退回),当资产申请到达该节点后判断该资产是否是有密级没有密级可以直接通过,如果有密级会通过到下一个级别的领导。这块感觉需要加字段去判断这个问题。目前我想的办法有2个1.比如在单一网关条件那边写2个条件(i_flowto=1 and 字段=“密级” ,i_flowto=1 and 字段=“无密级” )的判断通过密级有不同的路线,但是这个字段需要在资产上面的属性上面加字段在工作流引用这个字段,添加不上。
2.就是增加一个操作类型,审批的时候让他必须填写办理说明填写密级,密级的直接点击另一个操作类型转给领导直接走到下一级,(目前的转办功能测试只是始终在当时一直循环不是走到下一阶段不符合)
1个回答
方案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());
}


