From d42f321ca241ab7f8bb3cdc71f11fe5ec4ebc48d Mon Sep 17 00:00:00 2001
From: ludc <ludc@vci-tech.com>
Date: 星期三, 15 一月 2025 14:28:18 +0800
Subject: [PATCH] 流程服务相关类添加
---
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/WebProcessCommandServiceI.java | 2
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/dao/WebProcessDaoI.java | 8
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/dao/impl/WebProcessDaoImpl.java | 94 +++++-----
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/controller/WebProcessCommandController.java | 2
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebFlowServiceI.java | 53 ++++++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebFlowServiceImpl.java | 129 ++++++++++++++++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/SmFunctionQueryServicePlatformImpl.java | 3
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebFlowController.java | 129 ++++++++++++++++
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/util/PlatformClientUtil.java | 6
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebProcessCommandServiceImpl.java | 16 +-
10 files changed, 378 insertions(+), 64 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/controller/WebProcessCommandController.java b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/controller/WebProcessCommandController.java
index cec29d1..e0a6a56 100644
--- a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/controller/WebProcessCommandController.java
+++ b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/controller/WebProcessCommandController.java
@@ -1,6 +1,6 @@
package com.vci.web.controller;
-import com.vci.corba.workflow.data.TasksAssignedInfo;
+import com.vci.corba.wf.data.TasksAssignedInfo;
import com.vci.pagemodel.ProcessUserVO;
import com.vci.starter.web.annotation.log.VciBusinessLog;
import com.vci.starter.web.pagemodel.BaseResult;
diff --git a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/dao/WebProcessDaoI.java b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/dao/WebProcessDaoI.java
index dc9353f..8e5f12d 100644
--- a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/dao/WebProcessDaoI.java
+++ b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/dao/WebProcessDaoI.java
@@ -1,8 +1,8 @@
package com.vci.web.dao;
import com.vci.corba.omd.data.LinkObject;
-import com.vci.corba.workflow.WorkflowServicePrx;
-import com.vci.corba.workflow.data.TasksAssignedInfo;
+import com.vci.corba.wf.WFServicePrx;
+import com.vci.corba.wf.data.TasksAssignedInfo;
import com.vci.dto.ProcessTemplateVO;
import com.vci.model.WFProcessClassifyDO;
import com.vci.model.WFProcessTemplateDO;
@@ -294,11 +294,11 @@
*/
String getNextTaskName(String executionid, String taskName, String outCome) throws VciBaseException;
- /**
+/**
* 鑾峰彇骞冲彴鐨勬祦绋嬫湇鍔�
* @return
*/
- WorkflowServicePrx getWorkService() throws VciBaseException;
+ WFServicePrx getWFService() throws VciBaseException;
/**
* 浠诲姟涓庢暟鎹叧鑱旂殑閾炬帴绫诲瀷
diff --git a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/dao/impl/WebProcessDaoImpl.java b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/dao/impl/WebProcessDaoImpl.java
index 92cdb96..afa9c1c 100644
--- a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/dao/impl/WebProcessDaoImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/dao/impl/WebProcessDaoImpl.java
@@ -6,8 +6,9 @@
import com.vci.corba.common.data.UserEntityInfo;
import com.vci.corba.omd.data.BusinessObject;
import com.vci.corba.omd.data.LinkObject;
-import com.vci.corba.workflow.WorkflowServicePrx;
-import com.vci.corba.workflow.data.*;
+import com.vci.corba.wf.WFServicePrx;
+import com.vci.corba.wf.data.*;
+import com.vci.corba.workflow.data.FlowApproveHistoryInfo;
import com.vci.dto.ProcessTemplateVO;
import com.vci.model.ProcessInstance;
import com.vci.model.ProcessTask;
@@ -19,7 +20,6 @@
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.pagemodel.PageHelper;
-import com.vci.starter.web.pagemodel.SessionInfo;
import com.vci.starter.web.util.BeanUtilForVCI;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.starter.web.util.VciDateUtil;
@@ -80,7 +80,7 @@
/**
* 骞冲彴鐨勬祦绋嬫湇鍔�
*/
- private WorkflowServicePrx workService = null;
+ private WFServicePrx wfService = null;
/**
* 骞冲彴璋冪敤瀹㈡埛绔�
@@ -107,7 +107,7 @@
*/
private void getCategory() throws VciBaseException {
try {
- ProcessCategoryInfo[] pcia = getWorkService().getProcessCategories("root");
+ ProcessCategoryInfo[] pcia = getWFService().getProcessCategories("root");
if(pcia!=null&&pcia.length>0){
for(ProcessCategoryInfo pci : pcia){
categoryMap.put(pci.name.toLowerCase(), pci.id);
@@ -144,7 +144,7 @@
throw new VciBaseException(msgCodePrefix + "typeNotExist", new String[]{type});
}
try {
- allFlowInType = getWorkService().getProcessDefinitions(typeOid);
+ allFlowInType = getWFService().getProcessDefinitions(typeOid);
} catch (PLException e) {
throw WebUtil.getVciBaseException(e);
}
@@ -153,14 +153,14 @@
List<String> templateList = VciBaseUtil.str2List(filterTemplate);
if(!CollectionUtils.isEmpty(templateList)){
templateList.forEach(name->{
- try {
+ /*try {*/
String nameUnRev = name;
String revision = "";
if(name.contains("-")){
nameUnRev = name.substring(0,name.lastIndexOf("-"));
revision = name.substring(name.lastIndexOf("-")+1);
}
- ProcessDefinitionInfo[] definition = getWorkService().getProcessDefinitionByProcessDefinitionName(nameUnRev, "");
+ ProcessDefinitionInfo[] definition = null;//getWFService()().getProcessDefinitionByProcessDefinitionName(nameUnRev, "");
if(definition!=null){
if(StringUtils.isBlank(revision)) {
Collections.addAll(infoList, definition);
@@ -170,9 +170,9 @@
infoList.addAll(Arrays.stream(definition).filter(s -> finalRevision.equalsIgnoreCase(String.valueOf(s.version))).collect(Collectors.toList()));
}
}
- } catch (PLException e) {
+ /*} catch (PLException e) {
throw WebUtil.getVciBaseException(e);
- }
+ }*/
});
}
allFlowInType = infoList.toArray(new ProcessDefinitionInfo[0]);
@@ -191,7 +191,7 @@
WebUtil.alertNotNull(deployId,"娴佺▼閮ㄧ讲涓婚敭");
ProcessDefinitionInfo pdi = null;
try {
- pdi = getWorkService().getProcessDefinitionByDeployId(deployId.trim());
+ pdi = getWFService().getProcessDefinitionByDeployId(deployId.trim());
} catch (PLException e) {
throw new VciBaseException(msgCodePrefix + "deployIdNotExist", new String[]{deployId});
}
@@ -255,7 +255,7 @@
public String getFirstNodeName(String deployId) throws VciBaseException {
WebUtil.alertNotNull(deployId,"閮ㄧ讲涓婚敭");
try {
- ProcessTaskInfo firstProcessTask = getWorkService().getFirstProcessTask(deployId);
+ ProcessTaskInfo firstProcessTask = getWFService().getFirstProcessTask(deployId);
if(firstProcessTask!=null){
return firstProcessTask.taskName;
}
@@ -291,7 +291,7 @@
public String[] getAllProcessNodeNameByDeploy(String deploymentId) throws VciBaseException{
String[] allTaskNames = null;
try {
- allTaskNames = getWorkService().getAllTaskNames(deploymentId);
+ allTaskNames = getWFService().getAllTaskNames(deploymentId);
} catch (PLException e) {
throw WebUtil.getVciBaseException(e);
}
@@ -305,7 +305,7 @@
@Override
public String getJbpmDeploymentId(String processOid) throws VciBaseException{
WebUtil.alertNotNull(processOid,"娴佺▼妯℃澘涓婚敭");
- return getWorkService().getDeploymentID(processOid);
+ return null;//getWFService()().getDeploymentID(processOid);
}
/**
@@ -318,7 +318,7 @@
public String getJbpmDeploymentIdByExecutionId(String executionId) throws VciBaseException{
WebUtil.alertNotNull(executionId,"娴佺▼鎵ц涓婚敭");
try {
- return getWorkService().getDeploymentIdByExecutionId(executionId);
+ return getWFService().getDeploymentIdByExecutionId(executionId);
} catch (PLException e) {
throw WebUtil.getVciBaseException(e);
}
@@ -337,7 +337,7 @@
ProcessNodeVO pn = new ProcessNodeVO();
pn.setName(taskName);
try {
- String[] nodePresideUsers = getWorkService().getCurCandidates(deploymentId, taskName, "", "");
+ String[] nodePresideUsers = getWFService().getCurCandidates(deploymentId, taskName, "", "");
if(nodePresideUsers!=null&& nodePresideUsers.length>0){
for(String preUsers : nodePresideUsers){
//骞冲彴瀛樺偍鐨勬柟寮忔槸鐢ㄦ埛;瑙掕壊;閮ㄩ棬;鑷畾涔�....
@@ -399,7 +399,7 @@
return null;
}
//涓嶈兘浣跨敤workitem鍘绘煡璇紝鍥犱负鍙兘浠诲姟杩樻病鍒�
- String users = getWorkService().getNextTaskAssigner(executionid, taskName);
+ String users = getWFService().getNextTaskAssigner(executionid, taskName);
List<ProcessUserVO> allProUser = new ArrayList<ProcessUserVO>();
if(StringUtils.isNotEmpty(users)){
String userIds = users.replace("user:", "");//鐜板湪鍙敮鎸佽缃敤鎴�
@@ -602,16 +602,16 @@
@Override
public String getVariablesInProcess(String executionId,String key) throws VciBaseException{
WebUtil.alertNotNull(executionId,"娴佺▼鎵ц涓婚敭",key,"鍙傛暟Key");
- UserEntityInfo ueo = new UserEntityInfo();
- SessionInfo si = WebUtil.getCurrentUserSessionInfo();
- ueo.modules = "娴佺▼";
- ueo.userName = si.getUserId();
+// UserEntityInfo ueo = new UserEntityInfo();
+// SessionInfo si = WebUtil.getCurrentUserSessionInfo();
+// ueo.modules = "娴佺▼";
+// ueo.userName = si.getUserId();
while(StringUtils.countMatches(executionId,".")>1){
//璇存槑鏄瓙浠诲姟锛岀敤鐖朵换鍔¤幏鍙栦竴涓嬪彉閲�
executionId = executionId.substring(0,executionId.lastIndexOf("."));
}
try {
- return getWorkService().getProcessVariable(executionId, key, ueo);
+ return getWFService().getProcessVariable(executionId, key);
} catch (PLException e) {
throw WebUtil.getVciBaseException(e);
}
@@ -718,11 +718,7 @@
WebUtil.alertNotNull(executionId,"娴佺▼鎵ц涓婚敭");
List<ProcessHistoryVO> hisList = new ArrayList<ProcessHistoryVO>();
FlowApproveHistoryInfo[] historyActivitys = null;
- try {
- historyActivitys = getWorkService().getHistoryActivityByProInsIdbyPLM(executionId);
- } catch (PLException e) {
- throw WebUtil.getVciBaseException(e);
- }
+
//闇�瑕佸幓闄ゆ湭澶勭悊鐨勯噸澶嶉」
for (int i = 0; i < historyActivitys.length; i++) {
FlowApproveHistoryInfo historyActivity = historyActivitys[i];
@@ -752,7 +748,11 @@
//濡傛灉endTime涓虹┖琛ㄧず鏄緟鍔炵殑锛屼絾鏄湇鍔$鐨勬帴鍙d腑鏈変釜闂鏄紝浼氭妸浼氱鎴栬�呭瓙娴佺▼涓凡缁忓鐞嗙殑鍜屾湭澶勭悊鐨勬贩鍚堝湪涓�璧�
//鐩存帴浠庡緟鍔炰换鍔¢噷鍘绘煡璇�
}
-
+ /*try {
+ historyActivitys = getWFService()().getHistoryActivityByProInsIdbyPLM(executionId);
+ } catch (PLException e) {
+ throw WebUtil.getVciBaseException(e);
+ }*/
Map<String,String> conditionMap = new HashMap<String, String>();
conditionMap.put("businesstype", "5");//鏈」鐩病鏈夊疄闄呯殑鎰忎箟
conditionMap.put("lcstatus", "Executing");
@@ -806,7 +806,7 @@
throws VciBaseException{
WebUtil.alertNotNull(executionId,"娴佺▼鎵ц涓婚敭",taskName,"娴佺▼浠诲姟鍚嶇О");
try {
- byte[] processChart = getWorkService().getExecutionImageByExecutionId(executionId, taskName);
+ byte[] processChart = null;//getWFService()().getExecutionImageByExecutionId(executionId, taskName);
return processChart;
} catch (Throwable e) {
String msg = "鏈夊彲鑳借繖涓换鍔″叧鑱旂殑娴佺▼宸茬粡缁撴潫鎴栬�呰缁堟锛屼笉鑳藉啀鏌ョ湅鍏舵祦绋嬪浘浜�";
@@ -820,7 +820,7 @@
throws VciBaseException{
WebUtil.alertNotNull(executionId,"娴佺▼瀹炰緥涓婚敭");
try {
- byte[] processChart = getWorkService().getFlowImageByDeployID(executionId);
+ byte[] processChart = getWFService().getFlowImageByDeployID(executionId);
return processChart;
} catch (PLException e) {
throw WebUtil.getVciBaseException(e);
@@ -836,7 +836,7 @@
@Override
public String[] getAllOutComes(String taskOid) throws VciBaseException{
try {
- return getWorkService().getAllOutComes(taskOid);
+ return getWFService().getAllOutComes(taskOid);
} catch (PLException e) {
throw WebUtil.getVciBaseException(e);
}
@@ -854,7 +854,7 @@
WebUtil.alertNotNull(executionid,"娴佺▼鎵ц涓婚敭",taskName,"浠诲姟鍚嶇О");
String deployId = getJbpmDeploymentIdByExecutionId(executionid);
try {
- return getWorkService().getNextTaskNameByJbpmId(deployId, taskName, outCome);
+ return getWFService().getNextTaskNameByJbpmId(deployId, taskName, outCome);
} catch (PLException e) {
throw WebUtil.getVciBaseException(e);
}
@@ -865,11 +865,11 @@
* @return
*/
@Override
- public WorkflowServicePrx getWorkService() throws VciBaseException{
- if(workService == null){
- this.workService = platformClientUtil.getWorkflowService();
+ public WFServicePrx getWFService() throws VciBaseException{
+ if(wfService == null){
+ this.wfService = platformClientUtil.getWFService();
}
- return workService;
+ return wfService;
}
@Override
@@ -910,11 +910,11 @@
taskAss.endTime = VciDateUtil.getTime(endDate);
taskAss.isTrue = isNowEnable?true:false;
taskAss.fromUser =WebUtil.getCurrentUserSessionInfo().getUserId();
- try {
- getWorkService().saveOrUpdateTasksAssigned(taskAss, WebUtil.getUserEntityInfo("娴佺▼"));
+ /*try {
+ getWFService().saveOrUpdateTasksAssigned(taskAss, WebUtil.getUserEntityInfo("娴佺▼"));
} catch (PLException e) {
throw WebUtil.getVciBaseException(e);
- }
+ }*/
}
@@ -925,7 +925,7 @@
//骞冲彴涓嶆敮鎸佸仠鐢ㄥ惎鐢ㄤ唬鐞嗕俊鎭�..鍙互鏌ヨ鍑烘潵鍐嶉噸鏂版坊鍔犮��
try {
UserEntityInfo uei = WebUtil.getUserEntityInfo( "娴佺▼");
- getWorkService().deleteTasksAssignedByUserName(new String[]{uei.userName}, uei);
+ getWFService().deleteTasksAssignedByUserName(new String[]{uei.userName});
} catch (PLException e) {
throw WebUtil.getVciBaseException(e);
}
@@ -935,7 +935,7 @@
public TasksAssignedInfo getProxy() throws VciBaseException{
TasksAssignedInfo assign = null;
try {
- assign = getWorkService().getTasksAssignedByUserName("", WebUtil.getUserEntityInfo( "娴佺▼"));
+ assign = getWFService().getTasksAssignedByUserName("");
} catch (PLException e) {
throw WebUtil.getVciBaseException(e);
}
@@ -956,11 +956,11 @@
UserEntityInfo userEntityInfo = WebUtil.getUserEntityInfo("娴佺▼");
String resetStatus = null;
try{
- resetStatus = getWorkService().getProcessVariable(executionId, WFVariablesKeyConstant.RESET_STATUS, userEntityInfo);
+ resetStatus = getWFService().getProcessVariable(executionId, WFVariablesKeyConstant.RESET_STATUS);
}catch (Throwable e){
logger.error("鑾峰彇娴佺▼鐨勫彉閲忓嚭閿�",e);
}
- getWorkService().endProcessInstanceByplatform(executionId,userEntityInfo);
+ //getWFService().endProcessInstanceByplatform(executionId,userEntityInfo);
//骞冲彴娌℃湁鑷姩灏嗕笟鍔℃暟鎹仮澶嶅埌涔嬪墠鐨勭姸鎬�
if(StringUtils.isNotBlank(resetStatus)){
resetLcStatusForBusinessData(dataGrid.getData(),resetStatus);
@@ -1053,11 +1053,11 @@
@Override
public byte[] getProcessXmlContent(String jbpmDeploymentId) throws VciBaseException {
WebUtil.alertNotNull("娴佺▼鎵ц涓婚敭淇℃伅",jbpmDeploymentId);
- try {
- return getWorkService().getProcessResource(jbpmDeploymentId,".xml");
- } catch (PLException e) {
+ /*try {*/
+ return null;//getWFService().getProcessResource(jbpmDeploymentId,".xml");
+ /*} catch (PLException e) {
throw WebUtil.getVciBaseException(e);
- }
+ }*/
}
/**
diff --git a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/WebProcessCommandServiceI.java b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/WebProcessCommandServiceI.java
index 731f509..9b6d69b 100644
--- a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/WebProcessCommandServiceI.java
+++ b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/WebProcessCommandServiceI.java
@@ -1,6 +1,6 @@
package com.vci.web.service;
-import com.vci.corba.workflow.data.TasksAssignedInfo;
+import com.vci.corba.wf.data.TasksAssignedInfo;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.dto.ProcessStartConfigDTO;
import com.vci.pagemodel.ProcessUserVO;
diff --git a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebProcessCommandServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebProcessCommandServiceImpl.java
index c1b9f54..8483407 100644
--- a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebProcessCommandServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebProcessCommandServiceImpl.java
@@ -8,7 +8,7 @@
import com.vci.corba.omd.data.LinkObject;
import com.vci.corba.workflow.data.FlowInstanceInfo;
import com.vci.corba.workflow.data.MapTransfersInfo;
-import com.vci.corba.workflow.data.TasksAssignedInfo;
+import com.vci.corba.wf.data.TasksAssignedInfo;
import com.vci.dto.ProcessStartConfigDTO;
import com.vci.dto.ProcessTemplateVO;
import com.vci.dto.VciFileObjectDTO;
@@ -211,7 +211,7 @@
noticeInfo.setProcessTemplateVO(template);
BusAnnotationUtil.callForAnnotation(FlowNotifyWeb.class, FlowNotifyBefore.class,noticeInfo);
String processInstanceId = "";
- try {
+ /*try {
if (config.isAutoSubmitFirst()) {
processInstanceId = processDao.getWorkService().startProcessAndExecuteFirstNode(template.getOid(),
flowInstanceInfo,
@@ -226,7 +226,7 @@
objectPropertyValues);
}else{
processInstanceId = processDao.getWorkService().startPocessByPLMv1(
- /**
+ *//**
* String processDefinitionKey, 娴佺▼妯℃澘涓婚敭
* FlowInstanceInfo flowInstanceInfo, 娴佺▼瀹炰緥
* String[] objId, 鏁版嵁瀵硅薄id
@@ -238,7 +238,7 @@
* MapTransfersInfo[] mapTransfersInfos, 绉讳氦Info
* String[] objectProperty, 涓氬姟灞炴��
* String[][] objectPropertyValues 涓氬姟灞炴�у��
- */
+ *//*
template.getOid(),
flowInstanceInfo,
objIds,
@@ -254,7 +254,7 @@
}
} catch (PLException e) {
throw WebUtil.getVciBaseException(e);
- }
+ }*/
if (StringUtils.isNotBlank(config.getStartStatus())) {
try {
lifeCycleService.transCboStatus(allCbo, config.getStartStatus());
@@ -505,7 +505,7 @@
throw new VciBaseException(LangBaseUtil.getErrorMsg(e), new String[0], e);
}
callBefore(workitemList,outCome,note,currentTime);
- try {
+ /*try {
if (jbpmTaskIds.length == 1) {
processDao.getWorkService().completeTaskByPlatformv1(jbpmTaskIds[0], outCome, nextTaskName, note, getUserEntityInfo(), nextTaskUsers, objectPropertyKeys, objectPropertyValues);
} else {
@@ -513,7 +513,7 @@
}
} catch (PLException e) {
throw WebUtil.getVciBaseException(e);
- }
+ }*/
callAfter((String)workitemList.get(0).get("executionid"),null,workitemList,currentTime);
}
@@ -541,7 +541,7 @@
for (String taskOid : taskOidArray) {
if (StringUtils.isNotBlank(taskOid)) {
try {
- processDao.getWorkService().transmitTask(taskOid, "user:" + userIds, getUserEntityInfo());
+ processDao.getWFService().transmitTask(taskOid, "user:" + userIds);
} catch (PLException vciError) {
throw WebUtil.getVciBaseException(vciError);
}
diff --git a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/util/PlatformClientUtil.java b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/util/PlatformClientUtil.java
index a2e9a69..edd86fd 100644
--- a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/util/PlatformClientUtil.java
+++ b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/util/PlatformClientUtil.java
@@ -17,7 +17,7 @@
import com.vci.corba.portal.PortalServicePrx;
import com.vci.corba.query.ObjectQueryServicePrx;
import com.vci.corba.volume.VolumeServicePrx;
-import com.vci.corba.workflow.WorkflowServicePrx;
+import com.vci.corba.wf.WFServicePrx;
import org.springframework.stereotype.Component;
/**
@@ -94,8 +94,8 @@
* 鑾峰彇娴佺▼鏈嶅姟
* @return 鏈嶅姟鐨勫璞�
*/
- public WorkflowServicePrx getWorkflowService(){
- return WebServiceProvider.getWFService();
+ public WFServicePrx getWFService(){
+ return WebServiceProvider.getFlowService();
}
/**
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebFlowController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebFlowController.java
new file mode 100644
index 0000000..766d249
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebFlowController.java
@@ -0,0 +1,129 @@
+package com.vci.web.controller;
+
+import com.vci.corba.wf.data.ProcessCategoryInfo;
+import com.vci.dto.OsEnumDTO;
+import com.vci.starter.web.annotation.log.VciBusinessLog;
+import com.vci.starter.web.pagemodel.BaseQueryObject;
+import com.vci.starter.web.pagemodel.BaseResult;
+import com.vci.starter.web.pagemodel.DataGrid;
+import com.vci.starter.web.util.VciBaseUtil;
+import com.vci.web.service.WebFlowServiceI;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 娴佺▼鏈嶅姟鎺у埗鍣�
+ * @author ludc
+ * @date 2025/1/14 21:37
+ */
+@VciBusinessLog(modelName="娴佺▼鏈嶅姟")
+@RestController
+@RequestMapping("/WebFlowController")
+public class WebFlowController {
+
+ /**
+ * 娉ㄥ叆娴佺▼鏈嶅姟
+ */
+ @Autowired
+ private WebFlowServiceI webFlowServiceI;
+
+ /**
+ * 鏃ュ織
+ */
+ private Logger logger = LoggerFactory.getLogger(getClass());
+
+ /**
+ * 娴佺▼鍒嗙被鍏ㄦ煡璇�
+ * @param parentId 鐖秈d
+ * @return 鍒楄〃鐨勫唴瀹�
+ */
+ @GetMapping( "/getProcessCategories")
+ @VciBusinessLog(operateName = "娴佺▼鍒嗙被鍏ㄦ煡璇�")
+ public BaseResult<List<ProcessCategoryInfo>> getProcessCategories(String parentId){
+ try {
+ return BaseResult.dataList(webFlowServiceI.getProcessCategories(parentId));
+ } catch (Exception e) {
+ e.printStackTrace();
+ String exceptionMessage = "娴佺▼鍒嗙被鏌ヨ鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+ logger.error(exceptionMessage);
+ return BaseResult.fail(exceptionMessage);
+ }
+ }
+
+ /**
+ * 娴佺▼鍒嗙被鍒嗛〉鏌ヨ
+ * @param baseQueryObject
+ * @return 鍒楄〃鐨勫唴瀹�
+ */
+ @GetMapping( "/getProcessCategoriesByPage")
+ @VciBusinessLog(operateName = "娴佺▼鍒嗙被鍒嗛〉鏌ヨ")
+ public BaseResult<DataGrid<ProcessCategoryInfo>> getProcessCategoriesByPage(BaseQueryObject baseQueryObject){
+ try {
+ return BaseResult.dataList(webFlowServiceI.getProcessCategoriesByPage(baseQueryObject));
+ } catch (Exception e) {
+ e.printStackTrace();
+ String exceptionMessage = "娴佺▼鍒嗙被鍒嗛〉鏌ヨ鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+ logger.error(exceptionMessage);
+ return BaseResult.fail(exceptionMessage);
+ }
+ }
+
+ /**
+ * 娣诲姞娴佺▼鍒嗙被
+ * @param processCategoryInfo
+ * @return
+ */
+ @PostMapping( "/saveProcessCategory")
+ @VciBusinessLog(operateName = "娣诲姞娴佺▼鍒嗙被")
+ public BaseResult saveProcessCategory(@RequestBody ProcessCategoryInfo processCategoryInfo) {
+ try {
+ return BaseResult.success(webFlowServiceI.saveProcessCategory(processCategoryInfo));
+ }catch (Exception e) {
+ e.printStackTrace();
+ String exceptionMessage = "娣诲姞娴佺▼鍒嗙被鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+ logger.error(exceptionMessage);
+ return BaseResult.fail(exceptionMessage);
+ }
+ }
+
+ /**
+ * 淇敼娴佺▼鍒嗙被
+ * @param processCategoryInfo
+ * @return
+ */
+ @PutMapping( "/updateProcessCategory")
+ @VciBusinessLog(operateName = "淇敼娴佺▼鍒嗙被")
+ public BaseResult updateProcessCategory(@RequestBody ProcessCategoryInfo processCategoryInfo) {
+ try {
+ return webFlowServiceI.updateProcessCategory(processCategoryInfo) ? BaseResult.success("娴佺▼鍒嗙被淇敼鎴愬姛锛�"):BaseResult.fail("娴佺▼鍒嗙被淇敼澶辫触锛�");
+ }catch (Exception e) {
+ e.printStackTrace();
+ String exceptionMessage = "淇敼娴佺▼鍒嗙被鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+ logger.error(exceptionMessage);
+ return BaseResult.fail(exceptionMessage);
+ }
+ }
+
+ /**
+ * 鍒犻櫎娴佺▼鍒嗙被
+ * @param id
+ * @return
+ */
+ @DeleteMapping( "/deleteProcessCategory")
+ @VciBusinessLog(operateName = "鍒犻櫎娴佺▼鍒嗙被")
+ public BaseResult deleteProcessCategory(String id) {
+ try {
+ return webFlowServiceI.deleteProcessCategory(id) ? BaseResult.success("娴佺▼鍒嗙被鍒犻櫎鎴愬姛锛�"):BaseResult.fail("娴佺▼鍒嗙被鍒犻櫎澶辫触锛�");
+ }catch (Exception e) {
+ e.printStackTrace();
+ String exceptionMessage = "鍒犻櫎娴佺▼鍒嗙被鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+ logger.error(exceptionMessage);
+ return BaseResult.fail(exceptionMessage);
+ }
+ }
+
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebFlowServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebFlowServiceI.java
new file mode 100644
index 0000000..e607896
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebFlowServiceI.java
@@ -0,0 +1,53 @@
+package com.vci.web.service;
+
+import com.vci.corba.wf.data.ProcessCategoryInfo;
+import com.vci.starter.web.pagemodel.BaseQueryObject;
+import com.vci.starter.web.pagemodel.DataGrid;
+
+import java.util.List;
+
+/**
+ * 娴佺▼鏈嶅姟
+ * @author ludc
+ * @date 2025/1/14 17:28
+ */
+public interface WebFlowServiceI {
+
+ /**
+ * 娴佺▼鍒嗙被鍏ㄦ煡璇�
+ * @param parentId
+ * @return
+ * @throws Exception
+ */
+ List<ProcessCategoryInfo> getProcessCategories(String parentId) throws Exception;
+
+ /**
+ * 娴佺▼鍒嗙被鍒嗛〉鏌ヨ
+ * @param baseQueryObject
+ * @return
+ */
+ DataGrid<ProcessCategoryInfo> getProcessCategoriesByPage(BaseQueryObject baseQueryObject) throws Exception;
+
+ /**
+ * 淇濆瓨娴佺▼鍒嗙被
+ * @param category
+ * @return
+ */
+ String saveProcessCategory(ProcessCategoryInfo category) throws Exception;
+
+ /**
+ * 淇敼娴佺▼鍒嗙被
+ * @param category
+ * @return
+ */
+ boolean updateProcessCategory(ProcessCategoryInfo category) throws Exception;
+
+ /**
+ * 鍒犻櫎娴佺▼鍒嗙被
+ * @param id
+ * @return
+ * @throws Exception
+ */
+ boolean deleteProcessCategory(String id) throws Exception;
+
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/SmFunctionQueryServicePlatformImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/SmFunctionQueryServicePlatformImpl.java
index 42cf760..825816c 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/SmFunctionQueryServicePlatformImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/SmFunctionQueryServicePlatformImpl.java
@@ -609,6 +609,7 @@
menuVO.setName(funcInfo.name);
menuVO.getMeta().put("keepAlive",true);
menuVO.setSort((int) funcInfo.seq);
+ menuVO.setRemark(funcInfo.desc);
if(this.checkChildObject(menuVO.getId()) == 0){
menuVO.setHasChildren(false);
}else{
@@ -657,6 +658,7 @@
functionVO.setName(menu.name);
functionVO.getMeta().put("keepAlive",true);
functionVO.setSort((int) menu.seq);
+ functionVO.setRemark(menu.desc);
functionVO.setChildren(findChildFunctionVO(menu.id,map));
if(functionVO.getChildren().size() > 0){
functionVO.setHasChildren(true);
@@ -685,6 +687,7 @@
menuVO.setName(funcObj.name);
menuVO.getMeta().put("keepAlive",true);
menuVO.setSort((int) funcObj.seq);
+ menuVO.setRemark(funcObj.desc);
findChildAuthFunctionVO(menuVO, isAll);
functionVO.getChildren().add(menuVO);
functionVO.setHasChildren(true);
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebFlowServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebFlowServiceImpl.java
new file mode 100644
index 0000000..aa34f8e
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebFlowServiceImpl.java
@@ -0,0 +1,129 @@
+package com.vci.web.service.impl;
+
+import com.vci.corba.common.PLException;
+import com.vci.corba.wf.data.ProcessCategoryInfo;
+import com.vci.corba.wf.data.ProcessDefinitionInfo;
+import com.vci.starter.web.exception.VciBaseException;
+import com.vci.starter.web.pagemodel.BaseQueryObject;
+import com.vci.starter.web.pagemodel.DataGrid;
+import com.vci.starter.web.util.Lcm.Func;
+import com.vci.starter.web.util.VciBaseUtil;
+import com.vci.web.service.WebFlowServiceI;
+import com.vci.web.util.PlatformClientUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 娴佺▼鏈嶅姟
+ * @author ludc
+ * @date 2025/1/14 17:28
+ */
+@Service
+public class WebFlowServiceImpl implements WebFlowServiceI {
+
+ /**
+ * 骞冲彴璋冪敤瀹㈡埛绔�
+ */
+ @Autowired
+ private PlatformClientUtil platformClientUtil;
+
+ /**
+ * 娴佺▼鍒嗙被鍏ㄦ煡璇�
+ * @param parentId
+ * @return
+ * @throws PLException
+ */
+ @Override
+ public List<ProcessCategoryInfo> getProcessCategories(String parentId) throws PLException {
+ VciBaseUtil.alertNotNull(parentId,"娴佺▼鍒嗙被鐖朵富閿�");
+ ProcessCategoryInfo[] processCategories = platformClientUtil.getWFService().getProcessCategories(parentId);
+ List<ProcessCategoryInfo> processCategoryInfoList = Arrays.asList(processCategories).stream().sorted((Comparator.comparing(o -> o.id))).collect(Collectors.toList());
+ return processCategoryInfoList;
+ }
+
+ /**
+ * 娴佺▼鍒嗙被鍒嗛〉鏌ヨ
+ * @param baseQueryObject
+ * @return
+ */
+ @Override
+ public DataGrid<ProcessCategoryInfo> getProcessCategoriesByPage(BaseQueryObject baseQueryObject) throws PLException {
+ String parentId = baseQueryObject.getConditionMap().get("parentId");
+ VciBaseUtil.alertNotNull(parentId,"娴佺▼鍒嗙被鐖朵富閿�");
+ int page = baseQueryObject.getPage();
+ int limit = baseQueryObject.getLimit();
+ ProcessCategoryInfo[] processCategories = platformClientUtil.getWFService().getProcessCategoriesByPage(parentId,limit,page);
+ List<ProcessCategoryInfo> processCategoryInfoList = Arrays.asList(processCategories).stream().sorted((Comparator.comparing(o -> o.id))).collect(Collectors.toList());
+ DataGrid<ProcessCategoryInfo> dataGrid = new DataGrid<>();
+ dataGrid.setData(processCategoryInfoList);
+ dataGrid.setPage(page);
+ dataGrid.setLimit(limit);
+ //dataGrid.setTotal();
+ return dataGrid;
+ }
+
+ /**
+ * 淇濆瓨娴佺▼鍒嗙被
+ * @param category
+ * @return 杩斿洖涓婚敭
+ */
+ @Override
+ public String saveProcessCategory(ProcessCategoryInfo category) throws PLException {
+ VciBaseUtil.alertNotNull(category,"娴佺▼鍒嗙被瀵硅薄",category.name,"娴佺▼鍒嗙被鍚嶇О");
+ this.checkNameExisted(category);
+ if(Func.isBlank(category.parentId)){
+ category.parentId = "root";
+ }
+
+ return platformClientUtil.getWFService().saveProcessCategory(category);
+ }
+
+ /**
+ * 淇敼娴佺▼鍒嗙被
+ * @param category
+ * @return
+ */
+ @Override
+ public boolean updateProcessCategory(ProcessCategoryInfo category) throws PLException {
+ VciBaseUtil.alertNotNull(category,"娴佺▼鍒嗙被瀵硅薄",category.name,"娴佺▼鍒嗙被鍚嶇О");
+ if(Func.isBlank(category.parentId)){
+ category.parentId = "root";
+ }
+ this.checkNameExisted(category);
+ return platformClientUtil.getWFService().updateProcessCategory(category);
+ }
+
+ /**
+ * 鍒犻櫎娴佺▼鍒嗙被
+ * @param id
+ * @return
+ * @throws Exception
+ */
+ @Override
+ public boolean deleteProcessCategory(String id) throws Exception {
+ VciBaseUtil.alertNotNull(id,"寰呭垹闄ゆ祦绋嬪垎绫荤殑涓婚敭");
+ ProcessDefinitionInfo[] processDefinitions = platformClientUtil.getWFService().getProcessDefinitions(id);
+ if(processDefinitions.length>0){
+ new VciBaseException( "鍒嗙被涓嬫湁妯℃澘锛岃鍏堝垹闄ゆā鐗堬紒");
+ }
+ return platformClientUtil.getWFService().deleteProcessCategory(id);
+ }
+
+ /**
+ * 鏍规嵁涓婚敭鍜屽悕绉版煡璇㈡祦绋嬪垎绫绘槸鍚﹀瓨鍦�
+ * @param category
+ * @return
+ */
+ private void checkNameExisted(ProcessCategoryInfo category) throws PLException{
+ //鍒ゆ柇鏄惁瀛樺湪鐩稿悓鍚嶇О鐨勬ā鏉垮垎绫�
+ if(platformClientUtil.getWFService().existProcessCategory(category.id, category.name)){
+ throw new VciBaseException("妯℃澘鍒嗙被鐨勫悕绉颁笉鑳介噸澶嶏紒");
+ }
+ }
+
+}
--
Gitblit v1.9.3