Пример #1
0
        //public void Back(string userId)
        //{
        //    WorkflowContent content = WorkflowInstResolver.CreateContent(WorkflowRow);
        //    using (content)
        //    {
        //        Back(userId, content, null, null);
        //    }
        //}

        public void Unlock()
        {
            ManualStepConfig manualConfig = Config as ManualStepConfig;

            // manualConfig.
            if (manualConfig.HaveUnlock)
            {
                var       row       = Workflow.WorkflowRow;
                StepState stepState = row.WI_STATUS.Value <StepState>();
                if (stepState == StepState.OpenNotProcess)
                {
                    //row.BeginEdit();
                    row.WI_STATUS              = (int)StepState.NotReceive;
                    row.WI_RECEIVE_DATE        = null;
                    row.WI_RECEIVE_ID          = "";
                    row.WI_CURRENT_CREATE_DATE = DateTime.Now;
                    Workflow.Source.Submit();
                    // row.EndEdit();
                    //   WorkflowResolver.SetCommands(AdapterCommand.Update);
                    // UpdateUtil.UpdateTableResolvers(null, WorkflowResolver);
                }
                else
                {
                    throw new AtawException("步骤{0} 的状态不是未接收 无法解锁".AkFormat(manualConfig.DisplayName), this);
                }
            }
            else
            {
                throw new AtawException("步骤{0} 配置 禁止解锁".AkFormat(manualConfig.DisplayName), this);
            }
        }
Пример #2
0
        public bool Back(string backStepName)
        {
            ManualStepConfig manualConfig = Config as ManualStepConfig;

            // var backStepName = string.Empty;
            if (manualConfig.HaveBack)
            {
                if (backStepName.IsAkEmpty())
                {
                    // 否则退到上一人工步骤,如果没有则报错
                    backStepName = WorkflowRow.WI_LAST_MANUAL;
                }
                AtawDebug.AssertNotNullOrEmpty(backStepName, string.Format(ObjectUtil.SysCulture,
                                                                           "人工步骤{0}没有可以回退的上一个人工步骤", manualConfig.Name), this);
            }

            StepConfig backStep = Config.Parent.Steps[backStepName];

            AtawDebug.AssertArgumentNull(backStep, string.Format(ObjectUtil.SysCulture,
                                                                 "指定的人工步骤{0} 不存在", backStepName), this);
            return(StepUtil.BackStep(Workflow, backStep));
        }