
| Current Path : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/Workflow/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/Workflow/Process.pm |
package Workflow::Process;
use strict;
use vars qw(@ISA);
use Workflow::Workflow;
use Cursor::obj;
use Cursor::template;
use DivBasicF::Common;
use Data::Dumper;
@ISA = qw(Workflow::Workflow);
#**********************************************************************
sub dbname {
my $self = shift;
$self->{'DB'} = "process";
$self->{'DATE'} = time();
$self->{'DATEUK'} = $self->date_to_uk($self->{'DATE'});
$self->{'COMMON'} = DivBasicF::Common->new();
$self->{'IDX'} = "label";
}
#**********************************************************************
sub comp {
my $self = shift;
my $items = shift;
my $o;
foreach $o (@$items) {
$o =~ s/
//g;
}
return($items);
}
#**********************************************************************
sub run {
my $self = shift;
my @ee; my $o; my $text; my $result; my $items; my $cursor; my $entry;
my $dir; my $dbcommon; my $dir; my $slash; my $label; my $file;
my $package; my $obj; my $func; my $runtime; my $var;
while (0 == 0) {
$text = <<'TEXT_ENDE';
s (Pattern) (Template) (Sort) -> Suche
q -> Ende
TEXT_ENDE
$text = $self->{'COM'}->query(["choose_adr_menu",$text,
$self->{'DATEUK'},$self->{'PARAMETER'},$self->{'ROLLE'}]);
@ee = @$text;
$o = shift(@ee);
if ($o eq "s") {
if ($ee[1] eq "") { $ee[1] = "__standard_proc_parser"; }
$result = $self->edit(shift(@ee),shift(@ee),"__",@ee);
}
elsif ($o eq "c") {
if ($ee[0]) {
$ee[1] = time() . sprintf("%08u",rand(99999990));
$self->{'COM'}->batch([$ee[0].",".$ee[1]]);
$result = $self->edit("hdszf7oev8","__standard_proc_parser","__");
$result = $self->edit($ee[0].",".$ee[1],
"__standard_proc_parser","__");
}
}
elsif ($o eq "r") {
$self->{'COM'}->batch(["."]);
$entry = $self->edit("-;1-label","__standard_proc_parser","__");
$entry = $self->parse_entry(Cursor::obj->new("",$self->{'DATE'},"",
$self->{'PARAMETER'})->next1($entry->[0]));
if ($entry->{'RUNTIME'} and
$entry->{'RUNTIME'} le $self->timemark()) {
$self->{'COM'}->batch(["\n"]);
$self->edit("-;1-label","__standard_proc_parser","__");
$package = $entry->{'MODUL'};
eval("use " . $package);
$func = $entry->{'FUNC'};
$runtime = $entry->{'RUNTIME'};
$var = $entry->{'VAR'};
$obj = $package->new($var);
while (0 == 0) {
($func,$runtime,$var) = $obj->$func();
last if (!$runtime);
if ($runtime !~ /\_/) { $runtime = $self->timemark($runtime); }
last if ($runtime gt $self->timemark());
}
$entry = $entry->{'___'};
$entry =~ s/^([ \n]*)(.*?)([ \n]*)$/$2/s;
$entry =~ s/RUNTIME( +)\=\>( +)\'(.*?)\'/RUNTIME$1\=\>$2\'$runtime\'/;
$entry =~ s/FUNC( +)\=\>( +)\'(.*?)\'/FUNC$1\=\>$2\'$func\'/;
$entry = $entry . "\nZZZ =>";
$entry =~ s/VAR( +)\=\>(.*?)\n([A-Z])/---OBJ---\n$3/;
$o = Dumper $var;
$o =~ s/^\$VAR1 +\=/VAR \=\>/s;
$entry =~ s/---OBJ---/$o/gs;
print "EE: $entry xxx\n"; sleep 3;
$self->{'COM'}->batch([$entry]);
$self->edit("fdsvhvudancx748433bf","__standard_proc_parser","__");
}
}
elsif ($o eq "q") {
return($result);
}
}
}
#**********************************************************************
sub edit {
my $self = shift;
my $query = shift; # Search-Pattern
my $template = shift;
my $parser = shift;
my $sort = shift;
my @pars = @_;
if (-f $template) {
open(FFILE,"<".$template);
$template = join("",<FFILE>);
close(FFILE);
}
# if (!$sort) { $sort = "-LABEL-"; }
return($self->edit_basic("textlist_process",$query,$template,$parser,$sort,@pars));
}
#***********************************************************************
sub parse_entry {
my $self = shift;
my $entry = shift;
$entry->{'LABEL'} = " " . $entry->{'RUNTIME'} . " " . "STATUS" .
$entry->{'STATUS'} . " ";
return($entry);
}
#**********************************************************************
#**********************************************************************
sub __standard_proc_parser { my $self = shift; return("-1___-"); }
sub standard_proc_parser { sub {
my $self = shift;
my $entry = shift;
my $delete_entry = shift;
my $pars = shift;
if ($entry !~ /\=\>/) {
my $o = $entry;
my $id = "";
if ($o =~ /^(.*),(.*)$/) {
$id = $2;
$o = $1;
}
#PROCID => '-ID-',
$entry = <<'TEXT_ENDE';
MODUL => '-MODUL-',
RUNTIME => '-RUNTIME-',
FUNC => 'init',
VAR => {},
TEXT_ENDE
$entry =~ s/-MODUL-/$o/;
$entry =~ s/-ID-/$id/;
my $o = $self->timemark(time() - 86400);
$entry =~ s/-RUNTIME-/$o/;
$o = time() . sprintf("%08u",rand(99999990));
$entry =~ s/\n$//s;
}
return($entry);
}}
#**********************************************************************
1;