Дипломная работа: Автоматизация учета и обработки заявок пользователей на техническую поддержку (Help Desk) в ООО "Сфера ИТ"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
81
);
Set a responsible
my $Success = $TicketObject->TicketResponsibleSet(
TicketID => $TicketID,
NewUserID => 3,
UserID => 1,
);
Add something to the history
my $Success = $TicketObject->HistoryAdd(
Name => 'Some Comment',
HistoryType => 'Move',
TicketID => $TicketID,
CreateUserID => 1,
);
Get the complete ticket history
my @HistoryLines = $TicketObject->HistoryGet(
TicketID => $TicketID,
UserID => 1,
);
Get current ticket attributes
my %Ticket = $TicketObject->TicketGet(
TicketID => $TicketID,
82
UserID => 1,
);
Delete the ticket
my $Success = $TicketObject->TicketDelete(
TicketID => $TicketID,
UserID => 1,
);
=head1 PUBLIC INTERFACE
=head2 new()
Don't use the constructor directly, use the ObjectManager instead:
my $TicketObject = $Kernel::OM->Get('Kernel::System::Ticket');
=cut
sub new {
my ( $Type, %Param ) = @_;
# allocate new hash for object
my $Self = {};
bless( $Self, $Type );
# 0=off; 1=on;
$Self->{Debug} = $Param{Debug} || 0;
83
$Self->{CacheType} = 'Ticket';
$Self->{CacheTTL} = 60 * 60 * 24 * 20;
# init of event handler
$Self->EventHandlerInit(
Config => 'Ticket::EventModulePost',
);
# get needed objects
my $ConfigObject = $Kernel::OM->Get('Kernel::Config');
my $MainObject = $Kernel::OM->Get('Kernel::System::Main');
# load ticket extension modules
my $CustomModule = $ConfigObject->Get('Ticket::CustomModule');
if ($CustomModule) {
my %ModuleList;
if ( ref $CustomModule eq 'HASH' ) {
%ModuleList = %{$CustomModule};
}
else {
$ModuleList{Init} = $CustomModule;
}
MODULEKEY:
for my $ModuleKey ( sort keys %ModuleList ) {
my $Module = $ModuleList{$ModuleKey};
next MODULEKEY if !$Module;
84
next MODULEKEY if !$MainObject->RequireBaseClass($Module);
}
}
return $Self;
}
=head2 TicketCreateNumber()
creates a new ticket number
my $TicketNumber = $TicketObject->TicketCreateNumber();
=cut
sub TicketCreateNumber {
my ( $Self, %Param ) = @_;
my $GeneratorModule = $Kernel::OM->Get('Kernel::Config')->Get('Ticket::Num-
berGenerator')
|| 'Kernel::System::Ticket::Number::AutoIncrement';
return $Kernel::OM->Get($GeneratorModule)->TicketCreateNumber(%Param);
}
=head2 GetTNByString()
creates a new ticket number
my $TicketNumber = $TicketObject->GetTNByString($Subject);
85
=cut
sub GetTNByString {
my ( $Self, $String ) = @_;
my $GeneratorModule = $Kernel::OM->Get('Kernel::Config')->Get('Ticket::Num-
berGenerator')
|| 'Kernel::System::Ticket::Number::AutoIncrement';
return $Kernel::OM->Get($GeneratorModule)->GetTNByString($String);
}
=head2 TicketCheckNumber()
checks if ticket number exists, returns ticket id if number exists.
returns the merged ticket id if ticket was merged.
only into a depth of maximum 10 merges
my $TicketID = $TicketObject->TicketCheckNumber(
Tn => '200404051004575',
);
=cut
sub TicketCheckNumber {
my ( $Self, %Param ) = @_;
# check needed stuff
Источник: https://baza.diplomsite.ru/previewfile/2374