]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Form.pm
Überflüssigen Code entfernt.
[mfinanz.git] / SL / Form.pm
index 5d8079b8d115b5763f04bb23ac41c925a6cf0b72..dbffe1ff7432fd06c2ea3e759ec45ca617d3fe75 100644 (file)
@@ -1193,7 +1193,10 @@ sub check_exchangerate {
   my $query = qq|SELECT e.$fld FROM exchangerate e
                  WHERE e.curr = ? AND e.transdate = ?|;
   my ($exchangerate) = selectrow_query($self, $dbh, $query, $currency, $transdate);
-  $dbh->disconnect;
+  $dbh->disconnect();
+
+  $exchangerate = 1 if ($exchangerate == 0);
+  $exchangerate = 1 if ($exchangerate eq "");
 
   $main::lxdebug->leave_sub();
 
@@ -1409,8 +1412,8 @@ sub get_employee {
   my ($self, $dbh) = @_;
 
   my $query = qq|SELECT id, name FROM employee WHERE login = ?|;
-  ($self->{employee_id}, $self->{employee}) = selectrow_query($self, $dbh, $query, $self->{login});
-  $self->{employee_id} *= 1;
+  ($self->{"employee_id"}, $self->{"employee"}) = selectrow_query($self, $dbh, $query, $self->{login});
+  $self->{"employee_id"} *= 1;
 
   $main::lxdebug->leave_sub();
 }
@@ -1567,7 +1570,7 @@ sub _get_charts {
   my $transdate = quote_db_date($params->{transdate});
 
   my $query =
-    qq|SELECT c.accno, c.description, c.link, tk.taxkey_id, tk.tax_id | .
+    qq|SELECT c.id, c.accno, c.description, c.link, tk.taxkey_id, tk.tax_id | .
     qq|FROM chart c | .
     qq|LEFT JOIN taxkeys tk ON | .
     qq|(tk.id = (SELECT id FROM taxkeys | .
@@ -1611,11 +1614,10 @@ sub _get_taxzones {
 sub _get_employees {
   $main::lxdebug->enter_sub();
 
-  my ($self, $dbh, $key) = @_;
+  my ($self, $dbh, $default_key, $key) = @_;
 
-  $key = "all_employees" unless ($key);
-  $self->{$key} =
-    selectall_hashref_query($self, $dbh, qq|SELECT * FROM employee|);
+  $key = $default_key unless ($key);
+  $self->{$key} = selectall_hashref_query($self, $dbh, qq|SELECT * FROM employee ORDER BY name|);
 
   $main::lxdebug->leave_sub();
 }
@@ -1695,7 +1697,7 @@ sub _get_customers {
 
   $key = "all_customers" unless ($key);
 
-  my $query = qq|SELECT * FROM customer|;
+  my $query = qq|SELECT * FROM customer WHERE NOT obsolete ORDER BY name|;
 
   $self->{$key} = selectall_hashref_query($self, $dbh, $query);
 
@@ -1709,7 +1711,7 @@ sub _get_vendors {
 
   $key = "all_vendors" unless ($key);
 
-  my $query = qq|SELECT * FROM vendor|;
+  my $query = qq|SELECT * FROM vendor WHERE NOT obsolete ORDER BY name|;
 
   $self->{$key} = selectall_hashref_query($self, $dbh, $query);
 
@@ -1723,7 +1725,7 @@ sub _get_departments {
 
   $key = "all_departments" unless ($key);
 
-  my $query = qq|SELECT * FROM department|;
+  my $query = qq|SELECT * FROM department ORDER BY description|;
 
   $self->{$key} = selectall_hashref_query($self, $dbh, $query);
 
@@ -1777,7 +1779,11 @@ sub get_lists {
   }
 
   if ($params{"employees"}) {
-    $self->_get_employees($dbh, $params{"employees"});
+    $self->_get_employees($dbh, "all_employees", $params{"employees"});
+  }
+  
+  if ($params{"salesmen"}) {
+    $self->_get_employees($dbh, "all_salesmen", $params{"salesmen"});
   }
 
   if ($params{"business_types"}) {
@@ -2010,7 +2016,7 @@ sub all_departments {
 sub create_links {
   $main::lxdebug->enter_sub();
 
-  my ($self, $module, $myconfig, $table) = @_;
+  my ($self, $module, $myconfig, $table, $provided_dbh) = @_;
 
   my ($fld, $arap);
   if ($table eq "customer") {
@@ -2027,7 +2033,7 @@ sub create_links {
   # get last customers or vendors
   my ($query, $sth, $ref);
 
-  my $dbh = $self->dbconnect($myconfig);
+  my $dbh = $provided_dbh ? $provided_dbh : $self->dbconnect($myconfig);
   my %xkeyref = ();
 
   if (!$self->{id}) {
@@ -2221,7 +2227,7 @@ sub create_links {
 
   }
 
-  $dbh->disconnect;
+  $dbh->disconnect() unless $provided_dbh;
 
   $main::lxdebug->leave_sub();
 }
@@ -2480,12 +2486,12 @@ sub save_history {
     &get_employee($self, $dbh);
   }
 
-  my $query =
-    qq|INSERT INTO history_erp (trans_id, employee_id, addition, what_done, snumbers) | .
-    qq|VALUES (?, ?, ?, ?, ?)|;
 my @values = (conv_i($self->{id}), conv_i($self->{employee_id}),
-                $self->{addition}, $self->{what_done}, "$self->{snumbers}");
 do_query($self, $dbh, $query, @values);
+my $query =
+   qq|INSERT INTO history_erp (trans_id, employee_id, addition, what_done, snumbers) | .
+   qq|VALUES (?, (SELECT id FROM employee WHERE login = ?), ?, ?, ?)|;
my @values = (conv_i($self->{id}), $self->{login},
+               $self->{addition}, $self->{what_done}, "$self->{snumbers}");
+ do_query($self, $dbh, $query, @values);
 
   $main::lxdebug->leave_sub();
 }