From a13255b4129ee8a7a7b7e1ecd8e02dd2c78f7c17 Mon Sep 17 00:00:00 2001
From: 田源 <tianyuan@vci-tech.com>
Date: 星期四, 16 一月 2025 16:19:20 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/SmUserQueryServiceImpl.java | 3
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/src/main/java/com/vci/web/controller/OsLoginController.java | 13 +
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java | 2
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebFlowController.java | 128 ++++++++++++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIEngineServiceI.java | 4
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/util/PlatformClientUtil.java | 15 +
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLoginServiceImpl.java | 17 -
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/src/main/java/com/vci/web/service/OsLoginServiceI.java | 3
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java | 34 ++-
Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/interceptor/VciSessionForLoginI.java | 4
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 | 142 ++++++++++++++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/SmFunctionQueryServicePlatformImpl.java | 5
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/SmSessionForLoginImpl.java | 7
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java | 12
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebProcessCommandServiceImpl.java | 16
20 files changed, 459 insertions(+), 105 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/interceptor/VciSessionForLoginI.java b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/interceptor/VciSessionForLoginI.java
index 8e42f23..50a9d85 100644
--- a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/interceptor/VciSessionForLoginI.java
+++ b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/interceptor/VciSessionForLoginI.java
@@ -1,5 +1,6 @@
package com.vci.starter.web.interceptor;
+import com.vci.corba.common.PLException;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.SessionInfo;
import com.vci.starter.web.pagemodel.TokenVO;
@@ -60,8 +61,9 @@
/**
* 閫�鍑虹櫥褰�
* @param userToken 鐢ㄦ埛鐨勪細璇濊鍙�
+ * @param userId 鐢ㄦ埛id
*/
- void logout(String userToken);
+ void logout(String userToken,String userId) throws PLException;
/**
* 鏍规嵁token鑾峰彇鐢ㄦ埛鍦ㄧ郴缁熶腑杩樺彲浠ュ瓨鍦ㄧ殑鏃堕棿
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/SmUserQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/SmUserQueryServiceImpl.java
index 7b8ea7e..1b5d344 100644
--- a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/SmUserQueryServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/SmUserQueryServiceImpl.java
@@ -1533,7 +1533,8 @@
@Transactional(rollbackFor = Exception.class)
public boolean stopUsers(String[] ids, boolean flag) throws PLException {
VciBaseUtil.alertNotNull(ids,"鍋滅敤/鍚敤鐨勭敤鎴穒d鍒楄〃");
- return platformClientUtil.getFrameworkService().stopUsers(ids, flag,null);
+
+ return platformClientUtil.getFrameworkService().stopUsers(ids, flag,new UserEntityInfo(WebUtil.getCurrentUserId(),"鐢ㄦ埛绠$悊"));
}
/**
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 a699cb6..849d7ed 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
@@ -1,6 +1,7 @@
package com.vci.web.util;
import com.vci.client.common.providers.WebServiceProvider;
+import com.vci.corba.aof.AOFServicePrx;
import com.vci.corba.bofactory.BOFactoryServicePrx;
import com.vci.corba.common.PLException;
import com.vci.corba.framework.FrameworkServicePrx;
@@ -18,7 +19,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;
/**
@@ -95,8 +96,8 @@
* 鑾峰彇娴佺▼鏈嶅姟
* @return 鏈嶅姟鐨勫璞�
*/
- public WorkflowServicePrx getWorkflowService(){
- return WebServiceProvider.getWFService();
+ public WFServicePrx getWFService(){
+ return WebServiceProvider.getFlowService();
}
/**
@@ -237,4 +238,12 @@
public BOFactoryServicePrx getBOFService() {
return WebServiceProvider.getBOFService();
}
+
+ /**
+ * 鑾峰彇杈呭姪瀵硅薄宸ュ巶鏈嶅姟
+ * @return
+ */
+ public AOFServicePrx getAOFService(){
+ return WebServiceProvider.getAOFService();
+ }
}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsLoginController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsLoginController.java
index 097a66e..112c102 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsLoginController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsLoginController.java
@@ -1,6 +1,7 @@
package com.vci.web.controller;
import com.vci.bo.LoginResultBO;
+import com.vci.corba.common.PLException;
import com.vci.dto.LoginUserDTO;
import com.vci.starter.web.annotation.controller.VciUnCheckRight;
import com.vci.starter.web.annotation.log.VciBusinessLog;
@@ -12,6 +13,7 @@
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.starter.web.util.WebThreadLocalUtil;
import com.vci.web.service.OsLoginServiceI;
+import com.zeroc.IceInternal.Ex;
import eu.bitwalker.useragentutils.*;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@@ -179,8 +181,15 @@
@ResponseBody
public BaseResult logout(HttpServletRequest request){
String userToken = request.getHeader(TokenKeyConstant.USER_TOKEN_KEY);
- loginService.logout(userToken);
- return BaseResult.success();
+ try {
+ loginService.logout(userToken);
+ return BaseResult.success("閫�鍑烘垚鍔�");
+ } catch (Exception e) {
+ e.printStackTrace();
+ String errorLog = "鐧诲嚭鏃跺嚭鐜板紓甯革紝鍘熷洜锛�"+ VciBaseUtil.getExceptionMessage(e);
+ logger.error(errorLog);
+ return BaseResult.fail(errorLog);
+ }
}
}
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..86ad5e6
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebFlowController.java
@@ -0,0 +1,128 @@
+package com.vci.web.controller;
+
+import com.vci.corba.wf.data.ProcessCategoryInfo;
+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 getProcessCategoriesByPage(BaseQueryObject baseQueryObject){
+ try {
+ return BaseResult.dataGrid(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/OsLoginServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsLoginServiceI.java
index 182ca2d..50fb3b4 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsLoginServiceI.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsLoginServiceI.java
@@ -1,6 +1,7 @@
package com.vci.web.service;
import com.vci.bo.LoginResultBO;
+import com.vci.corba.common.PLException;
import com.vci.dto.LoginUserDTO;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.RequestClientInfo;
@@ -26,5 +27,5 @@
* @param userToken 鐢ㄦ埛鐨勮鍙爜
* @throws VciBaseException 鍒犻櫎浼氳瘽淇℃伅鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
*/
- void logout(String userToken) throws VciBaseException;
+ void logout(String userToken) throws Exception;
}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIEngineServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIEngineServiceI.java
index bb5853d..f56b887 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIEngineServiceI.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIEngineServiceI.java
@@ -177,7 +177,7 @@
* @param pkComponent 缁勪欢鐨勪富閿�
* @return 鎸夐挳鐨勪俊鎭�
*/
- List<UIButtonDefineVO> listButtonByComponent(String pkComponent, Map<String, RoleRightVO> roleRightMap);
+ List<UIButtonDefineVO> listButtonByComponent(String pkComponent, Map<String, List<RoleRightVO>> roleRightMap);
/**
* 鎸夐挳鐨勬暟鎹璞¤浆鎹负鏄剧ず瀵硅薄
@@ -209,6 +209,6 @@
// UIContentVO UIContentDO2VO(PLPageLayoutDefination pageLayoutDefination, boolean queryDetail);
- UIContentVO UIContentDO2VO(PLUILayout pageLayoutDefination, boolean queryDetail,Map<String, RoleRightVO> roleRightMap);
+ UIContentVO UIContentDO2VO(PLUILayout pageLayoutDefination, boolean queryDetail,Map<String, List<RoleRightVO>> roleRightMap);
}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java
index 8911e1a..460cfed 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java
@@ -213,7 +213,7 @@
* @return
* @throws PLException
*/
- Map<String,RoleRightVO> getRoleRightMap(String roleId) throws PLException;
+ Map<String, List<RoleRightVO>> getRoleRightMap(String roleId) throws PLException;
/**
* UI鎺堟潈
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/OsLoginServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLoginServiceImpl.java
index 9e88c5c..4b0f835 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLoginServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLoginServiceImpl.java
@@ -181,16 +181,6 @@
return loginResult;
}
- //4銆佸垽鏂瘑鐮佹槸鍚︽纭紙骞冲彴鐨刢heckLogin鏂规硶濂藉儚鏈夊瀵嗙爜杩涜姣斿鐨勬柟娉曪級
- /*if (checkPassword) {
- boolean passwordIsEqual = userQueryService.checkPasswordEqual(userDTO.getPassword(), user.getOid());
- if (!passwordIsEqual) {
- if (logger.isDebugEnabled()) {
- logger.debug("{}瀵嗙爜涓嶆纭�", user.getId());
- }
- }
- }*/
-
//5銆佽皟鐢ㄥ钩鍙扮櫥褰曟帴鍙o紝杩涜鐧诲綍
MachineInfo machine = getMachieInfo(clientInfo);
machine.country = clientInfo.getCountry();
@@ -313,7 +303,7 @@
* @throws VciBaseException 鍒犻櫎浼氳瘽淇℃伅鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
*/
@Override
- public void logout(String userToken) throws VciBaseException {
+ public void logout(String userToken) throws Exception {
VciBaseUtil.alertNotNull(userToken,"鐢ㄦ埛鐨勪細璇濊鍙�");
Map<String, Object> logoutpluginBeanMap =ApplicationContextProvider.getApplicationContext().getBeansWithAnnotation(VciLogoutPlugin.class);
if(!CollectionUtils.isEmpty(logoutpluginBeanMap)){
@@ -337,7 +327,10 @@
}
//娓呴櫎瀛樺綋鍓嶇櫥褰曠殑鐢ㄦ埛锛堟�绘暟-1锛�
redisService.decreOnlineUser(VConstant.CURRENT_LOGGED_USERS_KEY);
- sessionForLogin.logout(userToken);
+ sessionForLogin.logout(
+ WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getToken()
+ ,WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId()
+ );
if(!CollectionUtils.isEmpty(logoutpluginBeanMap)){
logoutpluginBeanMap.forEach((k,v) -> {
Method[] methods = v.getClass().getDeclaredMethods();
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..87d55b9 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);
@@ -719,7 +722,7 @@
/* if(resourceControlTypeEnum == null){
resourceControlTypeEnum = ResourceControlTypeEnum.BS;
}*/
- Map<String, RoleRightVO> roleRightMap = uiManagerServiceI.getRoleRightMap(null);
+ Map<String, List<RoleRightVO>> roleRightMap = uiManagerServiceI.getRoleRightMap(null);
for (PLUILayout allPLUILayout : platformClientUtil.getUIService().getAllPLUILayouts()) {
if(treeQueryObject.getConditionMap().getOrDefault("type","").equals(allPLUILayout.plRelatedType)
&& treeQueryObject.getConditionMap().getOrDefault("context","").equals(allPLUILayout.plCode)){
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/SmSessionForLoginImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/SmSessionForLoginImpl.java
index 072665b..de7c6ef 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/SmSessionForLoginImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/SmSessionForLoginImpl.java
@@ -195,12 +195,15 @@
/**
* 閫�鍑虹櫥褰�
- *
+ * 娓呴櫎鐢ㄦ埛session
* @param userToken 鐢ㄦ埛鐨勪細璇濊鍙�
*/
@Override
- public void logout(String userToken) {
+ public void logout(String userToken,String userId) throws PLException {
//TODO 鏍规嵁鎯呭喌锛屽崟鐙鐞�
+ redisService.deleteObject(CacheNameConstant.USERID_TOKEN_KEY + userId);
+ redisService.deleteObject(TokenKeyConstant.TOKEN_KEY_PREFIX_IN_REDIS + userToken);
+ platformClientUtil.getFrameworkService().logoff(userToken);
}
/**
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
index 36e4986..e989fdf 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
@@ -894,7 +894,7 @@
*/
@VciUnLog
@Override
- public UIContentVO UIContentDO2VO(PLUILayout pageLayoutDefination, boolean queryDetail,Map<String, RoleRightVO> roleRightMap){
+ public UIContentVO UIContentDO2VO(PLUILayout pageLayoutDefination, boolean queryDetail,Map<String, List<RoleRightVO>> roleRightMap){
UIContentVO contentVO = new UIContentVO();
if(pageLayoutDefination !=null){
contentVO.setOid(pageLayoutDefination.plOId);
@@ -1014,7 +1014,7 @@
* @param pkContent UI涓婁笅鏂囩殑涓婚敭
* @return 涓婁笅鏂�
*/
- private List<UILayoutVO> listLayoutByContent(String pkContent,Map<String, RoleRightVO> roleRightMap){
+ private List<UILayoutVO> listLayoutByContent(String pkContent,Map<String, List<RoleRightVO>> roleRightMap){
try {
List<PLTabPage> tabPageList = Arrays.stream(platformClientUtil.getUIService().getPLTabPagesByPageDefinationOId(pkContent)).collect(Collectors.toList());
//杩囨护鎺夋病鏈夎闂潈闄愮殑UI
@@ -1030,7 +1030,7 @@
* @param tabPageList
* @param roleRightMap
*/
- private List<PLTabPage> filterTabPageByRoleRight(List<PLTabPage> tabPageList, Map<String, RoleRightVO> roleRightMap){
+ private List<PLTabPage> filterTabPageByRoleRight(List<PLTabPage> tabPageList, Map<String, List<RoleRightVO>> roleRightMap){
if(Func.isEmpty(roleRightMap) || Func.isEmpty(tabPageList)){
return tabPageList;
}
@@ -1060,7 +1060,7 @@
* @param plPageDefinationList
* @param roleRightMap
*/
- private List<PLPageDefination> filterPageDefByRoleRight(List<PLPageDefination> plPageDefinationList, Map<String, RoleRightVO> roleRightMap){
+ private List<PLPageDefination> filterPageDefByRoleRight(List<PLPageDefination> plPageDefinationList, Map<String, List<RoleRightVO>> roleRightMap){
if(Func.isEmpty(roleRightMap) || Func.isEmpty(plPageDefinationList)){
return plPageDefinationList;
}
@@ -1136,7 +1136,7 @@
* @param pages 鍖哄煙鐨勬暟鎹璞�
* @return 鏄剧ず瀵硅薄
*/
- private List<UILayoutVO> UILayoutDO2VOs(Collection<PLTabPage> pages, boolean queryDetail, Map<String, RoleRightVO> roleRightMap){
+ private List<UILayoutVO> UILayoutDO2VOs(Collection<PLTabPage> pages, boolean queryDetail, Map<String, List<RoleRightVO>> roleRightMap){
List<UILayoutVO> contentVOS = new ArrayList<>();
Map<String, OsAttributeVO> attributeVOMap;
if(pages != null && pages.size() > 0){
@@ -1174,7 +1174,7 @@
* @return 鍖哄煙鐨勬樉绀哄璞�
*/
@VciUnLog
- private UILayoutVO UILayoutDO2VO(PLTabPage page, boolean queryDetail,Map<String, OsAttributeVO> attributeVOMap, Map<String, RoleRightVO> roleRightMap){
+ private UILayoutVO UILayoutDO2VO(PLTabPage page, boolean queryDetail,Map<String, OsAttributeVO> attributeVOMap, Map<String, List<RoleRightVO>> roleRightMap){
UILayoutVO layoutVO = new UILayoutVO();
if(page !=null ){
layoutVO.setOid(page.plOId);
@@ -1274,7 +1274,7 @@
* @param pages 鏁版嵁瀵硅薄
* @return 鏄剧ず瀵硅薄
*/
- private List<UIComponentVO> uiComponentDO2VOs(Collection<PLPageDefination> pages, boolean queryDetail,Map<String, OsAttributeVO> attributeVOMap, Map<String, RoleRightVO> roleRightMap){
+ private List<UIComponentVO> uiComponentDO2VOs(Collection<PLPageDefination> pages, boolean queryDetail,Map<String, OsAttributeVO> attributeVOMap, Map<String, List<RoleRightVO>> roleRightMap){
List<UIComponentVO> componentVOS = new ArrayList<>();
pages.stream().forEach(page->{
componentVOS.add(uiComponentDO2VO(page,queryDetail,attributeVOMap,roleRightMap));
@@ -1288,7 +1288,7 @@
* @return 鏄剧ず瀵硅薄
*/
@VciUnLog
- private UIComponentVO uiComponentDO2VO(PLPageDefination page, boolean queryDetail, Map<String, OsAttributeVO> attributeVOMap, Map<String, RoleRightVO> roleRightMap){
+ private UIComponentVO uiComponentDO2VO(PLPageDefination page, boolean queryDetail, Map<String, OsAttributeVO> attributeVOMap, Map<String, List<RoleRightVO>> roleRightMap){
UIComponentVO componentVO = new UIComponentVO();
if(page !=null){
componentVO.setOid(page.plOId);
@@ -1466,7 +1466,7 @@
* @return 鎸夐挳鐨勪俊鎭�
*/
@Override
- public List<UIButtonDefineVO> listButtonByComponent(String pkComponent, Map<String, RoleRightVO> roleRightMap){
+ public List<UIButtonDefineVO> listButtonByComponent(String pkComponent, Map<String, List<RoleRightVO>> roleRightMap){
try {
List<UIButtonDefineVO> buttonDefineVOS = buttonDO2VOs(Arrays.stream(platformClientUtil.getUIService().getPLTabButtonsByTableOId(pkComponent)).collect(Collectors.toSet())).stream().sorted(((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()))).collect(Collectors.toList());
if(Func.isEmpty(roleRightMap)){
@@ -1478,12 +1478,20 @@
while (buttonDefineVO.hasNext()){
UIButtonDefineVO buttonDefine = buttonDefineVO.next();
if(roleRightMap.containsKey(buttonDefine.getPkComponent())) {
- Long rightValue = roleRightMap.get(buttonDefine.getPkComponent()).getRightValue();
+ List<Long> rightValues = roleRightMap.get(buttonDefine.getPkComponent()).stream()
+ .map(e -> e.getRightValue()).collect(Collectors.toList());
int nodeValue = buttonDefine.getOrderNum();
if (nodeValue >= 0 && nodeValue <= 63) {
+ boolean authFlag = false;
//杩涜浣嶄笌鎿嶄綔锛屽鏋滅浉绛夊垯琛ㄧず鍏锋湁褰撳墠鎿嶄綔鐨勬潈闄�
- long preValue = (rightValue >> nodeValue) & 1;
- if (preValue != 1) {
+ for (Long rightValue : rightValues) {
+ long preValue = (rightValue >> nodeValue) & 1;
+ if (preValue == 1) {
+ authFlag = true;
+ break;
+ }
+ }
+ if(!authFlag){
buttonDefineVO.remove();
}
}
@@ -1642,7 +1650,7 @@
throw WebUtil.getVciBaseException(vciError);
}
// 1銆佹牴鎹綋鍓嶈鑹插垽鏂槸绠$悊浜哄憳杩樻槸鏅�氱敤鎴凤紙姝e父鏉ヨ鍙湁鏅�氱敤鎴锋墠浼氱敤鍒拌鏌ヨ鎺ュ彛锛�
- Map<String, RoleRightVO> roleRightMap = uiManagerServiceI.getRoleRightMap(null);
+ Map<String, List<RoleRightVO>> roleRightMap = uiManagerServiceI.getRoleRightMap(null);
// 2銆佹寜鐓у綋鍓嶇櫥褰曠敤鎴锋煡璇㈡潈闄愶紙鍔熻兘鏉冮檺鍜孶I鎺堟潈鐨勬巿鏉冧俊鎭兘鏄斁鍦ㄥ悓涓�寮犺〃閲岀殑锛�
// 3銆佹壘鍑哄綋鍓嶈鏌ヨ鐨刄I涓婁笅鏂�
PLUILayout context = null;
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
index 572c517..e6b6c33 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
@@ -1696,7 +1696,7 @@
String type = StringUtils.isBlank(conditionMap.get("type")) ? "" : conditionMap.get("type");
String context = StringUtils.isBlank(conditionMap.get("context")) ? "" : conditionMap.get("context");
boolean showCheckBox = Boolean.parseBoolean(conditionMap.get("showCheckBox"));
- Map<String,RoleRightVO> roleRightVOMap = new HashMap<>();
+ Map<String, List<RoleRightVO>> roleRightVOMap = new HashMap<>();
if(StringUtils.isNotBlank(roleId)){
roleRightVOMap = this.getRoleRightMap(roleId);
}
@@ -1734,7 +1734,7 @@
* @throws PLException
*/
@Override
- public Map<String,RoleRightVO> getRoleRightMap(String roleId) throws PLException {
+ public Map<String, List<RoleRightVO>> getRoleRightMap(String roleId) throws PLException {
RoleRightInfo[] rightInfos = null;
String userName = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();
if(Func.isBlank(roleId)){
@@ -1743,7 +1743,9 @@
rightInfos = platformClientUtil.getFrameworkService().getRoleRightList(roleId,userName);
}
List<RoleRightVO> roleRightVOList = roleRightDOO2VOS(Arrays.asList(rightInfos));
- Map<String,RoleRightVO> roleRightVOMap = roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVO,(oldValue,newOldValue)->oldValue));
+ //鍒嗙粍鎿嶄綔
+ Map<String, List<RoleRightVO>> roleRightVOMap = roleRightVOList.stream().collect(Collectors.groupingBy(RoleRightVO::getFuncId,
+ Collectors.mapping(e ->e, Collectors.toList())));
return roleRightVOMap;
}
@@ -2145,7 +2147,7 @@
* @param contextList
* @param isShowCheckBox
*/
- private void setChildNode(List<Tree> parentTree, List<PLUILayout>contextList,Map<String,RoleRightVO> roleRightVOMap, boolean isShowCheckBox){
+ private void setChildNode(List<Tree> parentTree, List<PLUILayout>contextList,Map<String, List<RoleRightVO>> roleRightVOMap, boolean isShowCheckBox){
Optional.ofNullable(parentTree).orElseGet(()->new ArrayList<>()).stream().forEach(pTree -> {
Object funcObj = pTree.getData();
List<Tree> chiledTreeList = new ArrayList<>();
@@ -2224,7 +2226,7 @@
PLTabButton plTabButton = (PLTabButton) funcObj;
String id = plTabButton.plTableOId;
if(roleRightVOMap.containsKey(id)){
- RoleRightVO roleRightVO = roleRightVOMap.get(id);
+ RoleRightVO roleRightVO = roleRightVOMap.get(id).get(0);
Long rightValue = roleRightVO.getRightValue();
int nodeValue = plTabButton.plSeq;
if (nodeValue >= 0 && nodeValue <= 63) {
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..6ca01fb
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebFlowServiceImpl.java
@@ -0,0 +1,142 @@
+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.dao.WebProcessDaoI;
+import com.vci.web.service.WebFlowServiceI;
+import com.vci.web.util.PlatformClientUtil;
+import com.vci.web.util.WebUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Date;
+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;
+
+ @Autowired
+ private WebProcessDaoI webProcessDaoI;
+
+ /**
+ * 娴佺▼鍒嗙被鍏ㄦ煡璇�
+ * @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";
+ }
+ long time = new Date().getTime();
+ String userId = WebUtil.getCurrentUserId();
+ category.createTime = time;
+ category.modifyTime = time;
+ category.creator = userId;
+ category.modifer = userId;
+ 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);
+ category.modifyTime = new Date().getTime();
+ category.modifer = WebUtil.getCurrentUserId();
+ 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