总裁审批,退回逻辑优化
This commit is contained in:
parent
4f70b4fee6
commit
3a6c807bae
@ -443,55 +443,8 @@ public class TaskListener extends ProcessPubicListener {
|
||||
BO bo_act_coe_publish1 = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH").detailByBindId(processId);
|
||||
BO bo=SDK.getBOAPI().query("BO_ACT_DATA_MONITORING").detailByBindId(processId);
|
||||
if(bo_act_coe_publish1!=null){
|
||||
//这里不在处理数据监控为空,单据为Y的场景,只处理数据监控为N的单据为Y的场景
|
||||
if(bo==null){
|
||||
String approve1=bo_act_coe_publish1.getString("CEO_APPROVE");
|
||||
if(approve1.equals("Y")){
|
||||
ProcessInstance processInst_1 = SDK.getProcessAPI().createProcessInstance("obj_d57df7db3e6845b3b30e7ff3cdd591c9","10036614","流程标题名称为"+pec.getProcessInstance().getTitle()+"总裁数据代办异常");
|
||||
BO bo_faid = new BO();
|
||||
bo_faid.set("TASKID",taskId);
|
||||
bo_faid.set("APPLYUSER",bo_act_coe_publish1.getCreateUser());
|
||||
bo_faid.set("PROCESS_TITLE",pec.getProcessInstance().getTitle());
|
||||
bo_faid.set("PROCESSID",bo_act_coe_publish1.getBindId());
|
||||
SDK.getBOAPI().create("BO_ACT_DATA_CEO_MIGRATION",bo_faid,processInst_1.getId(),"admin");
|
||||
|
||||
ProcessInstance processInst_2 = SDK.getProcessAPI().createProcessInstance("obj_d57df7db3e6845b3b30e7ff3cdd591c9","00116580","流程标题名称为"+pec.getProcessInstance().getTitle()+"总裁数据代办异常");
|
||||
|
||||
|
||||
BO bo_faid1 = new BO();
|
||||
bo_faid1.set("TASKID",taskId);
|
||||
bo_faid1.set("APPLYUSER",bo_act_coe_publish1.getCreateUser());
|
||||
bo_faid1.set("PROCESS_TITLE",pec.getProcessInstance().getTitle());
|
||||
bo_faid1.set("PROCESSID",bo_act_coe_publish1.getBindId());
|
||||
SDK.getBOAPI().create("BO_ACT_DATA_CEO_MIGRATION",bo_faid1,processInst_2.getId(),"admin");
|
||||
|
||||
ProcessInstance processInst_3 = SDK.getProcessAPI().createProcessInstance("obj_d57df7db3e6845b3b30e7ff3cdd591c9","admin","流程标题名称为"+pec.getProcessInstance().getTitle()+"总裁数据代办异常");
|
||||
|
||||
BO bo_faid2 = new BO();
|
||||
bo_faid2.set("TASKID",taskId);
|
||||
bo_faid2.set("APPLYUSER",bo_act_coe_publish1.getCreateUser());
|
||||
bo_faid2.set("PROCESS_TITLE",pec.getProcessInstance().getTitle());
|
||||
bo_faid2.set("PROCESSID",bo_act_coe_publish1.getBindId());
|
||||
SDK.getBOAPI().create("BO_ACT_DATA_CEO_MIGRATION",bo_faid2,processInst_3.getId(),"admin");
|
||||
|
||||
|
||||
|
||||
SDK.getProcessAPI().start(processInst_1);
|
||||
SDK.getProcessAPI().start(processInst_2);
|
||||
SDK.getProcessAPI().start(processInst_3);
|
||||
|
||||
|
||||
//发送OA待办
|
||||
TaskInstance taskInstance1= SDK.getTaskAPI().getInstanceById(processInst_1.getStartTaskInstId());
|
||||
TaskInstance taskInstance2= SDK.getTaskAPI().getInstanceById(processInst_2.getStartTaskInstId());
|
||||
|
||||
|
||||
sendOaDataPending(taskInstance1,processInst_1,"10036614");
|
||||
sendOaDataPending(taskInstance2,processInst_2,"00116580");
|
||||
|
||||
|
||||
//挂起流程
|
||||
SDK.getProcessAPI().suspend(pec.getProcessInstance());
|
||||
}
|
||||
BO bo1=new BO();
|
||||
bo1.set("PROCESSID",processId);
|
||||
bo1.set("TASKID",taskId);
|
||||
@ -532,19 +485,35 @@ public class TaskListener extends ProcessPubicListener {
|
||||
SDK.getProcessAPI().start(processInst_2);
|
||||
SDK.getProcessAPI().start(processInst_3);
|
||||
|
||||
|
||||
//发送OA待办
|
||||
TaskInstance taskInstance1= SDK.getTaskAPI().getInstanceById(processInst_1.getStartTaskInstId());
|
||||
TaskInstance taskInstance2= SDK.getTaskAPI().getInstanceById(processInst_2.getStartTaskInstId());
|
||||
|
||||
//这里还需要增加流程所在的环节
|
||||
TaskInstance taskInstance = SDK.getTaskAPI().getTaskInstance(taskId);
|
||||
String activityDefId = taskInstance.getActivityDefId();//任务节点ID
|
||||
// 判断activityDefId不是发起人,流程校对人,流程经理,集团流程经理审批
|
||||
// 定义需要排除的审批节点ID集合
|
||||
Set<String> excludedActivityDefIds = new HashSet<>(Arrays.asList(
|
||||
"obj_c9e5a2e257f00001e2a375d01f601518", // 发起人
|
||||
"obj_c9e93c345010000148211f97f9c07f00", // 流程校对人
|
||||
"obj_c9e5a2e6a2c00001891c127ce9309250", // 流程经理
|
||||
"obj_cb4eae5c0d9000015a3019b015cdac30" // 集团流程经理
|
||||
));
|
||||
if (!excludedActivityDefIds.contains(activityDefId)) {
|
||||
//挂起流程
|
||||
SDK.getProcessAPI().suspend(pec.getProcessInstance());
|
||||
}else{
|
||||
System.out.println(">>>>>我是特殊节点,无需挂起流程 = " + activityDefId);
|
||||
}
|
||||
//仿真环境OA接口不同,加个异常处理,防止程序中断
|
||||
try {
|
||||
sendOaDataPending(taskInstance1,processInst_1,"10036614");
|
||||
sendOaDataPending(taskInstance2,processInst_2,"00116580");
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
sendOaDataPending(taskInstance1,processInst_1,"10036614");
|
||||
sendOaDataPending(taskInstance2,processInst_2,"00116580");
|
||||
|
||||
|
||||
|
||||
//挂起流程
|
||||
SDK.getProcessAPI().suspend(pec.getProcessInstance());
|
||||
}
|
||||
bo.set("CEO_APPROVE",approve1);
|
||||
SDK.getBOAPI().update("BO_ACT_DATA_MONITORING",bo);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user