- my ($query, $sth);
-
- # if we have an id delete old records
- if ($form->{id}) {
-
- # delete detail records
- $query = qq|DELETE FROM acc_trans WHERE trans_id = ?|;
- do_query($form, $dbh, $query, $form->{id});
-
- } else {
- my $uid = rand() . time;
-
- $uid .= $form->{login};
-
- $uid = substr($uid, 2, 75);
-
- $query =
- qq|INSERT INTO ap (invnumber, employee_id) | .
- qq|VALUES (?, (SELECT e.id FROM employee e WHERE e.login = ?))|;
- do_query($form, $dbh, $query, $uid, $form->{login});
-
- $query = qq|SELECT a.id FROM ap a
- WHERE a.invnumber = ?|;
- ($form->{id}) = selectrow_query($form, $dbh, $query, $uid);
- }
-
- $form->{invnumber} = $form->{id} unless $form->{invnumber};
-
- $form->{datepaid} = $form->{transdate} unless ($form->{datepaid});
- my $datepaid = ($form->{invpaid} != 0) ? $form->{datepaid} : undef;
-
- $query = qq|UPDATE ap SET
- invnumber = ?, transdate = ?, ordnumber = ?, vendor_id = ?, taxincluded = ?,
- amount = ?, duedate = ?, paid = ?, datepaid = ?, netamount = ?,
- curr = ?, notes = ?, department_id = ?, storno = ?, storno_id = ?
- WHERE id = ?|;
- my @values = ($form->{invnumber}, conv_date($form->{transdate}),
- $form->{ordnumber}, conv_i($form->{vendor_id}),
- $form->{taxincluded} ? 't' : 'f', $form->{invtotal},
- conv_date($form->{duedate}), $form->{invpaid},
- conv_date($datepaid), $form->{netamount},
- $form->{currency}, $form->{notes},
- conv_i($form->{department_id}), $form->{storno},
- $form->{storno_id}, $form->{id});
- do_query($form, $dbh, $query, @values);
-