Revision 19bfd0f2
Von Bernd Bleßmann vor etwa 1 Jahr hinzugefügt
SL/BackgroundJob/SelfTest/NovoclonStrict.pm | ||
---|---|---|
9 | 9 |
use SL::DB::DeliveryOrder; |
10 | 10 |
use SL::DB::Order; |
11 | 11 |
|
12 |
use Rose::Object::MakeMethods::Generic ( |
|
13 |
'scalar --get_set_init' => [ qw(start_date) ], |
|
14 |
); |
|
15 |
|
|
16 |
sub init_start_date { |
|
17 |
DateTime->new(year => 2022, month => 11, day => 1); |
|
18 |
} |
|
19 |
|
|
12 | 20 |
|
13 | 21 |
sub run { |
14 | 22 |
my ($self) = @_; |
... | ... | |
34 | 42 |
'!cusordnumber' => { ilike => ['muster'] }, |
35 | 43 |
delivered => 1, |
36 | 44 |
or => [closed => undef, closed => 0], |
37 |
reqdate => {le => $latest_reqdate}] |
|
45 |
reqdate => {le => $latest_reqdate}, |
|
46 |
transdate => {ge => $self->start_date},] |
|
38 | 47 |
); |
39 | 48 |
|
40 | 49 |
if (@$open_delivery_orders) { |
... | ... | |
58 | 67 |
or => [quotation => undef, quotation => 0], |
59 | 68 |
or => [intake => undef, intake => 0], |
60 | 69 |
or => [closed => undef, closed => 0], |
61 |
reqdate => {le => $latest_reqdate}]); |
|
70 |
reqdate => {le => $latest_reqdate}, |
|
71 |
transdate => {ge => $self->start_date},]); |
|
62 | 72 |
my %not_delivered; |
63 | 73 |
foreach my $order (@$orders) { |
64 | 74 |
my $lr = $order->linked_records(to => 'DeliveryOrder'); |
... | ... | |
113 | 123 |
intake => 1, |
114 | 124 |
or => [quotation => undef, quotation => 0], |
115 | 125 |
or => [closed => undef, closed => 0], |
116 |
transdate => {le => $latest_transdate}]); |
|
126 |
transdate => {le => $latest_transdate}, |
|
127 |
transdate => {ge => $self->start_date},]); |
|
117 | 128 |
|
118 | 129 |
# Check, if order confirmations are in the worklfow. |
119 | 130 |
# (Maybe it is sufficient to list all order intakes which are not closed because |
... | ... | |
128 | 139 |
if (@not_confirmed_order_intakes) { |
129 | 140 |
$self->tester->ok(0, $title); |
130 | 141 |
|
131 |
$self->tester->diag("Folgende offene Auftragseingänge alter als $days_delta haben keine Auftragsbestätigung:");
|
|
142 |
$self->tester->diag("Folgende offene Auftragseingänge älter als $days_delta haben keine Auftragsbestätigung:");
|
|
132 | 143 |
$self->tester->diag("Auftrageingangs-Nummer: " . $_) for @not_confirmed_order_intakes; |
133 | 144 |
|
134 | 145 |
} else { |
... | ... | |
143 | 154 |
my $title = "Alle offenen Verkaufsrechnungen sind per Mail verschickt worden."; |
144 | 155 |
|
145 | 156 |
my $invoices = SL::DB::Manager::Invoice->get_all_sorted(where => [invoice => 1, |
146 |
type => 'invoice', |
|
147 |
or => [storno => undef, storno => 0]]); |
|
157 |
type => 'invoice', |
|
158 |
or => [storno => undef, storno => 0], |
|
159 |
transdate => {ge => $self->start_date},]); |
|
148 | 160 |
$invoices = [grep { !$_->closed } @$invoices]; |
149 | 161 |
|
150 | 162 |
my @documents_not_mailed = $self->get_documents_not_mailed($invoices); |
... | ... | |
168 | 180 |
or => [quotation => undef, quotation => 0], |
169 | 181 |
or => [intake => undef, intake => 0], |
170 | 182 |
or => [closed => undef, closed => 0], |
171 |
transdate => {le => $latest_transdate}]); |
|
183 |
transdate => {le => $latest_transdate}, |
|
184 |
transdate => {ge => $self->start_date},]); |
|
172 | 185 |
|
173 | 186 |
my @documents_not_mailed = $self->get_documents_not_mailed($orders); |
174 | 187 |
$self->complain_documtens_not_mailed( |
... | ... | |
191 | 204 |
quotation => 1, |
192 | 205 |
or => [intake => undef, intake => 0], |
193 | 206 |
or => [closed => undef, closed => 0], |
194 |
transdate => {le => $latest_transdate}]); |
|
207 |
transdate => {le => $latest_transdate}, |
|
208 |
transdate => {ge => $self->start_date},]); |
|
195 | 209 |
|
196 | 210 |
my @documents_not_mailed = $self->get_documents_not_mailed($orders); |
197 | 211 |
$self->complain_documtens_not_mailed( |
Auch abrufbar als: Unified diff
novoclon: Selbsttests strikte Prozesse: Belege erst ab 01.11.22 berücksichtigen