Source/Common/PLTSlice/slice/04-workflow.ice
@@ -263,303 +263,303 @@
      
   };
   
   module method {
      interface WorkflowService {
         // 流程分类的增、删、改、查
         data::ProcessCategoryInfoList getProcessCategories(string parentId) throws common::VCIError;
         data::ProcessCategoryInfoList getProcessCategoriesByPage(string parentId,long pageSize,long pageIndex ) throws common::VCIError;
         string saveProcessCategory(data::ProcessCategoryInfo category, common::data::UserEntityInfo userEnt) throws common::VCIError;
         bool updateProcessCategory(data::ProcessCategoryInfo category, common::data::UserEntityInfo userEnt) throws common::VCIError;
         bool deleteProcessCategory(string id, common::data::UserEntityInfo userEnt) throws common::VCIError;
         bool existProcessCategory(string id, string name) throws common::VCIError;
         bool deployProcess(common::data::bytes jbpmImage, string jbpmXml, string graphXml, string processCategoryId, data::ProcessTaskInfoList processTaskInfos, common::data::UserEntityInfo userEnt) throws common::VCIError;
         bool deleteProcessDefinition(string deployId, string pdId, common::data::UserEntityInfo userEnt) throws common::VCIError;
         bool updateProcess(common::data::bytes jbpmImage, string jbpmXml, string graphXml, string processCategoryId, data::ProcessTaskInfoList processTaskInfos, common::data::UserEntityInfo userEnt,string deployId) throws common::VCIError;
         // 根据流程模板部署ID返回流程模板对象
         data::ProcessDefinitionInfo getProcessDefinitionByDeployId(string deployId) throws common::VCIError;
         data::ProcessDefinitionInfoList getProcessDefinitions(string processCategoryId) throws common::VCIError;
         data::ProcessDefinitionInfoList getAllProcessDefinitions() throws common::VCIError;
         //编码专用
         data::ProcessDefinitionInfoList getProcessDefinitionsForRMCode(string processCategoryId) throws common::VCIError;
         data::ProcessDefinitionInfoList getProcessDefinitionsByPage(string processCategoryId,string name,long pageSize,long pageIndex) throws common::VCIError;
         data::ProcessDefinitionInfoList getProcessDefinitionByProcessDefinitionName(string processCategoryName,string processCategoryId) throws common::VCIError;
         common::data::bytes getProcessResource(string jbpmDeploymentId, string resourceType) throws common::VCIError;
         data::ProcessDefinitionInfoList getProcessDefinition(string rmTemplateId, string processType) throws common::VCIError;
         data::ProcessDefinitionInfoList getProcessDefinitionByType(string processType) throws common::VCIError;
         //获取流程定义列表
         data::ProcessDefinitionInfoList getProcessDefinitionAll() throws common::VCIError;
         void saveRMTemplateProcess(string rmTemplateId, common::data::StringArray processTypes, common::data::StringArray jbpmDeployIds, common::data::UserEntityInfo userEnt) throws common::VCIError;
         bool deleteRMTemplateProcess(string rmTemplateId, common::data::UserEntityInfo userEnt) throws common::VCIError;
         bool startProcessInstanceByKey(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome) throws common::VCIError;
         //启动流程,创建流程实例
         string startPocessSetUser(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames) throws common::VCIError;
         string startPocessSetUserForVar(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames,common::data::StringArray keys ,common::data::StringArray values) throws common::VCIError;
         string startPocessByPLM(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames,data::MapTransfersInfoList mapTransfersInfos) throws common::VCIError;
         //添加新启动流程接口,新增参数:对象属性数组,对象属性对应的值二维数组
         string startPocessByPLMv1(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames,data::MapTransfersInfoList mapTransfersInfos,common::data::StringArray objectProperty,common::data::StringArray2D objectPropertyValues) throws common::VCIError;
         //添加新启动流程接口,启动流程并且执行第一个任务节点
         string startProcessAndExecuteFirstNode(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames,data::MapTransfersInfoList mapTransfersInfos,common::data::StringArray objectProperty,common::data::StringArray2D objectPropertyValues) throws common::VCIError;
         //bool startProcessInstanceByKeyForWuyuan(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome) throws common::VCIError;
         //查询待办任务的总条数
         long queryTodoTaskCount(string pluser,string expandSql,common::data::UserEntityInfo userEnt) throws common::VCIError;
         data::FlowTaskInfoList getTodoTaskByUserId(string pluseroid,long first,long pageSize,string taskType,string sql,common::data::UserEntityInfo userEnt)throws common::VCIError;
         data::FlowTaskInfoList getTodoTaskCompositorByUserId(string pluseroid,long first,long pageSize,string taskType,string sql,string orderStr,common::data::UserEntityInfo userEnt)throws common::VCIError;
         //编码资源专用-查询跟踪任务
         long queryTraceTaskCount(string pluser,string expandSql,common::data::UserEntityInfo userEnt) throws common::VCIError;
         data::FlowTaskInfoList getTrackTaskByUserId(string pluseroid,long first,long pageSize,string taskType,string querySQL,common::data::UserEntityInfo userEnt)throws common::VCIError;
         //编码资源专用-查询已办任务
         data::FlowTaskInfoList getDoneTaskByUserId(string pluseroid,long first,long pagesize,string taskType,string querySQL,common::data::UserEntityInfo userEnt)throws common::VCIError;
         data::FlowTaskInfoList getDoneTaskCompositorByUserId(string pluseroid,long first,long pagesize,string taskType,string querySQL,string orderStr,common::data::UserEntityInfo userEnt)throws common::VCIError;
         long queryDoneTaskCount(string pluser,string expandSql,common::data::UserEntityInfo userEnt) throws common::VCIError;
         //查询抄送人信息总数
         long queryCCTaskCount(string pluser,common::data::UserEntityInfo userEnt) throws common::VCIError;
         //抄送人信息列表
         data::FlowTaskInfoList getCCTaskByUserId(string pluseroid,long first,long pageSize,common::data::UserEntityInfo userEnt)throws common::VCIError;
         //查询跟踪任务的总条数
         //long queryTraceTaskCount(string pluser,common::data::UserEntityInfo userEnt,string expandSql) throws common::VCIError;
         long queryMyTraceProcessCount(string pluser,common::data::UserEntityInfo userEnt,string expandSql) throws common::VCIError;
         //data::FlowTaskInfoList getTrackTaskByUserId(string pluseroid,long first,long pageSize,common::data::UserEntityInfo userEnt,string expandSql)throws common::VCIError;
         data::FlowTaskInfoList getMyTrackProcessByUserId(string pluseroid,long first,long pageSize,common::data::UserEntityInfo userEnt,string expandSql)throws common::VCIError;
         data::FlowTaskInfoList getMyTrackProcessCompositorByUserId(string pluseroid,long first,long pageSize,common::data::UserEntityInfo userEnt,string expandSql, string orderStr)throws common::VCIError;
         //根据数据查询流程实例
         data::FlowTaskInfoList getFlowTaskInfoByDataId(string dataId, string tableName)throws common::VCIError;
         bool completeTask(string taskId, string outcome, string nextTask,string approvalNote,common::data::UserEntityInfo userEnt,common::data::StringArray userName)throws common::VCIError;
         bool completeTaskForVar(string taskId, string outcome, string nextTask,string approvalNote,common::data::UserEntityInfo userEnt,common::data::StringArray userName,common::data::StringArray keys ,common::data::StringArray values)throws common::VCIError;
         bool completeTaskByPlatform(string taskId, string outcome, string nextTask,string approvalNote,common::data::UserEntityInfo userEnt,common::data::StringArray userName)throws common::VCIError;
         //新增完成接口,1.增加对象属性数组,2.对象属性和属性值二维数组
         bool completeTaskByPlatformv1(string taskId, string outcome, string nextTask,string approvalNote,common::data::UserEntityInfo userEnt,common::data::StringArray userName,common::data::StringArray objectProperty,common::data::StringArray2D objectPropertyValues)throws common::VCIError;
         //批量执行流程任务--条件是同一模板同一任务节点
         bool completeTasksByPlatformv1(common::data::StringArray taskId, string outcome, string nextTask,string approvalNote,common::data::UserEntityInfo userEnt,common::data::StringArray userName,common::data::StringArray objectProperty,common::data::StringArray2D objectPropertyValues)throws common::VCIError;
         //资源编码用的任务提交事件
         //void completeTask(string taskId, string outcome,string approvalNote,common::data::StringArray userName,common::data::UserEntityInfo userEnt)throws common::VCIError;
         data::ProcessTaskInfo findTaskPropertyById(string jbpmDeploymentId, string name)throws common::VCIError;
         data::ProcessTaskInfo findTaskPropertyByProcessId(string jbpmDeploymentId)throws common::VCIError;
         data::FlowApproveHistoryInfoList getHistoryActivityByProInsId(string processInstanceId)throws common::VCIError;
         data::FlowApproveHistoryInfoList getHistoryActivityByProInsIdbyPLM(string processInstanceId)throws common::VCIError;
         common::data::bytes getExecutionImageByExecutionId(string executionId, string taskName)throws common::VCIError;
         common::data::bytes getExecutionImage(string executionId)throws common::VCIError;
         data::FlowObjectInfoList getFlowObjectByExecutionId(string executionId)throws common::VCIError;
         string getDeploymentIdByExecutionId(string executionId)throws common::VCIError;
         data::FlowInstanceInfoList getFlowInstances(string applicant) throws common::VCIError;
         data::FlowInstanceInfoList getFlowInstancesname(string name) throws common::VCIError;
         string saveFlowInstance(data::FlowInstanceInfo flowInstance, common::data::UserEntityInfo userEnt) throws common::VCIError;
         void endProcessInstance(string  processInstanceId,common::data::UserEntityInfo userEnt)throws common::VCIError;
         void endProcessInstanceByplatform(string  processInstanceId,common::data::UserEntityInfo userEnt)throws common::VCIError;
         data::FlowInstanceInfo getFlowInstanceInfo(string  executionId)throws common::VCIError;
         // 返回任节点上定义的候选人字符串内容
         string getNextCandidatesDefineString(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
         //获取下一任务候选人
         common::data::StringArray getNextCandidates(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
         common::data::StringArray nextTaskCandidateUsers(string excutionId, string taskName)throws common::VCIError;
         //获取下一任务
         common::data::StringArray getNextTaskNames(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
         //获取当前任务候选人
         common::data::StringArray getCurCandidates(string jbpmDeploymentId, string taskName, string outcome, string executionId)throws common::VCIError;
         common::data::StringArray getAllCandidatesForTask(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
         //委托人
         common::data::StringArray getCurConstituents(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
         //获取流向
         common::data::StringArray getTrainName(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
         common::data::bytes getFlowImageByDeployID(string deployID)throws common::VCIError;
         string getDepolymentID(string executionId)throws common::VCIError;
         //data::FlowTaskInfoList getDoneTaskByUserId(string pluseroid,long first,long pagesize,common::data::UserEntityInfo userEnt,string expandSql)throws common::VCIError;
         //long queryDoneTaskCount(string pluser,common::data::UserEntityInfo userEnt,string expandSql) throws common::VCIError;
         //流程监控部分
         data::FlowTaskInfoList getProcessControlByUserId(string pluseroid,long first,long pagesize,string taskType,string querySQL,common::data::UserEntityInfo userEnt)throws common::VCIError;
         long queryProcessControlCount(string pluser,string taskType,common::data::UserEntityInfo userEnt) throws common::VCIError;
         //完成流程
         data::FlowTaskInfoList getDoneProcessByUserId(string pluseroid,long first,long pagesize,string taskType,string querySQL,common::data::UserEntityInfo userEnt)throws common::VCIError;
         long queryDoneProcessCount(string pluser,string taskType,common::data::UserEntityInfo userEnt) throws common::VCIError;
         string getTaskPhaseName(string processDefinitionKey,string jbpmdeploymentid, data::FlowInstanceInfo flowInstance,common::data::UserEntityInfo userEnt) throws common::VCIError;
         common::data::StringArray getDeployId(string taskId) throws common::VCIError;
         //判断key是否重复
         bool checkKey(string name,string keyValue) throws common::VCIError;
         // 返回流程模板的第一个任务对象
         data::ProcessTaskInfo getFirstProcessTask(string jbpmDeploymentId) throws common::VCIError;
         data::ProcessTaskInfo getFirstProcessTaskByExecId(string execId) throws common::VCIError;
         //获取流程下一节点是否是end节点
         bool getProcessTaskByTaskName(string taskId,string taskName,string outcome) throws common::VCIError;
         //查询所有的同意任务任务节点数据
         string getAllNoAgreeProcessTaskByTaskName(string taskId,string taskName,string outcome) throws common::VCIError;
         //流程模板隐藏节点
         bool setNodeHide(string deploymentId) throws common::VCIError;
         data::NodeHideInfoList getNodeHideDeploymentId() throws common::VCIError;
         bool deleteHideFlow(string deployId)throws common::VCIError;
         //根据条件查询指定流程
         data::FlowTaskInfoList getTaskByCondition(common::data::StringArray values,long first,long pagesize,string objectId,common::data::UserEntityInfo userEnt)throws common::VCIError;
         long queryFlowTaskCount(common::data::StringArray values,string objectId,bool  flag ,common::data::UserEntityInfo userEnt) throws common::VCIError;
         //获取流程下一任务名称
         string getNextTaskNameByJbpmId(string jbpmDeploymentId,string taskname,string outcome)throws common::VCIError;
         //获取流程下一任务类型
         string getNextTaskTypeByJbpmId(string jbpmDeploymentId,string taskname,string outcome)throws common::VCIError;
         //获取流程发起人
         string getProcessStartUser(string execId)throws common::VCIError;
         //获取任务ID
         string getProcessTaskId(string execId)throws common::VCIError;
   interface WorkflowService {
      void test();
      
         bool setPocessHide(string jbpmdeplotmentId, short status,common::data::UserEntityInfo userEnt) throws common::VCIError;
         //获取任务描述信息
         data::TaskDescInfoList getTaskDescList(string deploymentId,string taskName) throws common::VCIError;
         data::FlowTaskInfoList getTodoTaskByUser(string pluseroid,long first,long pageSize,common::data::UserEntityInfo userEnt)throws common::VCIError;
         common::data::StringArray getNextTask(string   executionId, string taskName, string outcome)throws common::VCIError;
         common::data::StringArray getUserNames(string executionId, string taskName, string outcome)throws common::VCIError;
         //获取策略列表
         data::TaskRevokeInfoList getTaskRevokeList(string deploymentId,string taskName) throws common::VCIError;
         bool saveOrUpdateTasksAssigned(data::TasksAssignedInfo taskAssigned,common::data::UserEntityInfo userEnt) throws common::VCIError;
         //获取代理人对象
         data::TasksAssignedInfo getTasksAssignedByUserName(string userName , common::data::UserEntityInfo userEnt) throws common::VCIError;
         //
         data::TasksAssignedInfoList getAllTasksAssignedByUserName(string userName , common::data::UserEntityInfo userEnt) throws common::VCIError;
         //删除代理人
         bool deleteTasksAssignedByUserName(common::data::StringArray userName, common::data::UserEntityInfo userEnt) throws common::VCIError;
         // 根据ID数组删除委托
         bool deleteTasksAssignedByIds(common::data::StringArray ids, common::data::UserEntityInfo userEnt) throws common::VCIError;
         //设置任务候选人
         void setParticipation(string nextTaskId,common::data::StringArray userNames)throws common::VCIError;
         //获取下个任务的多有用户包含自定义用户
         common::data::StringArray getAllUserListForTask(string taskName,string deploymentId,string outcome,common::data::StringArray varkey,common::data::StringArray varValue)throws common::VCIError;
      // 流程分类的增、删、改、查
      data::ProcessCategoryInfoList getProcessCategories(string parentId) throws common::VCIError;
      data::ProcessCategoryInfoList getProcessCategoriesByPage(string parentId,long pageSize,long pageIndex ) throws common::VCIError;
      string saveProcessCategory(data::ProcessCategoryInfo category, common::data::UserEntityInfo userEnt) throws common::VCIError;
      bool updateProcessCategory(data::ProcessCategoryInfo category, common::data::UserEntityInfo userEnt) throws common::VCIError;
      bool deleteProcessCategory(string id, common::data::UserEntityInfo userEnt) throws common::VCIError;
      bool existProcessCategory(string id, string name) throws common::VCIError;
      bool deployProcess(common::data::bytes jbpmImage, string jbpmXml, string graphXml, string processCategoryId, data::ProcessTaskInfoList processTaskInfos, common::data::UserEntityInfo userEnt) throws common::VCIError;
      bool deleteProcessDefinition(string deployId, string pdId, common::data::UserEntityInfo userEnt) throws common::VCIError;
      bool updateProcess(common::data::bytes jbpmImage, string jbpmXml, string graphXml, string processCategoryId, data::ProcessTaskInfoList processTaskInfos, common::data::UserEntityInfo userEnt,string deployId) throws common::VCIError;
      // 根据流程模板部署ID返回流程模板对象
      data::ProcessDefinitionInfo getProcessDefinitionByDeployId(string deployId) throws common::VCIError;
      data::ProcessDefinitionInfoList getProcessDefinitions(string processCategoryId) throws common::VCIError;
      data::ProcessDefinitionInfoList getAllProcessDefinitions() throws common::VCIError;
      //编码专用
      data::ProcessDefinitionInfoList getProcessDefinitionsForRMCode(string processCategoryId) throws common::VCIError;
      data::ProcessDefinitionInfoList getProcessDefinitionsByPage(string processCategoryId,string name,long pageSize,long pageIndex) throws common::VCIError;
      data::ProcessDefinitionInfoList getProcessDefinitionByProcessDefinitionName(string processCategoryName,string processCategoryId) throws common::VCIError;
      common::data::bytes getProcessResource(string jbpmDeploymentId, string resourceType) throws common::VCIError;
      data::ProcessDefinitionInfoList getProcessDefinition(string rmTemplateId, string processType) throws common::VCIError;
      data::ProcessDefinitionInfoList getProcessDefinitionByType(string processType) throws common::VCIError;
      //获取流程定义列表
      data::ProcessDefinitionInfoList getProcessDefinitionAll() throws common::VCIError;
      void saveRMTemplateProcess(string rmTemplateId, common::data::StringArray processTypes, common::data::StringArray jbpmDeployIds, common::data::UserEntityInfo userEnt) throws common::VCIError;
      bool deleteRMTemplateProcess(string rmTemplateId, common::data::UserEntityInfo userEnt) throws common::VCIError;
      bool startProcessInstanceByKey(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome) throws common::VCIError;
      //启动流程,创建流程实例
      string startPocessSetUser(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames) throws common::VCIError;
      string startPocessSetUserForVar(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames,common::data::StringArray keys ,common::data::StringArray values) throws common::VCIError;
      string startPocessByPLM(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames,data::MapTransfersInfoList mapTransfersInfos) throws common::VCIError;
      //添加新启动流程接口,新增参数:对象属性数组,对象属性对应的值二维数组
      string startPocessByPLMv1(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames,data::MapTransfersInfoList mapTransfersInfos,common::data::StringArray objectProperty,common::data::StringArray2D objectPropertyValues) throws common::VCIError;
      //添加新启动流程接口,启动流程并且执行第一个任务节点
      string startProcessAndExecuteFirstNode(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames,data::MapTransfersInfoList mapTransfersInfos,common::data::StringArray objectProperty,common::data::StringArray2D objectPropertyValues) throws common::VCIError;
      //bool startProcessInstanceByKeyForWuyuan(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome) throws common::VCIError;
      //查询待办任务的总条数
      long queryTodoTaskCount(string pluser,string expandSql,common::data::UserEntityInfo userEnt) throws common::VCIError;
      data::FlowTaskInfoList getTodoTaskByUserId(string pluseroid,long first,long pageSize,string taskType,string sql,common::data::UserEntityInfo userEnt)throws common::VCIError;
      data::FlowTaskInfoList getTodoTaskCompositorByUserId(string pluseroid,long first,long pageSize,string taskType,string sql,string orderStr,common::data::UserEntityInfo userEnt)throws common::VCIError;
      //编码资源专用-查询跟踪任务
      long queryTraceTaskCount(string pluser,string expandSql,common::data::UserEntityInfo userEnt) throws common::VCIError;
      data::FlowTaskInfoList getTrackTaskByUserId(string pluseroid,long first,long pageSize,string taskType,string querySQL,common::data::UserEntityInfo userEnt)throws common::VCIError;
      //编码资源专用-查询已办任务
      data::FlowTaskInfoList getDoneTaskByUserId(string pluseroid,long first,long pagesize,string taskType,string querySQL,common::data::UserEntityInfo userEnt)throws common::VCIError;
      data::FlowTaskInfoList getDoneTaskCompositorByUserId(string pluseroid,long first,long pagesize,string taskType,string querySQL,string orderStr,common::data::UserEntityInfo userEnt)throws common::VCIError;
      long queryDoneTaskCount(string pluser,string expandSql,common::data::UserEntityInfo userEnt) throws common::VCIError;
      //查询抄送人信息总数
      long queryCCTaskCount(string pluser,common::data::UserEntityInfo userEnt) throws common::VCIError;
      //抄送人信息列表
      data::FlowTaskInfoList getCCTaskByUserId(string pluseroid,long first,long pageSize,common::data::UserEntityInfo userEnt)throws common::VCIError;
      //查询跟踪任务的总条数
      //long queryTraceTaskCount(string pluser,common::data::UserEntityInfo userEnt,string expandSql) throws common::VCIError;
      long queryMyTraceProcessCount(string pluser,common::data::UserEntityInfo userEnt,string expandSql) throws common::VCIError;
      //data::FlowTaskInfoList getTrackTaskByUserId(string pluseroid,long first,long pageSize,common::data::UserEntityInfo userEnt,string expandSql)throws common::VCIError;
      data::FlowTaskInfoList getMyTrackProcessByUserId(string pluseroid,long first,long pageSize,common::data::UserEntityInfo userEnt,string expandSql)throws common::VCIError;
      data::FlowTaskInfoList getMyTrackProcessCompositorByUserId(string pluseroid,long first,long pageSize,common::data::UserEntityInfo userEnt,string expandSql, string orderStr)throws common::VCIError;
      //根据数据查询流程实例
      data::FlowTaskInfoList getFlowTaskInfoByDataId(string dataId, string tableName)throws common::VCIError;
      bool completeTask(string taskId, string outcome, string nextTask,string approvalNote,common::data::UserEntityInfo userEnt,common::data::StringArray userName)throws common::VCIError;
      bool completeTaskForVar(string taskId, string outcome, string nextTask,string approvalNote,common::data::UserEntityInfo userEnt,common::data::StringArray userName,common::data::StringArray keys ,common::data::StringArray values)throws common::VCIError;
      bool completeTaskByPlatform(string taskId, string outcome, string nextTask,string approvalNote,common::data::UserEntityInfo userEnt,common::data::StringArray userName)throws common::VCIError;
      //新增完成接口,1.增加对象属性数组,2.对象属性和属性值二维数组
      bool completeTaskByPlatformv1(string taskId, string outcome, string nextTask,string approvalNote,common::data::UserEntityInfo userEnt,common::data::StringArray userName,common::data::StringArray objectProperty,common::data::StringArray2D objectPropertyValues)throws common::VCIError;
      //批量执行流程任务--条件是同一模板同一任务节点
      bool completeTasksByPlatformv1(common::data::StringArray taskId, string outcome, string nextTask,string approvalNote,common::data::UserEntityInfo userEnt,common::data::StringArray userName,common::data::StringArray objectProperty,common::data::StringArray2D objectPropertyValues)throws common::VCIError;
      //资源编码用的任务提交事件
      //void completeTask(string taskId, string outcome,string approvalNote,common::data::StringArray userName,common::data::UserEntityInfo userEnt)throws common::VCIError;
      data::ProcessTaskInfo findTaskPropertyById(string jbpmDeploymentId, string name)throws common::VCIError;
      data::ProcessTaskInfo findTaskPropertyByProcessId(string jbpmDeploymentId)throws common::VCIError;
      data::FlowApproveHistoryInfoList getHistoryActivityByProInsId(string processInstanceId)throws common::VCIError;
      data::FlowApproveHistoryInfoList getHistoryActivityByProInsIdbyPLM(string processInstanceId)throws common::VCIError;
      common::data::bytes getExecutionImageByExecutionId(string executionId, string taskName)throws common::VCIError;
      common::data::bytes getExecutionImage(string executionId)throws common::VCIError;
      data::FlowObjectInfoList getFlowObjectByExecutionId(string executionId)throws common::VCIError;
      string getDeploymentIdByExecutionId(string executionId)throws common::VCIError;
      data::FlowInstanceInfoList getFlowInstances(string applicant) throws common::VCIError;
      data::FlowInstanceInfoList getFlowInstancesname(string name) throws common::VCIError;
      string saveFlowInstance(data::FlowInstanceInfo flowInstance, common::data::UserEntityInfo userEnt) throws common::VCIError;
      void endProcessInstance(string  processInstanceId,common::data::UserEntityInfo userEnt)throws common::VCIError;
      void endProcessInstanceByplatform(string  processInstanceId,common::data::UserEntityInfo userEnt)throws common::VCIError;
      data::FlowInstanceInfo getFlowInstanceInfo(string  executionId)throws common::VCIError;
      // 返回任节点上定义的候选人字符串内容
      string getNextCandidatesDefineString(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
      //获取下一任务候选人
      common::data::StringArray getNextCandidates(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
      common::data::StringArray nextTaskCandidateUsers(string excutionId, string taskName)throws common::VCIError;
      //获取下一任务
      common::data::StringArray getNextTaskNames(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
      //获取当前任务候选人
      common::data::StringArray getCurCandidates(string jbpmDeploymentId, string taskName, string outcome, string executionId)throws common::VCIError;
      common::data::StringArray getAllCandidatesForTask(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
      //委托人
      common::data::StringArray getCurConstituents(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
      //获取流向
      common::data::StringArray getTrainName(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
      common::data::bytes getFlowImageByDeployID(string deployID)throws common::VCIError;
      string getDepolymentID(string executionId)throws common::VCIError;
      //data::FlowTaskInfoList getDoneTaskByUserId(string pluseroid,long first,long pagesize,common::data::UserEntityInfo userEnt,string expandSql)throws common::VCIError;
      //long queryDoneTaskCount(string pluser,common::data::UserEntityInfo userEnt,string expandSql) throws common::VCIError;
      //流程监控部分
      data::FlowTaskInfoList getProcessControlByUserId(string pluseroid,long first,long pagesize,string taskType,string querySQL,common::data::UserEntityInfo userEnt)throws common::VCIError;
      long queryProcessControlCount(string pluser,string taskType,common::data::UserEntityInfo userEnt) throws common::VCIError;
      //完成流程
      data::FlowTaskInfoList getDoneProcessByUserId(string pluseroid,long first,long pagesize,string taskType,string querySQL,common::data::UserEntityInfo userEnt)throws common::VCIError;
      long queryDoneProcessCount(string pluser,string taskType,common::data::UserEntityInfo userEnt) throws common::VCIError;
      string getTaskPhaseName(string processDefinitionKey,string jbpmdeploymentid, data::FlowInstanceInfo flowInstance,common::data::UserEntityInfo userEnt) throws common::VCIError;
      common::data::StringArray getDeployId(string taskId) throws common::VCIError;
      //判断key是否重复
      bool checkKey(string name,string keyValue) throws common::VCIError;
      // 返回流程模板的第一个任务对象
      data::ProcessTaskInfo getFirstProcessTask(string jbpmDeploymentId) throws common::VCIError;
      data::ProcessTaskInfo getFirstProcessTaskByExecId(string execId) throws common::VCIError;
      //获取流程下一节点是否是end节点
      bool getProcessTaskByTaskName(string taskId,string taskName,string outcome) throws common::VCIError;
      //查询所有的同意任务任务节点数据
      string getAllNoAgreeProcessTaskByTaskName(string taskId,string taskName,string outcome) throws common::VCIError;
      //流程模板隐藏节点
      bool setNodeHide(string deploymentId) throws common::VCIError;
      data::NodeHideInfoList getNodeHideDeploymentId() throws common::VCIError;
      bool deleteHideFlow(string deployId)throws common::VCIError;
      //根据条件查询指定流程
      data::FlowTaskInfoList getTaskByCondition(common::data::StringArray values,long first,long pagesize,string objectId,common::data::UserEntityInfo userEnt)throws common::VCIError;
      long queryFlowTaskCount(common::data::StringArray values,string objectId,bool  flag ,common::data::UserEntityInfo userEnt) throws common::VCIError;
      //获取流程下一任务名称
      string getNextTaskNameByJbpmId(string jbpmDeploymentId,string taskname,string outcome)throws common::VCIError;
      //获取流程下一任务类型
      string getNextTaskTypeByJbpmId(string jbpmDeploymentId,string taskname,string outcome)throws common::VCIError;
      //获取流程发起人
      string getProcessStartUser(string execId)throws common::VCIError;
      //获取任务ID
      string getProcessTaskId(string execId)throws common::VCIError;
   
         /** FlowApproveContent 对象接口 **/
         // 添加、保存 FlowApproveContent 对象
         bool saveFlowApproveContent(data::FlowApproveContentInfo info, common::data::UserEntityInfo userEnt) throws common::VCIError;
         // 修改、更新 FlowApproveContent 对象
         bool updateFlowApproveContent(data::FlowApproveContentInfo info, common::data::UserEntityInfo userEnt) throws common::VCIError;
         // 根据ID删除  FlowApproveContent 对象(批量)
         bool deleteFlowApproveContent(common::data::StringArray ids, common::data::UserEntityInfo userEnt) throws common::VCIError;
         // 返回全部  FlowApproveContent 对象
         data::FlowApproveContentInfoList getFlowApproveContents(common::data::UserEntityInfo userEnt) throws common::VCIError;
         // 根据分页参数返回 FlowApproveContentInfo 对象
         data::FlowApproveContentInfoList getFlowApproveContentByPageing(data::QueryParamInfo queryParam, common::data::UserEntityInfo userEnt, out long total) throws common::VCIError;
         // 根据ID返回  FlowApproveContent 对象
         data::FlowApproveContentInfo getFlowApproveContentById(string id, common::data::UserEntityInfo userEnt) throws common::VCIError;
         bool revokeTask(string taskName, string destActivityName,string executionId) throws common::VCIError;
         bool appointTask(string destActivityName,string tagActivityName,common::data::StringArray classNames,string executionId,common::data::StringArray userNames) throws common::VCIError;
      bool setPocessHide(string jbpmdeplotmentId, short status,common::data::UserEntityInfo userEnt) throws common::VCIError;
      //获取任务描述信息
      data::TaskDescInfoList getTaskDescList(string deploymentId,string taskName) throws common::VCIError;
      data::FlowTaskInfoList getTodoTaskByUser(string pluseroid,long first,long pageSize,common::data::UserEntityInfo userEnt)throws common::VCIError;
      common::data::StringArray getNextTask(string   executionId, string taskName, string outcome)throws common::VCIError;
      common::data::StringArray getUserNames(string executionId, string taskName, string outcome)throws common::VCIError;
      //获取策略列表
      data::TaskRevokeInfoList getTaskRevokeList(string deploymentId,string taskName) throws common::VCIError;
      bool saveOrUpdateTasksAssigned(data::TasksAssignedInfo taskAssigned,common::data::UserEntityInfo userEnt) throws common::VCIError;
      //获取代理人对象
      data::TasksAssignedInfo getTasksAssignedByUserName(string userName , common::data::UserEntityInfo userEnt) throws common::VCIError;
      //
      data::TasksAssignedInfoList getAllTasksAssignedByUserName(string userName , common::data::UserEntityInfo userEnt) throws common::VCIError;
      //删除代理人
      bool deleteTasksAssignedByUserName(common::data::StringArray userName, common::data::UserEntityInfo userEnt) throws common::VCIError;
      // 根据ID数组删除委托
      bool deleteTasksAssignedByIds(common::data::StringArray ids, common::data::UserEntityInfo userEnt) throws common::VCIError;
      //设置任务候选人
      void setParticipation(string nextTaskId,common::data::StringArray userNames)throws common::VCIError;
      //获取下个任务的多有用户包含自定义用户
      common::data::StringArray getAllUserListForTask(string taskName,string deploymentId,string outcome,common::data::StringArray varkey,common::data::StringArray varValue)throws common::VCIError;
      /** FlowApproveContent 对象接口 **/
      // 添加、保存 FlowApproveContent 对象
      bool saveFlowApproveContent(data::FlowApproveContentInfo info, common::data::UserEntityInfo userEnt) throws common::VCIError;
      // 修改、更新 FlowApproveContent 对象
      bool updateFlowApproveContent(data::FlowApproveContentInfo info, common::data::UserEntityInfo userEnt) throws common::VCIError;
      // 根据ID删除  FlowApproveContent 对象(批量)
      bool deleteFlowApproveContent(common::data::StringArray ids, common::data::UserEntityInfo userEnt) throws common::VCIError;
      // 返回全部  FlowApproveContent 对象
      data::FlowApproveContentInfoList getFlowApproveContents(common::data::UserEntityInfo userEnt) throws common::VCIError;
      // 根据分页参数返回 FlowApproveContentInfo 对象
      data::FlowApproveContentInfoList getFlowApproveContentByPageing(data::QueryParamInfo queryParam, common::data::UserEntityInfo userEnt, out long total) throws common::VCIError;
      // 根据ID返回  FlowApproveContent 对象
      data::FlowApproveContentInfo getFlowApproveContentById(string id, common::data::UserEntityInfo userEnt) throws common::VCIError;
         
         bool appointTask2(string destActivityName,string tagActivityName,common::data::StringArray classNames,string executionId,common::data::StringArray userNames,common::data::UserEntityInfo userEnt) throws common::VCIError;
         //获取所有任务列表
         common::data::StringArray getAllTaskNames(string jbpmDeploymentId)throws common::VCIError;
         //获取当前任务的所有流向
         common::data::StringArray getAllOutComes(string taskID) throws common::VCIError;
         common::data::StringArray getOutComesByTaskName(string jbpmDeploymentId,string taskName) throws common::VCIError;
         //获取自定义Url路径
         string getUrlPath(string jbpmDeploymentId,string taskName)throws common::VCIError;
         common::data::StringArray getTrainsitionUrlPath(string jbpmDeploymentId,string taskName,string trainsitionName)throws common::VCIError;
         //转交任务
      //   bool assignTask(string executionId,string username) throws common::VCIError;
         bool assignTask(string fromUsername,string toUsername) throws common::VCIError;
         bool assignTaskByPlatform(string fromUsername,string toUsername) throws common::VCIError;
         bool transmitTask(string taskId,string toUsername,common::data::UserEntityInfo userEnt) throws common::VCIError;
         bool transmitTaskByPlatform(common::data::StringArray taskIds,string toUsername,common::data::UserEntityInfo userEnt) throws common::VCIError;
         //保存抄送人
         bool saveTaskCCInfo(data::TaskCCInfoList infoList) throws common::VCIError;
         //获取抄送人信息
         data::TaskCCInfoList getTaskCCInfos(string jbpmDeploymentId) throws common::VCIError;
         //删除抄送信息
         bool deleteTaskCC(string jbpmDeploymentId,string userName) throws common::VCIError;
         //创建文档
         void creatTxtFile() throws common::VCIError;
         //读取文档
         string readTxtFile() throws common::VCIError;
         //编写文档
         void writeTxtFile(data::EventInfoList eventInfoList) throws common::VCIError;
         //修改文档内容
         void replaceTxtByStr(string oldStr,string replaceStr) throws common::VCIError;
         //保存子流程模板与父模板之间的关系
         void saveSubProcess(data::SubprocessTemInfoList subprocessTemInfos);
         //判断流程是否被引用
         long checkSubprocessQuote(string subProcess);
         //配置任务和用户关系
         void configTaskAndUser(string deploymentId,common::data::StringArray dataIds,common::data::StringArray tasknames,common::data::StringArray2D userNames);
         //通过流程定义ID获取部署ID
         string getDeployIdByProcessDefintionId(string processDifId);
         bool getEndNode(string jbpmDeploymentId,string endTaskName);
         bool isEndNode(string executionId,string endTaskName);
         string getNextTaskAssigner(string executionId,string taskName);
         string getNextSubTaskAssigner(string executionId, string taskName, string outcome);
         // 返回流程执行时的参数值
         string getProcessVariable(string executionId, string varName, common::data::UserEntityInfo userEnt)throws common::VCIError;
         common::data::StringArray getTasksNameByProcessName(common::data::StringArray processNames,common::data::UserEntityInfo userEnt) throws common::VCIError;
         string searchComplateTask(common::data::StringArray param, common::data::UserEntityInfo userEnt)throws common::VCIError;
         data::TasksAssignedInfoList getTasksAssignedByPageing(data::QueryParamInfo queryParam, common::data::UserEntityInfo userEnt, out long total) throws common::VCIError;
         string getTaskId(string currActivityName, string executionId) throws common::VCIError;
         bool moveDefinition(string deploymentId , string categoryId) throws common::VCIError;
         void loadWorkFlowTemplate(string jbpmDeploymentId) throws common::VCIError;
         //判断任务是否有子任务
         common::data::StringArray getsubTasks(string taskId);
         //获取流程部署id
         string getDeploymentID(string processDefinitionKey);
         //获取流程名称
         string getProcessName(string executionid);
         void setTaskAndUserForComplete(string executionid,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames, common::data::UserEntityInfo userEnt) throws common::VCIError;
         common::data::StringArray getFlowTaskInfoByDataIds(common::data::StringArray dataIds,string tableName) throws common::VCIError;
         //流程任务对象
         data::FlowTaskInfo getFlowTaskInfo(string executionid,string taskid) throws common::VCIError;
         string getWorkflowPropertiesValue(string key) throws common::VCIError;
         //add by caill 2016.4.7
         string getEventPropertyValue(string key) throws common::VCIError;
         //by zhangxg
         //保存
         bool savePlwfinstancetemplate(data::PlwfinstancetemplateInfo plwfinstancetemplate,data::PlwfpersonsetList plwfpersonsetList)throws common::VCIError;
         //
         data::PlwfinstancetemplateList getPlwfinstancetemplate()throws common::VCIError;
         //根据主题库分类和是否默认模板
         data::PlwfinstancetemplateList getPlwfinstancetemplateByClassAndDefault(string plclass, string plisdefault)throws common::VCIError;
         data::PlwfinstancetemplateInfo getPlwfinstancetemplateById(string pid)throws common::VCIError;
         //删除
         bool deletePlwfinstance(data::PlwfinstancetemplateInfo plwfinstancetemplate)throws common::VCIError;
         //
         data::PlwfpersonsetList getPlwfpersonset(string tid)throws common::VCIError;
         //删除
         bool deletePlwfpersonset(data::PlwfpersonsetInfo plwfpersonset)throws common::VCIError;
         //重新设置任务节点负责人
         bool resetNodeUser(string executionId, common::data::StringArray taskNames, common::data::StringArray userNames) throws common::VCIError;
      }
      bool revokeTask(string taskName, string destActivityName,string executionId) throws common::VCIError;
      bool appointTask(string destActivityName,string tagActivityName,common::data::StringArray classNames,string executionId,common::data::StringArray userNames) throws common::VCIError;
      bool appointTask2(string destActivityName,string tagActivityName,common::data::StringArray classNames,string executionId,common::data::StringArray userNames,common::data::UserEntityInfo userEnt) throws common::VCIError;
      //获取所有任务列表
      common::data::StringArray getAllTaskNames(string jbpmDeploymentId)throws common::VCIError;
      //获取当前任务的所有流向
      common::data::StringArray getAllOutComes(string taskID) throws common::VCIError;
      common::data::StringArray getOutComesByTaskName(string jbpmDeploymentId,string taskName) throws common::VCIError;
      //获取自定义Url路径
      string getUrlPath(string jbpmDeploymentId,string taskName)throws common::VCIError;
      common::data::StringArray getTrainsitionUrlPath(string jbpmDeploymentId,string taskName,string trainsitionName)throws common::VCIError;
      //转交任务
   //   bool assignTask(string executionId,string username) throws common::VCIError;
      bool assignTask(string fromUsername,string toUsername) throws common::VCIError;
      bool assignTaskByPlatform(string fromUsername,string toUsername) throws common::VCIError;
      bool transmitTask(string taskId,string toUsername,common::data::UserEntityInfo userEnt) throws common::VCIError;
      bool transmitTaskByPlatform(common::data::StringArray taskIds,string toUsername,common::data::UserEntityInfo userEnt) throws common::VCIError;
      //保存抄送人
      bool saveTaskCCInfo(data::TaskCCInfoList infoList) throws common::VCIError;
      //获取抄送人信息
      data::TaskCCInfoList getTaskCCInfos(string jbpmDeploymentId) throws common::VCIError;
      //删除抄送信息
      bool deleteTaskCC(string jbpmDeploymentId,string userName) throws common::VCIError;
      //创建文档
      void creatTxtFile() throws common::VCIError;
      //读取文档
      string readTxtFile() throws common::VCIError;
      //编写文档
      void writeTxtFile(data::EventInfoList eventInfoList) throws common::VCIError;
      //修改文档内容
      void replaceTxtByStr(string oldStr,string replaceStr) throws common::VCIError;
      //保存子流程模板与父模板之间的关系
      void saveSubProcess(data::SubprocessTemInfoList subprocessTemInfos);
      //判断流程是否被引用
      long checkSubprocessQuote(string subProcess);
      //配置任务和用户关系
      void configTaskAndUser(string deploymentId,common::data::StringArray dataIds,common::data::StringArray tasknames,common::data::StringArray2D userNames);
      //通过流程定义ID获取部署ID
      string getDeployIdByProcessDefintionId(string processDifId);
      bool getEndNode(string jbpmDeploymentId,string endTaskName);
      bool isEndNode(string executionId,string endTaskName);
      string getNextTaskAssigner(string executionId,string taskName);
      string getNextSubTaskAssigner(string executionId, string taskName, string outcome);
      // 返回流程执行时的参数值
      string getProcessVariable(string executionId, string varName, common::data::UserEntityInfo userEnt)throws common::VCIError;
      common::data::StringArray getTasksNameByProcessName(common::data::StringArray processNames,common::data::UserEntityInfo userEnt) throws common::VCIError;
      string searchComplateTask(common::data::StringArray param, common::data::UserEntityInfo userEnt)throws common::VCIError;
      data::TasksAssignedInfoList getTasksAssignedByPageing(data::QueryParamInfo queryParam, common::data::UserEntityInfo userEnt, out long total) throws common::VCIError;
      string getTaskId(string currActivityName, string executionId) throws common::VCIError;
      bool moveDefinition(string deploymentId , string categoryId) throws common::VCIError;
      void loadWorkFlowTemplate(string jbpmDeploymentId) throws common::VCIError;
      //判断任务是否有子任务
      common::data::StringArray getsubTasks(string taskId);
      //获取流程部署id
      string getDeploymentID(string processDefinitionKey);
      //获取流程名称
      string getProcessName(string executionid);
      void setTaskAndUserForComplete(string executionid,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames, common::data::UserEntityInfo userEnt) throws common::VCIError;
      common::data::StringArray getFlowTaskInfoByDataIds(common::data::StringArray dataIds,string tableName) throws common::VCIError;
      //流程任务对象
      data::FlowTaskInfo getFlowTaskInfo(string executionid,string taskid) throws common::VCIError;
      string getWorkflowPropertiesValue(string key) throws common::VCIError;
      //add by caill 2016.4.7
      string getEventPropertyValue(string key) throws common::VCIError;
      //by zhangxg
      //保存
      bool savePlwfinstancetemplate(data::PlwfinstancetemplateInfo plwfinstancetemplate,data::PlwfpersonsetList plwfpersonsetList)throws common::VCIError;
      //
      data::PlwfinstancetemplateList getPlwfinstancetemplate()throws common::VCIError;
      //根据主题库分类和是否默认模板
      data::PlwfinstancetemplateList getPlwfinstancetemplateByClassAndDefault(string plclass, string plisdefault)throws common::VCIError;
      data::PlwfinstancetemplateInfo getPlwfinstancetemplateById(string pid)throws common::VCIError;
      //删除
      bool deletePlwfinstance(data::PlwfinstancetemplateInfo plwfinstancetemplate)throws common::VCIError;
      //
      data::PlwfpersonsetList getPlwfpersonset(string tid)throws common::VCIError;
      //删除
      bool deletePlwfpersonset(data::PlwfpersonsetInfo plwfpersonset)throws common::VCIError;
      //重新设置任务节点负责人
      bool resetNodeUser(string executionId, common::data::StringArray taskNames, common::data::StringArray userNames) throws common::VCIError;
   }
}
// }}}