发布按钮,废止按钮后端逻辑提交
This commit is contained in:
parent
740e8b2d9c
commit
a3c58db588
@ -4,6 +4,8 @@ import com.actionsoft.apps.AppsConst;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.PALRepositoryQueryAPIManager;
|
||||
import com.actionsoft.apps.coe.pal.publisher.client.web.ProcessPublishClientWeb;
|
||||
import com.actionsoft.apps.coe.pal.publisher.client.web.ProcessPublishWeb;
|
||||
import com.actionsoft.bpms.bpmn.engine.model.run.delegate.ProcessInstance;
|
||||
import com.actionsoft.bpms.bpmn.engine.model.run.delegate.TaskInstance;
|
||||
import com.actionsoft.bpms.commons.htmlframework.HtmlPageTemplate;
|
||||
import com.actionsoft.bpms.commons.login.constant.LoginConst;
|
||||
import com.actionsoft.bpms.commons.mvc.view.ResponseObject;
|
||||
@ -907,5 +909,26 @@ public class PublisherController {
|
||||
return web.changeHisToPublicAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建发布流程
|
||||
* @param processDefId
|
||||
* @return
|
||||
*/
|
||||
@Mapping("com.actionsoft.apps.coe.pal.publisher.createProcess")
|
||||
public String createProcess(UserContext me,String palUUID, String processDefId) {
|
||||
ProcessPublishWeb web = new ProcessPublishWeb(me);
|
||||
return web.createProcess(palUUID,processDefId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 创建发布流程(废止状态)
|
||||
* @param processDefId
|
||||
* @return
|
||||
*/
|
||||
@Mapping("com.actionsoft.apps.coe.pal.publisher.createProcess_processTermination")
|
||||
public String createProcessTermination(UserContext me,String palUUID, String processDefId) {
|
||||
ProcessPublishWeb web = new ProcessPublishWeb(me);
|
||||
return web.createProcessTermination(palUUID,processDefId);
|
||||
}
|
||||
}
|
||||
@ -4,15 +4,7 @@ import java.io.File;
|
||||
import java.sql.Timestamp;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.LinkedBlockingDeque;
|
||||
import java.util.concurrent.ThreadFactory;
|
||||
@ -20,6 +12,8 @@ import java.util.concurrent.ThreadPoolExecutor;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryPropertyCache;
|
||||
import com.actionsoft.apps.coe.pal.publisher.constant.FilePermConstant;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import com.actionsoft.apps.coe.pal.constant.CoEConstant;
|
||||
@ -4953,4 +4947,111 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
return String.valueOf(count);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建发布流程
|
||||
* @param processDefId
|
||||
* @return
|
||||
*/
|
||||
public String createProcess(String palUUID,String processDefId) {
|
||||
ResponseObject responseObject = ResponseObject.newOkResponse();
|
||||
String optionType = "";//发布类型
|
||||
String subBoName = "";//子表名称
|
||||
//获取文件属性
|
||||
PALRepositoryModel thisModel = PALRepositoryCache.getCache().get(palUUID);
|
||||
PALRepositoryModel hisModel = null;
|
||||
List<PALRepositoryModel> modelList = PALRepositoryCache.getCache().getByVersionId(thisModel.getVersionId());
|
||||
Optional<PALRepositoryModel> firstPublished = modelList.stream().filter(PALRepositoryModel::isPublish).findFirst();
|
||||
if (firstPublished.isPresent()) {
|
||||
hisModel = firstPublished.get();
|
||||
System.out.println("第一个已发布的对象是:" + hisModel.toString()); // 假设有toString方法
|
||||
if(hisModel.getId().equals(thisModel.getId())){
|
||||
responseObject.msg("该文件已经发布");
|
||||
return responseObject.toString();
|
||||
}else{
|
||||
optionType = "流程制度版本更新";
|
||||
subBoName = "BO_ACT_COE_PUBLISH_C";
|
||||
}
|
||||
} else {
|
||||
optionType = "流程制度发布";
|
||||
subBoName = "BO_ACT_COE_PUBLISH_N";
|
||||
}
|
||||
ProcessInstance processInstance = SDK.getProcessAPI().createProcessInstance(processDefId, _uc.getUID(), _uc.getUserName()+"发起流程发布流程");
|
||||
BO bo =new BO();
|
||||
BO subBO =new BO();
|
||||
bo.set("OPTIONTYPE",optionType);//发布类型,不同的发布类型,显示不同的子表数据
|
||||
if(optionType.equals("流程制度发布")){//创建一个子表
|
||||
subBO.set("PUBLISTHTYPE","N");
|
||||
subBO.set("PUBLISHFILENAME",thisModel.getName());
|
||||
subBO.set("PUBLISHFILEID",thisModel.getId());
|
||||
subBO.set("TASKID","submit_create");
|
||||
subBO.set("FILETYPE","111");
|
||||
SDK.getBOAPI().create(subBoName,subBO,processInstance.getId(),_uc.getUID());
|
||||
}else {
|
||||
subBO.set("CHANGETYPE","C");
|
||||
subBO.set("CHANGEFILENAME",hisModel.getName());
|
||||
subBO.set("CHANGEDFILENAMENEW",thisModel.getName());
|
||||
subBO.set("CHANGEFILEID",hisModel.getId());
|
||||
subBO.set("CHANGEDFILEIDNEW",thisModel.getId());
|
||||
subBO.set("TASKID","submit_create");
|
||||
subBO.set("PUBLISH_NUMBER",PALRepositoryPropertyCache.getPropertyByPropertyId(palUUID, "file_number").getPropertyValue());
|
||||
SDK.getBOAPI().create(subBoName,subBO,processInstance.getId(),_uc.getUID());
|
||||
}
|
||||
//获取流程L1-L4等级名称
|
||||
getProcessLevel(bo,palUUID);
|
||||
//创建主表数据
|
||||
SDK.getBOAPI().create(PublisherConstant.BOTABLENAME,bo,processInstance.getId(),_uc.getUID());
|
||||
TaskInstance taskInstance = SDK.getProcessAPI().start(processInstance).fetchActiveTasks().get(0);
|
||||
String formURL = SDK.getFormAPI().getFormURL(SDK.getPlatformAPI().getPortalUrl(), getContext().getSessionId(), processInstance.getId(), taskInstance.getId(), SDK.getTaskAPI().getTaskInstance(taskInstance.getId()).getState(), "", "", "");
|
||||
responseObject.put("url",formURL);
|
||||
return responseObject.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 废止逻辑
|
||||
* @param palUUID
|
||||
* @param processDefId
|
||||
* @return
|
||||
*/
|
||||
public String createProcessTermination(String palUUID,String processDefId) {
|
||||
ResponseObject responseObject = ResponseObject.newOkResponse();
|
||||
String optionType = "流程制度废止";
|
||||
String subBoName = "BO_ACT_COE_PUBLISH_S";
|
||||
//获取文件属性
|
||||
PALRepositoryModel thisModel = PALRepositoryCache.getCache().get(palUUID);
|
||||
ProcessInstance processInstance = SDK.getProcessAPI().createProcessInstance(processDefId, _uc.getUID(), _uc.getUserName()+"发起流程发布流程");
|
||||
BO bo =new BO();
|
||||
BO subBO =new BO();
|
||||
bo.set("OPTIONTYPE",optionType);//发布类型,不同的发布类型,显示不同的子表数据
|
||||
//获取流程L1-L4等级名称
|
||||
getProcessLevel(bo,palUUID);
|
||||
subBO.set("STOPTYPE","S");
|
||||
subBO.set("STOPFILENAME",thisModel.getName());
|
||||
subBO.set("STOPFILEID",thisModel.getId());
|
||||
subBO.set("TASKID","submit_create");
|
||||
SDK.getBOAPI().create(PublisherConstant.BOTABLENAME,bo,processInstance.getId(),_uc.getUID());
|
||||
SDK.getBOAPI().create(subBoName,subBO,processInstance.getId(),_uc.getUID());
|
||||
TaskInstance taskInstance = SDK.getProcessAPI().start(processInstance).fetchActiveTasks().get(0);
|
||||
String formURL = SDK.getFormAPI().getFormURL(SDK.getPlatformAPI().getPortalUrl(), getContext().getSessionId(), processInstance.getId(), taskInstance.getId(), SDK.getTaskAPI().getTaskInstance(taskInstance.getId()).getState(), "", "", "");
|
||||
responseObject.put("url",formURL);
|
||||
return responseObject.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取流程L1-L4等级名称
|
||||
* @param bo
|
||||
* @param palUUID
|
||||
* @return
|
||||
*/
|
||||
public void getProcessLevel(BO bo,String palUUID){
|
||||
PALRepositoryPropertyCache cache = PALRepositoryPropertyCache.getCache();
|
||||
String l1_name = cache.getPropertyByPropertyId(palUUID, "Process_Architecture_L1").getPropertyValue();
|
||||
bo.set("LEVEL_1_PROCESS_NAME",l1_name);
|
||||
String l2_name = cache.getPropertyByPropertyId(palUUID, "Process_Architecture_L2").getPropertyValue();
|
||||
bo.set("LEVEL_2_PROCESS_NAME",l2_name);
|
||||
String l3_name = cache.getPropertyByPropertyId(palUUID, "Process_Architecture_L3").getPropertyValue();
|
||||
bo.set("LEVEL_3_PROCESS_NAME",l3_name);
|
||||
String l4_name = cache.getPropertyByPropertyId(palUUID, "Process_Architecture_L4").getPropertyValue();
|
||||
bo.set("LEVEL_4_PROCESS_NAME",l4_name);
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user