From 133c31d7bbecce664b623043df1aa93285603f16 Mon Sep 17 00:00:00 2001 From: Thomas Heck Date: Fri, 7 Sep 2012 13:46:36 +0200 Subject: [PATCH] =?utf8?q?Lieferdatum=20u.=20Auftragsdatum=20beim=20'als?= =?utf8?q?=20neu=20speichern'=20von=20Auftr=C3=A4gen=20neuberechnen?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * Auftragsdatum wird aufs aktuelle Datum gesetzt * Lieferdatum wird genau so wie beim Erstellen eines neuen Auftrags gesetzt. Das ist: Auftragsdatum (sprich aktuelles Datum in unserem Fall) + 1 Tag aufgerundet auf den nächsten Arbeitstag (Freitag -> Montag) fixt #1959 --- bin/mozilla/oe.pl | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/bin/mozilla/oe.pl b/bin/mozilla/oe.pl index 73c70b30f..72ad0d799 100644 --- a/bin/mozilla/oe.pl +++ b/bin/mozilla/oe.pl @@ -1629,11 +1629,25 @@ sub save_as_new { delete($form->{$idx}); } - # clear reqdate unless changed - if ($form->{reqdate} && $form->{id}) { + # clear reqdate and transdate unless changed + if ( $form->{reqdate} && $form->{id} ) { my $saved_order = OE->retrieve_simple(id => $form->{id}); - if ($saved_order && $saved_order->{reqdate} eq $form->{reqdate}) { - delete $form->{reqdate}; + if ( $saved_order && $saved_order->{reqdate} eq $form->{reqdate} && $saved_order->{transdate} eq $form->{transdate} ) { + + my $dbh = $form->get_standard_dbh; + + my $wday = (localtime(time))[6]; + my $next_workday = $wday == 5 ? 3 : $wday == 6 ? 2 : 1; + + my $query = 'SELECT + date(current_date + interval \''. $next_workday .' days\') AS reqdate, + date(current_date) AS transdate'; + my $ref = selectfirst_hashref_query($form, $dbh, $query); + + map( + { $form->{$_} = $ref->{$_} } + keys %{$ref} + ); } } -- 2.20.1