From 880923102d91ea31315ac67d292e72d9f60ac68c Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 21 六月 2024 17:29:43 +0800
Subject: [PATCH] 修改样式
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/dao/impl/WebProcessDaoImpl.java | 576 +++++++++++++++++++++++++++++++--------------------------
1 files changed, 312 insertions(+), 264 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/dao/impl/WebProcessDaoImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/dao/impl/WebProcessDaoImpl.java
index 17ccc7b..13cf5eb 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/dao/impl/WebProcessDaoImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/dao/impl/WebProcessDaoImpl.java
@@ -1,14 +1,15 @@
package com.vci.web.dao.impl;
-import com.vci.client.bof.ClientLinkObject;
import com.vci.common.utility.ObjectUtility;
import com.vci.corba.common.PLException;
import com.vci.corba.common.data.UserEntityInfo;
-import com.vci.corba.workflow.WorkflowService;
+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.frameworkcore.compatibility.SmUserQueryServiceI;
import com.vci.frameworkcore.pagemodel.SmUserVO;
+import com.vci.omd.utils.ObjectTool;
import com.vci.starter.web.constant.QueryOptionConstant;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.DataGrid;
@@ -17,25 +18,29 @@
import com.vci.starter.web.util.BeanUtil;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.starter.web.util.VciDateUtil;
+import com.vci.web.constant.WFVariablesKeyConstant;
import com.vci.web.dao.WebProcessDaoI;
import com.vci.web.model.ProcessInstance;
import com.vci.web.model.ProcessTask;
import com.vci.web.model.WFProcessClassifyDO;
import com.vci.web.model.WFProcessTemplateDO;
import com.vci.web.pageModel.*;
-import com.vci.web.service.WebBoServiceI;
import com.vci.web.service.OsLifeCycleServiceI;
+import com.vci.web.service.WebBoServiceI;
import com.vci.web.service.WebLoServiceI;
import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.WebUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.util.CollectionUtils;
import java.util.*;
+import java.util.stream.Collectors;
+
import static com.vci.frameworkcore.constant.FrameWorkBusLangCodeConstant.DATA_OID_NOT_EXIST;
/**
@@ -103,16 +108,16 @@
* @throws VciBaseException
*/
private void getCategory() throws VciBaseException {
-// try {
-// ProcessCategoryInfo[] pcia = getWorkService().getProcessCategories("root");
-// if(pcia!=null&&pcia.length>0){
-// for(ProcessCategoryInfo pci : pcia){
-// categoryMap.put(pci.name.toLowerCase(), pci.id);
-// }
-// }
-// } catch (VCIError e) {
-// WebUtil.getVciBaseException(e);
-// }//骞冲彴娌℃湁鏍规嵁鍒嗙被鍚嶇О鑾峰彇娴佺▼鍒嗙被鐨勬帴鍙�
+ try {
+ ProcessCategoryInfo[] pcia = getWorkService().getProcessCategories("root");
+ if(pcia!=null&&pcia.length>0){
+ for(ProcessCategoryInfo pci : pcia){
+ categoryMap.put(pci.name.toLowerCase(), pci.id);
+ }
+ }
+ } catch (PLException e) {
+ WebUtil.getVciBaseException(e);
+ }
}
/**
@@ -129,6 +134,7 @@
WebUtil.alertNotNull(type,"妯℃澘鍒嗙被");
ProcessDefinitionInfo[] allFlowInType = null;
if(StringUtils.isBlank(filterTemplate)) {
+ //鏃犳寚瀹氭ā鏉挎儏鍐典笅锛岃幏鍙栨ā鏉垮垎绫讳笅鐨勬墍鏈夋ā鏉�
type = type.toLowerCase();
if (categoryMap.isEmpty() || !categoryMap.containsKey(type)) {
getCategory();
@@ -139,49 +145,58 @@
} else {
throw new VciBaseException(msgCodePrefix + "typeNotExist", new String[]{type});
}
-// try {
-// allFlowInType = getWorkService().getProcessDefinitions(typeOid);
-// } catch (VCIError e) {
-// throw WebUtil.getVciBaseException(e);
-// }
- }else{
+ try {
+ allFlowInType = getWorkService().getProcessDefinitions(typeOid);
+ } catch (PLException e) {
+ throw WebUtil.getVciBaseException(e);
+ }
+ }else{
List<ProcessDefinitionInfo> infoList = new ArrayList<>();
- VciBaseUtil.str2List(filterTemplate).stream().forEach(name->{
-// 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, "");
-// if(definition!=null){
-// if(StringUtils.isBlank(revision)) {
-// Collections.addAll(infoList, definition);
-// }else{
-// //杩囨护鐗堟湰
-// String finalRevision = revision;
-// infoList.addAll(Arrays.stream(definition).filter(s -> finalRevision.equalsIgnoreCase(String.valueOf(s.version))).collect(Collectors.toList()));
-// }
-// }
-// } catch (VCIError e) {
-// throw WebUtil.getVciBaseException(e);
-// }
- });
+ List<String> templateList = VciBaseUtil.str2List(filterTemplate);
+ if(!CollectionUtils.isEmpty(templateList)){
+ templateList.forEach(name->{
+ 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, "");
+ if(definition!=null){
+ if(StringUtils.isBlank(revision)) {
+ Collections.addAll(infoList, definition);
+ }else{
+ //杩囨护鐗堟湰
+ String finalRevision = revision;
+ infoList.addAll(Arrays.stream(definition).filter(s -> finalRevision.equalsIgnoreCase(String.valueOf(s.version))).collect(Collectors.toList()));
+ }
+ }
+ } catch (PLException e) {
+ throw WebUtil.getVciBaseException(e);
+ }
+ });
+ }
allFlowInType = infoList.toArray(new ProcessDefinitionInfo[0]);
}
return swapProcessTemplate(allFlowInType, type, showAll);
}
-
+
+ /**
+ * 鏍规嵁閮ㄧ讲涓婚敭锛岃幏鍙栨祦绋嬫ā鏉垮璞�
+ * @param deployId 閮ㄧ讲涓婚敭
+ * @return
+ * @throws VciBaseException
+ */
@Override
public ProcessTemplateVO getTemplateByDeployId(String deployId) throws VciBaseException {
WebUtil.alertNotNull(deployId,"娴佺▼閮ㄧ讲涓婚敭");
ProcessDefinitionInfo pdi = null;
-// try {
-// pdi = getWorkService().getProcessDefinitionByDeployId(deployId.trim());
-// } catch (VCIError e) {
-// throw new VciBaseException(msgCodePrefix + "deployIdNotExist", new String[]{deployId});
-// }
+ try {
+ pdi = getWorkService().getProcessDefinitionByDeployId(deployId.trim());
+ } catch (PLException e) {
+ throw new VciBaseException(msgCodePrefix + "deployIdNotExist", new String[]{deployId});
+ }
List<ProcessTemplateVO> proTemplates = swapProcessTemplate(new ProcessDefinitionInfo[]{pdi},"",false);
if(proTemplates == null || proTemplates.size() == 0){
throw new VciBaseException(msgCodePrefix + "deployIdNotExist", new String[]{deployId});
@@ -203,7 +218,7 @@
pt.setName(pd.name);
pt.setStatus(pd.status);
pt.setTaskType(type);
-// pt.setVersion(pd.version);
+ pt.setVersion((int) pd.version);
allTemplate.add(pt);
}
}
@@ -231,19 +246,27 @@
}
return allNode;
}
+
+ /**
+ * 鑾峰彇娴佺▼涓殑绗竴涓妭鐐圭殑鍚嶇О
+ * @param deployId 閮ㄧ讲涓婚敭
+ * @return
+ * @throws VciBaseException
+ */
@Override
public String getFirstNodeName(String deployId) throws VciBaseException {
WebUtil.alertNotNull(deployId,"閮ㄧ讲涓婚敭");
-// try {
-// ProcessTaskInfo firstProcessTask = getWorkService().getFirstProcessTask(deployId);
-// if(firstProcessTask!=null){
-// return firstProcessTask.taskName;
-// }
-// } catch (VCIError e) {
-// throw WebUtil.getVciBaseException(e);
-// }
+ try {
+ ProcessTaskInfo firstProcessTask = getWorkService().getFirstProcessTask(deployId);
+ if(firstProcessTask!=null){
+ return firstProcessTask.taskName;
+ }
+ } catch (PLException e) {
+ throw WebUtil.getVciBaseException(e);
+ }
return null;
}
+
/**
* 鑾峰彇娴佺▼鐨勬墍鏈夎妭鐐瑰悕绉�
* @param processOid
@@ -269,11 +292,11 @@
@Override
public String[] getAllProcessNodeNameByDeploy(String deploymentId) throws VciBaseException{
String[] allTaskNames = null;
-// try {
-// allTaskNames = getWorkService().getAllTaskNames(deploymentId);
-// } catch (VCIError e) {
-// throw WebUtil.getVciBaseException(e);
-// }
+ try {
+ allTaskNames = getWorkService().getAllTaskNames(deploymentId);
+ } catch (PLException e) {
+ throw WebUtil.getVciBaseException(e);
+ }
return allTaskNames;
}
@@ -283,54 +306,65 @@
*/
@Override
public String getJbpmDeploymentId(String processOid) throws VciBaseException{
-// WebUtil.alertNotNull(processOid,"娴佺▼妯℃澘涓婚敭");
-// return getWorkService().getDeploymentID(processOid);
- return null;
+ WebUtil.alertNotNull(processOid,"娴佺▼妯℃澘涓婚敭");
+ return getWorkService().getDeploymentID(processOid);
}
-
+
+ /**
+ * 鑾峰彇娴佺▼妯℃澘瀵瑰簲鐨勫紩鎿庨噷鐨勯儴缃蹭富閿�
+ * @param executionId
+ * @return
+ * @throws VciBaseException
+ */
@Override
public String getJbpmDeploymentIdByExecutionId(String executionId) throws VciBaseException{
WebUtil.alertNotNull(executionId,"娴佺▼鎵ц涓婚敭");
-// try {
-// return getWorkService().getDeploymentIdByExecutionId(executionId);
-// } catch (VCIError e) {
-// throw WebUtil.getVciBaseException(e);
-// }
- return null;
+ try {
+ return getWorkService().getDeploymentIdByExecutionId(executionId);
+ } catch (PLException e) {
+ throw WebUtil.getVciBaseException(e);
+ }
}
-
+
+ /**
+ * 鑾峰彇妯℃澘涓妭鐐硅缃殑璐熻矗浜�
+ * @param deploymentId 寮曟搸涓殑閮ㄧ讲涓婚敭
+ * @param taskName 浠诲姟鑺傜偣鍚嶇О
+ * @return
+ * @throws VciBaseException
+ */
@Override
public ProcessNodeVO getNodePresideUsersByDeploy(String deploymentId, String taskName) throws VciBaseException{
WebUtil.alertNotNull(taskName,"娴佺▼浠诲姟鍚嶇О",deploymentId,"娴佺▼寮曟搸涓殑閮ㄧ讲涓婚敭");
ProcessNodeVO pn = new ProcessNodeVO();
-// pn.setName(taskName);
-// try {
-// String[] nodePresideUsers = getWorkService().getCurCandidates(deploymentId, taskName, "", "");
-// if(nodePresideUsers!=null&& nodePresideUsers.length>0){
-// for(String preUsers : nodePresideUsers){
-// //骞冲彴瀛樺偍鐨勬柟寮忔槸鐢ㄦ埛;瑙掕壊;閮ㄩ棬;鑷畾涔�....
-// if(StringUtils.isNotEmpty(preUsers)){
-// String[] preUsersSplit = preUsers.split("\\;");
-// if(preUsersSplit!=null && preUsersSplit.length>0){
-// if(StringUtils.isNotEmpty(preUsersSplit[0])){
-// pn.setUsers(preUsersSplit[0]);
-// }
-// if(preUsersSplit.length>1 && StringUtils.isNotEmpty(preUsersSplit[1])){
-// pn.setRoles(preUsersSplit[1]);
-// }
-// if(preUsersSplit.length>2 && StringUtils.isNotEmpty(preUsersSplit[2])){
-// pn.setDepts(preUsersSplit[2]);
-// }
-// if(preUsersSplit.length>3 && StringUtils.isNotEmpty(preUsersSplit[3])){
-// pn.setCustomClass(preUsersSplit[3]);
-// }
-// }
-// }
-// }
-// }
-// } catch (VCIError e) {
-// throw WebUtil.getVciBaseException(e);
-// }
+ pn.setName(taskName);
+ try {
+ String[] nodePresideUsers = getWorkService().getCurCandidates(deploymentId, taskName, "", "");
+ if(nodePresideUsers!=null&& nodePresideUsers.length>0){
+ for(String preUsers : nodePresideUsers){
+ //骞冲彴瀛樺偍鐨勬柟寮忔槸鐢ㄦ埛;瑙掕壊;閮ㄩ棬;鑷畾涔�....
+ if(StringUtils.isNotEmpty(preUsers)){
+ String[] preUsersSplit = preUsers.split("\\;");
+ if(preUsersSplit!=null && preUsersSplit.length>0){
+ if(StringUtils.isNotEmpty(preUsersSplit[0])){
+ pn.setUsers(preUsersSplit[0]);
+ }
+ if(preUsersSplit.length>1 && StringUtils.isNotEmpty(preUsersSplit[1])){
+ pn.setRoles(preUsersSplit[1]);
+ }
+ if(preUsersSplit.length>2 && StringUtils.isNotEmpty(preUsersSplit[2])){
+ pn.setDepts(preUsersSplit[2]);
+ }
+ if(preUsersSplit.length>3 && StringUtils.isNotEmpty(preUsersSplit[3])){
+ pn.setCustomClass(preUsersSplit[3]);
+ }
+ }
+ }
+ }
+ }
+ } catch (PLException e) {
+ throw WebUtil.getVciBaseException(e);
+ }
return pn;
}
@@ -351,29 +385,36 @@
}
return getNodePresideUsersByDeploy(deploymentId,taskName);
}
-
+
+ /**
+ * 鑾峰彇浠诲姟鐨勫鐞嗕汉
+ * @param executionid 鎵ц涓婚敭
+ * @param taskName 浠诲姟鍚嶇О
+ * @return
+ * @throws VciBaseException
+ */
@Override
public List<ProcessUserVO> getNodePresideUsersByTask(String executionid, String taskName)
throws VciBaseException{
WebUtil.alertNotNull(executionid,"娴佺▼鎵ц浠诲姟",taskName,"浠诲姟鍚嶇О");
-// if("缁撴潫".equalsIgnoreCase(taskName)){
-// return null;
-// }
+ if("缁撴潫".equalsIgnoreCase(taskName)){
+ return null;
+ }
//涓嶈兘浣跨敤workitem鍘绘煡璇紝鍥犱负鍙兘浠诲姟杩樻病鍒�
-// String users = getWorkService().getNextTaskAssigner(executionid, taskName);
+ String users = getWorkService().getNextTaskAssigner(executionid, taskName);
List<ProcessUserVO> allProUser = new ArrayList<ProcessUserVO>();
-// if(StringUtils.isNotEmpty(users)){
-// String userIds = users.replace("user:", "");//鐜板湪鍙敮鎸佽缃敤鎴�
-// List<SmUserVO> allUser = userQueryService.listUserByUserIds(WebUtil.str2List(userIds));
-// if(allUser!=null && allUser.size()>0){
-// for(SmUserVO user : allUser){
-// ProcessUserVO pu = new ProcessUserVO();
-// BeanUtils.copyProperties(user, pu);
-// pu.setType("user");
-// allProUser.add(pu);
-// }
-// }
-// }
+ if(StringUtils.isNotEmpty(users)){
+ String userIds = users.replace("user:", "");//鐜板湪鍙敮鎸佽缃敤鎴�
+ List<SmUserVO> allUser = userQueryService.listUserByUserIds(WebUtil.str2List(userIds));
+ if(allUser!=null && allUser.size()>0){
+ for(SmUserVO user : allUser){
+ ProcessUserVO pu = new ProcessUserVO();
+ BeanUtils.copyProperties(user, pu);
+ pu.setType("user");
+ allProUser.add(pu);
+ }
+ }
+ }
return allProUser;
}
@@ -552,25 +593,30 @@
BeanUtil.convert(process,processInstanceVO);
return processInstanceVO;
}
-
+
+ /**
+ * 鑾峰彇娴佺▼涓殑鍙橀噺锛屽钩鍙板彧鏀寔瀛楃涓�.....
+ * @param executionId
+ * @param key
+ * @return
+ * @throws VciBaseException
+ */
@Override
public String getVariablesInProcess(String executionId,String key) throws VciBaseException{
WebUtil.alertNotNull(executionId,"娴佺▼鎵ц涓婚敭",key,"鍙傛暟Key");
UserEntityInfo ueo = new UserEntityInfo();
SessionInfo si = WebUtil.getCurrentUserSessionInfo();
-// ueo..ip = si.getIp();
ueo.modules = "娴佺▼";
ueo.userName = si.getUserId();
-// while(StringUtils.countMatches(executionId,".")>1){
-// //璇存槑鏄瓙浠诲姟锛岀敤鐖朵换鍔¤幏鍙栦竴涓嬪彉閲�
-// executionId = executionId.substring(0,executionId.lastIndexOf("."));
-// }
-// try {
-// return getWorkService().getProcessVariable(executionId, key, ueo);
-// } catch (VCIError e) {
-// throw WebUtil.getVciBaseException(e);
-// }
- return null;
+ while(StringUtils.countMatches(executionId,".")>1){
+ //璇存槑鏄瓙浠诲姟锛岀敤鐖朵换鍔¤幏鍙栦竴涓嬪彉閲�
+ executionId = executionId.substring(0,executionId.lastIndexOf("."));
+ }
+ try {
+ return getWorkService().getProcessVariable(executionId, key, ueo);
+ } catch (PLException e) {
+ throw WebUtil.getVciBaseException(e);
+ }
}
/**
@@ -606,7 +652,7 @@
* @throws VciBaseException
*/
@Override
- public List<ClientLinkObject> getDataCloInTask(String taskOid, String executionid) throws VciBaseException {
+ public List<LinkObject> getDataCloInTask(String taskOid, String executionid) throws VciBaseException {
Map<String,String> conditionMap = new HashMap<String, String>();
if(StringUtils.isNotBlank(taskOid)) {
conditionMap.put("f_oid", taskOid.trim());
@@ -619,18 +665,18 @@
}
private DataGrid getData(String linkType,Map<String,String> conditionMap,String referColumns) throws VciBaseException{
- List<ClientLinkObject> clos = loService.queryCLO(taskDataLink, conditionMap);
+ List<LinkObject> clos = loService.queryCLO(taskDataLink, conditionMap);
Map<String,List<String>> btmOidMap = new HashMap<String, List<String>>();
if(clos!=null&&clos.size()>0){
- for(ClientLinkObject clo : clos){
+ for(LinkObject clo : clos){
List<String> oids = null;
- String btm = clo.getToBTMName().toLowerCase();
+ String btm = clo.toBTName.toLowerCase();
if(btmOidMap.containsKey(btm)){
oids = btmOidMap.get(btm);
}else{
oids = new ArrayList<String>();
}
- oids.add(clo.getToOid());
+ oids.add(clo.toOid);
btmOidMap.put(btm, oids);
}
}
@@ -648,7 +694,7 @@
}else {
caluesList.add("*");
}
- List<com.vci.client.bof.ClientBusinessObject> cbos = boService.queryCBO(btm, conditionMap,null,caluesList);
+ List<BusinessObject> cbos = boService.queryCBO(btm, conditionMap,null,caluesList);
data.addAll(boService.cbos2Map(cbos));
}
}
@@ -673,41 +719,41 @@
public List<ProcessHistoryVO> getHistory(String executionId) throws VciBaseException{
WebUtil.alertNotNull(executionId,"娴佺▼鎵ц涓婚敭");
List<ProcessHistoryVO> hisList = new ArrayList<ProcessHistoryVO>();
-// FlowApproveHistoryInfo[] historyActivitys = null;
-// try {
-// historyActivitys = getWorkService().getHistoryActivityByProInsIdbyPLM(executionId);
-// } catch (VCIError e) {
-// throw WebUtil.getVciBaseException(e);
-// }
-// //闇�瑕佸幓闄ゆ湭澶勭悊鐨勯噸澶嶉」
-// for (int i = 0; i < historyActivitys.length; i++) {
-// FlowApproveHistoryInfo historyActivity = historyActivitys[i];
-// ProcessHistoryVO his = new ProcessHistoryVO();
-// his.setTaskName(historyActivity.taskName);
-// his.setOpinin(historyActivity.opinion);//杩欎釜鏄鐞嗘柟寮忥紝灏辨槸鍚屾剰杩樻槸涓嶅悓鎰�
-// his.setCreateTime(historyActivity.createTime);
-// his.setEndTime(historyActivity.endTime);
-// his.setNode(historyActivity.note);
-// his.setAssignee(historyActivity.assignee);
-// his.setExecutionId(historyActivity.executionId);
-// String userIdString = historyActivity.assignee;
-// if(StringUtils.contains(userIdString,":")) {
-// userIdString = userIdString.substring(userIdString.indexOf(":") + 1);
-// }
-// String userShowInfoString = "";
-// SmUserVO user = userQueryService.getUserByUserId(userIdString);
-// if(user != null){
-// userShowInfoString = user.getName() + "(" + user.getId() + ")";
-// }else{
-// userShowInfoString = historyActivity.assignee;
-// }
-// his.setAssigneeName(userShowInfoString);
-// if(StringUtils.isNotBlank(historyActivity.endTime)) {
-// hisList.add(his);
-// }
-// //濡傛灉endTime涓虹┖琛ㄧず鏄緟鍔炵殑锛屼絾鏄湇鍔$鐨勬帴鍙d腑鏈変釜闂鏄紝浼氭妸浼氱鎴栬�呭瓙娴佺▼涓凡缁忓鐞嗙殑鍜屾湭澶勭悊鐨勬贩鍚堝湪涓�璧�
-// //鐩存帴浠庡緟鍔炰换鍔¢噷鍘绘煡璇�
-// }
+ 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];
+ ProcessHistoryVO his = new ProcessHistoryVO();
+ his.setTaskName(historyActivity.taskName);
+ his.setOpinin(historyActivity.opinion);//杩欎釜鏄鐞嗘柟寮忥紝灏辨槸鍚屾剰杩樻槸涓嶅悓鎰�
+ his.setCreateTime(VciDateUtil.date2Str(VciDateUtil.long2Date(historyActivity.createTime), VciDateUtil.DateTimeFormat));
+ his.setEndTime(VciDateUtil.date2Str(VciDateUtil.long2Date(historyActivity.endTime), VciDateUtil.DateTimeFormat));
+ his.setNode(historyActivity.note);
+ his.setAssignee(historyActivity.assignee);
+ his.setExecutionId(historyActivity.executionId);
+ String userIdString = historyActivity.assignee;
+ if(StringUtils.contains(userIdString,":")) {
+ userIdString = userIdString.substring(userIdString.indexOf(":") + 1);
+ }
+ String userShowInfoString = "";
+ SmUserVO user = userQueryService.getUserByUserId(userIdString);
+ if(user != null){
+ userShowInfoString = user.getName() + "(" + user.getId() + ")";
+ }else{
+ userShowInfoString = historyActivity.assignee;
+ }
+ his.setAssigneeName(userShowInfoString);
+ if(StringUtils.isNotBlank(his.getEndTime())) {
+ hisList.add(his);
+ }
+ //濡傛灉endTime涓虹┖琛ㄧず鏄緟鍔炵殑锛屼絾鏄湇鍔$鐨勬帴鍙d腑鏈変釜闂鏄紝浼氭妸浼氱鎴栬�呭瓙娴佺▼涓凡缁忓鐞嗙殑鍜屾湭澶勭悊鐨勬贩鍚堝湪涓�璧�
+ //鐩存帴浠庡緟鍔炰换鍔¢噷鍘绘煡璇�
+ }
Map<String,String> conditionMap = new HashMap<String, String>();
conditionMap.put("businesstype", "5");//鏈」鐩病鏈夊疄闄呯殑鎰忎箟
@@ -726,21 +772,21 @@
PageHelper pageHelper = new PageHelper(-1);
pageHelper.setSort("endTime");
pageHelper.setOrder(pageHelper.asc);
- List<com.vci.client.bof.ClientBusinessObject> undoTaskCbos= boService.queryCBO(workitemBtmType, conditionMap);
+ List<BusinessObject> undoTaskCbos= boService.queryCBO(workitemBtmType, conditionMap);
if(undoTaskCbos != null && undoTaskCbos.size() > 0) {
- for(com.vci.client.bof.ClientBusinessObject cbo : undoTaskCbos) {
+ for(BusinessObject cbo : undoTaskCbos) {
ProcessHistoryVO his = new ProcessHistoryVO();
- String taskName = cbo.getName();
+ String taskName = cbo.name;
if(StringUtils.contains(taskName,"-")) {
taskName = taskName.substring(taskName.lastIndexOf("-") + 1);
}
his.setTaskName(taskName);
- his.setCreateTime(String.valueOf(cbo.getCreateTime()));
- String userIdString = cbo.getAttributeValue("principal");
+ his.setCreateTime(String.valueOf(cbo.createTime));
+ String userIdString = ObjectTool.getBOAttributeValue(cbo,"principal");
if(StringUtils.contains(userIdString,":")) {
userIdString = userIdString.substring(userIdString.indexOf(":") + 1);
}
- his.setAssignee(cbo.getAttributeValue("principal"));
+ his.setAssignee(ObjectTool.getBOAttributeValue(cbo,"principal"));
String userShowInfoString = "";
SmUserVO user = userQueryService.getUserByUserId(userIdString);
if(user != null){
@@ -749,7 +795,7 @@
userShowInfoString = userIdString;
}
his.setAssigneeName(userShowInfoString);
- his.setExecutionId(cbo.getAttributeValue("executionid"));
+ his.setExecutionId(ObjectTool.getBOAttributeValue(cbo,"executionid"));
hisList.add(his);
}
@@ -761,52 +807,65 @@
public byte[] getProcessPicture(String executionId, String taskName)
throws VciBaseException{
WebUtil.alertNotNull(executionId,"娴佺▼鎵ц涓婚敭",taskName,"娴佺▼浠诲姟鍚嶇О");
-// try {
-// byte[] processChart = getWorkService().getExecutionImageByExecutionId(executionId, taskName);
-// return processChart;
-// } catch (Throwable e) {
-// String msg = "鏈夊彲鑳借繖涓换鍔″叧鑱旂殑娴佺▼宸茬粡缁撴潫鎴栬�呰缁堟锛屼笉鑳藉啀鏌ョ湅鍏舵祦绋嬪浘浜�";
-// logger.error(msg,e);
-// throw new VciBaseException(msg);
-// }
- return null;
+ try {
+ byte[] processChart = getWorkService().getExecutionImageByExecutionId(executionId, taskName);
+ return processChart;
+ } catch (Throwable e) {
+ String msg = "鏈夊彲鑳借繖涓换鍔″叧鑱旂殑娴佺▼宸茬粡缁撴潫鎴栬�呰缁堟锛屼笉鑳藉啀鏌ョ湅鍏舵祦绋嬪浘浜�";
+ logger.error(msg,e);
+ throw new VciBaseException(msg);
+ }
}
@Override
public byte[] getProcessTemplatePicture(String executionId)
throws VciBaseException{
-// WebUtil.alertNotNull(executionId,"娴佺▼瀹炰緥涓婚敭");
-// try {
-// byte[] processChart = getWorkService().getFlowImageByDeployID(executionId);
-// return processChart;
-// } catch (VCIError e) {
-// throw WebUtil.getVciBaseException(e);
-// }
- return null;
- }
-
- @Override
- public String[] getAllOutComes(String taskOid) throws VciBaseException{
-// try {
-// return getWorkService().getAllOutComes(taskOid);
-// } catch (VCIError e) {
-// throw WebUtil.getVciBaseException(e);
-// }
- return null;
- }
-
- @Override
- public String getNextTaskName(String executionid, String taskName, String outCome) throws VciBaseException{
-// WebUtil.alertNotNull(executionid,"娴佺▼鎵ц涓婚敭",taskName,"浠诲姟鍚嶇О");
-// String deployId = getJbpmDeploymentIdByExecutionId(executionid);
-// try {
-// return getWorkService().getNextTaskNameByJbpmId(deployId, taskName, outCome);
-// } catch (VCIError e) {
-// throw WebUtil.getVciBaseException(e);
-// }
- return null;
+ WebUtil.alertNotNull(executionId,"娴佺▼瀹炰緥涓婚敭");
+ try {
+ byte[] processChart = getWorkService().getFlowImageByDeployID(executionId);
+ return processChart;
+ } catch (PLException e) {
+ throw WebUtil.getVciBaseException(e);
+ }
}
+ /**
+ * 鑾峰彇浠诲姟鐨勮矾鐢�
+ * @param taskOid jbpm涓殑浠诲姟涓婚敭
+ * @return
+ * @throws VciBaseException
+ */
+ @Override
+ public String[] getAllOutComes(String taskOid) throws VciBaseException{
+ try {
+ return getWorkService().getAllOutComes(taskOid);
+ } catch (PLException e) {
+ throw WebUtil.getVciBaseException(e);
+ }
+ }
+
+ /**
+ * 鑾峰彇涓嬩竴姝ョ殑浠诲姟
+ * @param executionid 娴佺▼鎵ц涓婚敭
+ * @param taskName 褰撳墠浠诲姟鐨勫悕绉�
+ * @param outCome 璺敱鍚嶇О
+ * @return 鍥犱负鏈夊垎鏀殑鎯呭喌锛屾墍浠ヤ笅涓�姝ヤ换鍔′細鏈夊涓�
+ */
+ @Override
+ public String getNextTaskName(String executionid, String taskName, String outCome) throws VciBaseException{
+ WebUtil.alertNotNull(executionid,"娴佺▼鎵ц涓婚敭",taskName,"浠诲姟鍚嶇О");
+ String deployId = getJbpmDeploymentIdByExecutionId(executionid);
+ try {
+ return getWorkService().getNextTaskNameByJbpmId(deployId, taskName, outCome);
+ } catch (PLException e) {
+ throw WebUtil.getVciBaseException(e);
+ }
+ }
+
+ /**
+ * 鑾峰彇骞冲彴鐨勬祦绋嬫湇鍔�
+ * @return
+ */
@Override
public WorkflowServicePrx getWorkService() throws VciBaseException{
if(workService == null){
@@ -846,18 +905,18 @@
taskAss.userName = "";
}
taskAss.TasksName = userId;
-// taskAss.startTime = VciDateUtil.date2Str(startDate, VciDateUtil.DateFormat);
+ taskAss.startTime = VciDateUtil.getTime(startDate);
if(endDate == null){
endDate = VciDateUtil.getDateAddDay(startDate, 30);//榛樿鏈�澶氫唬鐞嗕竴涓湀
}
-// taskAss.endTime = VciDateUtil.date2Str(endDate, VciDateUtil.DateFormat);
-// taskAss.isTrue = isNowEnable?1:0;
+ taskAss.endTime = VciDateUtil.getTime(endDate);
+ taskAss.isTrue = isNowEnable?true:false;
taskAss.fromUser =WebUtil.getCurrentUserSessionInfo().getUserId();
-// try {
-// getWorkService().saveOrUpdateTasksAssigned(taskAss, WebUtil.getUserEntityInfo("娴佺▼"));
-// } catch (VCIError e) {
-// throw WebUtil.getVciBaseException(e);
-// }
+ try {
+ getWorkService().saveOrUpdateTasksAssigned(taskAss, WebUtil.getUserEntityInfo("娴佺▼"));
+ } catch (PLException e) {
+ throw WebUtil.getVciBaseException(e);
+ }
}
@@ -866,32 +925,22 @@
public void endProxy()
throws VciBaseException {
//骞冲彴涓嶆敮鎸佸仠鐢ㄥ惎鐢ㄤ唬鐞嗕俊鎭�..鍙互鏌ヨ鍑烘潵鍐嶉噸鏂版坊鍔犮��
-// try {
-// UserEntityInfo uei = WebUtil.getUserEntityInfo( "娴佺▼");
-// getWorkService().deleteTasksAssignedByUserName(new String[]{uei.userName}, uei);
-// } catch (VCIError e) {
-// throw WebUtil.getVciBaseException(e);
-// }
+ try {
+ UserEntityInfo uei = WebUtil.getUserEntityInfo( "娴佺▼");
+ getWorkService().deleteTasksAssignedByUserName(new String[]{uei.userName}, uei);
+ } catch (PLException e) {
+ throw WebUtil.getVciBaseException(e);
+ }
}
@Override
public TasksAssignedInfo getProxy() throws VciBaseException{
TasksAssignedInfo assign = null;
-// try {
-// TasksAssignedInfo taskAss = getWorkService().getTasksAssignedByUserName("", WebUtil.getUserEntityInfo( "娴佺▼"));
-// if(taskAss!=null && StringUtils.isNotEmpty(taskAss.id)){
-// assign = new TasksAssigned();
-// assign.setId(taskAss.id);
-// assign.setTasksName(taskAss.TasksName);
-// assign.setStartTime(taskAss.startTime);
-// assign.setEndTime(taskAss.endTime);
-// assign.setFromUser(taskAss.fromUser);
-// assign.setIsTrue(taskAss.isTrue);
-// assign.setUserName(taskAss.userName);
-// }
-// } catch (VCIError e) {
-// throw WebUtil.getVciBaseException(e);
-// }
+ try {
+ assign = getWorkService().getTasksAssignedByUserName("", WebUtil.getUserEntityInfo( "娴佺▼"));
+ } catch (PLException e) {
+ throw WebUtil.getVciBaseException(e);
+ }
return assign;
}
@@ -903,24 +952,24 @@
*/
@Override
public void endProcess(String executionId) throws VciBaseException {
-// try {
+ try {
DataGrid dataGrid = getDataByProcess(executionId,null);
//鍏堣幏鍙栦竴涓�
UserEntityInfo userEntityInfo = WebUtil.getUserEntityInfo("娴佺▼");
String resetStatus = null;
-// try{
-// resetStatus = getWorkService().getProcessVariable(executionId, WFVariablesKeyConstant.RESET_STATUS, userEntityInfo);
-// }catch (Throwable e){
-// logger.error("鑾峰彇娴佺▼鐨勫彉閲忓嚭閿�",e);
-// }
-// getWorkService().endProcessInstanceByplatform(executionId,userEntityInfo);
+ try{
+ resetStatus = getWorkService().getProcessVariable(executionId, WFVariablesKeyConstant.RESET_STATUS, userEntityInfo);
+ }catch (Throwable e){
+ logger.error("鑾峰彇娴佺▼鐨勫彉閲忓嚭閿�",e);
+ }
+ getWorkService().endProcessInstanceByplatform(executionId,userEntityInfo);
//骞冲彴娌℃湁鑷姩灏嗕笟鍔℃暟鎹仮澶嶅埌涔嬪墠鐨勭姸鎬�
if(StringUtils.isNotBlank(resetStatus)){
resetLcStatusForBusinessData(dataGrid.getData(),resetStatus);
}
-// } catch (VCIError vciError) {
-// throw WebUtil.getVciBaseException(vciError);
-// }
+ } catch (PLException vciError) {
+ throw WebUtil.getVciBaseException(vciError);
+ }
}
private void resetLcStatusForBusinessData(List<Map> bussinesDataList,String resetStatus) throws VciBaseException{
@@ -936,19 +985,19 @@
oidList.add(oid);
}
//杞崲鎴�500闀垮害鐨�
- List<com.vci.client.bof.ClientBusinessObject> cboList = new ArrayList<com.vci.client.bof.ClientBusinessObject>();
+ List<BusinessObject> cboList = new ArrayList<BusinessObject>();
if(oidList.size()>500){
List<List<String>> oidListForIn = WebUtil.switchListForOracleIn(oidList);
for(List<String> oidListForInRecord : oidListForIn){
Map<String,String> conditionMap = new HashMap<String, String>();
conditionMap.put("oid",QueryOptionConstant.IN + "(" + WebUtil.toInSql(oidListForInRecord.toArray(new String[0])) + ")" );
- List<com.vci.client.bof.ClientBusinessObject> tempCbos = boService.queryCBO(btmType,conditionMap);
+ List<BusinessObject> tempCbos = boService.queryCBO(btmType,conditionMap);
cboList.addAll(tempCbos);
}
}else{
Map<String,String> conditionMap = new HashMap<String, String>();
conditionMap.put("oid",QueryOptionConstant.IN + "(" + WebUtil.toInSql(oidList.toArray(new String[0])) + ")" );
- List<com.vci.client.bof.ClientBusinessObject> tempCbos = boService.queryCBO(btmType,conditionMap);
+ List<BusinessObject> tempCbos = boService.queryCBO(btmType,conditionMap);
cboList.addAll(tempCbos);
}
//鎵惧埌杩欎釜涓氬姟绫诲瀷鐨勮捣濮嬬姸鎬�
@@ -1004,12 +1053,11 @@
@Override
public byte[] getProcessXmlContent(String jbpmDeploymentId) throws VciBaseException {
WebUtil.alertNotNull("娴佺▼鎵ц涓婚敭淇℃伅",jbpmDeploymentId);
-// try {
-// return getWorkService().getProcessResource(jbpmDeploymentId,".xml");
-// } catch (VCIError e) {
-// throw WebUtil.getVciBaseException(e);
-// }
- return null;
+ try {
+ return getWorkService().getProcessResource(jbpmDeploymentId,".xml");
+ } catch (PLException e) {
+ throw WebUtil.getVciBaseException(e);
+ }
}
/**
--
Gitblit v1.9.3