コード例 #1
0
        public virtual void StartBlock12(Sungero.RecordManagement.Server.ReviewDraftResolutionAssignmentArguments e)
        {
            // Добавить адресата в качестве исполнителя.
            e.Block.Performers.Add(_obj.Addressee);

            // Установить срок и тему.
            if (_obj.Deadline.HasValue && _obj.Started.HasValue)
            {
                var deadline       = Sungero.Docflow.PublicFunctions.Module.GetDateWithTime(_obj.Deadline.Value, _obj.Addressee);
                var deadlineInHour = WorkingTime.GetDurationInWorkingHours(_obj.Started.Value, deadline, _obj.Addressee);
                e.Block.RelativeDeadlineHours = deadlineInHour > 0 ? deadlineInHour : 1;
            }
            var document = _obj.DocumentForReviewGroup.OfficialDocuments.First();

            e.Block.Subject = Docflow.PublicFunctions.Module.TrimSpecialSymbols(DocumentReviewTasks.Resources.ReviewDocument, document.Name);

            Docflow.PublicFunctions.Module.SynchronizeAddendaAndAttachmentsGroup(_obj.AddendaGroup, document);

            // Выдать исполнителю права на вложения.
            Functions.DocumentReviewTask.GrantRightForAttachmentsToAssignees(_obj, e.Block.Performers.ToList());
        }
コード例 #2
0
        public virtual void CompleteAssignment12(Sungero.RecordManagement.IReviewDraftResolutionAssignment assignment, Sungero.RecordManagement.Server.ReviewDraftResolutionAssignmentArguments e)
        {
            var document = _obj.DocumentForReviewGroup.OfficialDocuments.First();

            // Заполнить текст резолюции из задания руководителя в задачу.
            if (assignment.Result == Sungero.RecordManagement.ReviewDraftResolutionAssignment.Result.AddResolution)
            {
                _obj.ResolutionText = assignment.ActiveText;
            }

            // Обновить статус исполнения - на исполнении.
            if (assignment.Result == Sungero.RecordManagement.ReviewDraftResolutionAssignment.Result.ForExecution)
            {
                document.ExecutionState = ExecutionState.OnExecution;
            }

            // Обновить статус исполнения - не требует исполнения.
            if (assignment.Result == Sungero.RecordManagement.ReviewDraftResolutionAssignment.Result.Informed)
            {
                document.ExecutionState = ExecutionState.WithoutExecut;
            }

            // Заполнить нового адресата в задаче.
            if (assignment.Result == Sungero.RecordManagement.ReviewDraftResolutionAssignment.Result.Forward)
            {
                Functions.DocumentReviewTask.UpdateReviewTaskAfterForward(_obj, assignment.Addressee);
            }
            if (assignment.NeedDeleteActionItems == true)
            {
                var actionItems = _obj.ResolutionGroup.ActionItemExecutionTasks.ToList();
                _obj.ResolutionGroup.ActionItemExecutionTasks.Clear();
                Functions.Module.DeleteActionItemExecutionTasks(actionItems);
            }
        }
コード例 #3
0
        public virtual void StartAssignment12(Sungero.RecordManagement.IReviewDraftResolutionAssignment assignment, Sungero.RecordManagement.Server.ReviewDraftResolutionAssignmentArguments e)
        {
            // Обновить статус исполнения - на рассмотрении.
            var document = _obj.DocumentForReviewGroup.OfficialDocuments.First();

            document.ExecutionState = ExecutionState.OnReview;
        }