| | |
| | | package com.vci.web.dao.impl; |
| | | |
| | | import com.vci.base.common.utility.ObjectUtility; |
| | | import com.vci.corba.common.VCIError; |
| | | import com.vci.corba.framework.data.UserEntityInfo; |
| | | 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.workflow.WorkflowServicePrx; |
| | | import com.vci.corba.workflow.data.*; |
| | | import com.vci.corba.workflow.method.WorkflowService; |
| | | import com.vci.frameworkcore.compatibility.SmUserQueryServiceI; |
| | | import com.vci.frameworkcore.pagemodel.SmUserVO; |
| | | import com.vci.rmip.workflow.server.template.TasksAssigned; |
| | | import com.vci.starter.web.constant.QueryOptionConstant; |
| | | import com.vci.starter.web.exception.VciBaseException; |
| | | import com.vci.starter.web.pagemodel.DataGrid; |
| | |
| | | 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 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 plm.bs.bom.clientobject.ClientBusinessObject; |
| | | import plm.bs.bom.clientobject.ClientLinkObject; |
| | | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.vci.frameworkcore.constant.FrameWorkBusLangCodeConstant.DATA_OID_NOT_EXIST; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * 平台的流程服务 |
| | | */ |
| | | private WorkflowService workService = null; |
| | | private WorkflowServicePrx workService = null; |
| | | |
| | | /** |
| | | * 平台调用客户端 |
| | |
| | | WebUtil.alertNotNull(executionId,"流程执行主键",key,"参数Key"); |
| | | UserEntityInfo ueo = new UserEntityInfo(); |
| | | SessionInfo si = WebUtil.getCurrentUserSessionInfo(); |
| | | ueo.ip = si.getIp(); |
| | | // ueo..ip = si.getIp(); |
| | | ueo.modules = "流程"; |
| | | ueo.userName = si.getUserId(); |
| | | // while(StringUtils.countMatches(executionId,".")>1){ |
| | |
| | | * @throws VciBaseException |
| | | */ |
| | | @Override |
| | | public List<ClientLinkObject> getDataCloInTask(String taskOid,String executionid) throws VciBaseException { |
| | | public List<ClientLinkObject> 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()); |
| | |
| | | }else { |
| | | caluesList.add("*"); |
| | | } |
| | | List<ClientBusinessObject> cbos = boService.queryCBO(btm, conditionMap,null,caluesList); |
| | | List<com.vci.client.bof.ClientBusinessObject> cbos = boService.queryCBO(btm, conditionMap,null,caluesList); |
| | | data.addAll(boService.cbos2Map(cbos)); |
| | | } |
| | | } |
| | |
| | | PageHelper pageHelper = new PageHelper(-1); |
| | | pageHelper.setSort("endTime"); |
| | | pageHelper.setOrder(pageHelper.asc); |
| | | List<ClientBusinessObject> undoTaskCbos= boService.queryCBO(workitemBtmType, conditionMap); |
| | | List<com.vci.client.bof.ClientBusinessObject> undoTaskCbos= boService.queryCBO(workitemBtmType, conditionMap); |
| | | if(undoTaskCbos != null && undoTaskCbos.size() > 0) { |
| | | for(ClientBusinessObject cbo : undoTaskCbos) { |
| | | for(com.vci.client.bof.ClientBusinessObject cbo : undoTaskCbos) { |
| | | ProcessHistoryVO his = new ProcessHistoryVO(); |
| | | String taskName = cbo.getName(); |
| | | if(StringUtils.contains(taskName,"-")) { |
| | | taskName = taskName.substring(taskName.lastIndexOf("-") + 1); |
| | | } |
| | | his.setTaskName(taskName); |
| | | his.setCreateTime(cbo.getCreateTime()); |
| | | his.setCreateTime(String.valueOf(cbo.getCreateTime())); |
| | | String userIdString = cbo.getAttributeValue("principal"); |
| | | if(StringUtils.contains(userIdString,":")) { |
| | | userIdString = userIdString.substring(userIdString.indexOf(":") + 1); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public WorkflowService getWorkService() throws VciBaseException{ |
| | | public WorkflowServicePrx getWorkService() throws VciBaseException{ |
| | | if(workService == null){ |
| | | try { |
| | | this.workService = platformClientUtil.getLogonFactoryService().getWorkflowService(); |
| | | } catch (VCIError e) { |
| | | // logger.error(e.error_code,e); |
| | | throw WebUtil.getVciBaseException(e); |
| | | } |
| | | this.workService = platformClientUtil.getLogonFactoryService(); |
| | | } |
| | | return workService; |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public TasksAssigned getProxy() throws VciBaseException{ |
| | | TasksAssigned assign = null; |
| | | public TasksAssignedInfo getProxy() throws VciBaseException{ |
| | | TasksAssignedInfo assign = null; |
| | | // try { |
| | | // TasksAssignedInfo taskAss = getWorkService().getTasksAssignedByUserName("", WebUtil.getUserEntityInfo( "流程")); |
| | | // if(taskAss!=null && StringUtils.isNotEmpty(taskAss.id)){ |
| | |
| | | oidList.add(oid); |
| | | } |
| | | //转换成500长度的 |
| | | List<ClientBusinessObject> cboList = new ArrayList<ClientBusinessObject>(); |
| | | List<com.vci.client.bof.ClientBusinessObject> cboList = new ArrayList<com.vci.client.bof.ClientBusinessObject>(); |
| | | 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<ClientBusinessObject> tempCbos = boService.queryCBO(btmType,conditionMap); |
| | | List<com.vci.client.bof.ClientBusinessObject> 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<ClientBusinessObject> tempCbos = boService.queryCBO(btmType,conditionMap); |
| | | List<com.vci.client.bof.ClientBusinessObject> tempCbos = boService.queryCBO(btmType,conditionMap); |
| | | cboList.addAll(tempCbos); |
| | | } |
| | | //找到这个业务类型的起始状态 |