protected internal override void UpdateSuspensionState(CommandContext commandContext, ISuspensionState suspensionState) { IExecutionManager executionManager = commandContext.ExecutionManager; ITaskManager taskManager = commandContext.TaskManager; IExternalTaskManager externalTaskManager = commandContext.ExternalTaskManager; if (!string.IsNullOrEmpty(ProcessInstanceId)) { executionManager.UpdateExecutionSuspensionStateByProcessInstanceId(ProcessInstanceId, suspensionState); taskManager.UpdateTaskSuspensionStateByProcessInstanceId(ProcessInstanceId, suspensionState); externalTaskManager.UpdateExternalTaskSuspensionStateByProcessInstanceId(ProcessInstanceId, suspensionState); } else if (!string.IsNullOrEmpty(ProcessDefinitionId)) { executionManager.UpdateExecutionSuspensionStateByProcessDefinitionId(ProcessDefinitionId, suspensionState); taskManager.UpdateTaskSuspensionStateByProcessDefinitionId(ProcessDefinitionId, suspensionState); externalTaskManager.UpdateExternalTaskSuspensionStateByProcessDefinitionId(ProcessDefinitionId, suspensionState); } else if (IsProcessDefinitionTenantIdSet) { executionManager.UpdateExecutionSuspensionStateByProcessDefinitionKeyAndTenantId(ProcessDefinitionKey, ProcessDefinitionTenantId, suspensionState); taskManager.UpdateTaskSuspensionStateByProcessDefinitionKeyAndTenantId(ProcessDefinitionKey, ProcessDefinitionTenantId, suspensionState); externalTaskManager.UpdateExternalTaskSuspensionStateByProcessDefinitionKeyAndTenantId(ProcessDefinitionKey, ProcessDefinitionTenantId, suspensionState); } else { executionManager.UpdateExecutionSuspensionStateByProcessDefinitionKey(ProcessDefinitionKey, suspensionState); taskManager.UpdateTaskSuspensionStateByProcessDefinitionKey(ProcessDefinitionKey, suspensionState); externalTaskManager.UpdateExternalTaskSuspensionStateByProcessDefinitionKey(ProcessDefinitionKey, suspensionState); } }
public virtual void UpdateExternalTaskSuspensionStateByProcessDefinitionKeyAndTenantId( string processDefinitionKey, string processDefinitionTenantId, ISuspensionState suspensionState) { //IDictionary<string, object> parameters = new Dictionary<string, object>(); //parameters["processDefinitionKey"] = processDefinitionKey; //parameters["isProcessDefinitionTenantIdSet"] = true; //parameters["processDefinitionTenantId"] = processDefinitionTenantId; //parameters["suspensionState"] = suspensionState.StateCode; //DbEntityManager.Update(typeof(ExternalTaskEity), "updateExternalTaskSuspensionStateByParameters", ConfigureParameterizedQuery(parameters)); var predicateProc = ParameterBuilder.True <ProcessDefinitionEntity>(); var predicateTask = ParameterBuilder.True <ExternalTaskEntity>(); if (!string.IsNullOrEmpty(processDefinitionKey)) { predicateProc = predicateProc.AndParam(c => c.Key == processDefinitionKey); if (!string.IsNullOrEmpty(processDefinitionTenantId)) { predicateProc = predicateProc.AndParam(c => c.TenantId == processDefinitionTenantId); } else { predicateProc = predicateProc.AndParam(c => c.TenantId == null); } predicateTask = predicateTask.AndParam(c => DbContext.Set <ProcessDefinitionEntity>().Where(predicateProc).Select(p => p.Id).ToList().Contains(c.ProcessDefinitionId)); } Find(predicateTask).ForEach(d => { d.SuspensionState = suspensionState.StateCode; }); }
protected internal override void UpdateSuspensionState(CommandContext commandContext, ISuspensionState suspensionState) { IProcessDefinitionManager processDefinitionManager = commandContext.ProcessDefinitionManager; if (ProcessDefinitionId != null) { processDefinitionManager.UpdateProcessDefinitionSuspensionStateById(ProcessDefinitionId, suspensionState); } else if (IsTenantIdSet) { processDefinitionManager.UpdateProcessDefinitionSuspensionStateByKeyAndTenantId(ProcessDefinitionKey, TenantId, suspensionState); } else { processDefinitionManager.UpdateProcessDefinitionSuspensionStateByKey(ProcessDefinitionKey, suspensionState); } commandContext.RunWithoutAuthorization(() => { var jobDefinitionSuspensionStateBuilder = CreateJobDefinitionCommandBuilder(); var jobDefinitionCmd = GetSetJobDefinitionStateCmd(jobDefinitionSuspensionStateBuilder); jobDefinitionCmd.DisableLogUserOperation(); jobDefinitionCmd.Execute(commandContext); }); }
protected internal override void UpdateSuspensionState(CommandContext commandContext, ISuspensionState suspensionState) { IJobManager jobManager = commandContext.JobManager; if (!string.IsNullOrEmpty(JobId)) { jobManager.UpdateJobSuspensionStateById(JobId, suspensionState); } else if (!string.IsNullOrEmpty(JobDefinitionId)) { jobManager.UpdateJobSuspensionStateByJobDefinitionId(JobDefinitionId, suspensionState); } else if (!string.IsNullOrEmpty(ProcessInstanceId)) { jobManager.UpdateJobSuspensionStateByProcessInstanceId(ProcessInstanceId, suspensionState); } else if (!string.IsNullOrEmpty(ProcessDefinitionId)) { jobManager.UpdateJobSuspensionStateByProcessDefinitionId(ProcessDefinitionId, suspensionState); } else if (!string.IsNullOrEmpty(ProcessDefinitionKey)) { if (!ProcessDefinitionTenantIdSet) { jobManager.UpdateJobSuspensionStateByProcessDefinitionKey(ProcessDefinitionKey, suspensionState); } else { jobManager.UpdateJobSuspensionStateByProcessDefinitionKeyAndTenantId(ProcessDefinitionKey, ProcessDefinitionTenantId, suspensionState); } } }
public static void SetSuspensionState(ITaskEntity taskEntity, ISuspensionState state) { if (taskEntity.SuspensionState == state.StateCode) { throw new ActivitiException("Cannot set suspension state '" + state + "' for " + taskEntity + "': already in state '" + state + "'."); } taskEntity.SuspensionState = state.StateCode; DispatchStateChangeEvent(taskEntity, state); }
public virtual void UpdateProcessDefinitionSuspensionStateByKey(string processDefinitionKey, ISuspensionState suspensionState) { throw new NotImplementedException(); IDictionary <string, object> parameters = new Dictionary <string, object>(); parameters["processDefinitionKey"] = processDefinitionKey; parameters["isTenantIdSet"] = false; parameters["suspensionState"] = suspensionState.StateCode; //DbEntityManager.Update(typeof(ProcessDefinitionEntity), "updateProcessDefinitionSuspensionStateByParameters", ConfigureParameterizedQuery(parameters)); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value == null) { return; } ISuspensionState ss = value as ISuspensionState; writer.WriteValue("{\"stateCode\":" + ss.StateCode + ",\"name\":\"" + ss.Name + "\"}"); }
public virtual IProcessInstanceQuery Suspended() { if (inOrStatement) { this.currentOrQueryObject.suspensionState = SuspensionStateProvider.SUSPENDED; } else { this.suspensionState = SuspensionStateProvider.SUSPENDED; } return(this); }
public virtual IProcessInstanceQuery Active() { if (inOrStatement) { this.currentOrQueryObject.suspensionState = SuspensionStateProvider.ACTIVE; } else { this.suspensionState = SuspensionStateProvider.ACTIVE; } return(this); }
//public virtual long FindJobCountByQueryCriteria(JobQueryImpl jobQuery) //{ // throw new NotImplementedException(); // // ConfigureQuery(jobQuery); // //return (long?) DbEntityManager.SelectOne("selectJobCountByQueryCriteria", jobQuery); //} public virtual void UpdateJobSuspensionStateById(string jobId, ISuspensionState suspensionState) { //IDictionary<string, object> parameters = new Dictionary<string, object>(); //parameters["jobId"] = jobId; //parameters["suspensionState"] = suspensionState.StateCode; //DbEntityManager.Update(typeof(JobEntity), "updateJobSuspensionStateByParameters", ConfigureParameterizedQuery(parameters)); Find(m => m.Id == jobId).ForEach((t) => { t.Revision = t.RevisionNext; t.SuspensionState = suspensionState.StateCode; }); }
protected internal static void DispatchStateChangeEvent(object entity, ISuspensionState state) { if (Context.CommandContext != null && Context.CommandContext.EventDispatcher.Enabled) { ActivitiEventType eventType; if (state == SuspensionStateProvider.ACTIVE) { eventType = ActivitiEventType.ENTITY_ACTIVATED; } else { eventType = ActivitiEventType.ENTITY_SUSPENDED; } Context.CommandContext.EventDispatcher.DispatchEvent(ActivitiEventBuilder.CreateEntityEvent(eventType, entity)); } }
//public virtual long? FindBatchCountByQueryCriteria(BatchQueryImpl batchQuery) //{ // ConfigureQuery(batchQuery); // //return (long?) DbEntityManager.SelectOne("selectBatchCountByQueryCriteria", batchQuery); // throw new System.NotImplementedException(); //} //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @SuppressWarnings("unchecked") public java.Util.List<org.camunda.bpm.engine.batch.IBatch> findBatchesByQueryCriteria(org.camunda.bpm.engine.impl.batch.BatchQueryImpl batchQuery, org.camunda.bpm.engine.impl.Page page) //public virtual IList<IBatch> FindBatchesByQueryCriteria(BatchQueryImpl batchQuery, Page page) //{ // ConfigureQuery(batchQuery); // //return ListExt.ConvertToListT<IBatch>(DbEntityManager.SelectList("selectBatchesByQueryCriteria", batchQuery, page)); // throw new System.NotImplementedException(); //} public virtual void UpdateBatchSuspensionStateById(string batchId, ISuspensionState suspensionState) { //IDictionary<string, object> parameters = new Dictionary<string, object>(); //parameters["batchId"] = batchId; //parameters["suspensionState"] = suspensionState.StateCode; //var queryParameter = new ListQueryParameterObject(); //queryParameter.Parameter = parameters; //DbEntityManager.Update(typeof(BatchEntity), "updateBatchSuspensionStateByParameters", queryParameter); var entity = First(c => c.Id == batchId); if (entity != null) { entity.SuspensionState = suspensionState.StateCode; Update(entity); } }
// update /////////////////////////////////////////////////////////// public virtual void UpdateProcessDefinitionSuspensionStateById(string processDefinitionId, ISuspensionState suspensionState) { #region mybatis-sql-mapping #endregion //throw new NotImplementedException(); //IDictionary<string, object> parameters = new Dictionary<string, object>(); //parameters["processDefinitionId"] = processDefinitionId; //parameters["suspensionState"] = suspensionState.StateCode; //DbEntityManager.Update(typeof(ProcessDefinitionEntity), "updateProcessDefinitionSuspensionStateByParameters", ConfigureParameterizedQuery(parameters)); ProcessDefinitionEntity data = Get(processDefinitionId); data.SuspensionState = suspensionState.StateCode; data.Revision++; Update(data); DbContext.SaveChanges(); }
public virtual void UpdateExecutionSuspensionStateByProcessDefinitionKey(string processDefinitionKey, ISuspensionState suspensionState) { //IDictionary<string, object> parameters = new Dictionary<string, object>(); //parameters["processDefinitionKey"] = processDefinitionKey; //parameters["isTenantIdSet"] = false; //parameters["suspensionState"] = suspensionState.StateCode //DbEntityManager.Update(typeof(ExecutionEntity), "updateExecutionSuspensionStateByParameters", ConfigureParameterizedQuery(parameters)); ; var predicateProc = ParameterBuilder.True <ProcessDefinitionEntity>(); var predicateExec = ParameterBuilder.True <ExecutionEntity>(); if (!string.IsNullOrEmpty(processDefinitionKey)) { predicateProc = predicateProc.AndParam(c => c.Key == processDefinitionKey); predicateExec = predicateExec.AndParam(c => DbContext.Set <ProcessDefinitionEntity>().Where(predicateProc).Select(p => p.Id).ToList().Contains(c.ProcessDefinitionId)); } Find(predicateExec).ForEach(d => { d.Revision = d.RevisionNext; d.SuspensionState = suspensionState.StateCode; }); //DbContext.SaveChanges(); }
public static void SetSuspensionState(IProcessDefinitionEntity processDefinitionEntity, ISuspensionState state) { if (processDefinitionEntity.SuspensionState == state.StateCode) { throw new ActivitiException("Cannot set suspension state '" + state + "' for " + processDefinitionEntity + "': already in state '" + state + "'."); } processDefinitionEntity.SuspensionState = state.StateCode; DispatchStateChangeEvent(processDefinitionEntity, state); }
public virtual void UpdateExecutionSuspensionStateByProcessDefinitionId(string processDefinitionId, ISuspensionState suspensionState) { //IDictionary<string, object> parameters = new Dictionary<string, object>(); //parameters["processDefinitionId"] = processDefinitionId; //parameters["suspensionState"] = suspensionState.StateCode; //DbEntityManager.Update(typeof(ExecutionEntity), "updateExecutionSuspensionStateByParameters", ConfigureParameterizedQuery(parameters)); var predicate = ParameterBuilder.True <ExecutionEntity>(); if (!string.IsNullOrEmpty(processDefinitionId)) { predicate = predicate.AndParam(c => c.ProcessDefinitionId == processDefinitionId); } Find(predicate).ForEach(d => { d.Revision = d.RevisionNext; d.SuspensionState = suspensionState.StateCode; }); //DbContext.SaveChanges(); }
private void TimeStamp(ISuspensionState values) { values[CacheDateKey] = DateTime.Now; }
public virtual void UpdateExecutionSuspensionStateByProcessInstanceId(string processInstanceId, ISuspensionState suspensionState) { //IDictionary<string, object> parameters = new Dictionary<string, object>(); //parameters["processInstanceId"] = processInstanceId; //parameters["suspensionState"] = suspensionState.StateCode; //DbEntityManager.Update(typeof(ExecutionEntity), "updateExecutionSuspensionStateByParameters", ConfigureParameterizedQuery(parameters)); //< update id = "updateExecutionSuspensionStateByParameters" parameterType = "org.camunda.bpm.engine.impl.db.ListQueryParameterObject" > // update ${ prefix} // ACT_RU_EXECUTION set // REV_ = REV_ + 1, // SUSPENSION_STATE_ = #{parameter.suspensionState, jdbcType=INTEGER} //< where > // <if test = "parameter.processInstanceId != null" > // PROC_INST_ID_ = #{parameter.processInstanceId, jdbcType=VARCHAR} // </if> // <if test = "parameter.processDefinitionId != null" > // and PROC_DEF_ID_ = #{parameter.processDefinitionId, jdbcType=VARCHAR} // </if> // <if test = "parameter.processDefinitionKey != null" > // and PROC_DEF_ID_ IN ( // SELECT ID_ // FROM ${ prefix} // ACT_RE_PROCDEF PD // WHERE PD.KEY_ = #{parameter.processDefinitionKey, jdbcType=VARCHAR} // <if test = "parameter.isTenantIdSet" > // <if test = "parameter.tenantId != null" > // and PD.TENANT_ID_ = #{parameter.tenantId, jdbcType=VARCHAR} // </if> // <if test = "parameter.tenantId == null" > // and PD.TENANT_ID_ is null // </if> // </if> // ) // < bind name = "columnPrefix" value = "''" /> // < include refid = "org.camunda.bpm.engine.impl.persistence.entity.TenantEntity.queryTenantCheckWithPrefix" /> // </if> // </ where > // </ update > var predicate = ParameterBuilder.True <ExecutionEntity>(); if (!string.IsNullOrEmpty(processInstanceId)) { predicate = predicate.AndParam(c => c.ProcessInstanceId == processInstanceId); } var executions = Find(predicate); foreach (var exec in executions) { exec.Revision = exec.RevisionNext; exec.SuspensionState = suspensionState.StateCode; } //DbContext.SaveChanges(); }
/// <summary> /// /// </summary> public virtual ProcessInstance GetProcessInstanceById(string processInstanceId, ISuspensionState suspensionState = null) { IProcessInstance processInstance = (runtimeService as ServiceImpl).CommandExecutor.Execute(new Engine.Impl.Cmd.GetProcessInstanceByIdCmd(processInstanceId, suspensionState)); return(processInstanceConverter.From(processInstance)); }
public virtual IProcessDefinitionQuery SetActive() { this.suspensionState = SuspensionStateProvider.ACTIVE; return(this); }
public virtual IProcessDefinitionQuery SetSuspended() { this.suspensionState = SuspensionStateProvider.SUSPENDED; return(this); }
public virtual void UpdateJobDefinitionSuspensionStateByProcessDefinitionKeyAndTenantId(string processDefinitionKey, string processDefinitionTenantId, ISuspensionState suspensionState) { //IDictionary<string, object> parameters = new Dictionary<string, object>(); //parameters["processDefinitionKey"] = processDefinitionKey; //parameters["isProcessDefinitionTenantIdSet"] = true; //parameters["processDefinitionTenantId"] = processDefinitionTenantId; //parameters["suspensionState"] = suspensionState.StateCode; //DbEntityManager.Update(typeof(JobDefinitionEntity), "updateJobDefinitionSuspensionStateByParameters", ConfigureParameterizedQuery(parameters)); //TODO 更新待优化 Update JobDef.SuspensionState throw new NotImplementedException("需要关联ACT_RE_PROCDEF"); //Find(m => m.ProcessDefinitionKey == processDefinitionKey&&m.ProcessDefinitionTenantId).ForEach((t) => //{ // t.Revision = t.Revision + 1; // t.SuspensionState = t.SuspensionState = suspensionState.StateCode; //}); }
public virtual void UpdateStartTimerJobSuspensionStateByProcessDefinitionKey(string processDefinitionKey, ISuspensionState suspensionState) { Find(c => c.ProcessDefinitionKey == processDefinitionKey && c.JobHandlerType == TimerStartEventJobHandler.TYPE) .ForEach((d) => { d.Revision = d.Revision + 1; d.SuspensionState = suspensionState.StateCode; }); //IDictionary<string, object> parameters = new Dictionary<string, object>(); //parameters["processDefinitionKey"] = processDefinitionKey; //parameters["isProcessDefinitionTenantIdSet"] = false; //parameters["suspensionState"] = suspensionState.StateCode; //parameters["handlerType"] = TimerStartEventJobHandler.TYPE; //DbEntityManager.Update(typeof(JobEntity), "updateJobSuspensionStateByParameters", ConfigureParameterizedQuery(parameters)); }
public virtual void UpdateJobSuspensionStateByProcessDefinitionKey(string processDefinitionKey, ISuspensionState suspensionState) { Find(j => j.ProcessDefinitionKey == processDefinitionKey) .ForEach((j) => { j.Revision = j.Revision + 1; j.SuspensionState = suspensionState.StateCode; }); //IDictionary<string, object> parameters = new Dictionary<string, object>(); //parameters["processDefinitionKey"] = processDefinitionKey; //parameters["isProcessDefinitionTenantIdSet"] = false; //parameters["suspensionState"] = suspensionState.StateCode; //DbEntityManager.Update(typeof(JobEntity), "updateJobSuspensionStateByParameters", ConfigureParameterizedQuery(parameters)); }
public virtual void UpdateStartTimerJobSuspensionStateByProcessDefinitionId(string processDefinitionId, ISuspensionState suspensionState) { //IDictionary<string, object> parameters = new Dictionary<string, object>(); //parameters["processDefinitionId"] = processDefinitionId; //parameters["suspensionState"] = suspensionState.StateCode; //parameters["handlerType"] = TimerStartEventJobHandler.TYPE; //DbEntityManager.Update(typeof(JobEntity), "updateJobSuspensionStateByParameters", ConfigureParameterizedQuery(parameters)); var predicate = ParameterBuilder.True <JobEntity>().AndParam(c => c.JobHandlerType == TimerStartEventJobHandler.TYPE); if (!string.IsNullOrEmpty(processDefinitionId)) { predicate = predicate.AndParam(c => c.ProcessDefinitionId == processDefinitionId); } var jobs = Find(predicate); foreach (var job in jobs) { job.Revision = job.RevisionNext; job.SuspensionState = suspensionState.StateCode; } DbContext.SaveChanges(); //Find(m => m.ProcessDefinitionId == processDefinitionId && m.JobHandlerType == TimerStartEventJobHandler.TYPE).ForEach((t) => //{ // t.Revision = t.RevisionNext; // t.SuspensionState = suspensionState.StateCode; // DbContext.SaveChanges(); //}); }
public virtual void UpdateJobDefinitionSuspensionStateByProcessDefinitionId(string processDefinitionId, ISuspensionState suspensionState) { //IDictionary<string, object> parameters = new Dictionary<string, object>(); //parameters["processDefinitionId"] = processDefinitionId; //parameters["suspensionState"] = suspensionState.StateCode; //DbEntityManager.Update(typeof(JobDefinitionEntity), "updateJobDefinitionSuspensionStateByParameters", ConfigureParameterizedQuery(parameters)); //TODO 更新待优化 Update JobDef.SuspensionState Find(m => m.ProcessDefinitionId == processDefinitionId).ForEach((t) => { t.Revision = t.Revision + 1; t.SuspensionState = t.SuspensionState = suspensionState.StateCode; }); }
public virtual void UpdateJobSuspensionStateByProcessDefinitionKeyAndTenantId(string processDefinitionKey, string processDefinitionTenantId, ISuspensionState suspensionState) { //IDictionary<string, object> parameters = new Dictionary<string, object>(); //parameters["processDefinitionKey"] = processDefinitionKey; //parameters["isProcessDefinitionTenantIdSet"] = true; //parameters["processDefinitionTenantId"] = processDefinitionTenantId; //parameters["suspensionState"] = suspensionState.StateCode; //DbEntityManager.Update(typeof(JobEntity), "updateJobSuspensionStateByParameters", ConfigureParameterizedQuery(parameters)); throw new NotImplementedException("复杂查询,更新"); //var list = DbEntityManager.SelectList(m => m.ProcessDefinitionKey == processDefinitionKey && m.ProcessDefinitionId != null && m.TenantId != null && m.TenantId == processDefinitionKey); //foreach (var item in list) //{ // item.suspensionState = suspensionState.StateCode; //} //DbEntityManager.Update(list); }
protected internal abstract void UpdateSuspensionState(CommandContext commandContext, ISuspensionState suspensionState);
public virtual void UpdateStartTimerJobSuspensionStateByProcessDefinitionKeyAndTenantId(string processDefinitionKey, string processDefinitionTenantId, ISuspensionState suspensionState) { IDictionary <string, object> parameters = new Dictionary <string, object>(); parameters["processDefinitionKey"] = processDefinitionKey; parameters["isProcessDefinitionTenantIdSet"] = true; parameters["processDefinitionTenantId"] = processDefinitionTenantId; parameters["suspensionState"] = suspensionState.StateCode; parameters["handlerType"] = TimerStartEventJobHandler.TYPE; throw new NotImplementedException("复杂查询,更新"); //DbEntityManager.Update(typeof(JobEntity), "updateJobSuspensionStateByParameters", ConfigureParameterizedQuery(parameters)); }
public GetProcessInstanceByIdCmd(string instanceId, ISuspensionState suspensionState = null) { this.instanceId = instanceId; this.suspensionState = suspensionState; }