调整总裁流程白名单问题
This commit is contained in:
parent
a488bb9bfe
commit
34259470f1
@ -18,6 +18,7 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.awspaas.user.apps.integration.XmlDatasUtil;
|
||||
import com.awspaas.user.apps.integration.util.HttpClientUtils;
|
||||
import jodd.util.StringUtil;
|
||||
import org.dom4j.Document;
|
||||
import org.dom4j.DocumentException;
|
||||
import org.dom4j.DocumentHelper;
|
||||
@ -443,8 +444,72 @@ 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");
|
||||
|
||||
try{
|
||||
boolean hasProperty = SDK.getAppAPI().hasProperty("com.awspaas.user.apps.yili.integration", "CEO_approval_whitelist");
|
||||
String property = "";
|
||||
if (hasProperty) {
|
||||
property = SDK.getAppAPI().getProperty("com.awspaas.user.apps.yili.integration", "CEO_approval_whitelist");
|
||||
}
|
||||
if (StringUtil.isBlank(property) || !property.contains(pec.getProcessInstance().getId())) {
|
||||
//挂起流程
|
||||
SDK.getProcessAPI().suspend(pec.getProcessInstance());
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
logger.info("取消挂起总裁审批流程失败,失败原因:"+e.getMessage());
|
||||
try {
|
||||
SDK.getProcessAPI().suspend(pec.getProcessInstance());
|
||||
}catch (Exception e1){
|
||||
e1.printStackTrace();
|
||||
logger.info("挂起总裁流程失败,失败原因:"+e1.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
BO bo1=new BO();
|
||||
bo1.set("PROCESSID",processId);
|
||||
bo1.set("TASKID",taskId);
|
||||
@ -485,35 +550,36 @@ 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");
|
||||
|
||||
sendOaDataPending(taskInstance1,processInst_1,"10036614");
|
||||
sendOaDataPending(taskInstance2,processInst_2,"00116580");
|
||||
|
||||
|
||||
try{
|
||||
boolean hasProperty = SDK.getAppAPI().hasProperty("com.awspaas.user.apps.yili.integration", "CEO_approval_whitelist");
|
||||
String property = "";
|
||||
if (hasProperty) {
|
||||
property = SDK.getAppAPI().getProperty("com.awspaas.user.apps.yili.integration", "CEO_approval_whitelist");
|
||||
}
|
||||
if (StringUtil.isBlank(property) || !property.contains(pec.getProcessInstance().getId())) {
|
||||
//挂起流程
|
||||
SDK.getProcessAPI().suspend(pec.getProcessInstance());
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
logger.info("取消挂起总裁审批流程失败,失败原因:"+e.getMessage());
|
||||
try {
|
||||
SDK.getProcessAPI().suspend(pec.getProcessInstance());
|
||||
}catch (Exception e1){
|
||||
e1.printStackTrace();
|
||||
logger.info("挂起总裁流程失败,失败原因:"+e1.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
bo.set("CEO_APPROVE",approve1);
|
||||
SDK.getBOAPI().update("BO_ACT_DATA_MONITORING",bo);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user