Ejemplo n.º 1
0
        public virtual void StartBlock2(Sungero.RecordManagement.Server.ReviewManagerAssignmentArguments e)
        {
            // Добавить адресата в качестве исполнителя.
            e.Block.Performers.Add(_obj.Addressee);

            // Установить срок и тему.
            if (_obj.Deadline.HasValue && _obj.Started.HasValue)
            {
                var deadline       = 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());
        }
Ejemplo n.º 2
0
        public virtual void CompleteAssignment2(Sungero.RecordManagement.IReviewManagerAssignment assignment, Sungero.RecordManagement.Server.ReviewManagerAssignmentArguments e)
        {
            var document = _obj.DocumentForReviewGroup.OfficialDocuments.First();

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

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

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

            // Заполнить нового адресата в задаче.
            if (assignment.Result == Result.Forward)
            {
                Functions.DocumentReviewTask.UpdateReviewTaskAfterForward(_obj, assignment.Addressee);
            }
        }
Ejemplo n.º 3
0
        public virtual void StartAssignment2(Sungero.RecordManagement.IReviewManagerAssignment assignment, Sungero.RecordManagement.Server.ReviewManagerAssignmentArguments e)
        {
            // Обновить статус исполнения - на рассмотрении.
            var document = _obj.DocumentForReviewGroup.OfficialDocuments.First();

            document.ExecutionState = ExecutionState.OnReview;
        }