Example #1
0
        public virtual void StartBlock11(Sungero.RecordManagement.Server.PreparingDraftResolutionAssignmentArguments e)
        {
            var addressee = Employees.As(_obj.Addressee);
            var assistant = Docflow.PublicFunctions.Module.GetSecretary(addressee);

            // Добавить адресата в качестве исполнителя.
            e.Block.Performers.Add(assistant);

            // Вычислить дедлайн задания.
            // На подготовку проекта резолюции 4 часа.
            e.Block.RelativeDeadlineHours = 4;

            // Проставляем признак того, что задание для доработки.
            var lastReview = Assignments
                             .GetAll(a => Equals(a.Task, _obj) && Equals(a.TaskStartId, _obj.StartId))
                             .OrderByDescending(a => a.Created)
                             .FirstOrDefault();

            if (lastReview != null && ReviewDraftResolutionAssignments.Is(lastReview) &&
                lastReview.Result == RecordManagement.ReviewDraftResolutionAssignment.Result.AddResolution)
            {
                e.Block.IsRework = true;
            }

            var document = _obj.DocumentForReviewGroup.OfficialDocuments.First();

            var result = Functions.DocumentReviewTask.GetLastAssignmentResult(_obj);

            if (result != RecordManagement.ReviewDraftResolutionAssignment.Result.AddResolution)
            {
                e.Block.Subject = Docflow.PublicFunctions.Module.TrimSpecialSymbols(DocumentReviewTasks.Resources.PrepareDraftResolution, document.Name);
            }
            else
            {
                e.Block.Subject = Docflow.PublicFunctions.Module.TrimSpecialSymbols(DocumentReviewTasks.Resources.ReworkPrepareDraftResolution, document.Name);
            }

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

            // Выдать исполнителю права на вложения.
            Functions.DocumentReviewTask.GrantRightForAttachmentsToAssignees(_obj, e.Block.Performers.ToList());
        }
Example #2
0
        public virtual void CompleteAssignment11(Sungero.RecordManagement.IPreparingDraftResolutionAssignment assignment, Sungero.RecordManagement.Server.PreparingDraftResolutionAssignmentArguments e)
        {
            // Заполнить нового адресата в задаче.
            if (assignment.Result == Sungero.RecordManagement.PreparingDraftResolutionAssignment.Result.Forward)
            {
                Functions.DocumentReviewTask.UpdateReviewTaskAfterForward(_obj, assignment.Addressee);
            }
            if (assignment.NeedDeleteActionItems == true)
            {
                Functions.Module.DeleteActionItemExecutionTasks(_obj.ResolutionGroup.ActionItemExecutionTasks.ToList());
            }

            // Обновить статус исполнения - не требует исполнения.
            var document = _obj.DocumentForReviewGroup.OfficialDocuments.First();

            if (assignment.Result == Sungero.RecordManagement.PreparingDraftResolutionAssignment.Result.Explored)
            {
                document.ExecutionState = ExecutionState.WithoutExecut;
            }
        }
Example #3
0
        public virtual void StartAssignment11(Sungero.RecordManagement.IPreparingDraftResolutionAssignment assignment, Sungero.RecordManagement.Server.PreparingDraftResolutionAssignmentArguments e)
        {
            // Обновить статус исполнения - на рассмотрении.
            var document = _obj.DocumentForReviewGroup.OfficialDocuments.First();

            document.ExecutionState = ExecutionState.OnReview;
            var result = Functions.DocumentReviewTask.GetLastAssignmentResult(_obj);

            if (result == RecordManagement.ReviewDraftResolutionAssignment.Result.AddResolution)
            {
                assignment.ThreadSubject = Sungero.RecordManagement.DocumentReviewTasks.Resources.ReworkDraftResolutionThreadSubject;
            }
        }